annotate runtime/syntax/desktop.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: .desktop, .directory files
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " according to freedesktop.org specification 0.9.4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " http://pdx.freedesktop.org/Standards/desktop-entry-spec/desktop-entry-spec-0.9.4.html
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " Last Change: 2004 May 16
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " Version Info: desktop.vim 0.9.4-1.2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 " This syntax file can be used to all *nix configuration files similar to dos
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 " ini format (eg. .xawtv, .radio, kde rc files) - this is default mode. But
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 " you can also enforce strict following of freedesktop.org standard for
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 " .desktop and .directory files . Set (eg. in vimrc)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 " let enforce_freedesktop_standard = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 " and nonstandard extensions not following X- notation will not be highlighted.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 if exists("enforce_freedesktop_standard")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 let b:enforce_freedesktop_standard = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 let b:enforce_freedesktop_standard = 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 " case on
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 " General
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 if b:enforce_freedesktop_standard == 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn match dtNotStLabel "^.\{-}=\@=" nextgroup=dtDelim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn match dtGroup /^\s*\[.*\]/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn match dtComment /^\s*#.*$/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn match dtDelim /=/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 " Locale
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn match dtLocale /^\s*\<\(Name\|GenericName\|Comment\|SwallowTitle\|Icon\|UnmountIcon\)\>.*/ contains=dtLocaleKey,dtLocaleName,dtDelim transparent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn keyword dtLocaleKey Name GenericName Comment SwallowTitle Icon UnmountIcon nextgroup=dtLocaleName containedin=dtLocale
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn match dtLocaleName /\(\[.\{-}\]\s*=\@=\|\)/ nextgroup=dtDelim containedin=dtLocale contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 " Numeric
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match dtNumeric /^\s*\<Version\>/ contains=dtNumericKey,dtDelim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn keyword dtNumericKey Version nextgroup=dtDelim containedin=dtNumeric contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 " Boolean
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn match dtBoolean /^\s*\<\(StartupNotify\|ReadOnly\|Terminal\|Hidden\|NoDisplay\)\>.*/ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn keyword dtBooleanKey StartupNotify ReadOnly Terminal Hidden NoDisplay nextgroup=dtDelim containedin=dtBoolean contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn keyword dtBooleanValue true false containedin=dtBoolean contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 " String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match dtString /^\s*\<\(Encoding\|Icon\|Path\|Actions\|FSType\|MountPoint\|UnmountIcon\|URL\|Categories\|OnlyShowIn\|NotShowIn\|StartupWMClass\|FilePattern\|MimeType\)\>.*/ contains=dtStringKey,dtDelim transparent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn keyword dtStringKey Type Encoding TryExec Exec Path Actions FSType MountPoint URL Categories OnlyShowIn NotShowIn StartupWMClass FilePattern MimeType nextgroup=dtDelim containedin=dtString contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 " Exec
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 syn match dtExec /^\s*\<\(Exec\|TryExec\|SwallowExec\)\>.*/ contains=dtExecKey,dtDelim,dtExecParam transparent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn keyword dtExecKey Exec TryExec SwallowExec nextgroup=dtDelim containedin=dtExec contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn match dtExecParam /%[fFuUnNdDickv]/ containedin=dtExec contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 " Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 syn match dtType /^\s*\<Type\>.*/ contains=dtTypeKey,dtDelim,dtTypeValue transparent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn keyword dtTypeKey Type nextgroup=dtDelim containedin=dtType contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 syn keyword dtTypeValue Application Link FSDevice Directory containedin=dtType contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 " X-Addition
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 syn match dtXAdd /^\s*X-.*/ contains=dtXAddKey,dtDelim transparent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 syn match dtXAddKey /^\s*X-.\{-}\s*=\@=/ nextgroup=dtDelim containedin=dtXAdd contains=dtXLocale contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 " Locale for X-Addition
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn match dtXLocale /\[.\{-}\]\s*=\@=/ containedin=dtXAddKey contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 " Locale for all
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 syn match dtALocale /\[.\{-}\]\s*=\@=/ containedin=ALL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 if version >= 508 || !exists("did_desktop_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 let did_dosini_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 HiLink dtGroup Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 HiLink dtComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 HiLink dtDelim String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 HiLink dtLocaleKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 HiLink dtLocaleName Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 HiLink dtXLocale Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 HiLink dtALocale Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 HiLink dtNumericKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 HiLink dtBooleanKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 HiLink dtBooleanValue Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105 HiLink dtStringKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 HiLink dtExecKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 HiLink dtExecParam Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 HiLink dtTypeKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 HiLink dtTypeValue Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 HiLink dtNotStLabel Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 HiLink dtXAddKey Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 let b:current_syntax = "desktop"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 " vim:ts=8