mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
updated for version 7.0001
This commit is contained in:
199
runtime/syntax/csc.vim
Normal file
199
runtime/syntax/csc.vim
Normal file
@@ -0,0 +1,199 @@
|
||||
" Vim syntax file
|
||||
" Language: Essbase script
|
||||
" Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net>
|
||||
" Last change: 2001 Sep 25
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" folds: fix/endfix and comments
|
||||
sy region EssFold start="\<Fix" end="EndFix" transparent fold
|
||||
|
||||
sy keyword cscTodo contained TODO FIXME XXX
|
||||
|
||||
" cscCommentGroup allows adding matches for special things in comments
|
||||
sy cluster cscCommentGroup contains=cscTodo
|
||||
|
||||
" Strings in quotes
|
||||
sy match cscError '"'
|
||||
sy match cscString '"[^"]*"'
|
||||
|
||||
"when wanted, highlight trailing white space
|
||||
if exists("csc_space_errors")
|
||||
if !exists("csc_no_trail_space_error")
|
||||
sy match cscSpaceE "\s\+$"
|
||||
endif
|
||||
if !exists("csc_no_tab_space_error")
|
||||
sy match cscSpaceE " \+\t"me=e-1
|
||||
endif
|
||||
endif
|
||||
|
||||
"catch errors caused by wrong parenthesis and brackets
|
||||
sy cluster cscParenGroup contains=cscParenE,@cscCommentGroup,cscUserCont,cscBitField,cscFormat,cscNumber,cscFloat,cscOctal,cscNumbers,cscIfError,cscComW,cscCom,cscFormula,cscBPMacro
|
||||
sy region cscParen transparent start='(' end=')' contains=ALLBUT,@cscParenGroup
|
||||
sy match cscParenE ")"
|
||||
|
||||
"integer number, or floating point number without a dot and with "f".
|
||||
sy case ignore
|
||||
sy match cscNumbers transparent "\<\d\|\.\d" contains=cscNumber,cscFloat,cscOctal
|
||||
sy match cscNumber contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
"hex number
|
||||
sy match cscNumber contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
" Flag the first zero of an octal number as something special
|
||||
sy match cscOctal contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
sy match cscFloat contained "\d\+f"
|
||||
"floating point number, with dot, optional exponent
|
||||
sy match cscFloat contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
|
||||
"floating point number, starting with a dot, optional exponent
|
||||
sy match cscFloat contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
|
||||
"floating point number, without dot, with exponent
|
||||
sy match cscFloat contained "\d\+e[-+]\=\d\+[fl]\=\>"
|
||||
|
||||
sy region cscComment start="/\*" end="\*/" contains=@cscCommentGroup,cscSpaceE fold
|
||||
sy match cscCommentE "\*/"
|
||||
|
||||
sy keyword cscIfError IF ELSE ENDIF ELSEIF
|
||||
sy keyword cscCondition contained IF ELSE ENDIF ELSEIF
|
||||
sy keyword cscFunction contained VARPER VAR UDA TRUNCATE SYD SUMRANGE SUM
|
||||
sy keyword cscFunction contained STDDEVRANGE STDDEV SPARENTVAL SLN SIBLINGS SHIFT
|
||||
sy keyword cscFunction contained SANCESTVAL RSIBLINGS ROUND REMAINDER RELATIVE PTD
|
||||
sy keyword cscFunction contained PRIOR POWER PARENTVAL NPV NEXT MOD MINRANGE MIN
|
||||
sy keyword cscFunction contained MDSHIFT MDPARENTVAL MDANCESTVAL MAXRANGE MAX MATCH
|
||||
sy keyword cscFunction contained LSIBLINGS LEVMBRS LEV
|
||||
sy keyword cscFunction contained ISUDA ISSIBLING ISSAMELEV ISSAMEGEN ISPARENT ISMBR
|
||||
sy keyword cscFunction contained ISLEV ISISIBLING ISIPARENT ISIDESC ISICHILD ISIBLINGS
|
||||
sy keyword cscFunction contained ISIANCEST ISGEN ISDESC ISCHILD ISANCEST ISACCTYPE
|
||||
sy keyword cscFunction contained IRSIBLINGS IRR INTEREST INT ILSIBLINGS IDESCENDANTS
|
||||
sy keyword cscFunction contained ICHILDREN IANCESTORS IALLANCESTORS
|
||||
sy keyword cscFunction contained GROWTH GENMBRS GEN FACTORIAL DISCOUNT DESCENDANTS
|
||||
sy keyword cscFunction contained DECLINE CHILDREN CURRMBRRANGE CURLEV CURGEN
|
||||
sy keyword cscFunction contained COMPOUNDGROWTH COMPOUND AVGRANGE AVG ANCESTVAL
|
||||
sy keyword cscFunction contained ANCESTORS ALLANCESTORS ACCUM ABS
|
||||
sy keyword cscFunction contained @VARPER @VAR @UDA @TRUNCATE @SYD @SUMRANGE @SUM
|
||||
sy keyword cscFunction contained @STDDEVRANGE @STDDEV @SPARENTVAL @SLN @SIBLINGS @SHIFT
|
||||
sy keyword cscFunction contained @SANCESTVAL @RSIBLINGS @ROUND @REMAINDER @RELATIVE @PTD
|
||||
sy keyword cscFunction contained @PRIOR @POWER @PARENTVAL @NPV @NEXT @MOD @MINRANGE @MIN
|
||||
sy keyword cscFunction contained @MDSHIFT @MDPARENTVAL @MDANCESTVAL @MAXRANGE @MAX @MATCH
|
||||
sy keyword cscFunction contained @LSIBLINGS @LEVMBRS @LEV
|
||||
sy keyword cscFunction contained @ISUDA @ISSIBLING @ISSAMELEV @ISSAMEGEN @ISPARENT @ISMBR
|
||||
sy keyword cscFunction contained @ISLEV @ISISIBLING @ISIPARENT @ISIDESC @ISICHILD @ISIBLINGS
|
||||
sy keyword cscFunction contained @ISIANCEST @ISGEN @ISDESC @ISCHILD @ISANCEST @ISACCTYPE
|
||||
sy keyword cscFunction contained @IRSIBLINGS @IRR @INTEREST @INT @ILSIBLINGS @IDESCENDANTS
|
||||
sy keyword cscFunction contained @ICHILDREN @IANCESTORS @IALLANCESTORS
|
||||
sy keyword cscFunction contained @GROWTH @GENMBRS @GEN @FACTORIAL @DISCOUNT @DESCENDANTS
|
||||
sy keyword cscFunction contained @DECLINE @CHILDREN @CURRMBRRANGE @CURLEV @CURGEN
|
||||
sy keyword cscFunction contained @COMPOUNDGROWTH @COMPOUND @AVGRANGE @AVG @ANCESTVAL
|
||||
sy keyword cscFunction contained @ANCESTORS @ALLANCESTORS @ACCUM @ABS
|
||||
sy match cscFunction contained "@"
|
||||
sy match cscError "@\s*\a*" contains=cscFunction
|
||||
|
||||
sy match cscStatement "&"
|
||||
sy keyword cscStatement AGG ARRAY VAR CCONV CLEARDATA DATACOPY
|
||||
|
||||
sy match cscComE contained "^\s*CALC.*"
|
||||
sy match cscComE contained "^\s*CLEARBLOCK.*"
|
||||
sy match cscComE contained "^\s*SET.*"
|
||||
sy match cscComE contained "^\s*FIX"
|
||||
sy match cscComE contained "^\s*ENDFIX"
|
||||
sy match cscComE contained "^\s*ENDLOOP"
|
||||
sy match cscComE contained "^\s*LOOP"
|
||||
" sy keyword cscCom FIX ENDFIX LOOP ENDLOOP
|
||||
|
||||
sy match cscComW "^\s*CALC.*"
|
||||
sy match cscCom "^\s*CALC\s*ALL"
|
||||
sy match cscCom "^\s*CALC\s*AVERAGE"
|
||||
sy match cscCom "^\s*CALC\s*DIM"
|
||||
sy match cscCom "^\s*CALC\s*FIRST"
|
||||
sy match cscCom "^\s*CALC\s*LAST"
|
||||
sy match cscCom "^\s*CALC\s*TWOPASS"
|
||||
|
||||
sy match cscComW "^\s*CLEARBLOCK.*"
|
||||
sy match cscCom "^\s*CLEARBLOCK\s\+ALL"
|
||||
sy match cscCom "^\s*CLEARBLOCK\s\+UPPER"
|
||||
sy match cscCom "^\s*CLEARBLOCK\s\+NONINPUT"
|
||||
|
||||
sy match cscComW "^\s*\<SET.*"
|
||||
sy match cscCom "^\s*\<SET\s\+Commands"
|
||||
sy match cscCom "^\s*\<SET\s\+AGGMISSG"
|
||||
sy match cscCom "^\s*\<SET\s\+CACHE"
|
||||
sy match cscCom "^\s*\<SET\s\+CALCHASHTBL"
|
||||
sy match cscCom "^\s*\<SET\s\+CLEARUPDATESTATUS"
|
||||
sy match cscCom "^\s*\<SET\s\+FRMLBOTTOMUP"
|
||||
sy match cscCom "^\s*\<SET\s\+LOCKBLOCK"
|
||||
sy match cscCom "^\s*\<SET\s\+MSG"
|
||||
sy match cscCom "^\s*\<SET\s\+NOTICE"
|
||||
sy match cscCom "^\s*\<SET\s\+UPDATECALC"
|
||||
sy match cscCom "^\s*\<SET\s\+UPTOLOCAL"
|
||||
|
||||
sy keyword cscBPMacro contained !LoopOnAll !LoopOnLevel !LoopOnSelected
|
||||
sy keyword cscBPMacro contained !CurrentMember !LoopOnDimensions !CurrentDimension
|
||||
sy keyword cscBPMacro contained !CurrentOtherLoopDimension !LoopOnOtherLoopDimensions
|
||||
sy keyword cscBPMacro contained !EndLoop !AllMembers !SelectedMembers !If !Else !EndIf
|
||||
sy keyword cscBPMacro contained LoopOnAll LoopOnLevel LoopOnSelected
|
||||
sy keyword cscBPMacro contained CurrentMember LoopOnDimensions CurrentDimension
|
||||
sy keyword cscBPMacro contained CurrentOtherLoopDimension LoopOnOtherLoopDimensions
|
||||
sy keyword cscBPMacro contained EndLoop AllMembers SelectedMembers If Else EndIf
|
||||
sy match cscBPMacro contained "!"
|
||||
sy match cscBPW "!\s*\a*" contains=cscBPmacro
|
||||
|
||||
" when wanted, highlighting lhs members or erros in asignments (may lag the editing)
|
||||
if version >= 600 && exists("csc_asignment")
|
||||
sy match cscEqError '\("[^"]*"\s*\|[^][\t !%()*+,--/:;<=>{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)'
|
||||
sy region cscFormula transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition
|
||||
sy region cscFormulaIn matchgroup=cscVarName transparent start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\(->\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\)*\s*=\([^=]\@=\|$\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition contained
|
||||
sy match cscEq "=="
|
||||
endif
|
||||
|
||||
if !exists("csc_minlines")
|
||||
let csc_minlines = 50 " mostly for () constructs
|
||||
endif
|
||||
exec "sy sync ccomment cscComment minlines=" . csc_minlines
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_csc_syntax_inits")
|
||||
if version < 508
|
||||
let did_csc_syntax_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue
|
||||
|
||||
HiLink cscNumber Number
|
||||
HiLink cscOctal Number
|
||||
HiLink cscFloat Float
|
||||
HiLink cscParenE Error
|
||||
HiLink cscCommentE Error
|
||||
HiLink cscSpaceE Error
|
||||
HiLink cscError Error
|
||||
HiLink cscString String
|
||||
HiLink cscComment Comment
|
||||
HiLink cscTodo Todo
|
||||
HiLink cscStatement Statement
|
||||
HiLink cscIfError Error
|
||||
HiLink cscEqError Error
|
||||
HiLink cscFunction Statement
|
||||
HiLink cscCondition Statement
|
||||
HiLink cscWarn WarningMsg
|
||||
|
||||
HiLink cscComE Error
|
||||
HiLink cscCom Statement
|
||||
HiLink cscComW WarningMsg
|
||||
|
||||
HiLink cscBPMacro Identifier
|
||||
HiLink cscBPW WarningMsg
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "csc"
|
||||
|
||||
" vim: ts=8
|
Reference in New Issue
Block a user