GNU bug report logs -
#70794
30.0.50; Add Rust compilation regex
Previous Next
Reported by: Ergus <spacibba <at> aol.com>
Date: Mon, 6 May 2024 01:31:01 UTC
Severity: normal
Found in version 30.0.50
Done: Mattias EngdegÄrd <mattias.engdegard <at> gmail.com>
Full log
View this message in rfc822 format
On Sat, May 11, 2024 at 11:51:04AM GMT, Eli Zaretskii wrote:
>> Date: Mon, 06 May 2024 03:28:43 +0200
>> From: Ergus via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>
>> Recently working with rust I have noticed that emacs does not recognizes
>> the rust/cargo error patterns.
>>
>> Considering that emacs has now the rust-ts-mode, it may worth adding
>> the rust/cargo error patterns to compile when using that mode
>>
>> In my system so far I have this:
>>
>> ```
>> (with-eval-after-load 'rust-ts-mode
>> (with-eval-after-load 'compile
>> (add-to-list
>> 'compilation-error-regexp-alist-alist
>> `(cargo
>> "\\(?:\\(?4:error\\)\\|\\(?5:warning\\)\\):[^\0]+?--> \\(?1:[^:]+\\):\\(?2:[[:digit:]]+\\):\\(?3:[[:digit:]]+\\)"
>> 1 2 3 (5)
>> nil
>> (5 compilation-warning-face)
>> (4 compilation-error-face)))
>>
>> (add-to-list 'compilation-error-regexp-alist 'cargo)))
>>
>> ```
>>
>> Maybe a more frequent rust user has a more general regex to
>> recommend. But this one works for me.
>>
>> WDYT?
>
>Thanks, but could you please also send the examples of Rust messages,
>because we need to add them to etc/compilation.txt?
Hi Eli:
Typically they look like this:
```
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
```
or
```
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
```
Two details:
1. As you can see the [] is optional
2. The path is always relative to project's root
This bug report was last modified 23 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.