From b038d096e3f1fa2d40cb29831a3c931c107d8c02 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Tue, 14 Apr 2020 16:26:49 +0200 Subject: ekdosis.el: accept 'long' options --- ekdosis.el | 115 ++++++++++++++++++++++++++++--------------------------------- 1 file changed, 52 insertions(+), 63 deletions(-) (limited to 'ekdosis.el') diff --git a/ekdosis.el b/ekdosis.el index 0dafe94..bdf92a1 100644 --- a/ekdosis.el +++ b/ekdosis.el @@ -22,36 +22,39 @@ ;; . (defvar LaTeX-ekdosis-preamble-options - '(;; - ("parnotes" ("true" "false" "roman")) + '(("parnotes" ("true" "false" "roman")) ("teiexport" ("true" "false" "tidy")) - ("layout" ("float" "footins")) - ) + ("layout" ("float" "footins"))) "Package options for the ekdosis package.") (defun LaTeX-ekdosis-package-options () "Prompt for package options for ekdosis package." - (TeX-read-key-val t - (append LaTeX-ekdosis-preamble-options))) + (TeX-read-key-val t LaTeX-ekdosis-preamble-options)) + +(defun LaTeX-ekdosis-long-key-val (optional arg) + (let ((crm-local-completion-map + (remove (assoc 32 crm-local-completion-map) + crm-local-completion-map)) + (minibuffer-local-completion-map + (remove (assoc 32 minibuffer-local-completion-map) + minibuffer-local-completion-map))) + (TeX-argument-insert + (TeX-read-key-val optional arg) + optional))) (defvar LaTeX-ekdosis-declarewitness-options - '(;; - ("settlement") + '(("settlement") ("repository") ("msName") - ("origDate") - ) - "Local options.") + ("origDate")) + "List of local options for DeclareWitness macro.") (defvar LaTeX-ekdosis-app-options - '(;; - ("type") - ) - "Local options.") + '(("type")) + "Local option for app|note macro.") (defvar LaTeX-ekdosis-lem-options - '(;; - ("wit") + '(("wit") ("alt") ("pre") ("post") @@ -59,51 +62,42 @@ ("postwit") ("sep") ("nolem" ("true" "false")) - ("nosep" ("true" "false")) - ) - "Local options.") + ("nosep" ("true" "false"))) + "Local options for lem macro") (defvar LaTeX-ekdosis-rdg-options - '(;; - ("wit") + '(("wit") ("alt") ("pre") ("post") ("prewit") ("postwit") - ("nordg" ("true" "false")) - ) - "Local options.") + ("nordg" ("true" "false"))) + "Local options for rdg macro.") (defvar LaTeX-ekdosis-note-options - '(;; - ("type") + '(("type") ("lem") ("labelb") ("labele") ("sep") ("pre") - ("post") - ) - "Local options.") + ("post")) + "Local options for note macro.") (defvar LaTeX-ekdosis-note-star-options - '(;; - ("pre") - ("post") - ) - "Local options.") + '(("pre") + ("post")) + "Local options for note* macro.") (defvar LaTeX-ekdosis-alignment-key-val-options - '(;; - ("tcols") + '(("tcols") ("lcols") ("texts") ("apparatus") ("paired" ("true" "false")) - ("pagelineation" ("true" "false")) - ) - "Local options.") + ("pagelineation" ("true" "false"))) + "Local options for alignment env.") (TeX-add-style-hook "ekdosis" @@ -111,45 +105,40 @@ ;; Folding features: (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) '("{1}" ("app")) - ) + t) (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) '("{7}||{6}||{5}||{4}||{3}||{2}||{1}" ("lem")) - ) + t) (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) '("[r]" ("rdg")) - ) + t) (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list) '("[n]" ("note")) - ) + t) ;; This package relies on lualatex, so check for it: (TeX-check-engine-add-engines 'luatex) (TeX-add-symbols '("DeclareWitness" "xml:id" "rendition" "description" - [ (TeX-arg-key-val LaTeX-ekdosis-declarewitness-options) ] + [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-declarewitness-options ] 0) - '("app" [ (TeX-arg-key-val - LaTeX-ekdosis-app-options) ] + '("app" [ TeX-arg-key-val LaTeX-ekdosis-app-options ] t) - '("lem" [ (TeX-arg-key-val - LaTeX-ekdosis-lem-options) ] + '("lem" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-lem-options ] t) - '("rdg" [ (TeX-arg-key-val - LaTeX-ekdosis-rdg-options) ] + '("rdg" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-rdg-options ] t) - '("note" [ (TeX-arg-key-val - LaTeX-ekdosis-note-options) ] + '("note" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-note-options ] t) - '("note*" [ (TeX-arg-key-val - LaTeX-ekdosis-note-star-options) ] + '("note*" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-note-star-options ] t) - '("SetEkdosisAlignment" (TeX-arg-key-val - LaTeX-ekdosis-alignment-key-val-options)) - ) - (LaTeX-add-environments - "ekdosis" - '("alignment" LaTeX-env-args - [ TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options ] 0)) - ) + '("SetEkdosisAlignment" + TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options)) + (LaTeX-add-environments + "ekdosis" + '("alignment" LaTeX-env-args + [ TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options ] + )) + ) LaTeX-dialect) ;;; ekdosis.el ends here -- cgit v1.2.3