aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/main.ts
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Dispose logger on extension deactivation"Veetaha2020-07-051-2/+0
| | | | | This reverts commit 13872543e074adc153b440660beda441fd562f53. That commit was wrong because we use-after-free the logger
* Dispose logger on extension deactivationVeetaha2020-07-051-0/+2
|
* Improve client logging (use output channel and more log levels)Veetaha2020-07-051-3/+3
|
*---. Merge #5089 #5161 #5184 #5185 #5186bors[bot]2020-07-021-7/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5089: Disable auto-complete on comments r=matklad a=BGluth Resolves #4907 by disabling any auto-completion on comments. As flodiebold [pointed out](https://github.com/rust-analyzer/rust-analyzer/issues/4907#issuecomment-648439979), in the future we may want to support some form of auto-completion within doc comments, but for now it was suggested to just disable auto-completion on them entirely. The implementation involves adding a new field `is_comment` to `CompletionContext` and checking if the immediate token we auto-completed on is a comment. I couldn't see a case where we need to check any of the ancestors, but let me know if this is not sufficient. I also wasn't sure if it was necessary to add a new field to this struct, but I decided it's probably the best option if we want to potentially do auto-completion on doc comments in the future. Finally, the three tests I added should I think ideally not filter results by `CompletionKind::Keyword`, but if I want to get unfiltered results, I need access to a non-public function [get_all_completion_items](https://github.com/rust-analyzer/rust-analyzer/blob/9a4d02faf9c47f401b8756c3f7fcab2198f5f9cd/crates/ra_ide/src/completion/test_utils.rs#L32-L39) which I don't know if I should make public just for this. 5161: SSR: Add initial support for placeholder constraints r=matklad a=davidlattimore 5184: Always install required nightly extension if current one is not nightly r=matklad a=Veetaha This is weird, but having switched back to stable by uninstalling the extension appears that vscode doesn't destroy the `PersistentState` and thus changing to `nightly` channel doesn't work because the last check for nightly extension was less than 1 hour ago. The simple solution is to skip this check if we know that the current extension version is not nightly. 5185: Force showing extension activation error pop-up notification r=matklad a=Veetaha Fixes https://github.com/rust-analyzer/rust-analyzer/issues/5091 5186: fix: correct pd/ppd/tfn/tmod completion doc r=matklad a=fannheyward https://github.com/rust-analyzer/rust-analyzer/blob/a33eefa3b26000b3018e6bb873f18dbe15ab4ab7/crates/ra_ide/src/completion/complete_snippet.rs#L23-L24 Co-authored-by: BGluth <[email protected]> Co-authored-by: David Lattimore <[email protected]> Co-authored-by: Veetaha <[email protected]> Co-authored-by: Heyward Fann <[email protected]>
| | | * Force showing extension activation error pop-up notificationVeetaha2020-07-021-3/+11
| | |/ | |/|
| | * Always install required nightly extension if current one is not nightlyVeetaha2020-07-021-4/+8
| |/
* / Add reload workspace commandAleksey Kladov2020-07-011-1/+1
|/
* Merge #5017bors[bot]2020-06-261-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 5017: Add custom cargo runners support. r=matklad a=vsrs This PR adds an option to delegate actual cargo commands building to another extension. For example, to use a different manager like [cross](https://github.com/rust-embedded/cross). https://github.com/vsrs/cross-rust-analyzer is an example of such extension. I'll publish it after the rust-analyzer release with this functionality. Fixes https://github.com/rust-analyzer/rust-analyzer/issues/4902 Co-authored-by: vsrs <[email protected]>
| * Add custom cargo runnersvsrs2020-06-241-1/+1
| |
* | Merge branch 'Veetaha-feat/sync-branch'Aleksey Kladov2020-06-251-3/+0
|\ \ | |/ |/|
| * Migrate flycheck to fully-lsp-compatible progress reports (introduce ↵veetaha2020-06-181-3/+0
| | | | | | | | ra_progress crate)
| |
| \
*-. \ Merge #4992 #4993 #4994 #4997 #4998bors[bot]2020-06-231-6/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4992: Never disable error logging on the frontend r=matklad a=Veetaha 4993: Make bootstrap error message more informative and better-fitting r=matklad a=Veetaha Now this better fits standard vscode extension activation failure message and suggests enabling verbose logs. ![image](https://user-images.githubusercontent.com/36276403/85321828-ffbb9400-b4cd-11ea-8adf-4032b1f62dfd.png) 4994: Decouple http file stream logic from temp dir logic r=matklad a=Veetaha Followup for #4989 4997: Update manual.adoc r=matklad a=gwutz GNOME Builder (Nightly) supports now rust-analyzer 4998: Disrecommend trace.server: "verbose" for regular users r=matklad a=Veetaha This option has never been useful for me, I wonder if anyone finds regular users can use this for sending logs Co-authored-by: Veetaha <[email protected]> Co-authored-by: Günther Wagner <[email protected]>
| | * | Decouple http file stream logic from temp dir logicVeetaha2020-06-221-2/+11
| |/ / |/| |
| * | Make bootstrap error message more informative and better-fittingVeetaha2020-06-221-4/+8
|/ /
* | Download artifacts into tmp dirVeetaha2020-06-201-1/+15
| |
* | Add `rust-analyzer.gotoLocation` commandvsrs2020-06-181-0/+1
|/
* Preliminary implementation of lazy CodeAssitsMikhail Rakhmanov2020-06-021-0/+1
|
* Add `inRustProject` when-clause for commands.vsrs2020-05-271-0/+6
|
* Flatten commands.tsAleksey Kladov2020-05-251-1/+0
|
* Introduce `toggle inlay hints` vscode commandveetaha2020-05-251-0/+1
| | | | | | | | Users now can assign a shortcut for this command via the general vscode keybindings ui or `keybinding.json file` Closes: #4599
* Merge #4555 #4575bors[bot]2020-05-231-1/+48
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4555: VSCode: added patchelf after download for NixOS support r=matklad a=cab404 This adds Nix support, and fixes #4542 4575: Use Chalk's built-in representations for fn items and pointers r=matklad a=flodiebold The `TypeName::FnDef` was just added; the function pointer variant has existed for a while, I just forgot about it because it's special (because fn pointers can be higher-ranked over lifetimes). We *could* also make `FnPtr` a separate `Ty` variant instead of a `TypeCtor` variant, which would make the conversion code a bit less special-casey, but it doesn't seem worth doing right now. Co-authored-by: Vladimir Serov <[email protected]> Co-authored-by: Cabia Rangris <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * Merge branch 'nix-patchelf' of github.com:cab404/rust-analyzer into nix-patchelfVladimir Serov2020-05-211-1/+1
| |\
| | * Update editors/code/src/main.tsCabia Rangris2020-05-211-1/+1
| | | | | | | | | Co-authored-by: Jeremy Kolb <[email protected]>
| * | editors/vscode: forgotten await in os checkVladimir Serov2020-05-211-1/+1
| | |
| * | editors/vscode: patchelf-ing without intermediate filesVladimir Serov2020-05-211-5/+5
| |/
| * editor/vscode: lintVladimir Serov2020-05-211-21/+21
| |
| * editors/vscode: removing original file after patchingVladimir Serov2020-05-211-1/+1
| |
| * editors/vscode: added patchelf after downloadVladimir Serov2020-05-211-1/+48
| |
* | CodeAction groupsAleksey Kladov2020-05-221-1/+1
| |
* | Transition OnEnter to WorkspaceSnippetEditAleksey Kladov2020-05-211-1/+1
|/ | | | | | | | This also changes our handiling of snippet edits on the client side. `editor.insertSnippet` unfortunately forces indentation, which we really don't want to have to deal with. So, let's just implement our manual hacky way of dealing with a simple subset of snippets we actually use in rust-analyzer
* Implement client-side of SnippetTextEditAleksey Kladov2020-05-191-0/+1
|
* "rust-analyzer.newDebugConfig" commandvsrs2020-05-111-0/+1
|
* "rust-analyzer.debug" commandvsrs2020-05-111-0/+1
|
* Fix cargo not found on macos bug at vscode extension sideveetaha2020-05-061-6/+2
|
* vscode: log server binary pathveetaha2020-04-041-0/+2
|
* Remove old syntax highlightingAleksey Kladov2020-04-021-4/+0
|
* Pass string instread of WorkspaceFolderTim2020-03-311-1/+1
|
* Remove unnecessary null checkTim2020-03-311-3/+1
|
* Throw error if no folder is openedTim2020-03-311-1/+6
|
* Add basic task supportTim2020-03-301-1/+8
| | | | This adds basic support for running `cargo build`, `cargo run`, etc.
* Code review fixesKirill Bulatov2020-03-301-1/+1
| | | | Co-Authored-By: Veetaha <[email protected]>
* Client side draftKirill Bulatov2020-03-301-0/+6
|
* vscode: small post-refactorveetaha2020-03-261-3/+1
|
* vscode: fix memory leak on server restartveetaha2020-03-261-15/+13
| | | | The memory leak was because on the server restrart the array of extensionContext.substiptions was not cleared
* vscode: fix local develveetaha2020-03-261-4/+6
| | | | The value of releaseTag is not undefined, but null in actual package.json
* Use the right arch name for x86 (32 bit)Aleksey Kladov2020-03-251-1/+1
|
* Don't try to enable proposed API's on stableAleksey Kladov2020-03-241-7/+7
|
* Make from-source install use cargo installed binary by defaultAleksey Kladov2020-03-201-0/+2
|
* Simplify extension tag sniffingAleksey Kladov2020-03-191-2/+2
|
* Rewrite auto-updateAleksey Kladov2020-03-191-20/+138
| | | | | | | | | | | | | | Everything now happens in main.ts, in the bootstrap family of functions. The current flow is: * check everything only on extension installation. * if the user is on nightly channel, try to download the nightly extension and reload. * when we install nightly extension, we persist its release id, so that we can check if the current release is different. * if server binary was not downloaded by the current version of the extension, redownload it (we persist the version of ext that downloaded the server).