Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Refactor method candidate generation a bit | Florian Diebold | 2019-04-14 | 4 | -55/+176 | |
| | | | | | | This fixes the order in which candidates are chosen a bit (not completely though, as the ignored test demonstrates), and makes autoderef work with trait methods. As a side effect, this also makes completion of trait methods work :) | |||||
* | Merge #1137 | bors[bot] | 2019-04-14 | 9 | -55/+142 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1137: Adds support for multiple editor workspaces on initialization r=matklad a=jrvidal OK, so this "simple hack" turned out to be way more contrived than I expected :joy: ### What works This patch only handles multi-folder editor workspaces _on initialization_. * I've found that modifying the layout of a workspace in VSCode just reloads the extension, so this hack should be enough for now. * Not sure about how emacs-lsp behaves, but we fallback gracefully to the mono-folder workspace, so it should be fine. ### What doesn't work * [x] `cargo watch` can only watch a single root folder with a `Cargo.toml`. I've left this part untouched but we could either warn that it's not supported or launch _multiple_ `cargo-watch` processes. * [x] The `rust-analyzer/runnables` command is not functional, since we don't send the correct `cwd`. * [x] Should we add some happy path test to `heavy_tests`? * [ ] Going from a single `root` to multiple `roots` leaves us with a couple of `n * m` loops that smell a bit. The number of folders in the editor workspace is probably low though. Co-authored-by: Roberto Vidal <[email protected]> | |||||
| * | Modifies runnables test to use multi-workspace root | Roberto Vidal | 2019-04-14 | 2 | -29/+68 | |
| | | ||||||
| * | Sends cwd info for runnables and code lenses | Roberto Vidal | 2019-04-14 | 7 | -4/+36 | |
| | | ||||||
| * | Adds support for multiple editor workspaces on initialization | Roberto Vidal | 2019-04-14 | 4 | -25/+41 | |
| | | | | | | | | This is a quick, partial fix for #1104 | |||||
* | | Merge #1138 | bors[bot] | 2019-04-14 | 13 | -243/+560 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1138: Add L_DOLLAR and R_DOLLAR r=matklad a=edwin0cheng As discussion in issue https://github.com/rust-analyzer/rust-analyzer/issues/1132 and PR #1125 , this PR add 2 `Syntax::Kind` : `L_DOLLAR` and `R_DOLLAR` for representing `Delimiter::None` in mbe and proc_marco. By design, It should not affect the final syntax tree, and will be discard in `TreeSink`. My original idea is handling these 2 tokens case by case, but i found that they will appear in every place in the parser (imagine `tt` matcher). So this PR only handle it in `Parser::do_bump` and `Parser::start`, although It will not fix the `expr` matcher executing order problem in original idea. Co-authored-by: Edwin Cheng <[email protected]> | |||||
| * | | Fix bug and add expr , pat , ty matcher | Edwin Cheng | 2019-04-14 | 10 | -33/+307 | |
| | | | ||||||
| * | | Remove skip Delimiter::None and handle Dollars | Edwin Cheng | 2019-04-12 | 5 | -218/+255 | |
| | | | ||||||
| * | | Add L_DOLLAR and R_DOLLAR | Edwin Cheng | 2019-04-11 | 2 | -0/+6 | |
| | | | ||||||
* | | | Extract generic_params method to a HasGenericParams trait | Florian Diebold | 2019-04-14 | 7 | -37/+33 | |
| | | | ||||||
* | | | Add Container enum to handle both kinds of container (impl/trait) | Florian Diebold | 2019-04-14 | 4 | -17/+58 | |
| | | | ||||||
* | | | Make callable signature handling a bit nicer | Florian Diebold | 2019-04-14 | 2 | -47/+36 | |
| | | | ||||||
* | | | Some cleanup | Florian Diebold | 2019-04-14 | 3 | -98/+111 | |
| | | | ||||||
* | | | More trait infrastructure | Florian Diebold | 2019-04-14 | 11 | -51/+333 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - make it possible to get parent trait from method - add 'obligation' machinery for checking that a type implements a trait (and inferring facts about type variables from that) - handle type parameters of traits (to a certain degree) - improve the hacky implements check to cover enough cases to exercise the handling of traits with type parameters - basic canonicalization (will probably also be done by Chalk) | |||||
* | | | Get substs for trait refs in impl blocks | Florian Diebold | 2019-04-14 | 6 | -44/+85 | |
| |/ |/| | ||||||
* | | replace usages of `algo::generate` with `iter::successors` from std | Robin Freyler | 2019-04-13 | 6 | -24/+17 | |
| | | ||||||
* | | cleanups | Aleksey Kladov | 2019-04-13 | 2 | -13/+12 | |
| | | ||||||
* | | slight encapsulation | Aleksey Kladov | 2019-04-13 | 2 | -9/+13 | |
| | | ||||||
* | | move ScopeEntryWithSyntax | Aleksey Kladov | 2019-04-13 | 4 | -37/+34 | |
| | | ||||||
* | | drop obsolete fixme | Aleksey Kladov | 2019-04-13 | 2 | -5/+4 | |
| | | ||||||
* | | make expr scope stuff private | Aleksey Kladov | 2019-04-13 | 1 | -11/+9 | |
| | | ||||||
* | | make resolver private | Aleksey Kladov | 2019-04-13 | 6 | -26/+23 | |
| | | ||||||
* | | hide resolver | Aleksey Kladov | 2019-04-13 | 4 | -9/+17 | |
| | | ||||||
* | | fold ScopeWithSyntax into SourceAnalyzer | Aleksey Kladov | 2019-04-13 | 7 | -193/+159 | |
| | | ||||||
* | | make stuff private | Aleksey Kladov | 2019-04-13 | 1 | -3/+3 | |
| | | ||||||
* | | obsolete fixm | Aleksey Kladov | 2019-04-13 | 1 | -1/+0 | |
| | | ||||||
* | | make private | Aleksey Kladov | 2019-04-13 | 1 | -1/+1 | |
| | | ||||||
* | | only def-with-body remains | Aleksey Kladov | 2019-04-13 | 1 | -13/+3 | |
| | | ||||||
* | | generalize | Aleksey Kladov | 2019-04-13 | 1 | -15/+7 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-13 | 1 | -10/+5 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-13 | 1 | -7/+1 | |
| | | ||||||
* | | make private | Aleksey Kladov | 2019-04-13 | 1 | -1/+1 | |
| | | ||||||
* | | hide some scopes | Aleksey Kladov | 2019-04-13 | 4 | -23/+28 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-12 | 2 | -17/+12 | |
| | | ||||||
* | | make stuff private | Aleksey Kladov | 2019-04-12 | 1 | -6/+2 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-12 | 1 | -54/+22 | |
| | | ||||||
* | | simplify tests | Aleksey Kladov | 2019-04-12 | 3 | -36/+23 | |
| | | ||||||
* | | use really correct resolver for expressions | Aleksey Kladov | 2019-04-12 | 9 | -13/+27 | |
| | | ||||||
* | | fix typo | Aleksey Kladov | 2019-04-11 | 3 | -6/+6 | |
| | | ||||||
* | | add todo | Aleksey Kladov | 2019-04-11 | 1 | -0/+1 | |
| | | ||||||
* | | use correct resolver for expressions | Aleksey Kladov | 2019-04-11 | 1 | -3/+1 | |
| | | ||||||
* | | remove resolver from CompletonContext | Aleksey Kladov | 2019-04-11 | 5 | -31/+9 | |
| | | ||||||
* | | simplify | Aleksey Kladov | 2019-04-11 | 1 | -5/+3 | |
| | | ||||||
* | | generalize SourceAnalyzer to handle all defs with bodies | Aleksey Kladov | 2019-04-11 | 3 | -11/+51 | |
| | | ||||||
* | | minimize the API | Aleksey Kladov | 2019-04-11 | 2 | -23/+11 | |
| | | ||||||
* | | rename | Aleksey Kladov | 2019-04-11 | 10 | -18/+18 | |
| | | ||||||
* | | reduce visibility | Aleksey Kladov | 2019-04-11 | 1 | -3/+3 | |
| | | ||||||
* | | Make call info to use real name resolution | Aleksey Kladov | 2019-04-11 | 4 | -26/+33 | |
| | | ||||||
* | | introduce SourceAnalyzer | Aleksey Kladov | 2019-04-11 | 15 | -187/+206 | |
| | | ||||||
* | | fix typo | Aleksey Kladov | 2019-04-11 | 1 | -6/+6 | |
| | |