1" Vim syntax file
2" Language:         pinfo(1) configuration file
3" Maintainer:       Nikolai Weibull <now@bitwi.se>
4" Latest Revision:  2007-06-17
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13setlocal iskeyword+=-
14
15syn case ignore
16
17syn keyword pinfoTodo             contained FIXME TODO XXX NOTE
18
19syn region  pinfoComment          start='^#' end='$' contains=pinfoTodo,@Spell
20
21syn keyword pinfoOptions          MANUAL CUT-MAN-HEADERS CUT-EMPTY-MAN-LINES
22                                  \ RAW-FILENAME APROPOS
23                                  \ DONT-HANDLE-WITHOUT-TAG-TABLE HTTPVIEWER
24                                  \ FTPVIEWER MAILEDITOR PRINTUTILITY MANLINKS
25                                  \ INFOPATH MAN-OPTIONS STDERR-REDIRECTION
26                                  \ LONG-MANUAL-LINKS FILTER-0xB7
27                                  \ QUIT-CONFIRMATION QUIT-CONFIRM-DEFAULT
28                                  \ CLEAR-SCREEN-AT-EXIT CALL-READLINE-HISTORY
29                                  \ HIGHLIGHTREGEXP SAFE-USER SAFE-GROUP
30
31syn keyword pinfoColors           COL_NORMAL COL_TOPLINE COL_BOTTOMLINE
32                                  \ COL_MENU COL_MENUSELECTED COL_NOTE
33                                  \ COL_NOTESELECTED COL_URL COL_URLSELECTED
34                                  \ COL_INFOHIGHLIGHT COL_MANUALBOLD
35                                  \ COL_MANUALITALIC COL_SEARCHHIGHLIGHT
36
37syn keyword pinfoColorDefault     COLOR_DEFAULT
38syn keyword pinfoColorBold        BOLD
39syn keyword pinfoColorNoBold      NO_BOLD
40syn keyword pinfoColorBlink       BLINK
41syn keyword pinfoColorNoBlink     NO_BLINK
42syn keyword pinfoColorBlack       COLOR_BLACK
43syn keyword pinfoColorRed         COLOR_RED
44syn keyword pinfoColorGreen       COLOR_GREEN
45syn keyword pinfoColorYellow      COLOR_YELLOW
46syn keyword pinfoColorBlue        COLOR_BLUE
47syn keyword pinfoColorMagenta     COLOR_MAGENTA
48syn keyword pinfoColorCyan        COLOR_CYAN
49syn keyword pinfoColorWhite       COLOR_WHITE
50
51syn keyword pinfoKeys             KEY_TOTALSEARCH_1 KEY_TOTALSEARCH_2
52                                  \ KEY_SEARCH_1 KEY_SEARCH_2
53                                  \ KEY_SEARCH_AGAIN_1 KEY_SEARCH_AGAIN_2
54                                  \ KEY_GOTO_1 KEY_GOTO_2 KEY_PREVNODE_1
55                                  \ KEY_PREVNODE_2 KEY_NEXTNODE_1
56                                  \ KEY_NEXTNODE_2 KEY_UP_1 KEY_UP_2 KEY_END_1
57                                  \ KEY_END_2 KEY_PGDN_1 KEY_PGDN_2
58                                  \ KEY_PGDN_AUTO_1 KEY_PGDN_AUTO_2 KEY_HOME_1
59                                  \ KEY_HOME_2 KEY_PGUP_1 KEY_PGUP_2
60                                  \ KEY_PGUP_AUTO_1 KEY_PGUP_AUTO_2 KEY_DOWN_1
61                                  \ KEY_DOWN_2 KEY_TOP_1 KEY_TOP_2 KEY_BACK_1
62                                  \ KEY_BACK_2 KEY_FOLLOWLINK_1
63                                  \ KEY_FOLLOWLINK_2 KEY_REFRESH_1
64                                  \ KEY_REFRESH_2 KEY_SHELLFEED_1
65                                  \ KEY_SHELLFEED_2 KEY_QUIT_1 KEY_QUIT_2
66                                  \ KEY_GOLINE_1 KEY_GOLINE_2 KEY_PRINT_1
67                                  \ KEY_PRINT_2 KEY_DIRPAGE_1 KEY_DIRPAGE_2
68                                  \ KEY_TWODOWN_1 KEY_TWODOWN_2 KEY_TWOUP_1
69                                  \ KEY_TWOUP_2
70
71syn keyword pinfoSpecialKeys      KEY_BREAK KEY_DOWN KEY_UP KEY_LEFT KEY_RIGHT
72                                  \ KEY_DOWN KEY_HOME KEY_BACKSPACE KEY_NPAGE
73                                  \ KEY_PPAGE KEY_END KEY_IC KEY_DC
74syn region  pinfoSpecialKeys      matchgroup=pinfoSpecialKeys transparent
75                                  \ start=+KEY_\%(F\|CTRL\|ALT\)(+ end=+)+
76syn region  pinfoSimpleKey        start=+'+ skip=+\\'+ end=+'+
77                                  \ contains=pinfoSimpleKeyEscape
78syn match   pinfoSimpleKeyEscape  +\\[\\nt']+
79syn match   pinfoKeycode          '\<\d\+\>'
80
81syn keyword pinfoConstants        TRUE FALSE YES NO
82
83hi def link pinfoTodo             Todo
84hi def link pinfoComment          Comment
85hi def link pinfoOptions          Keyword
86hi def link pinfoColors           Keyword
87hi def link pinfoColorDefault     Normal
88hi def link pinfoSpecialKeys      SpecialChar
89hi def link pinfoSimpleKey        String
90hi def link pinfoSimpleKeyEscape  SpecialChar
91hi def link pinfoKeycode          Number
92hi def link pinfoConstants        Constant
93hi def link pinfoKeys             Keyword
94hi def      pinfoColorBold        cterm=bold
95hi def      pinfoColorNoBold      cterm=none
96hi def      pinfoColorBlink       cterm=inverse
97hi def      pinfoColorNoBlink     cterm=none
98hi def      pinfoColorBlack       ctermfg=Black       guifg=Black
99hi def      pinfoColorRed         ctermfg=DarkRed     guifg=DarkRed
100hi def      pinfoColorGreen       ctermfg=DarkGreen   guifg=DarkGreen
101hi def      pinfoColorYellow      ctermfg=DarkYellow  guifg=DarkYellow
102hi def      pinfoColorBlue        ctermfg=DarkBlue    guifg=DarkBlue
103hi def      pinfoColorMagenta     ctermfg=DarkMagenta guifg=DarkMagenta
104hi def      pinfoColorCyan        ctermfg=DarkCyan    guifg=DarkCyan
105hi def      pinfoColorWhite       ctermfg=LightGray   guifg=LightGray
106
107let b:current_syntax = "pinfo"
108
109let &cpo = s:cpo_save
110unlet s:cpo_save
111