aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge #6805bors[bot]2020-12-101-8/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 6805: Fix accidently quadratic syntax rewriter r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Fix accidently quadratic syntax rewriterAleksey Kladov2020-12-101-8/+14
| | | | | | | | | | | | | | | | | | Switching from SyntaxNode to GreenNode is a costly operation (b/c dereferencing a synax ptr in `with_green` is linear), so we should avoid that.
* | | Merge #6769bors[bot]2020-12-105-5/+86
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 6769: Add native "remove this semicolon" diagnostics r=matklad a=ivan770 Closes #6739 ![demo2](https://user-images.githubusercontent.com/14003886/101530533-b76c3180-399a-11eb-9d18-5c8457721655.gif) Co-authored-by: ivan770 <[email protected]>
| * | Cast to ExprStmt, style fixesivan7702020-12-102-10/+9
| | |
| * | Apply rustfmt changesivan7702020-12-091-9/+8
| | |
| * | Apply suggestions from code reviewivan7702020-12-091-17/+20
| | | | | | | | | Co-authored-by: bjorn3 <[email protected]>
| * | Format codeivan7702020-12-083-8/+24
| | |
| * | Remove unused useivan7702020-12-081-1/+1
| | |
| * | Remove use via superivan7702020-12-081-3/+1
| | |
| * | Remove this semicolonivan7702020-12-085-8/+74
| | |
* | | Remove debug printAleksey Kladov2020-12-101-7/+5
| |/ |/|
* | Merge #6798bors[bot]2020-12-105-446/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6798: Ignore extern items in incorrect-case check r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6736 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Use mark/hitJonas Schievink2020-12-101-0/+7
| | |
| * | Remove item tree testsJonas Schievink2020-12-102-441/+0
| | | | | | | | | | | | | | | They were useful during initial development of the item tree, but now just cause churn
| * | Ignore extern items in incorrect-case checkJonas Schievink2020-12-104-5/+36
| | |
* | | Minor, more orthogonal codeAleksey Kladov2020-12-104-16/+12
| | | | | | | | | | | | It's better to accept things as arguments rather than store them.
* | | Normalize spelling to American EnglishAleksey Kladov2020-12-109-43/+43
|/ /
* | Fix FileId computation in IncorrectCase fixJonas Schievink2020-12-101-4/+4
| |
* | format_args: handle key-value argumentsJonas Schievink2020-12-101-0/+6
| |
* | Send a CodeLensRefresh when we reloadkjeremy2020-12-092-0/+13
| |
* | Implement HirDisplay for FnSigJonas Schievink2020-12-091-20/+23
| | | | | | | | This could be useful for diagnostics, but isn't used right now
* | Merge #6785bors[bot]2020-12-093-8/+19
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6785: Fix "no value set for FileTextQuery(FileId(..))" r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6622 Let's hope I got it right this time, but I feel like I slowly begin to understand the main loop logic. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Fix "no value set for FileTextQuery(FileId(..))"Jonas Schievink2020-12-093-8/+19
| | |
* | | Introduce anchored_pathAleksey Kladov2020-12-0913-65/+79
| | | | | | | | | | | | | | | They allow to represent paths like `#[path = "C:\path.rs"] mod foo;` in a lossless cross-platform & network-transparent way.
* | | .Aleksey Kladov2020-12-094-8/+52
|/ /
* | Avoid nesting Subtrees when parsing TokenStreamJonas Schievink2020-12-091-2/+1
| |
* | Merge #6771bors[bot]2020-12-093-5/+117
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6771: Properly attach inner attributes in Attrs::new r=matklad a=Veykril Properly attach inner and outer attributes to the things they actually belong to in the HIR. ~~I can add some tests for this if wanted once I know where to put them/how to test for this.~~ Put some tests into `hover.rs`. So the following snippet ```rust mod foo { //! Hello } ``` now shows `Hello` on hover 🎉 Fixes #2148 Co-authored-by: Lukas Wirth <[email protected]>
| * | Test inner and outer doc comments in hoverLukas Wirth2020-12-091-0/+62
| | |
| * | Properly fetch inner and outer docs on hir-levelLukas Wirth2020-12-092-17/+33
| | |
| * | Properly fetch inner and outer attributes on hir-levelLukas Wirth2020-12-081-5/+39
| |/
* | Merge #6776bors[bot]2020-12-091-18/+57
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 6776: Include config into the manual r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Include config into the manualAleksey Kladov2020-12-091-18/+57
| | |
* | | Merge #6775bors[bot]2020-12-091-2/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 6775: Fix MissingFields DiagnosticFix trigger range r=lnicola a=Veykril Fixes #5950 Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix MissingFields DiagnosticFix trigger rangeLukas Wirth2020-12-091-2/+3
| |/
* | Merge #6774bors[bot]2020-12-091-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 6774: Increment recursion count in Expander only on success r=lnicola a=Veykril Fixes #6764 Co-authored-by: Lukas Wirth <[email protected]>
| * | Properly decrement recursion count in ExpanderLukas Wirth2020-12-091-2/+2
| |/
* | Fix `concat!` with integer literalsJonas Schievink2020-12-081-8/+34
| |
* | Better error when a proc macro panicsJonas Schievink2020-12-081-1/+2
| |
* | Merge #6761bors[bot]2020-12-085-112/+354
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6761: Make config.rs a single source of truth for configuration. r=matklad a=matklad Configuration is editor-independent. For this reason, we pick JSON-schema as the repr of the source of truth. We do specify it using rust-macros and some quick&dirty hackery though. The idea for syncing truth with package.json is to just do that manually, but there's a test to check that they are actually synced. I'll add something like `rust-analyzer --config-schema` in a follow-up commit. Co-authored-by: Aleksey Kladov <[email protected]>
| * | Make config.rs a single source of truth for configuration.Aleksey Kladov2020-12-085-112/+354
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuration is editor-independent. For this reason, we pick JSON-schema as the repr of the source of truth. We do specify it using rust-macros and some quick&dirty hackery though. The idea for syncing truth with package.json is to just do that manually, but there's a test to check that they are actually synced. There's CLI to print config's json schema: $ rust-analyzer --print-config-schema We go with a CLI rather than LSP request/response to make it easier to incorporate the thing into extension's static config. This is roughtly how we put the thing in package.json.
* | Fix logic for determining macro callsJonas Schievink2020-12-081-9/+7
| | | | | | | | | | | | I believe this currently goes back all the way to the initial user-written call, but that seems better than the current broken behavior.
* | Use `original_file_range` in `TestDB`Jonas Schievink2020-12-081-9/+3
| |
* | Make `original_range` a method on `InFile<&SyntaxNode>`Jonas Schievink2020-12-085-89/+88
| |
* | Add test for `$crate` in builtin macrosJonas Schievink2020-12-081-0/+28
| | | | | | | | Fixes #6716
* | Handle macros in `TestDB::check_diagnostics`Jonas Schievink2020-12-081-2/+9
|/
* Merge #6760bors[bot]2020-12-082-15/+17
|\ | | | | | | | | | | | | | | | | 6760: Open Cargo.toml opens more specific manifest r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Open Cargo.toml opens more specific manifestAleksey Kladov2020-12-082-10/+12
| |
| * cleanup: match over unwrapAleksey Kladov2020-12-081-5/+5
| |
* | Merge #6750bors[bot]2020-12-0812-213/+137
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6750: Remove documentation query, move doc handling to attributes r=matklad a=Veykril Fixes #3182 Removes the documentation query in favor of `Attrs::docs`. Attrs already handlded doc comments partially but the alloc saving check was wrong so it only worked when other attributes existed as well. Unfortunately the `new` constructor has to do an intermediate allocation now because we need to keep the order of mixed doc attributes and doc comments. I've also partially adjusted the `hover` module to have its tests check the changes, it still has some `HasSource` trait usage due to the `ShortLabel` trait usage, as that is only implemented on the Ast parts and not the Hir, should this ideally be implemented for the Hir types as well?(would be a follow up PR of course) Co-authored-by: Lukas Wirth <[email protected]>
| * | Simplify ast::Comment api surfaceLukas Wirth2020-12-081-10/+15
| | |