Commit Graph

739 Commits

Author SHA1 Message Date
Aleksey Kladov 2caac99ef3 resolve paths across crates 2018-12-20 12:15:38 +03:00
Aleksey Kladov 590bd5f849 workaround across-crate resolve bugs 2018-12-20 12:15:38 +03:00
Aleksey Kladov 2fe41574a1 fix tests 2018-12-20 12:15:38 +03:00
Aleksey Kladov e6465e7e2a index all local crates 2018-12-20 12:15:38 +03:00
Aleksey Kladov 51fec4ef84 fix the test 2018-12-20 12:15:38 +03:00
Aleksey Kladov 1b946ef8a6 File can be opened before the root is scanned 2018-12-20 12:15:38 +03:00
Aleksey Kladov 7b6bafa631 fix syc 2018-12-20 12:15:38 +03:00
Aleksey Kladov a5ef8ad05b swtich lsp server to vfs 2018-12-20 12:15:38 +03:00
Aleksey Kladov 6a755ed83a remove more imports 2018-12-20 12:15:38 +03:00
Aleksey Kladov 79596abcaf dead import 2018-12-20 12:15:38 +03:00
Aleksey Kladov 26dcc70129 fix hir mock 2018-12-20 12:15:38 +03:00
Aleksey Kladov 18aac1df45 kill file resolver 2018-12-20 12:15:38 +03:00
Aleksey Kladov 85290bc134 switch analysis to vfs 2018-12-20 12:15:38 +03:00
Aleksey Kladov 815a0e5778 doc comment 2018-12-20 12:15:38 +03:00
Aleksey Kladov d0bab735c8 add root & path info to remove event 2018-12-20 12:15:38 +03:00
Aleksey Kladov b6ce7a6d34 make it compile 2018-12-20 12:15:38 +03:00
Aleksey Kladov dea1a69e1c remove relpath from input 2018-12-20 12:15:38 +03:00
Aleksey Kladov cb6205c09d use relpaths for module resolve 2018-12-20 12:15:38 +03:00
Aleksey Kladov a422d480a1 implement vfs events handling 2018-12-20 12:15:38 +03:00
Aleksey Kladov e69b05781f add io::Task 2018-12-20 12:15:23 +03:00
Aleksey Kladov 99561cf2f2 Add type alias 2018-12-20 12:15:23 +03:00
Aleksey Kladov 2ae05a6163 vfs crate scaffold 2018-12-20 12:15:23 +03:00
Aleksey Kladov 7509901fa0 wip 2018-12-20 12:15:23 +03:00
Jeremy A. Kolb 93cf39d968 Bump languageserver-types to 0.53.0 to support LSP 3.14.0
See: https://microsoft.github.io/language-server-protocol/specification#version_3_14_0
2018-12-19 17:32:44 -05:00
bors[bot] ef1e107df1 Merge #273
273: Add a test to ensure that we can parse each file r=matklad a=DJMcNab

Note that this has a non-spurious failure in ra_analysis/src/mock_analysis.

Probably fixes #195.

If my understanding is correct, fixes #214 and fixes #225.

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-19 21:22:00 +00:00
DJMcNab a3b842fb8b Add tests and only traverse in the crates directory 2018-12-19 21:19:32 +00:00
DJMcNab db67741430 Move is_block to lower in the call tree 2018-12-19 20:55:24 +00:00
DJMcNab def0a95d35 Revert "Revert to f6f7c5"
This approach is correct, but it needs an addition to Restrictions too

This reverts commit ad00d0c8a5f64142e6636e8b048204c8f8982f4a.
2018-12-19 20:12:18 +00:00
DJMcNab 4dce66ad31 Fix handling of structs in match arms 2018-12-19 20:12:18 +00:00
DJMcNab cd8e33fb7e Revert to f6f7c5 2018-12-19 20:12:18 +00:00
DJMcNab 7a8560ba38 Fix expression parsing by bailing out upon a macro block being found
TODO: Fix this when the block like macro is in expression position

E.g. `test(test!{})` currently parses
2018-12-19 20:12:18 +00:00
DJMcNab 97e70bf50f Possibly fix #225 2018-12-19 20:12:18 +00:00
DJMcNab 29bf389034 Actually fix at_ts doc comment (committed wrong file :P) 2018-12-19 20:12:18 +00:00
DJMcNab 012537bd6c Fix at_ts doc comment 2018-12-19 20:12:18 +00:00
DJMcNab 20bbe0127c Fix parsing of inclusive ranges (#214)
I'm not certain that this is correct, so extra eyes would be good
2018-12-19 20:12:18 +00:00
DJMcNab 0b77eec922 Add a test to ensure that we can parse each file
Note that this has a non-spurious failure in ra_analysis/src/mock_analysis
2018-12-19 20:12:18 +00:00
Aleksey Kladov 1c5ce7a868 File module source does not depend on syntax 2018-12-19 01:51:05 +03:00
Aleksey Kladov d20d788571 disable gc for now 2018-12-19 01:10:03 +03:00
Aleksey Kladov e7aa17b560 Gc syntax trees after every modification 2018-12-19 00:35:13 +03:00
Aleksey Kladov d05790b947 Work around a bug
cc #288
2018-12-18 14:58:54 +03:00
Aleksey Kladov 193992fd14 move thread worker to a separate crate 2018-12-18 12:52:17 +03:00
Andrew Chin 8b1e667077 By default, log only to stderr, and not to disk.
This fixes a common problem when running under VS Code, the user
doesn't have permissions to create a `log` directory in the CWD.

The old behavior can be re-enabled by setting RA_INTERNAL_MODE=1
2018-12-17 17:22:30 -05:00
Roland Ruckerbauer d0f1334226 Fixed cast expression parsing in ra_syntax.
The cast expression expected any type via types::type_() function,
but the language spec does only allow TypeNoBounds (types without direct extra bounds
via `+`).

**Example:**

```rust
fn test() {
	6i8 as i32 + 5;
}
```

This fails, because the types::type_() function which should parse the type after the
as keyword is greedy, and takes all plus sign after path types as extra.

My proposed fix is to replace the not implemented `type_no_plus()` just calls (`type_()`)
function, which is used at several places. The replacement is `type_with_bounds_cond(p: &mut Parser, allow_bounds: bool)`, which passes the condition to relevant sub-parsers.

This function is then called by `type_()` and the new public `type_no_bounds()`.
2018-12-17 17:26:24 +01:00
Aleksey Kladov 8d42deeac3 fix installation on windows 2018-12-17 11:26:41 +03:00
Bernardo 0527e3b283 rename Edit to TextEdit and AtomEdit to AtomTextEdit 2018-12-11 19:07:17 +01:00
Bernardo 7344d28768 extract AtomEdit and Edit into new ra_text_edit crate 2018-12-10 22:09:12 +01:00
Bernardo a062d844c2 use \b as word boundary 2018-12-09 15:50:56 +01:00
bors[bot] 3725276554 Merge #271
271: Implement format hook r=matklad a=DJMcNab

Tentatively: fixes #155.

However, this does add all changes in staged files, which might not be desirable. However, I think we can't solve that without explicit support in rustfmt for it, so it should be fine.

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-09 12:44:58 +00:00
DJMcNab cbce28a348 Reimplement format-hook using a rust binary 2018-12-09 12:27:13 +00:00
Aleksey Kladov b9c17a6001 Answer canceled requests 2018-12-09 14:43:02 +03:00