aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_mbe/src
Commit message (Collapse)AuthorAgeFilesLines
* Introduce EffectExprAleksey Kladov2020-05-021-77/+75
|
* Merge #4139bors[bot]2020-04-252-12/+75
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4139: Add check for rules that no repetition which could match an empty token r=matklad a=edwin0cheng Fix #4103 for `/ui/issues/issue-57597.rs` This is `ParseError` of the macro rules , because it is how rustc handle it : https://github.com/rust-lang/rust/blob/a58b1ed44f5e06976de2bdc4d7dc81c36a96934f/src/librustc_expand/mbe/macro_rules.rs#L558 Co-authored-by: Edwin Cheng <[email protected]>
| * Checks no repetition for an empty tokenEdwin Cheng2020-04-252-12/+75
| |
* | Merge #4134bors[bot]2020-04-251-0/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4134: Special case for empty comments in doc comment kind r=matklad a=edwin0cheng Part of #4103 Fix `ui/empty/empty-comment.rs macros` Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix whitespacesEdwin Cheng2020-04-251-1/+1
| | |
| * | Special case for empty commentsEdwin Cheng2020-04-251-0/+13
| |/
* | Switch to TryFromAleksey Kladov2020-04-251-6/+6
| |
* | Convert tests to text-sizeAleksey Kladov2020-04-251-204/+204
| |
* | Convert code to text-sizeAleksey Kladov2020-04-251-36/+33
|/
* Convert bool to ident instead of literal in mbeEdwin Cheng2020-04-185-14/+47
|
* Add mbe lifetime split testEdwin Cheng2020-04-181-0/+27
|
* Split LIFETIME to two tokens in mbeEdwin Cheng2020-04-183-14/+89
|
* Remove format from syntax_bridge hot pathEdwin Cheng2020-04-131-5/+6
|
* Fix accidently quadratic behavior when processing includesAleksey Kladov2020-04-101-17/+19
| | | | closes #3927
* Rename some tokensAleksey Kladov2020-04-101-10/+10
|
* Improve tt::Subtree debug printEdwin Cheng2020-04-091-0/+79
|
* Add L_DOLLAR for TYPE_RECOVERY_SETEdwin Cheng2020-04-081-0/+17
|
* Remove deps on tt_mbeEdwin Cheng2020-03-261-0/+7
|
* Add basic custom derive loweringEdwin Cheng2020-03-251-1/+1
|
* Add open delim when delim not matchEdwin Cheng2020-03-202-5/+28
|
* Fix text range bug and reorderEdwin Cheng2020-03-201-14/+19
|
* Add TokenConvertor traitEdwin Cheng2020-03-202-239/+155
|
* Add test for delim bugEdwin Cheng2020-03-202-12/+147
|
* Small fixesFlorian Diebold2020-03-161-4/+2
|
* Some more refactoringFlorian Diebold2020-03-162-58/+76
|
* Some cleanupFlorian Diebold2020-03-161-5/+7
|
* Turn ExpandResult into structFlorian Diebold2020-03-165-35/+59
|
* Fix remaining test failureFlorian Diebold2020-03-162-9/+11
|
* Fix performance problemFlorian Diebold2020-03-162-32/+37
|
* Add test, remove printlnsFlorian Diebold2020-03-162-2/+0
|
* Get tests workingFlorian Diebold2020-03-162-3/+4
|
* wipFlorian Diebold2020-03-162-84/+137
|
* Attempt to implement ranking of rules when none matches perfectly (wip)Florian Diebold2020-03-162-10/+13
|
* Make MBE expansion more resilient (WIP)Florian Diebold2020-03-165-45/+71
|
* Merge #3513bors[bot]2020-03-091-1/+3
|\ | | | | | | | | | | | | | | | | | | | | 3513: Completion in macros r=matklad a=flodiebold I experimented a bit with completion in macros. It's kind of working, but there are a lot of rough edges. - I'm trying to expand the macro call with the inserted fake token. This requires some hacky additions on the HIR level to be able to do "hypothetical" expansions. There should probably be a nicer API for this, if we want to do it this way. I'm not sure whether it's worth it, because we still can't do a lot if the original macro call didn't expand in nearly the same way. E.g. if we have something like `println!("", x<|>)` the expansions will look the same and everything is fine; but in that case we could maybe have achieved the same result in a simpler way. If we have something like `m!(<|>)` where `m!()` doesn't even expand or expands to something very different, we don't really know what to do anyway. - Relatedly, there are a lot of cases where this doesn't work because either the original call or the hypothetical call doesn't expand. E.g. if we have `m!(x.<|>)` the original token tree doesn't parse as an expression; if we have `m!(match x { <|> })` the hypothetical token tree doesn't parse. It would be nice if we could have better error recovery in these cases. Co-authored-by: Florian Diebold <[email protected]>
| * Add more testsFlorian Diebold2020-03-071-1/+3
| |
* | Add parse_to_token_treeEdwin Cheng2020-03-083-33/+203
|/
* fix regression from #3451Edwin Cheng2020-03-052-1/+57
|
* Fixed whitespace bugEdwin Cheng2020-03-042-3/+35
|
* Fix #3436Edwin Cheng2020-03-043-1/+72
|
* Fix a bug for single dollar sign macroEdwin Cheng2020-03-032-1/+6
|
* Cleanup editing APIAleksey Kladov2020-02-291-1/+1
|
* ra_mbe: Remove explicit type annotationVeetaha2020-02-221-1/+1
|
* ra_mbe: added test for malformed token in macro invokationVeetaha2020-02-221-3/+21
| | | | | There was a panic where lexer returned None on malformed tokens. But now we just ignore tokenization errors in mbe.
* ra_mbe: convert_literal now works with malformed tokensVeetaha2020-02-221-2/+3
|
* CleanupShotaro Yamada2020-02-191-1/+1
|
* More manual clippy fixesKirill Bulatov2020-02-181-10/+7
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-183-8/+8
|
* ra_syntax: refactored the lexer design as per @matklad and @kiljacken PR reviewVeetaha2020-02-031-3/+2
|
* Reimplemented lexer with vectors instead of iteratorsVeetaha2020-02-031-3/+5
|