DJMcNab
f0e5a314b0
Dedupe PATH_FIRST in ATOM_EXPR_FIRST
2019-01-24 21:31:43 +00:00
DJMcNab
4899e7be76
Support universal function call syntax in function calls
2019-01-24 21:19:16 +00:00
Aleksey Kladov
90215eb5a0
generalize boilerplate
2019-01-25 00:02:18 +03:00
Aleksey Kladov
1a5f32fcb5
remove dead code
2019-01-24 23:46:48 +03:00
Aleksey Kladov
f3a37522a0
removed untyped typabledef
2019-01-24 23:39:39 +03:00
Aleksey Kladov
6a5a1f5902
adapt ide_api to the new API
2019-01-24 23:36:16 +03:00
Aleksey Kladov
4c514a3e02
move enum variant to the new API
2019-01-24 23:32:41 +03:00
Hrvoje Ban
4eff8ddb8b
Fill in DocumentSymbol::detail
2019-01-24 19:05:26 +01:00
Aleksey Kladov
11dda8a0fb
remove useless aliases
2019-01-24 19:29:44 +03:00
Aleksey Kladov
a7c0336a75
macro-generate froms
2019-01-24 19:16:25 +03:00
Aleksey Kladov
aea1f95a66
adapt ide_api to the new API
2019-01-24 19:04:02 +03:00
Aleksey Kladov
ce2041252a
kill unused defs
2019-01-24 18:57:38 +03:00
Aleksey Kladov
566c8e321e
migrate enums to new id
2019-01-24 18:56:38 +03:00
Aleksey Kladov
cefc5cbb4a
introduce EnumId
2019-01-24 17:56:00 +03:00
Aleksey Kladov
60a607d33f
new struct id
2019-01-24 17:54:18 +03:00
bors[bot]
abb9bfe44d
Merge #627
...
627: Use stable toolchain r=matklad a=kjeremy
Fixes #622
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-24 13:34:19 +00:00
Jeremy Kolb
52633b2a07
Display type when completing tuples
2019-01-24 08:25:35 -05:00
Aleksey Kladov
c57a857988
add StructId
2019-01-24 16:18:20 +03:00
Jeremy Kolb
1ebaf06f39
Use stable toolchain
2019-01-24 07:58:38 -05:00
Aleksey Kladov
2734636c53
update ide_api to new hir
2019-01-24 15:40:52 +03:00
Aleksey Kladov
1754dd9fdd
remove DefKind::Function
2019-01-24 15:31:12 +03:00
Aleksey Kladov
ec7ed054e0
Functions use new id scheme
2019-01-24 15:28:50 +03:00
Aleksey Kladov
a00570d7a3
minor rename
2019-01-24 13:40:36 +03:00
Aleksey Kladov
f1959bbae0
add FunctionId
2019-01-24 13:34:41 +03:00
Aleksey Kladov
3ab1519cb2
Change ids strategy
...
this is a part of larghish hir refactoring which aims to
* replace per-source-root module trees with per crate trees
* switch from a monotyped DedId to type-specific ids
2019-01-24 13:29:19 +03:00
Aleksey Kladov
9fe09db771
encapsulate hir locations
2019-01-24 12:41:08 +03:00
Jeremy Kolb
f87ce73579
Add a comment
2019-01-23 20:13:36 -05:00
Jeremy A. Kolb
30f0736e64
Fix snap
2019-01-23 18:50:46 -05:00
Jeremy A. Kolb
7b548de634
Add a bunch of new documentation to completions
2019-01-23 17:46:14 -05:00
Jeremy A. Kolb
576625f0a1
Add way of getting docs from the code model and use for completion
2019-01-23 16:32:04 -05:00
Jeremy A. Kolb
6a6ce2bc95
Make EnumVariant a DocCommentsOwner
2019-01-23 16:23:21 -05:00
bors[bot]
bf9cd6ee30
Merge #617 #618
...
617: Use npm ci instead of install r=matklad a=h-michael
fix #422
`npm install` is always recreate `package-lock.json`.
So we might use `npm ci` with `install-code`
https://docs.npmjs.com/cli/ci.html#description
618: Add install-lsp subcommand r=matklad a=h-michael
related https://github.com/rust-analyzer/rust-analyzer/pull/617#issuecomment-456914650
Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2019-01-23 19:15:50 +00:00
Josh Robson Chase
2ffea72f74
More correct raw ident handling
2019-01-23 13:57:17 -05:00
Hirokazu Hata
0dc60e10ac
Use npm ci instead of install
2019-01-24 03:23:15 +09:00
Josh Robson Chase
3b70acad01
Use IDENT for both raw and normal idents
2019-01-23 13:19:49 -05:00
Josh Robson Chase
1cd6d6539a
Add raw idents to lexer and parser
2019-01-23 13:17:41 -05:00
bors[bot]
0b942cbcb0
Merge #615
...
615: Bumpup lsp-types to v0.55.0 r=DJMcNab a=h-michael
https://github.com/gluon-lang/lsp-types/compare/v0.54.0...v0.55.0
Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2019-01-23 17:51:28 +00:00
Hirokazu Hata
70a35379ab
Fix target_selection_range type
2019-01-24 02:47:30 +09:00
Hirokazu Hata
76d52be1da
Bumpup lsp-types to v0.55.0
2019-01-24 02:47:03 +09:00
Aleksey Kladov
bea75e0943
drop obsolete comment
2019-01-23 20:45:32 +03:00
Aleksey Kladov
59f830d3e8
assign DefIds when lowering
2019-01-23 19:49:11 +03:00
Aleksey Kladov
d4ed25d86f
introduced better typed AstPtr
2019-01-23 18:26:02 +03:00
Aleksey Kladov
e22b6edae5
refactor
2019-01-23 18:09:45 +03:00
Aleksey Kladov
343852d8b2
simiplify
2019-01-23 17:57:41 +03:00
Aleksey Kladov
d853e9b1ef
better names
2019-01-23 17:52:35 +03:00
Aleksey Kladov
7b901f86cd
move SyntaxPtr to ra_syntax
2019-01-23 17:37:10 +03:00
Aleksey Kladov
71b9f06c89
don't insert parens for self methods
2019-01-23 16:21:20 +03:00
Aleksey Kladov
2dbf58c579
move completion item tests closer to the code
...
this is the reason why we need marks: the tests were spread across two
files, because I've forgotten that there were tests already
2019-01-23 16:05:13 +03:00
Aleksey Kladov
45da21672a
generalize marking infrastructure
2019-01-23 15:36:29 +03:00
Aleksey Kladov
28661facf6
⬆️ insta
2019-01-23 15:04:38 +03:00
gfreezy
13d2fd32ab
fix completion bugs
2019-01-23 15:43:47 +08:00
bors[bot]
488326ffa7
Merge #598
...
598: Add function signature to CompletionItem detail r=matklad a=kjeremy
Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2019-01-23 07:27:09 +00:00
Jeremy A. Kolb
a3472f8fe1
Move label from hir to ide_api
2019-01-22 18:20:40 -05:00
Aleksey Kladov
0ba7e2eaeb
ad status command
2019-01-23 01:24:53 +03:00
Jeremy A. Kolb
9582a439e1
Simplify CallInfo label and documentation
2019-01-22 16:28:02 -05:00
Aleksey Kladov
7b28a15202
⬆️ rowan
2019-01-22 23:37:03 +03:00
Erlend Tobiassen
c550c6759d
Add test for placeholder parameters in trait fn defs
2019-01-22 18:46:15 +01:00
Erlend Tobiassen
234b65fd61
Allow placeholder parameters in trait fn defs
2019-01-22 18:33:53 +01:00
Jeremy A. Kolb
070a980224
Add function signature to CompletionItem detail
2019-01-22 10:54:50 -05:00
bors[bot]
595a2f9900
Merge #593
...
593: Docs for completion r=matklad a=kjeremy
The first commit adds documentation support to CompletionItems.
The second one I am unsure about. Is that the right way to add docs for functions? If so should I do something similar for other `hir` types and CompletionItems?
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2019-01-22 15:06:32 +00:00
Jeremy A. Kolb
7c27e6d2b3
Update snaps
2019-01-22 09:51:29 -05:00
Jeremy Kolb
b540451483
Move docs to Function
2019-01-22 08:55:05 -05:00
bors[bot]
9e0abfc0c9
Merge #592
...
592: Allow types to the left of `:` in where predicates r=matklad a=regiontog
Adresses #584
Co-authored-by: Erlend Tobiassen <erlend.tobiassen@gmail.com>
2019-01-22 13:49:33 +00:00
Erlend Tobiassen
84f888e93d
No need for is_type_start
2019-01-22 14:46:06 +01:00
Erlend Tobiassen
9f3d133813
Prefer TYPE_FIRST
2019-01-22 14:36:57 +01:00
Erlend Tobiassen
8198cde13b
Update tests after allowing where predicate to accept types
2019-01-22 14:32:23 +01:00
Aleksey Kladov
cd67fb3ac1
fold macros
2019-01-22 16:26:32 +03:00
Erlend Tobiassen
2b22f5fb43
Optimistically bail out of where clause loop if not at start of a type or lifetime
2019-01-22 13:17:10 +01:00
Jeremy Kolb
b77d780f0e
Thread documentation through FnSignature and CompletionItem
2019-01-21 21:42:37 -05:00
Jeremy Kolb
5d110c0ee2
Teach CompletionItem about documentation
2019-01-21 21:41:39 -05:00
Erlend Tobiassen
1aba42128f
Don't leave a marker hanging without completing it.
2019-01-22 01:25:00 +01:00
Erlend Tobiassen
1059ec74e2
Allow types to the left of : in where predicates.
2019-01-22 01:11:35 +01:00
Aleksey Kladov
49596bbc2b
⬆️ insta
2019-01-22 01:28:57 +03:00
bors[bot]
5a753b39c7
Merge #590
...
590: Use insta for ty tests r=matklad a=flodiebold
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-21 22:16:33 +00:00
Florian Diebold
a252110616
Use insta for ty tests
2019-01-21 22:52:35 +01:00
Florian Diebold
0cfd80422a
Fix .not postfix completion
2019-01-21 22:33:30 +01:00
Florian Diebold
e45f476d56
Fix panic trying to get substs on unknown type
...
Fixes #585 .
2019-01-21 21:42:19 +01:00
bors[bot]
237bb929f4
Merge #582
...
582: Postfix completion r=matklad a=gfreezy
resolved #525
Co-authored-by: gfreezy <gfreezy@gmail.com>
2019-01-21 08:12:14 +00:00
gfreezy
5d1a63c695
postfix completion
2019-01-21 13:19:51 +08:00
gfreezy
77d9611e6b
typos fix
2019-01-21 10:35:18 +08:00
bors[bot]
f133702f72
Merge #574
...
574: refactor completions to use TextEdit instead of InsertText r=matklad a=gfreezy
1. migrate from `insertText` to `TextEdit` from `CompleteItem`
2. use `insta` to test completions
Co-authored-by: gfreezy <gfreezy@gmail.com>
2019-01-20 18:27:23 +00:00
Aleksey Kladov
73836cdbbc
extend selection expands macros and can totally panic
2019-01-20 21:05:01 +03:00
Aleksey Kladov
171f6e6d00
somewhat better name
2019-01-20 21:01:11 +03:00
Aleksey Kladov
1ec1bd8139
make matching brace consistent
2019-01-20 20:59:46 +03:00
Aleksey Kladov
c517696fab
use with_db consistently
2019-01-20 20:55:08 +03:00
Florian Diebold
3c4a4c6ae9
Fix panic on inferring field access on an enum
2019-01-20 18:14:19 +01:00
gfreezy
fd8db14c2f
fix tests
2019-01-20 17:28:10 +08:00
gfreezy
ecc5a2e3df
workaround for trigger character
2019-01-20 13:34:16 +08:00
gfreezy
2a43638052
use a combination of source_change
and text_edit
for CompleteItem
2019-01-20 12:02:00 +08:00
Florian Diebold
5f3509e140
Add an assert
2019-01-19 19:00:36 +01:00
Florian Diebold
969f588025
Generics -> GenericParams
2019-01-19 18:58:04 +01:00
gfreezy
94d96b60f3
refactor to use remove_range
and replace_range
instead of TextEdit
2019-01-20 00:38:34 +08:00
Florian Diebold
9e4b5ecec4
Make generics work in struct patterns
2019-01-19 16:02:06 +01:00
Florian Diebold
d37bb128ef
Collect generic args in struct variant paths as well
2019-01-19 16:02:06 +01:00
Florian Diebold
cc4562ab6e
Collect generic args in type paths
...
E.g. `let x: A<X>` is handled correctly.
2019-01-19 16:02:06 +01:00
Florian Diebold
fa7f9d696f
Make Module impl methods crate-private, update some comments
2019-01-19 16:02:06 +01:00
Florian Diebold
5862542ded
Add AST/HIR for type args in path segments
2019-01-19 16:02:06 +01:00
Florian Diebold
688a45e00b
Implement beginnings of generics
...
- add HIR for generic params
- resolve generic params in type paths
- add substitions for ADTs
- insert type variables for substitutions
2019-01-19 16:02:06 +01:00
Florian Diebold
415cdc5210
Add some tests
2019-01-19 15:49:48 +01:00
gfreezy
64342599ca
ignore unused methods
2019-01-19 22:11:38 +08:00
gfreezy
d08e81cdd8
refactor completions to use TextEdit instead of InsertText
2019-01-19 22:02:50 +08:00
Florian Diebold
573f6f8656
Refactor/simplify path resolution
2019-01-19 14:48:07 +01:00
Marcus Klaas de Vries
fa43ef30f4
Change parsing of struct field patterns
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
bcbfa2cc11
Finish move of StructField for pattern type inference
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
4277f420aa
Replace Expectation by &Ty in infer_pat
method
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
f9a6050034
Move parsing of field pattern lists to the parser (where it belongs)
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
d2769837f1
Move pattern type inference from adt::StructField to core_model_impl (WIP)
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
b5466f3fb3
Address issues flagged in review
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
5027c5d4ee
Fix bug in match arm type unification
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
44e9a9605b
Fixup annotated bindings
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
d48d5b8b6c
Add initial (flawed) implementation of binding annotations
2019-01-19 15:37:26 +03:00
Marcus Klaas de Vries
9433a108cf
Make pattern inference work w/o proper expecations
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
be1b4034a5
Infer pattern types for lambdas and loops
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
06d16a18f6
Implement match binding type inference and arm unification
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
ac216880f5
Implement unlabeled struct field pattern inference
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
3340807bd2
Get basic struct pattern type inference working!
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
ab5deb7811
Create struct patterns up to the hir level
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
9c2d83a4c8
Add crude implementation of tuplestruct pattern inference
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
3b0de53904
Work on type inference for ADT patterns
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
5648dcd36e
Implement type inference for tuples and refs
2019-01-19 15:37:25 +03:00
Marcus Klaas de Vries
afaa26636e
Add additional pattern variants
2019-01-19 15:37:25 +03:00
Aleksey Kladov
e13c9188fe
fix the test
2019-01-19 15:37:25 +03:00
Aleksey Kladov
63f7dadc11
rename LoweredImport -> ImportId
2019-01-19 15:37:25 +03:00
Aleksey Kladov
c0aeb5204c
switched to lowerd module
2019-01-19 15:37:25 +03:00
Aleksey Kladov
b93c6bc557
simplify
2019-01-19 15:37:25 +03:00
Aleksey Kladov
789772e8e5
move input module items to the lower module
2019-01-19 15:37:25 +03:00
gfreezy
99e8499957
more idiomatic code
2019-01-19 15:36:58 +03:00
gfreezy
360167db16
prefer inline tests
2019-01-19 15:36:58 +03:00
gfreezy
6ab6d1eaa0
fix comments
2019-01-19 15:36:58 +03:00
gfreezy
5c8cb56506
move rename to a new mod
2019-01-19 15:36:58 +03:00
gfreezy
bc0f79f74a
rename mod
2019-01-19 15:36:58 +03:00
Aleksey Kladov
b82fe73d1a
make token set a const-fn
2019-01-19 15:36:58 +03:00
Aleksey Kladov
b028472481
⬆️ update rust
2019-01-19 15:36:58 +03:00
Aleksey Kladov
a2ca03d10b
⬆️ salsa
2019-01-17 14:11:00 +03:00
Hirokazu Hata
0aedd4fb2f
Add Ty::Array to walk_mut
2019-01-17 00:08:53 +09:00
Hirokazu Hata
f66ca1bd2e
Fix test case invalid syntax
2019-01-16 23:39:14 +09:00
Hirokazu Hata
5c570fa770
Remove unneeded code
2019-01-16 23:39:14 +09:00
Hirokazu Hata
478ce1c8b5
Fix infer array test
2019-01-16 23:37:42 +09:00
Hirokazu Hata
5d3884d5b4
Fix Ty::Array
2019-01-16 23:37:42 +09:00
Hirokazu Hata
2a3262c757
Add infer array test
2019-01-16 23:35:06 +09:00
Hirokazu Hata
d665acbbec
Implement array inference
2019-01-16 23:35:06 +09:00
Hirokazu Hata
4729a1b054
Update ARRAY_EXPR grammar
2019-01-16 23:22:14 +09:00
bors[bot]
d75a0368f5
Merge #536
...
536: Introduce variable semicolon block expr r=matklad a=yerke
Fix for https://github.com/rust-analyzer/rust-analyzer/issues/504
Feels a bit hacky...
Co-authored-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2019-01-16 06:20:09 +00:00
Yerkebulan Tulibergenov
67ddd33598
don't need SEMI any more
2019-01-15 20:29:37 -08:00
Yerkebulan Tulibergenov
de7c0f814c
delete unused fn
2019-01-15 20:28:01 -08:00
Yerkebulan Tulibergenov
4dd7ec94bc
use has_semi
2019-01-15 20:27:15 -08:00
Yerkebulan Tulibergenov
5e35f191fc
add has_semi to ExprStmt
2019-01-15 20:26:46 -08:00
Marcus Klaas de Vries
a2b6d3da30
Implement rudimentary type inference for unary operators
2019-01-16 00:04:39 +01:00
Aleksey Kladov
8338acfd3a
kill last cancelables
2019-01-15 21:17:10 +03:00
Aleksey Kladov
0bb170a277
remove Canceled from impl of ra_ide_api
2019-01-15 21:09:51 +03:00