summaryrefslogtreecommitdiff
path: root/cli/lsp
AgeCommit message (Collapse)Author
2021-04-01fix(lsp): ensure insert_text is passed back on completions (#9951)Kitson Kelly
Fixes #9920
2021-03-31refactor: new optimized op-layer using serde_v8 (#9843)Aaron O'Mullan
- Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups
2021-03-26remove macro_use (#9884)Ryan Dahl
2021-03-26refactor(lsp): remove unused code (#9897)Yusuke Tanaka
2021-03-25upgrade: Rust 1.51.0 (#9895)Yusuke Tanaka
2021-03-25feat(lsp): add import completions (#9821)Kitson Kelly
2021-03-24feat(lsp): implement textDocument/selectionRange (#9845)Jean Pierre
Ref: #8643
2021-03-18refactor(lsp): slightly reorganize diagnostics debounce logic (#9796)Bert Belder
This patch doesn't actually fix the bug I was hoping to fix, which is that `update_diagnostics()` sometimes gets called even when there are more updates that should be processed first. I did eventually figure out that this issue is caused by Tokio's cooperative yielding, which currently can't be disabled. However overall it makes the debounce code somewhat more readable IMO, which is why I'm suggesting to land it anyway.
2021-03-16refactor(lsp): refactor completions and add tests (#9789)Kitson Kelly
2021-03-15Revert "fix(cli/module_graph): Set useDefineForClassFields to true" (#9792)Ryan Dahl
Backwards incompatible change cannot be made in-between patch releases. This commit broke std tests https://github.com/denoland/deno_std/runs/2112369372 This reverts commit c4709834b37640fd3c9d492123e6add904546573.
2021-03-15fix(cli/module_graph): Set useDefineForClassFields to true (#9774)Nayeem Rahman
Fixes #9773
2021-03-10fix(lsp): allow on disk files to change (#9746)Kitson Kelly
Fixes #9348
2021-03-10fix(lsp): diagnostics use own thread and debounce (#9572)Kitson Kelly
2021-03-03chore(lsp): update lspower to 0.8.4 (#9663)hvithrafn
Co-authored-by: hvithrafn <hvithrafn@users.noreply.github.com>
2021-03-01fix(lsp): improve exception handling on tsc snapshots (#9628)Kitson Kelly
Refs #9348
2021-02-25feat(runtime): stabilise permissions and add event target capabilities (#9573)Kitson Kelly
2021-02-25reafactor(lsp): use generics with JSON values (#9587)Kitson Kelly
2021-02-18fix(lsp): handle data URLs properly (#9522)Kitson Kelly
Fixes #9514 Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-02-18fix(lsp): document spans use original range (#9525)Kitson Kelly
Fixes: #9444 Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-02-17Make ModuleSpecifier a type alias, not wrapper struct (#9531)Ryan Dahl
2021-02-17feat: support loading import map from URL (#9519)Bartek Iwańczuk
This commit adds support for loading import maps from URLs, both remote and local. This feature is supported in CLI flag as well as in runtime compiler API.
2021-02-16feat(lsp): Implement `textDocument/signatureHelp` (#9330)Yuki Tanaka
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-02-15fix(lsp): handle cached type dependencies properly (#9500)Kitson Kelly
2021-02-12fix(lsp): properly handle static assets (#9476)Kitson Kelly
2021-02-12chore: Update to Rust 1.50.0 (#9479)Kitson Kelly
2021-02-12feat(lsp): add deno cache code actions (#9471)Kitson Kelly
2021-02-10fix(lsp): handle type deps properly (#9436)Kitson Kelly
Fixes #9425
2021-02-09fix(lsp): handle code lenses for non-documents (#9454)Kitson Kelly
2021-02-08fix(lsp): prepare diagnostics when the config changes (#9438)Kitson Kelly
2021-02-08feat(lsp): add implementations code lens (#9441)Kitson Kelly
2021-02-08feat(lsp): add asset cache regression testKitson Kelly
When we migrated away from all the locks, there was a regression that was not caught immediately. The tsc::get_asset() would attempt to modify the snapshot, but the problem was that the snapshot was a .clone() of the inner language server's assets, which meant that modifications to that where lost. When we then attempted to do a hover on those assets, the inner language servers assets didn't have the retrieved asset, and therefore would throw an error.
2021-02-08fix(lsp): DRY asset cache lookup logicBen Noordhuis
2021-02-08fix(lsp): fix asset cache lookup regressionBen Noordhuis
Commit 2828690fc ("fix(lsp): fix deadlocks, use one big mutex") from last month introduced a regression in asset cache lookups where results of lazy caching were lost due to operating on a copy of the asset cache. This commit fixes that by copying the asset from the copy to the real cache.
2021-02-08fix(lsp): remove Sources mutexBen Noordhuis
The mutex was used to hide the fact that the Sources object mutates itself when it's queried. Be honest about that and mark everything that directly or indirectly mutates it as `mut`. This is a follow-up to commit 2828690fc7bb510c3248dda7b1cda8793e789ca6 from last month ("fix(lsp): fix deadlocks, use one big mutex (#9271)")
2021-02-06fix(lsp): support codeAction/resolve (#9405)Kitson Kelly
2021-02-05fix(cli/lsp): fix using jsx/tsx when not emitting via tsc (#9407)Kitson Kelly
Closes #9308 Closes #9023 Closes #8993
2021-02-05feat(lsp): add TS quick fix code actions (#9396)Kitson Kelly
2021-02-01feat(lsp): add references code lens (#9316)Kitson Kelly
2021-01-29Update lspower dependency (#9179)hvithrafn
2021-01-27feat(lsp): add performance measurements (#9209)Kitson Kelly
2021-01-27fix(lsp): handle mbc properly when formatting (#9273)Kitson Kelly
2021-01-26chore: update crates (#9251)Luca Casonato
Updates SWC, dprint, deno_lint, deno_doc, serde, and Tokio (to 1.1.0). Co-authored-by: Kitson Kelly <me@kitsonkelly.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-01-26fix(lsp): complete list of unused diagnostics (#9274)Kitson Kelly
2021-01-26fix(lsp): fix deadlocks, use one big mutex (#9271)Ben Noordhuis
The LSP code had numerous places where competing threads could take out out locks in different orders, making it very prone to deadlocks. This commit sidesteps the entire issue by switching to a single lock. The above is a little white lie: the Sources struct still uses a mutex internally to avoid having to boil the ocean (because being honest about what it does involves changing all its methods to `&mut self` but that ripples out extensively...) I'll save that one for another day.
2021-01-26fix(lsp): reduce deadlocks with in memory documents (#9259)Kitson Kelly
2021-01-22fix(lsp): handle mbc documents properly (#9151)Kitson Kelly
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-01-16refactor(lsp): don't duplicate fields present in DocumentSpan (#9131)Hirochika Matsumoto
2021-01-13feat(lsp): Add textDocument/implementation (#9071)Hirochika Matsumoto
Ref #8643
2021-01-11upgrade: tokio 1.0 (#8779)Bartek Iwańczuk
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-01-11chore: update copyright to 2021 (#9092)Yusuke Tanaka