Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #332 | bors[bot] | 2018-12-27 | 30 | -318/+1518 |
|\ | | | | | | | | | | | | | | | | | | | 332: Struct types r=matklad a=flodiebold Infer types for struct fields, and add basic field completions. There's also some code for enums, but I focused on getting structs working. There's still ways to go before this becomes useful: There's no autoderef (or even reference types) and no inference for `self`, for example. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Resolve field types lazily | Florian Diebold | 2018-12-25 | 7 | -59/+76 |
| | | | | | | | | I.e. not already when getting the HIR for the struct. | ||||
| * | Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::Ty | Florian Diebold | 2018-12-25 | 10 | -95/+219 |
| | | |||||
| * | Implement reference / pointer types | Florian Diebold | 2018-12-25 | 7 | -23/+173 |
| | | | | | | | | | | - parse them - infer types of & and * expressions | ||||
| * | Handle structs/enums with missing names a bit better | Florian Diebold | 2018-12-25 | 2 | -20/+22 |
| | | |||||
| * | Determine receiver for completion in a more robust way | Florian Diebold | 2018-12-25 | 2 | -21/+31 |
| | | | | | | | | Also rename a parameter. | ||||
| * | Cleanup | Florian Diebold | 2018-12-25 | 1 | -125/+37 |
| | | |||||
| * | Add . to trigger characters | Florian Diebold | 2018-12-25 | 1 | -1/+1 |
| | | |||||
| * | Implement basic completion for fields | Florian Diebold | 2018-12-25 | 10 | -12/+156 |
| | | |||||
| * | Improve parsing of incomplete field accesses in preparation for field completion | Florian Diebold | 2018-12-25 | 3 | -9/+45 |
| | | | | | | | | | | We need to be able to get the receiver even if there is no field name yet, and currently "a." wouldn't get parsed as a field name at all. This seems to help. | ||||
| * | Type field accesses | Florian Diebold | 2018-12-25 | 5 | -5/+54 |
| | | |||||
| * | Collect field data for structs/enum variants | Florian Diebold | 2018-12-25 | 5 | -12/+87 |
| | | |||||
| * | Add AST definitions for struct/variant fields etc. | Florian Diebold | 2018-12-25 | 3 | -12/+256 |
| | | | | | | | | Fixes #117 | ||||
| * | Infer result of struct literals, and recurse into their child expressions | Florian Diebold | 2018-12-25 | 6 | -49/+143 |
| | | |||||
| * | Do name resolution by namespace (types/values) | Florian Diebold | 2018-12-25 | 10 | -84/+212 |
| | | |||||
| * | Add basic HIR and types for structs/enums | Florian Diebold | 2018-12-25 | 9 | -29/+244 |
| | | |||||
* | | add cancelation module & cancelation backtraces | Aleksey Kladov | 2018-12-27 | 4 | -15/+91 |
| | | |||||
* | | fix the test | Aleksey Kladov | 2018-12-27 | 1 | -2/+2 |
| | | |||||
* | | expose make_pub_crate action | Aleksey Kladov | 2018-12-27 | 1 | -0/+1 |
| | | |||||
* | | fix use std::{self} | gfreezy | 2018-12-26 | 3 | -13/+43 |
| | | |||||
* | | fix tests | gfreezy | 2018-12-25 | 1 | -1/+1 |
| | | |||||
* | | add fix for removing unnecessary braces in use statements | gfreezy | 2018-12-25 | 5 | -61/+68 |
|/ | |||||
* | cancelled is not Copy | Aleksey Kladov | 2018-12-25 | 1 | -1/+1 |
| | |||||
* | fix warning conversion | Aleksey Kladov | 2018-12-24 | 1 | -3/+1 |
| | |||||
* | Merge #326 | bors[bot] | 2018-12-24 | 7 | -12/+79 |
|\ | | | | | | | | | | | | | | | 326: resolved #324: remove unnecessary braces in use statement. r=matklad a=gfreezy Add inspection for unnecessary braces in use statement Co-authored-by: gfreezy <[email protected]> | ||||
| * | fix tests | gfreezy | 2018-12-24 | 1 | -1/+1 |
| | | |||||
| * | remove option from Diagnostic | gfreezy | 2018-12-24 | 4 | -7/+7 |
| | | |||||
| * | keep severity to Error & WeakWarning | gfreezy | 2018-12-24 | 2 | -10/+8 |
| | | |||||
| * | remove unnecessary braces in use statments | gfreezy | 2018-12-23 | 2 | -4/+2 |
| | | |||||
| * | add serverity to vscode diagnostics | gfreezy | 2018-12-23 | 5 | -12/+32 |
| | | |||||
| * | resolved #324: remove unnecessary braces in use statement. | gfreezy | 2018-12-23 | 1 | -2/+53 |
| | | |||||
* | | Merge #327 | bors[bot] | 2018-12-24 | 21 | -148/+1188 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 327: Beginnings of type inference r=flodiebold a=flodiebold I was a bit bored, so I thought I'd try to start implementing the type system and see how far I come :wink: This is obviously still extremely WIP, only very basic stuff working, but I thought I'd post this now to get some feedback as to whether this approach makes sense at all. There's no user-visible effect yet, but the type inference has tests similar to the ones for the parser. My next step will probably be to implement struct types, after which this could probably be used to complete fields. I realize this may all get thrown away when/if the compiler query system gets usable, but I feel like there are lots of IDE features that could be implemented with somewhat working type inference in the meantime :smile: Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | Change inference tests to have one per file | Florian Diebold | 2018-12-24 | 6 | -55/+92 |
| | | | |||||
| * | | Rename a variable for consistency | Florian Diebold | 2018-12-24 | 2 | -10/+10 |
| | | | |||||
| * | | Clean up Ty a bit | Florian Diebold | 2018-12-24 | 1 | -38/+22 |
| | | | | | | | | | | | | Removing irrelevant comments copied from rustc etc. | ||||
| * | | Prepare Ty::new for resolution | Florian Diebold | 2018-12-23 | 1 | -14/+24 |
| | | | |||||
| * | | Type the return values of call expressions | Florian Diebold | 2018-12-23 | 2 | -5/+13 |
| | | | |||||
| * | | Resolve paths to defs (functions currently) during type inference | Florian Diebold | 2018-12-23 | 16 | -87/+214 |
| | | | |||||
| * | | Make let statements kind of work | Florian Diebold | 2018-12-23 | 5 | -8/+53 |
| | | | |||||
| * | | Remove unwraps | Florian Diebold | 2018-12-23 | 1 | -6/+19 |
| | | | |||||
| * | | Get rid of the terrible nesting in PathExpr inference | Florian Diebold | 2018-12-23 | 1 | -26/+14 |
| | | | |||||
| * | | Cleanup | Florian Diebold | 2018-12-23 | 4 | -108/+110 |
| | | | |||||
| * | | Add testing infrastructure for type inference | Florian Diebold | 2018-12-23 | 9 | -124/+222 |
| | | | | | | | | | | | | - move dir_tests to test_utils for that. | ||||
| * | | Parse integer / float types | Florian Diebold | 2018-12-23 | 4 | -4/+58 |
| | | | |||||
| * | | Add beginnings of type infrastructure | Florian Diebold | 2018-12-23 | 11 | -15/+689 |
| |/ | |||||
* | | Merge #278 | bors[bot] | 2018-12-24 | 2 | -2/+74 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 278: Add make_pub_crate code action to ra_editor r=matklad a=h-michael implement #170 Co-authored-by: Hirokazu Hata <[email protected]> | ||||
| * | | Add make_pub_crate code action to ra_editor | Hirokazu Hata | 2018-12-24 | 2 | -2/+74 |
| |/ | |||||
* | | Merge #302 | bors[bot] | 2018-12-24 | 2 | -8/+11 |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | 302: WIP: Support tracing lsp requests. r=DJMcNab a=DJMcNab EDIT: We need to work out a better way to handle settings before this can be merged. Help wanted TODO: Debug why decorations are sent even when highlightingOn is disabled This makes the log volume so high its impossible to work with anyway. (Continuation of #84 [#99 only disabled using it, not making sure we don't send it]). These logs can be used in https://microsoft.github.io/language-server-protocol/inspector/ Co-authored-by: DJMcNab <[email protected]> | ||||
| * | Improve comment | DJMcNab | 2018-12-23 | 1 | -2/+2 |
| | | |||||
| * | Undo the previous mistaken change and make publish_decorations optional | DJMcNab | 2018-12-21 | 2 | -8/+11 |
| | | | | | | | | | | | | | | | | See https://github.com/Microsoft/language-server-protocol/issues/567 for motivations to not require `InitializationOptions` TODO: Check if there are any other protocol extensions which should be disabled if not implemented on the client |