aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge #3026bors[bot]2020-02-1856-650/+452
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3026: ra_syntax: reshape SyntaxError for the sake of removing redundancy r=matklad a=Veetaha Followup of #2911, also puts some crosses to the todo list of #223. **AHTUNG!** A big part of the diff of this PR are test data files changes. Simplified `SyntaxError` that was `SyntaxError { kind: { /* big enum */ }, location: Location }` to `SyntaxError(String, TextRange)`. I am not sure whether the tuple struct here is best fit, I am inclined to add names to the fields, because I already provide getters `SyntaxError::message()`, `SyntaxError::range()`. I also removed `Location` altogether ... This is currently WIP, because the following is not done: - [ ] ~~Add tests to `test_data` dir for unescape errors *// I don't know where to put these errors in particular, because they are out of the scope of the lexer and parser. However, I have an idea in mind that we move all validators we have right now to parsing stage, but this is up to discussion...*~~ **[UPD]** I came to a conclusion that tree validation logic, which unescape errors are a part of, should be rethought of, we currently have no tests and no place to put tests for tree validations. So I'd like to extract potential redesign (maybe move of tree validation to ra_parser) and adding tests for this into a separate task. Co-authored-by: Veetaha <[email protected]> Co-authored-by: Veetaha <[email protected]>
| * ra_syntax: fix reparsing merging errors, also now reparse_token() reports errorsVeetaha2020-02-181-7/+50
| |
| * ra_syntax: migrate test data to 0-length text-range of SyntaxError when ↵Veetaha2020-02-1746-242/+242
| | | | | | | | constructed from TextUnit
| * ra_syntax: remove message() method and use only Display trait in SyntaxError ↵Veetaha2020-02-172-4/+1
| | | | | | | | as per matklad
| * ra_syntax: change module-level documentation for syntax_error to "see X" as ↵Veetaha2020-02-171-1/+1
| | | | | | | | per matklad
| * ra_syntax: followup fix for making SyntaxError::range() to return by valueVeetaha2020-02-171-1/+1
| |
| * ra_syntax: SyntaxError::range() now returns by valueVeetaha2020-02-174-12/+6
| |
| * ra_syntax: moved reexport declaration after imports as per matkladVeetaha2020-02-171-1/+2
| |
| * ra_syntax: Apply Aleksei Kladov suggestion about TextRange of TextUnitVeetaha2020-02-171-1/+1
| | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
| * Change semmantical analyzis to tree validation as per @matkladVeetaha2020-02-171-1/+1
| | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
| * ra_syntax: reshape SyntaxError for the sake of removing redundancyVeetaha2020-02-1755-637/+404
| |
* | Rename folderAleksey Kladov2020-02-1825-0/+0
| |
* | Rename the binary to rust-analyzerAleksey Kladov2020-02-1811-22/+22
| |
* | Fully document ra_lsp_serverAleksey Kladov2020-02-188-11/+20
| |
* | RefactorAleksey Kladov2020-02-182-52/+52
| |
* | Reduce visibilityAleksey Kladov2020-02-181-6/+9
| |
* | RefactorAleksey Kladov2020-02-182-4/+3
| |
* | Some docsAleksey Kladov2020-02-187-15/+23
| |
* | Better folder structureAleksey Kladov2020-02-183-0/+5
| |
* | Simplify the command executionKirill Bulatov2020-02-171-34/+28
| |
* | Simplify the code furtherKirill Bulatov2020-02-171-45/+35
| |
* | Idempotent location and installation of rust srcKirill Bulatov2020-02-171-47/+56
| |
* | Install rust-src when it is not foundKirill Bulatov2020-02-171-8/+31
|/
* Replace ra_cli mentionsLaurențiu Nicola2020-02-172-9/+9
|
* Merge ra_vfs_glob and ra_lsp_serverAleksey Kladov2020-02-178-16/+11
|
* Merge cli and ra_lsp_serverAleksey Kladov2020-02-1710-181/+182
|
* Use anyhowAleksey Kladov2020-02-174-14/+15
|
* CleanupAleksey Kladov2020-02-172-73/+68
|
* Better nameAleksey Kladov2020-02-171-2/+2
|
* More precise typesAleksey Kladov2020-02-171-12/+15
|
* Unify verbosity handlingAleksey Kladov2020-02-172-22/+22
|
* Move interesting stuff to mainAleksey Kladov2020-02-171-40/+35
|
* Stronger TypesAleksey Kladov2020-02-171-5/+5
|
* Refactor arg parsingAleksey Kladov2020-02-171-115/+169
|
* Sort depsAleksey Kladov2020-02-171-14/+15
|
* Inline ra_batchAleksey Kladov2020-02-176-32/+17
|
* Cleanup importsAleksey Kladov2020-02-171-3/+2
|
* Inline helpAleksey Kladov2020-02-172-82/+96
|
* Use Arguments::from_osAleksey Kladov2020-02-171-9/+3
|
* Drop proptest testsAleksey Kladov2020-02-177-206/+2
| | | | | | | It takes waaay to long to compile. We should add quickcheck tests when we touch the relevant code next time.
* Merge #3169bors[bot]2020-02-175-14/+111
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3169: Show record field names in Enum completion r=flodiebold a=adamrk Adresses https://github.com/rust-analyzer/rust-analyzer/issues/2947. Previously the details shown when autocompleting an Enum variant would look like the variant was a tuple even if it was a record: ![2020-02-16-15:59:32_crop](https://user-images.githubusercontent.com/16367467/74607233-64f21980-50d7-11ea-99db-e973e29c71d7.png) This change will show the names of the fields for a record and use curly braces instead of parentheses: ![2020-02-16-15:33:00_crop](https://user-images.githubusercontent.com/16367467/74607251-8ce17d00-50d7-11ea-9d4d-38d198a4aec0.png) This required exposing the type `adt::StructKind` from `ra_hir` and adding a function ``` kind(self, db: &impl HirDatabase) -> StructKind ``` in the `impl` of `EnumVariant`. There was also a previously existing function `is_unit(self, db: &impl HirDatabase) -> bool` for `EnumVariant` which I removed because it seemed redundant after adding `kind`. Co-authored-by: adamrk <[email protected]>
| * use 'if let' instead of match on kind in lower.rsadamrk2020-02-171-6/+4
| |
| * add space before/after wrapping bracesadamrk2020-02-161-2/+2
| |
| * replace uses of VariantData::is_unit with VariantData::kindadamrk2020-02-162-10/+7
| |
| * show names for record fields in enum completionadamrk2020-02-164-7/+109
| |
* | Merge #3099bors[bot]2020-02-176-1/+356
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3099: Init implementation of structural search replace r=matklad a=mikhail-m1 next steps: * ignore space and other minor difference * add support to ra_cli * call rust parser to check pattern * documentation original issue #2267 Co-authored-by: Mikhail Modin <[email protected]>
| * | Init implementation of structural search replaceMikhail Modin2020-02-146-1/+356
| | |
* | | Merge #3108bors[bot]2020-02-176-36/+536
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3108: Magic Completion for `impl Trait for` Associated Items r=matklad a=kdelorey # Summary This PR adds a set of magic completions to auto complete associated trait items (functions/consts/types). ![Associated Trait Impl](https://user-images.githubusercontent.com/2295721/74493144-d8f1af00-4e96-11ea-93a4-82725bf89646.gif) ## Notes Since the assist and completion share the same logic when figuring out the associated items that are missing, a shared utility was created in the `ra_assists::utils` module. Resolves #1046 As this is my first PR to the rust-analyzer project, I'm new to the codebase, feedback welcomed! Co-authored-by: Kevin DeLorey <[email protected]>
| * | | Added module doc comment to explain the purpose of the completion.Kevin DeLorey2020-02-151-1/+32
| | | |
| * | | Fixed bug that allowed for completion in a nested method.Kevin DeLorey2020-02-151-7/+36
| | | |