Mercurial > vim
view runtime/syntax/udevrules.vim @ 7553:f0205ac9818f v7.4.1077
commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 10 14:35:58 2016 +0100
patch 7.4.1077
Problem: The build instructions for MS-Windows are incomplete.
Solution: Add explanations for how to build with various interfaces. (Ken
Takata)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 10 Jan 2016 14:45:04 +0100 |
parents | 8906c10ecbb0 |
children | 1218c5353e2b |
line wrap: on
line source
" Vim syntax file " Language: udev(8) rules file " Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2006-12-18 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " TODO: Line continuations. syn keyword udevrulesTodo contained TODO FIXME XXX NOTE syn region udevrulesComment display oneline start='^\s*#' end='$' \ contains=udevrulesTodo,@Spell syn keyword udevrulesRuleKey ACTION DEVPATH KERNEL SUBSYSTEM KERNELS \ SUBSYSTEMS DRIVERS RESULT \ nextgroup=udevrulesRuleTest \ skipwhite syn keyword udevrulesRuleKey ATTRS nextgroup=udevrulesAttrsPath syn region udevrulesAttrsPath display transparent \ matchgroup=udevrulesDelimiter start='{' \ matchgroup=udevrulesDelimiter end='}' \ contains=udevrulesPath \ nextgroup=udevrulesRuleTest \ skipwhite syn keyword udevrulesRuleKey ENV nextgroup=udevrulesEnvVar syn region udevrulesEnvVar display transparent \ matchgroup=udevrulesDelimiter start='{' \ matchgroup=udevrulesDelimiter end='}' \ contains=udevrulesVariable \ nextgroup=udevrulesRuleTest,udevrulesRuleEq \ skipwhite syn keyword udevrulesRuleKey PROGRAM RESULT \ nextgroup=udevrulesEStringTest,udevrulesEStringEq \ skipwhite syn keyword udevrulesAssignKey NAME SYMLINK OWNER GROUP RUN \ nextgroup=udevrulesEStringEq \ skipwhite syn keyword udevrulesAssignKey MODE LABEL GOTO WAIT_FOR_SYSFS \ nextgroup=udevrulesRuleEq \ skipwhite syn keyword udevrulesAssignKey ATTR nextgroup=udevrulesAttrsPath syn region udevrulesAttrKey display transparent \ matchgroup=udevrulesDelimiter start='{' \ matchgroup=udevrulesDelimiter end='}' \ contains=udevrulesKey \ nextgroup=udevrulesRuleEq \ skipwhite syn keyword udevrulesAssignKey IMPORT nextgroup=udevrulesImport, \ udevrulesEStringEq \ skipwhite syn region udevrulesImport display transparent \ matchgroup=udevrulesDelimiter start='{' \ matchgroup=udevrulesDelimiter end='}' \ contains=udevrulesImportType \ nextgroup=udevrulesEStringEq \ skipwhite syn keyword udevrulesImportType program file parent syn keyword udevrulesAssignKey OPTIONS \ nextgroup=udevrulesOptionsEq syn match udevrulesPath contained display '[^}]\+' syn match udevrulesVariable contained display '[^}]\+' syn match udevrulesRuleTest contained display '[=!:]=' \ nextgroup=udevrulesString skipwhite syn match udevrulesEStringTest contained display '[=!+:]=' \ nextgroup=udevrulesEString skipwhite syn match udevrulesRuleEq contained display '+=\|=\ze[^=]' \ nextgroup=udevrulesString skipwhite syn match udevrulesEStringEq contained '+=\|=\ze[^=]' \ nextgroup=udevrulesEString skipwhite syn match udevrulesOptionsEq contained '+=\|=\ze[^=]' \ nextgroup=udevrulesOptions skipwhite syn region udevrulesEString contained display oneline start=+"+ end=+"+ \ contains=udevrulesStrEscapes,udevrulesStrVars syn match udevrulesStrEscapes contained '%[knpbMmcPrN%]' " TODO: This can actually stand alone (without {…}), so add a nextgroup here. syn region udevrulesStrEscapes contained start='%c{' end='}' \ contains=udevrulesStrNumber syn region udevrulesStrEscapes contained start='%s{' end='}' \ contains=udevrulesPath syn region udevrulesStrEscapes contained start='%E{' end='}' \ contains=udevrulesVariable syn match udevrulesStrNumber contained '\d\++\=' syn match udevrulesStrVars contained display '$\%(kernel\|number\|devpath\|id\|major\|minor\|result\|parent\|root\|tempnode\)\>' syn region udevrulesStrVars contained start='$attr{' end='}' \ contains=udevrulesPath syn region udevrulesStrVars contained start='$env{' end='}' \ contains=udevrulesVariable syn match udevrulesStrVars contained display '\$\$' syn region udevrulesString contained display oneline start=+"+ end=+"+ \ contains=udevrulesPattern syn match udevrulesPattern contained '[*?]' syn region udevrulesPattern contained start='\[!\=' end='\]' \ contains=udevrulesPatRange syn match udevrulesPatRange contained '[^[-]-[^]-]' syn region udevrulesOptions contained display oneline start=+"+ end=+"+ \ contains=udevrulesOption,udevrulesOptionSep syn keyword udevrulesOption contained last_rule ignore_device ignore_remove \ all_partitions syn match udevrulesOptionSep contained ',' hi def link udevrulesTodo Todo hi def link udevrulesComment Comment hi def link udevrulesRuleKey Keyword hi def link udevrulesDelimiter Delimiter hi def link udevrulesAssignKey Identifier hi def link udevrulesPath Identifier hi def link udevrulesVariable Identifier hi def link udevrulesAttrKey Identifier " XXX: setting this to Operator makes for extremely intense highlighting. hi def link udevrulesEq Normal hi def link udevrulesRuleEq udevrulesEq hi def link udevrulesEStringEq udevrulesEq hi def link udevrulesOptionsEq udevrulesEq hi def link udevrulesEString udevrulesString hi def link udevrulesStrEscapes SpecialChar hi def link udevrulesStrNumber Number hi def link udevrulesStrVars Identifier hi def link udevrulesString String hi def link udevrulesPattern SpecialChar hi def link udevrulesPatRange SpecialChar hi def link udevrulesOptions udevrulesString hi def link udevrulesOption Type hi def link udevrulesOptionSep Delimiter hi def link udevrulesImportType Type let b:current_syntax = "udevrules" let &cpo = s:cpo_save unlet s:cpo_save