1
0
Fork 0
mirror of https://github.com/vim/vim synced 2025-03-24 18:55:11 +01:00
vim/runtime/syntax/xdefaults.vim

135 lines
5.7 KiB
VimL
Raw Normal View History

2004-06-13 20:20:40 +00:00
" 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>
2007-05-05 17:54:07 +00:00
" Last Change: Di, 09 Mai 2006 23:10:23 CEST
2010-01-06 20:54:52 +01:00
" $Id: xdefaults.vim,v 1.2 2007/05/05 17:19:40 vimboss Exp $
2004-06-13 20:20:40 +00:00
"
" REFERENCES:
" xrdb manual page
" xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c
" quit when a syntax file was already loaded
if exists("b:current_syntax")
2004-06-13 20:20:40 +00:00
finish
endif
" turn case on
syn case match
if !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="$"
2012-05-18 13:46:39 +02:00
syn match xdefaultsLabel +^[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd
2004-06-13 20:20:40 +00:00
syn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd
syn 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 line
2007-05-05 17:54:07 +00:00
syn match xdefaultsComment "^!.*$" contains=xdefaultsTodo,@Spell
2004-06-13 20:20:40 +00:00
" 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=ALL
2007-05-05 17:54:07 +00:00
syn region xdefaultsComment start="/\*" end="\*/" contains=xdefaultsTodo,@Spell
2004-06-13 20:20:40 +00:00
syntax match xdefaultsCommentError "\*/"
syn keyword xdefaultsTodo contained TODO FIXME XXX display
" PREPROCESSOR STUFF
syn region xdefaultsPreProc start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbol
if !exists("xdefaults_no_if0")
syn region xdefaultsCppOut start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2
syn region xdefaultsCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkip
syn region xdefaultsCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkip
endif
syn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match xdefaultsIncluded contained "<[^>]*>"
syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded
2012-05-18 13:46:39 +02:00
syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip
syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue
syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue
2004-06-13 20:20:40 +00:00
" symbols as defined by xrdb
syn keyword xdefaultsSymbol contained SERVERHOST
syn match xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+"
syn keyword xdefaultsSymbol contained HOST
syn keyword xdefaultsSymbol contained DISPLAY_NUM
syn keyword xdefaultsSymbol contained CLIENTHOST
syn match xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+"
syn keyword xdefaultsSymbol contained RELEASE
syn keyword xdefaultsSymbol contained REVISION
syn keyword xdefaultsSymbol contained VERSION
syn keyword xdefaultsSymbol contained VENDOR
syn match xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+"
syn match xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+"
syn keyword xdefaultsSymbol contained NUM_SCREENS
syn keyword xdefaultsSymbol contained SCREEN_NUM
syn keyword xdefaultsSymbol contained BITS_PER_RGB
syn keyword xdefaultsSymbol contained CLASS
syn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor
syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)"
syn keyword xdefaultsSymbol contained COLOR
syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+"
syn keyword xdefaultsSymbol contained HEIGHT
syn keyword xdefaultsSymbol contained WIDTH
syn keyword xdefaultsSymbol contained PLANES
syn keyword xdefaultsSymbol contained X_RESOLUTION
syn keyword xdefaultsSymbol contained Y_RESOLUTION
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
command -nargs=+ HiLink hi def link <args>
HiLink xdefaultsLabel Type
HiLink xdefaultsValue Constant
HiLink xdefaultsComment Comment
HiLink xdefaultsCommentH xdefaultsComment
HiLink xdefaultsPreProc PreProc
HiLink xdefaultsInclude xdefaultsPreProc
HiLink xdefaultsCppSkip xdefaultsCppOut
HiLink xdefaultsCppOut2 xdefaultsCppOut
HiLink xdefaultsCppOut Comment
HiLink xdefaultsIncluded String
HiLink xdefaultsDefine Macro
HiLink xdefaultsSymbol Statement
HiLink xdefaultsSpecial Statement
HiLink xdefaultsErrorLine Error
HiLink xdefaultsCommentError Error
HiLink xdefaultsPunct Normal
HiLink xdefaultsLineEnd Special
HiLink xdefaultsTodo Todo
delcommand HiLink
2004-06-13 20:20:40 +00:00
let b:current_syntax = "xdefaults"
" vim:ts=8