Mercurial > vim
annotate runtime/syntax/desktop.vim @ 20324:23188ef99fc2 v8.2.0717
patch 8.2.0717: Vim9: postponed constant expressions does not scale
Commit: https://github.com/vim/vim/commit/7d131b071539e73e4f8a1e6ffbb4d7bfc69a57ec
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri May 8 19:10:34 2020 +0200
patch 8.2.0717: Vim9: postponed constant expressions does not scale
Problem: Vim9: postponed constant expressions does not scale.
Solution: Add a structure to pass around postponed constants.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 08 May 2020 19:15:03 +0200 |
parents | 46763b01cd9a |
children | 83cfa1ef1bf2 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: .desktop, .directory files | |
3 " according to freedesktop.org specification 0.9.4 | |
4 " http://pdx.freedesktop.org/Standards/desktop-entry-spec/desktop-entry-spec-0.9.4.html | |
5 " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) | |
8869
b73f9ed65072
commit https://github.com/vim/vim/commit/939a1abe935a539f2d4c90a56cb0682cbaf3bbb0
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
6 " Last Change: 2016 Apr 02 |
b73f9ed65072
commit https://github.com/vim/vim/commit/939a1abe935a539f2d4c90a56cb0682cbaf3bbb0
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
7 " (added "Keywords") |
7 | 8 " Version Info: desktop.vim 0.9.4-1.2 |
9 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
8869
diff
changeset
|
10 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
8869
diff
changeset
|
11 if exists("b:current_syntax") |
7 | 12 finish |
13 endif | |
14 | |
15 " This syntax file can be used to all *nix configuration files similar to dos | |
16 " ini format (eg. .xawtv, .radio, kde rc files) - this is default mode. But | |
17 " you can also enforce strict following of freedesktop.org standard for | |
18 " .desktop and .directory files . Set (eg. in vimrc) | |
19 " let enforce_freedesktop_standard = 1 | |
20 " and nonstandard extensions not following X- notation will not be highlighted. | |
21 if exists("enforce_freedesktop_standard") | |
22 let b:enforce_freedesktop_standard = 1 | |
23 else | |
24 let b:enforce_freedesktop_standard = 0 | |
25 endif | |
26 | |
27 " case on | |
28 syn case match | |
29 | |
30 " General | |
31 if b:enforce_freedesktop_standard == 0 | |
32 syn match dtNotStLabel "^.\{-}=\@=" nextgroup=dtDelim | |
33 endif | |
34 | |
35 syn match dtGroup /^\s*\[.*\]/ | |
36 syn match dtComment /^\s*#.*$/ | |
37 syn match dtDelim /=/ contained | |
38 | |
39 " Locale | |
40 syn match dtLocale /^\s*\<\(Name\|GenericName\|Comment\|SwallowTitle\|Icon\|UnmountIcon\)\>.*/ contains=dtLocaleKey,dtLocaleName,dtDelim transparent | |
41 syn keyword dtLocaleKey Name GenericName Comment SwallowTitle Icon UnmountIcon nextgroup=dtLocaleName containedin=dtLocale | |
42 syn match dtLocaleName /\(\[.\{-}\]\s*=\@=\|\)/ nextgroup=dtDelim containedin=dtLocale contained | |
43 | |
44 " Numeric | |
45 syn match dtNumeric /^\s*\<Version\>/ contains=dtNumericKey,dtDelim | |
46 syn keyword dtNumericKey Version nextgroup=dtDelim containedin=dtNumeric contained | |
47 | |
48 " Boolean | |
49 syn match dtBoolean /^\s*\<\(StartupNotify\|ReadOnly\|Terminal\|Hidden\|NoDisplay\)\>.*/ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent | |
50 syn keyword dtBooleanKey StartupNotify ReadOnly Terminal Hidden NoDisplay nextgroup=dtDelim containedin=dtBoolean contained | |
51 syn keyword dtBooleanValue true false containedin=dtBoolean contained | |
52 | |
53 " String | |
8869
b73f9ed65072
commit https://github.com/vim/vim/commit/939a1abe935a539f2d4c90a56cb0682cbaf3bbb0
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
54 syn match dtString /^\s*\<\(Encoding\|Icon\|Path\|Actions\|FSType\|MountPoint\|UnmountIcon\|URL\|Keywords\|Categories\|OnlyShowIn\|NotShowIn\|StartupWMClass\|FilePattern\|MimeType\)\>.*/ contains=dtStringKey,dtDelim transparent |
b73f9ed65072
commit https://github.com/vim/vim/commit/939a1abe935a539f2d4c90a56cb0682cbaf3bbb0
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
55 syn keyword dtStringKey Type Encoding TryExec Exec Path Actions FSType MountPoint URL Keywords Categories OnlyShowIn NotShowIn StartupWMClass FilePattern MimeType nextgroup=dtDelim containedin=dtString contained |
7 | 56 |
57 " Exec | |
58 syn match dtExec /^\s*\<\(Exec\|TryExec\|SwallowExec\)\>.*/ contains=dtExecKey,dtDelim,dtExecParam transparent | |
59 syn keyword dtExecKey Exec TryExec SwallowExec nextgroup=dtDelim containedin=dtExec contained | |
60 syn match dtExecParam /%[fFuUnNdDickv]/ containedin=dtExec contained | |
61 | |
62 " Type | |
63 syn match dtType /^\s*\<Type\>.*/ contains=dtTypeKey,dtDelim,dtTypeValue transparent | |
64 syn keyword dtTypeKey Type nextgroup=dtDelim containedin=dtType contained | |
65 syn keyword dtTypeValue Application Link FSDevice Directory containedin=dtType contained | |
66 | |
67 " X-Addition | |
68 syn match dtXAdd /^\s*X-.*/ contains=dtXAddKey,dtDelim transparent | |
69 syn match dtXAddKey /^\s*X-.\{-}\s*=\@=/ nextgroup=dtDelim containedin=dtXAdd contains=dtXLocale contained | |
70 | |
71 " Locale for X-Addition | |
72 syn match dtXLocale /\[.\{-}\]\s*=\@=/ containedin=dtXAddKey contained | |
73 | |
74 " Locale for all | |
75 syn match dtALocale /\[.\{-}\]\s*=\@=/ containedin=ALL | |
76 | |
77 | |
78 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
8869
diff
changeset
|
79 " Only when an item doesn't have highlighting yet |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
8869
diff
changeset
|
80 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
81 hi def link dtGroup Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
82 hi def link dtComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link dtDelim String |
7 | 84 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
85 hi def link dtLocaleKey Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
86 hi def link dtLocaleName Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
87 hi def link dtXLocale Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
88 hi def link dtALocale Identifier |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
8869
diff
changeset
|
89 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
90 hi def link dtNumericKey Type |
7 | 91 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
92 hi def link dtBooleanKey Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
93 hi def link dtBooleanValue Constant |
7 | 94 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
95 hi def link dtStringKey Type |
7 | 96 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
97 hi def link dtExecKey Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
98 hi def link dtExecParam Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
99 hi def link dtTypeKey Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
100 hi def link dtTypeValue Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
101 hi def link dtNotStLabel Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
102 hi def link dtXAddKey Type |
7 | 103 |
104 | |
105 let b:current_syntax = "desktop" | |
106 | |
107 " vim:ts=8 |