-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlib-common.m
65 lines (65 loc) · 1.37 KB
/
lib-common.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<#
# JQT macros
#
# Included in template and document expansion
#>&
<# Quote character, only for this file #>&
<%mode quote "\\">&
<#
# Usage: <%partial name arg...>
#
# Like include but passing (up to 8) parameters to the included file.
# Assume 'm' filename extension.
#>&
<%define partial
<%defeval _partial
<\%defeval _partial
<\%include "$1.m">
>
><%_partial><%_partial "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"><%undef _partial>
>&
<#
# Usage: <%shortcode name>... <%name arg...>
#
# Define name as a macro with contents of name.m as a body.
# Assume 'm' filename extension.
# Equivalent to: <%defeval name <%include name.m>>
#>&
<%define shortcode
<%defeval _shortcode
<\%defeval $1
<\%include "$1.m">
>
><%_shortcode><%undef _shortcode>
>&
<#
# Usage: <%scan text>
#
# Evaluate text with macro calls.
#>&
<%define scan
<%defeval _scan $1><%_scan><%undef _scan>
>&
<#
# Usage: <%call name arg...>
#
# Call a macro by name.
#>&
<%define call
<%defeval _call
<\%$1 "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9">
><%_call><%undef _call>
>&
<#
# Usage: <%append name text>
#
# Equivalent to: <%defeval name <%name>text.>
#>&
<%define append
<%defeval _append
<\%defeval $1 <%call $1>$2>
><%_append><%undef _append>
>&
<#
vim:ts=4:sw=4:ai:et:fileencoding=utf8:syntax=perl
#>&