" Vim syntax file " Language: bc - An arbitrary precision calculator language " Maintainer: Vladimir Scholtz " Last change: 2001 Sep 02 " Available on: www.gjh.sk/~vlado/bc.vim " 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 syn case ignore " Keywords syn keyword bcKeyword if else while for break continue return limits halt quit syn keyword bcKeyword define syn keyword bcKeyword length read sqrt print " Variable syn keyword bcType auto " Constant syn keyword bcConstant scale ibase obase last syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH " Any other stuff syn match bcIdentifier "[a-z_][a-z0-9_]*" " String syn match bcString "\"[^"]*\"" " Number syn match bcNumber "[0-9]\+" " Comment syn match bcComment "\#.*" syn region bcComment start="/\*" end="\*/" " Parent () syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll syn match bcParenError "]" syn match bcParenError ")" syn case match " 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_bc_syntax_inits") if version < 508 let did_bc_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink bcKeyword Statement HiLink bcType Type HiLink bcConstant Constant HiLink bcNumber Number HiLink bcComment Comment HiLink bcString String HiLink bcSpecialChar SpecialChar HiLink bcParenError Error delcommand HiLink endif let b:current_syntax = "bc" " vim: ts=8