diff options
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/xindy.yaml')
-rw-r--r-- | Master/texmf-dist/scripts/arara/rules/xindy.yaml | 91 |
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.'); + } + } |