Commit Graph

1291 Commits

Author SHA1 Message Date
Aleksey Kladov d79a9b17dc switch to insta for testing 2019-01-15 14:18:24 +03:00
Aleksey Kladov 7e5ab9b78c switch to lsp-types 2019-01-14 14:32:03 +03:00
Jeremy Kolb da326dca60 Remove duplication 2019-01-13 20:25:14 -05:00
Jeremy Kolb 2d7b4cc548 Add visibility to hover 2019-01-13 20:08:33 -05:00
Aleksey Kladov 5498a202b6 target_selection_range is not nullable in the implementation 2019-01-13 22:42:42 +03:00
bors[bot] fa6e4b7978 Merge #532
532: fix go to parent module r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-13 19:01:06 +00:00
Aleksey Kladov 077a02271c fix go to parent module 2019-01-13 21:56:20 +03:00
Pascal Hertleif f97a9921df Fix some random typos 2019-01-13 19:54:28 +01:00
Aleksey Kladov eedc08300c goto defenition works for type-inferred methods 2019-01-13 18:56:57 +03:00
Aleksey Kladov 884ce4a420 fix indent caclulation 2019-01-13 18:21:23 +03:00
bors[bot] ff09d15124 Merge #520
520: Imprement tuple inference r=flodiebold a=h-michael

related #394

I'm sorry I'm late.

I try implementing array inference next.

Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2019-01-13 13:25:33 +00:00
Hirokazu Hata 139da0841d Fix tuple test case 2019-01-13 22:23:06 +09:00
Pascal Hertleif 7f16f922da
Tweak message shown for query fallback
Small tweak for #518
2019-01-13 13:32:52 +01:00
Hirokazu Hata 6e73cc89b6 Implement tuple inference 2019-01-13 21:10:01 +09:00
Hirokazu Hata 6efda8f6ce Update TUPLE_EXPR grammar 2019-01-13 21:04:03 +09:00
Hirokazu Hata 829f668bd7 Add infer tuple test 2019-01-13 21:04:03 +09:00
bors[bot] 0199572a3d Merge #517 #518
517: gracefully handle cycles in crate graph r=matklad a=matklad



518: Add an explanatory message when we use the Query fallback r=matklad a=DJMcNab

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/269.

There is no good way to explain it for go_to_def, so I've just fallen back on to_vec.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-13 10:41:47 +00:00
Aleksey Kladov 77f67ca7e2 gracefully handle cycles in crate graph
rust-lang/rust has absolutely weird setup with rustc-workspace-shim,
which leads to real cycles.
2019-01-13 13:39:48 +03:00
bors[bot] ff3d91bb0c Merge #519
519: support ref-patterns r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-13 10:36:30 +00:00
Aleksey Kladov 8e554ea5fa support ref-patterns 2019-01-13 13:36:06 +03:00
DJMcNab a53c5de1fd Add an explanatory message when we use the Query fallback 2019-01-13 10:31:37 +00:00
bors[bot] a2659abed8 Merge #513
513: Add bench runnable and code lens r=matklad a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-13 07:59:26 +00:00
Jeremy Kolb ecf9c203ed Fix typos 2019-01-12 20:40:30 -05:00
Jeremy Kolb 5d273f10cd Add bench runnable and code lens 2019-01-12 18:40:54 -05:00
bors[bot] eb931c0d9e Merge #505
505: Inherent methods r=matklad a=flodiebold

This adds resolution, type checking and completion for inherent methods.

The main open question here is the caching, I think. I'm not sure whether we should be caching method resolutions in a more fine grained way (currently we just build a hash map of types -> impl blocks, and iterate through all potential impl blocks when looking for a method).

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-12 21:18:14 +00:00
Florian Diebold 1ed7fbfc1b args -> params 2019-01-12 21:58:16 +01:00
Florian Diebold 5db5f5cc1d Small improvements from review comments 2019-01-12 21:51:56 +01:00
bors[bot] e56072bfa3 Merge #500
500: Code lens support for running tests r=matklad a=kjeremy

Supports running individual and mod tests.

I feel like this kind of abuses the `Runnables` infrastructure but it works. Maybe later on down the line we should introduce a struct that is really just a tuple of binary, arguments, and environment and pass that back to the client instead. `run_single.ts` is just a paired down version of `runnables.ts` and there is duplication because I think run_single will probably change independent of runnables.

Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-12 18:56:11 +00:00
Jeremy Kolb 72d48b08fb Move `CargoTargetSpec` and friends to cargo_target_spec module 2019-01-12 13:00:58 -05:00
bors[bot] 8033c81acc Merge #507
507: Fix handling of attributes in positional field lists r=matklad a=DJMcNab

First reported by @max-frai. This allows us to properly handle crates using e.g. `#[Derive(fail)]` with `#[fail(cause)]`, among other cases.

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-12 15:47:48 +00:00
DJMcNab 0b9e462ab0 Fix handling of attributes in positional field lists 2019-01-12 15:42:12 +00:00
DJMcNab c38432c0bd Use --force when installing the VSIX. 2019-01-12 15:00:03 +00:00
Florian Diebold d0bdaa6c00 Complete inherent methods 2019-01-12 15:01:27 +01:00
Florian Diebold 082ef52bcb Implement basic inherent method resolution 2019-01-12 15:01:19 +01:00
Jeremy Kolb f42f70b1d5 Switch hover to use MarkupContent
MarkedString is deprecated
2019-01-11 21:45:16 -05:00
Florian Diebold 1212e59bee Fix assertion error in unification (hopefully)
Currently, all types that we handle during inference need to be resolved as far
as possible at the time. It's maybe too brittle of an invariant; I need to think
how we can do this better. This should fix #484 though, I hope (if
it's the same case as I managed to reproduce).
2019-01-11 22:59:00 +01:00
Jeremy A. Kolb faf0037635 Code lens support for running tests 2019-01-11 15:16:55 -05:00
Aleksey Kladov f60153ee9e warn louder on mising sysroot 2019-01-11 20:55:56 +02:00
Aleksey Kladov f193fbcbae actually produce missing def kinds 2019-01-11 21:02:12 +03:00
Aleksey Kladov 19136cde00 uncopypaste def sources 2019-01-11 20:43:10 +03:00
Aleksey Kladov 0f9c350812 add missing def kinds 2019-01-11 20:28:10 +03:00
Aleksey Kladov 2d3940d0ab rename TreePtr -> TreeArc
This is much clearer about the semantics
2019-01-11 19:59:06 +03:00
bors[bot] aad1bf877e Merge #496
496: Include two element ranges into the nav. r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-11 15:35:41 +00:00
Aleksey Kladov f23a13bfa7 kill NavTarget ptr 2019-01-11 18:35:04 +03:00
Aleksey Kladov dda916bc4d fix tests 2019-01-11 18:32:22 +03:00
Aleksey Kladov 4089db1e0d prioritize event handing over indexing
If we index gazillion libraries simultaneously, we fill the threadpool
and so the main loop fails to turn, although there isn't really any
significant blocking inside the loop itself.
2019-01-11 17:08:49 +03:00
Aleksey Kladov 8a5f74a24f use location link in goto def 2019-01-11 16:06:22 +03:00
Aleksey Kladov 3aaf20bd6e return ref ranges from gotodef 2019-01-11 16:06:08 +03:00
Aleksey Kladov f9ed8d4d23 envapsulate navigation target better 2019-01-11 16:01:57 +03:00
Aleksey Kladov 1d3d05d5d7 simplify 2019-01-11 16:01:57 +03:00