Add support for Rust compilation messages
authorErgus <spacibba@aol.com>
Wed, 15 May 2024 13:10:02 +0000 (15:10 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 May 2024 10:51:01 +0000 (13:51 +0300)
* etc/compilation.txt (Rust): Add Rust/cargo examples.

* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Add rust/cargo error and
warning patterns.  (Bug#70794)

etc/compilation.txt
lisp/progmodes/compile.el

index 05f0829864c1a21da2f03d524b71aa31b9024a9d..44388e1f197818c6cb457d605dd5d74fbdf22f92 100644 (file)
@@ -523,6 +523,45 @@ NoMethodError: undefined method `not_exists' for nil:NilClass
 
 4 tests, 3 assertions, 3 failures, 1 errors
 
+* Rust
+
+symbol: cargo
+
+The [] part is optional, and the file names are always relative to
+project's root.
+
+error[E0425]: cannot find function `ruun` in module `broot::cli`
+   --> src/main.rs:6:23
+    |
+6  |     match broot::cli::ruun() {
+    |                       ^^^^ help: a function with a similar name exists: `run`
+    |
+   ::: /tmp/broot/src/cli/mod.rs:49:1
+    |
+49 | pub fn run() -> Result<Option<Launchable>, ProgramError> {
+    | -------------------------------------------------------- similarly
+    named function `run` defined here
+
+error: cannot find macro `deebug` in this scope
+    --> src/main.rs:5:5
+     |
+5   |     deebug!("env::args(): {:#?}", std::env::args().collect::<Vec<String>>());
+     |     ^^^^^^ help: a macro with a similar name exists: `debug`
+     |
+    ::: /home/ergo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/log-0.4.21/src/macros.rs:154:1
+     |
+154 | macro_rules! debug {
+     | ------------------ similarly named macro `debug` defined here
+
+warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
+  --> src/main.rs:3:1
+   |
+3 | #[feature(proc_macro_diagnostic)]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(unused_attributes)]` on by default
+
+
 * RXP
 
 symbol: rxp
index b18eb81fee144a1fd0a32de89419a13b18f812c1..2e4eb11811a8748c53f3e492260724c3ecf00e05 100644 (file)
@@ -224,6 +224,13 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
 \\(?: characters? \\([0-9]+\\)-?\\([0-9]+\\)?:\\)?\\([ \n]Warning\\(?: [0-9]+\\)?:\\)?\\)"
      2 (3 . 4) (5 . 6) (7))
 
+    (cargo
+     "\\(?:\\(?4:error\\)\\|\\(?5:warning\\)\\):[^\0]+?--> \\(?1:[^:]+\\):\\(?2:[[:digit:]]+\\):\\(?3:[[:digit:]]+\\)"
+     1 2 3 (5)
+     nil
+     (5 compilation-warning-face)
+     (4 compilation-error-face))
+
     (cmake
      "^CMake \\(?:Error\\|\\(Warning\\)\\) at \\(.*\\):\\([1-9][0-9]*\\) ([^)]+):$"
      2 3 nil (1))