Commit Graph

305 Commits

Author SHA1 Message Date
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
fd927ea3a9 use root-relative paths 2018-12-21 12:30:28 +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
Aleksey Kladov
a5ef8ad05b swtich lsp server to vfs 2018-12-20 12:15:38 +03:00
Aleksey Kladov
79596abcaf dead import 2018-12-20 12:15:38 +03:00
Aleksey Kladov
85290bc134 switch analysis to vfs 2018-12-20 12:15:38 +03:00
Aleksey Kladov
b6ce7a6d34 make it compile 2018-12-20 12:15:38 +03:00
Aleksey Kladov
d20d788571 disable gc for now 2018-12-19 01:10:03 +03:00
Aleksey Kladov
e7aa17b560 Gc syntax trees after every modification 2018-12-19 00:35:13 +03:00
Bernardo
0527e3b283 rename Edit to TextEdit and AtomEdit to AtomTextEdit 2018-12-11 19:07:17 +01:00
Bernardo
7344d28768 extract AtomEdit and Edit into new ra_text_edit crate 2018-12-10 22:09:12 +01:00
Aleksey Kladov
7fd6a41127 Refactor symbol resolve API
Introduce ReferenceResolution to avoid nesting to many non-nominal
types.
2018-12-08 21:18:29 +03:00
Aleksey Kladov
4cbc902fcc grand module rename 2018-12-08 19:30:35 +03:00
Aleksey Kladov
e096867ada reformat 2018-12-08 19:28:24 +03:00
DJMcNab
f88e0700e6 Add a better text for hover and stop duplicating work done in approximatelly_resolve_symbol 2018-12-08 19:28:10 +03:00
DJMcNab
6d548d944f Fix typo in comment 2018-12-08 19:28:10 +03:00
Aleksey Kladov
28ddecf6c9 modernize even more 2018-12-06 21:16:37 +03:00
Aleksey Kladov
4344264024 move fuzzy source binding to a separete mode 2018-12-05 13:16:20 +03:00
Aleksey Kladov
7960c8b276 restore index-based gotodef 2018-12-05 12:17:38 +03:00
Aleksey Kladov
d8b0379e10 Add functions to DefId 2018-12-04 23:44:00 +03:00
Aleksey Kladov
45fce90349 ModuleSource is ItemSource 2018-12-04 22:46:23 +03:00
bors[bot]
244f9a142f Merge #250
250: Improve the suggestion for test functions r=DJMcNab a=DJMcNab

I haven't fully updated the previous commented out test - I don't know why it was commented out so some clarification would be welcome.

Co-authored-by: Daniel McNab <36049421+djmcnab@users.noreply.github.com>
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-02 14:58:32 +00:00
DJMcNab
224e0cee5a Fix formatting 2018-12-02 14:57:54 +00:00
Daniel McNab
3dea87b054 Format completion text properly 2018-11-28 22:02:53 +00:00
Daniel McNab
f988441904 Add tfn lookup and remove test prefix 2018-11-28 18:39:33 +00:00
Daniel McNab
b47a88be9c Change the body and name of the test function completion 2018-11-28 17:04:03 +00:00
Aleksey Kladov
af7a0596f6 remove useless test hooks 2018-11-28 16:25:56 +03:00
Aleksey Kladov
e89700f967 Move hir tests to hit 2018-11-28 16:19:01 +03:00
Aleksey Kladov
59e29aef63 Move hir to a separate crate 2018-11-28 04:09:44 +03:00
Aleksey Kladov
0e4b710af8 introduce hir crate 2018-11-28 03:42:26 +03:00
Aleksey Kladov
f66e5b6e6b move ids to HIR 2018-11-28 03:31:50 +03:00
Aleksey Kladov
11168c464c move db basics to ra_db
This should allow to move hir to a separate crate
2018-11-28 03:25:20 +03:00
Aleksey Kladov
b2de95879a generalize location interner 2018-11-28 02:49:28 +03:00
Aleksey Kladov
ec45dfea1e rename file_syntax -> source_file 2018-11-28 02:25:03 +03:00
Aleksey Kladov
65c064b2a9 introduce SymbolsDatabase 2018-11-28 02:22:25 +03:00
Aleksey Kladov
201aa7ea2a remove syntax ptr 2018-11-28 02:15:21 +03:00
Aleksey Kladov
c2abd17f57 Use ItemPtr for id 2018-11-28 02:13:52 +03:00
Aleksey Kladov
3922503205 ItemId based module source 2018-11-28 02:09:09 +03:00
Aleksey Kladov
9027a21f9a Introduce SourceItemId 2018-11-28 01:53:54 +03:00
Aleksey Kladov
00df339c41 rename 2018-11-28 01:48:43 +03:00
Aleksey Kladov
5e7f4202cf Move FileItems up 2018-11-28 01:45:36 +03:00
Aleksey Kladov
b9100d769a Remove unused dead code 2018-11-28 01:41:10 +03:00
Aleksey Kladov
4c9933c016 check_canceled is a method 2018-11-28 01:38:39 +03:00
Aleksey Kladov
806ea03b64 drop descriptor suffix, use hir:: instead 2018-11-28 01:22:17 +03:00
Aleksey Kladov
36b1d20c16 rename ModuleDescriptor -> Module 2018-11-28 01:19:55 +03:00
Aleksey Kladov
16f67ee384 move resolve_local to Scopes 2018-11-28 01:11:29 +03:00
Aleksey Kladov
7207eef716 rename FnDescriptior -> FnSignatureInfo 2018-11-27 23:48:24 +03:00
Aleksey Kladov
67de38ec7d move resolve_local_scope 2018-11-27 23:40:23 +03:00
Aleksey Kladov
93fae08261 make module module private 2018-11-27 23:35:53 +03:00
Aleksey Kladov
b7049ea543 move query definitions 2018-11-27 23:33:36 +03:00
Aleksey Kladov
90bc832b22 remove underscores 2018-11-27 23:05:33 +03:00
Aleksey Kladov
f14902f67b move hir db 2018-11-27 23:03:08 +03:00
Aleksey Kladov
109a7f3717 itroduce FunctionDescriptor 2018-11-27 22:58:09 +03:00
Aleksey Kladov
f4d0cb64fc rename descriptorsdb -> hirdb 2018-11-27 21:58:44 +03:00
Aleksey Kladov
d659b7a2f0 start descriptors -> hir rename 2018-11-27 21:45:42 +03:00
Aleksey Kladov
192e2bbb0e resolve_path works with DefIds 2018-11-27 19:56:03 +03:00
Aleksey Kladov
aa7fd563a4 use ctry 2018-11-27 18:45:16 +03:00
Aleksey Kladov
f4860870da scope-based resolve path 2018-11-27 18:25:35 +03:00
Aleksey Kladov
68f66e0f44 add db to resolve_path 2018-11-27 18:25:35 +03:00
Aleksey Kladov
5b0e347f89 Make resolve_path cancelable 2018-11-27 18:25:35 +03:00
Aleksey Kladov
6bb06addf8 don't use volatile queries
"volatile" means "changes every time". That is, all transitive
rev-deps of volatile queries will be executed every time. We actually
need "dependencies".
2018-11-27 17:39:58 +03:00
Aleksey Kladov
10f4d4b74c Make nameresolution resilient to reparsing
We now store item id's instead of local syntax ptrs, and item ids
don't change if you type inside a single function.
2018-11-27 15:02:06 +03:00
Aleksey Kladov
4d87799a4a implement file_items 2018-11-27 15:01:52 +03:00
Aleksey Kladov
16cdd126b6 add file items query 2018-11-27 15:01:52 +03:00