Commit graph

794 commits

Author SHA1 Message Date
Griffin Smith
26d7dadded feat(xanthous): Store language on creatures
Add a new "language" field to the CreatureType raw type, which
references the *name* of the language that creature speaks (this is so
that different creatures can speak the same language without having to
duplicate the language definition in the raws). At some point this
should change to not hardcode the sets of languages and instead define
them in data files like we do for creatures, but this is fine as a
start.

Change-Id: I6708570175e23472cb37e0061a329e54e8eac9c0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3205
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-14 13:04:26 +00:00
Griffin Smith
5b0649d2a8 feat(xanthous): BangPattern all fields in Raws
This is generally just good practice for foundational data-types like
these

Change-Id: I88c5b6b73dad6665cf25837b8d6a9e0ea66f2b0b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3204
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-14 13:04:26 +00:00
Griffin Smith
efbb135cfc feat(xanthous): Extend speech generation to arbitrary words
Wrap up the Phonotactics type into a Language type including both the
phonotactics and a distribution of the number of syllables per word, so
we can generate arbitrary words in addition to just arbitrary syllables

Change-Id: I8a37ce9c0eec019c9b84d21b0f2b3b9f5fd319eb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3203
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-14 13:04:26 +00:00
Griffin Smith
2cfe4069bb feat(xanthous): Add a generator for random english syllables
Add a new "speech" generator module, with the beginnings of the vague
definition of the phonotactics of the language (there's one in here for
English based on the wikipedia article for English phonology, but it's
less than ideal as it has generated words like "sprurlkt") and the
ability to generate random syllables of a language by picking an onset,
nucleus, and coda from the list for that language (within a range of the
number of allowed of each syllable part). This will be used down the
road to automatically generate utterances from various
non-english-speaking creatures (so the accuracy is less important, just
that it "feels real").

Change-Id: I7b81375ec595239c05c5c800cbde1a2a900e38ac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3202
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-13 01:24:47 +00:00
Griffin Smith
006e5231e5 refactor(xanthous): Generators -> Generators.Level
I'm going to start adding generators for things like text soon, so it
makes sense to specifically sequester level generators as their own
thing

Change-Id: I175025375204fab7d75eba67dd06dab9bd2939d3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3201
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-13 01:24:47 +00:00
Griffin Smith
c19e3dae5f feat(xanthous): Memoize characterVisiblePositions
Memoize the return value of characterVisiblePositions to a new,
semi-abstracted "memo" field on the GameState, recalcuclated if the
character position ever changes. I'm 90% sure that the perf issues we
were encountering were actually caused by characterVisiblePositions
getting called once for *every tile* on draw, but this slightly larger
change also makes the game perform relatively-usably again.

Since this is only recalculated if the character position changes, if we
ever get non-transparent entities moving around without the characters
influence (maybe something building or knocking down walls?) we'll have
an issue there where the vision won't be updated as a result of those
changes if they happen while the character is taking a non-moving action
- but we can cross that bridge when we come to it.

Change-Id: I3fc745ddf0014d6f164f735ad7e5080da779b92a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3185
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-12 18:57:52 +00:00
Griffin Smith
80d501d553 fix(grfn/xanthous): Update shell for new depot structure
Since 473604f567 (CL/2910), depot hasn't
been directly exposing `pkgs` as an attribute, instead exposing it via
third_party.nixpkgs - the xanthous shell.nix isn't checked in CI, so it
was missed as part of that refactor - this updates it to be in line with
that

Change-Id: I12b081c16d53c6798f51ec6660ffa6d345870580
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3176
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-06-12 15:54:28 +00:00
Griffin Smith
702594ca64 refactor(ops): Break out prometheus-fail2ban-exporter module
Break out the configuration for the prometheus fail2ban exporter, which
is a simple python script that exports stats from fail2ban as a
prometheus-scrapable textfile, from Mugwump into a reusable nixos module
in //ops/nixos/modules.

Change-Id: I5451c9c5de6c7bc4431150ae596a9c758bf1b693
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3136
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-06-12 15:51:49 +00:00
Griffin Smith
8587bb5f67 feat(gs/emacs): Install telega
Change-Id: If677f26fda16fc5511455e877b6fa87f061d522f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3183
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-08 15:38:51 +00:00
Griffin Smith
a1ffa43684 fix(gs/emacs): Drop dap-mode
This does not appear to be working

Change-Id: I195e44f799981343a7b9dc60b25eb068d5d42530
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3182
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-08 15:38:51 +00:00
Vincent Ambo
b4ae6893e4 chore(3p/nixpkgs): Bump channels to 2021-06-05
Includes the following depot changes & fixes:

* stable moves to NixOS 21.05
* stable isn't used anymore (but we'll keep the mechanism)
* haskell overlay's `random` override is removed (YAY!)
* grfn/iso: Switch to regular kernel rather than
  latest kernel, as latest kernel is currently marked as broken due to zfs
* grfn/home: Use julia_16-bin temporarily
  julia 1.5 (current julia-stable, source built release in nixpkgs)
  doesn't pass its own test suite. Julia 1.6 doesn't have a source built
  package in nixpkgs yet, so julia_16-bin appears to be the only working
  julia derivation currently.
* tazjin/tverskoy: Use zfs unstable, as stable zfs doesn't work with the
  latest kernel

Co-Authored-By: Griffin Smith <grfn@gws.fyi>
Co-Authored-By: sterni <sternenseemann@systemli.org>
Change-Id: I6f2e3d9f75077e4755de6bde9104d44b584cbe4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3174
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
2021-06-05 16:54:18 +00:00
Griffin Smith
4e90a38875 feat(gs/emacs): Make buffer-switch command cover all buffers
I don't really like the perspective-specific stuff after all.

Change-Id: I214e481a29ed5734de232d6cbd8fabbc6368359d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3181
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-05 15:25:20 +00:00
Griffin Smith
263958e4d3 feat(gs/emacs): Switch to org-tracker
Work is now using JIRA instead of Clubhouse, so I've started writing
org-tracker[0] as a pluggable-backend version of org-clubhouse (I'll
probably add github issue support as well!). This switches my personal
config to use that instead of org-clubhouse, including the
checkout-branch-with-ticket-id stuff I had locally.

[0]: https://github.com/glittershark/org-tracker

Change-Id: I3cf72d6640b155c92ca9ddd1d9d9b5167367951a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3180
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-05 15:25:20 +00:00
Griffin Smith
42c3da7881 refactor(gs/emacs): Don't install mu4e
I use notmuch instead

Change-Id: Ibb7c901beb8caf22d0f22b2de20b41a71c92c358
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3179
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-05 15:25:20 +00:00
Griffin Smith
a73d529a94 refactor(gs/emacs): Move all org-config into org-config.el
For some reason some org config was still living in the global config.el

Change-Id: I2145a054ace97b91877a4397a52fd18a5c273434
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3178
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-05 15:25:20 +00:00
Griffin Smith
e38e826862 feat(gs/emacs): Update irc-connect command for new servers
No longer connecting to freenode - but I *am* now connecting to both
hackint and libera, so add a prompt to the command to decide which one I
connect to

Change-Id: Iae315ddab753cf9c365cbee7abd94213af656d4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3177
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-05 15:25:20 +00:00
Griffin Smith
bf9857beff feat(gws.fyi): Use awscli2 to deploy
Use awscli2 rather than awscli to deploy - less because I actually need
any specific functionality from the new version, and more because I
already use awscli2 on my systems and it's nice to always use the same
version of stuff

Change-Id: Id0e5b63dde1857c2e417ac2eeb2f769ebcc0f956
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3175
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-02 20:43:31 +00:00
Vincent Ambo
a69ec33aca fix(tazjin/emacs): Install rust-mode explicitly
... rather than dragging it in as some transitive dep, which actually
stopped happening.

Change-Id: I2331721839d5e53c38236f64487be0e6f1be352e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3170
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-06-01 21:30:07 +00:00
Griffin Smith
f329553763 feat(gs/home): Update discord to 0.0.15
Change-Id: I17b979217360545c52073b67c5ba878e8891a650
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3168
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-01 16:23:55 +00:00
Griffin Smith
7b230060a2 revert(grfn/yeren): "Set timezone to Africa/Cairo"
This reverts commit e1c45be3f5. I'm back
in NY now T.T

Change-Id: Iaae2bf778195b9a99ac1a46068703a58e6b69053
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3166
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-05-31 12:56:47 +00:00
Vincent Ambo
65be8f20e0 chore(nixpkgs): Bump channels to 2021-05-25
* users/grfn/system/home/yeren: remove obsolete awscli2 overrides

* ops: make new isSystemUser || isNormalUser assertion happy

* users/grfn/system/system/mugwump: make buildkite agents system users

* users/tazjin/nixos/camden: set isSystemUser = true for git

* users/tazjin/emacs: Remove missing & broken packages

* third_party/openldap: remove, as the argon2 module is now enabled upstream

* third_party/gerrit_plugins: Pinned new unstable hashes

* third_party/nix, third_party/grpc: Disabled CI as these are broken

* third_party/overlays/emacs: Bumped version to stay in sync with channel

* third_party/buzz: Update LIBCLANG_PATH to reference libclang.lib,
  since libclang's default output no longer contains libclang.so

* users/grfn/system/home: Install julia-stable instead of julia (which
  aliases to julia-lts), as the latter depends on an insecure version of
  libgit

Change-Id: Iff33b0ecb0ef07a82d1de35e23c40d2f4bf0f8ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3001
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-25 17:09:28 +00:00
Griffin Smith
fb36bc321b feat(gs/home): Add script to graphviz the clipboard
Add a script (to PATH, so I can launch it from rofi) to take whatever's
in the clipboard, pass it through `dot -Tpng`, and then open the result
with feh.

Change-Id: I1842fca3585a33d902da20dfa6101d1c6d2f2062
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3160
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-05-25 11:19:41 +00:00
Vincent Ambo
3c7d4c74be chore(3p/overlays): Remove LLVM11 bump from overlay
* This was mostly for //third_party/nix and its dependencies which now
  have been set to use llvmPackages_11 manually.

* For //users/grfn/achilles we also manually select the newer LLVM version.

* //tools/cheddar doesn't seem to need llvm anymore.

* //third_party/buzz also compiles with clang 7.1.0

* replace clang-tools everywhere with new attribute clang-tools_11

For the future we may want to have something similar again, but it may
not be necessary to invest too much time into it: nixpkgs is set to
upgrade their default llvmPackages to LLVM 11 as well at some point in
the near future.

Co-Authored-By: sterni <sternenseemann@systemli.org>
Change-Id: Id83868dbc476a6c776b59518b856c933f30ea79d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3135
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-24 18:15:05 +00:00
Vincent Ambo
224c9ca0bb chore: Replace remaining mentions of ##tvl[-dev] with #tvl
... and fix the capitalisation of hackint

Change-Id: I800aef75152d2dc77a33876888e36530143e9d3e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3148
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-23 19:46:46 +00:00
Vincent Ambo
780bb86eff chore: Replace Freenode mentions with HackInt
This doesn't replace all of them in the repo, but at least the ones
that are relevant to our move.

Change-Id: I842e7594b4c16af30d880272417874f6b29afd22
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3134
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-22 21:37:13 +00:00
Vincent Ambo
1fa76e7719 feat(tverskoy): Add mail fetching timer for lieer
Change-Id: I60b09d2c81c3c69f744a12adc41fbdc43d0fb488
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3133
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-05-22 20:58:47 +00:00
Vincent Ambo
4a807040a2 refactor(tazjin/emacs): Switch to sending mail via lieer
This drops the msmtp requirement from my configuration; there's still
some cleanup to be done but I need to double-check this in a few
environments first.

Change-Id: I298f4ff77b45cb214fbccee84e9bbd861508d11a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3132
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-05-22 20:58:47 +00:00
Profpatsch
952afb7da9 feat(tools): add rust-crates-advisory
We have a bunch of crates in `third_party/rust-crates`; it would be
great if we could check them for existing CVEs.

This tool does that, it takes the rust security advisory database,
parses the applicable CVEs, and cross-checks them against the actual
crate versions we list in our package database.

The dumb parser we wrote is tested against all entries in the
database, so we will notice when upstream breaks their shit.
Checking the semver stuff is easy enough with the semver crate.

If an advisory matches, it prints the whole thing and fails the build.

Change-Id: I9e912c43d37a685d9d7a4424defc467a171ea3c4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2818
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-17 23:00:57 +00:00
Profpatsch
72924facae fix(nix/writers/rust): remove args override
We can be closed world, so let’s restrict the arguments to the subset
we need for now.

The existing override was wrong, in that `// args` would use the
arguments we already added, again. So instead of deliberating about
how to make this work right in all cases, we don’t need it, we trim
it.

Change-Id: I6443a0808b8bfd5e4db939b669c6afc741954db8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3057
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-17 23:00:57 +00:00
Vincent Ambo
8dfc7a9f9d feat(grfn/modules/laptop): Enable TLP service
This service performes automatic power tuning and has effectively
replaced powertop's tuning functionality in modern systems.

Change-Id: I63c6999beed64d96c77b8b9287ed0d5fa6ddd9fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3121
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-13 12:24:08 +00:00
Vincent Ambo
3033de5792 fix(yeren): Force enable ASPM in kernel parameters
This might help with the issue of devices being stuck in a slow
power-saving mode after hibernation. Dell enables this on laptops
shipping with Linux by default according to some forum posts.

Change-Id: I3d7fdb5c2ed5e24289a6c20f21d027e11b7826e5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3120
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-13 12:24:08 +00:00
Vincent Ambo
a989a91f9f chore(tazjin/emacs): Ignore messages from blocked senders in telega
telega actually supports this for group chats, too, which is very
pleasant.

https://zevlg.github.io/telega.el/#client-side-messages-ignoring

Change-Id: I510207c2de19f748359168d460a25aa9c4e45975
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3111
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-05-12 13:25:42 +00:00
Griffin Smith
2a97eda3b3 feat(gs/emacs): Update async test snippet for tokio 1.x
Change-Id: I897f3efae7920dee678f6ca03d743b12212b766c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3109
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-05-12 10:33:37 +00:00
Griffin Smith
f790e72763 fix(gs/emacs): Correct next/prev error bindings
next-error and prev-error are weirdly broken in ways I don't entirely
understand, but I only really use flycheck so I can just use the
flycheck ones instead

Change-Id: Icdb25950f6fdcca163c68db30366af0f6fa28d7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3108
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-05-12 10:33:37 +00:00
Vincent Ambo
259cbfd0b2 chore(owothia): move to //fun/owothia
Owothia graduates, or something.

Mostly I don't want infrastructure to depend on stuff in //users.

Does anyone know where owothia is running anyways?

Change-Id: I198c7ac935736c7aee3ba4fbda1453b82aa10283
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3103
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-11 21:34:51 +00:00
Profpatsch
35aa79d14b feat(users/Profpatsch/blog): add rust-string-conversions note
Change-Id: I7bee585935e65660f6b25b88ed33f09775eb01a0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3088
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-05-03 22:22:33 +00:00
Profpatsch
713f066297 feat(users/Profpatsch/blog): implement blog engine lol
My horrible blog engine v0.0.0.0.1. Don’t judge.

Change-Id: I427b4e84d67aa49793cb7625e4d8ca2824f00943
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2456
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-30 21:47:42 +00:00
Profpatsch
3ef9b8fbd7 fix(users/Profpatsch/netencode): use write_all in encoder
`write` returns the written usize; now I wonder why rustc didn’t at
least produce a warning because the result was unused. Do we need to
add any flags to `rustSimple`?

Change-Id: If8d51d95c993dec6c92e46dbc82cd8cdd398f441
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3056
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-30 21:47:42 +00:00
Griffin Smith
216c3f73b9 feat(grfn/yeren): Install tdesktop
Change-Id: I951224d0cfd6d8c1d0eda752134bf9b9375c7cdb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3053
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-04-28 21:41:44 +00:00
Griffin Smith
10e0b1185c feat(grfn/yeren): Install+configure ntfy
automatic notifications when long-running commands are done! that's
cool.

Change-Id: Ic9451c0c349661c3df8ba1058748a59159bc4b3f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3044
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-04-28 21:41:44 +00:00
Vincent Ambo
9528a7139b fix(tazjin/blog): Fix minor typos in WatchGuard post
Change-Id: Iaeb9fab5a80597469e5efdf24655ae07dca48fe1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3058
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-04-27 10:46:21 +00:00
Profpatsch
eb41eef612 chore(nix): move rustSimple from users.Profpatsch.writers
I think it’s solid enough to use in a wider context.

Change-Id: If53e8bbb6b90fa88d73fb42730db470e822ea182
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3055
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-04-24 10:23:55 +00:00
Profpatsch
7e888c3c7b feat(nix): add basic netstring nix generation functions
Moving to toplevel so I can use them with `runExecline`. They should
be pretty atomic, and are proven to work (tests are still in my user
dir, since they test the producers indirectly via the python parser
and I don’t want to pull it out right now).

Change-Id: Id0baa3adcb2ec646458a104c7868c2889b8c64f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3054
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2021-04-24 09:54:34 +00:00
Profpatsch
c98dd8b352 feat(users/Profpatsch/lib): add eprint-stdin-netencode
Like `eprint-stdin`, but reads stdin as netencode and pretty-prints it
to stderr.

Change-Id: I430c010b0cac45f077cde9dadfd79adfa7a53eca
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2533
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 20:45:28 +00:00
Profpatsch
5ca71308a8 feat(users/Profpatsch/netencode): add pretty printer
Simple pretty printer for netencode values, as a rust library and an
accompanying command line tool which takes netencode on stdin and
prints the pretty version to stdout.

Change-Id: I0a57c644985162bc08a9bf1ee78f7be278400199
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2532
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 20:45:28 +00:00
Profpatsch
9d7c3ee877 feat(users/Profpatsch/netencode): add env-splice-record
It’s the inverse of record-splice-env! It sucks up the environment and
prints it as a netencode dict! Only the utf-8 clean parts at least.

Change-Id: I96c19fc5ea3a67a23e238f15f4d0fa783081859c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2527
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 20:45:28 +00:00
Profpatsch
5156da542b feat(users/Profpatsch/struct-edit): per-level position
The user expects the editor to remember the positions of fields they
navigated from to a new level, so when they return they get put in the
same spot.

We push the index from one field into every level of the value.

Unfortunately this introduces pointers and all the woes they bring.

Change-Id: I889c28b71fd7082b765e1d6874faeb1b36dade60
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2866
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 18:30:06 +00:00
Profpatsch
50cf1e1a88 chore(users/Profpatsch/struct-edit): factor out non-val enumeration
This will be needed to factor the current cursor position into vals.

Change-Id: I73635b13c29b6b8925c68005c8db1c4dda93f15d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2865
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 18:30:06 +00:00
Profpatsch
77840fba2c fix(users/Profpatsch/struct-edit): change arrow keys
Since items are aligned per-line, it makes more intuitive sense to use
up/down for previous/next item, and left to go up and right to go
down.

Change-Id: I6bc33bd4e6e8f9fb245d252ca063dfabf972147d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2864
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 18:30:06 +00:00
Profpatsch
f57f1e4489 feat(users/Profpatsch/struct-edit): add support for maps
This makes it possible to pipe json dicts to the program and fully
navigate them.

Change-Id: I18dd8683d6f00c8ea967eb0c8dc89d1e0735fbcb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2863
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 18:30:06 +00:00