WizardOfMenlo
ec32b2e39c
Use match-all instead of individual branches
2019-01-28 17:17:04 +00:00
WizardOfMenlo
9416904d14
Added support for primitive types type inference when using std::ops::Not
2019-01-28 14:52:43 +00:00
Aleksey Kladov
2ee08098a6
opt-in jemalloc
2019-01-28 15:52:21 +03:00
Aleksey Kladov
d1a67c1174
align command naming
2019-01-28 15:01:22 +03:00
bors[bot]
7abe1f422c
Merge #678
...
678: WIP: automatically collect garbage r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-28 11:39:02 +00:00
Aleksey Kladov
53e3e82d91
update salsa
2019-01-28 13:53:32 +03:00
Florian Diebold
cf5c99271d
Sort completions in tests
2019-01-27 22:51:20 +01:00
Aleksey Kladov
c4ceea3417
use salsa from my repo
2019-01-27 22:57:18 +03:00
Aleksey Kladov
b4c8baadb1
tweak words
2019-01-27 22:57:18 +03:00
Aleksey Kladov
c7f4e3a401
show jemalloc
2019-01-27 22:57:18 +03:00
Aleksey Kladov
09b5dc8e02
drop obsolete comment
2019-01-27 22:57:18 +03:00
Aleksey Kladov
7801f6b50f
automatically collect garbage
2019-01-27 22:57:18 +03:00
Marcus Klaas de Vries
6249989e6c
Process second review
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
f6eb44cd9e
Use type information from the turbofish
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
0da1e8b2f8
Add a FnSig to Ty::FnDef
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
089b1c57c1
Address some issues flagged in review
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
04748a0f16
Add missing ty test snapshot
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
aa06893a14
Add type params to FnSignature
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
67e40e431a
Initial implementation of generics for method calls
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
3bd47c0285
First attempt at generic type inference for fns
2019-01-27 17:59:21 +01:00
bors[bot]
3f4f50baaa
Merge #690
...
690: Fix module resolution for non standard filenames r=matklad a=regiontog
fixes #668
Co-authored-by: Erlend Tobiassen <erlend.tobiassen@gmail.com>
2019-01-27 15:55:47 +00:00
Erlend Tobiassen
b775fa285c
Revert parts of "Test non standard crate root"
...
Prefer cursor position over file_map
2019-01-27 16:32:31 +01:00
DJMcNab
137b1ccb71
Add a test for inner attributes on extern blocks
2019-01-27 15:20:36 +00:00
bors[bot]
b2b62b9579
Merge #691
...
691: remove dead code r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-27 15:08:23 +00:00
Aleksey Kladov
154bce1864
remove dead code
2019-01-27 18:07:45 +03:00
DJMcNab
73b075c556
Correctly parse inner attributes of impl blocks
2019-01-27 14:55:03 +00:00
Erlend Tobiassen
b149882d19
Remove dbg!(...)
2019-01-27 15:44:59 +01:00
Erlend Tobiassen
08e12f974c
Fix bad rebase and rustfmt
2019-01-27 15:37:43 +01:00
Erlend Tobiassen
e2e1f4ceca
Typos
2019-01-27 15:19:42 +01:00
Erlend Tobiassen
5052bf9889
Update test to use correct paths
2019-01-27 15:19:41 +01:00
Erlend Tobiassen
c5e6db16b1
fix #668
2019-01-27 15:19:38 +01:00
Erlend Tobiassen
683e5e64f4
Test non standard crate root
2019-01-27 15:15:56 +01:00
bors[bot]
964086e0d4
Merge #685
...
685: Support attributes on let statements r=matklad a=DJMcNab
Fix #677 .
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-27 09:04:02 +00:00
DJMcNab
4d35cc3875
Stop using let_stmt twice
2019-01-27 09:00:57 +00:00
bors[bot]
ffcf618842
Merge #662
...
662: Preserve indentation in doc comments r=matklad a=kjeremy
Fixes #502
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-27 08:21:04 +00:00
bors[bot]
2577a65684
Merge #687
...
687: fix verificatio on ci r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 23:35:49 +00:00
Aleksey Kladov
7177fffd7b
fix verification on CI
...
remove `--verify` flag from the binaries: we have tests for this!
2019-01-27 02:30:54 +03:00
Florian Diebold
94bbb2418a
Add marks
2019-01-26 23:59:11 +01:00
Florian Diebold
77f92674f9
Handle cycles in type vars
...
This might be the cause of #587 .
2019-01-26 23:48:01 +01:00
DJMcNab
7055d43c3a
Make attrs be a child of the let statement
2019-01-26 22:02:23 +00:00
bors[bot]
e40d8d4032
Merge #683
...
683: fix AST for if expressions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 21:41:27 +00:00
Aleksey Kladov
619af1e22c
fix AST for if expressions
...
then is not always a block...
2019-01-27 00:37:11 +03:00
DJMcNab
55a3e21ac4
Support attributes on let statements
2019-01-26 21:35:03 +00:00
Aleksey Kladov
f78b092629
fix panic in call info
...
closes #317
closes #675
2019-01-27 00:34:18 +03:00
bors[bot]
691ffd2dcb
Merge #681
...
681: Use the correct working directory for cargo metadata and rustfmt r=matklad a=DJMcNab
Fixes maybe #670 . @bjorn3, is that true?
(Awkward wording due to GitHub's eager 'fixes' finding)
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-26 21:18:52 +00:00
DJMcNab
9fbbb8f609
Don't use the reserved error code
2019-01-26 20:58:50 +00:00
DJMcNab
d9456c3989
Return an lsp error
2019-01-26 20:43:51 +00:00
Aleksey Kladov
a128075af9
remove Option<SourceFileItemId> hack
2019-01-26 23:27:01 +03:00
DJMcNab
632b0f2902
Use the correct working directory for cargo metadata and rustfmt
2019-01-26 20:16:15 +00:00
Aleksey Kladov
9c1a18a626
store syntax ptr in FileItems
...
we cache the tree in file_item query anyway
2019-01-26 22:48:04 +03:00
Aleksey Kladov
ae97a45c35
remove dead code
2019-01-26 22:43:07 +03:00
bors[bot]
2d337c88b0
Merge #680
...
680: Struct literals should not be a `BlockLike::Block` r=DJMcNab a=DJMcNab
Fix #674 .
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-26 19:17:48 +00:00
DJMcNab
7a76433c45
Struct literals should not be a BlockLike::Block
2019-01-26 18:45:29 +00:00
Aleksey Kladov
a1fb8efd7a
⬆️ salsa
2019-01-26 21:23:59 +03:00
Aleksey Kladov
6f862a6704
⬆️ rowan
...
The new rowan uses arena allocator for red nodes which helps
slightly (5% on std completion test) with performance but should help
quite a bit with avoiding memory fragmentation.
2019-01-26 19:39:31 +03:00
Jeremy Kolb
a892067951
Make doc comments optional
2019-01-26 10:35:23 -05:00
bors[bot]
a8d32c4d1a
Merge #671
...
671: Makre VFS slightly less super obscure r=vemoo a=matklad
I've decided to better understand what we do in VFS, and this turns out to be really hard. Jugling threads and channels is one of the most unfortunately arcane bits of rust...
I had some success though by flattenning the structure so that all channel & thread creation routines are on one screen.
r? @vemoo
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 15:13:44 +00:00
Jeremy Kolb
e9e0ea0398
Do not unconditionally trim comments
2019-01-26 09:55:30 -05:00
Jeremy Kolb
8c08b6825e
Preserve indentation in doc comments
2019-01-26 09:50:17 -05:00
Aleksey Kladov
9f16892b94
remove watcher ctx
2019-01-26 17:17:28 +03:00
Aleksey Kladov
bf98fc609e
remove mutexes
2019-01-26 17:04:00 +03:00
Aleksey Kladov
012ea3fac6
handle all the reads on the "main" watcher thread
2019-01-26 17:01:58 +03:00
Aleksey Kladov
3ce531f95d
cleanup: add result alias
2019-01-26 16:40:24 +03:00
Aleksey Kladov
390a20787e
consolidate error handling
2019-01-26 16:28:04 +03:00
Aleksey Kladov
20d7a431fd
refactor-fvs
2019-01-26 16:28:04 +03:00
Aleksey Kladov
bf7a0f43d0
minor cleanups
2019-01-26 16:26:30 +03:00
bors[bot]
3feaf2a008
Merge #659
...
659: Fold blocks of mod items r=matklad a=eulerdisk
Fixes #572
As requested, we ignore `mod`s with a visibility specifier.
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-01-26 12:49:08 +00:00
Aleksey Kladov
07a4b9f1a0
dont overwrite memfies
2019-01-26 15:41:52 +03:00
Andrea Pretto
b9ca8ab868
Better visibility check.
2019-01-26 13:32:48 +01:00
bors[bot]
2acaa92c93
Merge #660
...
660: Support macro calls in type position r=matklad a=regiontog
A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c ) demonstrating the syntax in question.
Co-authored-by: Erlend Tobiassen <erlend.tobiassen@gmail.com>
2019-01-26 10:23:28 +00:00
bors[bot]
8b6dea348f
Merge #666
...
666: rename source_file -> parse r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 08:55:38 +00:00
Aleksey Kladov
9457b1f0e6
rename source_file -> parse
2019-01-26 11:51:36 +03:00
Bernardo
410a3ae6e8
use entry file_type, improve test
2019-01-26 11:46:37 +03:00
Bernardo
d63e1cebff
use Roots
in watcher
2019-01-26 11:46:37 +03:00
Bernardo
86fadbd4e5
extract Roots
struct
2019-01-26 11:46:37 +03:00
Bernardo
cfbf47b002
review fixes
2019-01-26 11:46:37 +03:00
Bernardo
34a34f9399
use released notifiy
version, add TODO comment
2019-01-26 11:46:37 +03:00
Bernardo
be14ab217c
better test, avoid duplicated events
2019-01-26 11:46:27 +03:00
Bernardo
0a08650852
hardcode ".git" and "node_modules" also
2019-01-26 11:46:27 +03:00
Bernardo
10a24cf649
simplify and optimize RootFilter
by determining if is contained first
2019-01-26 11:46:27 +03:00
Bernardo
eeed6cf53b
fix recursive watch
2019-01-26 11:46:27 +03:00
Bernardo
2a1afad3ed
avoid boxing
2019-01-26 11:46:27 +03:00
Bernardo
277e0f1baa
move watcher to io module
2019-01-26 11:46:27 +03:00
Bernardo
7f7c4e7465
do not emit create for directory again
2019-01-26 11:46:27 +03:00
Bernardo
f88355ccb5
refactor, put watcher with io::Worker
...
use `RootFilter` to filter recursive watches
untested
2019-01-26 11:46:27 +03:00
Bernardo
eacf7aeb42
ignore check event dir for ignore, cleanup tests
2019-01-26 11:46:27 +03:00
Bernardo
fb1d748a2c
actually drop watcher, use parking_lot::Mutex
2019-01-26 11:46:27 +03:00
Bernardo
f181e36a44
handle recursive watching ourselves
2019-01-26 11:46:27 +03:00
Bernardo
e69b620f0d
add missing Task::HandleChange
2019-01-26 11:46:27 +03:00
Bernardo
abd8ccefa4
better error handling
2019-01-26 11:46:27 +03:00
Bernardo
b0f7e72c49
use notify with fix
2019-01-26 11:46:27 +03:00
Bernardo
5f31d495bd
reference notify
issue
2019-01-26 11:46:16 +03:00
Bernardo
76bf7498aa
handle watched events filtering in Vfs
add is_overlayed
load changed files contents in io
2019-01-26 11:46:16 +03:00
Bernardo
6b86f038d6
refator to move all io to io module
...
use same channel for scanner and watcher
some implementations pending
2019-01-26 11:46:16 +03:00
Bernardo
d032a1a4e8
complete test
2019-01-26 11:46:16 +03:00
Bernardo
1d5eaefe8a
initial Watcher impl
2019-01-26 11:46:16 +03:00
Aleksey Kladov
4711cbcace
rename FilesDatabase -> SourceDatabase
2019-01-26 11:20:30 +03:00
Aleksey Kladov
3223de5976
move ide queries to ide db
2019-01-26 11:17:05 +03:00
Aleksey Kladov
be1a005ebd
fold syntax database into files database
2019-01-26 11:09:39 +03:00
Aleksey Kladov
ba4c5021c4
list enum variants in the outline
2019-01-26 10:12:00 +03:00
Andrea Pretto
27c071f702
Fold blocks of mod items.
...
Fixes #572
2019-01-26 00:31:14 +01:00
Erlend Tobiassen
e28bd099d6
Support macro calls in type position
2019-01-25 23:56:31 +01:00
Aleksey Kladov
23172a116c
rename POS_FIELD -> POS_FIELD_DEF
...
to match NAMED_FIELD_DEF
2019-01-26 00:24:12 +03:00
bors[bot]
3c7acecade
Merge #656
...
656: :arrow_up deps r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 20:43:09 +00:00
bors[bot]
d0ddc5a7c1
Merge #655
...
655: Fix type inference of binops on int/float variables r=matklad a=flodiebold
Fixes #651 .
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-25 20:36:56 +00:00
Florian Diebold
5a1385007c
Fix type inference of binops on int/float variables
...
Fixes #651 .
2019-01-25 21:32:49 +01:00
Aleksey Kladov
1fd18f020d
⬆️ salsa
2019-01-25 23:27:16 +03:00
bors[bot]
d3b5ff8fe6
Merge #654
...
654: nicer behavior in case of bugs r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 20:20:11 +00:00
bors[bot]
03fc615ead
Merge #653
...
653: fix re-indent r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 20:13:07 +00:00
Aleksey Kladov
54f30bb6d8
nicer behavior in case of bugs
...
We should always reach a fixed point, but if we fail, let's fail
loudly!
2019-01-25 23:13:07 +03:00
Aleksey Kladov
dbd28e4203
fix re-indent
2019-01-25 23:12:30 +03:00
Aleksey Kladov
27a085f79e
print one size for symbols
2019-01-25 23:06:23 +03:00
Jeremy A. Kolb
7a0bc2dd64
Add docs to struct fields
2019-01-25 14:29:56 -05:00
Aleksey Kladov
f0c6a040bd
remove dead code
2019-01-25 21:14:41 +03:00
Aleksey Kladov
50a7598773
print one size for symbols
2019-01-25 21:10:51 +03:00
bors[bot]
aae69bc897
Merge #647
...
647: fix todo r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 18:01:56 +00:00
Aleksey Kladov
d0cf4306bd
fix todo
2019-01-25 20:55:38 +03:00
bors[bot]
cc73d3ccbc
Merge #646
...
646: Add module documentation support r=matklad a=kjeremy
Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2019-01-25 17:55:29 +00:00
Jeremy A. Kolb
6588579116
Add module documentation support
2019-01-25 12:51:36 -05:00
bors[bot]
daaba4be17
Merge #645
...
645: WIP: support goto for fields. r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 17:38:49 +00:00
Aleksey Kladov
9f2574c97e
add ability to get strcut field source
2019-01-25 20:38:03 +03:00
Aleksey Kladov
0044514a4e
remember where fields resolve to during inference
2019-01-25 20:02:53 +03:00
bors[bot]
bce0c6267a
Merge #644
...
644: EnumVariant details for completion r=matklad a=kjeremy
Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2019-01-25 17:02:30 +00:00
Jeremy A. Kolb
9a97c10fda
EnumVariant details for completion
2019-01-25 11:50:59 -05:00
Aleksey Kladov
f6adb85b68
add gc request
2019-01-25 19:11:58 +03:00
Aleksey Kladov
046ae1d361
more stats
2019-01-25 17:25:23 +03:00
Aleksey Kladov
8d68b76ba0
better stats
2019-01-25 16:16:42 +03:00
bors[bot]
021e691997
Merge #639
...
639: Update salsa r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 12:34:10 +00:00
Aleksey Kladov
08c12e424d
use set methods
2019-01-25 15:25:01 +03:00
Aleksey Kladov
8cf092d5de
:arrow_up salsa
2019-01-25 15:16:50 +03:00
Aleksey Kladov
64d4f42558
reduce visibility
2019-01-25 14:25:30 +03:00
Aleksey Kladov
87ac5f5b36
use positional ids for fields
2019-01-25 14:21:14 +03:00
Aleksey Kladov
47e5536678
rename struct field -> struct field data
2019-01-25 12:58:01 +03:00
Aleksey Kladov
87288d802c
pack enum variants into arena
2019-01-25 12:50:46 +03:00
Aleksey Kladov
2ee2fba752
switch to positional enum variants
2019-01-25 11:35:38 +03:00
bors[bot]
946aea3eb3
Merge #634
...
634: rename def_id -> def r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-25 07:32:13 +00:00
Aleksey Kladov
0707f65806
drop obsolete fixme
2019-01-25 10:31:45 +03:00
Aleksey Kladov
3b45ddd984
deglobify
2019-01-25 10:29:55 +03:00
Aleksey Kladov
74beb5bfcb
simplify
2019-01-25 10:29:00 +03:00
Aleksey Kladov
ed27bd8d77
remove useless wrapper
2019-01-25 10:20:35 +03:00
Aleksey Kladov
b90b90cb95
fix comment
2019-01-25 10:17:50 +03:00
Aleksey Kladov
bc77f91cf6
rename def_id -> def
2019-01-25 10:16:28 +03:00
Aleksey Kladov
e884ab05c2
write path resolution code only once
2019-01-25 10:15:10 +03:00
bors[bot]
675943712c
Merge #630
...
630: Fill in DocumentSymbol::detail r=matklad a=hban
Closes : #516
I just pulled type text from the syntax node and "formatted" is bit. VS Code can't really handle multi-line symbol detail (it's will crop it when rendering), so that formatting will just collapse all white-space to singe space. It isn't pretty, but maybe there's a better way.
Issue also mentions "need to be done for `NavigationTarget` to `SymbolInformation`", but `SymbolInformation` doesn't have detail field on it?
Co-authored-by: Hrvoje Ban <hban@users.noreply.github.com>
2019-01-25 07:13:16 +00:00
Aleksey Kladov
857c35ddb0
refactor import resolution
...
extract path resolution
use enums instead of bools
2019-01-25 10:08:21 +03:00
bors[bot]
1d4b421aad
Merge #633
...
633: use ToOwned trait instead of inherent method r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-24 23:10:09 +00:00
Aleksey Kladov
2e354f480b
use ToOwned trait instead of inherent method
2019-01-25 02:09:31 +03:00
bors[bot]
c42db0bbd7
Merge #623
...
623: WIP: module id is not def id r=matklad a=matklad
This achieves two things:
* makes module_tree & item_map per crate, not per source_root
* begins the refactoring to remove universal `DefId` in favor of having separate ids for each kind of `Def`. Currently, only modules get a differnt ID though.
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-24 22:56:13 +00:00
Aleksey Kladov
31d3a56b18
move adt to adt
2019-01-25 01:53:07 +03:00
Aleksey Kladov
a03c109f50
Kill DefId
2019-01-25 01:41:36 +03:00