aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-1716-1/+589
| | | | | | | We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors.
* Merge #844bors[bot]2019-02-176-48/+127
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 844: Refactor find_all_refs to return ReferenceSearchResult r=vipentti a=vipentti This refactors `find_all_refs` to return a new `ReferenceSearchResult` based on feedback in #839. There are few questions/notes regarding the refactor: 1. Introducing `NavigationTarget::from_bind_pat` this simply forwards the call to `NavigationTarget::from_named`, could we just expose `from_named` directly as `pub(crate)` ? 2. Added an utility method `NavigationTarget::range` since there were few places where you would use `self.focus_range.unwrap_or(self.full_range)` 3. Implementing `IntoIterator` for `ReferenceSearchResult`. This turns `ReferenceSearchResult` into an iterator over `FileRanges` and allows previous code to mostly stay as it was based on the order that `find_all_refs` previously had (declaration first and then the references). I'm not sure if there is a way of doing the conversion to `IntoIter` without the allocation of a new vector 4. Is it possible to have a binding without a name? I'm not sure if the `NavigationTarget::from_bind_pat` can cause some edge-cases that previously were ok This fixes #835. Co-authored-by: Ville Penttinen <[email protected]>
| * Remove leading ::Ville Penttinen2019-02-171-1/+1
| |
| * Refactor find_all_refs to return ReferenceSearchResultVille Penttinen2019-02-176-48/+127
| |
* | Make GenericArgs::from_ast pub(crate)Florian Diebold2019-02-171-1/+1
| |
* | Unify with the autorefed/autoderefed receiver type during method resolutionFlorian Diebold2019-02-175-13/+55
| |
* | Handle generic args for method callsFlorian Diebold2019-02-166-11/+50
| |
* | Handle impl generics in method callsFlorian Diebold2019-02-167-77/+122
| |
* | Resolve impl generic paramsFlorian Diebold2019-02-161-1/+3
| |
* | Add generic params to impl blocksFlorian Diebold2019-02-164-9/+16
| |
* | Add a test for impl genericsFlorian Diebold2019-02-162-0/+71
|/
* Turn ImplBlock into a copy type just containing IDsFlorian Diebold2019-02-169-77/+65
| | | | | | | This makes it more like the other code model types. Also make Module::definition_source/declaration_source return HirFileIds, to make them more like the other source functions.
* document design guidelineAleksey Kladov2019-02-161-0/+6
|
* Merge #836bors[bot]2019-02-161-18/+67
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836: auto_import: fix bug when the common path was shorter than both the c… r=matklad a=eulerdisk Fix bug when the common path was shorter than both the current use and target path. Wrong 1 (unnecessary self) ``` use std::fmt::nested::Debug; std::fmt::Display<|> ``` ---> ``` use std::fmt::{ self, Display, nested::Debug}; Display<|> ``` Wrong 2 (unnecessary, Debug disappear!!) ``` use std::fmt::Debug; std::fmt::nested::Display ``` --> ``` use std::fmt::Debug::{ self, nested::Display, }; Display<|> ``` Co-authored-by: Andrea Pretto <[email protected]>
| * auto_import: fix bug when the common path was shorter than both the current ↵Andrea Pretto2019-02-141-18/+67
| | | | | | | | | | | | use and target path. Shorter test names.
* | Dont slow down everyone else's testing (especially the CI's Linux) just for ↵Felix S. Klock II2019-02-151-1/+1
| | | | | | | | | | | | | | | | OS X. Namely, the allowance for up to 7 events, and thus requiring anyone with fewer than 7 events to wait for the 3 second timeout, is only relevant to fsevents (i.e. Mac OS X)
* | Generalize `tests/vfs.rs` processing to address wildly-varying ↵Felix S. Klock II2019-02-151-9/+67
| | | | | | | | time-dependent behavior on Mac OS X.
* | Merge #830bors[bot]2019-02-141-1/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 830: Fix test_vfs_works failing on Windows due to extra Write events r=pnkfelix a=vipentti On Windows `notify` generates extra `Write` events for folders, which caused `process_tasks` to not handle all tasks generated on Windows. This fixes #827 Co-authored-by: Ville Penttinen <[email protected]>
| * Fix test_vfs_works failing on Windows due to extra Write eventsVille Penttinen2019-02-141-1/+3
| | | | | | | | | | | | | | On Windows `notify` generates extra `Write` events for folders, which caused `process_tasks` to not handle all tasks generated on Windows. This fixes #827
* | Merge #834bors[bot]2019-02-142-11/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | 834: use better label for &mut ref completion r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | use better label for &mut ref completionAleksey Kladov2019-02-142-11/+11
| | |
* | | simplifyAleksey Kladov2019-02-142-86/+71
| | |
* | | automatically wait for worker threadsAleksey Kladov2019-02-149-151/+133
|/ / | | | | | | closes #817
* | Merge #831bors[bot]2019-02-142-13/+84
|\ \ | | | | | | | | | | | | | | | | | | | | | 831: tweak postfix completions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | tweak postfix completionsAleksey Kladov2019-02-142-13/+60
| | | | | | | | | | | | | | | * better label * add refm for &mut
| * | add ref postfix templateAleksey Kladov2019-02-142-3/+27
| |/
* / Be precise about the argument listJeremy Kolb2019-02-141-15/+7
|/ | | | Fixes #812
* Remove call to canonicalize in BatchDatabase::load_cargoVille Penttinen2019-02-141-1/+1
| | | | | | | | Instead of using canonicalize, we now join the given path to `std::env::current_dir()`, which either replaces the path, if the given path is absolute, or joins the paths. This fixes #821.
* Merge #818bors[bot]2019-02-131-2/+15
|\ | | | | | | | | | | | | | | | | | | 818: In `RootConfig::contains`, check against canonicalized version of root path r=matklad a=pnkfelix In `RootConfig::contains`, check against canonicalized version of root path since OS may hand us data that uses the canonical form rather than the root as specified by the user. This is a step towards a resolution of issue #734 but does not completely fix the problem there. Co-authored-by: Felix S. Klock II <[email protected]>
| * rustfmtFelix S. Klock II2019-02-131-3/+3
| |
| * In `RootConfig::contains`, check against canonicalized version of rootFelix S. Klock II2019-02-131-2/+15
| | | | | | | | | | path since OS may hand us data that uses that rather than the root as specified by the user.
* | Complete names from preludeFlorian Diebold2019-02-134-5/+84
| |
* | Handle extern crates better, so they work correctly in 2015 editionFlorian Diebold2019-02-133-15/+55
| | | | | | | | (see the removed comment.)
* | Make edition handling a bit nicer and allow specifying edition in ↵Florian Diebold2019-02-135-25/+28
| | | | | | | | crate_graph macro
* | Resolve 2015 style importsFlorian Diebold2019-02-134-8/+118
| |
* | Keep track of crate editionFlorian Diebold2019-02-138-24/+44
| |
* | Import the preludeFlorian Diebold2019-02-137-12/+99
| |
* | Merge #813bors[bot]2019-02-134-17/+100
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 813: Add support for container_name in workspace/symbol query r=matklad a=vipentti Currently this does not fill in the container_info if a type is defined on the top level in a file. e.g. `foo.rs` ```rust enum Foo { } ``` `Foo` will have None as the container_name, however ```rust mod foo_mod { enum Foo { } } ``` `Foo` has `foo_mod` as the container_name. This closes #559 Co-authored-by: Ville Penttinen <[email protected]>
| * | Fix possible issue where unnamed is_symbol_def would pop stack wronglyVille Penttinen2019-02-131-11/+1
| | | | | | | | | | | | This removes is_symbol_def as unnecessary.
| * | Use cloned over map + cloneVille Penttinen2019-02-131-1/+1
| | |
| * | Use clone directly rather than map + cloneVille Penttinen2019-02-131-1/+1
| | |
| * | Remove unnecessary bracesVille Penttinen2019-02-131-31/+25
| | |
| * | Add support for container_name in workspace/symbol queryVille Penttinen2019-02-124-17/+116
| | |
* | | Merge #814bors[bot]2019-02-131-14/+82
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 814: auto_import: import in enclosing module by default r=matklad a=eulerdisk Simpler version of #795 Co-authored-by: Andrea Pretto <[email protected]>
| * | | auto_import: import in enclosing module instead of fileAndrea Pretto2019-02-121-4/+38
| | | |
| * | | auto_import: more tests and some refactoringsAndrea Pretto2019-02-121-12/+46
| |/ /
* / / Fix another crashFlorian Diebold2019-02-123-2/+33
|/ /
* | Merge #811bors[bot]2019-02-123-0/+49
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 811: Filter attributes from the completion details/label r=kjeremy a=lnicola Before: ![image](https://user-images.githubusercontent.com/308347/52657254-efba9a00-2f00-11e9-952f-901910cfc459.png) After: ![image](https://user-images.githubusercontent.com/308347/52657278-fb0dc580-2f00-11e9-9267-8aff44c93447.png) Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Filter attributes from the completion details/labelLaurențiu Nicola2019-02-123-0/+49
| | |
* | | make token trees eqAleksey Kladov2019-02-122-6/+6
|/ /