Commit graph

14 commits

Author SHA1 Message Date
sterni
67affb7b46 docs(sterni/acme): move mkbqnkeyboard.bqn docs into its own file
I'll probably have this added to the BQN website's editor support page.
It'll probably be less confusing if the page people are sent to doesn't
have information on random, semi-related stuff.

Change-Id: I75e03afea1362e022923ef8781b35113bf26b2e9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13116
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-02-07 20:27:17 +00:00
sterni
ba2d2d3eea feat(sterni/acme/plan9port): completely ignore the primary selection
TL;DR: xwayland-satellite (which I use) doesn't sync the primary
selection between X11 and wayland. Since devdraw prefers the primary
selection over the clipboard if populated, it is impossible to paste
from wayland (i.e. from the clipboard) in devdraw windows after cutting
once on the plan9port side (which populates the primary selection).

Change-Id: Idc46b875f294bf90d477ee7fe138dcd17e755221
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13102
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-02-05 17:54:30 +00:00
sterni
4f3c4e7d09 feat(sterni/acme/plan9port): set (rough) location for astro(1)
I semi regularly look up the sunset time, so this is actually useful for
me. Time zone conversion seems to be broken which I'll have to debug.
The GMT sunset times it comes up with seem to be accurate, though.

Change-Id: If179f9e1bb56665d4d6f8b0f81272d3d74fe6cec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13101
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-02-05 17:52:00 +00:00
sterni
df49c51c99 docs(sterni/acme): document mkbqnkeyboard.bqn
Change-Id: Ifc2fd45712bda4d7700b3ba0dea571ee3f7fde0c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13100
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-02-05 15:20:42 +00:00
sterni
473d3c3761 fix(sterni/acme/mkbqnkeyboard.bqn): allow multiple flags in one arg
Change-Id: I203cc50997f9292cef7a3383dadb96fc97108ca6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13099
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-02-05 15:16:11 +00:00
sterni
9f6d4306f7 style(sterni/acme/plumb): use tabs to separate the fields
This is convention in Plan 9 and e.g. the plumber will reformat the
rules this way when they are read back via `9p read plumb/rules`.

Change-Id: I53543d774c11789c8352e2e632678313037c5555
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13048
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-24 14:48:54 +00:00
sterni
446127938d fix(sterni/acme): fix plumbing of e.g. //users and [//nix](./nix)
Change-Id: Ic85d71831d799db5bd8458f19593a05f3157d1de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13042
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-24 14:06:09 +00:00
sterni
0481a5778e feat(sterni/acme): add plumbing rule for r/XXXX short links
This uses git show to display the revision same as the git commit rule.

Change-Id: Ibf518adb60d15cac2126b6ab0c7e12c4b4637c25
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13041
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-24 14:06:09 +00:00
sterni
75e0c1cf43 feat(sterni/acme): add plumbing rule for showing git commits
Change-Id: Iee072e1dc7c6d11456aeae47140e6a62fe832531
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13040
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-24 14:06:09 +00:00
sterni
975b9603cc refactor(sterni/plan9port): move custom install logic into wrapper
The wrapper allows me to pick and choose what to install and also to set
some extra environment variables if necessary. A separate wrapper
derivation prevents the hefty rebuild of the entire plan9port derivation
when making changes.

Change-Id: I3f96cc3e31baf3bd37ae419578c5789aa093e578
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13038
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-22 18:14:51 +00:00
sterni
623ebc615f feat(sterni/acme/plan9port): make my plumbing rules the default
To avoid the need for two different versions of plan9port in the CI
pipeline, just move the plumbing sanity check into installCheckPhase.
For local iteration you'd have a plumber running anyways, so the short
build time of the plumb derivation isn't really a necessity.

Change-Id: Ib0ba5fa2d8107530fb7d1144cf7395f4f5a3cd12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13035
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-21 20:19:56 +00:00
sterni
9743fbf6b7 feat(sterni/acme/plan9port): allow entering BQN chars via compose
plan9port completely ignores XCompose because it has its own compose
mechanism (which is mapped to the same key). The sequences are defined
in /lib/keyboard and need to be compiled in.

Support for the BQN unicode characters is achieved by generating the
necessary lines for /lib/keyboard from the .inputrc (for GNU readline)
that is part of mlochbaum/BQN (simply because that file is somewhat
parseable and stores the sequences in ASCII, contrary to .XCompose).
This is implemented by a small BQN script which is executed in
postPatch.

All usual sequences are supported except those that map to the second
ASCII character of the sequence. These exist to keep certain characters
typeable in other input system. Thanks to the explicit compose key,
Plan 9 doesn't have this problem.

Change-Id: I590c03fd69a2aae3cbbbd39ebcbce6cec0418b50
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13034
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-21 20:19:56 +00:00
sterni
3b9d5a02ce feat(sterni/acme): import my patched plan9port from vuizvui
This is equivalent to
<2e4032c31b>,
with the addition of patchesFromDir to assemble a list of patches.

Import into depot since I'm interested in adding some depot specific
configuration and tools to (mainly) acme that doesn't make sense to
track outside of depot. Since persisting user configuration and tooling
with plan9port is annoying, it's easier compiling it in to begin with.

Change-Id: I565a285368485c7ce1d5caa7baa87a8ca86abcb7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13033
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-21 20:19:56 +00:00
sterni
47cda5e89f feat(sterni/acme): add initial plumbing rules
Rules for the Plan 9 plumber (see https://9p.io/sys/doc/plumb.pdf)
allowing quick navigation through depot (and related services) in acme.

- man, urls: some rules that I like taken from /plumb/basic and split
  across individual files.
- tvl: incomplete support for TVL short links and targets:
  - //…
  - cl/…
  - b/…

As mentioned, these are incomplete and I want to implement the remaining
short links and things like git support. I want to continue
experimenting with the plumber, but what I've got so far is already
pretty cool. Eventually, I'll want to implement something equivalent for
Emacs (maybe via Hyperbole) which is probably going to be of general
interest to depot users.

Change-Id: I678f000369db4c7ce30b2aedbc2dbccf3ddef0a9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13026
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-21 20:18:54 +00:00