aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2020-04-14 16:26:49 +0200
committerRobert Alessi <alessi@robertalessi.net>2020-04-14 16:26:49 +0200
commitb038d096e3f1fa2d40cb29831a3c931c107d8c02 (patch)
tree2b49667c147c34e508c9201d9cc7b59100050b7e
parent2fe6f673d4564ddbf5e731f9243de75246ef87bc (diff)
downloadekdosis-b038d096e3f1fa2d40cb29831a3c931c107d8c02.tar.gz
ekdosis.el: accept 'long' options
-rw-r--r--ekdosis.el115
1 files changed, 52 insertions, 63 deletions
diff --git a/ekdosis.el b/ekdosis.el
index 0dafe94..bdf92a1 100644
--- a/ekdosis.el
+++ b/ekdosis.el
@@ -22,36 +22,39 @@
22;; <http://www.gnu.org/licenses/>. 22;; <http://www.gnu.org/licenses/>.
23 23
24(defvar LaTeX-ekdosis-preamble-options 24(defvar LaTeX-ekdosis-preamble-options
25 '(;; 25 '(("parnotes" ("true" "false" "roman"))
26 ("parnotes" ("true" "false" "roman"))
27 ("teiexport" ("true" "false" "tidy")) 26 ("teiexport" ("true" "false" "tidy"))
28 ("layout" ("float" "footins")) 27 ("layout" ("float" "footins")))
29 )
30 "Package options for the ekdosis package.") 28 "Package options for the ekdosis package.")
31 29
32(defun LaTeX-ekdosis-package-options () 30(defun LaTeX-ekdosis-package-options ()
33 "Prompt for package options for ekdosis package." 31 "Prompt for package options for ekdosis package."
34 (TeX-read-key-val t 32 (TeX-read-key-val t LaTeX-ekdosis-preamble-options))
35 (append LaTeX-ekdosis-preamble-options))) 33
34(defun LaTeX-ekdosis-long-key-val (optional arg)
35 (let ((crm-local-completion-map
36 (remove (assoc 32 crm-local-completion-map)
37 crm-local-completion-map))
38 (minibuffer-local-completion-map
39 (remove (assoc 32 minibuffer-local-completion-map)
40 minibuffer-local-completion-map)))
41 (TeX-argument-insert
42 (TeX-read-key-val optional arg)
43 optional)))
36 44
37(defvar LaTeX-ekdosis-declarewitness-options 45(defvar LaTeX-ekdosis-declarewitness-options
38 '(;; 46 '(("settlement")
39 ("settlement")
40 ("repository") 47 ("repository")
41 ("msName") 48 ("msName")
42 ("origDate") 49 ("origDate"))
43 ) 50 "List of local options for DeclareWitness macro.")
44 "Local options.")
45 51
46(defvar LaTeX-ekdosis-app-options 52(defvar LaTeX-ekdosis-app-options
47 '(;; 53 '(("type"))
48 ("type") 54 "Local option for app|note macro.")
49 )
50 "Local options.")
51 55
52(defvar LaTeX-ekdosis-lem-options 56(defvar LaTeX-ekdosis-lem-options
53 '(;; 57 '(("wit")
54 ("wit")
55 ("alt") 58 ("alt")
56 ("pre") 59 ("pre")
57 ("post") 60 ("post")
@@ -59,51 +62,42 @@
59 ("postwit") 62 ("postwit")
60 ("sep") 63 ("sep")
61 ("nolem" ("true" "false")) 64 ("nolem" ("true" "false"))
62 ("nosep" ("true" "false")) 65 ("nosep" ("true" "false")))
63 ) 66 "Local options for lem macro")
64 "Local options.")
65 67
66(defvar LaTeX-ekdosis-rdg-options 68(defvar LaTeX-ekdosis-rdg-options
67 '(;; 69 '(("wit")
68 ("wit")
69 ("alt") 70 ("alt")
70 ("pre") 71 ("pre")
71 ("post") 72 ("post")
72 ("prewit") 73 ("prewit")
73 ("postwit") 74 ("postwit")
74 ("nordg" ("true" "false")) 75 ("nordg" ("true" "false")))
75 ) 76 "Local options for rdg macro.")
76 "Local options.")
77 77
78(defvar LaTeX-ekdosis-note-options 78(defvar LaTeX-ekdosis-note-options
79 '(;; 79 '(("type")
80 ("type")
81 ("lem") 80 ("lem")
82 ("labelb") 81 ("labelb")
83 ("labele") 82 ("labele")
84 ("sep") 83 ("sep")
85 ("pre") 84 ("pre")
86 ("post") 85 ("post"))
87 ) 86 "Local options for note macro.")
88 "Local options.")
89 87
90(defvar LaTeX-ekdosis-note-star-options 88(defvar LaTeX-ekdosis-note-star-options
91 '(;; 89 '(("pre")
92 ("pre") 90 ("post"))
93 ("post") 91 "Local options for note* macro.")
94 )
95 "Local options.")
96 92
97(defvar LaTeX-ekdosis-alignment-key-val-options 93(defvar LaTeX-ekdosis-alignment-key-val-options
98 '(;; 94 '(("tcols")
99 ("tcols")
100 ("lcols") 95 ("lcols")
101 ("texts") 96 ("texts")
102 ("apparatus") 97 ("apparatus")
103 ("paired" ("true" "false")) 98 ("paired" ("true" "false"))
104 ("pagelineation" ("true" "false")) 99 ("pagelineation" ("true" "false")))
105 ) 100 "Local options for alignment env.")
106 "Local options.")
107 101
108(TeX-add-style-hook 102(TeX-add-style-hook
109 "ekdosis" 103 "ekdosis"
@@ -111,45 +105,40 @@
111 ;; Folding features: 105 ;; Folding features:
112 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) 106 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
113 '("{1}" ("app")) 107 '("{1}" ("app"))
114 ) 108 t)
115 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) 109 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
116 '("{7}||{6}||{5}||{4}||{3}||{2}||{1}" ("lem")) 110 '("{7}||{6}||{5}||{4}||{3}||{2}||{1}" ("lem"))
117 ) 111 t)
118 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) 112 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
119 '("[r]" ("rdg")) 113 '("[r]" ("rdg"))
120 ) 114 t)
121 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) 115 (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
122 '("[n]" ("note")) 116 '("[n]" ("note"))
123 ) 117 t)
124 ;; This package relies on lualatex, so check for it: 118 ;; This package relies on lualatex, so check for it:
125 (TeX-check-engine-add-engines 'luatex) 119 (TeX-check-engine-add-engines 'luatex)
126 (TeX-add-symbols 120 (TeX-add-symbols
127 '("DeclareWitness" "xml:id" "rendition" "description" 121 '("DeclareWitness" "xml:id" "rendition" "description"
128 [ (TeX-arg-key-val LaTeX-ekdosis-declarewitness-options) ] 122 [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-declarewitness-options ]
129 0) 123 0)
130 '("app" [ (TeX-arg-key-val 124 '("app" [ TeX-arg-key-val LaTeX-ekdosis-app-options ]
131 LaTeX-ekdosis-app-options) ]
132 t) 125 t)
133 '("lem" [ (TeX-arg-key-val 126 '("lem" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-lem-options ]
134 LaTeX-ekdosis-lem-options) ]
135 t) 127 t)
136 '("rdg" [ (TeX-arg-key-val 128 '("rdg" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-rdg-options ]
137 LaTeX-ekdosis-rdg-options) ]
138 t) 129 t)
139 '("note" [ (TeX-arg-key-val 130 '("note" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-note-options ]
140 LaTeX-ekdosis-note-options) ]
141 t) 131 t)
142 '("note*" [ (TeX-arg-key-val 132 '("note*" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-note-star-options ]
143 LaTeX-ekdosis-note-star-options) ]
144 t) 133 t)
145 '("SetEkdosisAlignment" (TeX-arg-key-val 134 '("SetEkdosisAlignment"
146 LaTeX-ekdosis-alignment-key-val-options)) 135 TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options))
147 ) 136 (LaTeX-add-environments
148 (LaTeX-add-environments 137 "ekdosis"
149 "ekdosis" 138 '("alignment" LaTeX-env-args
150 '("alignment" LaTeX-env-args 139 [ TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options ]
151 [ TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options ] 0)) 140 ))
152 ) 141 )
153 LaTeX-dialect) 142 LaTeX-dialect)
154 143
155;;; ekdosis.el ends here 144;;; ekdosis.el ends here