aboutsummaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* Make Rust Great AgainVeetaha2020-02-161-1/+1
| | | Co-Authored-By: Laurențiu Nicola <[email protected]>
* Apply better wording as per lnicolaVeetaha2020-02-161-1/+1
| | | Co-Authored-By: Laurențiu Nicola <[email protected]>
* Add the articleVeetaha2020-02-161-1/+1
| | | Co-Authored-By: Laurențiu Nicola <[email protected]>
* docs: fix typoVeetaha2020-02-161-1/+1
|
* docs: update debugging.md with the freshest VSCode debugging informationVeetaha2020-02-161-18/+43
|
* docs: remove obsolescence notice in debugging.mdVeetaha2020-02-161-2/+0
|
* vscode: updated user docs vscode updates sectionVeetaha2020-02-161-4/+3
|
* TypoVeetaha2020-02-141-1/+1
| | | typo
* Ensure that the manual is self-improvingAleksey Kladov2020-02-141-0/+3
|
* Start manualAleksey Kladov2020-02-142-280/+152
|
* Move build prerequisites into build sectiondvermd2020-02-101-4/+4
|
* docs: quick fix inner link in docsVeetaha2020-02-091-1/+2
|
* docs: more documentation on prebuilt binaries all-editors-wiseVeetaha2020-02-091-22/+40
|
* docs: Freshen docs for prebuilt binaries and raLspServer settingVeetaha2020-02-092-5/+23
|
* Merge #3053bors[bot]2020-02-091-1/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * docs: fix spelling untill -> untilVeetaha2020-02-091-1/+1
| | | | | | Co-Authored-By: Jonas Platte <[email protected]>
| * docs: minor fixes in wordings and punctuationVeetaha2020-02-091-2/+2
| |
| * vscode: updated docs on prebuilt binariesVeetaha2020-02-091-0/+32
| |
* | Merge #3052bors[bot]2020-02-091-14/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | 3052: Rename add import assist r=matklad a=SomeoneToIgnore Based on the https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/2.20assists.20with.20the.20same.20action.20name/near/187655643 and the related discussion. Co-authored-by: Kirill Bulatov <[email protected]>
| * | Rename add import assistKirill Bulatov2020-02-071-14/+14
| |/
* / Docs cleanupsFlorian Diebold2020-02-082-18/+12
|/
* Doctest autoimportAleksey Kladov2020-02-061-1/+1
|
* Further fix `docs/user/README.md`Gian D2020-02-051-1/+1
| | | Co-Authored-By: Laurențiu Nicola <[email protected]>
* Fix unneeded `.` in `docs/user/README.md`Gian D2020-02-051-1/+1
|
* updating nvim_lsp usage for rust_analyzerJan2020-01-291-2/+1
|
* Freshen Architecture.md documentAleksey Kladov2020-01-292-38/+45
|
* Freshen dev docs a tiny bitsAleksey Kladov2020-01-292-48/+38
|
* Merge #2910bors[bot]2020-01-271-1/+1
|\ | | | | | | | | | | | | | | 2910: Use package script r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * Update docs/user/README.mdJeremy Kolb2020-01-271-1/+1
| | | | | | Co-Authored-By: Veetaha <[email protected]>
| * Use package scriptJeremy Kolb2020-01-261-1/+1
| |
* | Initial auto import action implementationKirill Bulatov2020-01-261-0/+18
|/
* Add syntax guideAleksey Kladov2020-01-221-0/+535
|
* Rename Emacs "extension"Aleksey Kladov2020-01-131-1/+1
|
* Rename VS Code extension to rust-analyzerAleksey Kladov2020-01-131-3/+3
|
* Merge pull request #2732 from detrumi/cargo-toml-not-found-message-toggleAleksey Kladov2020-01-091-0/+2
|\ | | | | Flag to hide cargo.toml not found error
| * Allow disabling Cargo.toml not found errorWilco Kusee2020-01-031-0/+2
| |
* | Update lsp-features.mdJeremy Kolb2020-01-081-2/+2
| |
* | add note in vscode instructions for vim plugin usersGus Wynn2020-01-051-0/+4
|/
* Add example of color customizationAleksey Kladov2019-12-311-10/+3
|
* Merge #2061bors[bot]2019-12-291-2/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2061: Theme loading and "editor.tokenColorCustomizations" support. r=matklad a=seivan Fixes: [Issue#1294](https://github.com/rust-analyzer/rust-analyzer/issues/1294#issuecomment-497450325) TODO: - [x] Load themes - [x] Load existing `ralsp`-prefixed overrides from `"workbench.colorCustomizations"`. - [x] Load overrides from `"editor.tokenColorCustomizations.textMateRules"`. - [x] Use RA tags to load `vscode.DecorationRenderOptions` (colors) from theme & overrides. - [x] Map RA tags to common TextMate scopes before loading colors. - [x] Add default scope mappings in extension. - [x] Cache mappings between settings updates. - [x] Add scope mapping configuration manifest in `package.json` - [x] Load configurable scope mappings from settings. - [x] Load JSON Scheme for text mate scope rules in settings. - [x] Update [Readme](https://github.com/seivan/rust-analyzer/blob/feature/themes/docs/user/README.md#settings). Borrowed the theme loading (`scopes.ts`) from `Tree Sitter` with some modifications to reading `"editor.tokenColorCustomizations"` for merging with loaded themes and had to remove the async portions to be able to load it from settings updates. ~Just a PoC and an idea I toyed around with a lot of room for improvement.~ For starters, certain keywords aren't part of the standard TextMate grammar, so it still reads colors from the `ralsp` prefixed values in `"workbench.colorCustomizations"`. But I think there's more value making the extension work with existing themes by maping some of the decoration tags to existing key or keys. <img width="453" alt="Screenshot 2019-11-09 at 17 43 18" src="https://user-images.githubusercontent.com/55424/68531968-71b4e380-0318-11ea-924e-cdbb8d5eae06.png"> <img width="780" alt="Screenshot 2019-11-09 at 17 41 45" src="https://user-images.githubusercontent.com/55424/68531950-4b8f4380-0318-11ea-8f85-24a84efaf23b.png"> <img width="468" alt="Screenshot 2019-11-09 at 17 40 29" src="https://user-images.githubusercontent.com/55424/68531952-51852480-0318-11ea-800a-6ae9215f5368.png"> These will merge with the default ones coming with the extension, so you don't have to implement all of them and works well with overrides defined in settings. ```jsonc "editor.tokenColorCustomizations": { "textMateRules": [ { "scope": "keyword", "settings": { "fontStyle": "bold", } }, ] }, ``` Edit: The idea is to work with 90% of the themes out there by working within existing scopes available that are generally styled. It's not to say I want to erase the custom Rust scopes - those should still remain and eventually worked into a custom grammar bundle for Rust specific themes that target those, I just want to make it work with generic themes offered on the market place for now. A custom grammar bundle and themes for Rust specific scopes is out of... scope for this PR. We'll make another round to tackle those issues. Current fallbacks implemented ```typescript [ 'comment', [ 'comment', 'comment.block', 'comment.line', 'comment.block.documentation' ] ], ['string', ['string']], ['keyword', ['keyword']], ['keyword.control', ['keyword.control', 'keyword', 'keyword.other']], [ 'keyword.unsafe', ['storage.modifier', 'keyword.other', 'keyword.control', 'keyword'] ], ['function', ['entity.name.function']], ['parameter', ['variable.parameter']], ['constant', ['constant', 'variable']], ['type', ['entity.name.type']], ['builtin', ['variable.language', 'support.type', 'support.type']], ['text', ['string', 'string.quoted', 'string.regexp']], ['attribute', ['keyword']], ['literal', ['string', 'string.quoted', 'string.regexp']], ['macro', ['support.other']], ['variable', ['variable']], ['variable.mut', ['variable', 'storage.modifier']], [ 'field', [ 'variable.object.property', 'meta.field.declaration', 'meta.definition.property', 'variable.other' ] ], ['module', ['entity.name.section', 'entity.other']] ``` Co-authored-by: Seivan Heidari <[email protected]>
| * Merge branch 'master' into feature/themesSeivan Heidari2019-12-233-27/+59
| |\
| * \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-283-19/+19
| |\ \ | | | | | | | | | | | | feature/themes
| * \ \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-252-0/+24
| |\ \ \ | | | | | | | | | | | | | | | feature/themes
| * \ \ \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-211-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | feature/themes
| * \ \ \ \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-201-0/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | feature/themes
| * \ \ \ \ \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-181-1/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | feature/themes
| * \ \ \ \ \ \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-151-0/+21
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | feature/themes
| * \ \ \ \ \ \ \ Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵Seivan Heidari2019-11-121-0/+2
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | feature/themes
| * | | | | | | | | Clearer docs usage under `rust-analyzer.scopeMappings`.Seivan Heidari2019-11-041-1/+1
| | | | | | | | | |
| * | | | | | | | | * Adding scope mapping configuration manifest in `package.json`Seivan Heidari2019-11-041-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Loading configurable scope mappings from settings. * Updating Readme with `rust-analyzer.scopeMappings`. `rust-analyzer.scopeMappings` -- a scheme backed JSON object to tweak Rust Analyzer scopes to TextMate scopes. ```jsonc { //Will autocomplete keys to available RA scopes. "keyword.unsafe": ["keyword", "keyword.control"], //Values are string | TextMateScope | [string | TextMateScope] "comments": "comment.block" } ```