summaryrefslogtreecommitdiff
path: root/support/arara/scripts/rules/context.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'support/arara/scripts/rules/context.yaml')
-rw-r--r--support/arara/scripts/rules/context.yaml171
1 files changed, 171 insertions, 0 deletions
diff --git a/support/arara/scripts/rules/context.yaml b/support/arara/scripts/rules/context.yaml
new file mode 100644
index 0000000000..5b8546486e
--- /dev/null
+++ b/support/arara/scripts/rules/context.yaml
@@ -0,0 +1,171 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: context
+name: ConTeXt
+authors:
+- Island of TeX
+commands:
+- name: ConTeXt engine
+ command: >
+ @{
+ return getCommand('context', make, ctx, interface, autopdf, purge,
+ modules, environments, mode, path, arguments,
+ trackers, directives, silent, errors, interaction,
+ synctex, options, reference);
+ }
+arguments:
+- identifier: make
+ flag: >
+ @{
+ return isTrue(parameters.make, '--make');
+ }
+- identifier: ctx
+ flag: >
+ @{
+ return '--ctx='.concat(parameters.ctx);
+ }
+- identifier: interface
+ flag: >
+ @{
+ return [ '--interface', parameters.interface ];
+ }
+- identifier: autopdf
+ flag: >
+ @{
+ return isTrue(parameters.autopdf, '--autopdf');
+ }
+- identifier: purge
+ flag: >
+ @{
+ p = [ 'partial' : '--purge', 'all' : '--purgeall',
+ 'result' : '--purgeresult' ];
+ if (p.keySet().contains(parameters.purge)) {
+ return p.get(parameters.purge);
+ }
+ else {
+ throwError('Invalid value, expected either partial or all.');
+ }
+ }
+- identifier: modules
+ flag: >
+ @{
+ if (isList(parameters.modules)) {
+ return '--usemodule='.concat(String.join(',', parameters.modules));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: environments
+ flag: >
+ @{
+ if (isList(parameters.environments)) {
+ return '--environment='.concat(String.join(',',
+ parameters.environments));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: mode
+ flag: >
+ @{
+ if (isList(parameters.mode)) {
+ return '--mode='.concat(String.join(',', parameters.mode));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: path
+ flag: >
+ @{
+ if (isList(parameters.path)) {
+ return '--path='.concat(String.join(',', parameters.path));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: arguments
+ flag: >
+ @{
+ if (isList(parameters.arguments)) {
+ return '--arguments='.concat(String.join(',',
+ parameters.arguments));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: trackers
+ flag: >
+ @{
+ if (isList(parameters.trackers)) {
+ return '--trackers='.concat(String.join(',', parameters.trackers));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: directives
+ flag: >
+ @{
+ if (isList(parameters.directives)) {
+ return '--directives='.concat(String.join(',',
+ parameters.directives));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: silent
+ flag: >
+ @{
+ if (isList(parameters.modules)) {
+ return '--silent='.concat(String.join(',', parameters.silent));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: errors
+ flag: >
+ @{
+ if (isList(parameters.errors)) {
+ return '--errors='.concat(String.join(',', parameters.errors));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: interaction
+ flag: >
+ @{
+ if ([ 'batchmode', 'nonstopmode' ].contains(parameters.interaction)) {
+ return '--'.concat(parameters.interaction);
+ }
+ else {
+ throwError('The provided interaction value is not valid.');
+ }
+ }
+- identifier: synctex
+ flag: >
+ @{
+ return isTrue(parameters.synctex, '--synctex', '--nosynctex');
+ }
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+