/usr/share/vim/vim80/syntax/csc.vim is in vim-runtime 2:8.0.1453-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | " Vim syntax file
" Language: Essbase script
" Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net>
" Last change: 2011 Dec 25 by Thilo Six
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" 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 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.
" Only when an item doesn't have highlighting yet
hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue
hi def link cscNumber Number
hi def link cscOctal Number
hi def link cscFloat Float
hi def link cscParenE Error
hi def link cscCommentE Error
hi def link cscSpaceE Error
hi def link cscError Error
hi def link cscString String
hi def link cscComment Comment
hi def link cscTodo Todo
hi def link cscStatement Statement
hi def link cscIfError Error
hi def link cscEqError Error
hi def link cscFunction Statement
hi def link cscCondition Statement
hi def link cscWarn WarningMsg
hi def link cscComE Error
hi def link cscCom Statement
hi def link cscComW WarningMsg
hi def link cscBPMacro Identifier
hi def link cscBPW WarningMsg
let b:current_syntax = "csc"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8
|