git: 71dc8f40a996 - main - shells/murex: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 14 Jun 2023 14:34:16 UTC
The branch main has been updated by lcook:
URL: https://cgit.FreeBSD.org/ports/commit/?id=71dc8f40a99608a8af52de49f879a6bd2f2298a6
commit 71dc8f40a99608a8af52de49f879a6bd2f2298a6
Author: Lewis Cook <lcook@FreeBSD.org>
AuthorDate: 2023-06-14 14:28:42 +0000
Commit: Lewis Cook <lcook@FreeBSD.org>
CommitDate: 2023-06-14 14:33:06 +0000
shells/murex: Add new port
Murex is a shell, like bash / zsh / fish / etc however Murex
supports improved features and an enhanced UX.
A non-exhaustive list features would include:
* Support for additional type information in pipelines, which can
be used for complex data formats like JSON or tables. Meaning
all of your existing UNIX tools to work more intelligently and
without any additional configuration.
* Usability improvements such as in-line spell checking, context
sensitive hint text that details a commands behavior before you
hit return, and auto-parsing man pages for auto-completions on
commands that don't have auto-completions already defined.
* Smarter handling of errors and debugging tools. For example
try/catch blocks, line numbers included in error messages,
STDOUT highlighted in red and script testing and debugging
frameworks baked into the language itself.
WWW: https://murex.rocks
---
shells/Makefile | 1 +
shells/murex/Makefile | 51 ++++++++
shells/murex/distinfo | 41 +++++++
shells/murex/files/pkg-message.in | 15 +++
shells/murex/pkg-descr | 19 +++
shells/murex/pkg-plist | 237 ++++++++++++++++++++++++++++++++++++++
6 files changed, 364 insertions(+)
diff --git a/shells/Makefile b/shells/Makefile
index b03482914fe0..010ae24cb7fd 100644
--- a/shells/Makefile
+++ b/shells/Makefile
@@ -30,6 +30,7 @@
SUBDIR += ksh93
SUBDIR += mksh
SUBDIR += modernish
+ SUBDIR += murex
SUBDIR += nologinmsg
SUBDIR += nsh
SUBDIR += nushell
diff --git a/shells/murex/Makefile b/shells/murex/Makefile
new file mode 100644
index 000000000000..05eb52bf3a2f
--- /dev/null
+++ b/shells/murex/Makefile
@@ -0,0 +1,51 @@
+PORTNAME= murex
+DISTVERSIONPREFIX= v
+DISTVERSION= 4.1.7300
+CATEGORIES= shells
+
+MAINTAINER= lcook@FreeBSD.org
+COMMENT= Shell designed for greater commandline productivity and safer shell scripts
+WWW= https://murex.rocks
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules
+
+USE_GITHUB= yes
+GH_ACCOUNT= lmorg
+GH_TUPLE= Knetic:govaluate:v3.0.0:knetic_govaluate/vendor/github.com/Knetic/govaluate \
+ abesto:sexp:v0.0.1:abesto_sexp/vendor/github.com/abesto/sexp \
+ boombuler:barcode:v1.0.1:boombuler_barcode/vendor/github.com/boombuler/barcode \
+ creack:pty:v1.1.18:creack_pty/vendor/github.com/creack/pty \
+ disintegration:imaging:v1.6.2:disintegration_imaging/vendor/github.com/disintegration/imaging \
+ eliukblau:pixterm:v1.3.1:eliukblau_pixterm/vendor/github.com/eliukblau/pixterm \
+ fsnotify:fsnotify:v1.6.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
+ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+ golang:image:v0.5.0:golang_image/vendor/golang.org/x/image \
+ golang:sys:v0.8.0:golang_sys/vendor/golang.org/x/sys \
+ hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
+ lmorg:apachelogs:e5f3eae677ad:lmorg_apachelogs/vendor/github.com/lmorg/apachelogs \
+ lucasb-eyer:go-colorful:v1.0.3:lucasb_eyer_go_colorful/vendor/github.com/lucasb-eyer/go-colorful \
+ mattn:go-runewidth:v0.0.14:mattn_go_runewidth/vendor/github.com/mattn/go-runewidth \
+ mattn:go-sqlite3:v1.14.16:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+ pelletier:go-toml:v1.9.5:pelletier_go_toml/vendor/github.com/pelletier/go-toml \
+ phayes:permbits:39d7c581d2ee:phayes_permbits/vendor/github.com/phayes/permbits \
+ rivo:uniseg:v0.2.0:rivo_uniseg/vendor/github.com/rivo/uniseg \
+ stretchr:testify:v1.8.2:stretchr_testify/vendor/github.com/stretchr/testify
+
+SUB_FILES= pkg-message
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC}/docs && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
+
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/examples/*.mx \
+ ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/shells/murex/distinfo b/shells/murex/distinfo
new file mode 100644
index 000000000000..8956f2350889
--- /dev/null
+++ b/shells/murex/distinfo
@@ -0,0 +1,41 @@
+TIMESTAMP = 1686663295
+SHA256 (lmorg-murex-v4.1.7300_GH0.tar.gz) = a04e01a2b0d7c70e8dd5e671dccd5009646d0a4276556fca790add3d7d7853ec
+SIZE (lmorg-murex-v4.1.7300_GH0.tar.gz) = 1032413
+SHA256 (Knetic-govaluate-v3.0.0_GH0.tar.gz) = 3800c76ba83d7e5cff279ca5981d06a2c449b102644aa57861eb5958c8e0ae0c
+SIZE (Knetic-govaluate-v3.0.0_GH0.tar.gz) = 39399
+SHA256 (abesto-sexp-v0.0.1_GH0.tar.gz) = 3d059e3063862756688a2b458c74ee30843bee23d37bd7725f851672bd6d1b78
+SIZE (abesto-sexp-v0.0.1_GH0.tar.gz) = 4962
+SHA256 (boombuler-barcode-v1.0.1_GH0.tar.gz) = 832b01643464267560fe56cfe76d3d78720b0d2aaec3eea7522c33d92c1233f9
+SIZE (boombuler-barcode-v1.0.1_GH0.tar.gz) = 62972
+SHA256 (creack-pty-v1.1.18_GH0.tar.gz) = 7a1d6775e3f99b98e5d87303e9aeacfd73d810abffc17e42a561d0650adc980e
+SIZE (creack-pty-v1.1.18_GH0.tar.gz) = 10668
+SHA256 (disintegration-imaging-v1.6.2_GH0.tar.gz) = ddc0cbbf306630d39ee710ff055bb9503d30598485f76f51564ee3ae13d6611a
+SIZE (disintegration-imaging-v1.6.2_GH0.tar.gz) = 2212334
+SHA256 (eliukblau-pixterm-v1.3.1_GH0.tar.gz) = cf824dda268b931e8af6867af0576aaa53b42eec286e1ae38bed77561c0be482
+SIZE (eliukblau-pixterm-v1.3.1_GH0.tar.gz) = 4186356
+SHA256 (fsnotify-fsnotify-v1.6.0_GH0.tar.gz) = 583b2b399709d04807c5c3185e7d4dc0543d532af91fdeb85eeaf803a0b7703b
+SIZE (fsnotify-fsnotify-v1.6.0_GH0.tar.gz) = 46044
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (golang-image-v0.5.0_GH0.tar.gz) = ba6a2acdb0ba2e91834ef1259cc59214a144b070f2e261b2ad819ef264714610
+SIZE (golang-image-v0.5.0_GH0.tar.gz) = 5040072
+SHA256 (golang-sys-v0.8.0_GH0.tar.gz) = b2d02a26e2f974193692e0357c73f46b7b82c5d51099af1b01e4c456d261a428
+SIZE (golang-sys-v0.8.0_GH0.tar.gz) = 1436337
+SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
+SIZE (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
+SHA256 (lmorg-apachelogs-e5f3eae677ad_GH0.tar.gz) = 148b37c1928e59bf57faac7da44c7bb89813844d9330b9c08d7793151254c1b9
+SIZE (lmorg-apachelogs-e5f3eae677ad_GH0.tar.gz) = 20616
+SHA256 (lucasb-eyer-go-colorful-v1.0.3_GH0.tar.gz) = 40c8c7e03a4eeaaabd44273e9b6a992933f554f17225aadd0b225ffc67e1e7db
+SIZE (lucasb-eyer-go-colorful-v1.0.3_GH0.tar.gz) = 430208
+SHA256 (mattn-go-runewidth-v0.0.14_GH0.tar.gz) = 0e6a49d6a8f694154af2746a820d4c5f13fe3d9b0968bdf16fcf939dd461e034
+SIZE (mattn-go-runewidth-v0.0.14_GH0.tar.gz) = 18274
+SHA256 (mattn-go-sqlite3-v1.14.16_GH0.tar.gz) = 826a8201600e05860b6a580c0b97a75b11fa6ca469696868d23d7c680ed19c54
+SIZE (mattn-go-sqlite3-v1.14.16_GH0.tar.gz) = 2475472
+SHA256 (pelletier-go-toml-v1.9.5_GH0.tar.gz) = 7ee5ee9344a5c18eebf9487782e00b2dbeaaf19be64b447a1e1d90f8aed710e8
+SIZE (pelletier-go-toml-v1.9.5_GH0.tar.gz) = 106932
+SHA256 (phayes-permbits-39d7c581d2ee_GH0.tar.gz) = d845eb4ab9b22a342cd3965209f52f8ebd55211b3789b574b1792448659a446f
+SIZE (phayes-permbits-39d7c581d2ee_GH0.tar.gz) = 4757
+SHA256 (rivo-uniseg-v0.2.0_GH0.tar.gz) = 3ad738b5c9162ede110d75b23564b6e40e52dd9150ebbced402f4f70be106197
+SIZE (rivo-uniseg-v0.2.0_GH0.tar.gz) = 44036
+SHA256 (stretchr-testify-v1.8.2_GH0.tar.gz) = b1f8aab2022b39d9263dc38ce4a974f64c0219f580a6fe9c56693beaf2702516
+SIZE (stretchr-testify-v1.8.2_GH0.tar.gz) = 98353
diff --git a/shells/murex/files/pkg-message.in b/shells/murex/files/pkg-message.in
new file mode 100644
index 000000000000..2510b63a3acc
--- /dev/null
+++ b/shells/murex/files/pkg-message.in
@@ -0,0 +1,15 @@
+[
+{ type: install
+ message: <<EOM
+For inline spellchecking install the aspell package.
+
+Depending on your language, you may optionally want to
+install an accompanying language dictionary, such as
+en-aspell.
+
+For further information, visit
+
+ https://murex.rocks/docs/user-guide/spellcheck.html
+EOM
+}
+]
diff --git a/shells/murex/pkg-descr b/shells/murex/pkg-descr
new file mode 100644
index 000000000000..817ae043b478
--- /dev/null
+++ b/shells/murex/pkg-descr
@@ -0,0 +1,19 @@
+Murex is a shell, like bash / zsh / fish / etc however Murex
+supports improved features and an enhanced UX.
+
+A non-exhaustive list features would include:
+
+* Support for additional type information in pipelines, which can
+ be used for complex data formats like JSON or tables. Meaning
+ all of your existing UNIX tools to work more intelligently and
+ without any additional configuration.
+
+* Usability improvements such as in-line spell checking, context
+ sensitive hint text that details a commands behavior before you
+ hit return, and auto-parsing man pages for auto-completions on
+ commands that don't have auto-completions already defined.
+
+* Smarter handling of errors and debugging tools. For example
+ try/catch blocks, line numbers included in error messages,
+ STDOUT highlighted in red and script testing and debugging
+ frameworks baked into the language itself.
diff --git a/shells/murex/pkg-plist b/shells/murex/pkg-plist
new file mode 100644
index 000000000000..b12b753fadf3
--- /dev/null
+++ b/shells/murex/pkg-plist
@@ -0,0 +1,237 @@
+%%PORTDOCS%%%%DOCSDIR%%/BLOG.md
+%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.md
+%%PORTDOCS%%%%DOCSDIR%%/COMPARISONS.md
+%%PORTDOCS%%%%DOCSDIR%%/FAQ.supported-platforms.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.apis.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.arrays-and-maps.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.builtin-functions.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.optional-commands.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.parser.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.quick-start.md
+%%PORTDOCS%%%%DOCSDIR%%/GUIDE.type-system.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/Marshal.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/ReadArray.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/ReadArrayWithType.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/ReadIndex.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/ReadMap.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/ReadNotIndex.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/Unmarshal.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/WriteArray.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.ArrayTemplate.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.ArrayTemplateWithType.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.ArrayWithTypeTemplate.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.IndexTemplateObject.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.IndexTemplateTable.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.MarshalData.md
+%%PORTDOCS%%%%DOCSDIR%%/apis/lang.UnmarshalData.md
+%%PORTDOCS%%%%DOCSDIR%%/blog/reading_lists.md
+%%PORTDOCS%%%%DOCSDIR%%/blog/split_personalities.md
+%%PORTDOCS%%%%DOCSDIR%%/blog/why_create_a_new_shell.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.0.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.1.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.10.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.11.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.2.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.3.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.4.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.5.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.6.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.7.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.8.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v2.9.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v3.0.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v3.1.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v4.0.md
+%%PORTDOCS%%%%DOCSDIR%%/changelog/v4.1.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/2darray.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/a.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/addheading.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/alias.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/alter.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/and.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/append.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/args.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/autocomplete.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/autoglob.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/bexists.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/bg.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/brace-quote.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/break.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/cast.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/catch.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/cd.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/config.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/continue.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/count.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/cpuarch.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/cpucount.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/datetime.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/debug.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/devnull.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/die.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/element.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/equ.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/err.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/escape.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/esccli.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/eschtml.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/escurl.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/event.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/exec.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/exit.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/exitnum.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/export.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/expr.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/f.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/false.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/fexec.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/fg.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/fid-kill.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/fid-killall.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/fid-list.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/for.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/foreach.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/formap.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/format.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/function.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/g.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/get-type.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/get.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/getfile.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/global.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/greater-than-greater-than.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/greater-than.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/history.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/if.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/index.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/ja.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/jsplit.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/left.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/len.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/let.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/lockfile.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/man-get-flags.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/man-summary.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/map.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/match.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/method.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/msort.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/mtac.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/murex-docs.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/murex-package.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/murex-parser.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/murex-update-exe-list.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/namedpipe.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/not.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/open-image.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/open.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/openagent.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/or.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/os.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/out.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/pipe.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/post.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/prefix.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/prepend.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/pretty.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/private.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/pt.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/rand.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/range.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/read.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/regexp.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/right.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/runmode.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/runtime.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/rx.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/set.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/source.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/stdin.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/struct-keys.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/suffix.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/summary.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/switch.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/swivel-datatype.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/swivel-table.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/ta.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/tabulate.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/test.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/time.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/tmp.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/tout.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/tread.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/true.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/try.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/trypipe.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/version.md
+%%PORTDOCS%%%%DOCSDIR%%/commands/while.md
+%%PORTDOCS%%%%DOCSDIR%%/mkarray/character.md
+%%PORTDOCS%%%%DOCSDIR%%/mkarray/date.md
+%%PORTDOCS%%%%DOCSDIR%%/mkarray/decimal.md
+%%PORTDOCS%%%%DOCSDIR%%/mkarray/non-decimal.md
+%%PORTDOCS%%%%DOCSDIR%%/mkarray/special.md
+%%PORTDOCS%%%%DOCSDIR%%/optional/base64.md
+%%PORTDOCS%%%%DOCSDIR%%/optional/bz2.md
+%%PORTDOCS%%%%DOCSDIR%%/optional/gz.md
+%%PORTDOCS%%%%DOCSDIR%%/optional/qr.md
+%%PORTDOCS%%%%DOCSDIR%%/optional/select.md
+%%PORTDOCS%%%%DOCSDIR%%/optional/sleep.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/array.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/brace-quote.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/create-array.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/curly-brace.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/double-quote.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/logical-and.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/logical-or.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/pipe-append.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/pipe-arrow.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/pipe-err.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/pipe-generic.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/pipe-posix.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/single-quote.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/string.md
+%%PORTDOCS%%%%DOCSDIR%%/parser/tilde.md
+%%PORTDOCS%%%%DOCSDIR%%/tour.md
+%%PORTDOCS%%%%DOCSDIR%%/types/bool.md
+%%PORTDOCS%%%%DOCSDIR%%/types/commonlog.md
+%%PORTDOCS%%%%DOCSDIR%%/types/csv.md
+%%PORTDOCS%%%%DOCSDIR%%/types/float.md
+%%PORTDOCS%%%%DOCSDIR%%/types/generic.md
+%%PORTDOCS%%%%DOCSDIR%%/types/hcl.md
+%%PORTDOCS%%%%DOCSDIR%%/types/int.md
+%%PORTDOCS%%%%DOCSDIR%%/types/json.md
+%%PORTDOCS%%%%DOCSDIR%%/types/jsonc.md
+%%PORTDOCS%%%%DOCSDIR%%/types/jsonl.md
+%%PORTDOCS%%%%DOCSDIR%%/types/mxjson.md
+%%PORTDOCS%%%%DOCSDIR%%/types/num.md
+%%PORTDOCS%%%%DOCSDIR%%/types/path.md
+%%PORTDOCS%%%%DOCSDIR%%/types/str.md
+%%PORTDOCS%%%%DOCSDIR%%/types/toml.md
+%%PORTDOCS%%%%DOCSDIR%%/types/yaml.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/ansi.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/bang-prefix.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/code-block.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/fileref.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/interactive-shell.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/modules.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/namedpipes.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/pipeline.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/profile.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/reserved-vars.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/rosetta-stone.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/schedulers.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/scoping.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/spellcheck.md
+%%PORTDOCS%%%%DOCSDIR%%/user-guide/terminal-keys.md
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/appsize.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/arrays-as-parameters.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/flags.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/foreach.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hello-world.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inline-sql.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/list-builtins.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/loops-iteration.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/table-indexes.mx
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/try-catch.mx
+@shell bin/murex