Commit graph

1749 commits

Author SHA1 Message Date
Aleksey Kladov
3fe6f422f9 remove id arena 2019-01-04 16:58:10 +03:00
Aleksey Kladov
291d578938 extract area to a crate 2019-01-04 16:58:10 +03:00
bors[bot]
821fa7a50a Merge #424
424: remove non-doc comments from doc comments r=matklad a=csmoe

Closes #357

Co-authored-by: csmoe <csmoe@msn.com>
2019-01-04 13:52:47 +00:00
csmoe
a0ef196d04 add mod doc comments test in ast 2019-01-04 21:51:45 +08:00
csmoe
f604ff5b2f parse doc comment for items 2019-01-04 21:29:00 +08:00
csmoe
8a6d6ac132 add mod doc comment test 2019-01-04 21:28:09 +08:00
bors[bot]
6295bbe6ec Merge #391
391: docing parser methods r=csmoe a=csmoe



Co-authored-by: csmoe <csmoe@msn.com>
2019-01-04 04:36:40 +00:00
csmoe
58139c558a consume trivias for type/const def 2019-01-04 12:22:57 +08:00
csmoe
df591a1e48 doc parsing events 2019-01-04 12:21:47 +08:00
bors[bot]
2fcc6bdafa Merge #421
421: Index macros r=matklad a=matklad

So, this is pretty cool! We now index items which are the result of macro expansion! (of a single currently hard-coded macro). So, workspace symbols can now be used to navigate to `HirDatabase`, for example

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 18:31:41 +00:00
Aleksey Kladov
d61707b4e1 index stuff produced by macros 2019-01-03 21:29:17 +03:00
Aleksey Kladov
ebd7c04faa construct index from symbols directly 2019-01-03 21:29:05 +03:00
bors[bot]
6c0bca5984 Merge #420
420: unit-tests r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 17:15:41 +00:00
Aleksey Kladov
cd32177a25 don't create many compilation units for tests 2019-01-03 20:15:12 +03:00
bors[bot]
8a24f25482 Merge #419
419: file-id-to-symbol r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 16:56:08 +00:00
Aleksey Kladov
9bb2a74256 embed file_id into FileSymbol 2019-01-03 19:55:34 +03:00
bors[bot]
36af3100f9 Merge #418
418: field-vis r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 16:38:14 +00:00
Aleksey Kladov
233b170e83 add pub(crate) works for named fields 2019-01-03 19:37:41 +03:00
bors[bot]
23d45177e2 Merge #417
417: travis-compile r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 16:16:26 +00:00
Aleksey Kladov
4477b8e92f dont build PRs on windows 2019-01-03 19:15:05 +03:00
Aleksey Kladov
f2037d28f7 measure compile-time separately on travis 2019-01-03 19:10:45 +03:00
bors[bot]
33924c0939 Merge #416
416: assist-builder r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 16:08:52 +00:00
Aleksey Kladov
6be39ba758 fix the test 2019-01-03 19:08:24 +03:00
Aleksey Kladov
a4635a199b more enterprisey assists API 2019-01-03 18:59:17 +03:00
bors[bot]
5443205fdd Merge #415
415: use LSP file system operations r=matklad a=vemoo

implements #131

I've replaced `source_file_edits` and `file_system_edits` with `workspace_edit` because [`WorkspacEdit`](https://docs.rs/languageserver-types/0.53.1/languageserver_types/struct.WorkspaceEdit.html) can represent both.

I only use `document_changes` because `changes` cannot represent file system operations.

But if the client doesn't have the `workspace.workspaceEdit.resourceOperations` capability `WorkspaceEdit` cannot replace the current `FileSystemEdit`. Can we assume that the client will support it?

I also adapted the extension code to make use of the new response type, but only for vscode, i don't know if changes have to be made for the emacs part.

Co-authored-by: Bernardo <berublan@gmail.com>
2019-01-03 13:54:43 +00:00
Bernardo
7d9e02e5a2 fix tests 2019-01-03 14:43:47 +01:00
Bernardo
3ab328b49a use lsp WorkspaceEdit instead of custom source_file_edits and file_system_edits 2019-01-03 14:20:15 +01:00
bors[bot]
aea2183799 Merge #413
413: add visibility owner, refactor assists r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 12:22:17 +00:00
Aleksey Kladov
a5935687cb split assists over several files 2019-01-03 15:21:49 +03:00
Aleksey Kladov
5323e59996 rename code-actions -> assists 2019-01-03 15:21:31 +03:00
Aleksey Kladov
0a80d9685a visibility owner 2019-01-03 15:21:31 +03:00
Hirokazu Hata
6ee7788513 Return type name when doc_text_for returns nothing 2019-01-03 21:15:23 +09:00
bors[bot]
d7ca7b8aac Merge #412
412: vec-macro r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 11:54:10 +00:00
Aleksey Kladov
3e764f97eb hardcode vec macro 2019-01-03 14:48:23 +03:00
bors[bot]
d29e98dd97 Merge #409
409: Add Analysis#teype_of test r=matklad a=h-michael



Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2019-01-03 10:06:32 +00:00
Hirokazu Hata
4363e7b9b2 Deive type_of test from tests 2019-01-03 19:04:42 +09:00
bors[bot]
e92f2ffe27 Merge #410
410: Detangle symbols r=matklad a=matklad

Previously, we used `FileSymbol` both to represent bytes which are stored in the index and as an API of `ra_analysis`. Mixing internal storage format and an API is not a really bright idea, so we introduce `NavigationTarget` to handle API part.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-03 09:59:24 +00:00
Aleksey Kladov
8d61853509 docs 2019-01-03 12:57:30 +03:00
Hirokazu Hata
f99e96698c Remove unnecessary mock functions 2019-01-03 18:27:02 +09:00
Aleksey Kladov
03ea6bcbff use LocalPtr in navigation target 2019-01-03 12:26:40 +03:00
Aleksey Kladov
267a89bca2 use LocalSyntaxPtr for file symbol 2019-01-03 12:26:40 +03:00
Aleksey Kladov
f534d2132b move some logic to navigation target 2019-01-03 12:26:40 +03:00
Aleksey Kladov
80a91e6735 add kind to LocalSyntaxPtr 2019-01-03 12:26:40 +03:00
Aleksey Kladov
f673529a33 explain that completion shouldn't do filtering 2019-01-03 12:23:15 +03:00
Hirokazu Hata
f5992964ed Add Analysis#teype_of test 2019-01-03 12:07:20 +09:00
bors[bot]
a4c30d7504 Merge #408
408: vscode problem matcher improvements r=matklad a=vemoo

The problem matcher wasn't working properly and looking at the rustc errors i realized it could be simplified.

I also added a new problem matcher that can be used with https://github.com/passcod/cargo-watch to get the errors in the editor on save. To use it one can create a tasks.json file with:
```json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "cargo watch",
            "command": "cargo",
            "isBackground": true,
            "args": [
                "watch",
                "-c"
            ],
            "problemMatcher": [
                "$rustc-watch"
            ]
        }
    ]
}
```
I initially implemented it like this: cff9f62d32 but i think there's a bug in vscode so i worked around it by copying the pattern for both problem matchers. The first commit can be used if https://github.com/Microsoft/vscode/pull/65840 is merged.


Co-authored-by: Bernardo <berublan@gmail.com>
2019-01-02 21:47:44 +00:00
bors[bot]
54efd8204e Merge #407
407: run r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-02 17:13:06 +00:00
Aleksey Kladov
28f6eedba5 simplify runnables 2019-01-02 20:12:38 +03:00
bors[bot]
4f30c45933 Merge #406
406: Simplify r=matklad a=matklad

Get rid of `AnalysisImpl` wrapper around salsa database. It was useful before we migrated by salsa, but it's long have been just a useless boilerplate. 

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-02 16:42:29 +00:00
Aleksey Kladov
ef08b6c084 fix compilation 2019-01-02 19:41:57 +03:00