Aleksey Kladov
3038579c8e
Switch from pico-args to xflags
2021-03-02 15:08:20 +03:00
bors[bot]
10a57b8109
Merge #7835
...
7835: Use cli parser with auto-generated help r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-01 19:57:25 +00:00
Aleksey Kladov
4ce20b80c5
Use cli parser with auto-generated help
2021-03-01 22:12:43 +03:00
Laurențiu Nicola
63e8bdb8a2
Bump chalk
2021-03-01 18:17:03 +02:00
Laurențiu Nicola
8ffd76ddc5
Bump deps
2021-03-01 18:13:08 +02:00
Edwin Cheng
cff2201c30
NFA parser for mbe matcher
2021-03-01 00:11:14 +08:00
bors[bot]
a8cf346b97
Merge #7566
...
7566: Add benchmark tests for mbe r=matklad a=edwin0cheng
This PR add more real world tests dumped from `rust-analyzer analysis-stats .` to benchmark its performance.
cc #7513
r? @matklad
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-02-27 14:39:22 +00:00
kjeremy
d42730b76e
bump crates
2021-02-25 10:34:48 -05:00
Aleksey Kladov
eb7333f0a9
⬆️ crates
2021-02-25 17:55:50 +03:00
Edwin Cheng
23dbf36c7d
Add benchmark test for mbe
2021-02-25 05:47:13 +08:00
kjeremy
722d071dbf
Update mio
2021-02-23 12:16:56 -05:00
Chetan Khilosiya
eb6cfa7f15
7526: Renamed create ssr to ide_ssr.
2021-02-23 00:59:16 +05:30
Chetan Khilosiya
e4756cb4f6
7526: Rename crate assists to ide_assists.
2021-02-23 00:59:16 +05:30
kjeremy
e103ca7d8d
update tracing-tree
2021-02-22 12:03:34 -05:00
bors[bot]
63d61c0c98
Merge #7752
...
7752: up once_cell r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-02-22 13:32:40 +00:00
kjeremy
d51c58e14e
up once_cell
2021-02-22 08:31:33 -05:00
Aleksey Kladov
58be1edfbb
Make more common assist easier to ues
2021-02-22 16:07:08 +03:00
Laurențiu Nicola
6c0f7a2f56
Pin ungrammar
2021-02-21 19:33:55 +02:00
Laurențiu Nicola
48ae948b22
Bump deps
2021-02-21 19:13:11 +02:00
Jeremy Kolb
b43bec380f
Update some crates
2021-02-20 14:15:26 -05:00
Aleksey Kladov
3db64a400c
rename completion -> ide_completion
...
We don't have completion-related PRs in flight, so lets do it
2021-02-17 17:53:31 +03:00
kjeremy
88a5e1d036
Bump lsp-types
2021-02-16 09:21:07 -05:00
kjeremy
2cb0544c20
cargo update
2021-02-15 09:49:36 -05:00
Jeremy Kolb
8105418b25
Start LSP 3.17 support
2021-02-14 14:51:29 -05:00
kjeremy
61092bd900
libloading 0.7
...
See https://docs.rs/libloading/0.7.0/libloading/changelog/r0_7_0/index.html
2021-02-11 10:07:49 -05:00
Aleksey Kladov
4b1279d0b1
Infra for "unit" benchmarking
2021-02-09 20:25:39 +03:00
kjeremy
0c3b38695a
Update crates
...
Pulls in https://github.com/rust-lang/chalk/pull/682
2021-02-08 11:38:51 -05:00
Aleksey Kladov
7022ea52b5
AdtDef -> Adt
2021-02-07 14:15:02 +03:00
kjeremy
c3ddf3e1d6
cargo update
2021-02-05 15:35:45 -05:00
Lukas Wirth
eeb5bfcfab
Cleanup decl_check
2021-02-05 16:09:45 +01:00
kjeremy
4a722a34f9
Update thread_local
...
Pulls in https://github.com/Amanieu/thread_local-rs/pull/30 which fixes
a leak when dropping ThreadLocal.
2021-02-04 14:42:45 -05:00
kjeremy
b9ad1f587d
Update mimalloc
2021-02-02 17:17:49 -05:00
Laurențiu Nicola
6b60206669
Bump rustc_lexer
2021-02-02 17:40:01 +02:00
Laurențiu Nicola
9c4b799dce
Bump chalk
2021-02-02 17:40:01 +02:00
kjeremy
953883ca54
Use non-deprecated memmap2 crate
...
`cargo audit` complains that `memmap` is unmaintained so switch to
RazrFalcon's maintained version.
Removes yet another edge on winapi
2021-02-02 10:25:17 -05:00
kjeremy
1c9e216f69
cargo update
2021-02-02 10:00:34 -05:00
Laurențiu Nicola
7ed80bae92
Reap proc macro server instances
2021-02-01 21:24:09 +02:00
kjeremy
16f40d6e20
cargo update
2021-01-29 10:12:39 -05:00
Aleksey Kladov
921bfc0984
⬆️ rowan
2021-01-29 16:12:41 +03:00
Aleksey Kladov
06b56e720f
⬆️ rowan
2021-01-28 22:27:35 +03:00
bors[bot]
92a6dcc360
Merge #7477
...
7477: ⬆️ cm r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-28 16:00:43 +00:00
Aleksey Kladov
29da27004e
⬆️ cm
2021-01-28 18:59:54 +03:00
kjeremy
ffff827828
cargo update
2021-01-28 09:55:34 -05:00
Laurențiu Nicola
efafcf2428
Bump deps
2021-01-27 14:22:19 +02:00
Aleksey Kladov
b8d50a7414
add more counts
2021-01-27 12:39:19 +03:00
Aleksey Kladov
d35bda6429
Make always-assert crate reusable
2021-01-26 22:13:42 +03:00
Aleksey Kladov
1df711b95c
⬆️ rowan
2021-01-25 12:32:35 +03:00
Jeremy Kolb
ea1683ea96
cargo update
2021-01-23 11:28:59 -05:00
kjeremy
486066417a
Cargo update
2021-01-21 14:00:42 -05:00
Aleksey Kladov
e5c5c0a040
Include countme
crate to count important data structures.
2021-01-21 19:30:52 +03:00
kjeremy
f006517857
Up lexer
2021-01-21 09:31:06 -05:00
Laurențiu Nicola
e42dfd7a40
Bump chalk
2021-01-21 10:29:19 +02:00
kjeremy
1e0b163860
chalk 0.49.0
2021-01-20 12:31:03 -05:00
kjeremy
46359ae841
bump serde
2021-01-20 09:44:48 -05:00
bors[bot]
de5aabd48b
Merge #7350
...
7350: Update pico-args r=matklad a=kjeremy
Should maintain existing behavior
Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-01-20 12:28:10 +00:00
Aleksey Kladov
3429b32ad1
⬆️ rowan
...
It now stores text inline with tokens
2021-01-20 14:04:53 +03:00
Aleksey Kladov
46b4f89c92
.
2021-01-20 01:56:11 +03:00
Aleksey Kladov
cd21b0e9c1
⬆️ rowan
2021-01-19 22:11:42 +03:00
kjeremy
db0aaeca33
Update pico-args
...
Should maintains existing behavior
2021-01-19 11:56:45 -05:00
Aleksey Kladov
4d510dfc56
⬆️ rowan
2021-01-19 12:05:27 +03:00
bors[bot]
342bf41022
Merge #7297 #7338
...
7297: Propose trait associated items and autoimport traits on completion r=matklad a=SomeoneToIgnore
![trait_imports](https://user-images.githubusercontent.com/2690773/104819998-6faeb480-583a-11eb-8b45-b7351b51b90e.gif )
Closes #7248
7338: Parse `impl const Trait` r=Veykril a=Veykril
Closes #7313
bors r+
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-18 19:40:11 +00:00
Lukas Wirth
b26002410b
Parse impl const Trait
2021-01-18 20:18:02 +01:00
Jonas Schievink
9b5fa1c61a
Add back jemalloc support
2021-01-18 19:39:46 +01:00
kjeremy
a8b984185b
cargo update
...
Update test_serialize_proc_macro for new serde version
2021-01-18 13:13:24 -05:00
Jonas Schievink
872bf09381
Add MacroType
syntax
2021-01-18 17:56:35 +01:00
bors[bot]
9daba961f2
Merge #7291
...
7291: Wrap remaining self/super/crate in Name{Ref} r=matklad a=Veykril
That should be the remaining special casing for `self` 🎉
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-18 16:13:06 +00:00
Aleksey Kladov
e13065b8ac
Add profile call
2021-01-18 13:30:12 +03:00
Aleksey Kladov
1b6b5c9f28
⬆️ rowan
2021-01-17 20:56:37 +03:00
Aleksey Kladov
33cce3d114
⬆️ rowan
...
https://github.com/rust-analyzer/rowan/pull/86 , which speeds up things
visibly
2021-01-17 18:27:29 +03:00
Aleksey Kladov
1c8feac01f
⬆️ arena
2021-01-17 11:43:04 +03:00
bors[bot]
f5f011ba71
Merge #7304
...
7304: Depend on local copy of la-arena instead of crates.io’s r=lnicola a=arzg
This addresses [this comment](https://github.com/rust-analyzer/rust-analyzer/pull/7276#issuecomment-760909936 ). #7275 and #7276 should start compiling if this is merged.
Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2021-01-17 07:05:44 +00:00
Aramis Razzaghipour
709034d123
Depend on local copy of la-arena instead of crates.io’s
2021-01-17 17:52:57 +11:00
Aleksey Kladov
b38414c7f4
When building an item-tree, keep fewer nodes in memory
2021-01-16 23:07:28 +03:00
Aleksey Kladov
842ed790ea
Simpler and faster rowan
...
This removes thread-local syntax node caching, which improves perf a
bunch
2021-01-16 21:36:01 +03:00
Lukas Wirth
98718e0544
Wrap remaining self/super/crate in Name{Ref}
2021-01-15 22:18:43 +01:00
bors[bot]
8a869e870a
Merge #7288
...
7288: Handle self/super/crate in PathSegment as NameRef r=matklad a=Veykril
Wrapping self/super/crate in NameRef as per https://github.com/rust-analyzer/rust-analyzer/pull/7261#issuecomment-760023172
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-15 18:40:47 +00:00
Lukas Wirth
cb863390f2
Handle self/super/crate in PathSegment as NameRef
2021-01-15 19:21:23 +01:00
bors[bot]
148e3d0f6a
Merge #7287
...
7287: Make SyntaxPtr lookup logarithmic r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-15 17:46:36 +00:00
Aleksey Kladov
26ef7e39f4
Make SyntaxPtr lookup logarithmic
...
closes #3934
cc https://github.com/rust-analyzer/rowan/pull/81
2021-01-15 20:40:40 +03:00
Daiki Ihara
d9b1fa6da3
Upgrade ungrammar to v1.7
2021-01-15 23:35:17 +09:00
Aleksey Kladov
5c66053bd1
bump arena
2021-01-15 11:35:55 +03:00
Aleksey Kladov
4c4e54ac8a
prepare to publish el libro de arena
2021-01-14 19:06:02 +03:00
Aleksey Kladov
865e05b5b4
Make printin the backtrace more convenient
2021-01-14 14:55:13 +03:00
Aleksey Kladov
3d78f502bd
Use upstream TextSize API
2021-01-13 21:32:24 +03:00
kjeremy
d229f0a1b2
cargo update
2021-01-11 09:06:30 -05:00
kjeremy
1da68e87af
Unfreeze cargo_metadata
...
It now pulls in a newer version of semver-parser.
2021-01-11 08:27:16 -05:00
kjeremy
0a91f29699
cargo update
2021-01-08 09:37:28 -05:00
Edwin Cheng
54eb87de03
Refactor out JodChild
2021-01-08 01:08:34 +08:00
Jesse Bakker
974313eb87
Replace last usages of difference with dissimilar
2021-01-06 18:13:29 +01:00
Aleksey Kladov
f9707cde68
Rename expr -> tail_expr
2021-01-05 15:51:13 +03:00
kjeremy
f13ee0a43d
Cargo update to remove some dependencies
2021-01-04 17:02:16 -05:00
kjeremy
f2d1144b4a
Update crates
2021-01-04 11:12:42 -05:00
Jesse Bakker
c7e0c7f43a
Upgrade expect-test to 1.1
2021-01-03 14:43:29 +01:00
bors[bot]
0a3d08e2e3
Merge #7106
...
7106: Split textDocument/formatting TextEdit with diff r=matklad a=Jesse-Bakker
#7044
Co-authored-by: Jesse Bakker <github@jessebakker.com>
2020-12-31 15:11:14 +00:00
Jesse Bakker
f355a6d831
Split textDocument/formatting TextEdit with diff
2020-12-31 15:33:20 +01:00
kjeremy
dc1396eec7
Update crates
2020-12-30 10:39:50 -05:00
bors[bot]
27ccde9ce9
Merge #7019
...
7019: Try serde_path_to_error for LSP InitializeParams r=matklad a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-23 12:04:32 +00:00
Laurențiu Nicola
4e89c2a664
Try serde_path_to_error for LSP InitializeParams
2020-12-23 13:21:58 +02:00
bors[bot]
4228e826b8
Merge #7016
...
7016: Bump deps r=flodiebold a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-23 11:04:07 +00:00
Laurențiu Nicola
9a14e308b9
Bump deps
2020-12-23 12:58:23 +02:00
Laurențiu Nicola
c04406287a
Bump chalk
2020-12-23 12:58:23 +02:00
Lukas Wirth
bdd8c0b68f
Remove local ungrammar dependency
2020-12-23 11:22:36 +01:00
Laurențiu Nicola
18a7b98b2e
Bump rustc_lexer
2020-12-23 11:24:52 +02:00
Lukas Wirth
be7260485e
Update ungrammar for const block patterns
2020-12-23 01:26:31 +01:00
Jeremy Kolb
f4df2d164d
Update syn and quote
2020-12-20 17:26:44 -05:00
Jeremy Kolb
00d4b156af
cargo update
2020-12-19 14:04:31 -05:00
kjeremy
d828bd794b
LSP 3.16 - Released
2020-12-17 11:33:35 -05:00
Lukas Wirth
dd496223f5
Node-ify lifetimes
2020-12-16 14:16:09 +01:00
Jonas Schievink
d34611633b
Unpatch ungrammar
2020-12-16 12:54:34 +01:00
Jonas Schievink
c31c3246a8
Basic support for decl macros 2.0
2020-12-15 18:43:34 +01:00
Jonas Schievink
c1cb595382
Move to upstream macro_rules!
model
2020-12-15 15:37:37 +01:00
bors[bot]
134c7563be
Merge #6817
...
6817: Replace goblin crate with object r=matklad a=lnicola
Continuation of #4385 .
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-14 15:04:47 +00:00
Laurențiu Nicola
dc519b88af
Replace goblin crate with object
2020-12-13 14:08:59 +02:00
kjeremy
8079f5b147
cargo update
2020-12-11 17:00:25 -05:00
Jonas Schievink
4d4b91117a
Use itertools
2020-12-10 19:29:11 +01:00
Aleksey Kladov
2544abbf86
Make config.rs a single source of truth for configuration.
...
Configuration is editor-independent. For this reason, we pick
JSON-schema as the repr of the source of truth. We do specify it using
rust-macros and some quick&dirty hackery though.
The idea for syncing truth with package.json is to just do that
manually, but there's a test to check that they are actually synced.
There's CLI to print config's json schema:
$ rust-analyzer --print-config-schema
We go with a CLI rather than LSP request/response to make it easier to
incorporate the thing into extension's static config. This is roughtly
how we put the thing in package.json.
2020-12-08 19:25:41 +03:00
kjeremy
d18acb0f65
Update expect-test and remove outdated license
2020-12-07 14:19:10 -05:00
kjeremy
28209ce3f9
cargo update
2020-12-07 13:01:07 -05:00
Jonas Schievink
fb21a215be
Retain types of proc macros and allow attr. macros
2020-12-07 17:06:14 +01:00
Florian Diebold
78dd548243
Upgrade Chalk
...
Also make overflow depth and max type size configurable through env variables.
This can be helpful at least for debugging.
Fixes #6628 .
2020-12-07 11:48:58 +01:00
kjeremy
1da8726b85
cargo update: bump libloading to fix a double-free
2020-12-03 10:30:28 -05:00
kjeremy
75bd5a5e20
Bump mio for safety goodness
2020-12-02 16:06:36 -05:00
kjeremy
e4ffd70c91
Fix OptionalVersionedTextDocumentIdentifier type
...
Fixes #6654
2020-12-01 08:33:21 -05:00
kjeremy
0a95201243
bump lexer
2020-11-30 09:29:09 -05:00
kjeremy
467a81529a
cargo update
2020-11-30 08:44:03 -05:00
Kirill Bulatov
3f612d37c6
Move the helpers into ide_db
2020-11-28 16:30:39 +02:00
Kirill Bulatov
f4ae3650d8
Extract the import code into the shared module
2020-11-27 18:28:41 +02:00
Kirill Bulatov
b2e6ca46ca
Profile completions better
2020-11-27 18:00:03 +02:00
kjeremy
24bbf3b838
cargo update
2020-11-24 09:13:26 -05:00
kjeremy
e981485b76
New lsp-types to fix versioning
...
Fixes #6603
2020-11-24 08:52:24 -05:00
kjeremy
1472ec4c05
cargo update
2020-11-19 15:00:56 -05:00
bors[bot]
99975d08f0
Merge #6577 #6579 #6581
...
6577: fix typos in syntax.md r=matklad a=jakobhellermann
6579: cargo update and add new license r=matklad a=kjeremy
6581: Use vscode-languageclient 7.0.0-next.14 r=matklad a=kjeremy
Co-authored-by: Jakob Hellermann <jakob.hellermann@protonmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-11-17 18:01:18 +00:00
bors[bot]
156f7d6963
Merge #6553
...
6553: Auto imports in completion r=matklad a=SomeoneToIgnore
![completion](https://user-images.githubusercontent.com/2690773/99155339-ae4fb380-26bf-11eb-805a-655b1706ce70.gif )
Closes https://github.com/rust-analyzer/rust-analyzer/issues/1062 but does not handle the completion order, since it's a separate task for https://github.com/rust-analyzer/rust-analyzer/issues/4922 , https://github.com/rust-analyzer/rust-analyzer/issues/4922 and maybe something else.
2 quirks in the current implementation:
* traits are not auto imported during method completion
If I understand the current situation right, we cannot search for traits by a **part** of a method name, we need a full name with correct case to get a trait for it.
* VSCode (?) autocompletion is not as rigid as in Intellij Rust as you can notice on the animation.
Intellij is able to refresh the completions on every new symbol added, yet VS Code does not query the completions on every symbol for me.
With a few debug prints placed in RA, I've observed the following behaviour: after the first set of completion suggestions is received, next symbol input does not trigger a server request, if the completions contain this symbol.
When more symbols added, the existing completion suggestions are filtered out until none are left and only then, on the next symbol it queries for completions.
It seems like the only alternative to get an updated set of results is to manually retrigger it with Esc and Ctrl + Space.
Despite the eerie latter bullet, the completion seems to work pretty fine and fast nontheless, but if you have any ideas on how to make it more smooth, I'll gladly try it out.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-11-17 17:50:08 +00:00
kjeremy
4e73c8f608
cargo update and add new license
2020-11-17 09:39:25 -05:00
kjeremy
233fdb12ce
Latest LSP 3.16 protocol
...
Pulls in https://github.com/gluon-lang/lsp-types/pull/186
2020-11-16 15:10:13 -05:00
Kirill Bulatov
3b0fc4d7f2
Omit modules during autocompletion
2020-11-16 21:19:06 +02:00
Kirill Bulatov
f62e8616c8
Add imports in auto completion
2020-11-16 21:19:05 +02:00
Benjamin Coenen
e73d140b51
add suggestion ..Default::default() for remaining struct fields in a constructor #6492
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-11-13 17:17:16 +01:00
kjeremy
3b9d164043
Update crates
2020-11-11 11:17:48 -05:00
kjeremy
f32be79296
Do not use yanked once_cell
2020-11-11 11:02:49 -05:00
Aleksey Kladov
731f7bfc02
Replace RacyFlag with OnceCell
2020-11-11 03:11:40 +01:00
kjeremy
6b9a3504ca
cargo update
2020-11-04 22:01:19 -05:00
kjeremy
0403e82d91
Bump chalk and lexer
2020-11-02 12:00:58 -05:00
Aleksey Kladov
f5e7f07838
Update crates
...
This is to bust the caches
2020-11-02 17:00:05 +01:00
Jeremy Kolb
5fccb72dd5
cargo update
2020-10-31 10:20:25 -04:00
Florian Diebold
bca51e3519
Upgrade Chalk to 0.36
...
Quite a few changes, because Chalk got rid of the `ApplicationTy` nesting.
2020-10-30 18:57:55 +01:00
kjeremy
e7e58b08ac
cargo update
2020-10-28 15:37:40 -04:00
kjeremy
5cb6fafd36
Latest proposed LSP 3.16.0
...
Needs: https://github.com/gluon-lang/lsp-types/pull/183
2020-10-26 09:23:34 -04:00
Florian Diebold
39dfca23f1
Add tracing to main rust-analyzer binary
2020-10-25 13:53:38 +01:00
bors[bot]
bf84e4958e
Merge #6331 #6342
...
6331: correct hover text for items with doc attribute with raw strings r=matklad a=JoshMcguigan
Fixes #6300 by improving the handling of raw string literals in attribute style doc comments.
This still has a bug where it could consume too many `"` at the start or end of the comment text, just as the original code had. Not sure if we want to fix that as part of this PR or not? If so, I think I'd prefer to add a unit test for either the `as_simple_key_value` function (I'm not exactly sure where this would belong / how to set this up) or create a `fn(&SmolStr) -> &SmolStr` to unit test by factoring out the `trim` operations from `as_simple_key_value`. Thoughts on this?
6342: Shorter dependency chain r=matklad a=popzxc
Continuing implementing suggestions from the `Completion refactoring` zulip thread.
This PR does the following:
- Removes dependency of `completions` on `assists` by moving required functionality into `ide_db`.
- Moves completely `call_info` crate into `ide_db` as it looks like it fits perfect there.
- Adds a bunch of new tests and docs.
- Adds the re-export of `base_db` to the `ide_db` and removes direct dependency on `base_db` from other crates.
The last point is controversial, I guess, but I noticed that in places where `ide_db` is used, `base_db` is also *always* used. Thus I think the dependency on the `base_db` is implied by the fact of `ide_db` interfaces, and thus it makes sense to just provide `base_db` out of the box.
Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
Co-authored-by: Igor Aleksanov <popzxc@yandex.ru>
2020-10-24 19:08:12 +00:00