Chayim Refael Friedman
ceba289f80
Store token trees in contiguous Vec
instead of as a tree
...
I expected this to be faster (due to less allocations and better cache locality), but benchmarked it is not (neither it is slower). Memory usage, however, drops by ~50mb (of `analysis-stats .`). I guess tt construction is just not hot.
This also simplifies using even less memory for token trees by compressing equal span, which I plan to do right after.
Some workflows are more easily expressed with a flat tt, while some are better expressed with a tree. With the right helpers, though (which was mostly a matter of trial and error), even the worst workflows become very easy indeed.
2025-01-02 19:21:46 +02:00
Lukas Wirth
b2d9486ebd
Move proc-macro protocol into legacy module
2024-12-30 11:47:08 +01:00
Lukas Wirth
714b81bec1
Decouple proc-macro server protocol from the server implementation
2024-12-30 10:33:57 +01:00
Lukas Wirth
a5adfafd93
Do not require a special env var to be set for the proc-macro-srv
2024-12-13 09:29:16 +01:00
Lukas Wirth
8a86fa01ac
Fix clippy lints in proc-macro-srv
2024-12-12 13:30:42 +01:00
Vincent Esche
7dec7e92ea
Replace [package.repository] = "…"
of published crates with [package.repository.workspace] = true
2024-08-06 00:26:42 +02:00
Vincent Esche
f8de86b308
Apply Veykril's change suggestions
2024-08-06 00:25:02 +02:00
Vincent Esche
6f329e6d5b
Add repository URL for published crates' missing [package.repository]
fields
2024-08-06 00:25:02 +02:00
Vincent Esche
b5b0f4bc5a
Replace "TBD"
with more helpful desciptions in published crates' [package.description]
fields
2024-08-06 00:25:02 +02:00
Lukas Wirth
c236190b60
Abstract proc-macro-srv protocol format
2024-06-30 16:56:30 +02:00
Lukas Wirth
7c7c0cbffb
Simplify
2024-06-30 16:43:22 +02:00
Lukas Wirth
9d09bc0619
Actual dummy server for the server cli
2024-06-30 16:34:06 +02:00
Lukas Wirth
2fb38ceb66
Faster env snapshotting in proc-macro-srv
2024-06-30 16:10:20 +02:00
bors
af1fd88c4d
Auto merge of #16257 - lnicola:rustc-check-cfg, r=Veykril
...
internal: Teach cargo about `cfg(rust_analyzer)`
r? `@Urgau` is this a good idea?, CC `@Veykril`
2024-04-18 12:13:06 +00:00
Lukas Wirth
9e8a0fae0c
Lint debug prints and disallowed types with clippy
2024-02-01 17:57:27 +01:00
Johann Hemmann
e7e09e7750
large_enum_variant
2024-01-31 19:06:35 +01:00
Lukas Wirth
21a953fe37
Recognize proc macro server unexpectedly exiting and report the exit code
2024-01-09 10:37:26 +01:00
Laurențiu Nicola
3a2ae6410d
Teach cargo about cfg(rust_analyzer)
2024-01-04 18:31:08 +02:00
Lukas Wirth
8390d2aca3
Set sysroot-abi flag for proc-macro-cli when in-rust-tree is set
2024-01-04 11:02:23 +01:00
Lukas Wirth
d480525ce8
Add extern crate rustc_driver to proc-macro-srv-cli
2024-01-04 11:02:23 +01:00
Lukas Wirth
b83f487d10
Set the in-rust-tree
` feature for all rust-analyzer{-proc-macro-srv} steps
2024-01-04 11:02:20 +01:00
Laurențiu Nicola
932d85b529
Merge commit '426d2842c1f0e5cc5e34bb37c7ac3ee0945f9746' into sync-from-ra2
2024-01-03 11:35:07 +02:00
Tetsuharu Ohzeki
efc87092b3
Use Cargo's [workspace.lints.*] to config clippy
2023-12-29 23:51:32 +09:00
Lukas Wirth
5761b50ed8
More general server config message for proc-macro-api
2023-12-22 10:35:10 +01:00
Lukas Wirth
2e52aa1615
Clean up
2023-12-21 17:24:00 +01:00
Lukas Wirth
a892237ed4
Add rust-analyzer-span server feature equivalent to the ID server
2023-12-21 17:22:59 +01:00
Laurențiu Nicola
f532576ac5
Merge commit '457b966b171b09a7e57acb710fbca29a4b3526f0' into sync-from-ra
2023-12-11 11:16:01 +02:00
Lukas Wirth
b98597f06d
Re-enable proc-macros
2023-11-28 16:28:56 +01:00
Lukas Wirth
6208960c48
Deduplicate dummy test span maps
2023-11-28 10:55:40 +01:00
Laurențiu Nicola
c48062fe2a
Merge commit 'aa9bc8612514d216f84eec218dfd19ab83f3598a' into sync-from-ra
2023-06-05 12:04:23 +03:00
Lukas Wirth
c21860bd6a
Remove proc-macro server command from the rust-analyzer binary
2023-04-26 08:19:28 +02:00
Lukas Wirth
7498ec730e
Drop support for non-syroot proc macro ABIs
2023-03-29 10:57:32 +02:00
Laurențiu Nicola
bc45c7659a
⬆️ rust-analyzer
2023-02-13 13:55:14 +02:00
bors
fa874627f0
Auto merge of #13969 - Veykril:workspace.dependencies, r=Veykril
...
Use workspace.dependencies to declare local dependencies
2023-01-17 10:29:27 +00:00
Lukas Wirth
bed4db3c62
Use workspace.dependencies to declare local dependencies
2023-01-17 10:52:26 +01:00
Lukas Wirth
e4858fe480
Specify authors, edition and license via workspace.package
2023-01-16 16:44:00 +01:00
Lukas Wirth
679df2adf1
Specify rust-version via workspace.package
2023-01-16 16:33:01 +01:00
Laurențiu Nicola
a2a1d99545
⬆️ rust-analyzer
2022-11-23 17:24:03 +02:00
Lukas Wirth
ffd7bf8bf9
Bump Cargo rust-version fields to latest stable
2022-11-07 12:59:51 +01:00
Amos Wenger
a1f1b95d00
Merge commit 'e36a20c24f35a4cee82bbdc600289104c9237c22' into ra-sync-and-pms-component
2022-07-26 11:53:50 +02:00
Amos Wenger
74a2fad5e6
Gate and rename binary, use it if it's in the sysroot
2022-07-25 16:22:39 +02:00
Amos Wenger
4364531c2f
Name the binary 'proc-macro-srv'
2022-07-25 15:19:57 +02:00
Amos Wenger
fd1b64ec71
Return result directly
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-07-25 15:19:57 +02:00
Amos Wenger
fba6adfae4
Add doc comment to pass tidy check
2022-07-25 15:19:57 +02:00
Amos Wenger
5f54ec0e85
Add a proc-macro-srv-cli crate
2022-07-25 15:19:57 +02:00