Add support for Rust compilation messages

* 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)
This commit is contained in:
Ergus 2024-05-15 15:10:02 +02:00 committed by Eli Zaretskii
parent a019d2bd56
commit 2e862f81a3
2 changed files with 46 additions and 0 deletions

View 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

View 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))