Skip to content

autocmd JavaScript syntax highlighting #3

@ropery

Description

@ropery

I request JavaScript syntax support for the following two cases:

autocmd DOMLoad .* -js (function(){return true;})();
autocmd DOMLoad .* javascript <<EOF
(function(){
  return true;
})();
EOF

(Right now, the here-document syntax is not supported by vimperator, but I made a request vimperator/vimperator-labs#577)

A quick patch that seems to work... but you know better than me :)

--- a/syntax/vimperator.vim
+++ b/syntax/vimperator.vim
@@ -74,9 +74,9 @@ syn match vimperatorOption "\<\%(no\|inv\)\=\%(tabnumbers\|tn\|usermode\|um\|vis

 syn match vimperatorSetMod "\%(\<[a-z_]\+\)\@<=&" contained

-syn region vimperatorJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline
+syn region vimperatorJavaScript start="\%(^\%(au\%(tocmd\)\s\+.\+\s\+-\?\|\s*\)\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline
 syn region vimperatorJavaScript matchgroup=vimperatorJavascriptDelimiter
-    \ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold
+    \ start="\%(^\%(au\%(tocmd\)\s\+.\+\s\+-\?\|\s*\)\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold

 let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<='
 execute 'syn region vimperatorCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions