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
Aleksey Kladov
1ccf73c836
kill DefKindc
2019-01-25 01:38:21 +03:00
Aleksey Kladov
ff9c5bef7b
ModuleDef is Def-free
2019-01-25 01:32:47 +03:00