aboutsummaryrefslogtreecommitdiff
path: root/editors
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3162bors[bot]2020-02-168-104/+176
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3162: Feature: vscode always downloads only the matching ra_lsp_server version r=matklad a=Veetaha I tried to separate logically connected changes into separate commits, so enjoy! Now TypeScript extension saves installed binary version in global state and always checks that the installed binary version equals the version of the TypeScript extension itself (to prevent version drifts). Also, changed `fetchLatestArtifactReleaseInfo()` to `fetchArtifactReleaseInfo()` that takes an optional release tag (when not specified fetches the latest release). The version without a release tag will be useful in the future when adding auto-checking for updates. I decided not to do `Download latest language server` command (I have stated the rationale for this in #3073) and let the extension itself decide which version of the binary it wants. This way the users will be able to get the latest `ra_lsp_server` binary after the approaching 2020-02-17 release, without having to manually delete the outdated one from `~/.config/Code/User/globalStorage/matklad.rust-analyzer`! Closes #3073 Co-authored-by: Veetaha <[email protected]>
| * vscode: save binary version when downloading and download only version that ↵Veetaha2020-02-161-96/+72
| | | | | | | | matches TypeScript extension version
| * vscode: extract downloadArtifact() functionVeetaha2020-02-161-0/+58
| |
| * vscode: add release tag option to fetchArtifactReleaseInfo()Veetaha2020-02-161-5/+11
| |
| * vscode: add version and storage parameters to github binary sourceVeetaha2020-02-165-3/+35
| |
* | vscode: fix the default value for withSysrootVeetaha2020-02-161-1/+1
|/
* Disable rollup warningEdwin Cheng2020-02-151-1/+2
|
* vscode: renamed langServer to serverVeetaha2020-02-143-22/+22
|
* vscode: renmed ArtifactMetadata -> ArtifactReleaseInfo, languageServer -> ↵Veetaha2020-02-144-11/+11
| | | | langServer
* Merge #3131bors[bot]2020-02-144-211/+96
|\ | | | | | | | | | | | | | | 3131: vscode: simplified config and to removed one source of truth of default values r=matklad a=Veetaha Though not intended initially, the implementation of config design is alike [dart's one](https://github.com/Dart-Code/Dart-Code/blob/master/src/extension/config.ts) as pointed by @matklad in PM. Co-authored-by: Veetaha <[email protected]>
| * make onConfigChange handler privateVeetaha2020-02-141-1/+1
| |
| * vscode: moved to getters as per matkladVeetaha2020-02-145-39/+33
| |
| * vscode: reordered config constructor before methodsVeetaha2020-02-131-5/+6
| |
| * vscode: redesigned config with simplicity and Dart extension config ↵Veetaha2020-02-135-216/+96
| | | | | | | | implementation in mind
| * vscode: added more type safety to package.json configVeetaha2020-02-131-0/+10
| |
* | Expect vscode 1.42kjeremy2020-02-142-12/+12
| |
* | Merge #3137bors[bot]2020-02-141-1/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3137: Do not register all proposed features r=matklad a=kjeremy Instead only opt-in to CallHierarchy since it has a vscode API but LSP support is still proposed. Discovered while working on SemanticTokens which does not have a vscode API and is still in the proposed state. Somehow enabling it would crash the language server. See https://github.com/microsoft/vscode-languageserver-node/issues/572 Co-authored-by: kjeremy <[email protected]>
| * | Do not register all proposed featureskjeremy2020-02-141-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead only opt-in to CallHierarchy since it has a vscode API but LSP support is still proposed. Discovered while working on SemanticTokens which does not have a vscode API and is still in the proposed state. Somehow enabling it would crash the language server. See https://github.com/microsoft/vscode-languageserver-node/issues/572
* | | Prevent auto-update of dev extensionAleksey Kladov2020-02-142-2/+3
|/ /
* | vscode: removed nested errors as per matkladVeetaha2020-02-133-10/+3
| |
* | vscode: replaced DownloadFileError with NestedError itself for simplicityVeetaha2020-02-131-6/+7
| |
* | vscode: switched to stream.pipeline with .on(close) workaroundVeetaha2020-02-121-19/+17
| |
* | vscode: added error handling to download file streamsVeetaha2020-02-114-7/+24
|/
* vscode: remove chmod in favour of an option to createWriteStream()Veetaha2020-02-112-5/+8
|
*-. Merge #3083 #3101bors[bot]2020-02-111-3/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3083: Update some crates r=matklad a=kjeremy 3101: vscode: filter out arm linux from using prebuilt binaries r=matklad a=Veetaha Closes #3076 Co-authored-by: kjeremy <[email protected]> Co-authored-by: Veetaha <[email protected]>
| | * vscode: filter out arm linux from using prebuilt binariesVeetaha2020-02-111-3/+20
| |/
* | Merge #3100bors[bot]2020-02-111-3/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 3100: vscode: add error handling to downloadFile() r=matklad a=Veetaha Inspired by #3094. Co-authored-by: Veetaha <[email protected]>
| * | vscode: add error handling to downloadFile()Veetaha2020-02-111-3/+10
| |/
* / vscode: fix ebusy error on windowsVeetaha2020-02-101-2/+1
|/
* vscode: changed dns sanity-check url from google.com to example.comVeetaha2020-02-091-3/+6
|
* vscode: add on-success logic to dns resolution sanity checkVeetaha2020-02-091-4/+7
|
* vscode: removed unnecessary awaitsVeetaha2020-02-091-2/+2
|
* Merge #3053bors[bot]2020-02-0910-29/+396
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3053: Feature: downloading lsp server from GitHub r=matklad a=Veetaha This is currently very WIP, I may need to change this and that, add "download language server command", logging stuff (for future bug reports), etc., but it already works. Also didn't test this on windows yet and mac (don't have the latter) The quirks: * Downloaded binary doesn't have executable permissions by default, that's why we ~~`chmod 111`~~ (**[UPD]** `chmod 755` as per @lnicola [suggestion](https://github.com/rust-analyzer/rust-analyzer/pull/3053#discussion_r376694456)) for it. * To remove installed binary run `rm /${HOME}/.config/Code/User/globalStorage/matklad.rust-analyzer/ra_lsp_server-linux`, ~~note that `-f` flag is necessary, because of `111` permissions (I think this should be changed)~~ (**[UPD]** --force is no longer needed due to 755 permissions). I also tried to keep things simple and not to use too many dependencies, all the ones added have 0 dependencies, (`ts-not-nil` is my personal npm package, that imitates `unwrap()` in TypeScript) **[UPD]** I reduced throttle latency of progress indicator to 200ms for smoother UX // TODO: - [x] ~~Add `Rust Analyzer: Download latest language server` vscode command.~~ **[UPD]**: having reviewed the code and estimated available options I concluded that this feature requires too many code changes, I'd like to extract this into a separate PR after we merge this one. - [x] Add some logging for future debugging - [x] ~~Gracefully handle the case when language server is not available (e.g. no internet connection, user explicitly rejected the download, etc.)~~ **[UPD]** Decided to postpone better implementation of graceful degradation logic as per [conversation](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Deployment.20and.20installation/near/187758550). Demo (**[UPD]** this is a bit outdated, but still mainly reflects the feature): ![ra-github-release-download-mvp](https://user-images.githubusercontent.com/36276403/74077961-4f248a80-4a2d-11ea-962f-27c650fd6c4c.gif) Related issue: #2988 #3007 Co-authored-by: Veetaha <[email protected]> Co-authored-by: Veetaha <[email protected]>
| * vscode: added logging when donloading binariesVeetaha2020-02-093-5/+26
| |
| * vscode: move throtting of download progress to call siteVeetaha2020-02-092-16/+19
| |
| * vscode: replaced unwrapNotNil() with ! as per @matkladVeetaha2020-02-093-21/+3
| |
| * vscode: refactor inverted ternaries to if statements as per @matkladVeetaha2020-02-092-2/+6
| |
| * vscode: remove noise data fields declarations as per @matkladVeetaha2020-02-091-6/+1
| |
| * vscode: refactor levels of code nesting and string literals quotesVeetaha2020-02-091-26/+30
| |
| * vscode: fix chmod to octal literalVeetaha2020-02-091-1/+1
| | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
| * vscode: minor names and message contents changesVeetaha2020-02-082-9/+12
| |
| * vscode: rename raLspServer variable to langServerVeetaha2020-02-081-3/+3
| |
| * vscode: refactor commentVeetaha2020-02-081-1/+1
| |
| * vscode: refactor platform artifact name query to switch statement, move ↵Veetaha2020-02-084-70/+89
| | | | | | | | BinarySource union variants into a namespace
| * vscode: reduce throttle latency of downloadFile() progress callback for ↵Veetaha2020-02-081-1/+1
| | | | | | | | smoother UX
| * vscode: add name to the second unused argument of withProgress() callbackVeetaha2020-02-081-1/+1
| |
| * vscode: add docs to installation module interfaces and sanity check to ↵Veetaha2020-02-082-4/+39
| | | | | | | | donloadFile()
| * vscode: converted fetchLatestArtifactMetadata params to positional, added docsVeetaha2020-02-081-10/+10
| |
| * vscode: changed chmod value to 755 as per @lnicolaVeetaha2020-02-081-3/+3
| |
| * vscode: amended config to use binary from globalStoragePath, added ui for ↵Veetaha2020-02-0810-41/+229
| | | | | | | | downloading