]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support for Rust compilation messages
authorErgus <spacibba@aol.com>
Wed, 15 May 2024 13:10:02 +0000 (15:10 +0200)
committerEshel Yaron <me@eshelyaron.com>
Sat, 18 May 2024 18:56:01 +0000 (20:56 +0200)
* 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)

(cherry picked from commit 2e862f81a355435fb7e837ffebee2f657c26ff23)

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 0dda610776e341ae595ee6449d327a035429a399..0cb20f7c5ce898afe9a35b527c020529250b0a1b 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))