aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #990bors[bot]2019-03-2330-72/+96
|\ | | | | | | | | | | | | | | 990: Forbid TODO markers on master branch r=matklad a=matklad this makes TODO markers useful for things which you want to fix before sending a PR Co-authored-by: Aleksey Kladov <[email protected]>
| * replace todo with fixmeAleksey Kladov2019-03-2329-71/+71
| |
| * forbid todo markersAleksey Kladov2019-03-231-1/+25
|/
* Merge #1021bors[bot]2019-03-222-12/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1021: Wasm dependencies r=matklad a=detrumi As a first step towards running RA on WASM (see #1007), this tweaks the dependencies somewhat so that projects built using `wasm-pack` can use `ra_ide_api` as a dependency. There were two problems: - use of undeclared type or module `MmapInner` This error occurred because of the `memmap` crate, as a dependency of `fst` Solution: specify `default-features = false` for the `fst` package (see https://github.com/BurntSushi/fst/issues/70) - use of undeclared type or module `imp` This happened in the `wait-timeout` crate ([which uses `Command` under the hood](https://github.com/alexcrichton/wait-timeout/issues/18)), a dependency of `rusty-fork` which is a dependency of `proptest`. Solution: move `proptest` to dev-dependencies and add `#[cfg(test)]` to the `test_utils` crate. **Edit:** Oh, that causes trouble with resolving the import when running the tests. Hmm... Co-authored-by: Wilco Kusee <[email protected]>
| * Disable memmap feature in fst dependencyWilco Kusee2019-03-222-12/+1
| |
* | Merge #1012bors[bot]2019-03-227-33/+27
|\ \ | |/ |/| | | | | | | | | | | 1012: Move join_lines and test_utils to ra_ide_api r=matklad a=detrumi Part of #1009 Co-authored-by: Wilco Kusee <[email protected]>
| * Simplify changes and fix testsWilco Kusee2019-03-223-19/+15
| |
| * Remove LocalEdit usageWilco Kusee2019-03-222-16/+17
| |
| * Move join_lines to ra_ide_apiWilco Kusee2019-03-227-13/+10
|/
* Merge #1016bors[bot]2019-03-223-5/+5
|\ | | | | | | | | | | | | | | 1016: Move folding_ranges to ra_ide_api r=pasa a=pasa folding_ranges part of #1009 Co-authored-by: Sergey Parilin <[email protected]>
| * Move folding_ranges to ra_ide_apiSergey Parilin2019-03-223-5/+5
|/
* Merge #1017bors[bot]2019-03-226-5/+8
|\ | | | | | | | | | | | | | | 1017: line_index and line_index_utils moved to ra_ide_api r=matklad a=pasa line_index and line_index_utils for issue #1009 Co-authored-by: Sergey Parilin <[email protected]>
| * line_index and line_index_utils moved to ra_ide_apiSergey Parilin2019-03-226-5/+8
| |
* | Merge #1015bors[bot]2019-03-224-144/+155
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 1015: Change primitive integers to have signedness and bitness r=matklad a=yanchith Fixes #1004 This creates enums: `Signedness`, `IntBitness` and `FloatBitness`, and condenses `UintTy` with `IntTy`, making use of the created enums. `FloatTy` is also changed from an enum into a struct containing `FloatBitness`. `UncertainIntTy` and `UncertainFloatTy` now look much more similar. `Ord` was removed from the types because `{u,i}size` aren't easily orderable with the rest. Fortunately this wasn't depended on anywhere. Co-authored-by: yanchith <[email protected]>
| * Refactor primitive types into more orthogonal representationyanchith2019-03-224-144/+155
|/
* Merge #1013bors[bot]2019-03-2215-24/+149
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1013: Fuzz reparsing and fix found bugs r=matklad a=pcpthm Add fuzz test for reparsing which: - Checks reparsing doesn't panic and validate result syntax tree. - Checks that incremental reparsing produces the same syntax tree as full reparse. - Check for that errors are the same as full reparsing is disabled because errors are less important than syntax tree and produce failures which I couldn't figure out how to fix immediately (FIXME comment). I guess the current input generation is inefficient but still found several bugs: - Arithmetic overflow (negative result on an unsigned type). I changed the signature of `SyntaxError::add_offset` to solve this problem. - When reparsing a leaf, the token of the leaf can be joined to the next characters. Such case was not considered. - UNDERSCORE token was not produced when text length is exactly 1 (not a reparsing bug). - When reparsing a block, *inner* curly braces should be balanced. i.e. `{}{}` is invalid. - Effects of deleting newlines were not considered. Co-authored-by: pcpthm <[email protected]>
| * Fix reparsing failure when removing newlinepcpthm2019-03-212-0/+14
| |
| * Fix reparsing bug on "{}{}"pcpthm2019-03-212-1/+5
| |
| * Completely ignore errors for reparse fuzzpcpthm2019-03-211-1/+0
| |
| * Use template text to improve reparse fuzzingpcpthm2019-03-211-1/+5
| |
| * Fix lexer not producing right token on "_"pcpthm2019-03-212-0/+1
| |
| * Fix reparsing bug when lex result is differentpcpthm2019-03-213-2/+17
| |
| * Improve reparse fuzz testpcpthm2019-03-211-1/+13
| |
| * Fix an arithmetic overflow in reparserpcpthm2019-03-213-5/+11
| |
| * Add fuzz test for reparsingpcpthm2019-03-214-1/+64
| |
| * Refactor parser fuzz testingpcpthm2019-03-215-16/+23
| |
* | Merge #1014bors[bot]2019-03-221-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 1014: Don't execute cargo watch when information message is dismissed r=matklad a=pcpthm I think most information messages on `VSCode` have such behavior. Co-authored-by: pcpthm <[email protected]>
| * | Don't execute cargo watch when popup is dismissedpcpthm2019-03-221-2/+2
| |/
* | Merge #988bors[bot]2019-03-2212-318/+377
|\ \ | |/ |/| | | | | | | | | | | 988: Consolidate Ty variants into a new variant Ty::Apply r=matklad a=flodiebold This gets us a lot closer to Chalk. It also introduces a lot of boilerplate, though, especially when matching :/ A lot of this can probably be refactored to be nicer, though. Co-authored-by: Florian Diebold <[email protected]>
| * Assert in apply_substs that the number of parameters doesn't changeFlorian Diebold2019-03-212-2/+7
| | | | | | | | ... and fix a small bug revealed by that.
| * Rename name field to ctor as wellFlorian Diebold2019-03-215-29/+29
| |
| * Some more doc commentsFlorian Diebold2019-03-211-2/+12
| |
| * TypeName => TypeCtorFlorian Diebold2019-03-217-98/+98
| |
| * Remove the old variants replaced by Ty::ApplyFlorian Diebold2019-03-2112-404/+266
| |
| * Add Ty::ApplyFlorian Diebold2019-03-211-1/+177
| |
| * Represent FnPtr and Tuple using SubstsFlorian Diebold2019-03-213-27/+33
|/
* Merge #1011bors[bot]2019-03-213-301/+298
|\ | | | | | | | | | | | | | | 1011: cleanup r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * cleanupAleksey Kladov2019-03-211-68/+73
| |
| * move diagnostics to ide_apiAleksey Kladov2019-03-213-258/+250
|/
* Merge #1010bors[bot]2019-03-213-16/+31
|\ | | | | | | | | | | | | | | | | | | | | 1010: Change enableCargoWatchOnStartup to have three states r=matklad a=vipentti This fixes #1005. Defaults to `ask` which prompts users each time whether to start `cargo watch` or not. `enabled` always starts `cargo watch` and `disabled` does not. Co-authored-by: Ville Penttinen <[email protected]>
| * Change enableCargoWatchOnStartup to have three statesVille Penttinen2019-03-213-16/+31
|/ | | | | | | This fixes #1005. Defaults to `ask` which prompts users each time whether to start `cargo watch` or not. `enabled` always starts `cargo watch` and `disabled` does not.
* Merge #1002bors[bot]2019-03-211-33/+122
|\ | | | | | | | | | | | | | | 1002: Fill partial fields r=matklad a=c410-f3r Fixes #992 Co-authored-by: Caio <[email protected]>
| * Improve performance and orderingCaio2019-03-201-21/+15
| |
| * Fill partial fieldsCaio2019-03-201-32/+127
| |
* | Merge #997bors[bot]2019-03-218-62/+180
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 997: Improve filtering of file roots r=matklad a=vipentti `ProjectWorkspace::to_roots` now returns a new `ProjectRoot` which contains information regarding whether or not the given path is part of the current workspace or an external dependency. This information can then be used in `ra_batch` and `ra_lsp_server` to implement more advanced filtering. This allows us to filter some unnecessary folders from external dependencies such as tests, examples and benches. Relates to discussion in #869 Co-authored-by: Ville Penttinen <[email protected]>
| * | Move actual include logic to ProjectRootVille Penttinen2019-03-215-53/+69
| | | | | | | | | | | | | | | This way the two IncludeRustFiles implementations can simply call the ProjectRoots' methods, so that the include logic is in one place.
| * | Improve filtering of file rootsVille Penttinen2019-03-206-62/+164
| |/ | | | | | | | | | | | | | | | | `ProjectWorkspace::to_roots` now returns a new `ProjectRoot` which contains information regarding whether or not the given path is part of the current workspace or an external dependency. This information can then be used in `ra_batch` and `ra_lsp_server` to implement more advanced filtering. This allows us to filter some unnecessary folders from external dependencies such as tests, examples and benches.
* | Merge #1003bors[bot]2019-03-204-20/+62
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 1003: make Name::new private r=flodiebold a=matklad This maybe is overengineering, but it seems cool to keep names completely opaque. r? @flodiebold Co-authored-by: Aleksey Kladov <[email protected]>
| * | make Name::new privateAleksey Kladov2019-03-204-20/+62
| | |
* | | Merge #1008bors[bot]2019-03-207-401/+420
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1008: Move extend selection to ra_ide_api r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>