diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2016-07-26 14:06:32 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2016-07-26 14:06:32 +0200 | 
| commit | cb574b283fd19eea20d95c768b64c6b805d81690 (patch) | |
| tree | d948536dd865ce76bdec248d221b58dc1789c79f /extras | |
| parent | b9ce3df4cd3a93a3ff309301771afbbe92984492 (diff) | |
| download | vim-polyglot-cb574b283fd19eea20d95c768b64c6b805d81690.tar.gz vim-polyglot-cb574b283fd19eea20d95c768b64c6b805d81690.zip | |
Add livescript, closes #135
Diffstat (limited to 'extras')
| -rw-r--r-- | extras/flow.vim | 46 | ||||
| -rw-r--r-- | extras/jsdoc.vim | 43 | ||||
| -rw-r--r-- | extras/ngdoc.vim | 7 | 
3 files changed, 96 insertions, 0 deletions
| diff --git a/extras/flow.vim b/extras/flow.vim index a18c8825..6ce7ed99 100644 --- a/extras/flow.vim +++ b/extras/flow.vim @@ -44,3 +44,49 @@ if version >= 508 || !exists("did_javascript_syn_inits")  endif  endif +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 +   +syntax region  jsFlowTypeStatement            start=/type/    end=/=/     oneline skipwhite skipempty nextgroup=jsFlowTypeObject +syntax region  jsFlowDeclareBlock             start=/declare/ end=/[;\n]/ oneline contains=jsFlow,jsFlowDeclareKeyword,jsFlowStorageClass +syntax region  jsFlow                         start=/:/       end=/\%(\%([),=;\n]\|{\%(.*}\)\@!\|\%({.*}\)\@<=\s*{\)\@=\|void\)/ contains=@jsFlowCluster oneline skipwhite skipempty nextgroup=jsFuncBlock +syntax region  jsFlowReturn         contained start=/:/       end=/\%(\S\s*\%({\%(.*}\)\@!\)\@=\|\n\)/ contains=@jsFlowCluster oneline skipwhite skipempty nextgroup=jsFuncBlock keepend +syntax region  jsFlowTypeObject     contained start=/{/       end=/}/ contains=jsFlowTypeKey skipwhite skipempty nextgroup=jsFunctionBlock extend +syntax match   jsFlowTypeKey        contained /\<[0-9a-zA-Z_$?]*\>\(\s*:\)\@=/ skipwhite skipempty nextgroup=jsFlowTypeValue +syntax region  jsFlowTypeValue      contained matchgroup=jsFlowNoise start=/:/       end=/[,}]/ contains=@jsFlowCluster +syntax region  jsFlowObject         contained matchgroup=jsFlowNoise start=/{/       end=/}/     oneline contains=@jsFlowCluster +syntax region  jsFlowArray          contained matchgroup=jsFlowNoise start=/\[/      end=/\]/    oneline contains=@jsFlowCluster +syntax region  jsFlowArrow          contained matchgroup=jsFlowNoise start=/(/       end=/)\s*=>/     oneline contains=@jsFlowCluster +syntax keyword jsFlowDeclareKeyword contained declare +syntax keyword jsFlowType           contained boolean number string null void any mixed JSON array function object Array +syntax match   jsFlowClassProperty  contained /\<[0-9a-zA-Z_$]*\>:\@=/ skipwhite skipempty nextgroup=jsFlow +syntax match   jsFlowNoise          contained /[:;,<>]/ +syntax cluster jsFlowCluster        contains=jsFlowType,jsFlowArray,jsFlowObject,jsFlowNoise,jsFlowArrow +syntax keyword jsFlowStorageClass   contained const var let +syntax region  jsFlowParenRegion    contained start=/:\s*(/ end=/)\%(\s*:\)\@=/ oneline contains=@jsFlowCluster skipwhite skipempty nextgroup=jsObjectValue +syntax region  jsFlowClass          contained matchgroup=jsFlowNoise start=/</ end=/>/ oneline contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassBlock + +if version >= 508 || !exists("did_javascript_syn_inits") +  if version < 508 +    let did_javascript_syn_inits = 1 +    command -nargs=+ HiLink hi link <args> +  else +    command -nargs=+ HiLink hi def link <args> +  endif +  HiLink jsFlow                   PreProc +  HiLink jsFlowReturn             PreProc +  HiLink jsFlowArray              PreProc +  HiLink jsFlowDeclareBlock       PreProc +  HiLink jsFlowObject             PreProc +  HiLink jsFlowParenRegion        PreProc +  HiLink jsFlowClass              PreProc +  HiLink jsFlowTypeObject         PreProc +  HiLink jsFlowTypeKey            PreProc +  HiLink jsFlowTypeValue          PreProc +  HiLink jsFlowClassProperty      jsClassProperty +  HiLink jsFlowType               Type +  HiLink jsFlowDeclareKeyword     Type +  HiLink jsFlowNoise              Noise +  delcommand HiLink +endif + +endif diff --git a/extras/jsdoc.vim b/extras/jsdoc.vim index c5d7a572..7ce5f62d 100644 --- a/extras/jsdoc.vim +++ b/extras/jsdoc.vim @@ -41,3 +41,46 @@ if version >= 508 || !exists("did_javascript_syn_inits")  endif  endif +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 +   +"" syntax coloring for javadoc comments (HTML) +syntax region jsComment    matchgroup=jsComment start="/\*\s*"  end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold + +" tags containing a param +syntax match  jsDocTags         contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|fires\|kind\|link\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" skipwhite nextgroup=jsDocParam +" tags containing type and param +syntax match  jsDocTags         contained "@\(arg\|argument\|cfg\|param\|property\|prop\)\>" skipwhite nextgroup=jsDocType +" tags containing type but no param +syntax match  jsDocTags         contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|typedef\|return\|returns\)\>" skipwhite nextgroup=jsDocTypeNoParam +" tags containing references +syntax match  jsDocTags         contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag +" other tags (no extra syntax) +syntax match  jsDocTags         contained "@\(abstract\|access\|accessor\|author\|classdesc\|constant\|const\|constructor\|copyright\|deprecated\|desc\|description\|dict\|event\|example\|file\|file[oO]verview\|final\|function\|global\|ignore\|inheritDoc\|inner\|instance\|interface\|license\|localdoc\|method\|mixin\|nosideeffects\|override\|overview\|preserve\|private\|protected\|public\|readonly\|since\|static\|struct\|todo\|summary\|undocumented\|virtual\)\>" + +syntax region jsDocType         contained matchgroup=jsDocTypeBrackets start="{" end="}" contains=jsDocTypeRecord oneline skipwhite nextgroup=jsDocParam +syntax match  jsDocType         contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" skipwhite nextgroup=jsDocParam +syntax region jsDocTypeRecord   contained start=/{/ end=/}/ contains=jsDocTypeRecord extend +syntax region jsDocTypeRecord   contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend +syntax region jsDocTypeNoParam  contained start="{" end="}" oneline +syntax match  jsDocTypeNoParam  contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" +syntax match  jsDocParam        contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.{-}]\|=\)\+" +syntax region jsDocSeeTag       contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags + +if version >= 508 || !exists("did_javascript_syn_inits") +  if version < 508 +    let did_javascript_syn_inits = 1 +    command -nargs=+ HiLink hi link <args> +  else +    command -nargs=+ HiLink hi def link <args> +  endif +  HiLink jsDocTags              Special +  HiLink jsDocSeeTag            Function +  HiLink jsDocType              Type +  HiLink jsDocTypeBrackets      jsDocType +  HiLink jsDocTypeRecord        jsDocType +  HiLink jsDocTypeNoParam       Type +  HiLink jsDocParam             Label +  delcommand HiLink +endif + +endif diff --git a/extras/ngdoc.vim b/extras/ngdoc.vim index be314a80..7065cb81 100644 --- a/extras/ngdoc.vim +++ b/extras/ngdoc.vim @@ -5,3 +5,10 @@ syntax match  jsDocType         contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|\/\)\+" n  syntax match  jsDocParam        contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|{\|}\|\/\|\[\|]\|=\)\+"  endif +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 +   +syntax match  jsDocTags         contained /@\(link\|method[oO]f\|ngdoc\|ng[iI]nject\|restrict\)/ nextgroup=jsDocParam skipwhite +syntax match  jsDocType         contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|\/\)\+" nextgroup=jsDocParam skipwhite +syntax match  jsDocParam        contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|{\|}\|\/\|\[\|]\|=\)\+" + +endif | 
