Laurențiu Nicola
9826717550
Improve check for include macro
2023-11-10 16:53:08 +02:00
luoyangze.ptrl
b76f2c8ee0
fix: using name(include) instead of str
2023-11-02 10:14:54 +08:00
luoyangze.ptrl
740a864b7c
feat: skip checking tt count for include macro call
2023-11-02 00:27:11 +08:00
Lukas Wirth
7c765d9f9e
fix: Expand eager macros to delimited comma separated expression list
2023-07-30 17:31:26 +02:00
Lukas Wirth
6a7b905c86
Fix the eager token maps by re-mapping the textranges between the input and input expansion
2023-07-13 09:22:38 +02:00
Lukas Wirth
2366c16bf9
Fix eager token mapping panics
2023-07-11 13:54:28 +02:00
Lukas Wirth
f6c09099da
Don't unnecessarily clone the input tt for decl macros
2023-07-10 16:28:23 +02:00
Lukas Wirth
d5f64f875a
Infallibe ExpandDatabase::macro_def
2023-07-10 16:23:29 +02:00
Lukas Wirth
4ff93398fd
Skip buildin subtrees for builtin derives
2023-07-10 15:19:00 +02:00
Lukas Wirth
69cd3c30ac
Format let-else
2023-07-03 20:34:09 +02:00
Lukas Wirth
bdc3d0f551
Shuffle some proc_macro_expand query things around
2023-07-03 15:05:25 +02:00
Lukas Wirth
a02b9b279e
internal: Lazy eager macros
2023-06-09 13:02:13 +02:00
Laurențiu Nicola
7197a27028
Use triomphe Arc
2023-05-02 20:02:43 +03:00
bors
e46d7a030f
Auto merge of #14651 - Veykril:workspace-vscode-fix, r=Veykril
...
fix: Fix vscode workspaces not working properly
Fixes https://github.com/rust-lang/rust-analyzer/issues/14571
2023-04-25 09:09:31 +00:00
Lukas Wirth
49fcd4edda
fix: Fix vscode workspaces not working properly
2023-04-25 10:47:33 +02:00
bors
707382c21d
Auto merge of #14652 - Veykril:pat2021, r=Veykril
...
fix: Fix pat fragment handling in 2021 edition
Fixes https://github.com/rust-lang/rust-analyzer/issues/9055
The fix isn't that great, but we are kind of forced to do it the quick and hacky way right now since std has changed the `matches` macro to make use of this now. And for a proper fix we need to track hygiene for identifiers which is a long way off anyways
2023-04-24 20:36:45 +00:00
Lukas Wirth
d1ca505525
fix: Fix pat fragment handling in 2021 edition
2023-04-24 22:21:37 +02:00
Lukas Wirth
cebc018e2a
Remove unnecessary is_derive field from MacroCallKind::Attr
2023-04-22 14:29:28 +02:00
Lukas Wirth
4ea5d7f6a0
Re-introduce option for macro_arg to prevent calling macros with empty inputs
2023-04-16 20:26:26 +02:00
Lukas Wirth
a2a3fecae3
Option begone part 2
2023-04-16 19:20:48 +02:00
Lukas Wirth
96a774261f
Option begone part 1
2023-04-16 19:20:42 +02:00
Lukas Wirth
0f4ffaa5af
Fix duplicate eager expansion errors
2023-04-16 19:20:35 +02:00
Lukas Wirth
d1632c2727
Report syntax errors from item level macro expansions
2023-04-16 17:22:06 +02:00
Lukas Wirth
71b50f9f09
Record eager expansion errors in EagerCallInfo
2023-04-16 16:11:59 +02:00
Lukas Wirth
6ae8d49e15
Simplify eager macro error handling
2023-04-16 15:46:12 +02:00
Lukas Wirth
a5558cdfe5
internal: Report macro definition errors on the definition
2023-04-16 14:15:59 +02:00
Jonas Schievink
901c8a4259
Map tokens from include!
expansion to the included file
2023-04-13 17:41:24 +02:00
Lukas Wirth
aaf08bdcc5
Shrink ProcMacroExpander size
2023-03-13 16:49:38 +01:00
Lukas Wirth
9fb9ee3b6a
internal: Rename AstDatabase to ExpandDatabase
2023-03-13 16:35:41 +01:00
Lukas Wirth
41a46a78f2
Make tt generic over the span data
2023-01-31 14:58:16 +01:00
bors
15fb082cc1
Auto merge of #13753 - kdy1:limit, r=lnicola
...
fix: Increase token limit of proc macro
Fixes #13738
[The swc project](https://swc.rs ) has lots of type definitions, and the current limit is too low for the ECMAScript/CSS visitors.
[rustdoc](https://rustdoc.swc.rs/swc_ecma_visit )
---
With this fix, the rust-analyzer shows trait-related actions.
<img width="1840" alt="image" src="https://user-images.githubusercontent.com/29931815/206839269-d7a04589-7dba-449b-ad0b-1f69d52bd039.png ">
2023-01-13 11:45:50 +00:00
Lukas Wirth
621e96bd6a
Encode one level of cfg_attr in attr_id
2023-01-09 21:06:13 +01:00
Donny/강동윤
4f369427b5
increase limit
2023-01-03 13:16:06 +09:00
Yuri Astrakhan
e16c76e3c3
Inline all format arguments where possible
...
This makes code more readale and concise,
moving all format arguments like `format!("{}", foo)`
into the more compact `format!("{foo}")` form.
The change was automatically created with, so there are far less change
of an accidental typo.
```
cargo clippy --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2022-12-24 14:36:10 -05:00
Lukas Wirth
7bf2a25dfe
Encode the variants of HirFileId
in a u32 with MSB as the tag
2022-11-25 23:28:35 +01:00
Lukas Wirth
c069f1b7d2
Prefer similar tokens when expanding macros speculatively
2022-10-10 22:47:52 +02:00
Lukas Wirth
3f149a63d2
Simplify
2022-08-15 16:40:10 +02:00
Florian Diebold
0a4065d12d
Improve syntax fixup a bit, handle incomplete if
...
- allow appending tokens after a token, not just a node
- allow inserting delimiters (and remove them again)
- fix up `if {}` and `if` without anything following
2022-07-16 13:03:32 +02:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00