summaryrefslogtreecommitdiff
path: root/runtime/syntax/grub.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/grub.vim')
-rw-r--r--runtime/syntax/grub.vim156
1 files changed, 86 insertions, 70 deletions
diff --git a/runtime/syntax/grub.vim b/runtime/syntax/grub.vim
index e87a8d93e..2e04d87bf 100644
--- a/runtime/syntax/grub.vim
+++ b/runtime/syntax/grub.vim
@@ -1,77 +1,93 @@
" Vim syntax file
-" Language: GRUB Configuration File
-" Maintainer: Nikolai Weibull <source@pcppopper.org>
-" URL: http://www.pcppopper.org/vim/syntax/pcp/grub/
-" Latest Revision: 2004-05-06
-" arch-tag: 7a56ddd0-e551-44bc-b8c0-235fedbdf3c0
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
+" Language: grub(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-29
+
+if exists("b:current_syntax")
finish
endif
-" comments
-syn region grubComment display oneline start="^#" end="$" contains=grubTodo
-
-" todo
-syn keyword grubTodo contained TODO FIXME XXX NOTE
-
-" devices
-syn match grubDevice display "(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)"
-
-" block lists
-syn match grubBlock display "\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*"
-
-" numbers
-syn match grubNumbers display "+\=\<\d\+\|0x\x\+\>"
-
-syn match grubBegin display "^" nextgroup=grubCommand,grubComment skipwhite
-
-" menu commands
-syn keyword grubCommand contained default fallback hiddenmenu timeout title
-
-" general commands
-syn keyword grubCommand contained bootp color device dhcp hide ifconfig pager
-syn keyword grubCommand contained partnew parttype password rarp serial setkey
-syn keyword grubCommand contained terminal tftpserver unhide blocklist boot cat
-syn keyword grubCommand contained chainloader cmp configfile debug displayapm
-syn keyword grubCommand contained displaymem embed find fstest geometry halt help
-syn keyword grubCommand contained impsprobe initrd install ioprobe kernel lock
-syn keyword grubCommand contained makeactive map md5crypt module modulenounzip pause
-syn keyword grubCommand contained quit reboot read root rootnoverify savedefault
-syn keyword grubCommand contained setup testload testvbe uppermem vbeprobe
-
-" colors
-syn match grubColor "\(blink-\)\=\(black\|blue\|green\|cyan\|red\|magenta\|brown\|yellow\|white\)"
-syn match grubColor "\<\(blink-\)\=light-\(gray\|blue\|green\|cyan\|red\|magenta\)"
-syn match grubColor "\<\(blink-\)\=dark-gray"
-
-" specials
-syn keyword grubSpecial saved
-
-" 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_grub_syn_inits")
- if version < 508
- let did_grub_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink grubComment Comment
- HiLink grubTodo Todo
- HiLink grubNumbers Number
- HiLink grubDevice Identifier
- HiLink grubBlock Identifier
- HiLink grubCommand Keyword
- HiLink grubColor Identifier
- HiLink grubSpecial Special
- delcommand HiLink
-endif
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword grubTodo contained TODO FIXME XXX NOTE
+
+syn region grubComment display oneline start='^#' end='$'
+ \ contains=grubTodo,@Spell
+
+syn match grubDevice display
+ \ '(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)'
+
+syn match grubBlock display '\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*'
+
+syn match grubNumbers display '+\=\<\d\+\|0x\x\+\>'
+
+syn match grubBegin display '^'
+ \ nextgroup=@grubCommands,grubComment skipwhite
+
+syn cluster grubCommands contains=grubCommand,grubTitleCommand
+
+syn keyword grubCommand contained default fallback hiddenmenu timeout
+
+syn keyword grubTitleCommand contained title nextgroup=grubTitle skipwhite
+
+syn match grubTitle contained display '.*'
+
+syn keyword grubCommand contained bootp color device dhcp hide ifconfig
+ \ pager partnew parttype password rarp serial setkey
+ \ terminal tftpserver unhide blocklist boot cat
+ \ chainloader cmp configfile debug displayapm
+ \ displaymem embed find fstest geometry halt help
+ \ impsprobe initrd install ioprobe kernel lock
+ \ makeactive map md5crypt module modulenounzip pause
+ \ quit reboot read root rootnoverify savedefault setup
+ \ testload testvbe uppermem vbeprobe
+
+syn keyword grubSpecial saved
+
+syn match grubBlink display 'blink-'
+syn keyword grubBlack black
+syn keyword grubBlue blue
+syn keyword grubGreen green
+syn keyword grubRed red
+syn keyword grubMagenta magenta
+syn keyword grubBrown brown yellow
+syn keyword grubWhite white
+syn match grubLightGray display 'light-gray'
+syn match grubLightBlue display 'light-blue'
+syn match grubLightGreen display 'light-green'
+syn match grubLightCyan display 'light-cyan'
+syn match grubLightRed display 'light-red'
+syn match grubLightMagenta display 'light-magenta'
+syn match grubDarkGray display 'dark-gray'
+
+hi def link grubComment Comment
+hi def link grubTodo Todo
+hi def link grubNumbers Number
+hi def link grubDevice Identifier
+hi def link grubBlock Identifier
+hi def link grubCommand Keyword
+hi def link grubTitleCommand grubCommand
+hi def link grubTitle String
+hi def link grubSpecial Special
+
+hi def grubBlink cterm=inverse
+hi def grubBlack ctermfg=Black ctermbg=White guifg=Black guibg=White
+hi def grubBlue ctermfg=DarkBlue guifg=DarkBlue
+hi def grubGreen ctermfg=DarkGreen guifg=DarkGreen
+hi def grubRed ctermfg=DarkRed guifg=DarkRed
+hi def grubMagenta ctermfg=DarkMagenta guifg=DarkMagenta
+hi def grubBrown ctermfg=Brown guifg=Brown
+hi def grubWhite ctermfg=White ctermbg=Black guifg=White guibg=Black
+hi def grubLightGray ctermfg=LightGray guifg=LightGray
+hi def grubLightBlue ctermfg=LightBlue guifg=LightBlue
+hi def grubLightGreen ctermfg=LightGreen guifg=LightGreen
+hi def grubLightCyan ctermfg=LightCyan guifg=LightCyan
+hi def grubLightRed ctermfg=LightRed guifg=LightRed
+hi def grubLightMagenta ctermfg=LightMagenta guifg=LightMagenta
+hi def grubDarkGray ctermfg=DarkGray guifg=DarkGray
let b:current_syntax = "grub"
-" vim: set sts=2 sw=2:
+let &cpo = s:cpo_save
+unlet s:cpo_save