diff options
Diffstat (limited to '')
| -rw-r--r-- | compiler/coffee.vim | 4 | ||||
| -rw-r--r-- | compiler/go.vim | 30 | ||||
| -rw-r--r-- | ftplugin/clojure.vim | 5 | ||||
| -rw-r--r-- | ftplugin/csv.vim | 10 | ||||
| -rw-r--r-- | ftplugin/go.vim | 17 | ||||
| -rw-r--r-- | ftplugin/markdown.vim | 1 | ||||
| -rw-r--r-- | ftplugin/perl.vim | 1 | ||||
| -rw-r--r-- | ftplugin/scala.vim | 4 | ||||
| -rw-r--r-- | indent/clojure.vim | 6 | ||||
| -rw-r--r-- | indent/less.vim | 39 | ||||
| -rw-r--r-- | indent/perl.vim | 2 | ||||
| -rw-r--r-- | syntax/markdown.vim | 1 | ||||
| -rw-r--r-- | syntax/perl.vim | 4 | ||||
| -rw-r--r-- | syntax/rust.vim | 4 | ||||
| -rw-r--r-- | syntax/scala.vim | 56 | 
15 files changed, 122 insertions, 62 deletions
| diff --git a/compiler/coffee.vim b/compiler/coffee.vim index a70fa64c..9a91d354 100644 --- a/compiler/coffee.vim +++ b/compiler/coffee.vim @@ -75,8 +75,8 @@ augroup CoffeeUpdateMakePrg    " Set autocmd locally if compiler was set locally.    if &l:makeprg =~ s:pat -    autocmd BufFilePost,BufWritePost <buffer> call s:UpdateMakePrg() +    autocmd BufWritePre,BufFilePost <buffer> call s:UpdateMakePrg()    else -    autocmd BufFilePost,BufWritePost          call s:UpdateMakePrg() +    autocmd BufWritePre,BufFilePost          call s:UpdateMakePrg()    endif  augroup END diff --git a/compiler/go.vim b/compiler/go.vim new file mode 100644 index 00000000..2c8cce49 --- /dev/null +++ b/compiler/go.vim @@ -0,0 +1,30 @@ +" Copyright 2013 The Go Authors. All rights reserved. +" Use of this source code is governed by a BSD-style +" license that can be found in the LICENSE file. +" +" compiler/go.vim: Vim compiler file for Go. + +if exists("current_compiler") +    finish +endif +let current_compiler = "go" + +if exists(":CompilerSet") != 2 +    command -nargs=* CompilerSet setlocal <args> +endif + +let s:save_cpo = &cpo +set cpo-=C + +CompilerSet makeprg=go\ build +CompilerSet errorformat= +        \%-G#\ %.%#, +        \%A%f:%l:%c:\ %m, +        \%A%f:%l:\ %m, +        \%C%*\\s%m, +        \%-G%.%# + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim:ts=4:sw=4:et diff --git a/ftplugin/clojure.vim b/ftplugin/clojure.vim index bbcbd319..b46b9c80 100644 --- a/ftplugin/clojure.vim +++ b/ftplugin/clojure.vim @@ -23,9 +23,8 @@ setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$  " of user-defined def* definitions.  setlocal define=\\v[(/]def(ault)@!\\S* -" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql' -" is standard ftplugin boilerplate, although it is arguably intrusive. -setlocal formatoptions-=t formatoptions+=croql +" Remove 't' from 'formatoptions' to avoid auto-wrapping code. +setlocal formatoptions-=t  " Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)  setlocal comments=n:; diff --git a/ftplugin/csv.vim b/ftplugin/csv.vim index 596012a3..20532744 100644 --- a/ftplugin/csv.vim +++ b/ftplugin/csv.vim @@ -1606,6 +1606,9 @@ fu! <sid>AnalyzeColumn(...) "{{{3      let qty = len(data)      let res = {}      for item in data +        if empty(item) +            let item = 'NULL' +        endif          if !get(res, item)              let res[item] = 0          endif @@ -1613,6 +1616,7 @@ fu! <sid>AnalyzeColumn(...) "{{{3      endfor      let max_items = reverse(sort(values(res))) +    let count_items = keys(res)      if len(max_items) > 5          call remove(max_items, 5, -1)          call filter(res, 'v:val =~ ''^''.join(max_items, ''\|'').''$''') @@ -1623,9 +1627,9 @@ fu! <sid>AnalyzeColumn(...) "{{{3      else          let  title="Nr\tCount\tValue"      endif -    echohl "Title" +    echohl Title      echo printf("%s", title) -    echohl "Normal" +    echohl Normal      echo printf("%s", repeat('=', strdisplaywidth(title)))      let i=1 @@ -1650,6 +1654,8 @@ fu! <sid>AnalyzeColumn(...) "{{{3              endif          endfor      endfor +    echo printf("%s", repeat('=', strdisplaywidth(title))) +    echo printf("different values: %d", len(count_items))      unlet max_items  endfunc diff --git a/ftplugin/go.vim b/ftplugin/go.vim new file mode 100644 index 00000000..8066733c --- /dev/null +++ b/ftplugin/go.vim @@ -0,0 +1,17 @@ +" Copyright 2013 The Go Authors. All rights reserved. +" Use of this source code is governed by a BSD-style +" license that can be found in the LICENSE file. +" +" go.vim: Vim filetype plugin for Go. + +if exists("b:did_ftplugin") +    finish +endif +let b:did_ftplugin = 1 + +setlocal comments=s1:/*,mb:*,ex:*/,:// +setlocal commentstring=//\ %s + +let b:undo_ftplugin = "setl com< cms<" + +" vim:ts=4:sw=4:et diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index 022da06e..5d6ebecd 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -1,6 +1,7 @@  " Vim filetype plugin  " Language:		Markdown  " Maintainer:		Tim Pope <vimNOSPAM@tpope.org> +" Last Change:		2013 May 30  if exists("b:did_ftplugin")    finish diff --git a/ftplugin/perl.vim b/ftplugin/perl.vim index 9e210428..d52015e3 100644 --- a/ftplugin/perl.vim +++ b/ftplugin/perl.vim @@ -82,6 +82,7 @@ let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .  " proper matching for matchit plugin  let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField' +let b:match_words = '\<if\>:\<elsif\>:\<else\>'  " Restore the saved compatibility options.  let &cpo = s:save_cpo diff --git a/ftplugin/scala.vim b/ftplugin/scala.vim index 6db56d04..00d45669 100644 --- a/ftplugin/scala.vim +++ b/ftplugin/scala.vim @@ -4,6 +4,10 @@ setlocal softtabstop=2  setlocal expandtab  setlocal formatoptions=tcqr  setlocal commentstring=//%s +let &l:include = '^\s*import' +let &l:includeexpr = 'substitute(v:fname,"\\.","/","g")' +setlocal path+=src/main/scala,src/test/scala +setlocal suffixesadd=.scala  set makeprg=sbt\ -Dsbt.log.noformat=true\ compile  set efm=%E\ %#[error]\ %f:%l:\ %m,%C\ %#[error]\ %p^,%-C%.%#,%Z, diff --git a/indent/clojure.vim b/indent/clojure.vim index 41201252..fd9ebb69 100644 --- a/indent/clojure.vim +++ b/indent/clojure.vim @@ -53,6 +53,10 @@ if exists("*searchpairpos")  		let g:clojure_align_multiline_strings = 0  	endif +	if !exists('g:clojure_align_subforms') +		let g:clojure_align_subforms = 0 +	endif +  	function! s:SynIdName()  		return synIDattr(synID(line("."), col("."), 0), "name")  	endfunction @@ -284,7 +288,7 @@ if exists("*searchpairpos")  		call search('\v\_s', 'cW')  		call search('\v\S', 'W')  		if paren[0] < line(".") -			return paren[1] + &shiftwidth - 1 +			return paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)  		endif  		call search('\v\S', 'bW') diff --git a/indent/less.vim b/indent/less.vim index 6161c93c..556c2d08 100644 --- a/indent/less.vim +++ b/indent/less.vim @@ -1,41 +1,10 @@  " Vim indent file -" Language:	    LessCSS -" Maintainer:	Leonard Ehrenfried <leonard.ehrenfried@web.de> -" Last Change:	2011 Sep 26 +" Language:            LessCSS +" Maintainer:        Leonard Ehrenfried <leonard.ehrenfried@web.de> +" Last Change:        2011 Sep 26  if exists("b:did_indent")    finish  endif -let b:did_indent = 1 - -setlocal autoindent sw=2 et -setlocal indentexpr=GetLessIndent() -setlocal indentkeys=o,O,*<Return>,<:>,!^F - -" Only define the function once. -if exists("*GetLessIndent") -  finish -endif - -let s:property = '^\s*:\|^\s*[[:alnum:]#{}-]\+\%(:\|\s*=\)' - -function! GetLessIndent() -  let lnum = prevnonblank(v:lnum-1) -  let line = substitute(getline(lnum),'\s\+$','','') -  let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') -  let lastcol = strlen(line) -  let line = substitute(line,'^\s\+','','') -  let indent = indent(lnum) -  let cindent = indent(v:lnum) -  if line !~ s:property && cline =~ s:property -    return indent + &sw -  "elseif line =~ s:property && cline !~ s:property -    "return indent - &sw -  else -    return -1 -  endif -endfunction - -" vim:set sw=2: - +runtime! indent/css.vim
\ No newline at end of file diff --git a/indent/perl.vim b/indent/perl.vim index a8e92fd5..3ce3e59a 100644 --- a/indent/perl.vim +++ b/indent/perl.vim @@ -134,6 +134,7 @@ function! GetPerlIndent()                          \ || synid == "perlMatchStartEnd"                          \ || synid == "perlHereDoc"                          \ || synid == "perlBraces" +                        \ || synid == "perlStatementIndirObj"                          \ || synid =~ "^perlFiledescStatement"                          \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'                  let brace = strpart(line, bracepos, 1) @@ -151,6 +152,7 @@ function! GetPerlIndent()              if synid == ""                          \ || synid == "perlMatchStartEnd"                          \ || synid == "perlBraces" +                        \ || synid == "perlStatementIndirObj"                          \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'                  let ind = ind - &sw              endif diff --git a/syntax/markdown.vim b/syntax/markdown.vim index 3024f2f7..4ba02b26 100644 --- a/syntax/markdown.vim +++ b/syntax/markdown.vim @@ -2,6 +2,7 @@  " Language:     Markdown  " Maintainer:   Tim Pope <vimNOSPAM@tpope.org>  " Filenames:    *.markdown +" Last Change:  2013 May 30  if exists("b:current_syntax")    finish diff --git a/syntax/perl.vim b/syntax/perl.vim index e847da11..b3baa092 100644 --- a/syntax/perl.vim +++ b/syntax/perl.vim @@ -83,7 +83,7 @@ syn match perlControl			"\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>\_s*" nextgr  syn match perlStatementStorage		"\<\%(my\|our\|local\|state\)\>"  syn match perlStatementControl		"\<\%(return\|last\|next\|redo\|goto\|break\)\>" -syn match perlStatementScalar		"\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|uc\%(first\)\=\)\>" +syn match perlStatementScalar		"\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|fc\|uc\%(first\)\=\)\>"  syn match perlStatementRegexp		"\<\%(pos\|quotemeta\|split\|study\)\>"  syn match perlStatementNumeric		"\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>"  syn match perlStatementList		"\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>" @@ -94,7 +94,7 @@ syn match perlStatementFiledesc		"\<\%(fcntl\|flock\|ioctl\|open\%(dir\)\=\|read  syn match perlStatementVector		"\<vec\>"  syn match perlStatementFiles		"\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>"  syn match perlStatementFiles		"-[rwxoRWXOezsfdlpSbctugkTBMAC]\>" -syn match perlStatementFlow		"\<\%(caller\|die\|dump\|eval\|exit\|wantarray\)\>" +syn match perlStatementFlow		"\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>"  syn match perlStatementInclude		"\<\%(require\|import\)\>"  syn match perlStatementInclude		"\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="  syn match perlStatementProc		"\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>" diff --git a/syntax/rust.vim b/syntax/rust.vim index 9131c4fa..aa0549a8 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -66,7 +66,7 @@ syn keyword   rustEnumVariant Ok Err  " Types and traits {{{3  syn keyword rustTrait Any AnyOwnExt AnyRefExt AnyMutRefExt -syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr ToBytesConsume +syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr IntoBytes  syn keyword rustTrait Bool  syn keyword rustTrait ToCStr  syn keyword rustTrait Char @@ -94,7 +94,7 @@ syn keyword rustTrait Buffer Writer Reader Seek  syn keyword rustTrait SendStr SendStrOwned SendStrStatic IntoSendStr  syn keyword rustTrait Str StrVector StrSlice OwnedStr  syn keyword rustTrait IterBytes -syn keyword rustTrait ToStr ToStrConsume +syn keyword rustTrait ToStr IntoStr  syn keyword rustTrait CopyableTuple ImmutableTuple  syn keyword rustTrait Tuple1 Tuple2 Tuple3 Tuple4  syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8 diff --git a/syntax/scala.vim b/syntax/scala.vim index 3c43a894..5139419b 100644 --- a/syntax/scala.vim +++ b/syntax/scala.vim @@ -11,12 +11,23 @@ syn sync minlines=200 maxlines=1000  syn keyword scalaKeyword catch do else final finally for forSome if  syn keyword scalaKeyword match return throw try while yield -syn keyword scalaKeyword class trait object extends with type nextgroup=scalaInstanceDeclaration skipwhite -syn keyword scalaKeyword case nextgroup=scalaCaseFollowing skipwhite +syn keyword scalaKeyword class trait object extends with nextgroup=scalaInstanceDeclaration skipwhite +syn keyword scalaKeyword type nextgroup=scalaTypeDeclaration skipwhite +syn keyword scalaKeyword case nextgroup=scalaKeyword,scalaCaseFollowing skipwhite  syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skipwhite  syn keyword scalaKeyword def var nextgroup=scalaNameDefinition skipwhite  hi link scalaKeyword Keyword +syn match scalaSymbol /'[_A-Za-z0-9$]\+/ +hi link scalaSymbol Number + +syn match scalaChar /'.'/ +syn match scalaEscapedChar /\\[\\ntbrf]/ +syn match scalaUnicodeChar /\\u[A-Fa-f0-9]\{4}/ +hi link scalaChar Character +hi link scalaEscapedChar Function +hi link scalaUnicodeChar Special +  syn match scalaNameDefinition /\<[_A-Za-z0-9$]\+\>/ contained  syn match scalaNameDefinition /`[^`]\+`/ contained  hi link scalaNameDefinition Function @@ -25,6 +36,19 @@ syn match scalaInstanceDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained  syn match scalaInstanceDeclaration /`[^`]\+`/ contained  hi link scalaInstanceDeclaration Special +syn match scalaTypeDeclaration /\<[_A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeExtension,scalaTypeEquals skipwhite +syn match scalaTypeEquals /=\ze[^>]/ contained nextgroup=scalaTypePostDeclaration skipwhite +syn match scalaTypeExtension /\%(=>\|<:\|:>\|=:=\|::\)/ contained nextgroup=scalaTypeDeclaration skipwhite +syn match scalaTypePostDeclaration /\<[_A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypePostExtension skipwhite +syn match scalaTypePostExtension /\%(=>\|<:\|:>\|=:=\|::\)/ contained nextgroup=scalaTypePostDeclaration skipwhite +hi link scalaTypeDeclaration Type +hi link scalaTypeExtension Keyword +hi link scalaTypePostDeclaration Special +hi link scalaTypePostExtension Keyword + +syn match scalaTypeAnnotation /\%([_a-zA-Z0-9$)\s]:\_s*\)\@<=[_(\.A-Za-z0-9$]\+/ skipwhite nextgroup=scalaTypeExtension contains=scalaRoundBrackets +hi link scalaTypeAnnotation Type +  syn match scalaCaseFollowing /\<[_\.A-Za-z0-9$]*\>/ contained  syn match scalaCaseFollowing /`[^`]\+`/ contained  hi link scalaCaseFollowing Special @@ -38,16 +62,18 @@ syn match scalaSpecial "\%(=>\|⇒\|<-\|←\|->\|→\)"  syn match scalaSpecial /`[^`]*`/  " Backtick literals  hi link scalaSpecial PreProc -syn region scalaString start=/"/ skip=/\\"/ end=/"/ +syn match scalaStringEmbeddedQuote /\\"/ contained +syn region scalaString start=/"/ end=/"/ contains=scalaStringEmbeddedQuote,scalaEscapedChar,scalaUnicodeChar  hi link scalaString String +hi link scalaStringEmbeddedQuote String -syn region scalaSString matchgroup=Special start=/s"/ skip=/\\"/ end=/"/ contains=scalaInterpolation +syn region scalaSString matchgroup=Special start=/s"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaEscapedChar,scalaUnicodeChar  syn match scalaInterpolation /\$[a-zA-Z0-9_$]\+/ contained  syn match scalaInterpolation /\${[^}]\+}/ contained  hi link scalaSString String  hi link scalaInterpolation Function -syn region scalaFString matchgroup=Special start=/f"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaFInterpolation +syn region scalaFString matchgroup=Special start=/f"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaFInterpolation,scalaEscapedChar,scalaUnicodeChar  syn match scalaFInterpolation /\$[a-zA-Z0-9_$]\+%[-A-Za-z0-9\.]\+/ contained  syn match scalaFInterpolation /\${[^}]\+}%[-A-Za-z0-9\.]\+/ contained  hi link scalaFString String @@ -61,9 +87,9 @@ syn region scalaTripleQuasiQuotes matchgroup=Type start=/\<q"""/ end=/"""/ conta  syn region scalaTripleQuasiQuotes matchgroup=Type start=/\<[tcp]q"""/ end=/"""/ contains=scalaInterpolation  hi link scalaTripleQuasiQuotes String -syn region scalaTripleString start=/"""/ end=/"""/ -syn region scalaTripleSString matchgroup=PreProc start=/s"""/ end=/"""/ -syn region scalaTripleFString matchgroup=PreProc start=/f"""/ end=/"""/ +syn region scalaTripleString start=/"""/ end=/"""/ contains=scalaEscapedChar,scalaUnicodeChar +syn region scalaTripleSString matchgroup=Special start=/s"""/ end=/"""/ contains=scalaInterpolation,scalaEscapedChar,scalaUnicodeChar +syn region scalaTripleFString matchgroup=Special start=/f"""/ end=/"""/ contains=scalaInterpolation,scalaFInterpolation,scalaEscapedChar,scalaUnicodeChar  hi link scalaTripleString String  hi link scalaTripleSString String  hi link scalaTripleFString String @@ -76,13 +102,13 @@ syn match scalaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"  syn match scalaNumber "\<\d\+\%([eE][-+]\=\d\+\)\=[fFdD]\>"  hi link scalaNumber Number -syn region scalaSquareBrackets matchgroup=Type start="\[" end="\]" contains=scalaSpecial,scalaTypeParameter,scalaSquareBrackets,scalaTypeOperator -syn match scalaTypeAnnotation /\%(:\s*\)\@<=[_\.A-Za-z0-9$]\+/ -syn match scalaTypeParameter /[_\.A-Za-z0-9$]\+/ contained -syn match scalaTypeOperator /[=:<>]\+/ contained -hi link scalaTypeAnnotation Type -hi link scalaTypeParameter Type -hi link scalaTypeOperator Type +syn region scalaRoundBrackets start="(" end=")" skipwhite contained contains=scalaTypeDeclaration,scalaSquareBrackets + +syn region scalaSquareBrackets matchgroup=Type start="\[" end="\]" skipwhite nextgroup=scalaTypeEquals,scalaTypeExtension contains=scalaTypeDeclaration,scalaSquareBrackets,scalaTypeOperator,scalaTypeAnnotationParameter +syn match scalaTypeOperator /[-+=:<>]\+/ contained +syn match scalaTypeAnnotationParameter /@\<[`_A-Za-z0-9$]\+\>/ contained +hi link scalaTypeOperator Keyword +hi link scalaTypeAnnotationParameter Function  syn region scalaMultilineComment start="/\*" end="\*/" contains=scalaMultilineComment,scalaDocLinks,scalaParameterAnnotation,scalaCommentAnnotation,scalaCommentCodeBlock,@scalaHtml keepend  syn match scalaCommentAnnotation "@[_A-Za-z0-9$]\+" contained | 
