aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add an ra_cli command that analyses all crates in the current workspaceFlorian Diebold2019-02-109-4/+227
| | | | ... and prints various stats about how many expressions have a type etc.
* Implement BatchDatabase constructionFlorian Diebold2019-02-105-22/+116
|
* Add new crateFlorian Diebold2019-02-103-0/+74
|
* Merge #770bors[bot]2019-02-101-1/+80
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 770: Fix introduce var duplicating newlines r=matklad a=vipentti This fixes #713. If the block before the statement we want to use introduce var on, had empty lines these empty lines would also be added between the let-statement and the current line where the new variable is used. This fixes that by trimming excess newlines from the start of the indent chunk and simply adding a single newline (when the chunk had newlines) between the let-statement and the current statement. If there were no newlines this matches the previous behaviour. Co-authored-by: Ville Penttinen <[email protected]>
| * Fix introduce var duplicating newlinesVille Penttinen2019-02-091-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes #713. If the block before the statement we want to use introduce var on, had empty lines these empty lines would also be added between the let-statement and the current line where the new variable is used. This fixes that by trimming excess newlines from the start of the indent chunk and simply adding a single newline (when the chunk had newlines) between the let-statement and the current statement. If there were no newlines this matches the previous behaviour.
* | Merge #773bors[bot]2019-02-1016-70/+338
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 773: Crash fixes r=matklad a=flodiebold This fixes a bunch of crashes found while running type inference on the whole rustc repo :sweat_smile: - avoid infinite recursion with ref bind patterns - avoid another infinite recursion - handle literal patterns, add a new LITERAL_PAT syntax node for this - fix an expect that's wrong on some invalid code Co-authored-by: Florian Diebold <[email protected]>
| * | Add comment and markFlorian Diebold2019-02-093-2/+10
| | |
| * | Fix another crash, and try harder to prevent stack overflowsFlorian Diebold2019-02-093-7/+75
| | |
| * | Fix another crash found when analyzing rustcFlorian Diebold2019-02-093-7/+38
| | |
| * | Fix handling of literal patternsFlorian Diebold2019-02-0910-41/+133
| | | | | | | | | | | | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
| * | Fix two crashes found by running inference on all of rustcFlorian Diebold2019-02-094-15/+84
|/ /
* | Merge #771bors[bot]2019-02-092-4/+4
|\ \ | |/ |/| | | | | | | | | | | | | | | 771: update notify with fix for hight cpu usage r=matklad a=vemoo Should fix the ocasional 100% CPU hangs. I've tried `yes > test.rs` which would cause it before, and now on my computer it stays below 10%, and stops as soon as I interrupt the command, unlike previously which would stay at 100% for a while. Co-authored-by: Bernardo <[email protected]>
| * update notify with fix for hight cpu usageBernardo2019-02-092-4/+4
|/
* Merge #767bors[bot]2019-02-0910-139/+212
|\ | | | | | | | | | | | | | | 767: Extract project model to separate crate r=matklad a=flodiebold I'm looking into creating a separate crate that would allow getting a HIR db for a project for 'batch' analyses, and this seems to be an obvious first step. We'd probably want to change the error handling to not rely on failure, though, right? Co-authored-by: Florian Diebold <[email protected]>
| * Clean up a bitFlorian Diebold2019-02-093-4/+1
| |
| * Remove Vfs from project modelFlorian Diebold2019-02-094-9/+8
| |
| * Remove SmolStr from project modelFlorian Diebold2019-02-095-19/+7
| |
| * Move crate graph generation to ra_project_modelFlorian Diebold2019-02-095-83/+116
| |
| * Extract project model to separate crateFlorian Diebold2019-02-098-53/+109
|/
* Merge #766bors[bot]2019-02-0910-10/+33
|\ | | | | | | | | | | | | | | | | | | 766: Formatting code into ra_fmt r=matklad a=eulerdisk As discussed https://github.com/rust-analyzer/rust-analyzer/pull/762#discussion_r254905885 I did only move the code without other improvements. Co-authored-by: Andrea Pretto <[email protected]>
| * Refactor formatting code out of ra_ida_api_light into ra_fmt.Andrea Pretto2019-02-0810-10/+33
| |
* | Merge #768bors[bot]2019-02-0912-22/+264
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | 768: Sort assists by the range of the affected element r=matklad a=robojumper Closes #763. https://github.com/rust-analyzer/rust-analyzer/blob/3be98f2ac93b278828e76eb813bdd8033f647b12/crates/ra_assists/src/lib.rs#L233-L236 This could be made more robust by a) adding a way to identify actions by things other than their label and b) allowing arbitrary actions to appear in the list as long as the tested actions are there in the correct order. Let me know if I should do any of that. Co-authored-by: robojumper <[email protected]>
| * Improve sorting delegaterobojumper2019-02-091-7/+5
| |
| * Remove unused importrobojumper2019-02-081-2/+2
| |
| * Add tests for action target rangesrobojumper2019-02-0810-16/+210
| |
| * Add some assist rangesrobojumper2019-02-086-10/+60
|/
* reformat the worldAleksey Kladov2019-02-08129-2510/+728
|
* enable "small heuristics"Aleksey Kladov2019-02-081-1/+2
|
* Merge #765bors[bot]2019-02-0811-441/+428
|\ | | | | | | | | | | | | | | 765: Jettison `imp` module r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * diagnostics is now a functionAleksey Kladov2019-02-082-64/+62
| |
| * move diagnostics to a separate fileAleksey Kladov2019-02-082-27/+22
| |
| * move index_resolve to symbol indexAleksey Kladov2019-02-084-14/+11
| |
| * move find_references to referencesAleksey Kladov2019-02-083-67/+55
| |
| * avoid 'ignored' in test outputAleksey Kladov2019-02-081-2/+2
| |
| * rename rename to referencesAleksey Kladov2019-02-082-2/+2
| |
| * move crate forAleksey Kladov2019-02-083-16/+16
| |
| * move changes to a separate fileAleksey Kladov2019-02-084-254/+263
|/
* Merge #760bors[bot]2019-02-072-0/+125
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 760: Add new assist to remove dbg!() calls r=matklad a=vipentti This fixes #758. Currently we try to maintain the cursor position relative to the statement under cursor, if the cursor is inside the dbg! macro call. Meaning: ```rust let foo = dbg!(some.complex<|>().expression()); ``` Should turn into: ```rust let foo = some.complex<|>().expression(); ``` With the cursor staying in place. Co-authored-by: Ville Penttinen <[email protected]>
| * Remove unnecessary dbg! callsVille Penttinen2019-02-071-3/+2
| |
| * Add new assist to remove dbg!() callsVille Penttinen2019-02-072-0/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes #758. Currently we try to maintain the cursor position relative to the statement under cursor, if the cursor is inside the dbg! macro call. Meaning: let foo = dbg!(some.complex<|>().expression()); Should turn into: let foo = some.complex<|>().expression(); With the cursor staying in place.
* | Merge #761bors[bot]2019-02-072-99/+65
|\ \ | |/ |/| | | | | | | | | | | 761: Update npm packages r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Update npm packageskjeremy2019-02-072-99/+65
|/
* Merge #755bors[bot]2019-02-073-1/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 755: Add new configuration "enableEnhancedTyping" to control registering of "type" command r=matklad a=vipentti This further fixes problems when having a VIM extension (at least vscodevim) enabled, by not calling `overrideCommand('type', commands.onEnter.handle)` when enableEnhancedTyping is set to `false`. The problem is dependent on the order in which extensions are activated, if rust-analyzer is activated before `vscodevim`, rust-analyzer will register the `type` command, and when `vscodevim` finally attempts to activate, it will fail to register the command. This causes `vscodevim` to stop working properly. This setting allows users to disable the registerCommand `type` in rust-analyzer, allowing `vscodevim` to work. The setting defaults to `true`. Currently changing the setting requires reloading of the window. Co-authored-by: Ville Penttinen <[email protected]>
| * Run prettierVille Penttinen2019-02-071-4/+11
| |
| * Add new configuration "enableEnhancedTyping" to control registering of ↵Ville Penttinen2019-02-073-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "type" command This further fixes problems when having a VIM extension (at least vscodevim) enabled, by not calling `overrideCommand('type', commands.onEnter.handle)` when enableEnhancedTyping is set to `false`. The problem is dependent on the order in which extensions are activated, if rust-analyzer is activated before `vscodevim`, rust-analyzer will register the `type` command, and when `vscodevim` finally attempts to activate, it will fail to register the command. This causes `vscodevim` to stop working properly. This setting allows users to disable the registerCommand `type` in rust-analyzer, allowing `vscodevim` to work. The setting defaults to `true`. Currently changing the setting requires reloading of the window.
* | Merge #754bors[bot]2019-02-0615-55/+49
|\ \ | | | | | | | | | | | | | | | | | | | | | 754: Some clippy things r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Some clippy cleanupskjeremy2019-02-0615-55/+49
|/ /
* | Merge #753bors[bot]2019-02-061-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 753: assists: compute edit r=matklad a=kjeremy Fixes #751 Co-authored-by: kjeremy <[email protected]>
| * | assists: compute editkjeremy2019-02-061-1/+1
|/ /
* | Merge #752bors[bot]2019-02-061-73/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | 752: cargo update r=kjeremy a=kjeremy Removes a few crates from the dep chain. Co-authored-by: kjeremy <[email protected]>