Implementation of the "open" command that uses Syndicate and PCRE pattern matching to open URIs.
src | ||
.envrc | ||
.gitignore | ||
handlers-example.pr | ||
lock.json | ||
protocol.prs | ||
README.md | ||
shell.nix | ||
syndicated_open.nimble | ||
Tupfile | ||
Tuprules.tup | ||
uri_runner.pr |
Syndicated Open
An open command implementation that uses Syndicate and PCRE pattern matching to open URIs.
There are two utilites, open
and uri_runner
. The former connects to a shared Syndicate dataspace using a route at $SYNDICATE_ROUTE
and has no other configuration. The uri_runner
component is intended to be managed by the Syndicate server thru which it receives configuration, see uri_runner.pr as an example.
Matching patterns to actions is done with action-handler
records:
<action-handler "foo://(.*):(.*)" $entity <krempel ["--host=$1" "--port=$2"]> >
In the preceding example the URI foo://bar:42
would cause the message <krempel ["--host=bar" "--port=42"]>
to be sent to $entity
.
See handlers-example.pr for more information.
The protocol.nim file is generated from the protocol.prs schema, a Tupfile file is provided to do this.