Paul Daniel Faria
76755ce176
Split glob import map to per-ns, switch ExprCollector to use a simpler push_res
2020-06-26 11:11:51 -04:00
bors[bot]
d86a2426a2
Merge #5077
...
5077: Type safer requests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-26 15:08:58 +00:00
Aleksey Kladov
9d15e8fc4f
Type safer requests
2020-06-26 17:07:14 +02:00
bors[bot]
fa70882418
Merge #5075
...
5075: Be more precise about flycheck status r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-26 15:02:00 +00:00
bors[bot]
4f60b4f2a3
Merge #5076
...
5076: Make VFS join methods fallible r=matklad a=jonas-schievink
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-06-26 14:37:15 +00:00
Aleksey Kladov
1893289e5c
Move progress reporting to utils
2020-06-26 16:33:57 +02:00
Jonas Schievink
72fe70f2f8
Make VFS join methods fallible
2020-06-26 16:30:50 +02:00
Aleksey Kladov
bd903bf132
Be more precise about flycheck status
2020-06-26 16:20:46 +02:00
bors[bot]
ce06f8d041
Merge #5072 #5073
...
5072: Cleanup r=matklad a=matklad
bors r+
🤖
5073: `iterate_method_candidates`: Address review comments r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-06-26 10:06:34 +00:00
Aleksey Kladov
12831b74af
Cleanup
2020-06-26 12:06:08 +02:00
Jonas Schievink
c441306427
Address review comments
2020-06-26 12:04:11 +02:00
Laurențiu Nicola
7e104ea4a8
Bump chalk
2020-06-26 13:00:55 +03:00
Aleksey Kladov
b039f0d1ba
Simplify
2020-06-26 11:44:46 +02:00
Aleksey Kladov
751b8792a2
Simplify
2020-06-26 11:43:07 +02:00
Aleksey Kladov
34118779ec
Workaround use Trait as _ bug in rust-analyzer
2020-06-26 11:39:27 +02:00
Aleksey Kladov
2fd25e2d98
reduce visibility
2020-06-26 11:29:27 +02:00
Aleksey Kladov
1272e6cb88
minor
2020-06-26 11:21:21 +02:00
bors[bot]
3f2a596b9b
Merge #5066
...
5066: Infer type for slice wildcard patterns r=flodiebold a=adamrk
Resolves https://github.com/rust-analyzer/rust-analyzer/issues/4830
The issue is just that we were never inferring the type for the wildcard `..` in slice patterns.
Co-authored-by: adamrk <ark.email@gmail.com>
2020-06-26 08:52:22 +00:00
Aleksey Kladov
5f6f994256
Simplify
2020-06-26 00:54:41 +02:00
Aleksey Kladov
dd5841556c
Smarter introduce variable
...
Use field init shorthand
2020-06-26 00:51:34 +02:00
Aleksey Kladov
e70f7dc10c
Minor
2020-06-26 00:27:57 +02:00
Aleksey Kladov
72fb712dff
Add new module for project loading stuff
2020-06-26 00:27:57 +02:00
Aleksey Kladov
3d0f782138
Prep dynamic workspace loading
2020-06-26 00:27:57 +02:00
Aleksey Kladov
73d73077fe
Separate creation and initialization of global state
2020-06-26 00:27:57 +02:00
adamrk
0ebc24043b
Infer type for slice wildcard patterns
2020-06-25 23:16:58 +02:00
Aleksey Kladov
df769e5bb4
Simplify diagnostics handling
2020-06-25 22:45:35 +02:00
Aleksey Kladov
86a4d4cb9c
Simplify
2020-06-25 19:23:52 +02:00
Aleksey Kladov
dba11cb060
-mMake it harder to accidently early-exit the loop
2020-06-25 19:01:16 +02:00
Paul Daniel Faria
de9e964e4a
Track import type outside of , use enum rather than bool to improve readability
2020-06-25 12:42:12 -04:00
bors[bot]
b5aa92bab9
Merge #5064
...
5064: Add NotificationDispatcher r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-25 16:29:23 +00:00
Aleksey Kladov
f5ea35a271
Add NotificationDispatcher
2020-06-25 18:28:58 +02:00
Aleksey Kladov
22098127c4
Move request dispatcher to a separate file
2020-06-25 17:22:18 +02:00
bors[bot]
ba72863452
Merge #5063
...
5063: Store field/variant attrs in ItemTree and use it for adt.rs queries r=jonas-schievink a=jonas-schievink
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-06-25 15:18:35 +00:00
Aleksey Kladov
379a096de9
Refactor main_loop
2020-06-25 17:14:11 +02:00
Jonas Schievink
dad2f75b91
Use ItemTree to answer enum_data query
2020-06-25 16:52:47 +02:00
Jonas Schievink
563d585594
Use IdRange for variants
2020-06-25 16:52:15 +02:00
Jonas Schievink
b06214d164
Generalize FieldIds -> IdRange<T>
2020-06-25 16:42:59 +02:00
Jonas Schievink
2a8fc9e682
adt.rs: fetch struct/union data from item tree
2020-06-25 16:41:08 +02:00
Aleksey Kladov
dd20c2ec5b
Move TaskPool into GlobalState
2020-06-25 15:35:42 +02:00
Paul Daniel Faria
0b657ddbfe
Revert resolution of all glob imports first, replace with tracking of glob imports and shadowing when more specific
2020-06-25 09:27:00 -04:00
Paul Daniel Faria
70d4829560
Order of glob imports should not affect import shadowing
2020-06-25 09:23:34 -04:00
Jonas Schievink
d84b3ff6a1
Collect field/variant attrs in ItemTree
2020-06-25 14:39:27 +02:00
Aleksey Kladov
9cdeb1291e
Better event naming
2020-06-25 14:13:17 +02:00
Jonas Schievink
9ba7726579
Allow iterating fields in the ItemTree
2020-06-25 13:50:27 +02:00
bors[bot]
4ec0a2c454
Merge #5056
...
5056: Canonicalize actor API r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-25 11:48:53 +00:00
Aleksey Kladov
331addcf61
Canonicalize actor API
2020-06-25 13:47:22 +02:00
Aleksey Kladov
394a3dbcb5
Fix matchig brace for pipes
2020-06-25 10:16:06 +02:00
Aleksey Kladov
1ccf33d88f
Minor, move code
2020-06-25 09:51:30 +02:00
bors[bot]
0d2e695ffc
Merge #5050
...
5050: Simplify r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-25 07:28:27 +00:00
Aleksey Kladov
941d4bfa53
Simplify
2020-06-25 09:27:59 +02:00
Aleksey Kladov
5d401092f0
Minor rename
2020-06-25 09:19:01 +02:00
bors[bot]
edf8f419b5
Merge #5049
...
5049: Rename ra_flycheck -> flycheck r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-25 07:15:30 +00:00
Aleksey Kladov
0ec5d4f55c
Rename ra_flycheck -> flycheck
2020-06-25 09:13:46 +02:00
bors[bot]
44d525d4e0
Merge #5048
...
5048: Unify code style for worker threads r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-25 07:01:14 +00:00
Aleksey Kladov
5a184fe855
Unify style
2020-06-25 09:00:33 +02:00
Aleksey Kladov
db58b3e063
matching brace works for | in lambdas
2020-06-25 08:49:26 +02:00
Aleksey Kladov
dab8808e82
Abstract over channel
2020-06-25 08:39:33 +02:00
Aleksey Kladov
69e6924dd5
Use Handle/Actor terminology for flycheck
2020-06-25 08:24:27 +02:00
Aleksey Kladov
874a5f80c7
Scale progress down
...
There are two reasons why we don't want a generic ra_progress crate
just yet:
*First*, it introduces a common interface between separate components,
and that is usually undesirable (b/c components start to fit the
interface, rather than doing what makes most sense for each particular
component).
*Second*, it introduces a separate async channel for progress, which
makes it harder to correlate progress reports with the work done. Ie,
when we see 100% progress, it's not blindly obvious that the work has
actually finished, we might have some pending messages still.
2020-06-25 08:01:03 +02:00
Aleksey Kladov
76a530242a
Merge branch 'Veetaha-feat/sync-branch'
2020-06-25 07:56:47 +02:00
Aleksey Kladov
10ee6eb733
Tweak visibility
2020-06-25 01:02:08 +02:00
Aleksey Kladov
012a7e57b9
Reduce visibility
2020-06-25 01:02:08 +02:00
Aleksey Kladov
19b063e055
Merge LoopState into GlobalState
2020-06-25 01:02:04 +02:00
Aleksey Kladov
693489e5ee
Flatten module hierarchy
2020-06-24 18:57:30 +02:00
Aleksey Kladov
d6c204c750
Cleanup visibility
2020-06-24 18:54:05 +02:00
bors[bot]
946b2c28a7
Merge #5038
...
5038: Make `iterate_method_candidates` non-generic r=jonas-schievink a=jonas-schievink
Closes https://github.com/rust-analyzer/rust-analyzer/issues/4975
bors r+ 🤖 ;)
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2020-06-24 15:45:39 +00:00
Jonas Schievink
cefb2204cb
Make iterate_method_candidates
non-generic
2020-06-24 17:45:38 +02:00
bors[bot]
7e61f4c59e
Merge #5035 #5037
...
5035: Less error-prone naming r=matklad a=matklad
bors r+
🤖
5037: Don't watch dirs if not asked to r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-24 15:18:13 +00:00
Aleksey Kladov
089ea36b2e
Don't watch dirs if not asked to
2020-06-24 17:11:07 +02:00
Aleksey Kladov
6937bcb67d
Less error-prone naming
2020-06-24 16:59:15 +02:00
Aleksey Kladov
ddc5a3e567
Fix infinite cargo check bug
2020-06-24 16:59:15 +02:00
Jonas Schievink
2928600374
Reorder items
2020-06-24 16:54:21 +02:00
Jonas Schievink
d6fd7809b0
Clean up and fix inner item collection a bit
2020-06-24 16:54:21 +02:00
Jonas Schievink
3b50b0b2b6
Use a HashMap instead of Vec
...
This is no longer enforcing stack discipline, so a Vec isn't necessary
or helpful
2020-06-24 16:54:21 +02:00
Jonas Schievink
59d4640b64
Remove unneeded HirFileId argument
2020-06-24 16:54:21 +02:00
Jonas Schievink
d4ddec2bdf
Shrink arenas after building ItemTree
2020-06-24 16:54:21 +02:00
Jonas Schievink
94169ee504
ItemTree: Use more boxed slices
2020-06-24 16:54:21 +02:00
Jonas Schievink
abdba92334
Don't allocate empty generics
2020-06-24 16:54:21 +02:00
Jonas Schievink
43cad21623
Don't allocate common visibilities
2020-06-24 16:54:20 +02:00
Jonas Schievink
16fd4dabb7
Remove file id from item tree
...
It's not needed, and `source` is only used by tests anyways
2020-06-24 16:53:56 +02:00
Jonas Schievink
c019002d17
Slightly reduce ItemTree memory footprint
2020-06-24 16:53:56 +02:00
Jonas Schievink
f9a1a9cd3c
Merge item tree traits
...
The Source trait isn't needed anymore since we no longer merge
extern crate items with use items.
2020-06-24 16:53:56 +02:00
Jonas Schievink
b5fd02d93c
Generate ModItem via macro
2020-06-24 16:53:56 +02:00
Jonas Schievink
20ff1cdcfb
Address more comments
2020-06-24 16:53:56 +02:00
Jonas Schievink
a0ad457575
if let else -> match
2020-06-24 16:53:56 +02:00
Jonas Schievink
ae7a296c85
Unify and test attribute handling
2020-06-24 16:53:56 +02:00
Jonas Schievink
689e147c9d
Collect inner items in expression macros
2020-06-24 16:53:54 +02:00
Jonas Schievink
5a81427304
Measure ItemTree query memory usage
2020-06-24 16:53:16 +02:00
Jonas Schievink
ffa0435050
Make generics and attr queries use ItemTree
...
Now it's fast
2020-06-24 16:53:16 +02:00
Jonas Schievink
19586bc5c6
Record HirFileId's in profiler
2020-06-24 16:53:16 +02:00
Jonas Schievink
1fbe21a545
Make remaining item data queries use item tree
2020-06-24 16:53:16 +02:00
Jonas Schievink
4b03b39d5b
draw the rest of the owl
2020-06-24 16:53:16 +02:00
Jonas Schievink
b94caeb88b
ItemTree: Make clonable and add AST access
2020-06-24 16:53:16 +02:00
Jonas Schievink
c12f7b610b
Lower generics
2020-06-24 16:53:16 +02:00
Jonas Schievink
864b650f92
ItemTree: use a newtyped ID
2020-06-24 16:53:16 +02:00
Jonas Schievink
278556f9fe
Move ItemTree lowering into its own module
2020-06-24 16:53:16 +02:00
Jonas Schievink
f9e5ba7d40
Remove now-broken incremental test
...
The ItemTree tracks impl and trait items, so the CrateDefMap now needs
recomputing when those change
2020-06-24 16:53:16 +02:00
Jonas Schievink
0e2602f75e
Remove raw item query
2020-06-24 16:53:16 +02:00
Jonas Schievink
7054e89d18
Fix test
2020-06-24 16:53:16 +02:00
Jonas Schievink
9d24412929
Move collector
2020-06-24 16:53:14 +02:00
Jonas Schievink
f9417bcf49
Draw the rest of the owl
2020-06-24 16:52:37 +02:00
Jonas Schievink
e24de2007f
collector changes WIP
2020-06-24 16:52:37 +02:00
Jonas Schievink
696a7a5a41
lower traits
2020-06-24 16:52:37 +02:00
Jonas Schievink
34bc80650b
Hook up query, add impls, lower moar
2020-06-24 16:52:37 +02:00
Aleksey Kladov
1d75d11d6c
Start item tree
2020-06-24 16:52:37 +02:00
Aleksey Kladov
e6c61d5072
Cleanup project.json deserialization
2020-06-24 16:16:52 +02:00
Aleksey Kladov
a07cad16ab
Rename json_project -> project_json
2020-06-24 16:03:24 +02:00
bors[bot]
97c4d06258
Merge #5015 #5027 #5028
...
5015: Account for updated module ids when determining whether a resolution is changed r=matklad a=Nashenas88
Fixes #4943
5027: Make Debug less verbose for VfsPath and use Display in analysis-stats r=matklad a=lnicola
5028: Remove namedExports config r=matklad a=lnicola
Fixes a warning:
```
(!) Plugin commonjs: The namedExports option from "@rollup/plugin-commonjs" is deprecated. Named exports are now handled automatically.
```
Co-authored-by: Paul Daniel Faria <Nashenas88@users.noreply.github.com>
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-06-24 13:02:37 +00:00
Paul Daniel Faria
43c6f6c039
Fix formatting issue with glob shadow test
2020-06-24 08:50:59 -04:00
Aleksey Kladov
154cb8243b
Be more explicit about absolute paths at various places
2020-06-24 14:39:34 +02:00
Paul Daniel Faria
dfd79907b8
Use a macro in push_res to simplify code, simplify glob_shadowed_def assertion
2020-06-24 08:20:41 -04:00
Laurențiu Nicola
c15c22139f
Make Debug less verbose for VfsPath and use Display in analysis-stats
2020-06-24 14:07:03 +03:00
bors[bot]
dff62def2e
Merge #5023
...
5023: Fix string literal inference in match r=flodiebold a=lnicola
Fixes #5020
r? @flodiebold
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-06-24 10:40:47 +00:00
bors[bot]
414b731e7d
Merge #5024 #5026
...
5024: Simplify r=matklad a=matklad
bors r+
🤖
5026: Disable file watching when running slow tests r=matklad a=matklad
This should rid us of the intermittent test failure
https://github.com/rust-analyzer/rust-analyzer/pull/5017#issuecomment-648717983
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-24 10:31:20 +00:00
Aleksey Kladov
0a2b6087ec
Simplify
2020-06-24 12:30:54 +02:00
Aleksey Kladov
a0b76161ab
Disable file watching when running slow tests
...
This should rid us of the intermittent test failure
https://github.com/rust-analyzer/rust-analyzer/pull/5017#issuecomment-648717983
2020-06-24 12:27:13 +02:00
Laurențiu Nicola
2bd9f0f020
Fix string literal inference in match
2020-06-24 13:20:06 +03:00
Aleksey Kladov
5e7a1a1203
Simplify
2020-06-24 12:01:17 +02:00
Aleksey Kladov
04fe512f0d
Simplify
2020-06-24 11:51:45 +02:00
Aleksey Kladov
9d64525daa
Simplify
2020-06-24 11:50:53 +02:00
Aleksey Kladov
d4a493078a
Simplify
2020-06-24 11:48:44 +02:00
Aleksey Kladov
c749fe223b
Remove duplication
2020-06-24 11:31:30 +02:00
Aleksey Kladov
c6795fb83a
More consistent usage of fixtures
2020-06-24 11:29:43 +02:00
Aleksey Kladov
e9cb818c26
Use fixtures more
2020-06-24 11:05:47 +02:00
Aleksey Kladov
08e2149eab
Simplify
2020-06-24 10:28:28 +02:00
bors[bot]
c544f9a137
Merge #4940
...
4940: Add support for marking doctest items as distinct from normal code r=ltentrup a=Nashenas88
This adds `HighlightTag::Generic | HighlightModifier::Injected` as the default highlight for all elements within a doctest. Please feel free to suggest that a new tag be created or a different one used.
![Screenshot from 2020-06-23 09-18-13](https://user-images.githubusercontent.com/1673130/85408493-9752ce00-b532-11ea-94fe-197353ccc778.png )
Fixes #4929
Fixes #4939
Co-authored-by: Paul Daniel Faria <Nashenas88@users.noreply.github.com>
Co-authored-by: Paul Daniel Faria <nashenas88@users.noreply.github.com>
2020-06-24 05:22:23 +00:00
Paul Daniel Faria
38af81f183
Account for updated module ids when determining whether a resolution is "changed"
2020-06-23 22:10:01 -04:00
Paul Daniel Faria
0d87eee3a9
Improve readability be replacing hard-to-read if-else branches with a match
2020-06-23 19:35:09 -04:00
Aleksey Kladov
d016cb4867
Use only one code-path for parsing fixtures
...
This removes leading newlines everywhere, shifting all ranges in tests
by one
2020-06-24 00:48:38 +02:00
Aleksey Kladov
e5101ae150
Centralize fixture parsing for assists
2020-06-24 00:30:34 +02:00
Aleksey Kladov
7ce122b1df
Remove useless test code
2020-06-23 23:45:40 +02:00
Aleksey Kladov
aa69757a01
More principled indentation trimming in fixtures
2020-06-23 23:33:41 +02:00
Aleksey Kladov
f2f69e75c8
Minor, rename
2020-06-23 22:51:33 +02:00
Aleksey Kladov
ff687453a8
Slightly better name
2020-06-23 21:29:50 +02:00
Aleksey Kladov
295c8d4f7f
Complicate
...
Fixing test fallout unfortunately requires more work, we need to do
it, but let's merge something at least!
2020-06-23 20:38:36 +02:00
Aleksey Kladov
a34f9b7fb3
Docs for Fixture
2020-06-23 18:58:45 +02:00
Aleksey Kladov
84cd28fddc
Cut problematic dependency
2020-06-23 18:56:26 +02:00
Aleksey Kladov
fdf86aee18
Nicer API
2020-06-23 18:46:56 +02:00
Aleksey Kladov
3486b47e5c
Simplify
2020-06-23 18:43:55 +02:00
Paul Daniel Faria
a8a606cdc4
Remove unrelated change
2020-06-23 12:40:55 -04:00
Aleksey Kladov
21f751a0e5
Simplify
2020-06-23 18:37:26 +02:00
Aleksey Kladov
30748161f0
Simplify
2020-06-23 18:37:26 +02:00
Aleksey Kladov
6996ec860b
Drop rarely used fixture functionality
2020-06-23 18:37:26 +02:00
Aleksey Kladov
f304874c8c
Move fixtures to a separate file
2020-06-23 18:37:26 +02:00
Paul Daniel Faria
1e9095ae8c
Update comment for pop_and_inject
...
Co-authored-by: Leander Tentrup <ltentrup@users.noreply.github.com>
2020-06-23 12:15:45 -04:00
Paul Daniel Faria
2a56323537
Update injection mechanism and stop injecting through highlight element, switch to more general new highlight tag, generic
2020-06-23 12:13:50 -04:00
Paul Daniel Faria
d8230acd84
Add punctuation highlighting for highlighting punctuation in doctests, fix highlighting in doctests
2020-06-23 12:11:33 -04:00
Paul Daniel Faria
e137d9accb
Add default color and opacity for documentation and injected, respectively, in the html generator
2020-06-23 12:08:04 -04:00
Paul Daniel Faria
351bba9bee
Add support for marking doctest items as distinct from normal code, add default tag to all doctest elements
2020-06-23 12:08:04 -04:00
Aleksey Kladov
dad1333b48
New VFS
2020-06-23 17:51:06 +02:00