Mercurial > vim
annotate runtime/syntax/papp.vim @ 33566:e1e3805fcd96 v9.0.2028
patch 9.0.2028: confusing build dependencies
Commit: https://github.com/vim/vim/commit/5d03525cdef5db1b1cedfa26c6f8a21aaa207ec0
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Sun Oct 15 09:50:53 2023 +0200
patch 9.0.2028: confusing build dependencies
Problem: confusing build dependencies
Solution: clean them up, make them parallelizable
Separate vim binary and unittest dependencies, make them parallelizable
Clean up make dependencies so Vim and unit test binaries only depend on
the object files they need. This fixes an existing issue where after
running unit tests, the Vim binary would be invalidated, which results
in it having to be linked again when running script tests, even though
Vim was already previously built.
Make link.sh (script we use to link those binaries) generate namespaced
temporary files for each app to avoid them colliding with each other.
This allows `unittesttargets` to be built in parallel.
These fixes are useful when using link-time-optimization as the link
phase could now take minutes rather than a few seconds.
closes: #13344
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 15 Oct 2023 10:00:03 +0200 |
parents | 43efa4f5a8ea |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file for the "papp" file format (_p_erl _app_lication) |
2 " | |
3 " Language: papp | |
4 " Maintainer: Marc Lehmann <pcg@goof.com> | |
2034 | 5 " Last Change: 2009 Nov 11 |
7 | 6 " Filenames: *.papp *.pxml *.pxsl |
7 " URL: http://papp.plan9.de/ | |
8 | |
9 " You can set the "papp_include_html" variable so that html will be | |
10 " rendered as such inside phtml sections (in case you actually put html | |
11 " there - papp does not require that). Also, rendering html tends to keep | |
12 " the clutter high on the screen - mixing three languages is difficult | |
13 " enough(!). PS: it is also slow. | |
14 | |
15 " pod is, btw, allowed everywhere, which is actually wrong :( | |
16 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
17 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
18 if exists("b:current_syntax") |
7 | 19 finish |
20 endif | |
21 | |
22 " source is basically xml, with included html (this is common) and perl bits | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
23 runtime! syntax/xml.vim |
7 | 24 unlet b:current_syntax |
25 | |
26 if exists("papp_include_html") | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
27 syn include @PAppHtml syntax/html.vim |
7 | 28 unlet b:current_syntax |
2034 | 29 syntax spell default " added by Bram |
7 | 30 endif |
31 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
32 syn include @PAppPerl syntax/perl.vim |
7 | 33 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
2034
diff
changeset
|
34 syn cluster xmlFoldCluster add=papp_perl,papp_xperl,papp_phtml,papp_pxml,papp_perlPOD |
7 | 35 |
36 " preprocessor commands | |
37 syn region papp_prep matchgroup=papp_prep start="^#\s*\(if\|elsif\)" end="$" keepend contains=@perlExpr contained | |
38 syn match papp_prep /^#\s*\(else\|endif\|??\).*$/ contained | |
39 " translation entries | |
40 syn region papp_gettext start=/__"/ end=/"/ contained contains=@papp_perlInterpDQ | |
41 syn cluster PAppHtml add=papp_gettext,papp_prep | |
42 | |
43 " add special, paired xperl, perl and phtml tags | |
44 syn region papp_perl matchgroup=xmlTag start="<perl>" end="</perl>" contains=papp_CDATAp,@PAppPerl keepend | |
45 syn region papp_xperl matchgroup=xmlTag start="<xperl>" end="</xperl>" contains=papp_CDATAp,@PAppPerl keepend | |
46 syn region papp_phtml matchgroup=xmlTag start="<phtml>" end="</phtml>" contains=papp_CDATAh,papp_ph_perl,papp_ph_html,papp_ph_hint,@PAppHtml keepend | |
47 syn region papp_pxml matchgroup=xmlTag start="<pxml>" end="</pxml>" contains=papp_CDATAx,papp_ph_perl,papp_ph_xml,papp_ph_xint keepend | |
48 syn region papp_perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,perlTodo keepend | |
49 | |
50 " cdata sections | |
51 syn region papp_CDATAp matchgroup=xmlCdataDecl start="<!\[CDATA\[" end="\]\]>" contains=@PAppPerl contained keepend | |
52 syn region papp_CDATAh matchgroup=xmlCdataDecl start="<!\[CDATA\[" end="\]\]>" contains=papp_ph_perl,papp_ph_html,papp_ph_hint,@PAppHtml contained keepend | |
53 syn region papp_CDATAx matchgroup=xmlCdataDecl start="<!\[CDATA\[" end="\]\]>" contains=papp_ph_perl,papp_ph_xml,papp_ph_xint contained keepend | |
54 | |
55 syn region papp_ph_perl matchgroup=Delimiter start="<[:?]" end="[:?]>"me=e-2 nextgroup=papp_ph_html contains=@PAppPerl contained keepend | |
56 syn region papp_ph_html matchgroup=Delimiter start=":>" end="<[:?]"me=e-2 nextgroup=papp_ph_perl contains=@PAppHtml contained keepend | |
57 syn region papp_ph_hint matchgroup=Delimiter start="?>" end="<[:?]"me=e-2 nextgroup=papp_ph_perl contains=@perlInterpDQ,@PAppHtml contained keepend | |
58 syn region papp_ph_xml matchgroup=Delimiter start=":>" end="<[:?]"me=e-2 nextgroup=papp_ph_perl contains= contained keepend | |
59 syn region papp_ph_xint matchgroup=Delimiter start="?>" end="<[:?]"me=e-2 nextgroup=papp_ph_perl contains=@perlInterpDQ contained keepend | |
60 | |
61 " synchronization is horrors! | |
62 syn sync clear | |
63 syn sync match pappSync grouphere papp_CDATAh "</\(perl\|xperl\|phtml\|macro\|module\)>" | |
64 syn sync match pappSync grouphere papp_CDATAh "^# *\(if\|elsif\|else\|endif\)" | |
65 syn sync match pappSync grouphere papp_CDATAh "</\(tr\|td\|table\|hr\|h1\|h2\|h3\)>" | |
66 syn sync match pappSync grouphere NONE "</\=\(module\|state\|macro\)>" | |
67 | |
68 syn sync maxlines=300 | |
69 syn sync minlines=5 | |
70 | |
71 " The default highlighting. | |
72 | |
73 hi def link papp_prep preCondit | |
74 hi def link papp_gettext String | |
75 | |
76 let b:current_syntax = "papp" |