aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge #1973bors[bot]2019-10-092-57/+85
|\ | | | | | | | | | | | | | | 1973: add <> for type aliases as well r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * add <> for type aliases as wellAleksey Kladov2019-10-092-53/+81
| |
| * smal cleanupAleksey Kladov2019-10-091-5/+5
| |
* | Merge #1972bors[bot]2019-10-091-0/+3
|\ \ | |/ |/| | | | | | | | | | | 1972: extend selection correctly handles commas in tuples r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * extend selection correctly handles commas in tuplesAleksey Kladov2019-10-091-0/+3
| |
* | Merge #1970bors[bot]2019-10-095-96/+222
|\ \ | |/ |/| | | | | | | | | | | 1970: Add <> when completing generics r=matklad a=matklad @flodiebold wdyt? Is it correct that we always need to add `<>` in generic types? Co-authored-by: Aleksey Kladov <[email protected]>
| * add `<>` when completing generic typesAleksey Kladov2019-10-084-78/+198
| |
| * simplifyAleksey Kladov2019-10-081-4/+5
| |
| * refactorAleksey Kladov2019-10-081-11/+9
| |
| * refactorAleksey Kladov2019-10-081-8/+15
|/
* Merge #1969bors[bot]2019-10-0810-45/+82
|\ | | | | | | | | | | | | | | 1969: restore coloring of attributes r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * restore coloring of attributesAleksey Kladov2019-10-082-1/+4
| |
| * hard-code nightly-only CFGsAleksey Kladov2019-10-081-0/+8
| |
| * macro DSL for cfg in testsAleksey Kladov2019-10-083-16/+23
| |
| * use slightly more idiomatic api for cfgAleksey Kladov2019-10-087-40/+59
| |
* | Merge #1924bors[bot]2019-10-088-9/+81
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 1924: Support inferring&completing `Self` type in enum/struct/union definitions r=ice1000 a=ice1000 Signed-off-by: ice1000 <[email protected]> An attempt to fix #1908. This code works, but I believe the implementation is ugly. Please give me suggestions! Co-authored-by: ice1000 <[email protected]>
| * Address comments: fix docs, add completion test for `Self`.ice10002019-10-084-5/+32
| |
| * Support inferring `Self` type in enum definitionsice10002019-10-087-9/+54
| | | | | | | | Signed-off-by: ice1000 <[email protected]>
* | Merge #1922bors[bot]2019-10-084-21/+98
|\ \ | | | | | | | | | | | | | | | | | | | | | 1922: feat(assists): Make raw string unescaped r=matklad a=Geobert Last piece of https://github.com/rust-analyzer/rust-analyzer/issues/1730 Co-authored-by: Geobert Quach <[email protected]>
| * | feat(assists): Address some PR commentsGeobert Quach2019-10-041-25/+24
| | |
| * | feat(assists): Even smarter with hashesGeobert Quach2019-10-011-12/+44
| | | | | | | | | | | | Count `"#*` streak only, extract the counting in a function, unit test this function
| * | feat(assists): Be smart about hashesGeobert Quach2019-09-301-1/+36
| | | | | | | | | | | | Add max_hashes_streak + 1 hashes to the raw string
| * | feat(assists): Keep only one version of make_raw_stringGeobert Quach2019-09-293-99/+15
| | |
| * | feat(assists): Make raw string unescapedGeobert Quach2019-09-265-1/+95
| | |
* | | Merge #1951bors[bot]2019-10-085-1/+160
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1951: Lower the precedence of the `as` operator. r=matklad a=goffrie Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing. Fixes #1851. Co-authored-by: Geoffry Song <[email protected]>
| * | | Move tests aroundGeoffry Song2019-10-069-147/+198
| | | |
| * | | Lower the precedence of the `as` operator.Geoffry Song2019-10-035-45/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing.
* | | | Merge #1966bors[bot]2019-10-081-1/+1
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 1966: use lockfile in cargo install r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | use lockfile in cargo installAleksey Kladov2019-10-081-1/+1
|/ / /
* | | Merge #1963bors[bot]2019-10-071-11/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1963: proc-macro2 1.0.5 r=matklad a=kjeremy Has performance improvements. See https://github.com/alexcrichton/proc-macro2/issues/198 Co-authored-by: Jeremy Kolb <[email protected]>
| * | | proc-macro2 1.0.5Jeremy Kolb2019-10-071-11/+11
|/ / /
* | | Merge #1960bors[bot]2019-10-0515-429/+349
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1960: Replace AST visitors with macro r=viorina a=viorina Fixes #1672. Co-authored-by: Ekaterina Babshukova <[email protected]>
| * | | remove `visitor` moduleEkaterina Babshukova2019-10-056-144/+27
| | | |
| * | | replace AST visitors with macroEkaterina Babshukova2019-10-0510-297/+334
| | | |
* | | | Merge #1928bors[bot]2019-10-0529-66/+671
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1928: Support `#[cfg(..)]` r=matklad a=oxalica This PR implement `#[cfg(..)]` conditional compilation. It read default cfg options from `rustc --print cfg` with also hard-coded `test` and `debug_assertion` enabled. Front-end settings are **not** included in this PR. There is also a known issue that inner control attributes are totally ignored. I think it is **not** a part of `cfg` and create a separated issue for it. #1949 Fixes #1920 Related: #1073 Co-authored-by: uHOOCCOOHu <[email protected]> Co-authored-by: oxalica <[email protected]>
| * | | Use raw cfgs in json project and fix typooxalica2019-10-053-9/+18
| | | |
| * | | Add docsuHOOCCOOHu2019-10-022-0/+6
| | | |
| * | | Read default cfgs from rustcuHOOCCOOHu2019-10-028-14/+76
| | | |
| * | | OptimizeuHOOCCOOHu2019-10-025-13/+28
| | | |
| * | | Refactor CfgOptions insideuHOOCCOOHu2019-10-023-13/+20
| | | |
| * | | Support cfg attribute on impl blocksuHOOCCOOHu2019-10-025-13/+90
| | | |
| * | | Enable CfgOptions `test` for workspace cratesuHOOCCOOHu2019-10-029-26/+134
| | | |
| * | | Introduce ra_cfg to parse and evaluate CfgExpruHOOCCOOHu2019-10-0211-27/+315
| | | |
| * | | Pass attributes as token tree to DefCollectoruHOOCCOOHu2019-10-024-21/+54
| | | |
* | | | Merge #1952bors[bot]2019-10-053-0/+118
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1952: Create an assist for applying De Morgan's Law r=matklad a=cronokirby Fixes #1807 This assist can transform expressions of the form `!x || !y` into `!(x && y)`. This also works with `&&`. This assist will only trigger if the cursor is on the central logical operator. The main limitation of this current implementation is that both operands need to be an explicit negation, either of the form `!x`, or `x != y`. More operands could be accepted, but this would complicate the implementation quite a bit. Co-authored-by: Lúcás Meier <[email protected]>
| * | | | Fix typo about De Morgan's law assistLúcás Meier2019-10-041-1/+1
| | | | |
| * | | | [#1807] Add entry in docs/user/featuresLúcás Meier2019-10-041-0/+14
| | | | |
| * | | | [#1807] Refactor file structureLúcás Meier2019-10-041-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | Use the more conventional way of importing the ast types, and put the assist at the top of the file.
| * | | | Fix formattingLúcás Meier2019-10-041-22/+9
| | | | |
| * | | | Create an assist for applying De Morgan's lawLúcás Meier2019-10-031-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #1807 This assist can transform expressions of the form `!x || !y` into `!(x && y)`. This also works with `&&`. This assist will only trigger if the cursor is on the central logical operator. The main limitation of this current implementation is that both operands need to be an explicit negation, either of the form `!x`, or `x != y`. More operands could be accepted, but this would complicate the implementation quite a bit.