branch: externals/auctex
commit accfe51586abdd0d79e6bcd690ad9d3d7b37377f
Author: Arash Esbati <[email protected]>
Commit: Arash Esbati <[email protected]>
Add new style/xr-hyper.el
* Makefile.in (STYLESRC): Add new style.
* style/xr-hyper.el: New file.
---
Makefile.in | 2 +-
style/xr-hyper.el | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index e4f2fa1..2dc244e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -174,7 +174,7 @@ STYLESRC = style/prosper.el \
style/appendix.el style/scholax.el style/extramarks.el \
style/truncate.el style/changes.el style/footnotehyper.el \
style/brazil.el style/brazilian.el style/portuguese.el \
- style/portuges.el style/backref.el
+ style/portuges.el style/backref.el style/xr-hyper.el
STYLEELC = $(STYLESRC:.el=.elc)
diff --git a/style/xr-hyper.el b/style/xr-hyper.el
new file mode 100644
index 0000000..472d028
--- /dev/null
+++ b/style/xr-hyper.el
@@ -0,0 +1,73 @@
+;;; xr-hyper.el --- AUCTeX style for `xr-hyper.sty' -*- lexical-binding: t;
-*-
+
+;; Copyright (C) 2021 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <[email protected]>
+;; Maintainer: [email protected]
+;; Created: 2021-10-05
+;; 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 Street, Fifth Floor, Boston,
+;; MA 02110-1301 USA.
+
+;;; Commentary:
+
+;; This file adds support for `xr-hyper.sty' v7.00m form 2021-06-07.
+;; RefTeX has good support for referencing external \label's, so it
+;; should be used.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(TeX-add-style-hook
+ "xr-hyper"
+ (lambda ()
+ (TeX-add-symbols
+ '("externaldocument"
+ ["Prefix"]
+ [TeX-arg-eval completing-read
+ (TeX-argument-prompt t nil "Cite option")
+ '("nocite")]
+ ;; Act like \include and not like \input:
+ (TeX-arg-input-file "File" t)
+ ["Final file"])
+
+ '("externalcitedocument"
+ ["Prefix"]
+ ;; Act like \include and not like \input:
+ (TeX-arg-input-file "File" t)
+ ["Final file"]))
+
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(("externaldocument" "[[{[")
+ ("externalcitedocument" "[[{["))
+ 'reference)))
+ TeX-dialect)
+
+(defvar LaTeX-xr-hyper-package-options nil
+ "Package options for the xr-hyper package.")
+
+;;; xr-hyper.el ends here