Aleksey Kladov
d25c89f760
introduce navigation target
2019-01-02 16:53:40 +03:00
Aleksey Kladov
a4b4fd7dc5
move symbols to ra_analysis
2019-01-02 16:29:08 +03:00
Aleksey Kladov
37ed2f35ba
rename MFileId -> HirFileId
2019-01-02 00:09:54 +03:00
Aleksey Kladov
756e878158
add items from macros to modules
2019-01-01 22:15:35 +03:00
Aleksey Kladov
e5b2fd6771
hard-code expansion of query_group
2019-01-01 22:15:35 +03:00
Aleksey Kladov
882a86240f
rename
2019-01-01 22:15:35 +03:00
Aleksey Kladov
b2fec18098
move more macros to hir
2019-01-01 22:15:35 +03:00
Aleksey Kladov
57030f587b
use macros database in analysis
2019-01-01 22:15:35 +03:00
gfreezy
39dab68404
place complete_use_tree_keyword in the same mod with complete_expr_keyword
2019-01-01 23:12:51 +08:00
gfreezy
9895529d5c
move to a seperate complete_use_tree_keyword mod
2019-01-01 23:00:29 +08:00
gfreezy
22ea00d5ff
complete "self" and "super"
2019-01-01 22:45:53 +08:00
gfreezy
f408b1caa3
complete "use crate" for "use cr" too
2019-01-01 22:10:11 +08:00
gfreezy
fc2d7d1e1f
complete crate in use stmt
2019-01-01 21:55:27 +08:00
bors[bot]
6044ec5057
Merge #395
...
395: generalize r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-31 16:06:27 +00:00
Aleksey Kladov
862c99d0d5
generalize highlighting to work with nodes
2018-12-31 19:06:00 +03:00
Aleksey Kladov
f1e8ebfbeb
generalize extend selection to work with nodes
2018-12-31 19:01:51 +03:00
Jan Jansen
05daa86634
Make modules with tests runnable
...
Fixes #154
2018-12-31 15:00:04 +01:00
bors[bot]
acc61cc284
Merge #375
...
375: Move renames into ra_analysis and rename the correct range r=DJMcNab a=DJMcNab
Fixes #230 . Supersedes #235 .
TODO: add some tests for this
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-30 20:43:58 +00:00
Aleksey Kladov
29a52f8d56
refine semi completion
2018-12-30 22:14:35 +03:00
DJMcNab
c402b007a3
Move renames into ra_analysis
2018-12-30 18:14:55 +00:00
Aleksey Kladov
822abb3e62
semies after break&continue
2018-12-30 18:08:17 +03:00
Aleksey Kladov
0f75ac1ae0
add ;
to last return in block
2018-12-30 17:22:12 +03:00
Aleksey Kladov
c182aab546
don't add () in use items
2018-12-30 16:29:10 +03:00
Aleksey Kladov
3ee7a95315
use completion context when creating completion
2018-12-30 16:20:17 +03:00
bors[bot]
8d1df9834c
Merge #358
...
358: Add support for formatting entire document with rustfmt r=matklad a=aleksanb
Attempting to format a document when rustfmt isn't installed will result
in an error being returned to the frontend. An alternative
implementation would be returning zero replacements.
Part of https://github.com/rust-analyzer/rust-analyzer/issues/160 .
Co-authored-by: Aleksander Vognild Burkow <aleksanderburkow@gmail.com>
2018-12-30 10:16:22 +00:00
Aleksey Kladov
1ac934eafa
add paramthesis when completing functions
2018-12-30 12:49:07 +03:00
Aleksander Vognild Burkow
8b24f158f7
Add support for formatting entire document with rustfmt
...
Attempting to format a document when rustfmt isn't installed will result
in an error being returned to the frontend. An alternative
implementation would be returning zero replacements.
2018-12-29 21:57:46 +01:00
Aleksey Kladov
11122e29b7
completion for enum variants
2018-12-28 21:07:47 +03:00
Aleksey Kladov
5299a35e3d
extend selection works with macros
2018-12-28 20:33:39 +03:00
Aleksey Kladov
b911ee542b
move macro to a separate module
2018-12-28 18:21:30 +03:00
Aleksey Kladov
fd33c89207
switch to FileRange
2018-12-28 18:17:43 +03:00
Aleksey Kladov
02924174bb
introduce FileRange
2018-12-28 18:17:43 +03:00
Aleksey Kladov
d7440a5f49
highlight macro idents
2018-12-28 18:17:43 +03:00
Aleksey Kladov
406505e096
super simplistic macro expansion
2018-12-28 16:59:58 +03:00
Aleksey Kladov
072028e679
add macro-call node
2018-12-28 13:27:30 +03:00
Aleksey Kladov
dc496d0516
move highlightning to a separate file
2018-12-28 13:14:39 +03:00
Aleksey Kladov
bc833216d7
simplify
2018-12-28 00:08:33 +03:00
Aleksey Kladov
58a631f39a
dead code
2018-12-28 00:01:56 +03:00
Aleksey Kladov
dddbac6877
remove FnId
2018-12-27 23:51:44 +03:00
Aleksey Kladov
e066050671
use names everywhere
2018-12-27 21:21:10 +03:00
Aleksey Kladov
e4de2c8d7f
add function to completion ctx
2018-12-27 17:33:52 +03:00
bors[bot]
1d6dcef5c5
Merge #332
...
332: Struct types r=matklad a=flodiebold
Infer types for struct fields, and add basic field completions. There's also some code for enums, but I focused on getting structs working.
There's still ways to go before this becomes useful: There's no autoderef (or even reference types) and no inference for `self`, for example.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2018-12-27 10:08:34 +00:00
Aleksey Kladov
4e2dffd798
expose make_pub_crate action
2018-12-27 12:35:40 +03:00
Florian Diebold
bc745a1396
Resolve field types lazily
...
I.e. not already when getting the HIR for the struct.
2018-12-25 21:40:33 +01:00
Florian Diebold
cdca397061
Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::Ty
2018-12-25 21:14:13 +01:00
gfreezy
72eb9de747
add fix for removing unnecessary braces in use statements
2018-12-26 00:45:13 +08:00
Florian Diebold
3e4d41d1e4
Determine receiver for completion in a more robust way
...
Also rename a parameter.
2018-12-25 17:43:58 +01:00
Florian Diebold
ab0b63992b
Implement basic completion for fields
2018-12-25 15:27:15 +01:00
Florian Diebold
4ff1618520
Do name resolution by namespace (types/values)
2018-12-25 15:16:42 +01:00
Florian Diebold
b5b68f2094
Add basic HIR and types for structs/enums
2018-12-25 15:16:42 +01:00
bors[bot]
b65ba8f1d6
Merge #326
...
326: resolved #324 : remove unnecessary braces in use statement. r=matklad a=gfreezy
Add inspection for unnecessary braces in use statement
Co-authored-by: gfreezy <gfreezy@gmail.com>
2018-12-24 18:39:31 +00:00
gfreezy
29798c763c
remove option from Diagnostic
2018-12-24 23:00:18 +08:00
gfreezy
70df097c89
keep severity to Error & WeakWarning
2018-12-24 22:48:46 +08:00
gfreezy
17b35a7f7d
remove unnecessary braces in use statments
2018-12-24 00:40:36 +08:00
gfreezy
346638c809
add serverity to vscode diagnostics
2018-12-24 00:39:33 +08:00
Florian Diebold
ef67581104
Resolve paths to defs (functions currently) during type inference
2018-12-23 17:13:11 +01:00
Florian Diebold
515c3bc59b
Cleanup
2018-12-23 13:48:04 +01:00
Florian Diebold
7348f7883f
Add testing infrastructure for type inference
...
- move dir_tests to test_utils for that.
2018-12-23 13:48:04 +01:00
Florian Diebold
3ac605e687
Add beginnings of type infrastructure
2018-12-23 13:48:04 +01:00
Aleksey Kladov
94241cec04
less verbose debug for library data
2018-12-22 11:57:42 +03:00
Aleksey Kladov
49e746b010
completion uses hir scopes
2018-12-22 11:01:03 +03:00
Aleksey Kladov
ea763c73b8
fix snippet icon
2018-12-22 02:28:09 +03:00
Aleksey Kladov
498e3a6846
binding icon
2018-12-22 02:24:59 +03:00
Aleksey Kladov
97cb463c9b
moar icons
2018-12-22 02:20:14 +03:00
Aleksey Kladov
238b52358d
more icons
2018-12-22 02:03:18 +03:00
Aleksey Kladov
328d123f5b
specify completion item kind
2018-12-22 01:42:26 +03:00
Aleksey Kladov
284e894069
cleanup
2018-12-22 01:42:26 +03:00
Aleksey Kladov
25dda42f37
introduce ComletionItemKind
2018-12-22 01:42:26 +03:00
Aleksey Kladov
ebb584ce66
rename completion kind
2018-12-22 01:42:26 +03:00
bors[bot]
184665ff9b
Merge #315
...
315: Split completion into manageable components r=matklad a=matklad
The main idea here is to do completion in two phases:
* first, we figure out surrounding context
* then, we run a series of completers on the given context.
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-21 22:04:32 +00:00
Aleksey Kladov
2ae87ffc9a
cleanup
2018-12-22 01:03:58 +03:00
Aleksey Kladov
a8e04a7028
docs
2018-12-22 01:01:40 +03:00
Aleksey Kladov
200cc0a1e3
rename tests
2018-12-22 00:55:20 +03:00
Aleksey Kladov
ccca5aae43
scope-based copmletions on original file
2018-12-22 00:52:02 +03:00
Aleksey Kladov
2136e75c0b
move path completion to a separate component
2018-12-21 23:04:56 +03:00
Aleksey Kladov
cbe67339df
more completion components
2018-12-21 20:55:00 +03:00
Aleksey Kladov
c2bf174e9c
Start splitting completion into components
2018-12-21 20:25:29 +03:00
Aleksey Kladov
e086cc8db5
hide empty changes
2018-12-21 19:13:26 +03:00
Aleksey Kladov
12810b93c5
wip
2018-12-21 19:10:07 +03:00
Aleksey Kladov
9de3a45be6
add tests for pd
2018-12-21 18:53:00 +03:00
Aleksey Kladov
45232dfa68
organize completion tests better
2018-12-21 18:13:21 +03:00
Aleksey Kladov
d4ef07b235
use completions in API
2018-12-21 15:50:07 +03:00
Aleksey Kladov
ba0072401c
use Completions to collect completions
2018-12-21 15:46:01 +03:00
Aleksey Kladov
052e20162a
docs
2018-12-21 15:34:11 +03:00
Aleksey Kladov
0ce82516c1
introduce Completions
2018-12-21 15:32:29 +03:00
Aleksey Kladov
4092b8d0b5
make compleion item details private
2018-12-21 15:19:46 +03:00
Aleksey Kladov
b5c5995bf1
use builder interface for completion item
2018-12-21 14:38:41 +03:00
Aleksey Kladov
b0ff6176ed
flip params
2018-12-21 14:02:51 +03:00
Aleksey Kladov
74406ca8ea
introduce completion_item module
2018-12-21 14:02:14 +03:00
Aleksey Kladov
b5b44659a4
edits use source-root API
2018-12-21 12:18:14 +03:00
Aleksey Kladov
0063f03e86
hide atom edits a bit
2018-12-21 11:52:32 +03:00
Aleksey Kladov
164d53b22f
better debug impls
2018-12-21 11:49:18 +03:00
Aleksey Kladov
aa628f4749
fix SourceFileEdit name
2018-12-21 11:15:23 +03:00
Aleksey Kladov
bb2bafb606
docs for input queries
2018-12-20 14:12:47 +03:00
Aleksey Kladov
a084412f06
set symbol index as const
2018-12-20 12:15:38 +03:00
Aleksey Kladov
6782fe2a5b
Treat
2018-12-20 12:15:38 +03:00
Aleksey Kladov
97812c192a
Restore library symbols
2018-12-20 12:15:38 +03:00
Aleksey Kladov
2fe41574a1
fix tests
2018-12-20 12:15:38 +03:00
Aleksey Kladov
e6465e7e2a
index all local crates
2018-12-20 12:15:38 +03:00
Aleksey Kladov
7b6bafa631
fix syc
2018-12-20 12:15:38 +03:00