Commit Graph

1182 Commits

Author SHA1 Message Date
Aleksey Kladov
dafe747dcc upstream basic tree algorithms to rowan 2018-11-06 20:56:32 +03:00
Adolfo Ochagavía
c56db92d1f Finish implementing char validation 2018-11-06 17:07:27 +01:00
Adolfo Ochagavía
a9cd2d60bc Clarifications and formatting 2018-11-06 17:57:11 +03:00
Aleksey Kladov
f0bcb09b5e Add roadmap 2018-11-06 16:12:57 +03:00
Aleksey Kladov
d1b242262a new discord 2018-11-06 14:47:15 +03:00
bors[bot]
88316784d3 Merge #199
199: Use closing paren as a trigger character r=matklad a=kjeremy

This seems counter-intuitive based on the concept of "trigger character" but it provides a better function signature experience.

Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2018-11-06 11:13:05 +00:00
Jeremy A. Kolb
5a9d471f98 Use closing paren as a trigger character
This seems counter-intuitive based on the concept of "trigger character"
but it provides a better function signature experience.
2018-11-05 17:13:56 -05:00
bors[bot]
f605f6e70a Merge #188
188: Introduce `SyntaxErrorKind` and `TextRange` to `SyntaxError` r=matklad a=aochagavia



Co-authored-by: Adolfo Ochagavía <aochagavia92@gmail.com>
Co-authored-by: Adolfo Ochagavía <github@adolfo.ochagavia.xyz>
2018-11-05 21:32:25 +00:00
Adolfo Ochagavía
59405bfe4a cargo format 2018-11-05 22:29:33 +01:00
Adolfo Ochagavía
fda8ddc5fe Introduce Location and make SyntaxError fields private 2018-11-05 18:38:34 +01:00
Aleksey Kladov
43665eb166 bring back testutils 2018-11-05 15:56:07 +03:00
Aleksey Kladov
8e8f52e80a add description 2018-11-05 15:52:22 +03:00
Aleksey Kladov
80e50cae00 Switch ra_syntax to 2015 edition 2018-11-05 15:47:59 +03:00
Aleksey Kladov
420725f256 Introduce var works with tail exprs 2018-11-05 15:44:34 +03:00
bors[bot]
8d7b888481 Merge #194
194: Introduce FilePosition r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-05 12:04:13 +00:00
Aleksey Kladov
0192c116f7 Use FilePosition everywhere 2018-11-05 14:57:41 +03:00
Aleksey Kladov
1e1c188cbf rename Position to FilePostion 2018-11-05 14:24:38 +03:00
Aleksey Kladov
8b132354bb don't send backtraces for canceled requests 2018-11-05 14:22:39 +03:00
bors[bot]
de9bb9cfef Merge #193
193: Inline modules r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-05 11:12:04 +00:00
Aleksey Kladov
6bbcfca7ae Fully add inline modules to module tree 2018-11-05 14:10:20 +03:00
Aleksey Kladov
44d8919384 Submodule is enum 2018-11-05 13:23:37 +03:00
Aleksey Kladov
17a88928f4 collect all submodules 2018-11-05 13:08:52 +03:00
Aleksey Kladov
e0b21b9899 submodules works with module sources 2018-11-05 12:36:38 +03:00
Aleksey Kladov
88a15d10d5 use module_for_source 2018-11-05 12:36:38 +03:00
Aleksey Kladov
cd878658d3 Introduce modules_from_source fn 2018-11-05 12:36:38 +03:00
Aleksey Kladov
6502bd2c96 reduce code duplication 2018-11-05 11:39:51 +03:00
bors[bot]
9d29c717ac Merge #192
192: grammar: for predicates in where r=matklad a=matklad

closes #191

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-05 08:27:15 +00:00
Aleksey Kladov
9010cb9839 grammar: for predicates in where
closes #191
2018-11-05 11:24:08 +03:00
Adolfo Ochagavía
3b42ddae60 Introduce SyntaxErrorKind and TextRange in SyntaxError 2018-11-04 21:16:38 +01:00
bors[bot]
576b9a0727 Merge #184
184: Basic validation for character literals r=aochagavia a=aochagavia

As part of #27 I would like to add a validator for characters that detects missing quotes and too long characters. I set up a dummy implementation to get my feet wet, which generates errors whenever it finds a character.

Right now I have the following questions:

1. The `SyntaxError` type seems too basic to me. I think it would make sense to have a `SyntaxErrorKind` instead of a `msg` field (we can implement `Display` for it so you can generate the string if desired). It should also have a `TextRange` instead of a `TextUnit`, so you can support errors that are longer than one character. Do you agree?
1. I am manually checking whether the literal is a character (see the `is_char` method). Ideally, I would like to have a `LiteralKind` enum with variants like `Int`, `Float`, `Char`, `String`, etc. but it seems cumbersome to write all that by hand. Is there a way to specify this in `grammar.ron` so that the code is generated (the same way the `Expr` enum is generated)?

By the way, there seems to be no error reporting of panics inside the language server. When I was developing this PR I accidentally introduced a panic, which resulted in no syntax errors being shown. I knew something was wrong, because normally the vscode highlights syntax errors, but I didn't know it was caused by a panic.

Co-authored-by: Adolfo Ochagavía <aochagavia92@gmail.com>
2018-11-04 14:47:20 +00:00
Adolfo Ochagavía
9b5bbab104 Add character literal parsing and validation 2018-11-04 15:17:24 +01:00
bors[bot]
19c6cbd954 Merge #187
187: Use Default everywhere r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-04 11:09:57 +00:00
Aleksey Kladov
f29b0172fb Use Default everywhere 2018-11-04 14:09:21 +03:00
Aleksey Kladov
cca5f862de Don't order import alphabetical
alphabetical ordering is no more consistent, and much less useful then
the ordering which arises naturally when you add import.
2018-11-01 16:18:53 +03:00
Aleksey Kladov
c74e86536e Dead code 2018-11-01 16:00:13 +03:00
bors[bot]
92c10bf1cc Merge #183
183: update salsa r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-01 12:30:52 +00:00
Aleksey Kladov
a17b41033a update salsa 2018-11-01 15:30:07 +03:00
Aleksey Kladov
962a491829 Some docs 2018-11-01 14:31:35 +03:00
bors[bot]
f6f9a0bf35 Merge #182
182: Module source r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-01 10:53:17 +00:00
Aleksey Kladov
f2b654fd44 Add inline source 2018-11-01 13:51:44 +03:00
Aleksey Kladov
223fd2979c Introduce ModuleSource 2018-11-01 13:41:58 +03:00
Aleksey Kladov
d685a9b564 Use From to get an owned AST 2018-11-01 13:41:20 +03:00
bors[bot]
3ec9f958b3 Merge #179
179: Remove DOC_COMMENT r=matklad a=kjeremy

Closes #166

Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2018-11-01 10:16:24 +00:00
Aleksey Kladov
2050812cad remove SyntaxPtrDatabase 2018-11-01 13:15:11 +03:00
Jeremy A. Kolb
61580f3cb8 Remove DOC_COMMENT
Closes #166
2018-10-31 17:38:18 -04:00
Aleksey Kladov
2b210d98b8 Fix test 2018-11-01 00:00:43 +03:00
Aleksey Kladov
fabb804f30 Speedup fmt 2018-10-31 23:58:03 +03:00
Aleksey Kladov
8f1a83b4cb RemoveDeadCode 2018-10-31 23:50:18 +03:00
Aleksey Kladov
6be50f7d5d Reformat all 2018-10-31 23:41:43 +03:00
Muhammad Mominul Huque
857c1650ef Various changes
Pin to a specific toolchain version
Format checking functionality
Add a test to check the code formatting.
Remove macro_use attribute
2018-10-31 23:39:21 +03:00