summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/arabxetex.el
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-05-17 07:07:37 -0400
committermattkae <mattkae@protonmail.com>2022-05-17 07:07:37 -0400
commitbecff06c71d277647eda4378203d03ab36e141eb (patch)
treea1f73bba3676f34e0faf76764f5de963321f5576 /elpa/auctex-13.1.3/style/arabxetex.el
parent3f4a0d5370ae6c34afe180df96add3b8522f4af1 (diff)
Evil mode and latex support
Diffstat (limited to 'elpa/auctex-13.1.3/style/arabxetex.el')
-rw-r--r--elpa/auctex-13.1.3/style/arabxetex.el121
1 files changed, 121 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/arabxetex.el b/elpa/auctex-13.1.3/style/arabxetex.el
new file mode 100644
index 0000000..897b9cd
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/arabxetex.el
@@ -0,0 +1,121 @@
+;;; arabxetex.el --- AUCTeX style for `arabxetex.sty' (v1.2.1) -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2017--2021 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2017-08-12
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `arabxetex.sty' (v1.2.1) from 2015/09/04.
+;; `arabxetex.sty' is part of TeXLive.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(TeX-add-style-hook
+ "arabxetex"
+ (lambda ()
+
+ ;; Run the style hooks for packages required by arabxetex:
+ (TeX-run-style-hooks "amsmath" "fontspec" "bidi")
+
+ ;; We need xelatex, so check for the engine here:
+ (TeX-check-engine-add-engines 'xetex)
+
+ ;; New macros & environments:
+ (let ((langs '("arab"
+ "farsi" "persian"
+ "urdu"
+ "sindhi"
+ "pashto"
+ "ottoman" "turk"
+ "kurdisch"
+ "kashmiri"
+ "malay" "jawi"
+ "uighur")))
+ ;; Add \text<language>[option]{...}
+ (mapc #'TeX-add-symbols
+ (mapcar
+ (lambda (symbol)
+ (list symbol
+ [ TeX-arg-eval completing-read
+ (TeX-argument-prompt t nil "Mode")
+ LaTeX-arabxetex-package-options ]
+ t))
+ (mapcar (lambda (lang) (concat "text" lang)) langs)))
+ ;;
+ ;; Add \begin{<language>}[option] ... \end{<language>}
+ (mapc #'LaTeX-add-environments
+ (mapcar
+ (lambda (environment)
+ (list environment
+ #'LaTeX-env-args
+ [ TeX-arg-eval completing-read
+ (TeX-argument-prompt t nil "Mode")
+ LaTeX-arabxetex-package-options ]))
+ langs))
+ ;;
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords (mapcar (lambda (lang)
+ (list (concat "text" lang) "[{"))
+ langs)
+ 'textual)))
+
+ ;; Other macros:
+ (TeX-add-symbols
+ '("textLR" t)
+ '("aemph" t)
+
+ ;; 3.3 Transliteration
+ '("SetTranslitConvention"
+ (TeX-arg-eval completing-read
+ (TeX-argument-prompt nil nil "Mapping")
+ '("dmg" "loc")))
+ '("SetTranslitStyle" "Style"))
+
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(("textLR" "{"))
+ 'textual)
+ (font-latex-add-keywords '(("aemph" "{"))
+ 'italic-command)
+ (font-latex-add-keywords '(("SetTranslitConvention" "{")
+ ("SetTranslitStyle" "{"))
+ 'function)))
+ TeX-dialect)
+
+(defvar LaTeX-arabxetex-package-options
+ '("novoc" "voc" "fullvoc" "trans" "utf")
+ "Package options for the arabxetex package.")
+
+;;; arabxetex.el ends here