Exheredludis/vim/syntax/paludis-output-conf.vim
2010-12-19 18:58:49 +00:00

87 lines
3.4 KiB
VimL

" Vim syntax file
" Language: Paludis output.conf files
" Author: Ciaran McCreesh
" Copyright: Copyright (c) 2010 Ciaran McCreesh
" Licence: You may redistribute this under the same terms as Vim itself
"
" Syntax highlighting for output.conf files.
"
if &compatible || v:version < 700
finish
endif
if exists("b:current_syntax")
finish
endif
syn region PaludisOutputConfComment start=/^\s*#/ end=/$/
syn region PaludisOutputConfKey start=/^\(\s*[^#]\)\@=/ end=/=\@=/
\ contains=PaludisOutputConfKnownKey
syn match PaludisOutputConfEquals /?\?=/ skipwhite
\ nextgroup=PaludisOutputConfValue
syn region PaludisOutputConfValue contained start=// end=/$/
\ contains=PaludisOutputConfString,PaludisOutputConfUnquoted,
\ PaludisOutputConfContinuation,PaludisOutputConfVariable,
\ PaludisOutputConfEnvVariable,
\ PaludisOutputConfMacro,PaludisOutputConfKnownValue
\ skipwhite
syn match PaludisOutputConfContinuation contained /\\$/
\ skipnl
syn match PaludisOutputConfUnquoted contained /[^ \t$%"'\\]\+/ skipwhite
syn region PaludisOutputConfString contained start=/"/ end=/"/
\ contains=PaludisOutputConfVariable,PaludisOutputConfMacro,
\ PaludisOutputConfEnvVariable
\ skipwhite
syn keyword PaludisOutputConfKnownKey contained
\ handler children messages_children type output_exclusivity
\ manager action ignore_unfetched if_success if_failure
\ child condition_variable if_true if_false if_unset
\ filename keep_on_empty keep_on_success summary_output_manager
\ format_debug format_info format_warn format_error format_log
\ summary_output_message start_command end_command
\ nothing_more_to_come_command succeeded_command
\ stdout_command stderr_command extra_message_managers
\ extra_output_managers log_path always_keep_output_logs
\ quiet stdout_children stderr_children format_status
syn keyword PaludisOutputConfKnownValue contained
\ buffer file format_messages forward_at_finish ipc tee standard command
syn match PaludisOutputConfVariable contained
\ /\$\({[^{}]\+}\|\(ENV{\)\@![a-zA-Z0-9_]\+\)/ skipwhite
syn match PaludisOutputConfEnvVariable contained
\ /\$\({ENV{[^{}]\+}}\|ENV{[a-zA-Z0-9_]\+}\)/ skipwhite
syn match PaludisOutputConfMacro contained
\ /%\({[^}]*}\|[a-zA-Z0-9_]\*\)/ skipwhite
syn region PaludisOutputConfSection start=/^\[/ end=/\]$/ skipwhite
\ contains=PaludisOutputConfSectionName
syn keyword PaludisOutputConfSectionName contained
\ rule manager
hi def link PaludisOutputConfKnownKey Keyword
hi def link PaludisOutputConfKnownValue Special
hi def link PaludisOutputConfString String
hi def link PaludisOutputConfUnquoted Constant
hi def link PaludisOutputConfVariable Identifier
hi def link PaludisOutputConfEnvVariable Statement
hi def link PaludisOutputConfMacro Macro
hi def link PaludisOutputConfContinuation Preproc
hi def link PaludisOutputConfComment Comment
hi def link PaludisOutputConfSection Type
hi def link PaludisOutputConfSectionName Special
let b:current_syntax = "paludis-repositories-conf"