Commit Graph

1093 Commits

Author SHA1 Message Date
Lukas Wirth
4771a56791 Parse extended_key_value_attributes 2021-03-19 02:13:46 +01:00
Aleksey Kladov
f5a81ec468 Upgrade rowan
Notably, new rowan comes with support for mutable syntax trees.
2021-03-16 16:10:49 +03:00
Edwin Cheng
8e07b23b84 Fix macro expansion for statements w/o semicolon 2021-03-16 13:44:50 +08:00
Lukas Wirth
2e3c156b0e Return multiple modules in parent_module 2021-03-15 15:15:40 +01:00
Jonas Schievink
bc4ecb199b Use expect-test for builtin macro/derive tests 2021-03-10 21:05:02 +01:00
bors[bot]
6c32e2d8a0
Merge #7965
7965: cargo update and lexer r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-03-10 18:59:19 +00:00
kjeremy
08e0e9976d cargo update and lexer 2021-03-10 13:47:12 -05:00
Jonas Schievink
2b8674b37e Implement builtin cfg! macro 2021-03-10 19:43:03 +01:00
bors[bot]
654313dbc7
Merge #6822
6822: Read version of rustc that compiled proc macro r=edwin0cheng a=jsomedon

Signed-off-by: Jay Somedon <jay.somedon@outlook.com>

This PR is to fix #6174.

I basically
* added two methods, `read_version` and `read_section`(used by `read_version`)
* two new crates `snap` and `object` to be used by those two methods

I just noticed that some part of code were auto-reformatted by rust-analyzer on file save. Does it matter?

Co-authored-by: Jay Somedon <jay.somedon@outlook.com>
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-09 20:57:04 +00:00
Laurențiu Nicola
fc9eed4836 Use upstream cov-mark 2021-03-08 22:19:44 +02:00
Aleksey Kladov
da73c93c7f Don't punish every crate with serde-json 2021-03-08 20:37:20 +03:00
kjeremy
e13ac349b5 Cargo update
Chalk changes just a version # bump. There are no actual commits.
2021-03-08 10:39:11 -05:00
Aleksey Kladov
0296cd590e ⬆️ xflags 2021-03-07 11:12:59 +03:00
kjeremy
124c9fe006 cargo update 2021-03-05 13:14:29 -05:00
Aleksey Kladov
142f9a03fd Cleanup install command 2021-03-05 11:51:32 +03:00
Jay Somedon
55d73bc675 Fix multiple issues from code review
* check metadata version
* use memmap
* use Result instead of unwrap

with Jay Somedon <jay.somedon@outlook.com>
2021-03-04 09:11:33 +08:00
Jay Somedon
6608acef71 Read version of rustc that compiled proc macro
With Jay Somedon <jay.somedon@outlook.com>
2021-03-04 09:05:23 +08:00
kjeremy
41d1b4cd26 Update lexer 2021-03-02 15:33:22 -05:00
kjeremy
58697afca4 bump once_cell 2021-03-02 12:41:20 -05:00
bors[bot]
91bf5fa827
Merge #7513
7513: NFA parser for mbe matcher r=matklad a=edwin0cheng

Almost straight porting from rustc one, but a little bit slow :(

```
rust-analyzer analysis-stats -q . 
```

From:
```log
Database loaded:     636.11ms, 277minstr
  crates: 36, mods: 594, decls: 11527, fns: 9017
Item Collection:     10.99s, 60ginstr
  exprs: 249618, ??ty: 2699 (1%), ?ty: 2101 (0%), !ty: 932
Inference:           28.94s, 123ginstr
Total:               39.93s, 184ginstr
```

To:
```log
Database loaded:     630.90ms, 277minstr
  crates: 36, mods: 594, decls: 11528, fns: 9018
Item Collection:     13.70s, 77ginstr
  exprs: 249482, ??ty: 2699 (1%), ?ty: 2101 (0%), !ty: 932
Inference:           30.27s, 133ginstr
Total:               43.97s, 211ginstr
```

Fixes #4777

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-02 13:20:47 +00:00
bors[bot]
8eee9149e8
Merge #7848
7848: Bump cargo_metadata r=matklad a=lnicola



Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-03-02 12:31:15 +00:00
Laurențiu Nicola
b20708f6ee Bump cargo_metadata 2021-03-02 14:27:29 +02:00
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