Skip to content

Commit 47c0128

Browse files
authored
Merge pull request #22 from haya14busa/fix-parse-cmd
Fix parse syntax cmd
2 parents 0e91d5a + 8ce0f6c commit 47c0128

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

autoload/vimlparser.vim

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1939,7 +1939,21 @@ endfunction
19391939

19401940
" FIXME: validate argument
19411941
function! s:VimLParser.parse_cmd_syntax()
1942-
let end = self.separate_nextcmd()
1942+
let end = self.reader.getpos()
1943+
while s:TRUE
1944+
let end = self.reader.getpos()
1945+
let c = self.reader.peek()
1946+
if c == "/" || c == "'" || c == "\""
1947+
call self.reader.getn(1)
1948+
call self.parse_pattern(c)
1949+
elseif c == "="
1950+
call self.reader.getn(1)
1951+
call self.parse_pattern(" ")
1952+
elseif self.ends_excmds(c)
1953+
break
1954+
endif
1955+
call self.reader.getn(1)
1956+
endwhile
19431957
let node = s:Node(s:NODE_EXCMD)
19441958
let node.pos = self.ea.cmdpos
19451959
let node.ea = self.ea

go/vimlparser.go

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/test_syncmd.ok

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@
33
(excmd "syntax")
44
(excmd "syntax enable")
55
(excmd "syntax list GroupName")
6+
(excmd "syn match pythonError \"[&|]\\{2,}\" display")
7+
(excmd "syntax match qfFileName /^\\zs\\S[^|]\\+\\/\\ze[^|\\/]\\+\\/[^|\\/]\\+|/ conceal cchar=+")
8+
(excmd "syntax region jsString start=+\"+ skip=+\\\\\\(\"\\|$\\)+ end=+\"\\|$+ contains=jsSpecial,@Spell extend")

test/test_syncmd.vim

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,6 @@ if 1 | syntax on | endif
22
syntax
33
syntax enable
44
syntax list GroupName
5+
syn match pythonError "[&|]\{2,}" display
6+
syntax match qfFileName /^\zs\S[^|]\+\/\ze[^|\/]\+\/[^|\/]\+|/ conceal cchar=+
7+
syntax region jsString start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@Spell extend

0 commit comments

Comments
 (0)