Mercurial > vim
view runtime/syntax/csc.vim @ 7724:87f3f9536ecf v7.4.1160
commit https://github.com/vim/vim/commit/bd4593ffb170230504500ddedabad3fad1f31291
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 23 22:51:07 2016 +0100
patch 7.4.1160
Problem: No error for jsondecode('"').
Solution: Give an error message for missing double quote.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 23 Jan 2016 23:00:06 +0100 |
parents | 91e53bcb7946 |
children | 43efa4f5a8ea |
line wrap: on
line source
" Vim syntax file " Language: Essbase script " Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net> " Last change: 2011 Dec 25 by Thilo Six " 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 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 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" let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=8