Commit graph

1872 commits

Author SHA1 Message Date
Elias Holzmann
e8372e0484 vscode: Support opening local documentation if available
Displaying local instead of web docs can have many benefits:
- the web version may have different features enabled than locally selected
- the standard library may be a different version than is available online
- the user may not be online and therefore cannot access the web documentation
- the documentation may not be available online at all, for example because it
  is for a new feature in a library the user is currently developing

If the documentation is not available locally, the extension still falls back to
the web version.
2023-10-09 20:11:53 +02:00
Victor Song
a39d2076db Addressed PR style comments 2023-10-09 02:15:05 -05:00
Victor Song
ef0b3bbef1 Clarify documentation on new parameter 2023-10-09 02:15:05 -05:00
Victor Song
aeef7b644b Add config option to use rust-analyzer specific target dir
Adds a Rust Analyzer configuration option to set a custom
target directory for builds. This is a workaround for Rust Analyzer
blocking debug builds while running `cargo check`. This change
should close #6007
2023-10-09 02:15:05 -05:00
Elias Holzmann
3dfc1bfc67 Use vscode.env.openExternal instead of the vscode.open command for docs
According to the VS Code documentation, the vscode.open command opens the URL
_in the editor_ (https://code.visualstudio.com/api/references/commands).
However, in reality, it seems to do so only for file:// URLs, falling back to
other applications for other URL schemes (at least for HTTP/HTTPS).

Until now, the URL to the documentation was always HTTP based, so using the
vscode.open command was perfectly fine. However, displaying local documentation
will be supported from now on (see next commit). Local documentation is not
HTTP-based, but instead addressed via a file:// URL. The file URL would
therefore be opened in VS Code instead of in the browser — this is definitely
not what the user wants.

Therefore, the vscode.env.openExternal function is used instead, this function
never opens the URL in VS Code.
2023-10-08 04:56:48 +02:00
bors
54866a0df7 Auto merge of #15668 - connorskees:feat/close-backtick, r=Veykril
feat: add backtick to surrounding and auto-closing pairs

Makes backticks always complete as a pair and also surround the current selection, similar to double quotes. This is useful primarily in the context of markdown doc comments, but is applied globally for simplicity.

Closes https://github.com/rust-lang/rust-analyzer/issues/11381
2023-10-05 22:08:15 +00:00
bors
b57658d9a9 Auto merge of #15707 - dfireBird:default-statusbar-action-config, r=lnicola
Add configuration for the default action of the status bar click action in VSCode

Fixes #15441

Please suggest any changes if necessary.
2023-10-04 17:31:44 +00:00
dfireBird
ab091b73d0
Add config for the default click action of extension status bar 2023-10-04 21:07:50 +05:30
Martin Nordholts
dd8ea977b7 vscode: Fix line and col regexp for problem matcher
When building the Rust compiler with `./x check` from within VS Code,
the current `rustc` problem matcher thinks that the output from that
command that looks like this:

    Build completed successfully in 0:00:26

is about a problem in a file named `0` on line 00, col 26. This wouldn't
be so bad if it wasn't for that VS Code tends to get stuck on this
problem because of problems with opening the file '0'.

The rust compiler will never output problems with a line or a column
that starts with 0, so change the regexp to require lines and cols to
begin with [1-9] to fix this problem.
2023-09-29 17:46:58 +02:00
Alex Veber
5b04a7d338
Update editors/code/package.json
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2023-09-27 18:33:22 +03:00
Alex Veber
6c907e1e20
Improve useRustcErrorCode description 2023-09-27 02:19:50 +03:00
Connor Skees
6ca48d98c4 feat: add backtick to surrounding and auto-closing pairs 2023-09-26 06:36:37 +00:00
bors
e5e937ae5e Auto merge of #15582 - vxpm:master, r=HKalbasi
add option to show full function signatures in completion docs

implements #15538

with `"rust-analyzer.completion.fullFunctionSignatures.enable": false`:
![image](https://github.com/rust-lang/rust-analyzer/assets/59714841/ff739ad1-9975-461f-a62d-22c7823e7b71)

with `"rust-analyzer.completion.fullFunctionSignatures.enable": true`:
![image](https://github.com/rust-lang/rust-analyzer/assets/59714841/9bc98300-cef6-44ef-a353-dcf35cd36fce)
2023-09-24 07:38:38 +00:00
bors
2b580a1f3c Auto merge of #15492 - RalfJung:invocation, r=Veykril
extend check.overrideCommand and buildScripts.overrideCommand docs

Extend check.overrideCommand and buildScripts.overrideCommand docs regarding invocation strategy and location.

However something still seems a bit odd -- the docs for `invocationStrategy`/`invocationLocation` talk about "workspaces", but the setting that controls which workspaces are considered is called `linkedProjects`. Is a project the same as a workspace here or is there some subtle difference?
2023-09-22 16:09:01 +00:00
Lukas Wirth
ba7f2bfb85 Update config docs 2023-09-22 17:46:17 +02:00
vxpm
6b487ed4be fix & run tests 2023-09-08 22:03:42 -03:00
David Barsky
6260c635ee fmt 2023-09-05 15:45:52 -04:00
David Barsky
68781aeab0 fix some more lints 2023-09-05 12:38:33 -04:00
David Barsky
1ee7f54fa6 fix lints 2023-09-05 12:38:33 -04:00
David Barsky
b1b044f2d5 code: yeet rust-analyzer.discoverProjectCommand 2023-09-05 12:38:33 -04:00
Ralf Jung
887cc48ba8 fix help text for rust-analyzer.check.invocation{Strategy,Location} 2023-08-21 09:54:24 +02:00
bors
d548146c30 Auto merge of #15420 - Wilfred:discover_command_max_buffer, r=Veykril
Increase the buffer size for discover project command

The default value for maxBuffer is 1 MiB[1]. If the discover project command returns stdout or stderr that is greater than 1 MiB, the extension would error with "RangeError: stderr maxBuffer length exceeded".

Set the default value for maxBuffer to 10 MiB for project discovery.

[1] https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback
2023-08-15 12:13:12 +00:00
Lukas Wirth
e76d20e072 Add status bar button to toggle check on save state 2023-08-15 11:39:53 +02:00
Lukas Wirth
33f9250d21 Pass server extraEnv to isValidExecutable 2023-08-12 07:10:20 +02:00
Wilfred Hughes
0ef541e535 Increase the buffer size for discover project command
The default value for maxBuffer is 1 MiB[1]. If the discover project
command returns stdout or stderr that is greater than 1 MiB, the
extension would error with "RangeError: stderr maxBuffer length
exceeded".

Set the default value for maxBuffer to 10 MiB for project discovery.

[1] https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback
2023-08-10 12:28:50 -07:00
bors
e13fac379e Auto merge of #15262 - adamse:master, r=HKalbasi
add check.ignore to list cargo check diagnostics to ignore (dead_code, unused_imports, ...)

fixes #14798
2023-08-08 18:49:45 +00:00
Adam Sandberg Ericsson
9cb1f45e6f add check.ignore to list cargo check diagnostics to ignore (dead_code, unused_imports, ...)
fixes #14798
2023-08-08 14:28:35 +02:00
bors
eed86c0d98 Auto merge of #15392 - Wilfred:stopped_color, r=lnicola
Use the warning color when rust-analyzer is stopped

If the rust-analyzer server isn't running, we can't do much. Treat this state as a warning color, so it's more obvious.
2023-08-05 12:20:39 +00:00
Wilfred Hughes
253d68459d Use the warning color when rust-analyzer is stopped
If the rust-analyzer server isn't running, we can't do much. Treat
this state as a warning color, so it's more obvious.
2023-08-04 11:07:22 -07:00
Wilfred Hughes
1e76b11a20 Set the default status bar action to openLogs
Previously, clicking 'rust-analyzer' would stop the server
entirely. This was easy to do accidentally, and then the user has to
wait for the server to start up again.
2023-08-04 11:03:41 -07:00
Lukas Wirth
bd6ec06237 Write proc-macro server spawn errors to the status text 2023-07-30 14:38:25 +02:00
bors
bc1b0bfa7f Auto merge of #15308 - vsrs:runnable_env_per_platform, r=HKalbasi
Runnable env per platform

This PR adds an option to specify runnables `env` per platform (win32, linux, etc.):
```
{
    "rust-analyzer.runnables.extraEnv": [
            {
                "platform": "win32",
                "env": {
                    "SCITER_BIN_FOLDER": "C:\\Projects\\3rd\\sciter-js-sdk\\bin\\windows\\x64",
                }
            },
            {
                "platform":["linux","darwin"],
                "env": {
                    "SCITER_BIN_FOLDER": "/home/vit/Projects/sciter/sciter-js-sdk/bin/linux/x64",
                }
            }
        ]
}
```
2023-07-28 07:03:09 +00:00
David Barsky
ba722165a0 vscode: change minimum VS Code version to 1.75 from 1.78 2023-07-24 11:24:24 -04:00
bors
99718d0c8b Auto merge of #15303 - oxalica:fix/byte-escape-highlight, r=lowr
Fix highlighting of byte escape sequences

Currently non-UTF8 escape sequences in byte strings and any escape sequences in byte literals are ignored.
2023-07-22 20:25:40 +00:00
bors
c99bb3c782 Auto merge of #15281 - tetsuharuohzeki:split-ci-steps, r=lnicola
editor/code: Break down CI steps to know what is failing easily

This do the thing I mentioned in https://github.com/rust-lang/rust-analyzer/pull/15265#issuecomment-1634424385

This aims to improve CI status check more readable.

I tried to use [`jobs.<job_id>.if`](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idif) to make the configuration
more shortly once.

But it could not fire the `end-success` or `end-failure` status if some jobs in the workflow were skipped. This causes an integration problem with bors.

By their reasons, this patch still uses `jobs.<job_id>.steps[*].if`.

---

To do this change, we reorganize npm-script.

| previous           | after                                  |
|--------------------|----------------------------------------|
| `npm run lint`     | `npm run lint && npm run format:check` |
| `npm run fix`      | `npm run lint:fix && npm run format`   |

The previous `npm run fix` sometimes does not complete fix automatically because ESLint's autofix doees not follow prettier's formatting. So we need to run `npm run lint:fix && npm run format` by this order.
2023-07-22 16:53:21 +00:00
Tetsuharu Ohzeki
5cca093fa8 editor/code: Break down CI steps to know what is failing easily
To do this change, we reorganize npm-script.

| previous           | after                                  |
|--------------------|----------------------------------------|
| `npm run lint`     | `npm run lint && npm run format:check` |
| `npm run fix`      | `npm run lint:fix && npm run format`   |

The previous `npm run fix` sometimes does not complete fix automatically
because ESLint's autofix doees not follow prettier's formatting.
So we need to run `npm run lint:fix && npm run format` by this order.
2023-07-23 01:51:57 +09:00
igorskyflyer
5d67cbea43 Use notification command links for debugger installation 2023-07-20 15:41:08 +02:00
oxalica
1f35e4d3f1
Introduce invalidEscapeSequence semantic token type 2023-07-19 15:12:53 +08:00
vsrs
08b3b2a56d Fix lint 2023-07-18 18:06:20 +07:00
vsrs
3468b093bd Platform specific runnables env 2023-07-18 17:51:57 +07:00
Tetsuharu Ohzeki
085b755123 editor/code: Update esbuild
https://github.com/evanw/esbuild/blob/main/CHANGELOG.md
2023-07-13 22:46:15 +09:00
Tetsuharu Ohzeki
d534180b30 editor/code: Update ESLint
https://eslint.org/blog/category/release-notes/
2023-07-13 22:45:11 +09:00
Tetsuharu Ohzeki
837ded9c9a editor/code: Update ovsx
https://github.com/eclipse/openvsx/blob/master/cli/CHANGELOG.md
2023-07-13 22:45:10 +09:00
Tetsuharu Ohzeki
f7823f3106 editor/code: Re-apply code format 2023-07-13 22:44:29 +09:00
Tetsuharu Ohzeki
9d06aa55b4 editor/code: Update prettier to v3
https://prettier.io/blog/2023/07/05/3.0.0.html
2023-07-13 22:44:29 +09:00
Tetsuharu Ohzeki
eed1888b81 editor/code: Update typescript-eslint to v6
https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/
2023-07-13 22:44:29 +09:00
Tetsuharu Ohzeki
143646d17e editor/code: Update typescript 2023-07-13 22:44:29 +09:00
dependabot[bot]
f0e2ad5a95
Bump semver from 5.7.1 to 5.7.2 in /editors/code
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-11 22:02:42 +00:00
bors
75ac37f317 Auto merge of #15259 - tetsuharuohzeki:sort-the-style-to-import, r=Veykril
editor/code: Sort the style to import types

This pull requests enables new lint rule to sorts the style to import types/symbols.

## see details of enabled rules
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-imports.md
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-import-type-side-effects.md
2023-07-11 12:01:57 +00:00
Tetsuharu Ohzeki
445b4fc27f editor/code: Sort the style to import types
see:
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-imports.md
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-import-type-side-effects.md
2023-07-11 06:12:00 +09:00
Tetsuharu Ohzeki
e54f6636b6 editor/code: Add FIXME comments for TS' --exactOptionalPropertyTypes option 2023-07-10 23:39:08 +09:00
Tetsuharu Ohzeki
444bc5b3ba editor/code: Enable TypeScript's --useUnknownInCatchVariables option
see: https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables
2023-07-10 23:13:36 +09:00
Tetsuharu Ohzeki
a66b7e3eba editor/code: Remove unused sendRequestWithRetry 2023-07-10 23:13:36 +09:00
Tetsuharu Ohzeki
fd31006646 editor/code: Assert types in catch in sendRequestWithRetry() properly 2023-07-10 23:13:36 +09:00
Adenine
1dd54eb44a change viewMemoryLayoutParams to be textPositionParams 2023-07-08 12:25:54 -04:00
Adenine
4d5c66986e cleanup + docs + tests 2023-07-07 23:12:09 -04:00
Adenine
c43cfefdd8 fix typescript return path warning 2023-07-07 23:09:41 -04:00
Adenine
de5e3cf745 fix incorrect committed rust and run prettier 2023-07-07 23:09:41 -04:00
Adenine
cfa15d49aa implement first pass of memory layout viewer 2023-07-07 23:09:41 -04:00
bors
09f666b51b Auto merge of #15227 - DropDemBits:indent-on-blank-line, r=lnicola
fix: Indent after pressing enter on a blank line

Regressed after https://github.com/rust-lang/rust-analyzer/pull/13975 (whoops).
2023-07-07 09:06:56 +00:00
DropDemBits
ebaf8c8135
fix: Indent after pressing enter on a blank line 2023-07-06 23:25:02 -04:00
Tetsuharu Ohzeki
f70845305f editor/code: Enable noPropertyAccessFromIndexSignature ts option 2023-07-06 16:17:02 +09:00
Tetsuharu Ohzeki
72a3883a71 editor/code: Enable noUncheckedIndexedAccess ts option
https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess
2023-07-06 16:17:02 +09:00
Tetsuharu Ohzeki
bb35d8fa8e editor/code: Set ts' --moduleResolution=node16 option
https://www.typescriptlang.org/tsconfig#moduleResolution

By this change, typescript compiler can read `exports` field in
package.json for dependencies.
https://nodejs.org/api/packages.html#exports-sugar
2023-07-05 00:48:18 +09:00
Alex Kladov
832a64e290 feat: don't add panics to error jump list by default
To re-enable this, use

    "rust-analyzer.runnables.problemMatcher": [
        "$rustc",
        "$rust-panic"
    ],

setting.

closes: #14977
2023-06-30 22:23:13 +01:00
Laurențiu Nicola
477a75d671 Drop cross-env npm dep 2023-06-30 09:20:02 +03:00
Tetsuharu Ohzeki
0500b1d5f8 editor/code: Switch to @vscode/vsce
`vsce` was renamed to `@vscode/vsce`.
We should switch to it now.

- https://code.visualstudio.com/updates/v1_74#_extension-authoring
- https://www.npmjs.com/package/@vscode/vsce
2023-06-30 09:55:43 +09:00
bors
d7f4c21950 Auto merge of #15138 - mohsen-alizadeh:13583-rename-runnableEnv-to-runnables-extraEnv, r=Veykril
13583 rename runnable env to runnables extra env

closes #13583
2023-06-29 07:18:57 +00:00
Mohsen Alizadeh
3f70117d69 fallback to old key 2023-06-28 21:24:28 -07:00
bors
77ccd64326 Auto merge of #15136 - mohsen-alizadeh:13908-delete-matching-brace-key-binding, r=Veykril
delete matching brace key binding

closes #13908
2023-06-28 10:28:01 +00:00
Tetsuharu Ohzeki
8e0efbc2a7 editor/code: Enable noImplicitOverride ts option 2023-06-28 17:40:27 +09:00
bors
89d7056151 Auto merge of #15154 - tetsuharuohzeki:tsconfig-strictest, r=lnicola
editor/code: Use `@tsconfig/strictest` to define type checking rules

Motivation
-----------

This change aims to make it easier to manage tsconfig by [``@tsconfig/strictest`](https://www.npmjs.com/package/@tsconfig/strictest)` and intend to leave to create "ideal" rules about TypeScript's type checking.

Implementation
---------------

This change removes some duplicated rules defined in ``@tsconfig/strictest`` and add disabing some strict rules that fails with the current codebase.
2023-06-28 08:09:55 +00:00
Tetsuharu Ohzeki
0ddf8b63e9 editor/code: Use @tsconfig/strictest to define type checking rules
Motivation
-----------

This change aims to make it easier to manage tsconfig.
This intend to leave to create "ideal" rules about TypeScript's type checking.

Implementation
---------------

This change removes some duplicated rules defined in `@tsconfig/strictest` and add disabing some strict rules
that fails with the current codebase.
2023-06-28 03:05:04 +09:00
Tetsuharu Ohzeki
682f90cc16 Clean up activationEvents in vscode extension's package.json
By documents, VSCode v1.74 or later activates extension automatically
according to other configurations.

See:
- https://code.visualstudio.com/api/references/activation-events#onLanguage
    - https://code.visualstudio.com/docs/languages/identifiers
- https://code.visualstudio.com/api/references/activation-events#onCommand
    - https://code.visualstudio.com/api/references/contribution-points#contributes.commands
2023-06-28 02:38:06 +09:00
Tetsuharu Ohzeki
1b228f9a6f Update @types/vscode to v1.78
- https://code.visualstudio.com/updates/v1_67
- https://code.visualstudio.com/updates/v1_68
- https://code.visualstudio.com/updates/v1_69
- https://code.visualstudio.com/updates/v1_70
- https://code.visualstudio.com/updates/v1_71
- https://code.visualstudio.com/updates/v1_72
- https://code.visualstudio.com/updates/v1_73
- https://code.visualstudio.com/updates/v1_74
- https://code.visualstudio.com/updates/v1_75
- https://code.visualstudio.com/updates/v1_76
- https://code.visualstudio.com/updates/v1_77
- https://code.visualstudio.com/updates/v1_78
2023-06-27 23:40:50 +09:00
Tetsuharu Ohzeki
35184bec10 Regenerate package-lock.json 2023-06-27 23:05:28 +09:00
Tetsuharu Ohzeki
9930889918 Update esbuild
- https://github.com/evanw/esbuild/blob/main/CHANGELOG-2022.md
- https://github.com/evanw/esbuild/blob/main/CHANGELOG.md
2023-06-27 23:04:23 +09:00
Tetsuharu Ohzeki
9870aa027e Update ovsx
aa90b01b13/cli/CHANGELOG.md
2023-06-27 23:03:06 +09:00
Tetsuharu Ohzeki
6454b5a559 Update d3
https://github.com/d3/d3
2023-06-27 23:00:16 +09:00
Tetsuharu Ohzeki
658831c80d Update @hpcc-js/wasm
https://github.com/hpcc-systems/hpcc-js-wasm
2023-06-27 22:57:17 +09:00
Tetsuharu Ohzeki
95e4c66692 Update vscode-languageclient
https://github.com/Microsoft/vscode-languageserver-node
2023-06-27 22:55:39 +09:00
Tetsuharu Ohzeki
1bfdcb227f Update ESLint
https://eslint.org/blog/category/release-notes/
2023-06-27 22:54:40 +09:00
Tetsuharu Ohzeki
2f7a16c9d9 Update @vscode/test-electron
https://github.com/microsoft/vscode-test/blob/main/CHANGELOG.md
2023-06-27 22:53:48 +09:00
Tetsuharu Ohzeki
8769df938a Update prettier
https://github.com/prettier/prettier/blob/main/CHANGELOG.md
2023-06-27 22:51:16 +09:00
Tetsuharu Ohzeki
9a0a0a0963 Update tslib
https://github.com/microsoft/tslib/releases
2023-06-27 22:49:41 +09:00
Tetsuharu Ohzeki
c0863892f7 Update typescript-eslint to v5.60
https://github.com/typescript-eslint/typescript-eslint/releases
2023-06-27 22:49:04 +09:00
Tetsuharu Ohzeki
1ec07fda09 Update typescript to v5.1
- https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/
- https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/
2023-06-27 22:47:57 +09:00
Mohsen Alizadeh
fd1130b0e7 delete matching brace key binding 2023-06-25 17:27:28 -07:00
Mohsen Alizadeh
6c3e15aaa0 13583 rename runnable env to runnables extra env 2023-06-25 17:26:04 -07:00
Lukas Wirth
0141a6b65c Remove markdown injection 2023-06-23 11:31:10 +02:00
Lukas Wirth
c672cedeba Remove markdown injection for block comments 2023-06-21 19:08:00 +02:00
Andreas Backx
942b392150
Exclude Markdown injection grammar from .vscodeignore.
Enables Markdown injection introduced in #14866 but wasn't included in release due to it being ignored.
2023-06-11 22:53:58 -07:00
Lukas Wirth
3c862507b9 Add render configs for memory layout hovers 2023-05-30 18:36:06 +02:00
Lukas Wirth
cea84427e0 Allow setting cfgs 2023-05-28 13:43:21 +02:00
David Barsky
7dfef85be6 fix: add a toggle to disable the dependency explorer. 2023-05-26 11:50:07 -04:00
Andreas Backx
09f624721c
[editors/code] add markdown syntax highlighting to doc comments 2023-05-21 17:34:42 +01:00
Lukas Wirth
0028e73927 fix: Force disable augmentsSyntaxTokens capability on VSCode 2023-05-18 08:26:16 +02:00
Lukas Wirth
91d5a689c7 Add config for disabling non standard lsp highlight tokens 2023-05-11 10:01:38 +02:00
Laurențiu Nicola
f8477d0cb4 Hide deps panel outside of Rust projects and set missing category 2023-05-08 21:43:59 +03:00
bors
aaed89ac04 Auto merge of #14763 - lnicola:dep-tree-fixes, r=lnicola
Fix manual formatting and remove duplicate command
2023-05-08 18:28:58 +00:00