summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/arara/rules/xindy.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/xindy.yaml')
-rw-r--r--Master/texmf-dist/scripts/arara/rules/xindy.yaml91
1 files changed, 91 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/arara/rules/xindy.yaml b/Master/texmf-dist/scripts/arara/rules/xindy.yaml
new file mode 100644
index 00000000000..a44dbbfd08c
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/xindy.yaml
@@ -0,0 +1,91 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2018, Paulo Roberto Massa Cereda
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: xindy
+name: Xindy
+authors:
+- Nicola Talbot
+- Paulo Cereda
+commands:
+- name: The Xindy software
+ command: >
+ @{
+ base = getBasename(file);
+ infile = base.concat('.').concat(input);
+ outfile = [ '-o', base.concat('.').concat(output) ];
+ logfile = [ '-t', base.concat('.').concat(log) ];
+ return getCommand('xindy', quiet, debug, markup, modules,
+ codepage, language, logfile, outfile, options, infile);
+ }
+arguments:
+- identifier: quiet
+ flag: >
+ @{
+ isTrue(parameters.quiet, '-q')
+ }
+- identifier: modules
+ flag: >
+ @{
+ elements = [];
+ if (isList(parameters.modules)) {
+ foreach (module : parameters.modules) {
+ elements.add('-M');
+ elements.add(module);
+ }
+ return elements;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+- identifier: codepage
+ flag: >
+ @{
+ [ '-C', parameters.codepage ]
+ }
+- identifier: language
+ flag: >
+ @{
+ [ '-L', parameters.language ]
+ }
+- identifier: markup
+ flag: >
+ @{
+ if ([ 'latex', 'xelatex', 'omega', 'xindy' ].contains(parameters.markup)) {
+ return [ '-I', parameters.markup ];
+ }
+ else {
+ throwError('The provided markup is invalid.');
+ }
+ }
+- identifier: input
+ flag: >
+ @{
+ parameters.input
+ }
+ default: idx
+- identifier: output
+ flag: >
+ @{
+ parameters.output
+ }
+ default: ind
+- identifier: log
+ flag: >
+ @{
+ parameters.log
+ }
+ default: ilg
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }