Skip to content

Commit 4edadda

Browse files
authored
Fix snipmate parser to require full directive (#1574)
1 parent dbc458e commit 4edadda

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

pythonx/UltiSnips/snippet/source/file/snipmate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def _parse_snippets_file(data, filename):
109109
head, tail = head_tail(line)
110110
if head == "extends":
111111
yield handle_extends(tail, lines.line_index)
112-
elif head in "snippet":
112+
elif head == "snippet":
113113
snippet = _parse_snippet(line, lines, filename)
114114
if snippet is not None:
115115
yield snippet

test/test_ParseSnippets.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ class ParseSnippets_UnknownDirective(_VimTest):
3737
expected_error = r"Invalid line 'unknown directive' in \S+:2"
3838

3939

40+
class ParseSnippets_InvalidPartialSnippet(_VimTest):
41+
files = {
42+
"us/all.snippets": r"""
43+
snip invalid
44+
"""
45+
}
46+
keys = "testsnip" + EX
47+
wanted = "testsnip" + EX
48+
expected_error = r"Invalid line 'snip invalid' in \S+:2"
49+
50+
4051
class ParseSnippets_InvalidPriorityLine(_VimTest):
4152
files = {
4253
"us/all.snippets": r"""

0 commit comments

Comments
 (0)