diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2015-03-10 21:56:33 -0700 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2015-03-10 21:56:33 -0700 |
commit | acd7ce59503b22ac7663fc25776efe25e266f1d4 (patch) | |
tree | 0a7b4c05f478fa529ddf81a359528cddf70fb4ab | |
parent | f24fecc338b5129a47c343f61daad2c2fe7a4ab0 (diff) | |
download | vim-polyglot-1.13.1.tar.gz vim-polyglot-1.13.1.zip |
Updatev1.13.1
-rw-r--r-- | ftdetect/polyglot.vim | 1 | ||||
-rw-r--r-- | ftplugin/scala/tagbar.vim | 34 | ||||
-rw-r--r-- | ftplugin/typescript.vim | 17 | ||||
-rw-r--r-- | indent/typescript.vim | 79 | ||||
-rw-r--r-- | syntax/typescript.vim | 86 |
5 files changed, 150 insertions, 67 deletions
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index cb0d263d..3cec93cf 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -197,6 +197,7 @@ au BufNewFile,BufRead *.timer set filetype=systemd au BufRead,BufNewFile *.textile set filetype=textile au BufNewFile,BufRead *.thrift setlocal filetype=thrift autocmd BufNewFile,BufRead {.,}tmux.conf{.*,} setlocal filetype=tmux +autocmd BufNewFile,BufRead {.,}tmux.conf{.*,} setlocal commentstring=#\ %s autocmd BufNewFile,BufRead *.toml set filetype=toml autocmd BufNewFile,BufRead Cargo.lock set filetype=toml autocmd BufNewFile,BufRead *.twig set filetype=twig diff --git a/ftplugin/scala/tagbar.vim b/ftplugin/scala/tagbar.vim index 19353ef1..5e1f2af6 100644 --- a/ftplugin/scala/tagbar.vim +++ b/ftplugin/scala/tagbar.vim @@ -10,35 +10,19 @@ endif let g:tagbar_type_scala = { \ 'ctagstype' : 'scala', + \ 'sro' : '.', \ 'kinds' : [ - \ 'p:packages:1', - \ 'V:values', - \ 'v:variables', - \ 'T:types', + \ 'p:packages', + \ 'T:types:1', \ 't:traits', \ 'o:objects', - \ 'a:aclasses', + \ 'O:case objects', \ 'c:classes', - \ 'r:cclasses', - \ 'm:methods' - \ ], - \ 'sro' : '.', - \ 'kind2scope' : { - \ 'T' : 'type', - \ 't' : 'trait', - \ 'o' : 'object', - \ 'a' : 'abstract class', - \ 'c' : 'class', - \ 'r' : 'case class' - \ }, - \ 'scope2kind' : { - \ 'type' : 'T', - \ 'trait' : 't', - \ 'object' : 'o', - \ 'abstract class' : 'a', - \ 'class' : 'c', - \ 'case class' : 'r' - \ } + \ 'C:case classes', + \ 'm:methods', + \ 'V:values:1', + \ 'v:variables:1' + \ ] \ } " In case you've updated/customized your ~/.ctags and prefer to use it. diff --git a/ftplugin/typescript.vim b/ftplugin/typescript.vim index 9e98e790..ed1b8aae 100644 --- a/ftplugin/typescript.vim +++ b/ftplugin/typescript.vim @@ -1,2 +1,19 @@ +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo-=C + compiler typescript setlocal commentstring=//\ %s + +" Set 'formatoptions' to break comment lines but not other lines, +" " and insert the comment leader when hitting <CR> or using "o". +setlocal formatoptions-=t formatoptions+=croql + +let b:undo_ftplugin = "setl fo< ofu< com< cms<" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/indent/typescript.vim b/indent/typescript.vim new file mode 100644 index 00000000..f498298b --- /dev/null +++ b/indent/typescript.vim @@ -0,0 +1,79 @@ +" Vim indent file, taken from indent/java.vim +" Language: Typescript +" Maintainer: None! Wanna improve this? +" Last Change: 2015 Mar 07 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +" Use javascript cindent options +setlocal cindent cinoptions& cinoptions+=j1,J1 +setlocal indentkeys& + +" Load typescript indent function +setlocal indentexpr=GetTypescriptIndent() + +let b:undo_indent = "setl cin< cino< indentkeys< indentexpr<" + +" Only define the function once +if exists("*GetTypescriptIndent") + finish +endif + +" Make sure we have vim capabilities +let s:keepcpo = &cpo +set cpo&vim + +function! TypescriptPrevNonBlankOrComment(lnum) + let pnum = prevnonblank(a:lnum) + " skip any comments (either `//`, `/*` or `*`) + while getline(pnum) =~ '^\s*\(\/\/\|\/\*\|\*\)' + let pnum = prevnonblank(pnum-1) + endwhile + return pnum +endfunction + +function GetTypescriptIndent() + + " default value: trust cindent + let ind = cindent(v:lnum) + + if getline(v:lnum) =~ '^\s*[{}\*]' + return ind + endif + + " The last non-empty line + let prev = TypescriptPrevNonBlankOrComment(v:lnum-1) + + " Check if the previous line consists of a single `<variable> : <type>;` + " declaration (e.g. in interface definitions) + if getline(prev) =~ '^\s*\w\+\s*:[^{]\+;\s*$' + return indent(prev) + endif + + " Try to find out whether the last `}` ended a `<variable> : {` block + if getline(prev) =~ '};\s*$' + " jump to matching `{` bracket + call cursor(prev, 1) + silent normal % + + " See if current line is type annotation without closing ';' but open + " `{` bracket + let lnum = line('.') + if getline(lnum) =~ '^\s*\w\+\s*:[^;]\+{' + let ind = indent(lnum) + endif + endif + + return ind + +endfunction + +" Restore compatibility mode +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim: et diff --git a/syntax/typescript.vim b/syntax/typescript.vim index 9d48d480..79a11974 100644 --- a/syntax/typescript.vim +++ b/syntax/typescript.vim @@ -57,8 +57,8 @@ syntax case match "" Syntax in the typeScript code"{{{ syn match typeScriptSpecial "\\\d\d\d\|\\." -syn region typeScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=typeScriptSpecial,@htmlPreproc -syn region typeScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=typeScriptSpecial,@htmlPreproc +syn region typeScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=typeScriptSpecial,@htmlPreproc +syn region typeScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=typeScriptSpecial,@htmlPreproc syn match typeScriptSpecialCharacter "'\\.'" syn match typeScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" @@ -72,28 +72,28 @@ syntax match typeScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\ " syntax match typeScriptLabel /\(?\s*\)\@<!\<\w\+\(\s*:\)\@=/ "}}} "" typeScript Prototype"{{{ -syntax keyword typeScriptPrototype prototype +syntax keyword typeScriptPrototype contained prototype "}}} " DOM, Browser and Ajax Support {{{ """""""""""""""""""""""" syntax keyword typeScriptBrowserObjects window navigator screen history location syntax keyword typeScriptDOMObjects document event HTMLElement Anchor Area Base Body Button Form Frame Frameset Image Link Meta Option Select Style Table TableCell TableRow Textarea -syntax keyword typeScriptDOMMethods createTextNode createElement insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode normalize isSupported hasAttributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName hasAttribute getElementById adoptNode close compareDocumentPosition createAttribute createCDATASection createComment createDocumentFragment createElementNS createEvent createExpression createNSResolver createProcessingInstruction createRange createTreeWalker elementFromPoint evaluate getBoxObjectFor getElementsByClassName getSelection getUserData hasFocus importNode -syntax keyword typeScriptDOMProperties nodeName nodeValue nodeType parentNode childNodes firstChild lastChild previousSibling nextSibling attributes ownerDocument namespaceURI prefix localName tagName +syntax keyword typeScriptDOMMethods contained createTextNode createElement insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode normalize isSupported hasAttributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName hasAttribute getElementById adoptNode close compareDocumentPosition createAttribute createCDATASection createComment createDocumentFragment createElementNS createEvent createExpression createNSResolver createProcessingInstruction createRange createTreeWalker elementFromPoint evaluate getBoxObjectFor getElementsByClassName getSelection getUserData hasFocus importNode +syntax keyword typeScriptDOMProperties contained nodeName nodeValue nodeType parentNode childNodes firstChild lastChild previousSibling nextSibling attributes ownerDocument namespaceURI prefix localName tagName syntax keyword typeScriptAjaxObjects XMLHttpRequest -syntax keyword typeScriptAjaxProperties readyState responseText responseXML statusText -syntax keyword typeScriptAjaxMethods onreadystatechange abort getAllResponseHeaders getResponseHeader open send setRequestHeader +syntax keyword typeScriptAjaxProperties contained readyState responseText responseXML statusText +syntax keyword typeScriptAjaxMethods contained onreadystatechange abort getAllResponseHeaders getResponseHeader open send setRequestHeader syntax keyword typeScriptPropietaryObjects ActiveXObject -syntax keyword typeScriptPropietaryMethods attachEvent detachEvent cancelBubble returnValue +syntax keyword typeScriptPropietaryMethods contained attachEvent detachEvent cancelBubble returnValue -syntax keyword typeScriptHtmlElemProperties className clientHeight clientLeft clientTop clientWidth dir href id innerHTML lang length offsetHeight offsetLeft offsetParent offsetTop offsetWidth scrollHeight scrollLeft scrollTop scrollWidth style tabIndex target title +syntax keyword typeScriptHtmlElemProperties contained className clientHeight clientLeft clientTop clientWidth dir href id innerHTML lang length offsetHeight offsetLeft offsetParent offsetTop offsetWidth scrollHeight scrollLeft scrollTop scrollWidth style tabIndex target title -syntax keyword typeScriptEventListenerKeywords blur click focus mouseover mouseout load item +syntax keyword typeScriptEventListenerKeywords contained blur click focus mouseover mouseout load item -syntax keyword typeScriptEventListenerMethods scrollIntoView addEventListener dispatchEvent removeEventListener preventDefault stopPropagation +syntax keyword typeScriptEventListenerMethods contained scrollIntoView addEventListener dispatchEvent removeEventListener preventDefault stopPropagation " }}} "" Programm Keywords"{{{ syntax keyword typeScriptSource import export @@ -165,11 +165,12 @@ if exists("typeScript_enable_domhtmlcss") syntax keyword typeScriptCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText syntax keyword typeScriptCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor "}}} +endif "DOM/HTML/CSS + " Highlight ways"{{{ - syntax match typeScriptDotNotation "\." nextgroup=typeScriptPrototype,typeScriptDomElemAttrs,typeScriptDomElemFuncs,typeScriptHtmlElemAttrs,typeScriptHtmlElemFuncs - syntax match typeScriptDotNotation "\.style\." nextgroup=typeScriptCssStyles +syntax match typeScriptDotNotation "\." nextgroup=typeScriptPrototype,typeScriptDomElemAttrs,typeScriptDomElemFuncs,typeScriptDOMMethods,typeScriptDOMProperties,typeScriptHtmlElemAttrs,typeScriptHtmlElemFuncs,typeScriptHtmlElemProperties,typeScriptAjaxProperties,typeScriptAjaxMethods,typeScriptPropietaryMethods,typeScriptEventListenerMethods skipwhite skipnl +syntax match typeScriptDotNotation "\.style\." nextgroup=typeScriptCssStyles "}}} -endif "DOM/HTML/CSS "" end DOM/HTML/CSS specified things""}}} @@ -177,21 +178,21 @@ endif "DOM/HTML/CSS "" Code blocks syntax cluster typeScriptAll contains=typeScriptComment,typeScriptLineComment,typeScriptDocComment,typeScriptStringD,typeScriptStringS,typeScriptRegexpString,typeScriptNumber,typeScriptFloat,typeScriptLabel,typeScriptSource,typeScriptType,typeScriptOperator,typeScriptBoolean,typeScriptNull,typeScriptFuncKeyword,typeScriptConditional,typeScriptGlobal,typeScriptRepeat,typeScriptBranch,typeScriptStatement,typeScriptGlobalObjects,typeScriptMessage,typeScriptIdentifier,typeScriptExceptions,typeScriptReserved,typeScriptDeprecated,typeScriptDomErrNo,typeScriptDomNodeConsts,typeScriptHtmlEvents,typeScriptDotNotation,typeScriptBrowserObjects,typeScriptDOMObjects,typeScriptAjaxObjects,typeScriptPropietaryObjects,typeScriptDOMMethods,typeScriptHtmlElemProperties,typeScriptDOMProperties,typeScriptEventListenerKeywords,typeScriptEventListenerMethods,typeScriptAjaxProperties,typeScriptAjaxMethods,typeScriptFuncArg -if main_syntax == "typeScript" +if main_syntax == "typescript" syntax sync clear syntax sync ccomment typeScriptComment minlines=200 " syntax sync match typeScriptHighlight grouphere typeScriptBlock /{/ endif -syntax keyword typeScriptFuncKeyword function contained -syntax region typeScriptFuncDef start="function" end="\([^)]*\)" contains=typeScriptFuncKeyword,typeScriptFuncArg keepend -syntax match typeScriptFuncArg "\(([^()]*)\)" contains=typeScriptParens,typeScriptFuncComma contained -syntax match typeScriptFuncComma /,/ contained +syntax keyword typeScriptFuncKeyword function +"syntax region typeScriptFuncDef start="function" end="\(.*\)" contains=typeScriptFuncKeyword,typeScriptFuncArg keepend +"syntax match typeScriptFuncArg "\(([^()]*)\)" contains=typeScriptParens,typeScriptFuncComma contained +"syntax match typeScriptFuncComma /,/ contained " syntax region typeScriptFuncBlock contained matchgroup=typeScriptFuncBlock start="{" end="}" contains=@typeScriptAll,typeScriptParensErrA,typeScriptParensErrB,typeScriptParen,typeScriptBracket,typeScriptBlock fold -syn match typeScriptBraces "[{}\[\]]" -syn match typeScriptParens "[()]" -syn match typeScriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\|-=" +syn match typeScriptBraces "[{}\[\]]" +syn match typeScriptParens "[()]" +syn match typeScriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\|-=" syn match typeScriptEndColons "[;,]" syn match typeScriptLogicSymbols "\(&&\)\|\(||\)" @@ -204,7 +205,7 @@ syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend setl foldtext=FoldText() endfunction -au FileType typeScript call TypeScriptFold() +au FileType typescript call TypeScriptFold() " }}} @@ -250,7 +251,7 @@ if version >= 508 || !exists("did_typeScript_syn_inits") HiLink typeScriptIdentifier Identifier HiLink typeScriptRepeat Repeat HiLink typeScriptStatement Statement - HiLink typeScriptFuncKeyword Type + HiLink typeScriptFuncKeyword Function HiLink typeScriptMessage Keyword HiLink typeScriptDeprecated Exception HiLink typeScriptError Error @@ -280,28 +281,29 @@ if version >= 508 || !exists("did_typeScript_syn_inits") HiLink typeScriptHtmlElemFuncs PreProc HiLink typeScriptCssStyles Label -" Ajax Highlighting -HiLink typeScriptBrowserObjects Constant -HiLink typeScriptDOMObjects Constant -HiLink typeScriptDOMMethods Exception -HiLink typeScriptDOMProperties Type + " Ajax Highlighting + HiLink typeScriptBrowserObjects Constant -HiLink typeScriptAjaxObjects htmlH1 -HiLink typeScriptAjaxMethods Exception -HiLink typeScriptAjaxProperties Type + HiLink typeScriptDOMObjects Constant + HiLink typeScriptDOMMethods Function + HiLink typeScriptDOMProperties Special -HiLink typeScriptFuncDef Title - HiLink typeScriptFuncArg Special - HiLink typeScriptFuncComma Operator + HiLink typeScriptAjaxObjects Constant + HiLink typeScriptAjaxMethods Function + HiLink typeScriptAjaxProperties Special -HiLink typeScriptHtmlEvents Special -HiLink typeScriptHtmlElemProperties Type + HiLink typeScriptFuncDef Title + HiLink typeScriptFuncArg Special + HiLink typeScriptFuncComma Operator -HiLink typeScriptEventListenerKeywords Keyword + HiLink typeScriptHtmlEvents Special + HiLink typeScriptHtmlElemProperties Special -HiLink typeScriptNumber Number -HiLink typeScriptPropietaryObjects Constant + HiLink typeScriptEventListenerKeywords Keyword + + HiLink typeScriptNumber Number + HiLink typeScriptPropietaryObjects Constant delcommand HiLink endif @@ -312,8 +314,8 @@ endif syntax cluster htmltypeScript contains=@typeScriptAll,typeScriptBracket,typeScriptParen,typeScriptBlock,typeScriptParenError syntax cluster typeScriptExpression contains=@typeScriptAll,typeScriptBracket,typeScriptParen,typeScriptBlock,typeScriptParenError,@htmlPreproc -let b:current_syntax = "typeScript" -if main_syntax == 'typeScript' +let b:current_syntax = "typescript" +if main_syntax == 'typescript' unlet main_syntax endif |