aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
| * move extend selection from ra_ide_api_light to ra_ide_apiAleksey Kladov2019-03-206-401/+403
| |
| * introduce Analysis::from_single_fileAleksey Kladov2019-03-201-0/+17
|/
* Merge #1000bors[bot]2019-03-2011-462/+687
|\ | | | | | | | | | | | | | | | | 1000: Clean up some documentation debt r=Xanewok a=matklad Co-authored-by: Aleksey Kladov <[email protected]> Co-authored-by: bjorn3 <[email protected]>
| * Update README.mdbjorn32019-03-201-1/+1
| | | | | | Co-Authored-By: matklad <[email protected]>
| * describe how do we test thingsAleksey Kladov2019-03-201-1/+26
| |
| * explain how to launch the thingAleksey Kladov2019-03-203-36/+91
| |
| * remove old contributingAleksey Kladov2019-03-202-18/+6
| |
| * fixesAleksey Kladov2019-03-202-2/+2
| |
| * start dev readmeAleksey Kladov2019-03-202-0/+37
| |
| * kill old roadmap: it is completedAleksey Kladov2019-03-201-77/+0
| |
| * document some nice thingsAleksey Kladov2019-03-201-0/+36
| |
| * document assistsAleksey Kladov2019-03-201-48/+203
| |
| * sadly, we support only a single language atmAleksey Kladov2019-03-201-1/+1
| |
| * fix linksAleksey Kladov2019-03-201-2/+2
| |
| * fix linksAleksey Kladov2019-03-202-5/+5
| |
| * better user docsAleksey Kladov2019-03-202-206/+210
| |
| * README is short and up to the pointAleksey Kladov2019-03-201-22/+22
| |
| * introduce docs dirAleksey Kladov2019-03-208-72/+74
| |
* | Merge #999bors[bot]2019-03-203-23/+23
|\ \ | |/ |/| | | | | | | | | | | 999: Fixed typo in `Interner`’s name (`Intener`) r=matklad a=regexident Co-authored-by: Vincent Esche <[email protected]>
| * Fixed typo in `Interner`’s name (`Intener`)Vincent Esche2019-03-203-23/+23
|/
* Merge #998bors[bot]2019-03-191-1/+1
|\ | | | | | | | | | | | | | | 998: import resolution is immutable r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * import resolution is immutableAleksey Kladov2019-03-191-1/+1
| |
* | Merge #996bors[bot]2019-03-1910-42/+305
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 996: Allow attributes on top level expressions r=matklad a=pcpthm This PR modifies parser to allow outer attributes on top level expression. Here, top level expression means either - Expression statement e.g. `foo();` - Last expression in a block without semicolon `bar()` in `{ foo(); bar() }`. Except for binary operation expressions and `if` expressions, which are errors (feature gated) in rustc. Attributes on inner expressions like `foo(#[a] 1)` are not implemented. I first tried to implement this by passing `Maker` to expression parsers. However, this implementation couldn't parse `#[attr] foo()` correctly as `CallExpr(Attr(..), PathExpr(..), ArgList(..))` and instead parsed incorrectly as `CallExpr(PathExpr(Attr(..), ..), ArgList(..))` due to the way left recursion is handled. In the end, I introduce `undo_completion` method. Which is not the suggested approach, but it seems not very bad. Fix #759. Co-authored-by: pcpthm <[email protected]>
| * Replace `contract_child` to a less ad-hoc APIpcpthm2019-03-192-40/+37
| |
| * Mark non-code block as textpcpthm2019-03-191-1/+1
| |
| * Error about attributes onpcpthm2019-03-193-12/+82
| | | | | | | | unallowed types of expression statement
| * Allow attributes on top level expressionpcpthm2019-03-198-35/+231
| | | | | | | | | | | | A top level expression is either - a expression statement or - the last expression in a block
* | Merge #995bors[bot]2019-03-184-2/+106
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 995: Install and run `cargo watch` if user agrees r=matklad a=Xanewok This isn't a glorious patch but hopefully is useful :+1: This introduces a default background `cargo watch` task and (separately from that) asks the user on every startup if they want to run `cargo watch` (installs it if it's not available). r? @matklad does it fit the what you've been thinking about? Co-authored-by: Igor Matuszewski <[email protected]>
| * | Appease CIIgor Matuszewski2019-03-181-9/+7
| | |
| * | Guard auto cargo watch behind a config optionIgor Matuszewski2019-03-183-0/+17
| | |
| * | Separate out the interactive cargo watch procedureIgor Matuszewski2019-03-182-64/+70
| | |
| * | Reformat using PrettierIgor Matuszewski2019-03-182-17/+35
| | |
| * | Remove unused importsIgor Matuszewski2019-03-181-2/+1
| | |
| * | Prefer installing `cargo-watch` via Task APIIgor Matuszewski2019-03-181-23/+14
| | | | | | | | | | | | This gives us much more fine-grained stdout buffering and ANSI terminal colors.
| * | Respect the user-provided label when creating taskIgor Matuszewski2019-03-181-1/+1
| | |
| * | Ask the user to install and start cargo watchIgor Matuszewski2019-03-181-5/+61
| | |
| * | Define a cargo watch taskIgor Matuszewski2019-03-181-1/+21
| | |
| * | Remove redundant Runnable.rangeIgor Matuszewski2019-03-181-1/+0
| |/
* | Merge #993bors[bot]2019-03-181-1/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 993: Fix installing vscode extension on MacOS r=matklad a=funkill VSCode often installed in MacOS as `Visual Studio Code.app` package and `code` binary located at `Contents/Resources/app/bin` in package. This path not exists in `$PATH` variable and we can't run `code`. In previous version of `do_run` function all before space was command and all after - arguments. If path or command has spaces, extracting command breaks. To fix this i extracted command to separated argument of function. All packages can be placed in system app dir (`/Applications`) or user app dir (`~/Applications`). I created helper function for find app in this directories. Co-authored-by: funkill2 <[email protected]>
| * | set code less genericfunkill22019-03-181-50/+24
| | |
| * | added setup environmentfunkill22019-03-181-1/+12
| | |
| * | added helper module for appending vscode pathfunkill22019-03-181-0/+54
| |/
* | Merge #994bors[bot]2019-03-185-10/+61
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 994: Upgrade ra_vfs to use new Filtering r=matklad a=vipentti Upgrade `ra_vfs` to `0.2.0` that includes the filtering. Currently this matches the previous filtering, meaning all roots are filtered using the same rules. Co-authored-by: Ville Penttinen <[email protected]>
| * Upgrade ra_vfs to use new FilteringVille Penttinen2019-03-185-10/+61
|/ | | | | Currently this matches the previous filtering, meaning all roots are filtered using the same rules.
* Merge #991bors[bot]2019-03-1814-81/+149
|\ | | | | | | | | | | | | | | | | | | | | | | 991: Use Marker argument for item parsers r=matklad a=pcpthm Before doing this for expressions, I found that the pattern (Marker argument) should be applied to the item parsers because visiblity and modifiers are parsed in a separate function. Fixed some parser bugs: - Fix pub_expr: `pub 42;` was allowed. - Fix incorrect parsing of crate::path: incorrectly parsed as `crate` as a visibility. Co-authored-by: pcpthm <[email protected]>
| * Use Marker argument for item parserspcpthm2019-03-1814-81/+149
| | | | | | | | | | - Fix pub_expr - Fix incorrect parsing of crate::path
* | Merge #989bors[bot]2019-03-182-0/+153
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 989: Implement naive version of fill_struct_fields assist r=matklad a=yanchith Fixes #964 This implements the `fill_struct_fields` assist. Currently only works for named struct fields, but not for tuple structs, because we seem to be missing a `TupleStructLit` (akin to `StructLit`, but for tuple structs). I am happy to implement `TupleStructLit` parsing given some guidance (provided it's really missing) and make the assist work for tuple structs as well. Could do so either in this PR, or another one 🙂 Sorry if I missed something important, this is my first PR for Rust Analyzer. Btw is there any way to run the assists in emacs? UPDATE: I just realized that parsing `TupleStructLit` would be quite difficult as it it really similar, if not identical to a function call... Co-authored-by: yanchith <[email protected]>