Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | rename TreePtr -> TreeArc | Aleksey Kladov | 2019-01-11 | 2 | -116/+116 | |
| | | | | This is much clearer about the semantics | |||||
* | itroduce trait for ast tokens | Aleksey Kladov | 2019-01-08 | 1 | -0/+7 | |
| | ||||||
* | regenerate | Aleksey Kladov | 2019-01-08 | 1 | -3052/+1791 | |
| | ||||||
* | switch ra_syntax to new rowan API | Aleksey Kladov | 2019-01-08 | 1 | -45/+48 | |
| | ||||||
* | Make FnScopes use hir::Expr | Florian Diebold | 2019-01-05 | 1 | -16/+9 | |
| | | | | | | This was a bit complicated. I've added a wrapper type for now that does the LocalSyntaxPtr <-> ExprId translation; we might want to get rid of that or give it a nicer interface. | |||||
* | Add HIR Expr machinery | Florian Diebold | 2019-01-05 | 1 | -1/+9 | |
| | ||||||
* | Type the self parameter | Florian Diebold | 2019-01-04 | 1 | -1/+46 | |
| | ||||||
* | Add HIR for impl blocks | Florian Diebold | 2019-01-04 | 1 | -2/+38 | |
| | | | | | | | | | Since we need to be able to go from def to containing impl block, as well as the other direction, and to find all impls for a certain type, a design similar to the one for modules, where we collect all impls for the whole crate and keep them in an arena, seemed fitting. The ImplBlock type, which provides the public interface, then consists only of an Arc to the arena containing all impls, and the index into it. | |||||
* | Rename ImplItem to ImplBlock | Florian Diebold | 2019-01-04 | 1 | -18/+18 | |
| | | | | | rustc uses the name ImplItem for items in impls, not the impl {} block itself, which could lead to confusion. | |||||
* | visibility owner | Aleksey Kladov | 2019-01-03 | 1 | -0/+47 | |
| | ||||||
* | super simplistic macro expansion | Aleksey Kladov | 2018-12-28 | 1 | -0/+4 | |
| | ||||||
* | add macro-call node | Aleksey Kladov | 2018-12-28 | 1 | -0/+41 | |
| | ||||||
* | Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::Ty | Florian Diebold | 2018-12-25 | 1 | -5/+33 | |
| | ||||||
* | Implement reference / pointer types | Florian Diebold | 2018-12-25 | 1 | -3/+15 | |
| | | | | | - parse them - infer types of & and * expressions | |||||
* | Implement basic completion for fields | Florian Diebold | 2018-12-25 | 1 | -0/+4 | |
| | ||||||
* | Type field accesses | Florian Diebold | 2018-12-25 | 1 | -1/+9 | |
| | ||||||
* | Add AST definitions for struct/variant fields etc. | Florian Diebold | 2018-12-25 | 1 | -7/+218 | |
| | | | | Fixes #117 | |||||
* | Infer result of struct literals, and recurse into their child expressions | Florian Diebold | 2018-12-25 | 1 | -3/+23 | |
| | ||||||
* | Resolve paths to defs (functions currently) during type inference | Florian Diebold | 2018-12-23 | 1 | -1/+5 | |
| | ||||||
* | Make let statements kind of work | Florian Diebold | 2018-12-23 | 1 | -0/+4 | |
| | ||||||
* | Parse integer / float types | Florian Diebold | 2018-12-23 | 1 | -1/+5 | |
| | ||||||
* | Add beginnings of type infrastructure | Florian Diebold | 2018-12-23 | 1 | -6/+38 | |
| | ||||||
* | grand module rename | Aleksey Kladov | 2018-12-08 | 1 | -365/+0 | |
| | ||||||
* | Some import resolution boilerplate | Aleksey Kladov | 2018-11-20 | 1 | -0/+6 | |
| | ||||||
* | Validate byte string literals | Adolfo Ochagavía | 2018-11-11 | 2 | -0/+43 | |
| | ||||||
* | Add validator for byte | Adolfo Ochagavía | 2018-11-11 | 2 | -0/+43 | |
| | ||||||
* | Validate string literals | Adolfo Ochagavía | 2018-11-09 | 2 | -1/+45 | |
| | ||||||
* | Complete paths in use trees | Aleksey Kladov | 2018-11-07 | 1 | -0/+9 | |
| | ||||||
* | rename ROOT -> SOURCE_FILE | Aleksey Kladov | 2018-11-07 | 1 | -43/+43 | |
| | ||||||
* | Add some more DocCommentsOwner | Jeremy A. Kolb | 2018-11-07 | 1 | -0/+7 | |
| | ||||||
* | ra_syntax::File is just RootNode | Aleksey Kladov | 2018-11-06 | 2 | -197/+961 | |
| | ||||||
* | Add a pinch of comments | Aleksey Kladov | 2018-11-06 | 3 | -0/+16 | |
| | ||||||
* | Generalize Owned nodes | Aleksey Kladov | 2018-11-06 | 2 | -1806/+1237 | |
| | ||||||
* | Add character literal parsing and validation | Adolfo Ochagavía | 2018-11-04 | 2 | -0/+40 | |
| | ||||||
* | Use From to get an owned AST | Aleksey Kladov | 2018-11-01 | 2 | -400/+700 | |
| | ||||||
* | Reformat all | Aleksey Kladov | 2018-10-31 | 1 | -5/+11 | |
| | ||||||
* | `ast::DocCommentsOwner` which represents a documentation comment owner | Jeremy A. Kolb | 2018-10-31 | 2 | -0/+19 | |
| | ||||||
* | Move FnDescriptors to analyzer | Aleksey Kladov | 2018-10-31 | 2 | -100/+100 | |
| | ||||||
* | Introduce owned ast nodes | Aleksey Kladov | 2018-10-31 | 2 | -2/+1303 | |
| | | | | ast::FooNode is an owned 'static counterpart to ast::Foo<'a> | |||||
* | Complete crate:: paths | Aleksey Kladov | 2018-10-24 | 2 | -0/+34 | |
| | ||||||
* | clippy: Use if lets and remove redundant returns | Alan Du | 2018-10-18 | 1 | -3/+2 | |
| | ||||||
* | rename gen-kinds to gen-syntax | Aleksey Kladov | 2018-10-16 | 2 | -2/+2 | |
| | ||||||
* | Cargo Format | Jeremy A. Kolb | 2018-10-16 | 3 | -13/+15 | |
| | | | | Run `cargo fmt` and ignore generated files | |||||
* | regenerate | Aleksey Kladov | 2018-10-15 | 1 | -1/+1 | |
| | ||||||
* | Run cargo fix | Aleksey Kladov | 2018-10-15 | 2 | -2/+2 | |
| | ||||||
* | Merge #127 | bors[bot] | 2018-10-15 | 2 | -3/+43 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 127: Improve folding r=matklad a=aochagavia I was messing around with adding support for multiline comments in folding and ended up changing a bunch of other things. First of all, I am not convinced of folding groups of successive items. For instance, I don't see why it is worthwhile to be able to fold something like the following: ```rust use foo; use bar; ``` Furthermore, this causes problems if you want to fold a multiline import: ```rust use foo::{ quux }; use bar; ``` The problem is that now there are two possible folds at the same position: we could fold the first use or we could fold the import group. IMO, the only place where folding groups makes sense is when folding comments. Therefore I have **removed folding import groups in favor of folding multiline imports**. Regarding folding comments, I made it a bit more robust by requiring that comments can only be folded if they have the same flavor. So if you have a bunch of `//` comments followed by `//!` comments, you will get two separate fold groups instead of a single one. Finally, I rewrote the API in such a way that it should be trivial to add new folds. You only need to: * Create a new FoldKind * Add it to the `fold_kind` function that converts from `SyntaxKind` to `FoldKind` Fixes #113 Co-authored-by: Adolfo Ochagavía <[email protected]> | |||||
| * | Only fold groups of similar comments | Adolfo Ochagavía | 2018-10-13 | 1 | -1/+1 | |
| | | ||||||
| * | Cleanup fold code and split logic to fold single elements | Adolfo Ochagavía | 2018-10-12 | 2 | -2/+42 | |
| | | ||||||
* | | Regenerate | Jeremy A. Kolb | 2018-10-12 | 1 | -1/+2 | |
| | | ||||||
* | | Language Server: textDocument/signatureHelp | Jeremy A. Kolb | 2018-10-11 | 1 | -1/+4 | |
|/ | | | | | | | | | | Implements a pretty barebones function signature help mechanism in the language server. Users can use `Analysis::resolve_callback()` to get basic information about a call site. Fixes #102 |