Aleksey Kladov
a0a347eac9
Don't get stuck in macros
2018-09-08 10:28:53 +03:00
Aleksey Kladov
bd3a26493f
fix stuck parser
2018-09-08 10:13:32 +03:00
Aleksey Kladov
44334f6f56
fix labled expressions
2018-09-08 09:18:42 +03:00
Aleksey Kladov
127814d9a7
nested mod completion
2018-09-08 01:35:20 +03:00
Aleksey Kladov
ff1c82216c
Remove dyn dispatch
2018-09-08 01:16:07 +03:00
Aleksey Kladov
fcfda94664
Separete API from IMPL
...
Looks like there's a rule of thumb: don't call API functions from an
implementation! In this case, following this rule of thumb saves us an
Arc-bump!
2018-09-07 22:05:05 +03:00
Zac Winter
518cc87496
Moved TokenSet into it's own file.
2018-09-06 21:57:04 +08:00
Aleksey Kladov
751562d2f7
better introduce
2018-09-06 01:19:24 +03:00
Aleksey Kladov
bb64edf8ba
introduce variable
2018-09-06 00:59:07 +03:00
Aleksey Kladov
47e8b80e9b
use correct workdir for the server
2018-09-05 21:38:43 +03:00
Aleksey Kladov
669eabe892
even less hacks
2018-09-05 20:22:52 +03:00
Aleksey Kladov
d0e22d7578
less hacky paths
2018-09-05 18:27:44 +03:00
bors[bot]
ad451686a8
Merge #56
...
56: Unify lookahead naming between parser and lexer. r=matklad a=zachlute
Resolves Issue #26 .
I wanted to play around with libsyntax2, and fixing a random issue seemed like a good way to mess around in the code.
This PR mostly does what's suggested in that issue. I elected to go with `at` and `at_str` instead of trying to do any fancy overloading shenanigans, because...uh, well, frankly I don't really know how to do any fancy overloading shenanigans. The only really questionable bit is `nth_is_p`, which could also have potentially been named `nth_at_p`, but `is` seemed more apropos.
I also added simple tests for `Ptr` so I could be less terrified I broke something.
Comments and criticisms very welcome. I'm still pretty new to Rust.
Co-authored-by: Zach Lute <zach.lute@gmail.com>
2018-09-05 15:07:17 +00:00
Aleksey Kladov
649f7faf7d
fix tests on windows
2018-09-05 15:03:27 +01:00
Zach Lute
d21fead150
Added tests for Ptr.
2018-09-04 23:26:11 -07:00
Zach Lute
af0ae9ee04
Updated Ptr methods to better match Parser method names.
2018-09-04 22:56:16 -07:00
Aleksey Kladov
f87771092c
switch to rayon threadpool
2018-09-04 20:43:37 +03:00
Aleksey Kladov
8b0210d233
simplify
2018-09-04 19:00:01 +03:00
Aleksey Kladov
8ed06d766f
better extend selection
2018-09-04 12:48:39 +03:00
Aleksey Kladov
e44a6bcc82
for types in bounds
2018-09-04 12:25:23 +03:00
Aleksey Kladov
3a017aaa52
dont change readonly files
2018-09-04 11:40:45 +03:00
Aleksey Kladov
a668f703fa
micro-optimize
2018-09-04 05:09:39 +03:00
Aleksey Kladov
294534abc7
accidentally quadratic
2018-09-04 05:04:55 +03:00
Aleksey Kladov
4df965a002
work
2018-09-04 04:13:22 +03:00
Aleksey Kladov
c3e28f0646
extern blocks
2018-09-04 00:49:21 +03:00
Aleksey Kladov
952da31f44
switch to internal feedback
2018-09-03 23:32:42 +03:00
Aleksey Kladov
971054e4d0
fix the test
2018-09-03 21:51:17 +03:00
Aleksey Kladov
f590635f57
faster text len
2018-09-03 21:48:26 +03:00
Aleksey Kladov
5ba645c009
index libraies off the main thread
2018-09-03 21:26:59 +03:00
Aleksey Kladov
47cbaeba6f
Index deps
2018-09-03 21:03:37 +03:00
Aleksey Kladov
b04c14d4ad
dispatch acros roots
2018-09-03 19:46:30 +03:00
Aleksey Kladov
2f2feef9af
completion for trait params
2018-09-03 15:46:14 +03:00
Aleksey Kladov
4798a89a12
Complete params
2018-09-03 15:10:06 +03:00
Aleksey Kladov
58480b9190
method call scope
2018-09-03 02:01:43 +03:00
Aleksey Kladov
fdd282ee0c
improve test
2018-09-03 01:52:59 +03:00
Aleksey Kladov
23303cd0f8
match scope
2018-09-03 01:51:46 +03:00
Aleksey Kladov
83e2ab434c
store file id inside symbol
2018-09-02 23:36:23 +03:00
Aleksey Kladov
a5e319ec7e
Store symbols separately from file data
2018-09-02 23:09:47 +03:00
Aleksey Kladov
440dc41dd8
Add source root
2018-09-02 22:51:59 +03:00
Aleksey Kladov
e98d8cd255
nail down runnables
2018-09-02 16:36:03 +03:00
Aleksey Kladov
1329dd4e28
Avoid clones
2018-09-02 15:18:43 +03:00
Aleksey Kladov
80be61ed78
project model
2018-09-02 14:46:15 +03:00
Aleksey Kladov
7fad13de73
store messages in tests
2018-09-02 12:34:06 +03:00
Aleksey Kladov
d752455637
introduce project model
2018-09-02 11:37:57 +03:00
Aleksey Kladov
541170420b
Add an integration test
2018-09-01 20:21:11 +03:00
Aleksey Kladov
e8515fecd7
split lib
2018-09-01 18:16:08 +03:00
Aleksey Kladov
4268fbeaa1
simplify
2018-09-01 18:03:57 +03:00
Aleksey Kladov
8f1ce82753
move to gen-server impl
2018-09-01 17:40:45 +03:00
Aleksey Kladov
3588d6b2da
add gen_lsp_server
2018-09-01 16:18:02 +03:00
Aleksey Kladov
f5669dfc56
No self-imports in completion
2018-09-01 12:46:43 +03:00
Aleksey Kladov
2161a1689d
Type aliases to scope
2018-09-01 12:30:53 +03:00
Aleksey Kladov
f2772e29ae
add crate graph
2018-08-31 19:14:08 +03:00
Aleksey Kladov
7a5bc94774
complete self
2018-08-31 16:30:42 +03:00
Aleksey Kladov
cdb9b4cbf4
handle shadowing
2018-08-31 15:53:52 +03:00
Aleksey Kladov
78d60a549d
default method name to type name
2018-08-31 15:10:37 +03:00
Aleksey Kladov
05a9d42f54
tweak extend selection
2018-08-31 14:52:29 +03:00
Aleksey Kladov
8fc7f438c4
start item recovery
2018-08-31 13:35:48 +03:00
Aleksey Kladov
faebae74e4
fix tests
2018-08-31 12:13:02 +03:00
Aleksey Kladov
d999f4b568
cancelation
2018-08-31 12:04:33 +03:00
Aleksey Kladov
efa6a952b4
cancelation tokens
2018-08-31 10:27:38 +03:00
Aleksey Kladov
902df0fc05
add test
2018-08-30 21:42:23 +03:00
Aleksey Kladov
8f552ab352
break/continue completion
2018-08-30 21:32:12 +03:00
Aleksey Kladov
80ab3433d3
complete imports
2018-08-30 20:37:33 +03:00
Aleksey Kladov
49e14a99ed
Complete types
2018-08-30 20:03:18 +03:00
Aleksey Kladov
9fcebbc512
subscriptions
2018-08-30 16:27:09 +03:00
Aleksey Kladov
7570d85869
loop scope
2018-08-30 16:05:49 +03:00
Aleksey Kladov
c2c64145cb
move
2018-08-30 13:12:49 +03:00
Aleksey Kladov
1f2fb4e27f
move
2018-08-30 12:52:21 +03:00
Aleksey Kladov
0d6d74e78e
minor
2018-08-30 12:34:31 +03:00
Aleksey Kladov
7d95d38ecb
fix join lines selection
2018-08-29 18:35:28 +03:00
Aleksey Kladov
09ea0ca7e5
rename world -> analysis impl
2018-08-29 18:23:57 +03:00
Aleksey Kladov
0f968ee430
minor
2018-08-29 18:12:28 +03:00
Aleksey Kladov
4dd4571bfe
minor
2018-08-29 18:09:08 +03:00
Aleksey Kladov
1baba9a2e2
Minor
2018-08-29 18:07:56 +03:00
Aleksey Kladov
2e2c2e62eb
Remove dead code
2018-08-29 18:06:46 +03:00
Aleksey Kladov
fce6bc0acc
Make world private
2018-08-29 18:05:54 +03:00
Aleksey Kladov
8abf536343
Grand refactoring
2018-08-29 18:03:14 +03:00
Aleksey Kladov
754c034a81
fix tests
2018-08-29 11:15:51 +03:00
Aleksey Kladov
15f15d92eb
add impl works with lifetimes
2018-08-28 23:59:57 +03:00
Aleksey Kladov
ba02a55330
simplify
2018-08-28 22:58:02 +03:00
Aleksey Kladov
69eeae0c99
polish join
2018-08-28 22:52:51 +03:00
Aleksey Kladov
6effddb18c
fix comma list
2018-08-28 21:48:14 +03:00
Aleksey Kladov
e6ab53619b
be more careful with adding semis
2018-08-28 21:45:59 +03:00
Aleksey Kladov
f5de8212da
Tweak return completion
2018-08-28 21:31:34 +03:00
Aleksey Kladov
d351ae67a9
Smart return completion
2018-08-28 21:14:13 +03:00
Aleksey Kladov
2257c08cb1
Add ret type
2018-08-28 21:11:17 +03:00
Aleksey Kladov
b00a4d43ec
Dont diagnose inline mods
2018-08-28 20:29:36 +03:00
Aleksey Kladov
4c1f17af7d
completion snippets
2018-08-28 20:26:57 +03:00
Aleksey Kladov
b6c654e233
reread files from disk
2018-08-28 19:42:55 +03:00
Aleksey Kladov
dea6ed73fa
better pattern recovery
2018-08-28 19:35:09 +03:00
Aleksey Kladov
537ea620bb
complete items from module scope
2018-08-28 19:23:55 +03:00
Aleksey Kladov
d34588bf83
create module smartly
2018-08-28 18:22:59 +03:00
Aleksey Kladov
748a4cacd2
Reorganize tests
2018-08-28 14:47:12 +03:00
Aleksey Kladov
6c41a205a9
join any block
2018-08-28 14:21:37 +03:00
Aleksey Kladov
288c9d1ac6
Simplify API
2018-08-28 14:07:41 +03:00
Aleksey Kladov
7e74af3226
Avoid materializing strings
2018-08-28 14:06:30 +03:00
Aleksey Kladov
363f466627
tone down on eq typed
2018-08-28 11:17:08 +03:00
Aleksey Kladov
2fa90e736b
better recovery for exprs
2018-08-28 11:12:42 +03:00
Aleksey Kladov
13110f48e9
Log errors
2018-08-28 00:42:13 +03:00
Aleksey Kladov
8f5330cb07
More robust highlighting
2018-08-28 00:20:59 +03:00