Commit Graph

1442 Commits

Author SHA1 Message Date
Bernardo e9c186e48a change to `TextEdit` to avoid allocation and sort
rename newline to step where applicable
2018-12-25 20:49:18 +01:00
Bernardo 863ed19946 remove benchmark and simplify tests 2018-12-25 20:14:27 +01:00
Bernardo 6b2da4e547 use new translate_offset_with_edit for TryConvWith
doc comments
2018-12-25 20:06:49 +01:00
Bernardo aff0124b37 add line_index proptest 2018-12-25 20:03:14 +01:00
Bernardo c886b72dab make criterion args work, small simplification 2018-12-25 20:03:14 +01:00
Bernardo dc2afae991 fix arbitrary offset generation, col translation working 2018-12-25 20:03:14 +01:00
Bernardo 5c8525ce4a column translation implemented but not quite working yet 2018-12-25 20:03:14 +01:00
Bernardo 36f2b1f3b9 iterate over `Step`s which are either, newlines or multibyte chars 2018-12-25 20:03:14 +01:00
Bernardo 1c44ba0f04 simplify newline check with macro 2018-12-25 20:03:14 +01:00
Bernardo d6312085a1 remove slower impl, add benchmarks 2018-12-25 20:03:14 +01:00
Bernardo a005d2a614 final iteration, faster a bit simpler
the main thing is we iterate over inserted newlines at once for each edit
2018-12-25 19:59:02 +01:00
Bernardo 7299df8409 simplified version 2018-12-25 19:59:02 +01:00
Bernardo 8c9df62c1c move translate_offset_with_edit to ra_editor 2018-12-25 19:59:02 +01:00
Bernardo 881c29192d initial newline translation working
todo:
cleanup, simplify
handle columns
2018-12-25 19:55:05 +01:00
Bernardo d951979159 test translate_offset_with_edit against simple impl for single edits 2018-12-25 19:49:55 +01:00
Bernardo dee426e1b1 simplify and reduce number of values explored 2018-12-25 19:45:21 +01:00
Bernardo 3d98744c2a proptest strategies for TextUnit and AtomTextEdit 2018-12-25 19:45:21 +01:00
bors[bot] 5fb426cb9e Merge #331
331: Cancelled is not Copy r=matklad a=matklad

I'd love to have a backtrace in `Cancelled` to be able to debug "completion is always cancelled" problem. So it probably is a good idea to make `Cancelled` non Copy type, even if it is a ZST in prod.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-25 10:40:42 +00:00
Aleksey Kladov 8d49c098a5 cancelled is not Copy 2018-12-25 13:36:39 +03:00
bors[bot] 64046253a3 Merge #328
328: fix warning conversion r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-24 23:18:10 +00:00
Aleksey Kladov 21293d0533 fix warning conversion 2018-12-25 02:07:30 +03: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 0fb8894fbe fix tests 2018-12-24 23:01:16 +08: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
bors[bot] 67e768466f Merge #327
327: Beginnings of type inference r=flodiebold a=flodiebold

I was a bit bored, so I thought I'd try to start implementing the type system and see how far I come 😉  This is obviously still extremely WIP, only very basic stuff working, but I thought I'd post this now to get some feedback as to whether this approach makes sense at all.

There's no user-visible effect yet, but the type inference has tests similar to the ones for the parser. My next step will probably be to implement struct types, after which this could probably be used to complete fields.

I realize this may all get thrown away when/if the compiler query system gets usable, but I feel like there are lots of IDE features that could be implemented with somewhat working type inference in the meantime 😄 

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2018-12-24 14:40:11 +00:00
Florian Diebold 4befde1eee Change inference tests to have one per file 2018-12-24 15:36:54 +01:00
Florian Diebold 655f5bc261 Rename a variable for consistency 2018-12-24 15:19:49 +01:00
Florian Diebold 76fb05d91d Clean up Ty a bit
Removing irrelevant comments copied from rustc etc.
2018-12-24 15:18:37 +01:00
bors[bot] abe09eb5ed Merge #278
278: Add make_pub_crate code action to ra_editor r=matklad a=h-michael

implement #170

Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2018-12-24 13:51:27 +00:00
bors[bot] b052059f86 Merge #302
302: WIP: Support tracing lsp requests. r=DJMcNab a=DJMcNab

EDIT: We need to work out a better way to handle settings before this can be merged. Help wanted

TODO: Debug why decorations are sent even when highlightingOn is disabled
This makes the log volume so high its impossible to work with anyway.
(Continuation of #84 [#99 only disabled using it, not making sure we don't send it]).

These logs can be used in https://microsoft.github.io/language-server-protocol/inspector/

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-24 13:47:27 +00:00
DJMcNab ecab036d6f Add a very hacky workaround to not trace decorations requests 2018-12-24 13:43:08 +00:00
Hirokazu Hata c14ca038da Add make_pub_crate code action to ra_editor 2018-12-24 11:03:59 +09:00
Florian Diebold a1d0b5bc3c Prepare Ty::new for resolution 2018-12-23 17:49:30 +01: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 c85748f5fb Type the return values of call expressions 2018-12-23 17:29:03 +01:00
Florian Diebold ef67581104 Resolve paths to defs (functions currently) during type inference 2018-12-23 17:13:11 +01:00
gfreezy 000aacafda resolved #324: remove unnecessary braces in use statement. 2018-12-23 23:50:11 +08:00
Florian Diebold 93ffbf80c6 Make let statements kind of work 2018-12-23 14:01:50 +01:00
Florian Diebold 5d60937090 Remove unwraps 2018-12-23 13:48:04 +01:00
Florian Diebold b4139d54fc Get rid of the terrible nesting in PathExpr inference 2018-12-23 13:48:04 +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 3899898d75 Parse integer / float types 2018-12-23 13:48:04 +01:00
Florian Diebold 3ac605e687 Add beginnings of type infrastructure 2018-12-23 13:48:04 +01:00
DJMcNab a0e8538129 Improve comment 2018-12-23 11:10:12 +00:00
bors[bot] d77520fde3 Merge #310
310: When constructing a crate graph, detect and forbid cycles. r=matklad a=gfreezy

fixed #300

Co-authored-by: gfreezy <gfreezy@gmail.com>
2018-12-22 14:48:18 +00:00
gfreezy c0add813e9 mark as visited on entry instead of left 2018-12-22 22:40:41 +08:00
bors[bot] 8fed875c90 Merge #323
323: workaround salsa/parking-log bug r=matklad a=matklad

https://github.com/salsa-rs/salsa/issues/99
https://github.com/Amanieu/parking_lot/issues/101

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-22 13:47:27 +00:00