tvl-depot/users/tazjin
Vincent Ambo df4a09864a feat(tazjin/emacs): implement reliably-switch-buffer
Adds a completing-read function (defaulting to ivy for me, but it
doesn't matter) that offers a reliable alternative to standard
buffer-switching implementations.

In particular, this implementation retains a mapping of
buffer names to their buffer *objects*, so that the correct buffer is
selected even if some renaming took place during the selection.

I tried to account for a bunch of the common behaviours I could think
of:

* invisible buffers are ... invisible
* entering a buffer name manually creates that buffer, if there is no
  match
* ... unless that buffer is an invisible buffer, in which case it is
  selected and switched to
* the first element is always `(other-buffer (current-buffer))`,
  because of the ordering of #'buffer-list

Yet, the entire code of my implementation is less than the *setup*
code of ivy-switch-buffers, so it's possible I missed something. Well,
I'll find out ...

Change-Id: I08be0da0863d06c9a930e5efaf916719655db90e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9147
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2023-08-23 20:22:25 +00:00
..
aoc2019 style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
aoc2020 style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
aoc2022 feat(tazjin/aoc2022): at least do day 1 2022-12-21 00:04:38 +00:00
blog refactor(tazjin/homepage): long overdue entry list rework 2023-06-15 23:26:57 +00:00
dns chore(3p/sources): Bump channels & overlays 2022-09-28 08:02:31 +00:00
docs docs(tazjin/install-zfs): Add some notes for the ZFS installs I do 2022-05-10 13:41:33 +00:00
dotfiles feat(tazjin/tverskoy): Add dunst configuration 2021-11-02 12:18:12 +00:00
emacs feat(tazjin/emacs): implement reliably-switch-buffer 2023-08-23 20:22:25 +00:00
finito chore(3p/sources): Bump channels & overlays 2022-10-27 12:05:44 +00:00
generator-example feat(tazjin/generator-example): add an example for genawaiter crate 2023-02-16 22:23:51 +00:00
home feat(tazjin/home): add URL handler for sending tg:// to telega 2023-07-01 10:21:50 +00:00
homepage style(tazjin/homepage): remove side margins of entries 2023-06-18 13:52:19 +00:00
keys fix(tazjin/keys): use yk-rsa key for khamovnik 2023-07-01 10:23:52 +00:00
kinesis feat(tazjin/kinesis): check in advantage2 configuration 2022-12-07 10:09:05 +00:00
nisp feat(tazjin/nisp): Add initial source-to-source transform 2021-01-09 16:52:34 +00:00
nixos fix(tazjin/nixos): fix Java applications under EXWM 2023-07-23 18:20:09 +00:00
presentations style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
rlox fix(users/tazjin): rustfmt code with non-default settings 2022-02-07 16:58:59 +00:00
russian fix(tazjin/russian): Minor Elisp fixes 2021-12-13 16:36:19 +03:00
secrets feat(tazjin/nixos): deploy monica on koptevo 2023-06-29 08:54:27 +00:00
tgsa feat(nix/sparseTree): add optional name argument 2023-08-08 20:11:56 +00:00
wallpapers chore(tazjin): Move wallpapers into my user folder 2020-08-01 14:13:14 +00:00
yddns chore(tazjin/yddns): update yandex-cloud version 2023-06-14 10:06:37 +00:00
avatar.jpeg feat(tazjin): Check in higher-quality version of avatar 2020-12-06 00:48:52 +00:00
default.nix refactor(tazjin/nixos): First step to extracting shared config 2022-05-10 13:41:33 +00:00
gruber-darker.qss feat(tazjin/gruber-darker): Check in first version of Quassel theme 2021-09-18 12:06:15 +00:00
hanebuschtag.txt feat(hanebuschtag): add grunzelgewunzel 2022-01-09 12:49:55 +00:00
nix.svg feat(tazjin/nix.svg): Add a manually cleaned up SVG Nix logo 2021-04-03 22:38:54 +00:00
OWNERS chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00
rustfmt.toml fix(users/tazjin): rustfmt code with non-default settings 2022-02-07 16:58:59 +00:00