summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
AgeCommit message (Collapse)Author
2023-01-27chore: upgrade to Rust 1.67 (#17548)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-26refactor(lsp): fewer clones (#17551)Geert-Jan Zwiers
2023-01-25fix: support import map specified as data uri (#17531)David Sherret
2023-01-25feat: embed import map in the config file (#17478)Bartek Iwańczuk
This commit changes handling of config file to enable specifying "imports" and "scopes" objects effectively making the configuration file an import map. "imports" and "scopes" take precedence over "importMap" configuration, but have lower priority than "--importmap" CLI flag. Co-authored-by: David Sherret <dsherret@users.noreply.github.com> Co-authored-by: David Sherret <dsherret@gmail.com>
2023-01-24feat: suggest adding a "node:" prefix for bare specifiers that look like ↵David Sherret
built-in Node modules (#17519)
2023-01-24refactor(deno_graph): remove unused Resolved::Ok#kind usage (#17504)David Sherret
See https://github.com/denoland/deno_graph/pull/205 for more details.
2023-01-18refactor(cli): Integrate standalone mode cert handling into `Flags` (#17419)Andreu Botella
The way the standalone mode handles the `--cert` flag is different to all other modes. This is because `--cert` takes a path to the certificate file, which is directly added to the root cert store; except for compile mode, where its byte contents are stored in the standalone metadata, and they are added to the root cert store after the `ProcState` is created. This change instead changes `Flags::ca_file` (an `Option<String>`) into `Flags::ca_data`, which can represent a `String` file path or a `Vec<u8>` with the certificate contents. That way, standalone mode can create a `ProcState` whose root cert store alreay contains the certificate. This change also adds a tests for certificates in standalone mode, since there weren't any before. This refactor will help with implementing web workers in standalone mode in the future.
2023-01-07refactor(cli/tools): move flag and config logic to CliOptions (#17008)Geert-Jan Zwiers
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-01-03fix(lsp): don't error if completionItem/resolve request fails (#17250)Bartek Iwańczuk
2023-01-03refactor(lsp): reduce number of clones (#17254)Geert-Jan Zwiers
This PR optimizes the code in the language server by performing less cloning of data.
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-20fix(lsp/format): language formatter used should be based on language id (#17148)David Sherret
Closes #11897
2022-12-19perf(lsp): concurrent reads and exclusive writes (#17135)David Sherret
2022-12-12feat: improve download progress bar (#16984)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-11-28refactor: create util folder, move nap_sym to napi/sym, move http_cache to ↵David Sherret
cache folder (#16857)
2022-11-27fix(npm): ensure npm package downloaded once per run when using `--reload` ↵David Sherret
(#16842)
2022-11-26refactor: `DenoDir` - move to cache folder and make `root_dir` private (#16823)David Sherret
2022-11-18fix(npm): use an http client with connection pool (#16705)David Sherret
Should make downloading npm packages faster and more reliable.
2022-11-10feat: remove --unstable flag requirement for npm: specifiers (#16473)Bartek Iwańczuk
This commit makes "npm:" specifiers not require "--unstable" flag. At the moment some APIs used by Node polyfills still require "--unstable" which will be addressed in follow up PRs.
2022-11-08feat(unstable/npm): support peer dependencies (#16561)David Sherret
This adds support for peer dependencies in npm packages. 1. If not found higher in the tree (ancestor and ancestor siblings), peer dependencies are resolved like a dependency similar to npm 7. 2. Optional peer dependencies are only resolved if found higher in the tree. 3. This creates "copy packages" or duplicates of a package when a package has different resolution due to peer dependency resolution—see https://pnpm.io/how-peers-are-resolved. Unlike pnpm though, duplicates of packages will have `_1`, `_2`, etc. added to the end of the package version in the directory in order to minimize the chance of hitting the max file path limit on Windows. This is done for both the local "node_modules" directory and also the global npm cache. The files are hard linked in this case to reduce hard drive space. This is a first pass and the code is definitely more inefficient than it could be. Closes #15823
2022-11-02fix(lock): autodiscovery of lockfile (#16498)Bartek Iwańczuk
This commit adds autodiscovery of lockfile. This only happens if Deno discovers the configuration file (either "deno.json" or "deno.jsonc"). In such case Deno tries to load "deno.lock" file that sits next to the configuration file, or creates one for user if the lockfile doesn't exist yet. As a consequence, "--lock" and "--lock-write" flags had been updated. "--lock" no longer requires a value, if one is not provided, it defaults to "./deno.lock" resolved from the current working directory. "--lock-write" description was updated to say that it forces to overwrite a lockfile. Autodiscovery is currently not handled by the LSP.
2022-10-21feat(unstable/npm): initial type checking of npm specifiers (#16332)David Sherret
2022-10-20fix(lsp): allow caching deps in non-saved files (#16353)David Sherret
2022-10-17fix(lsp): treat empty import map value config as none (#16224)Tomofumi Chiba
Ref: denoland/vscode_deno#718 Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-10-16feat: support inlay hints (#16287)Kitson Kelly
Closes: #11853
2022-10-14fix(lsp): properly handle snippets on completions (#16274)Kitson Kelly
Fixes #15367
2022-08-02fix(lsp): remove excessive line breaks in status page (#15364)Outvi V
Fixes #15359
2022-07-14feat(lsp): provide import map remapping diags and fixes (#15165)Kitson Kelly
2022-07-12fix(lsp): enable auto imports (#15145)Kitson Kelly
Fixes: #15111
2022-07-11refactor: rename run_basic to run_local (#15068)cuobiezi
2022-07-01refactor: extract `deno_graph::create_graph` use to common function (#15009)David Sherret
2022-07-01chore: use Rust 1.62.0 (#15028)Bartek Iwańczuk
2022-06-28refactor: add `RootConfig` (#14985)David Sherret
2022-06-27refactor: create `args` folder (#14982)David Sherret
2022-06-27fix(lsp): restart TS language service when caching dependencies (#14979)Bartek Iwańczuk
2022-06-15fix(check): use "moduleDetection": "force" (#14875)Nayeem Rahman
2022-06-09fix(lsp): change glob to watch json and jsonc files (#14828)Bartek Iwańczuk
2022-05-20refactor: upgrade to deno_ast 0.15 (#14680)David Sherret
2022-04-25refactor(lsp): store all the assets in Rust when initializing (#14367)David Sherret
2022-04-19perf(fmt/lint): incremental formatting and linting (#14314)David Sherret
2022-04-03refactor(lsp): migrate from lspower back to tower-lsp (#14163)Jason
2022-03-30feat(lsp): add experimental testing API (#13798)Kitson Kelly
Ref: denoland/vscode_deno#629
2022-03-29chore(ci): fix lsp bench due to notification that was accidentally added ↵David Sherret
(#14148)
2022-03-29chore: upgrade dprint-core to 0.54.1 (#14146)David Sherret
2022-03-29feat(lsp): support API for config file (#14139)Kitson Kelly
Closes: #13910
2022-03-28fix(lsp): watch .jsonc files (#14135)Kitson Kelly
2022-03-23chore: remove all `pub(crate)`s from the cli crate (#14083)David Sherret
2022-03-21feat(lsp): support deno.enablePaths setting (#13978)Kitson Kelly
Ref: denoland/vscode_deno#633
2022-03-03chore(lsp): log more for "unexpected positions" lsp error (#13815)David Sherret
Ref #13657
2022-02-24chore: upgrade to Rust 1.59 (#13767)David Sherret