Aleksey Kladov
c04c06c4bc
Finalize WhereClause gramamr
2020-07-31 15:13:00 +02:00
Aleksey Kladov
b250ae6c55
Finalize TypeBound grammar
2020-07-31 15:01:18 +02:00
Aleksey Kladov
a6527ed92c
"Finalize" Types grammar
...
Note that `for` type is rust-analyzer's own invention.
Both the reference and syn allow `for` only for fnptr types, and we
allow them everywhere. This needs to be checked with respect to type
bounds grammar...
2020-07-31 14:40:28 +02:00
Aleksey Kladov
a6e45c6c69
Reame PlaceholderType -> InferType
2020-07-31 14:12:51 +02:00
Aleksey Kladov
08ea2271e8
Rename TypeRef -> Type
...
The TypeRef name comes from IntelliJ days, where you often have both
type *syntax* as well as *semantical* representation of types in
scope. And naming both Type is confusing.
In rust-analyzer however, we use ast types as `ast::Type`, and have
many more semantic counterparts to ast types, so avoiding name clash
here is just confusing.
2020-07-31 12:14:37 +02:00
Aleksey Kladov
e0f21133cd
Reorder
2020-07-31 12:02:42 +02:00
Aleksey Kladov
f95f425ae4
Use ty to access most TypeRefs
2020-07-30 21:02:55 +02:00
Aleksey Kladov
2e2642efcc
Remove TypeAscriptionOwner
2020-07-30 20:51:43 +02:00
Aleksey Kladov
fbe60a2e28
simplify
2020-07-30 20:38:15 +02:00
Aleksey Kladov
fcce07d2d1
Finalize attribute grammar
2020-07-30 20:21:32 +02:00
Aleksey Kladov
01d6c3836b
Dead code
2020-07-30 19:10:46 +02:00
Aleksey Kladov
71a4d32562
Minor
2020-07-30 19:10:22 +02:00
Aleksey Kladov
ceca94536c
Finalize visibility grammar
2020-07-30 18:55:49 +02:00
Aleksey Kladov
3dce34aaf8
Introduce GenericParam
2020-07-30 18:52:02 +02:00
Aleksey Kladov
917c89c103
Finaize item grammar
2020-07-30 18:37:46 +02:00
Aleksey Kladov
c5798c4d75
Finalize impl Grammar
2020-07-30 18:28:28 +02:00
Aleksey Kladov
c83467796b
Finalize Trait grammar
2020-07-30 18:17:28 +02:00
Aleksey Kladov
b2cdb0b226
Fix param gramamr
2020-07-30 18:15:08 +02:00
Aleksey Kladov
3cd4112bdc
Finalize const&static grammar
2020-07-30 18:02:20 +02:00
Aleksey Kladov
6b25f640a6
Finalize Enum grammar
2020-07-30 17:57:58 +02:00
Aleksey Kladov
1766aae145
Rename EnumVariant -> Variant
2020-07-30 17:56:53 +02:00
Aleksey Kladov
609680ef97
Rename EnumDef -> Enum
2020-07-30 17:52:53 +02:00
Aleksey Kladov
216a5344c8
Rename StructDef -> Struct
2020-07-30 17:50:40 +02:00
Aleksey Kladov
1ae4721c9c
Finalize union grammar
2020-07-30 17:38:52 +02:00
Aleksey Kladov
8ddbf06e39
Finalize structs grammar
2020-07-30 17:24:07 +02:00
Aleksey Kladov
b043947301
Simplify
2020-07-30 17:19:51 +02:00
Aleksey Kladov
d549f6164c
Simplify codegen
2020-07-30 17:10:44 +02:00
Aleksey Kladov
0a9e3ccc26
Rename FieldDef -> Field
2020-07-30 16:49:13 +02:00
Aleksey Kladov
6f8aa75329
Rename RecordLit -> RecordExpr
2020-07-30 16:21:30 +02:00
Aleksey Kladov
98ec5f2c21
Minor, reorder
2020-07-30 16:12:35 +02:00
Aleksey Kladov
28ef4c375a
Rename TypeParamList -> GenericParamList
2020-07-30 15:36:21 +02:00
Aleksey Kladov
eb2f806344
Rename TypeAliasDef -> TypeAlias
2020-07-30 15:25:46 +02:00
Aleksey Kladov
1142112c70
Rename FnDef -> Fn
2020-07-30 15:16:05 +02:00
Aleksey Kladov
b1332670c7
Rename UseItem -> Use
2020-07-30 14:20:33 +02:00
Aleksey Kladov
e381c02ef3
Add comma list to use tree
2020-07-30 14:20:33 +02:00
Aleksey Kladov
d032f872b6
Finish extern crates grammar
2020-07-30 12:31:07 +02:00
Aleksey Kladov
6cd2131caf
Rename Rename
2020-07-30 11:58:41 +02:00
Aleksey Kladov
7d09e5ed61
Finish Module grammar
2020-07-30 11:50:56 +02:00
Aleksey Kladov
2984da672e
Split ItemList & AssocItemList
2020-07-30 11:50:56 +02:00
Aleksey Kladov
ede5d17b04
Finish SourceFile grammar
2020-07-30 00:46:39 +02:00
Aleksey Kladov
6636f56e79
Rename ModuleItem -> Item
2020-07-30 00:23:03 +02:00
Aleksey Kladov
76202a2c73
Rename NomialDef -> AdtDef
2020-07-29 19:22:15 +02:00
Aleksey Kladov
3d28292157
Switch to ungrammar from ast_src
...
The primary advantage of ungrammar is that it (eventually) allows one
to describe concrete syntax tree structure -- with alternatives and
specific sequence of tokens & nodes.
That should be re-usable for:
* generate `make` calls
* Rust reference
* Hypothetical parser's evented API
We loose doc comments for the time being unfortunately. I don't think
we should add support for doc comments to ungrammar -- they'll make
grammar file hard to read. We might supply docs as out-of band info,
or maybe just via a reference, but we'll think about that once things
are no longer in flux
2020-07-29 19:18:25 +02:00
Aleksey Kladov
627eddbc7e
Owned AST IR
2020-07-29 12:04:22 +02:00
bors[bot]
f3d73865d6
Merge #4855
...
4855: Use more idiomatic style for lifetimes in generated code r=matklad a=Veetaha
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-06-12 12:49:30 +00:00
Veetaha
4fefc7d06c
Simplify
2020-06-12 02:56:06 +03:00
Veetaha
33e009ec42
Use more idiomatic style for lifetimes in generated code
2020-06-12 01:23:04 +03:00
Aleksey Kladov
5315934d88
Don't store generated docs in the repo
2020-06-03 18:26:50 +02:00
Aleksey Kladov
899570ad7a
Link to the specific source line
2020-05-31 15:36:20 +02:00
Aleksey Kladov
46292c7cec
Move assists documentation into the manual
2020-05-31 15:02:12 +02:00
Aleksey Kladov
13a996f3b6
Force / slashes on windows
2020-05-31 12:49:06 +02:00
Aleksey Kladov
7e3ee77c83
Tweak whitespace
2020-05-31 12:12:41 +02:00
Aleksey Kladov
1c6a2eb14a
Move the rest of the features to generated docs
2020-05-31 11:29:19 +02:00
Aleksey Kladov
f593393ebb
Specify actions
2020-05-31 09:45:41 +02:00
Aleksey Kladov
c8f27a4a88
Generate features docs from source
2020-05-31 01:54:54 +02:00
Aleksey Kladov
383247a9ae
Generalize
2020-05-31 00:33:37 +02:00
Aleksey Kladov
e1829d8959
minor
2020-05-30 23:57:16 +02:00
veetaha
e0e384a34a
Add ast docs to codegen script
2020-05-10 19:05:51 +03:00
Aleksey Kladov
eea431180e
Regenerate
2020-05-06 10:21:35 +02:00
Aleksey Kladov
4f2134cc33
Introduce EffectExpr
2020-05-02 11:21:39 +02:00
veetaha
972d3b2ba3
Group generated ast boilerplate apart from the interesting part
2020-04-18 23:51:13 +03:00
Aleksey Kladov
5c5bde47fb
Rename some tokens
2020-04-10 17:07:09 +02:00
Aleksey Kladov
d4332760d8
Better readability
2020-04-10 16:10:28 +02:00
Aleksey Kladov
e0f02d233f
Remove dead code
2020-04-10 16:10:28 +02:00
Aleksey Kladov
4560fe2abf
Generate only minimal set of ineresting tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
8d71a6bf0c
Scale token generation back
2020-04-10 16:10:28 +02:00
Aleksey Kladov
779f06ed77
Convert more tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
548f562dda
Other delimiters
2020-04-10 16:10:28 +02:00
Aleksey Kladov
1c5d859195
Start replacing tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
c8b4c36f81
Semicolon token
2020-04-10 16:10:28 +02:00
Aleksey Kladov
f89f2e3885
More readable ast_src for keywords
2020-04-10 16:10:28 +02:00
Aleksey Kladov
30084a56a5
Simpler acessors for keywords
2020-04-09 23:42:01 +02:00
Aleksey Kladov
e6d22187a6
Add _token suffix to token accessors
...
I think this makes is more clear which things are : AstNode and which
are : AstToken
2020-04-09 18:25:36 +02:00
Aleksey Kladov
56c8581b90
Put displays at the end
2020-04-09 18:11:16 +02:00
Aleksey Kladov
9285cbffb6
More compact
2020-04-09 18:08:54 +02:00
Aleksey Kladov
4a063e651f
Move the rest of the tokens to generated/tokens
2020-04-09 17:58:15 +02:00
Aleksey Kladov
c80795e274
Move generated tokens to a separate file
2020-04-09 17:47:46 +02:00
Aleksey Kladov
59b6b2278b
Start ast/generated/tokens
2020-04-09 16:25:06 +02:00
Aleksey Kladov
d61932ef7e
Prepare for spliting generated into tokens and nodes
2020-04-09 16:17:18 +02:00
Aleksey Kladov
6379061e21
Cleanup import
2020-04-09 15:47:48 +02:00
Aleksey Kladov
689661c959
Scale back to only two traits
2020-04-09 13:00:09 +02:00
Aleksey Kladov
8f01e62bb9
Scale back the traits
2020-04-09 11:04:18 +02:00
Luca Barbieri
68196ccc10
Add AstElement trait, generate tokens, support tokens in enums
...
- Adds a new AstElement trait that is implemented by all generated
node, token and enum structs
- Overhauls the code generators to code-generate all tokens, and
also enhances enums to support including tokens, node, and nested
enums
2020-04-08 17:15:12 +02:00
Josh Mcguigan
90c66470f9
gen_assists_docs skip hidden files
2020-03-21 09:39:45 -07:00
Fireassember
31eec5e80c
implementing Display for enums too.
2020-03-11 22:54:24 +02:00
Fireassember
787043496a
added fmt::Display as a supertrait for AstNode and changed generation.
2020-03-06 19:29:30 +02:00
Aleksey Kladov
364162f875
Some docs
2020-02-27 11:07:26 +01:00
Aleksey Kladov
755077e372
Doctest autoimport
2020-02-06 18:14:44 +01:00
Veetaha
51fec39b82
fix(xtask.gen_syntax.typo): add s to the verb that refers to the 3d person
2020-01-16 00:47:03 +02:00
Aleksey Kladov
fd394ff424
Use correct rustfmt for codegen
...
closes #1569
2020-01-10 11:23:43 +01:00
Aleksey Kladov
084bd304f3
Switch ast declaration from ron to a macro
2020-01-03 21:54:10 +01:00
Pascal Hertleif
5075c77957
Use anyhow::Result in xtask, add contexts
...
This builds on #2231 but was actually done before that. You see, the
cause for #2231 was that I got this error message:
Error: Error { kind: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }) }
Just switching to `anyhow::Result` got me stack traces (when setting
`RUST_LIB_BACKTRACE=1`) that at least showed
stack backtrace:
0: std::backtrace::Backtrace::create
1: std::backtrace::Backtrace::capture
2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
3: xtask::install_server
4: xtask::install
5: xtask::main
6: std::rt::lang_start::{{closure}}
7: std::panicking::try::do_call
8: __rust_maybe_catch_panic
9: std::rt::lang_start_internal
10: std::rt::lang_start
11: main
With the added contexts (not at all exhaustive), the error became
Error: install server
Caused by:
0: build AutoCfg with target directory
1: No such file or directory (os error 2)
Since anyhow is such a small thing (no new transitive dependencies!),
and in general gives you `Result<T, Box<dyn Error>>` on steroids, I
think this a nice small change. The only slightly annoying thing was to
replace all the `Err(format!(…))?` calls (haven't even looked at whether
we can make it support wrapping strings though), but the `bail!` macro
is shorter anyway :)
2019-11-13 20:51:57 +01:00
kjeremy
b441b4e8ef
Some clippy fixes
2019-10-30 13:36:37 -04:00
Aleksey Kladov
cf4720ffd5
use unicode bar for drawing the cursor
2019-10-26 21:22:40 +03:00
Aleksey Kladov
a5cbd8d5e8
check style for assist docs
2019-10-26 19:08:13 +03:00
Aleksey Kladov
394e474479
add blank lines for readability
2019-10-26 17:27:47 +03:00
Aleksey Kladov
d385438bcc
generate more assists docs
2019-10-25 23:38:15 +03:00
Aleksey Kladov
0dd35ff2b2
auto-generate assists docs and tests
2019-10-25 14:47:48 +03:00
Aleksey Kladov
a40d02c9eb
refactor comment extraction from tasks
2019-10-24 19:29:38 +03:00
Aleksey Kladov
a409a12f1b
simplify
2019-10-24 19:19:22 +03:00