Jean Pierre
2079da0f1c
feat(lsp): Implement textDocument/documentSymbol ( #9981 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-04-20 11:29:27 +10:00
Jean Pierre
6d404ec54b
feat(lsp): Implement textDocument/semanticTokens/full ( #10233 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-04-20 11:26:36 +10:00
Jean Pierre
65a2a04d3b
feat(lsp): implement textDocument/prepareCallHierarchy ( #10061 )
2021-04-19 15:11:26 +10:00
Aaron O'Mullan
46b1c653c0
refactor(deno): remove concept of bin & json ops ( #10145 )
2021-04-12 15:55:05 -04:00
Kitson Kelly
2c52c0a145
fix(lsp): folding range adjustment panic ( #10030 )
...
Fixes #10029
2021-04-06 13:27:27 +10:00
Jean Pierre
035f7b0ca0
feat(lsp): implement textDocument/foldingRange ( #9900 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-04-02 17:21:07 +11:00
Kitson Kelly
ec6317e894
fix(lsp): ensure insert_text is passed back on completions ( #9951 )
...
Fixes #9920
2021-04-01 20:18:51 +11:00
Aaron O'Mullan
fec1b2a5a4
refactor: new optimized op-layer using serde_v8 ( #9843 )
...
- 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-31 10:37:38 -04:00
Ryan Dahl
f46e39c5c5
remove macro_use ( #9884 )
2021-03-26 12:34:25 -04:00
Yusuke Tanaka
385b14463c
refactor(lsp): remove unused code ( #9897 )
2021-03-26 15:46:55 +11:00
Yusuke Tanaka
e7954413e1
upgrade: Rust 1.51.0 ( #9895 )
2021-03-25 19:17:37 +01:00
Kitson Kelly
5ebb401703
feat(lsp): add import completions ( #9821 )
2021-03-25 11:13:37 +11:00
Jean Pierre
77cfadf532
feat(lsp): implement textDocument/selectionRange ( #9845 )
...
Ref: #8643
2021-03-24 10:33:25 +11:00
Kitson Kelly
506b321d47
refactor(lsp): refactor completions and add tests ( #9789 )
2021-03-16 09:01:41 +11:00
Kitson Kelly
88a7fa36aa
fix(lsp): allow on disk files to change ( #9746 )
...
Fixes #9348
2021-03-10 21:39:16 +11:00
Kitson Kelly
dbdbe7a1cf
fix(lsp): improve exception handling on tsc snapshots ( #9628 )
...
Refs #9348
2021-03-01 11:53:20 +11:00
Kitson Kelly
90e4c5dcde
reafactor(lsp): use generics with JSON values ( #9587 )
2021-02-25 14:15:55 +11:00
Kitson Kelly
2225e83da2
fix(lsp): handle data URLs properly ( #9522 )
...
Fixes #9514
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-02-18 15:37:05 +11:00
Kitson Kelly
78e34d4912
fix(lsp): document spans use original range ( #9525 )
...
Fixes: #9444
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-02-18 14:15:13 +11:00
Ryan Dahl
c7dabc99ee
Make ModuleSpecifier a type alias, not wrapper struct ( #9531 )
2021-02-17 13:47:18 -05:00
Yuki Tanaka
ccd6ee5c23
feat(lsp): Implement textDocument/signatureHelp
( #9330 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-02-16 13:34:09 +11:00
Kitson Kelly
64a1da84fe
fix(lsp): handle cached type dependencies properly ( #9500 )
2021-02-15 20:32:06 +11:00
Kitson Kelly
79916226b7
fix(lsp): properly handle static assets ( #9476 )
2021-02-12 22:49:42 +11:00
Kitson Kelly
54e53cc9ea
chore: Update to Rust 1.50.0 ( #9479 )
2021-02-12 21:08:36 +11:00
Kitson Kelly
d6c05b09dd
feat(lsp): add deno cache code actions ( #9471 )
2021-02-12 15:17:48 +11:00
Kitson Kelly
6752be05cd
fix(lsp): handle type deps properly ( #9436 )
...
Fixes #9425
2021-02-10 09:46:12 +11:00
Kitson Kelly
e368c5d0f9
feat(lsp): add implementations code lens ( #9441 )
2021-02-08 21:45:10 +11:00
Ben Noordhuis
be10db10fd
fix(lsp): remove Sources mutex
...
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 2828690fc7
from last month ("fix(lsp): fix deadlocks, use one big mutex (#9271 )")
2021-02-08 10:47:32 +01:00
Kitson Kelly
b77fcbc518
feat(lsp): add TS quick fix code actions ( #9396 )
2021-02-05 05:53:02 +11:00
Kitson Kelly
534531e4dd
feat(lsp): add references code lens ( #9316 )
2021-02-01 14:30:41 +11:00
hvithrafn
013b8fe606
Update lspower dependency ( #9179 )
2021-01-29 14:34:33 -05:00
Ben Noordhuis
2828690fc7
fix(lsp): fix deadlocks, use one big mutex ( #9271 )
...
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-26 10:55:04 +01:00
Kitson Kelly
2b4e0be43c
fix(lsp): reduce deadlocks with in memory documents ( #9259 )
2021-01-26 10:47:12 +11:00
Kitson Kelly
1a9209d1e3
fix(lsp): handle mbc documents properly ( #9151 )
...
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-01-22 21:03:16 +11:00
Hirochika Matsumoto
4b2df87c54
refactor(lsp): don't duplicate fields present in DocumentSpan ( #9131 )
2021-01-16 13:00:42 +01:00
Hirochika Matsumoto
8d5af6ca52
feat(lsp): Add textDocument/implementation ( #9071 )
...
Ref #8643
2021-01-13 08:53:27 +11:00
Bartek Iwańczuk
275a5c65a2
upgrade: tokio 1.0 ( #8779 )
...
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-01-11 23:50:02 -08:00
Yusuke Tanaka
d8fd71afdf
chore: update copyright to 2021 ( #9092 )
2021-01-11 18:13:41 +01:00
Bartek Iwańczuk
bb88418221
refactor(cli): remove 'js' module, simplify compiler snapshot ( #9020 )
...
This commit removes "js" module from "cli".
It contained stuff related to TypeScript compiler (snapshot,
declaration files) and thus it was moved to "tsc" module.
2021-01-06 02:38:23 +01:00
Kitson Kelly
587155f86d
feat(lsp): support specifying a tsconfig file ( #8926 )
2020-12-31 14:33:44 +11:00
Kitson Kelly
e8a81724bb
fix(lsp): handle ts debug errors better ( #8914 )
...
Fixes #8864
2020-12-30 12:46:58 +11:00
hrsh7th
57b0562957
feat(lsp): Implement textDocument/rename ( #8910 )
2020-12-30 11:58:20 +11:00
Kitson Kelly
a4d557126e
fix(lsp): provide diagnostics for unresolved modules ( #8872 )
2020-12-24 21:53:03 +11:00
Luca Casonato
bd85d0ed42
refactor: rewrite lsp to be async ( #8727 )
...
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2020-12-21 08:44:26 -05:00
Kitson Kelly
892d6cc997
refactor(lsp): optimise static assets ( #8771 )
...
Fixes #8158
2020-12-16 06:34:39 +11:00
Kitson Kelly
95a6698cac
feat(lsp): support import maps ( #8683 )
2020-12-10 06:50:47 +11:00
Bartek Iwańczuk
9bff85836c
fix: pull .d.ts files from js mod ( #8671 )
2020-12-08 16:33:50 +01:00
Luca Casonato
e94a18240e
feat(lsp): basic support for textDocument/completion ( #8651 )
2020-12-08 11:36:13 +01:00
Kitson Kelly
301d3e4b68
feat: add mvp language server ( #8515 )
...
Resolves #8400
2020-12-07 21:46:39 +11:00