" Vim syntax file" Language: X resources files like ~/.Xdefaults (xrdb)" Maintainer: Johannes Zellner <johannes@zellner.org>" Author and previous maintainer:" Gautam H. Mudunuri <gmudunur@informatica.com>" Last Change: Tue, 27 Apr 2004 14:54:59 CEST" $Id: xdefaults.vim,v 1.1 2004/07/13 23:27:59 korli Exp $"" REFERENCES:" xrdb manual page" xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600syntax clearelseif exists("b:current_syntax")finishendif" turn case onsyn case matchif !exists("xdefaults_no_colon_errors")" mark lines which do not contain a colon as errors." This does not really catch all errors but only lines" which contain at least two WORDS and no colon. This" was done this way so that a line is not marked as" error while typing (which would be annoying).syntax match xdefaultsErrorLine "^\s*[a-zA-Z.*]\+\s\+[^: ]\+"endif" syn region xdefaultsLabel start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$"syn match xdefaultsLabel +[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEndsyn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEndsyn match xdefaultsSpecial contained +#override+syn match xdefaultsSpecial contained +#augment+syn match xdefaultsPunct contained +[.*:]+syn match xdefaultsLineEnd contained +\\$+syn match xdefaultsLineEnd contained +\\n\\$+syn match xdefaultsLineEnd contained +\\n$+" COMMENTS" note, that the '!' must be at the very first position of the linesyn match xdefaultsComment "^!.*$" contains=xdefaultsTodo" lines starting with a '#' mark and which are not preprocessor" lines are skipped. This is not part of the xrdb documentation." It was reported by Bram Moolenaar and could be confirmed by" having a look at xrdb.c:GetEntries()syn match xdefaultsCommentH "^#.*$""syn region xdefaultsComment start="^#" end="$" keepend contains=ALLsyn region xdefaultsComment start="/\*" end="\*/" contains=xdefaultsTodosyntax match xdefaultsCommentError "\*/"syn keyword xdefaultsTodo contained TODO FIXME XXX display" PREPROCESSOR STUFFsyn region xdefaultsPreProc start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbolif !exists("xdefaults_no_if0")syn region xdefaultsCppOut start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2syn region xdefaultsCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkipsyn region xdefaultsCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkipendifsyn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+syn match xdefaultsIncluded contained "<[^>]*>"syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncludedsyn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefinesyn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLinesyn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine" symbols as defined by xrdbsyn keyword xdefaultsSymbol contained SERVERHOSTsyn match xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+"syn keyword xdefaultsSymbol contained HOSTsyn keyword xdefaultsSymbol contained DISPLAY_NUMsyn keyword xdefaultsSymbol contained CLIENTHOSTsyn match xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+"syn keyword xdefaultsSymbol contained RELEASEsyn keyword xdefaultsSymbol contained REVISIONsyn keyword xdefaultsSymbol contained VERSIONsyn keyword xdefaultsSymbol contained VENDORsyn match xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+"syn match xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+"syn keyword xdefaultsSymbol contained NUM_SCREENSsyn keyword xdefaultsSymbol contained SCREEN_NUMsyn keyword xdefaultsSymbol contained BITS_PER_RGBsyn keyword xdefaultsSymbol contained CLASSsyn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColorsyn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)"syn keyword xdefaultsSymbol contained COLORsyn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+"syn keyword xdefaultsSymbol contained HEIGHTsyn keyword xdefaultsSymbol contained WIDTHsyn keyword xdefaultsSymbol contained PLANESsyn keyword xdefaultsSymbol contained X_RESOLUTIONsyn keyword xdefaultsSymbol contained Y_RESOLUTION" 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 yetif version >= 508 || !exists("did_xdefaults_syntax_inits")if version < 508let did_xdefaults_syntax_inits = 1command -nargs=+ HiLink hi link <args>elsecommand -nargs=+ HiLink hi def link <args>endifHiLink xdefaultsLabel TypeHiLink xdefaultsValue ConstantHiLink xdefaultsComment CommentHiLink xdefaultsCommentH xdefaultsCommentHiLink xdefaultsPreProc PreProcHiLink xdefaultsInclude xdefaultsPreProcHiLink xdefaultsCppSkip xdefaultsCppOutHiLink xdefaultsCppOut2 xdefaultsCppOutHiLink xdefaultsCppOut CommentHiLink xdefaultsIncluded StringHiLink xdefaultsDefine MacroHiLink xdefaultsSymbol StatementHiLink xdefaultsSpecial StatementHiLink xdefaultsErrorLine ErrorHiLink xdefaultsCommentError ErrorHiLink xdefaultsPunct NormalHiLink xdefaultsLineEnd SpecialHiLink xdefaultsTodo Tododelcommand HiLinkendiflet b:current_syntax = "xdefaults"" vim:ts=8