Commit Graph

10400 Commits

Author SHA1 Message Date
Alin Sinpalean
771457ec5c Always derive from process.env when spawning a child process/shell execution
This is useful when an extension (e.g. Nix Environment Selector) or launch
configuration sets one or more environment variables.

When `env` is not explicitly specified in the options passed to
`child_process.spawn()` or `vscode.ShellExecution()`, then `process.env` gets
applied automatically. But when an explicit `env` is set, it should inherit from
`process.env` rather than replace it completely.
2020-05-31 13:41:55 +02:00
bors[bot]
d7071eae2c
Merge #4668
4668: Rename user/readme.adoc -> user/manual.adoc r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-31 11:22:40 +00:00
Aleksey Kladov
5a2f4548e5 Rename user/readme.adoc -> user/manual.adoc 2020-05-31 13:22:02 +02:00
bors[bot]
09df51dab8
Merge #4664
4664: Generate feature documentation from code r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-31 10:50:11 +00:00
Aleksey Kladov
13a996f3b6 Force / slashes on windows 2020-05-31 12:49:06 +02:00
Aleksey Kladov
7e3ee77c83 Tweak whitespace 2020-05-31 12:12:41 +02:00
robojumper
cc6ba84c40 fmt 2020-05-31 12:06:22 +02:00
robojumper
1cd78a3355 correctly infer labelled breaks 2020-05-31 11:40:18 +02:00
Aleksey Kladov
1c6a2eb14a Move the rest of the features to generated docs 2020-05-31 11:29:19 +02:00
robojumper
fb469c3b31 labelled break test 2020-05-31 11:24:53 +02:00
Aleksey Kladov
b795a07320 Doc more features 2020-05-31 10:14:36 +02:00
Aleksey Kladov
8915183d7d Don't require module docs for Features and Assists 2020-05-31 09:59:38 +02:00
Aleksey Kladov
f593393ebb Specify actions 2020-05-31 09:45:41 +02:00
Aleksey Kladov
c116171879 Ignore HTML 2020-05-31 09:29:15 +02:00
Aleksey Kladov
5dd6549569 Simplify 2020-05-31 09:28:53 +02:00
veetaha
d605ec9c32 Change Runnable.bin -> Runnable.kind
As per matklad, we now pass the responsibility for finding the binary to the frontend.
Also, added caching for finding the binary path to reduce
the amount of filesystem interactions.
2020-05-31 05:21:45 +03:00
veetaha
a419cedb1c Fix tests, apply code review proposals 2020-05-31 03:10:23 +03:00
veetaha
030d78345f Fix invoking cargo without consulting CARGO or standard installation paths 2020-05-31 03:10:23 +03:00
Aleksey Kladov
c8f27a4a88 Generate features docs from source 2020-05-31 01:54:54 +02:00
Aleksey Kladov
383247a9ae Generalize 2020-05-31 00:33:37 +02:00
bors[bot]
5f7225446e
Merge #4662
4662: minor r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-30 22:00:07 +00:00
Aleksey Kladov
e1829d8959 minor 2020-05-30 23:57:16 +02:00
Roland Ruckerbauer
780c89959a Test case for format string highlighting of closing curlybrace 2020-05-30 18:35:11 +02:00
Roland Ruckerbauer
a27ede88a3 Fix problem with format string tokenization
Fixed by just not handling closing curlybrace escaping.
2020-05-30 14:09:10 +02:00
bors[bot]
07060b3daa
Merge #4654
4654: Add semantic highlight to ? operator r=matklad a=ruabmbua

Made it an operator with controlFlow modifier.

To highlight in vscode as red:

```json
"editor.semanticTokenColorCustomizations": {
        "enabled": true,
        "rules": {
            "operator.controlFlow": "#ff0000",
        }
}
```

![Bildschirmfoto von 2020-05-29 21-32-06](https://user-images.githubusercontent.com/2522373/83297998-f3585a00-a1f3-11ea-9d14-4ef04b9b6b9a.png)

https://github.com/rust-analyzer/rust-analyzer/issues/4597


Co-authored-by: Roland Ruckerbauer <roland.rucky@gmail.com>
2020-05-30 08:26:04 +00:00
bors[bot]
5d84028170
Merge #4562
4562: Assist: replace anonymous lifetime with a named one r=matklad a=jbalint

(fixes #4523)

Co-authored-by: Jess Balint <jbalint@gmail.com>
2020-05-30 08:01:00 +00:00
bors[bot]
11f74f2827
Merge #4653
4653: Fix match ergonomics in closure parameters r=matklad a=flodiebold

Fixes #4476.

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-05-30 07:52:07 +00:00
bors[bot]
40bdd2e161
Merge #4655
4655: Fix typo in docs/dev/lsp-extensions.md: automagiacally -> automagically r=kjeremy a=theHamsta

This may be a typo...

Co-authored-by: Stephan Seitz <stephan.seitz@fau.de>
2020-05-30 04:51:26 +00:00
Stephan Seitz
49f674480a Fix typo in docs/dev/lsp-extensions.md: automagiacally -> automagically 2020-05-29 23:43:14 +02:00
bors[bot]
f7f01dd5f0
Merge #4651
4651: Use first match branch in case of type mismatch, not last r=kjeremy a=flodiebold

The comment says this was intentional, but I do agree with #4304 that it makes
more sense the other way around (for if/else as well).

Fixes #4304.

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-05-29 21:07:43 +00:00
bors[bot]
3689c8c3f6
Merge #4652
4652: Upgrade Chalk r=kjeremy a=flodiebold

Fixes #4072.

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-05-29 19:33:52 +00:00
Roland Ruckerbauer
18aa4bcb03 Add semantic highlight to QUESTION token
Made it an operator with controlFlow modifier.
2020-05-29 21:17:14 +02:00
Florian Diebold
6f67a46a6a Fix match ergonomics in closure parameters
Fixes #4476.
2020-05-29 17:36:43 +02:00
bors[bot]
30658b25d2
Merge #4648
4648: Support raw_ref_op's raw reference operator r=matklad a=robojumper

Fixes #4642.

This syntax (and its semantics) are implemented in rustc behind the `raw_ref_op` feature.

It is not entirely clear whether this is the syntax that will become stable, but [it seems like](https://github.com/rust-lang/rust/pull/72279) rust-analyzer must still support this unstable syntax to support future stable rust.

Also fixes a random inference failure involving a direct coercion from `&[T, _]` to `*const [T]`.

Co-authored-by: robojumper <robojumper@gmail.com>
2020-05-29 15:04:35 +00:00
Florian Diebold
ab28f6c249 Upgrade Chalk
Fixes #4072.
2020-05-29 16:49:52 +02:00
Florian Diebold
7d0586cb15 Use first match branch in case of type mismatch, not last
The comment says this was intentional, but I do agree with #4304 that it makes
more sense the other way around (for if/else as well).

Fixes #4304.
2020-05-29 16:04:56 +02:00
Jess Balint
bd8aa04bae add support for naming anon lifetimes in function return type 2020-05-28 15:10:14 -05:00
robojumper
367487fe88 Support raw_ref_op's raw reference operator 2020-05-28 21:42:22 +02:00
bors[bot]
190a0595a4
Merge #4640
4640: Add `inRustProject` when-clause for commands in vscode r=vsrs a=vsrs

At the moment all rust-analyzer commands always visible in the command palette, even if there is no rust project opened.

This PR adds special [when-clause](https://code.visualstudio.com/docs/getstarted/keybindings#_when-clause-contexts) context. This context also might be used in key bindings.


Co-authored-by: vsrs <vit@conrlab.com>
Co-authored-by: vsrs <62505555+vsrs@users.noreply.github.com>
2020-05-28 13:37:37 +00:00
vsrs
6d0f1e2e72
Add inRustProject context documentation. 2020-05-28 16:04:42 +03:00
bors[bot]
fc29d0e924
Merge #4641
4641: Upgrade Chalk r=matklad a=flodiebold

Chalk newly added TypeName::Never and Array; I implemented the conversion for
Never, but not Array since that expects a const argument.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-05-28 09:34:33 +00:00
bors[bot]
d3d1407f50
Merge #4646
4646: Link forum topic r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-28 08:20:43 +00:00
Aleksey Kladov
232a1de222 Link forum topic 2020-05-28 10:19:01 +02:00
bors[bot]
6d569c32fe
Merge #4639
4639: Fixed missing newline on each field on "Missing structure fields". r=flodiebold a=flipbit03



Co-authored-by: Cadu <cadu.coelho@gmail.com>
2020-05-27 19:14:11 +00:00
Florian Diebold
c8a4bb1445 Upgrade Chalk
Chalk newly added TypeName::Never and Array; I implemented the conversion for
Never, but not Array since that expects a const argument.
2020-05-27 21:07:08 +02:00
vsrs
f3e04fbbab Add inRustProject when-clause for commands. 2020-05-27 19:46:23 +03:00
Cadu
c011f04f55 Fixed missing newline on each field on "Missing structure fields". 2020-05-27 13:15:19 -03:00
bors[bot]
94889b6472
Merge #4592
4592: fix textedit range returned for completion when left token is a keyword r=bnjjj a=bnjjj

close #4545

Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-05-27 13:22:26 +00:00
Benjamin Coenen
846cefa491 fix textedit range returned for completion when left token is a keyword
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-05-27 15:15:19 +02:00
bors[bot]
59adc7bfb6
Merge #4596
4596: Strip leading underscores of argument names in function/method r=matklad a=kuy

Closes #4510 

### Goal

When I select a function/method from completions, I get a snippet that doesn't contain leading underscores of argument names.

### Solution

- Option 1: All signatures don't contain underscores
- Option 2: Keep same signature, but inserted snippet doesn't contain underscores

I choose Option 2 because I think that leading underscores is a part of "signature". Users should get correct signatures. On the other hand, trimming underscores is an assist by IDE.

### Other impls.

rls: Complete argument names with underscores (same as actual ra)
IntelliJ Rust: Doesn't complete argument names
VSCode (TypeScript): Doesn't complete argument names

### Working example

![Screen Shot 2020-05-25 at 0 03 21](https://user-images.githubusercontent.com/151614/82757771-a05e5b80-9e1d-11ea-9dbc-1263c960e2ae.png)


Co-authored-by: Yuki Kodama <endflow.net@gmail.com>
2020-05-27 12:41:38 +00:00