aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* cleanup syntaxAleksey Kladov2019-04-142-8/+24
|
* fast path for disabled profilerAleksey Kladov2019-04-141-8/+16
|
* switch to modern pathsAleksey Kladov2019-04-141-5/+5
|
* Refactor method candidate generation a bitFlorian Diebold2019-04-144-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 #1137bors[bot]2019-04-149-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 rootRoberto Vidal2019-04-142-29/+68
| |
| * Sends cwd info for runnables and code lensesRoberto Vidal2019-04-147-4/+36
| |
| * Adds support for multiple editor workspaces on initializationRoberto Vidal2019-04-144-25/+41
| | | | | | | | This is a quick, partial fix for #1104
* | Merge #1138bors[bot]2019-04-1413-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 matcherEdwin Cheng2019-04-1410-33/+307
| | |
| * | Remove skip Delimiter::None and handle DollarsEdwin Cheng2019-04-125-218/+255
| | |
| * | Add L_DOLLAR and R_DOLLAREdwin Cheng2019-04-112-0/+6
| | |
* | | Extract generic_params method to a HasGenericParams traitFlorian Diebold2019-04-147-37/+33
| | |
* | | Add Container enum to handle both kinds of container (impl/trait)Florian Diebold2019-04-144-17/+58
| | |
* | | Make callable signature handling a bit nicerFlorian Diebold2019-04-142-47/+36
| | |
* | | Some cleanupFlorian Diebold2019-04-143-98/+111
| | |
* | | More trait infrastructureFlorian Diebold2019-04-1411-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 blocksFlorian Diebold2019-04-146-44/+85
| |/ |/|
* | replace usages of `algo::generate` with `iter::successors` from stdRobin Freyler2019-04-136-24/+17
| |
* | cleanupsAleksey Kladov2019-04-132-13/+12
| |
* | slight encapsulationAleksey Kladov2019-04-132-9/+13
| |
* | move ScopeEntryWithSyntaxAleksey Kladov2019-04-134-37/+34
| |
* | drop obsolete fixmeAleksey Kladov2019-04-132-5/+4
| |
* | make expr scope stuff privateAleksey Kladov2019-04-131-11/+9
| |
* | make resolver privateAleksey Kladov2019-04-136-26/+23
| |
* | hide resolverAleksey Kladov2019-04-134-9/+17
| |
* | fold ScopeWithSyntax into SourceAnalyzerAleksey Kladov2019-04-137-193/+159
| |
* | make stuff privateAleksey Kladov2019-04-131-3/+3
| |
* | obsolete fixmAleksey Kladov2019-04-131-1/+0
| |
* | make privateAleksey Kladov2019-04-131-1/+1
| |
* | only def-with-body remainsAleksey Kladov2019-04-131-13/+3
| |
* | generalizeAleksey Kladov2019-04-131-15/+7
| |
* | simplifyAleksey Kladov2019-04-131-10/+5
| |
* | simplifyAleksey Kladov2019-04-131-7/+1
| |
* | make privateAleksey Kladov2019-04-131-1/+1
| |
* | hide some scopesAleksey Kladov2019-04-134-23/+28
| |
* | simplifyAleksey Kladov2019-04-122-17/+12
| |
* | make stuff privateAleksey Kladov2019-04-121-6/+2
| |
* | simplifyAleksey Kladov2019-04-121-54/+22
| |
* | simplify testsAleksey Kladov2019-04-123-36/+23
| |
* | use really correct resolver for expressionsAleksey Kladov2019-04-129-13/+27
| |
* | fix typoAleksey Kladov2019-04-113-6/+6
| |
* | add todoAleksey Kladov2019-04-111-0/+1
| |
* | use correct resolver for expressionsAleksey Kladov2019-04-111-3/+1
| |
* | remove resolver from CompletonContextAleksey Kladov2019-04-115-31/+9
| |
* | simplifyAleksey Kladov2019-04-111-5/+3
| |
* | generalize SourceAnalyzer to handle all defs with bodiesAleksey Kladov2019-04-113-11/+51
| |
* | minimize the APIAleksey Kladov2019-04-112-23/+11
| |
* | renameAleksey Kladov2019-04-1110-18/+18
| |
* | reduce visibilityAleksey Kladov2019-04-111-3/+3
| |