Nayeem Rahman
f5963b6a05
refactor(lsp): cleanup document preload ( #20520 )
2023-09-18 20:58:16 +01:00
Nayeem Rahman
022664aab4
feat(lsp): WorkspaceSettings::disablePaths ( #20475 )
2023-09-13 17:30:27 +01:00
Nayeem Rahman
bdf1850679
fix(lsp): match enable_paths by whole path components ( #20470 )
2023-09-12 14:36:50 +01:00
Nayeem Rahman
f75a17521d
fix(lsp): respect configured exclusions for testing APIs ( #20427 )
...
LSP testing APIs now obey the various file inclusion settings:
- Modules shown in the text explorer now respect the `exclude`,
`test.exclude` and `test.include` fields in `deno.json`, as well as
`deno.enablePaths` in VSCode settings.
- Modules with testing code lens now respect the `"exclude"`,
`test.exclude` and `test.include` fields in `deno.json`. Code lens
already respects `deno.enablePaths`.
2023-09-09 19:37:01 +01:00
Nayeem Rahman
29ff0bfa9f
Reland "refactor(lsp): clean up "enablePaths" handling ( #20388 )" ( #20423 )
2023-09-09 15:04:21 +01:00
Nayeem Rahman
f3d25af61c
Revert "refactor(lsp): clean up "enablePaths" handling ( #20388 )" ( #20419 )
...
This reverts commit 4a11603c76
.
2023-09-08 15:48:26 +00:00
Nayeem Rahman
14522fc628
chore(lsp): remove TestingSettings::enable ( #20407 )
2023-09-08 12:47:57 +01:00
Nayeem Rahman
4a11603c76
refactor(lsp): clean up "enablePaths" handling ( #20388 )
...
Previously we pre-computed enabled paths into `Config::enabled_paths`,
and had to keep updating it. Now we determine enabled paths directly
from `Config::settings` on demand as a single source of truth.
Removes `Config::root_uri`. If `InitializeParams::rootUri` is given, and
it doesn't correspond to a folder in
`InitializeParams::workspaceFolders`, prepend it to
`Config::workspace_folders` as a mocked folder.
Includes groundwork for
https://github.com/denoland/vscode_deno/issues/908 . In a minor version
cycle or two we can fix that in vscode_deno, and it won't break for Deno
versions post this patch due to the corrected deserialization logic for
`enablePaths`.
2023-09-08 00:50:34 +01:00
Nayeem Rahman
12f6ad32c2
fix(lsp): properly handle disabled configuration requests ( #20358 )
...
Fixes #19802 .
Properly respect when clients do not have the `workspace/configuration`
capability, a.k.a. when an editor cannot provide scoped settings on
request from the LSP.
- Fix one spot where we weren't checking for the capability before
sending this request.
- For `enablePaths`, fall back to the settings passed in the
initialization options in more cases.
- Respect the `workspace/configuration` capability in the test harness
client.
See:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_configuration .
2023-09-02 16:36:04 +01:00
Nayeem Rahman
e1fb48524d
Reland "feat(lsp): enable via config file detection ( #20334 )" ( #20349 )
2023-09-01 21:13:13 +01:00
Bartek Iwańczuk
a74554987a
Revert "feat(lsp): enable via config file detection ( #20334 )" ( #20347 )
...
This reverts commit c0dcf6a357
.
CC @nayeemrmn
2023-09-01 12:01:20 +00:00
Nayeem Rahman
c0dcf6a357
feat(lsp): enable via config file detection ( #20334 )
...
With https://github.com/denoland/vscode_deno/pull/902 for
https://github.com/denoland/vscode_deno/issues/880 .
For multi-folder workspaces, note that this only scans the first one and
applies the result to all. That means users would have to still have to
specify `"deno.enable": true/false` for their secondary folders if the
preference is different for those.
2023-08-31 19:10:09 +01:00
Nayeem Rahman
6f077ebb07
feat(lsp): update imports on file rename ( #20245 )
...
Closes https://github.com/denoland/vscode_deno/issues/410 .
2023-08-26 02:50:47 +02:00
David Sherret
b9b0386948
feat(unstable): rename deno_modules
to vendor
( #20065 )
...
Renames the unstable `deno_modules` directory and corresponding settings
to `vendor` after feedback. Also causes the vendoring of the
`node_modules` directory which can be disabled via
`--node-modules-dir=false` or `"nodeModulesDir": false`.
2023-08-06 21:56:56 -04:00
David Sherret
1cefa831fd
feat(unstable): optional deno_modules
directory ( #19977 )
...
Closes #15633
2023-08-02 00:49:09 +00:00
David Sherret
d6e086d681
fix(lsp): handle watched files events from symlinked config files ( #19898 )
...
Related to https://github.com/denoland/vscode_deno/issues/784
2023-07-21 09:12:26 -04:00
David Sherret
235fdc243f
fix(lsp): auto-discover deno.json in more cases ( #19894 )
...
We weren't auto-discovering the deno.json in two cases:
1. A project that didn't have a deno.json and just added one.
2. After a syntax error in the deno.json.
This now rediscovers it in both these cases.
Closes https://github.com/denoland/vscode_deno/issues/867
2023-07-20 14:05:52 -04:00
David Sherret
0d8af65621
fix(lsp): exclude files in deno.json "exclude" ( #19791 )
...
Closes #19788
2023-07-10 21:03:19 -04:00
David Sherret
8dd9d5f523
refactor(lsp): move config file related code to config.rs ( #19790 )
...
Will make #19788 easier.
2023-07-10 21:45:09 +00:00
David Sherret
28a72d5488
feat(lsp): ability to configure document pre-load limit ( #19097 )
...
Adds a `deno.preloadLimit` option (ex. `"deno.preloadLimit": 2000`)
which specifies how many file entries to traverse on the file system
when the lsp loads or its configuration changes.
Closes #18955
2023-05-11 17:17:14 -04:00
David Sherret
0210c1cadf
fix(lsp): add a document preload file system entry limit ( #18553 )
...
I was testing this out and it's badly needed. For now, it's not
configurable and limited to 1,000 file system entries.
Related to #18538
2023-04-01 15:10:30 -04:00
David Sherret
7722014497
fix(lsp): include all diagnosable documents on initialize ( #17979 )
...
Closes https://github.com/denoland/vscode_deno/issues/797
Closes https://github.com/denoland/deno/issues/11190
Closes https://github.com/denoland/vscode_deno/issues/811
Closes https://github.com/denoland/vscode_deno/issues/761
Closes https://github.com/denoland/vscode_deno/issues/585
Closes https://github.com/denoland/vscode_deno/issues/561
Closes https://github.com/denoland/vscode_deno/issues/410
2023-03-30 17:47:53 -04:00
David Sherret
7070b8ed50
fix(lsp): avoid calling client while holding lock ( #18197 )
2023-03-15 14:34:23 +00:00
Geert-Jan Zwiers
7f38f30a5c
refactor(lsp): fewer clones ( #17551 )
2023-01-26 23:24:03 +01:00
Leo Kettmeir
7716449d41
fix(lsp): treat empty string config value as None ( #17227 )
...
Fixes #14630
2023-01-03 16:59:48 +01:00
David Sherret
10e4b2e140
chore: update copyright year to 2023 ( #17247 )
...
Yearly tradition of creating extra noise in git.
2023-01-02 21:00:42 +00:00
David Sherret
2d4c46c975
refactor: create util folder, move nap_sym to napi/sym, move http_cache to cache folder ( #16857 )
2022-11-28 17:28:54 -05:00
David Sherret
7c80f15020
fix(lsp): correct parameterNames.suppressWhenArgumentMatchesName
and variableTypes.suppressWhenTypeMatchesName
( #16469 )
...
Closes #16468
2022-10-28 14:48:14 -04:00
Kitson Kelly
7d78f58187
feat: support inlay hints ( #16287 )
...
Closes: #11853
2022-10-16 13:39:43 +11:00
Kitson Kelly
afcea6c233
fix(lsp): properly handle snippets on completions ( #16274 )
...
Fixes #15367
2022-10-14 23:04:38 +11:00
Bartek Iwańczuk
8af81d98a6
feat(lsp): enable linting by default ( #14583 )
2022-05-16 13:10:08 +02:00
Jason
a6e4b4297d
refactor(lsp): migrate from lspower back to tower-lsp ( #14163 )
2022-04-03 14:17:30 +10:00
Kitson Kelly
061090de7e
feat(lsp): add experimental testing API ( #13798 )
...
Ref: denoland/vscode_deno#629
2022-03-30 09:59:27 +11:00
Kitson Kelly
1414dc503b
feat(lsp): support deno.enablePaths setting ( #13978 )
...
Ref: denoland/vscode_deno#633
2022-03-21 12:33:37 +11:00
Kitson Kelly
973fe6dd3a
refactor: remove dead code from lsp ( #13743 )
2022-02-24 08:01:20 +11:00
David Sherret
d4dd9ae4cf
refactor(lsp): remove RwLock on Config
( #13485 )
2022-01-25 10:30:38 -05:00
Kitson Kelly
3ec248cff8
fix(lsp): respect DENO_CERT and other options related to TLS certs ( #13467 )
...
Fixes #13437
2022-01-24 11:27:52 +11:00
David Sherret
f73a5fbc89
refactor(lsp): reduce data stored in StateSnapshot
( #13426 )
2022-01-19 17:10:14 -05:00
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
David Sherret
6c324acf23
feat: REPL import specifier auto-completions ( #13078 )
2021-12-15 13:23:43 -05:00
Ryan Dahl
b2036a4db7
refactor: re-export anyhow from deno_core ( #12777 )
2021-11-16 09:02:28 -05:00
Bert Belder
f1b1a3f389
refactor: move mod tokio_util
to runtime ( #12332 )
...
This avoids a bunch of duplicated code.
2021-11-08 12:49:11 -08:00
Kitson Kelly
f7e416bc7f
feat(lsp): support clients which do not support disabled code actions ( #11612 )
...
Closes: #11610
2021-08-10 09:56:34 +10:00
Kitson Kelly
667b026798
feat(lsp): ability to set DENO_DIR via settings ( #11527 )
...
Ref: denoland/vscode_deno#287
2021-07-28 07:25:09 +10:00
Kitson Kelly
c34fef4b71
feat(lsp): add workspace config to status page ( #11459 )
2021-07-21 11:50:43 +10:00
David Sherret
7fc0e8ec8c
chore: use parking_lot for synchronization primitives to align with tokio ( #11289 )
...
parking_lot is already transitively used in tokio via the "full" cargo feature
2021-07-06 23:48:01 -04:00
Kitson Kelly
281c4cd8fc
feat(cli): support "types" when type checking ( #10999 )
...
Fixes #10677
2021-06-22 07:18:32 +10:00
Ryan Dahl
9c42b5e03b
Remove various unnecessary allow(clippy) declarations ( #10971 )
2021-06-15 19:22:28 +02:00
Kitson Kelly
3b3be024fa
feat(lsp): add test code lens ( #10874 )
...
Ref #8643
2021-06-07 21:38:07 +10:00
Kitson Kelly
bb5bf91067
feat(lsp): registry auto discovery ( #10813 )
...
Closes: #10194
Fixes: #10468
2021-06-01 21:53:08 +10:00