Compare commits

..

1 Commits

Author SHA1 Message Date
Adam Stankiewicz
acd7ce5950 Update 2015-03-10 21:56:33 -07:00
5 changed files with 151 additions and 68 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -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

79
indent/typescript.vim Normal file
View File

@@ -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

View File

@@ -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,33 +165,34 @@ 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
"}}}
" Highlight ways"{{{
syntax match typeScriptDotNotation "\." nextgroup=typeScriptPrototype,typeScriptDomElemAttrs,typeScriptDomElemFuncs,typeScriptHtmlElemAttrs,typeScriptHtmlElemFuncs
syntax match typeScriptDotNotation "\.style\." nextgroup=typeScriptCssStyles
"}}}
endif "DOM/HTML/CSS
" Highlight ways"{{{
syntax match typeScriptDotNotation "\." nextgroup=typeScriptPrototype,typeScriptDomElemAttrs,typeScriptDomElemFuncs,typeScriptDOMMethods,typeScriptDOMProperties,typeScriptHtmlElemAttrs,typeScriptHtmlElemFuncs,typeScriptHtmlElemProperties,typeScriptAjaxProperties,typeScriptAjaxMethods,typeScriptPropietaryMethods,typeScriptEventListenerMethods skipwhite skipnl
syntax match typeScriptDotNotation "\.style\." nextgroup=typeScriptCssStyles
"}}}
"" end DOM/HTML/CSS specified things""}}}
"" 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