about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates/proc-macro-srv
AgeCommit message (Collapse)AuthorLines
2025-07-31Reorganize proc-macro-srvLukas Wirth-144/+125
2025-07-31Properly clean proc-macro-srv proc-macro temp dirLukas Wirth-16/+32
2025-07-30Abtract away json protocol for proc-macro-srvLukas Wirth-34/+41
2025-07-09feat(lexer): Allow including frontmatter with 'tokenize'Ed Page-1/+1
2025-06-29Do not append `--compile-time-deps` to overwritten build script commandsLukas Wirth-7/+5
2025-06-23Don't run doctestsChayim Refael Friedman-0/+3
2025-06-13`cargo upgrade`Lukas Wirth-1/+1
2025-06-12Support spans with proc macro servers from before the ast id changesChayim Refael Friedman-74/+22
The only thing changed is the value of the fixup ast id, so we just swap it.
2025-06-12Use stable AST IDsChayim Refael Friedman-198/+252
Instead of simple numbering, we hash important bits, like the name of the item. This will allow for much better incrementality, e.g. when you add an item. Currently, this invalidates the IDs of all following items, which invalidates pretty much everything.
2025-06-11Fix proc macro server handling of strings with minusesChayim Refael Friedman-31/+26
It used to decompose them thinking they were numbers.
2025-06-05Deduplicate code in proc-macro-srvLukas Wirth-285/+153
2025-05-21Correctly set the span of the proc_macro crate's Group delimitersChayim Refael Friedman-5/+15
Previously only the open delimiter's span was set, and this caused... weird problems.
2025-05-20Merge pull request #19826 from lnicola/sync-from-rustLaurențiu Nicola-2/+0
minor: Sync from downstream
2025-05-20Merge from rust-lang/rustLaurențiu Nicola-2/+0
2025-05-19Remote dangling fileLukas Wirth-49/+1
2025-05-12update cfg(bootstrap)Pietro Albini-2/+0
2025-05-05fix: Fix proc-macro API creating malformed negative literalsLukas Wirth-29/+85
2025-05-05minor: Add more proc-macro tests for parsing negative literalsLukas Wirth-26/+289
2025-04-28Merge pull request #19704 from Veykril/push-wrvznvvpvtvpLukas Wirth-1/+1
Add expression fill mode variant for filling with underscore expressions
2025-04-28Add expression fill mode variant for filling with underscore expressionsLukas Wirth-1/+1
2025-04-28Merge from rust-lang/rustLaurențiu Nicola-38/+15
2025-04-14Disable some r-a tests in bootstrap.Mara Bos-0/+2
2025-04-11Update rust-analyzer for new proc_macro span api.Mara Bos-38/+13
2025-04-04prefer default over newBenjaminBrienen-20/+19
2025-04-03feat(proc-macro-srv): support metadata version 10Prajwal S N-4/+4
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-01Support metadata version 10 in proc-macro-srvJakub Beránek-2/+2
2025-03-27refactor: Shuffle some unsafety around in proc-macro-srvLukas Wirth-41/+41
2025-03-23chore: Bump dependenciesLukas Wirth-2/+2
2025-03-23chore: Remove unused dependenciesLukas Wirth-2/+4
2025-03-18chore: Clean up proc-macro-srv CI jobLukas Wirth-1/+7
2025-03-17chore: Bump `Edition::CURRENT` to 2024Lukas Wirth-65/+65
2025-03-16internal: Render root syntax contexts more clearlyLukas Wirth-65/+65
2025-03-15cargo fmtBenjaminBrienen-8/+8
2025-03-15edition = "2024"BenjaminBrienen-2/+2
2025-03-15chore: Remove legacy `SyntaxContextId` re-exportLukas Wirth-7/+7
2025-03-12Salsify the crate graphChayim Refael Friedman-65/+65
I.e. make it not one giant input but multiple, for incrementality and decreased memory usage for Salsa 3 reasons.
2025-02-27enable doctestBenjaminBrienen-3/+0
2025-02-05Use interior mutability for loaded `ProcMacrorv::expanders`Lukas Wirth-16/+25
2025-01-26Make proc_macro span's line & column 1-indexed, as documentedChayim Refael Friedman-4/+4
That is, make the fake number that we return 1 and not 0.
2025-01-20proc-macro-srv: make usage of RTLD_DEEPBIND portableFabian Grünbichler-3/+9
the constant is wrong on some platforms (e.g., on mips64el it's 0x10, and 0x8 is RTLD_NOLOAD which makes all this functionality broken), the libc crate takes care of those differences for us. fallback to not setting the flag in non-glibc environments - some of them might have support for it using a different value that we don't know about, and some of them lack it entirely. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-01-10Re-implement rust string highlighting via tool attributeLukas Wirth-2/+7
2025-01-09Make edition per-token, not per-fileChayim Refael Friedman-69/+69
More correctly, *also* per-token. Because as it turns out, while the top-level edition affects parsing (I think), the per-token edition affects escaping of identifiers/keywords.
2025-01-03Merge pull request #18327 from ChayimFriedman2/flat-ttLukas Wirth-262/+208
Store token trees in contiguous `Vec` instead of as a tree
2025-01-02Store token trees in contiguous `Vec` instead of as a treeChayim Refael Friedman-262/+208
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.
2024-12-31Implement `<RaSpanServer as SourceFile>::eq`Lukas Wirth-9/+9
2024-12-30Cleanup proc-macro dylib handlingLukas Wirth-74/+74
2024-12-30Decouple proc-macro server protocol from the server implementationLukas Wirth-130/+69
2024-12-29Enforce a current directory being set for spawned commandsLukas Wirth-0/+3
2024-12-26internal: Workaround salsa cycles leakingLukas Wirth-2/+2
2024-12-18Remove salsa from proc-macro server dep treeLukas Wirth-2/+2