aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Implement file name & extension retrieval method for VirtualPathKirill Bulatov2020-09-091-2/+20
|
* Small refactoringKirill Bulatov2020-09-092-32/+26
|
* Happy path implementedKirill Bulatov2020-09-098-26/+38
|
* Properly use FileSet APIKirill Bulatov2020-09-093-38/+49
|
* Better APIKirill Bulatov2020-09-098-24/+64
|
* First steps for mod<|> completionKirill Bulatov2020-09-094-6/+65
|
* Merge #5968bors[bot]2020-09-093-14/+30
|\ | | | | | | | | | | | | | | | | | | 5968: Lookup ADT and associated type names for chalk debugging / tweak chalk interner r=flodiebold a=nathanwhit This PR improves the chalk program writing integration by looking up the names for ADTs and associated types, making the output much more readable. There are also a few small changes to the interner, which gives some nice performance improvements. We clone `Ty`s and `ProgramClause`s relatively often in chalk, so wrapping them in `Arc`s is a perf win. This takes the time for performing type inference on the rust-analyzer codebase from 40s to 33s on my machine. Co-authored-by: Nathan Whitaker <[email protected]>
| * Tweak interner for chalkNathan Whitaker2020-09-091-9/+9
| |
| * Lookup ADT and assoc. type names for chalk debugNathan Whitaker2020-09-092-5/+21
| |
* | Merge #5940bors[bot]2020-09-045-1/+267
|\ \ | | | | | | | | | | | | | | | | | | | | | 5940: Implement "Replace `impl Trait` function argument with the named generic" assist. r=matklad a=alekseysidorov Fixes #5085 Co-authored-by: Aleksei Sidorov <[email protected]>
| * | Remove unnecessary commaAleksei Sidorov2020-09-043-11/+10
| | |
| * | Fix testsAleksei Sidorov2020-09-043-18/+25
| | |
| * | Update codegenAleksei Sidorov2020-09-041-0/+13
| | |
| * | Fix nitpicksAleksei Sidorov2020-09-042-24/+14
| | |
| * | Resolve most of corner casesAleksei Sidorov2020-09-032-12/+124
| | |
| * | Initial implementation of the #5085 issueAleksei Sidorov2020-09-034-0/+145
| | |
* | | Merge #5935bors[bot]2020-09-046-535/+744
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5935: Rewrite import insertion r=matklad a=Veykril This is my attempt at refactoring the import insertion #3947. I hope what I created here is somewhat in line with what was requested, it wouldn't surprise me . `common_prefix` is a copy from `merge_imports.rs` so those should be unified somewhere, `try_merge_trees` is also copied from there but slighly modified to take the `MergeBehaviour` enum into account. `MergeBehaviour` should in the end become a configuration option, and the order if `ImportGroup` probably as well? I'm not too familiar with the assist stuff and the like which is why I dont know what i have to do with `insert_use_statement` and `find_insert_use_container` for now. I will most likely add more test cases in the end as well as I currently only tried to hit every path in `find_insert_position`. Some of the merge tests also fail atm due to them not sorting what they insert. There is also this test case I'm not sure if we want to support it. I would assume we want to? https://github.com/rust-analyzer/rust-analyzer/pull/5935/files#diff-6923916dd8bdd2f1ab4b984adacd265fR540-R547 The entire module was rewritten so looking at the the file itself is probably better than looking at the diff. Regarding the sub issues of #3947: - #3301: This is fixed with the rewrite, what this implementation does is that it scans through the first occurence of groupings and picks the appropriate one out. This means the user can actually rearrange the groupings on a per file basis to their liking. If a group isnt being found it is inserted according to the `ImportGroup` variant order(Would be nice if this was configurable I imagine). - #3831: This should be fixed with the introduced `MergeBehaviour` enum and it's `Last` variant. - #3946: This should also be [fixed](https://github.com/rust-analyzer/rust-analyzer/pull/5935/files#diff-6923916dd8bdd2f1ab4b984adacd265fR87) - #5795: This is fixed in the sense that the grouping search picks the first group that is of the same kind as the import that is being added. So if there is a random import in the middle of the program it should only be considered if there is no group of the same kind in the file already present. - the last point in the list I havent checked yet, tho I got the feeling that it's not gonna be too simple as that will require knowledge of whether in this example `ast` is a crate or the module that is already imported. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Add extra insert_use test for pub(crate) re-export handlingLukas Wirth2020-09-032-12/+19
| | | |
| * | | Disable insert_import in extract_struct_from_enum_variant until its fixedLukas Wirth2020-09-031-0/+4
| | | |
| * | | Fix import insertion breaking nested modulesLukas Wirth2020-09-035-62/+117
| | | |
| * | | Fix inserting imports in front of inner attributesLukas Wirth2020-09-032-3/+54
| | | |
| * | | Replace insert_use_statement with the new insert_useLukas Wirth2020-09-034-54/+68
| | | |
| * | | Impl make::blank_lineLukas Wirth2020-09-033-27/+20
| | | |
| * | | Use mark to check that paths that are too long will not be mergedLukas Wirth2020-09-031-0/+13
| | | |
| * | | Tidy up tests and apply suggested changesLukas Wirth2020-09-031-72/+107
| | | |
| * | | Add more import insertion testsLukas Wirth2020-09-031-3/+68
| | | |
| * | | Begin refactor of import insertionLukas Wirth2020-09-031-468/+440
| |/ /
* / / Up proc-macro2 to 1.20kjeremy2020-09-031-1/+1
|/ / | | | | | | This changes the way Display is implemented
* | Actually assert disjointnessAleksey Kladov2020-09-031-3/+6
| |
* | Merge #5941bors[bot]2020-09-032-5/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5941: Unify naming r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Unify namingAleksey Kladov2020-09-032-5/+5
| | |
* | | Merge #5937bors[bot]2020-09-031-3/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 5937: Chalk 0.25 r=matklad a=kjeremy Picks up flodiebold's infinite loop fix Co-authored-by: kjeremy <[email protected]>
| * | Chalk 0.25kjeremy2020-09-021-3/+3
| |/ | | | | | | Picks up flodiebold's infinite loop fix
* / default `checkOnSave.enable` to `true` in serverAndy Russell2020-09-021-1/+1
|/
* Switch to upstream ENUM_MEMBERkjeremy2020-09-022-2/+2
|
* Move to vscode-languageclient 7.0.0-next.9kjeremy2020-09-026-23/+22
| | | | Stabilizes call hierarchy and semantic tokens features.
* Document VS Code setting needed for on-typing assistsAramis Razzaghipour2020-09-011-0/+8
|
* Bump token expansion limitAleksey Kladov2020-09-011-1/+1
| | | | | | | We hit this for redis crate, reported at Reported at https://www.reddit.com/r/rust/comments/ikfsf8/rustanalyzer_doesnt_work_with_the_redis_crate/
* Reduce path_from_text usageAleksey Kladov2020-08-312-13/+18
|
* Remove dead codeAleksey Kladov2020-08-311-14/+0
|
* Fix some typosKirill Bulatov2020-08-282-2/+2
|
* :arrow_up: expect-testAleksey Kladov2020-08-2825-23/+23
|
* :arrow_up: cratesAleksey Kladov2020-08-271-1/+1
|
* CONST LOOPS ARE HEREAleksey Kladov2020-08-277-28/+37
|
* MinorAleksey Kladov2020-08-271-1/+2
|
* Merge #5895bors[bot]2020-08-268-336/+296
|\ | | | | | | | | | | | | | | | | | | 5895: Tease apart orthogonal concerns in markdown link rewriting r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Tease apart orthogonal concerns in markdown link rewritingAleksey Kladov2020-08-268-336/+296
| | | | | | | | | | | | | | | | | | | | | | | | `hir` should know nothing about URLs, markdown and html. It should only be able to: * resolve stringy path from documentation * generate canonical stringy path for a def In contrast, link rewriting should not care about semantics of paths and names resolution, and should be concern only with text mangling bits.
* | Merge #5893bors[bot]2020-08-262-2/+9
|\ \ | |/ |/| | | | | | | | | | | | | | | 5893: Allow running a test as a binary r=matklad a=jonas-schievink If a test uses `harness = false`, it just contains an `fn main` that is executed via `cargo test`. This adds support for that. Note though that Cargo doesn't actually tell us whether `harness = false`, so this hint will always show up when you put an `fn main` into an integration test. Normally people shouldn't be doing that if they do use the harness though. Co-authored-by: Jonas Schievink <[email protected]>
| * Allow running a test as a binaryJonas Schievink2020-08-262-2/+9
| |
* | Cleanup hover links testsAleksey Kladov2020-08-261-88/+74
|/