Skip to content

Commit a650906

Browse files
committed
[optional_arg]
fix #1
1 parent 5cb043a commit a650906

File tree

6 files changed

+51
-12
lines changed

6 files changed

+51
-12
lines changed

grammar.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ module.exports = grammar({
6464
$.taglink,
6565
$.codespan,
6666
$.argument,
67+
$.optional_arg,
6768
$.keycode,
6869
$.note,
6970
),
@@ -236,8 +237,10 @@ module.exports = grammar({
236237
taglink: ($) => _word($, prec(1, /[^|\n\t ]+/), '|', '|'),
237238
// Inline code (may contain whitespace!): `foo bar`
238239
codespan: ($) => _word($, /[^``\n]+/, '`', '`'),
239-
// Argument: {arg} (no whitespace allowed)
240+
// Argument: {arg} (no whitespace allowed), also {arg}? for LuaLS-style optional args.
240241
argument: ($) => seq(_word($, /[^}\n\t ]+/, '{', '}'), optional(token.immediate('?'))),
242+
// Optional argument: [arg] (no whitespace allowed)
243+
optional_arg: ($) => _word($, /[^\]\n\t ]+/, '[', ']'),
241244
},
242245
});
243246

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,8 @@ nvim_buf_detach_event[{buf}]
123123
(word))
124124
(line
125125
(word)
126-
(word)
127-
(argument
128-
(word))
129-
(word))))
126+
(optional_arg
127+
(word)))))
130128

131129
================================================================================
132130
NOT an argument

test/corpus/argument_optional.txt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
================================================================================
2+
optional [argument]
3+
================================================================================
4+
:ar[gs]! [++opt] [+cmd] {arglist} *:args_f!*
5+
:[count]arge[dit][!] [++opt] [+cmd] {name} ..
6+
7+
8+
--------------------------------------------------------------------------------
9+
10+
(help_file
11+
(block
12+
(line
13+
(word)
14+
(optional_arg
15+
(word))
16+
(word)
17+
(optional_arg
18+
(word))
19+
(optional_arg
20+
(word))
21+
(argument
22+
(word))
23+
(tag
24+
(word)))
25+
(line
26+
(word)
27+
(optional_arg
28+
(word))
29+
(word)
30+
(optional_arg
31+
(word))
32+
(optional_arg
33+
(word))
34+
(optional_arg
35+
(word))
36+
(optional_arg
37+
(word))
38+
(argument
39+
(word))
40+
(word))))

test/corpus/codeblock.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -402,8 +402,8 @@ codeblock stop and start on same line
402402
(line
403403
(word)
404404
(word)
405-
(word)
406-
(word))
405+
(optional_arg
406+
(word)))
407407
(line
408408
(argument
409409
(word))))

test/corpus/taglink.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ Hello |world| hello
5656
(taglink
5757
(word))
5858
(word)
59-
(word)
60-
(word)
59+
(optional_arg
60+
(word))
6161
(word))
6262
(line
6363
(taglink

test/corpus/url.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,9 @@ markdown: [https://neovim.io/doc/user/#yay](https://neovim.io/doc/user/#yay).
5454
(word))
5555
(line
5656
(word)
57-
(word)
58-
(url
57+
(optional_arg
5958
(word))
6059
(word)
61-
(word)
6260
(url
6361
(word))
6462
(word))))

0 commit comments

Comments
 (0)