Tetsuharu OHZEKI
b21bb44c8d
Enable noUnusedParameters option for vscode extension
2019-12-12 00:56:29 +09:00
Tetsuharu OHZEKI
b186c612c4
Use ES2018 for vscode extension
...
Today's latest vscode v1.40 (Node.jsv12.4/V8 v7.6) supports ES2018
features natively.
We don't have to transform codes to ES6.
2019-12-11 22:40:26 +09:00
Laurențiu Nicola
273299693b
Code: enable prettier trailing commas
2019-12-09 21:07:19 +02:00
Aleksey Kladov
7ac4ea7fec
Allow disabling sysroot
...
Might be helpful for debugging
2019-12-09 19:46:35 +01:00
Edwin Cheng
81ce9833a5
Add rollup sourcemap and fix launch.json
2019-12-09 03:58:43 +08:00
bors[bot]
e3a9e806ba
Merge #2508
...
2508: Code: don't check for ra_lsp_server on Windows r=matklad a=lnicola
Workaround for https://github.com/rust-analyzer/rust-analyzer/pull/2503#issuecomment-562980020 .
~~(not yet tested on Windows)~~
We can't run `ra_lsp_server --version` right now because the server doesn't seem to handle arguments (so it hangs).
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-12-08 19:32:24 +00:00
Laurențiu Nicola
ee2bc73d2a
Code: don't check for ra_lsp_server on Windows
2019-12-08 21:14:18 +02:00
Laurențiu Nicola
c7dc067104
Code: bump deps
2019-12-08 20:39:22 +02:00
Laurențiu Nicola
78e8934976
Code: check whether the LSP binary is in PATH
2019-12-08 15:04:37 +02:00
Edwin Cheng
ab7469240c
Fix npm vulnerability warning
2019-12-06 11:41:51 +08:00
Seivan Heidari
18a0937585
Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into feature/themes
2019-11-28 08:19:14 +01:00
Aleksey Kladov
757e593b25
rename ra_ide_api -> ra_ide
2019-11-27 21:35:06 +03:00
Seivan Heidari
358a1bcd70
Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into feature/themes
2019-11-21 01:11:41 +01:00
Florian Diebold
c079d9b63b
Add rust-analyzer-expand-macro function for Emacs
2019-11-20 20:45:25 +01:00
Aleksey Kladov
eec68e6f45
Merge pull request #2297 from kiljacken/master
...
Add fancy truncation of type hints.
2019-11-20 08:38:25 +03:00
Seivan Heidari
1e2d090ab8
Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into feature/themes
2019-11-20 03:56:43 +01:00
Edwin Cheng
1d56b80250
Minor fix for outpu text formating
2019-11-20 01:22:28 +08:00
Edwin Cheng
d16cc223e1
Use DocumentProvider instead of Hover
2019-11-20 01:06:10 +08:00
Emil Lauridsen
dadad36bb9
Move type inlay hint truncation to language server
...
This commit implements a general truncation framework for HirFormatter
that keeps track of how much has been output so far. This information
can then be used to perform truncation inside the language server,
instead of relying on the client.
Initial support is implemented for truncating types hints using the
maxInlayHintLength server config option. The existing solution in the
VSCode extension has been removed in favor of letting the server
truncate type hints.
2019-11-19 17:23:50 +01:00
Edwin Cheng
4012da07fd
Change return type of expand_macro
2019-11-19 22:56:48 +08:00
Edwin Cheng
8010b42b21
Fix npm formatting
2019-11-19 21:49:06 +08:00
Edwin Cheng
3ccd05fedc
Add recursive expand in vscode
2019-11-19 21:49:06 +08:00
Seivan Heidari
e5bbb47680
Readding jsonc parser because of https://github.com/rust-analyzer/rust-analyzer/pull/2061\#discussion_r344783715
2019-11-18 02:37:18 +01:00
Seivan Heidari
166636ba77
Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into feature/themes
2019-11-18 02:27:53 +01:00
oxalica
b4fae56a25
Fix format
2019-11-16 18:52:47 +08:00
oxalica
4c175fbe8a
Check exit code of cargo watch
2019-11-16 03:44:38 +08:00
oxalica
503920532d
Handle errors when cargo watch
fails
2019-11-16 02:49:44 +08:00
Seivan Heidari
3886164bcc
Probably a better approach to check for values before assigning lest we replace something.
2019-11-10 22:30:53 +01:00
Seivan Heidari
83a33fbbea
Vscode wasn't running the linter automatically so ran npm run fix
- wonder if it's related to tslint
being deprecated.
2019-11-09 17:23:30 +01:00
Seivan Heidari
45533112c8
See if this satisfies the CI.
2019-11-05 14:22:09 +01:00
Seivan Heidari
6012bbfc51
Fix typo.
2019-11-05 00:26:49 +01:00
Seivan Heidari
2f1b363b39
Remove new line.
2019-11-05 00:16:31 +01:00
Seivan Heidari
f49781c32d
Logging fallback tag in case scopes are missing.
2019-11-05 00:11:43 +01:00
Seivan Heidari
c60f9bf4c6
* Adding scope mapping configuration manifest in package.json
...
* 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"
}
```
2019-11-04 23:59:11 +01:00
Seivan Heidari
a437f0e584
Making loadColors more readable by monading all the things.
2019-10-31 11:26:39 +01:00
Seivan Heidari
1f822c8e51
Adding better debugging for testing themes missing tags and which scopes didn't map.
...
Since this file is no longer being pushed upstream, double down on monads.
2019-10-31 10:36:54 +01:00
Seivan Heidari
8edda0e7b1
Merge branch 'master' into feature/themes
2019-10-31 09:43:20 +01:00
krk
9bbb27604d
Add link to the vscode VIM extension compatibility warning.
2019-10-30 21:44:27 +01:00
Seivan Heidari
49562d36b9
Remove jsonc-parser
since vscode can load the package. Might need it later for loading certain themes, but seems to work without for now.
2019-10-27 23:58:14 +01:00
Seivan Heidari
8c2cd28c48
Adding debugging to figure out missing scopes from theme.
2019-10-27 23:49:41 +01:00
Seivan Heidari
89993517e9
Adding all the decorators from RA to map.
...
Useful for more granular control.
2019-10-27 23:11:22 +01:00
Seivan Heidari
0ddf47a7ab
Introducing a Scopes Mapper to map from RA scopes to TextMate scopes with fallbacks.
...
Current scopes defined:
```
['keyword.unsafe', ['storage.modifier', 'keyword.other', 'keyword.control']],
['function', ['entity.name.function']],
['parameter', ['variable.parameter']],
['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.mut', ['variable']],
['field', ['variable.object.property']],
['module', ['entity.name.section']]
```
Need to complement with further fallbacks as some themes fail.
2019-10-27 17:57:11 +01:00
Seivan Heidari
5957b851e4
Refactor how themes are found in packages without relying on parsing JSONC.
...
However, there is still an issue where themes could have been defined in JSONC - but so far with testing very few of them actually do. The issue was in loading packages and now we're letting VSCode tackle that.
Fix: https://github.com/rust-analyzer/rust-analyzer/pull/2061#discussion_r339015610
2019-10-26 16:29:49 +02:00
Aleksey Kladov
dc65219ae1
document feature flags
2019-10-25 09:00:30 +03:00
Seivan Heidari
b59ffb7d41
Making it clear we're using default settings.
2019-10-24 18:33:36 +02:00
Seivan Heidari
e6df4c424a
Fixing linting issues, but also hides failures. Has to be a better approach to error handling.
2019-10-24 17:59:55 +02:00
Seivan Heidari
8e63644d66
Only loading tokenColorCustomizations
once.
2019-10-24 17:56:59 +02:00
Seivan Heidari
3e8616cf6d
Proof of concept theming and 'tokenColorCustomizations' support.
2019-10-24 17:25:23 +02:00
bors[bot]
d2e1f9f6da
Merge #1980
...
1980: Shorten inline type hints r=matklad a=detrumi
Implements #1946
Co-authored-by: Wilco Kusee <wilcokusee@gmail.com>
2019-10-23 11:13:04 +00:00
Wilco Kusee
770bb8dc9b
Do not truncate the range
2019-10-23 13:11:40 +02:00
Wilco Kusee
3b61acb4ae
Make inlay hint length configurable
2019-10-18 13:45:04 +02:00
Roberto Vidal
f4d50de275
Adds config option for cargo-watch --ignore
flag
2019-10-17 20:21:07 +02:00
Laurențiu Nicola
3a86a6dfb5
Add rust-analyzer.showWorkspaceLoadedNotification to package.json
2019-10-17 17:27:59 +03:00
bors[bot]
62acb9f233
Merge #1984
...
1984: Bump rollup and vsce r=matklad a=kjeremy
I got sick of the vsce warning on install and noticed that rollup was also out of date.
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-10-10 14:23:21 +00:00
kjeremy
de32ae75f8
Bump rollup and vsce
2019-10-10 10:19:05 -04:00
kjeremy
86939ce0e3
engine.vscode and @types/vscode should match
2019-10-10 10:10:50 -04:00
Wilco Kusee
ce4fb06dec
Truncate hints longer than 20 characters
2019-10-10 14:52:05 +02:00
arsdragonfly
17d1405a8b
Fix
2019-09-27 20:02:51 -04:00
arsdragonfly
945679e42f
Fix tests
2019-09-27 17:33:14 -04:00
arsdragonfly
d1988a17f4
Support the new deprecated tag
2019-09-27 16:17:02 -04:00
JasperDeSutter
2151d4da6a
add rollup bundler for vscode extension
2019-09-23 23:25:16 +02:00
Lucas Spits
934d7990fd
Update minimal required vscode version to 1.37
2019-09-10 08:49:23 +02:00
Lucas Spits
80b45d5928
Replace watcher file existence check with vscode.fs version
2019-09-09 20:24:31 +02:00
Aleksey Kladov
28df377759
add option to disable notify
2019-09-06 17:21:29 +03:00
Bastian Köcher
b58f84626f
Switch to @types/vscode
and vscode-test
...
The old `vscode` package is outdated and it is recommened to switch to
these two new packages. This also solves a problem of a missing `.d.ts`
for `vscode` in Nixos.
2019-08-26 08:22:48 +02:00
Aleksey Kladov
69bbe79c50
implement feature flags
2019-08-22 15:07:31 +03:00
Aleksey Kladov
6ab85cc192
fix default for the exlude key
2019-08-21 17:30:58 +03:00
xfoxfu
d07a85ed7e
fix #1424
...
resolve "~" in raLspServerPath
2019-08-19 10:48:39 +08:00
Aleksey Kladov
13eddd7c49
Drop support for old extendSelection API
...
Emacs now handles this via native LSP request
dc86bbb227
2019-08-12 13:49:28 +03:00
Florian Diebold
e51c1d6bff
Improvements to emacs inlay hints
...
- only send request if workspace is initialized (emacs-lsp doesn't seem to
prevent sending requests before the initialized notification is sent)
- check whether we're still in the correct buffer before sending request
2019-08-10 20:35:10 +02:00
bors[bot]
7e12422fa2
Merge #1652
...
1652: Improve type hints behavior r=matklad a=SomeoneToIgnore
This PR fixed the following type hints issues:
* Restructures the `InlayKind` enum contents based on the discussion here: https://github.com/rust-analyzer/rust-analyzer/pull/1606#issuecomment-515968055
* Races described in #1639
* Caches the latest decorations received for each file to show them the next time the file is opened (instead of a new server request)
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2019-08-06 16:50:49 +00:00
Aleksey Kladov
deea8f52d9
allow to exclude certain files and directories
2019-08-06 14:28:31 +02:00
Kirill Bulatov
c5598d9ade
Avoid shared mutable state
2019-08-05 23:11:16 +03:00
Kirill Bulatov
777552b6a8
Cache decorations before the first change only
2019-08-05 13:41:02 +03:00
Kirill Bulatov
f358b4c0c0
Use WeakMap to avoid memory leaks
2019-08-05 11:14:18 +03:00
Kirill Bulatov
3fb6462d54
Style and test fixes
2019-08-05 01:02:36 +03:00
Kirill Bulatov
2c02aebeb5
Query less hints on file open
2019-08-05 00:23:58 +03:00
bors[bot]
78317383c9
Merge #1614
...
1614: show prettier diff on CI r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-07-29 08:55:09 +00:00
Aleksey Kladov
605b2983ef
show prettier diff on CI
2019-07-29 11:54:37 +03:00
bors[bot]
e2f65f61af
Merge #1610
...
1610: Ignore cancelled inlay hints responses r=matklad a=SomeoneToIgnore
Fixes #1607
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2019-07-29 08:40:17 +00:00
Aleksey Kladov
c1dcdd4735
⬆️ npm
2019-07-29 11:22:56 +03:00
Kirill Bulatov
4924867b3b
Style fixes
2019-07-29 11:19:13 +03:00
Kirill Bulatov
b133a3b55c
Ignore cancelled inlay hints responses
2019-07-29 10:19:35 +03:00
Florian Diebold
00c74b5d18
Implement inlay hints for emacs
2019-07-27 11:02:34 +02:00
Kirill Bulatov
f1ba963a30
npm run fix
2019-07-25 16:20:02 +03:00
Kirill Bulatov
02f18abc55
Code review fixes
2019-07-25 15:43:35 +03:00
Kirill Bulatov
bd904247ba
Remove unnecessary hacks
2019-07-25 15:17:28 +03:00
Kirill Bulatov
583f5c9612
Fix linter issues
2019-07-25 15:17:28 +03:00
Kirill Bulatov
f7b8ae1ee7
Simplify the hints display
2019-07-25 15:17:28 +03:00
Kirill Bulatov
169e69d217
Show type decorators
2019-07-25 15:17:28 +03:00
Aleksey Kladov
51568c1467
try to show exact prettier problem
2019-07-25 13:05:34 +03:00
Aleksey Kladov
38f3b47a00
⬆️ npm deps
2019-07-25 12:17:27 +03:00
Aleksey Kladov
d690249bc8
Remove obsolete keybinding
2019-07-21 19:08:05 +03:00
Aleksey Kladov
e418889996
underline mutable bindings
2019-07-19 15:07:18 +03:00
Ekaterina Babshukova
4abe03879b
highlight mutable variables differently
2019-07-18 18:52:50 +03:00
dependabot[bot]
83ab841bfa
Bump lodash from 4.17.11 to 4.17.14 in /editors/code
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.11 to 4.17.14.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14 )
Signed-off-by: dependabot[bot] <support@github.com>
2019-07-11 23:44:16 +00:00
kjeremy
45d6f47c28
Update vsce to latest
2019-07-03 09:55:48 -04:00
bors[bot]
bb70d18a0a
Merge #1458
...
1458: Run VS Code tests on CI r=matklad a=etaoins
This is actually much faster than I expected; it takes about 13 seconds to download VS Code and run the unit tests. This means the VS Code tests are still significantly faster than the Rust ones.
If this ends up being unreliable we can always remove it later or move it to a separate optional job.
We also need to ignore the `.vscode-test` directory when running `prettier` or it will get upset about some temporary JSON files VS Code creates.
cc @killercup
Co-authored-by: Ryan Cumming <etaoins@gmail.com>
2019-06-30 10:17:29 +00:00
bors[bot]
fb2534f300
Merge #1459
...
1459: Include primary span label in VS Code diagnostics r=matklad a=etaoins
In most cases the primary label span repeats information found elsewhere in the diagnostic. For example, with E0061:
```json
{
"message": "this function takes 2 parameters but 3 parameters were supplied",
"spans": [{"label": "expected 2 parameters"}]
}
```
However, with some mismatched type errors (E0308) the expected type only appears in the primary span's label, e.g.:
```json
{
"message": "mismatched types",
"spans": [{"label": "expected usize, found u32"}]
}
```
I initially added the primary span label to the message unconditionally. However, for most error types the child diagnostics repeat the primary span label with more detail. `rustc` also renders the duplicate text but because the span label and child diagnostics appear in visually distinct places it's not as confusing.
This takes a heuristic approach where it will only add the primary span label if there are no child message lines. For most error types the child messages repeat the primary span label with more detail.
Co-authored-by: Ryan Cumming <etaoins@gmail.com>
2019-06-30 09:54:47 +00:00
Ryan Cumming
067ca38ecb
Consider unreachable code to be unnecessary in VSC
...
This adds `unreachable_code` to the list of diagnostic codes we map to
`Unnecessary` in Visual Studio Code. This is consistent with what the
TypeScript language server does.
2019-06-30 12:13:56 +10:00