Mercurial > vim
annotate runtime/syntax/psf.vim @ 35714:f7c1a8e37c0b v9.1.0592
patch 9.1.0592: runtime: filetype: Mediawiki files are not recognized
Commit: https://github.com/vim/vim/commit/b5844104ab1259e061e023ea6259e4eb002e7170
Author: AvidSeeker <avidseeker7@protonmail.com>
Date: Tue Jul 16 21:10:50 2024 +0200
patch 9.1.0592: runtime: filetype: Mediawiki files are not recognized
Problem: filetype: Mediawiki files are not recognized
Solution: detect "*.mw" and "*.wiki" as mediawiki filetype,
include basic syntax and filetype plugins.
(AvidSeeker)
closes: #15266
Signed-off-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 17 Jul 2024 08:13:58 +0200 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Software Distributor product specification file | |
3 " (POSIX 1387.2-1995). | |
4 " Maintainer: Rex Barzee <rex_barzee@hp.com> | |
5 " Last change: 25 Apr 2001 | |
6 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
7 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
8 if exists("b:current_syntax") |
7 | 9 finish |
10 endif | |
11 | |
12 " Product specification files are case sensitive | |
13 syn case match | |
14 | |
15 syn keyword psfObject bundle category control_file depot distribution | |
16 syn keyword psfObject end file fileset host installed_software media | |
17 syn keyword psfObject product root subproduct vendor | |
18 | |
19 syn match psfUnquotString +[^"# ][^#]*+ contained | |
20 syn region psfQuotString start=+"+ skip=+\\"+ end=+"+ contained | |
21 | |
22 syn match psfObjTag "\<[-_+A-Z0-9a-z]\+\(\.[-_+A-Z0-9a-z]\+\)*" contained | |
23 syn match psfAttAbbrev ",\<\(fa\|fr\|[aclqrv]\)\(<\|>\|<=\|>=\|=\|==\)[^,]\+" contained | |
24 syn match psfObjTags "\<[-_+A-Z0-9a-z]\+\(\.[-_+A-Z0-9a-z]\+\)*\(\s\+\<[-_+A-Z0-9a-z]\+\(\.[-_+A-Z0-9a-z]\+\)*\)*" contained | |
25 | |
26 syn match psfNumber "\<\d\+\>" contained | |
27 syn match psfFloat "\<\d\+\>\(\.\<\d\+\>\)*" contained | |
28 | |
29 syn match psfLongDate "\<\d\d\d\d\d\d\d\d\d\d\d\d\.\d\d\>" contained | |
30 | |
31 syn keyword psfState available configured corrupt installed transient contained | |
32 syn keyword psfPState applied committed superseded contained | |
33 | |
34 syn keyword psfBoolean false true contained | |
35 | |
36 | |
37 "Some of the attributes covered by attUnquotString and attQuotString: | |
38 " architecture category_tag control_directory copyright | |
39 " create_date description directory file_permissions install_source | |
40 " install_type location machine_type mod_date number os_name os_release | |
41 " os_version pose_as_os_name pose_as_os_release readme revision | |
42 " share_link title vendor_tag | |
43 syn region psfAttUnquotString matchgroup=psfAttrib start=~^\s*[^# ]\+\s\+[^#" ]~rs=e-1 contains=psfUnquotString,psfComment end=~$~ keepend oneline | |
44 | |
45 syn region psfAttQuotString matchgroup=psfAttrib start=~^\s*[^# ]\+\s\+"~rs=e-1 contains=psfQuotString,psfComment skip=~\\"~ matchgroup=psfQuotString end=~"~ keepend | |
46 | |
47 | |
48 " These regions are defined in attempt to do syntax checking for some | |
49 " of the attributes. | |
50 syn region psfAttTag matchgroup=psfAttrib start="^\s*tag\s\+" contains=psfObjTag,psfComment end="$" keepend oneline | |
51 | |
52 syn region psfAttSpec matchgroup=psfAttrib start="^\s*\(ancestor\|applied_patches\|applied_to\|contents\|corequisites\|exrequisites\|prerequisites\|software_spec\|supersedes\|superseded_by\)\s\+" contains=psfObjTag,psfAttAbbrev,psfComment end="$" keepend | |
53 | |
54 syn region psfAttTags matchgroup=psfAttrib start="^\s*all_filesets\s\+" contains=psfObjTags,psfComment end="$" keepend | |
55 | |
56 syn region psfAttNumber matchgroup=psfAttrib start="^\s*\(compressed_size\|instance_id\|media_sequence_number\|sequence_number\|size\)\s\+" contains=psfNumber,psfComment end="$" keepend oneline | |
57 | |
58 syn region psfAttTime matchgroup=psfAttrib start="^\s*\(create_time\|ctime\|mod_time\|mtime\|timestamp\)\s\+" contains=psfNumber,psfComment end="$" keepend oneline | |
59 | |
60 syn region psfAttFloat matchgroup=psfAttrib start="^\s*\(data_model_revision\|layout_version\)\s\+" contains=psfFloat,psfComment end="$" keepend oneline | |
61 | |
62 syn region psfAttLongDate matchgroup=psfAttrib start="^\s*install_date\s\+" contains=psfLongDate,psfComment end="$" keepend oneline | |
63 | |
64 syn region psfAttState matchgroup=psfAttrib start="^\s*\(state\)\s\+" contains=psfState,psfComment end="$" keepend oneline | |
65 | |
66 syn region psfAttPState matchgroup=psfAttrib start="^\s*\(patch_state\)\s\+" contains=psfPState,psfComment end="$" keepend oneline | |
67 | |
68 syn region psfAttBoolean matchgroup=psfAttrib start="^\s*\(is_kernel\|is_locatable\|is_patch\|is_protected\|is_reboot\|is_reference\|is_secure\|is_sparse\)\s\+" contains=psfBoolean,psfComment end="$" keepend oneline | |
69 | |
70 syn match psfComment "#.*$" | |
71 | |
72 | |
73 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
74 " Only when an item doesn't have highlighting yet |
7 | 75 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
76 hi def link psfObject Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
77 hi def link psfAttrib Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
78 hi def link psfQuotString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
79 hi def link psfObjTag Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
80 hi def link psfAttAbbrev PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
81 hi def link psfObjTags Identifier |
7 | 82 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link psfComment Comment |
7 | 84 |
85 | |
86 " Long descriptions and copyrights confuse the syntax highlighting, so | |
87 " force vim to backup at least 100 lines before the top visible line | |
88 " looking for a sync location. | |
89 syn sync lines=100 | |
90 | |
91 let b:current_syntax = "psf" |