Emil Lauridsen
0cdbd08149
Keep VSCode config mostly backwards compatible
2019-12-25 20:26:06 +01:00
Emil Lauridsen
b9c10ed97f
Re-format VSCode extension changes
2019-12-25 19:10:30 +01:00
Emil Lauridsen
178c23f505
Re-implement status display using LSP 3.15 progress event
2019-12-25 19:08:44 +01:00
Emil Lauridsen
500fe46e6c
Remove cargo watch supporting code and tests from vscode extension
2019-12-25 17:37:40 +01:00
Emil Lauridsen
6af4bf7a8d
Configuration plumbing for cargo watcher
2019-12-25 17:37:40 +01:00
Emil Lauridsen
41a1ec723c
Remove cargo-watch from vscode extension.
...
Still keeps tests around for reference when porting them to rust
2019-12-25 17:37:40 +01:00
Seivan Heidari
25537d294c
Fix https://github.com/rust-analyzer/rust-analyzer/pull/2061#discussion_r348716036
...
Fix 68a5ff050f (r361019340)
2019-12-24 00:04:36 +01:00
Seivan Heidari
b21d9337d9
Merge branch 'master' into feature/themes
2019-12-23 15:35:31 +01:00
kjeremy
6049f60a05
Protect against null as revealed by npm test
2019-12-20 13:52:34 -05:00
kjeremy
be78e3c224
Update to latest packages
2019-12-20 13:52:11 -05:00
Edwin Cheng
bb9c60d908
Use substr instead of endswith
2019-12-18 10:50:54 +08:00
Edwin Cheng
63c59308e6
Add tests
2019-12-18 10:47:45 +08:00
Edwin Cheng
d2c1f8ee26
Add macro span handling
2019-12-18 10:47:45 +08:00
bors[bot]
ee93fac776
Merge #2583
...
2583: Use prettier settings in ts-lint r=matklad a=edwin0cheng
This PR add `tslint-plugin-prettier` extension in ts-lint, which "runs prettier rules as tslint rules." and remove `quotemark` from ts-lint and let prettier to handle it.
And also fix #2515
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-17 21:12:18 +00:00
Edwin Cheng
da29b7fb14
use pretter settings in ts-lint
2019-12-17 23:50:18 +08:00
bors[bot]
f51a3fed9f
Merge #2580
...
2580: Fix highlighting token names r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-12-17 13:46:12 +00:00
Aleksey Kladov
1c8467e20a
Fix highlighting token names
2019-12-17 14:45:46 +01:00
bors[bot]
a26840d603
Merge #2568
...
2568: Add option to disable all-targets. r=matklad a=pftbest
Can be useful in embedded.
Co-authored-by: Vadzim Dambrouski <vadzim.dambrouski@promwad.com>
2019-12-17 13:28:37 +00:00
bors[bot]
ba6312a2df
Merge #2571
...
2571: Fixed a typo in settings r=matklad a=omerbenamram
@lnicola found a typo in the description for one of the settings introduced in #2559 .
Co-authored-by: Omer Ben-Amram <omerbenamram@gmail.com>
2019-12-17 13:19:59 +00:00
Aleksey Kladov
2432f278cb
Default to client watching on VS Code
2019-12-17 12:41:44 +01:00
Omer Ben-Amram
624abc1db3
Fixed a typo
...
thanks @lnicola
2019-12-16 17:32:46 +02:00
Vadzim Dambrouski
22ae4cb906
Fix formatting
2019-12-16 09:01:38 +05:30
Vadzim Dambrouski
a85cd6455a
Add option to disable all-targets.
...
Can be useful in embedded.
2019-12-15 23:32:13 +05:30
bors[bot]
4e24b25c66
Merge #2565
...
2565: Fixed syntax highlighting not refreshing on windows. r=matklad a=omerbenamram
I was encoutering the same probelm described in #1690 .
It seems that events initiated by the frontend with `rust-analyzer/decorationsRequest` would go through.
So whenever a user switches tabs, highlighting will update.
However, when decorations are initiated by a notification with `rust-analyzer/publishDecorations`, it would fail on this check here 6cbd8a4a4b/editors/code/src/notifications/publish_decorations.ts (L15)
(`targetEditor` will always be `undefined`).
This is because it's trying to match the uri `rust-analyzer` sends (which uses an uppercase drive letter) to the uri provided at `editor.document.uri.toString()`, which is both escaped (uses `%3a` for `:`), and uses a lowercase letter drive.
Aparrently this was an issue for some other extensions aswell - https://github.com/Microsoft/vscode/issues/68325 .
But this is the defined behavior - c110d84460/src/vs/vscode.d.ts (L1304)
This fix is only relevant for windows.
I've opted for a server-side fix, since rust will always return uppercase letters for drives, there seems to be no other easy solution than manipulating the Url string before sending it to the frontend.
Closes #1690 .
Co-authored-by: Omer Ben-Amram <omerbenamram@gmail.com>
2019-12-15 16:35:23 +00:00
Oliver Scherer
5166f6e5f2
Properly format json
2019-12-15 17:19:41 +01:00
Oliver Scherer
eed57dcded
Add a rudimentary json regex to get at information like endLine
2019-12-15 17:12:52 +01:00
Omer Ben-Amram
75353753cd
npm run fix
2019-12-15 17:10:39 +02:00
Omer Ben-Amram
498a7912e9
fixed comment
2019-12-15 16:55:39 +02:00
Omer Ben-Amram
324cbe839f
Lowercase drive letters on windows before sending to extension.
2019-12-15 16:51:57 +02:00
Omer Ben-Amram
1d9b585c62
make drive comparison case-insensitive.
2019-12-15 15:07:33 +02:00
Omer Ben-Amram
5e4e713fc9
Merge branch 'refs/heads/master' into feature/granular-scopes
2019-12-14 17:29:30 +02:00
Omer Ben-Amram
083010f633
removed type.alias
2019-12-14 13:29:42 +02:00
Omer Ben-Amram
67641d3f5f
added decorations
2019-12-14 13:24:07 +02:00
oxalica
f56a2a0790
Enable allFeatures
by default and fix lints
2019-12-14 00:48:47 +08:00
oxalica
af4eb26645
Support setting cargo features
2019-12-13 18:16:34 +08:00
Tetsuharu OHZEKI
f0f259bda3
Enable noFallthroughCasesInSwitch option for vscode extension
2019-12-12 01:11:53 +09:00
Tetsuharu OHZEKI
0e9cabab3f
Enable noImplicitReturns option for vscode extension
2019-12-12 01:11:53 +09:00
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