forked from aniani/vim
Updated runtime files.
This commit is contained in:
@@ -3,13 +3,18 @@
|
||||
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
|
||||
" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
|
||||
" Tom Payne <tom@tompayne.org>
|
||||
" Last Change: Wed Sep 29, 2010 09:31AM
|
||||
" Last Change: Sun Feb 20, 2011 12:06PM
|
||||
" Filenames: *.R *.r *.Rhistory *.Rt
|
||||
"
|
||||
" NOTE: The highlighting of R functions is defined in the
|
||||
" r-plugin/functions.vim, which is part of vim-r-plugin2:
|
||||
" http://www.vim.org/scripts/script.php?script_id=2628
|
||||
"
|
||||
" CONFIGURATION:
|
||||
" syntax folding can be turned on by
|
||||
"
|
||||
" let r_syntax_folding = 1
|
||||
"
|
||||
" Some lines of code were borrowed from Zhuojun Chen.
|
||||
|
||||
if exists("b:current_syntax")
|
||||
@@ -18,18 +23,30 @@ endif
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
if exists("g:r_syntax_folding")
|
||||
setlocal foldmethod=syntax
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
" Comment
|
||||
syn match rComment contains=@Spell "\#.*"
|
||||
|
||||
" string enclosed in double quotes
|
||||
syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
|
||||
" string enclosed in single quotes
|
||||
syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
|
||||
if &filetype == "rhelp"
|
||||
" string enclosed in double quotes
|
||||
syn region rString contains=rSpecial,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
|
||||
" string enclosed in single quotes
|
||||
syn region rString contains=rSpecial,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
|
||||
else
|
||||
" string enclosed in double quotes
|
||||
syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
|
||||
" string enclosed in single quotes
|
||||
syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
|
||||
endif
|
||||
|
||||
syn match rStrError display contained "\\."
|
||||
|
||||
|
||||
" New line, carriage return, tab, backspace, bell, feed, vertical tab, backslash
|
||||
syn match rSpecial display contained "\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
|
||||
|
||||
@@ -42,9 +59,6 @@ syn match rSpecial display contained "\\U\x\{1,8}"
|
||||
syn match rSpecial display contained "\\u{\x\{1,4}}"
|
||||
syn match rSpecial display contained "\\U{\x\{1,8}}"
|
||||
|
||||
|
||||
syn match rDollar "\$"
|
||||
|
||||
" Statement
|
||||
syn keyword rStatement break next return
|
||||
syn keyword rConditional if else
|
||||
@@ -54,26 +68,18 @@ syn keyword rRepeat for in repeat while
|
||||
syn keyword rConstant T F LETTERS letters month.ab month.name pi
|
||||
syn keyword rConstant R.version.string
|
||||
|
||||
" Constant
|
||||
syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_
|
||||
|
||||
" Constants
|
||||
syn keyword rConstant NULL
|
||||
syn keyword rBoolean FALSE TRUE
|
||||
syn keyword rNumber NA NA_integer_ NA_real_ NA_complex_ NA_character_
|
||||
syn keyword rNumber Inf NaN
|
||||
syn keyword rNumber NA Inf NaN
|
||||
|
||||
" integer
|
||||
syn match rInteger "\<\d\+L"
|
||||
syn match rInteger "\<0x\([0-9]\|[a-f]\|[A-F]\)\+L"
|
||||
syn match rInteger "\<\d\+[Ee]+\=\d\+L"
|
||||
|
||||
syn match rOperator "[\*\!\&\+\-\<\>\=\^\|\~\`/:@]"
|
||||
syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
|
||||
|
||||
syn match rComplex "\<\d\+i"
|
||||
syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
|
||||
syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
|
||||
syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
|
||||
syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
|
||||
|
||||
" number with no fractional part or exponent
|
||||
syn match rNumber "\<\d\+\>"
|
||||
" hexadecimal number
|
||||
@@ -86,6 +92,28 @@ syn match rFloat "\<\.\d\+\([Ee][-+]\=\d\+\)\="
|
||||
" floating point number with no fractional part and optional exponent
|
||||
syn match rFloat "\<\d\+[Ee][-+]\=\d\+"
|
||||
|
||||
" complex number
|
||||
syn match rComplex "\<\d\+i"
|
||||
syn match rComplex "\<\d\++\d\+i"
|
||||
syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
|
||||
syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
|
||||
syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
|
||||
syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
|
||||
|
||||
syn match rOperator "&"
|
||||
syn match rOperator '-'
|
||||
syn match rOperator '*'
|
||||
syn match rOperator '+'
|
||||
syn match rOperator '='
|
||||
syn match rOperator "[|!<>^~`/:@]"
|
||||
syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
|
||||
syn match rOpError '*\{3}'
|
||||
syn match rOpError '//'
|
||||
syn match rOpError '&&&'
|
||||
syn match rOpError '|||'
|
||||
syn match rOpError '<<'
|
||||
syn match rOpError '>>'
|
||||
|
||||
syn match rArrow "<\{1,2}-"
|
||||
syn match rArrow "->\{1,2}"
|
||||
|
||||
@@ -93,20 +121,50 @@ syn match rArrow "->\{1,2}"
|
||||
syn match rDelimiter "[,;:]"
|
||||
|
||||
" Error
|
||||
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
|
||||
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
|
||||
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
|
||||
if exists("g:r_syntax_folding")
|
||||
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold
|
||||
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold
|
||||
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold
|
||||
else
|
||||
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
|
||||
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
|
||||
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
|
||||
endif
|
||||
|
||||
syn match rError "[)\]}]"
|
||||
syn match rBraceError "[)}]" contained
|
||||
syn match rCurlyError "[)\]]" contained
|
||||
syn match rParenError "[\]}]" contained
|
||||
|
||||
" Source list of R functions. The list is produced by the Vim-R-plugin
|
||||
" http://www.vim.org/scripts/script.php?script_id=2628
|
||||
runtime r-plugin/functions.vim
|
||||
|
||||
syn match rDollar display contained "\$"
|
||||
|
||||
" List elements will not be highlighted as functions:
|
||||
syn match rLstElmt "\$[a-zA-Z0-9\\._]*" contains=rDollar
|
||||
|
||||
" Functions that may add new objects
|
||||
syn keyword rPreProc library require attach detach source
|
||||
|
||||
if &filetype == "rhelp"
|
||||
syn match rHelpIdent '\\method'
|
||||
syn match rHelpIdent '\\S4method'
|
||||
endif
|
||||
|
||||
" Type
|
||||
syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
|
||||
|
||||
" Name of object with spaces
|
||||
syn region rNameWSpace start="`" end="`"
|
||||
|
||||
if &filetype == "rhelp"
|
||||
syn match rhPreProc "^#ifdef.*"
|
||||
syn match rhPreProc "^#endif.*"
|
||||
syn match rhSection "\\dontrun\>"
|
||||
endif
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link rArrow Statement
|
||||
hi def link rBoolean Boolean
|
||||
@@ -120,9 +178,16 @@ hi def link rDelimiter Delimiter
|
||||
hi def link rDollar SpecialChar
|
||||
hi def link rError Error
|
||||
hi def link rFloat Float
|
||||
hi def link rFunction Function
|
||||
hi def link rHelpIdent Identifier
|
||||
hi def link rhPreProc PreProc
|
||||
hi def link rhSection PreCondit
|
||||
hi def link rInteger Number
|
||||
hi def link rLstElmt Normal
|
||||
hi def link rNameWSpace Normal
|
||||
hi def link rNumber Number
|
||||
hi def link rOperator Operator
|
||||
hi def link rOpError Error
|
||||
hi def link rParenError Error
|
||||
hi def link rPreProc PreProc
|
||||
hi def link rRepeat Repeat
|
||||
|
@@ -1,7 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: R Help File
|
||||
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
|
||||
" Last Change: 2010 Nov 22
|
||||
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
|
||||
" Former Maintainer: Johannes Ranke <jranke@uni-bremen.de>
|
||||
" Last Change: Sat Feb 19, 2011 02:13PM
|
||||
" Version: 0.7.4
|
||||
" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $
|
||||
" Remarks: - Includes R syntax highlighting in the appropriate
|
||||
@@ -24,36 +25,46 @@ endif
|
||||
|
||||
syn case match
|
||||
|
||||
" R help identifiers {{{
|
||||
" R help identifiers {{{1
|
||||
syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
|
||||
syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
|
||||
syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
|
||||
syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}" contains=rhelpLink
|
||||
syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end="}" contained
|
||||
syn region rhelpIdentifier matchgroup=rhelpSection start="\\Rdversion{" end="}"
|
||||
|
||||
" Highlighting of R code using an existing r.vim syntax file if available {{{1
|
||||
syn include @R syntax/r.vim
|
||||
syn match rhelpDots "\\dots" containedin=@R
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpSection
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R contained
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink contained
|
||||
syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots contained
|
||||
syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
|
||||
|
||||
" Strings {{{1
|
||||
syn region rhelpString start=/"/ end=/"/
|
||||
syn region rhelpString start=/"/ skip=/\\"/ end=/"/ contains=rhelpSpecialChar,rhelpCodeSpecial,rhelpLink contained
|
||||
|
||||
" Special characters ( \$ \& \% \# \{ \} \_) {{{1
|
||||
" Special characters in R strings
|
||||
syn match rhelpCodeSpecial display contained "\\\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
|
||||
|
||||
" Special characters ( \$ \& \% \# \{ \} \_)
|
||||
syn match rhelpSpecialChar "\\[$&%#{}_]"
|
||||
|
||||
|
||||
" R code {{{1
|
||||
syn match rhelpDots "\\dots" containedin=@R
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink,rhelpIdentifier,rhelpString,rhelpSpecialChar,rhelpSection
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R
|
||||
syn region rhelpRcode matchgroup=Delimiter start="\\code{" skip='\\\@<!{.\{-}\\\@<!}' transparent end="}" contains=@R,rhelpDots,rhelpString,rhelpSpecialChar,rhelpLink keepend
|
||||
syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots
|
||||
syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
|
||||
|
||||
" PreProc {{{1
|
||||
syn match rhelpPreProc "^#ifdef.*"
|
||||
syn match rhelpPreProc "^#endif.*"
|
||||
|
||||
" Special Delimiters {{{1
|
||||
syn match rhelpDelimiter "\\cr"
|
||||
syn match rhelpDelimiter "\\tab "
|
||||
|
||||
" Keywords {{{1
|
||||
syn match rhelpKeyword "\\R" contained
|
||||
syn match rhelpKeyword "\\R"
|
||||
syn match rhelpKeyword "\\ldots"
|
||||
syn match rhelpKeyword "--"
|
||||
syn match rhelpKeyword "---"
|
||||
@@ -111,9 +122,13 @@ syn match rhelpKeyword "\\Psi"
|
||||
syn match rhelpKeyword "\\Omega"
|
||||
|
||||
" Links {{{1
|
||||
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
|
||||
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend
|
||||
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
|
||||
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend extend
|
||||
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend extend
|
||||
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend extend
|
||||
|
||||
" Verbatim like {{{1
|
||||
syn region rhelpVerbatim matchgroup=rhelpType start="\\samp{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
|
||||
syn region rhelpVerbatim matchgroup=rhelpType start="\\verb{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
|
||||
|
||||
" Type Styles {{{1
|
||||
syn match rhelpType "\\emph\>"
|
||||
@@ -123,7 +138,6 @@ syn match rhelpType "\\sQuote\>"
|
||||
syn match rhelpType "\\dQuote\>"
|
||||
syn match rhelpType "\\preformatted\>"
|
||||
syn match rhelpType "\\kbd\>"
|
||||
syn match rhelpType "\\samp\>"
|
||||
syn match rhelpType "\\eqn\>"
|
||||
syn match rhelpType "\\deqn\>"
|
||||
syn match rhelpType "\\file\>"
|
||||
@@ -172,6 +186,8 @@ syn match rhelpSection "\\donttest\>"
|
||||
syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end="}"
|
||||
syn region rhelpFreesubsec matchgroup=Delimiter start="\\subsection{" matchgroup=Delimiter transparent end="}"
|
||||
|
||||
syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}"
|
||||
|
||||
" R help file comments {{{1
|
||||
syn match rhelpComment /%.*$/
|
||||
|
||||
@@ -194,17 +210,21 @@ if version >= 508 || !exists("did_rhelp_syntax_inits")
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
HiLink rhelpVerbatim String
|
||||
HiLink rhelpDelimiter Delimiter
|
||||
HiLink rhelpIdentifier Identifier
|
||||
HiLink rhelpString String
|
||||
HiLink rhelpCodeSpecial Special
|
||||
HiLink rhelpKeyword Keyword
|
||||
HiLink rhelpDots Keyword
|
||||
HiLink rhelpLink Underlined
|
||||
HiLink rhelpType Type
|
||||
HiLink rhelpType Type
|
||||
HiLink rhelpSection PreCondit
|
||||
HiLink rhelpError Error
|
||||
HiLink rhelpBraceError Error
|
||||
HiLink rhelpCurlyError Error
|
||||
HiLink rhelpParenError Error
|
||||
HiLink rhelpPreProc PreProc
|
||||
HiLink rhelpDelimiter Delimiter
|
||||
HiLink rhelpComment Comment
|
||||
HiLink rhelpRComment Comment
|
||||
|
110
runtime/syntax/treetop.vim
Normal file
110
runtime/syntax/treetop.vim
Normal file
@@ -0,0 +1,110 @@
|
||||
" Vim syntax file
|
||||
" Language: Treetop
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2011-03-14
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn keyword treetopTodo
|
||||
\ contained
|
||||
\ TODO
|
||||
\ FIXME
|
||||
\ XXX
|
||||
\ NOTE
|
||||
|
||||
syn match treetopComment
|
||||
\ '#.*'
|
||||
\ display
|
||||
\ contains=treetopTodo
|
||||
|
||||
syn include @treetopRuby syntax/ruby.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
syn keyword treetopKeyword
|
||||
\ require
|
||||
\ end
|
||||
syn region treetopKeyword
|
||||
\ matchgroup=treetopKeyword
|
||||
\ start='\<\%(grammar\|include\|module\)\>\ze\s'
|
||||
\ end='$'
|
||||
\ transparent
|
||||
\ oneline
|
||||
\ keepend
|
||||
\ contains=@treetopRuby
|
||||
syn keyword treetopKeyword
|
||||
\ rule
|
||||
\ nextgroup=treetopRuleName
|
||||
\ skipwhite skipnl
|
||||
|
||||
syn match treetopGrammarName
|
||||
\ '\u\w*'
|
||||
\ contained
|
||||
|
||||
syn match treetopRubyModuleName
|
||||
\ '\u\w*'
|
||||
\ contained
|
||||
|
||||
syn match treetopRuleName
|
||||
\ '\h\w*'
|
||||
\ contained
|
||||
|
||||
syn region treetopString
|
||||
\ matchgroup=treetopStringDelimiter
|
||||
\ start=+"+
|
||||
\ end=+"+
|
||||
syn region treetopString
|
||||
\ matchgroup=treetopStringDelimiter
|
||||
\ start=+'+
|
||||
\ end=+'+
|
||||
|
||||
syn region treetopCharacterClass
|
||||
\ matchgroup=treetopCharacterClassDelimiter
|
||||
\ start=+\[+
|
||||
\ skip=+\\\]+
|
||||
\ end=+\]+
|
||||
|
||||
syn region treetopRubyBlock
|
||||
\ matchgroup=treetopRubyBlockDelimiter
|
||||
\ start=+{+
|
||||
\ end=+}+
|
||||
\ contains=@treetopRuby
|
||||
|
||||
syn region treetopSemanticPredicate
|
||||
\ matchgroup=treetopSemanticPredicateDelimiter
|
||||
\ start=+[!&]{+
|
||||
\ end=+}+
|
||||
\ contains=@treetopRuby
|
||||
|
||||
syn region treetopSubclassDeclaration
|
||||
\ matchgroup=treetopSubclassDeclarationDelimiter
|
||||
\ start=+<+
|
||||
\ end=+>+
|
||||
\ contains=@treetopRuby
|
||||
|
||||
syn match treetopEllipsis
|
||||
\ +''+
|
||||
|
||||
hi def link treetopTodo Todo
|
||||
hi def link treetopComment Comment
|
||||
hi def link treetopKeyword Keyword
|
||||
hi def link treetopGrammarName Constant
|
||||
hi def link treetopRubyModuleName Constant
|
||||
hi def link treetopRuleName Identifier
|
||||
hi def link treetopString String
|
||||
hi def link treetopStringDelimiter treetopString
|
||||
hi def link treetopCharacterClass treetopString
|
||||
hi def link treetopCharacterClassDelimiter treetopCharacterClass
|
||||
hi def link treetopRubyBlockDelimiter PreProc
|
||||
hi def link treetopSemanticPredicateDelimiter PreProc
|
||||
hi def link treetopSubclassDeclarationDelimiter PreProc
|
||||
hi def link treetopEllipsis Special
|
||||
|
||||
let b:current_syntax = 'treetop'
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
112
runtime/syntax/upstart.vim
Normal file
112
runtime/syntax/upstart.vim
Normal file
@@ -0,0 +1,112 @@
|
||||
" Vim syntax file
|
||||
" Language: Upstart job files
|
||||
" Maintainer: Michael Biebl <biebl@debian.org>
|
||||
" James Hunt <james.hunt@ubuntu.com>
|
||||
" Last Change: 2011 Mar 22
|
||||
" License: GPL v2
|
||||
" Version: 0.4
|
||||
" Remark: Syntax highlighting for Upstart (init(8)) job files.
|
||||
"
|
||||
" It is inspired by the initng syntax file and includes sh.vim to do the
|
||||
" highlighting of script blocks.
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let is_bash = 1
|
||||
syn include @Shell syntax/sh.vim
|
||||
|
||||
syn case match
|
||||
|
||||
" avoid need to use 'match' for most events
|
||||
setlocal iskeyword+=-
|
||||
|
||||
syn match upstartComment /#.*$/ contains=upstartTodo
|
||||
syn keyword upstartTodo TODO FIXME contained
|
||||
|
||||
syn region upstartString start=/"/ end=/"/ skip=/\\"/
|
||||
|
||||
syn region upstartScript matchgroup=upstartStatement start="script" end="end script" contains=@upstartShellCluster
|
||||
|
||||
syn cluster upstartShellCluster contains=@Shell
|
||||
|
||||
" one argument
|
||||
syn keyword upstartStatement description author version instance expect
|
||||
syn keyword upstartStatement pid kill normal console env exit export
|
||||
syn keyword upstartStatement umask nice oom chroot chdir exec
|
||||
|
||||
" two arguments
|
||||
syn keyword upstartStatement limit
|
||||
|
||||
" one or more arguments (events)
|
||||
syn keyword upstartStatement emits
|
||||
|
||||
syn keyword upstartStatement on start stop
|
||||
|
||||
" flag, no parameter
|
||||
syn keyword upstartStatement respawn service instance manual debug task
|
||||
|
||||
" prefix for exec or script
|
||||
syn keyword upstartOption pre-start post-start pre-stop post-stop
|
||||
|
||||
" option for kill
|
||||
syn keyword upstartOption timeout
|
||||
" option for oom
|
||||
syn keyword upstartOption never
|
||||
" options for console
|
||||
syn keyword upstartOption output owner
|
||||
" options for expect
|
||||
syn keyword upstartOption fork daemon
|
||||
" options for limit
|
||||
syn keyword upstartOption unlimited
|
||||
|
||||
" 'options' for start/stop on
|
||||
syn keyword upstartOption and or
|
||||
|
||||
" Upstart itself and associated utilities
|
||||
syn keyword upstartEvent runlevel
|
||||
syn keyword upstartEvent started
|
||||
syn keyword upstartEvent starting
|
||||
syn keyword upstartEvent startup
|
||||
syn keyword upstartEvent stopped
|
||||
syn keyword upstartEvent stopping
|
||||
syn keyword upstartEvent control-alt-delete
|
||||
syn keyword upstartEvent keyboard-request
|
||||
syn keyword upstartEvent power-status-changed
|
||||
|
||||
" D-Bus
|
||||
syn keyword upstartEvent dbus-activation
|
||||
|
||||
" Display Manager (ie gdm)
|
||||
syn keyword upstartEvent desktop-session-start
|
||||
syn keyword upstartEvent login-session-start
|
||||
|
||||
" mountall
|
||||
syn keyword upstartEvent all-swaps
|
||||
syn keyword upstartEvent filesystem
|
||||
syn keyword upstartEvent mounted
|
||||
syn keyword upstartEvent mounting
|
||||
syn keyword upstartEvent local-filesystems
|
||||
syn keyword upstartEvent remote-filesystems
|
||||
syn keyword upstartEvent virtual-filesystems
|
||||
|
||||
" SysV umountnfs.sh
|
||||
syn keyword upstartEvent mounted-remote-filesystems
|
||||
|
||||
" upstart-udev-bridge and ifup/down
|
||||
syn match upstartEvent /\<\i\{-1,}-device-\(added\|removed\|up\|down\)/
|
||||
|
||||
" upstart-socket-bridge
|
||||
syn keyword upstartEvent socket
|
||||
|
||||
hi def link upstartComment Comment
|
||||
hi def link upstartTodo Todo
|
||||
hi def link upstartString String
|
||||
hi def link upstartStatement Statement
|
||||
hi def link upstartOption Type
|
||||
hi def link upstartEvent Define
|
||||
|
||||
let b:current_syntax = "upstart"
|
Reference in New Issue
Block a user