Skip to content

Commit fa1540d

Browse files
committed
support ne integer in alias multiline
1 parent 294a787 commit fa1540d

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

crates/emmylua_parser/src/grammar/doc/test.rs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3383,4 +3383,45 @@ Syntax(Chunk)@0..64
33833383

33843384
assert_ast_eq!(code, result);
33853385
}
3386+
3387+
#[test]
3388+
fn test_ne_integer() {
3389+
let code = r#"
3390+
---@alias Dir
3391+
---|-1
3392+
---|1
3393+
"#;
3394+
3395+
let result = r#"
3396+
Syntax(Chunk)@0..60
3397+
Syntax(Block)@0..60
3398+
Token(TkEndOfLine)@0..1 "\n"
3399+
Token(TkWhitespace)@1..9 " "
3400+
Syntax(Comment)@9..51
3401+
Token(TkDocStart)@9..13 "---@"
3402+
Syntax(DocTagAlias)@13..51
3403+
Token(TkTagAlias)@13..18 "alias"
3404+
Token(TkWhitespace)@18..19 " "
3405+
Token(TkName)@19..22 "Dir"
3406+
Token(TkEndOfLine)@22..23 "\n"
3407+
Token(TkWhitespace)@23..31 " "
3408+
Syntax(TypeMultiLineUnion)@31..51
3409+
Token(TkDocContinueOr)@31..35 "---|"
3410+
Syntax(DocOneLineField)@35..37
3411+
Syntax(TypeUnary)@35..37
3412+
Token(TkMinus)@35..36 "-"
3413+
Syntax(TypeLiteral)@36..37
3414+
Token(TkInt)@36..37 "1"
3415+
Token(TkEndOfLine)@37..38 "\n"
3416+
Token(TkWhitespace)@38..46 " "
3417+
Token(TkDocContinueOr)@46..50 "---|"
3418+
Syntax(DocOneLineField)@50..51
3419+
Syntax(TypeLiteral)@50..51
3420+
Token(TkInt)@50..51 "1"
3421+
Token(TkEndOfLine)@51..52 "\n"
3422+
Token(TkWhitespace)@52..60 " "
3423+
"#;
3424+
3425+
assert_ast_eq!(code, result);
3426+
}
33863427
}

crates/emmylua_parser/src/grammar/doc/types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ fn parse_multi_line_union_type(p: &mut LuaDocParser) -> DocParseResult {
590590
fn parse_one_line_type(p: &mut LuaDocParser) -> DocParseResult {
591591
let m = p.mark(LuaSyntaxKind::DocOneLineField);
592592

593-
parse_simple_type(p)?;
593+
parse_sub_type(p, 1)?;
594594
if p.current_token() != LuaTokenKind::TkDocContinueOr {
595595
p.set_lexer_state(LuaDocLexerState::Description);
596596
parse_description(p);

0 commit comments

Comments
 (0)