about summary refs log tree commit diff
path: root/users/tazjin/emacs/config/functions.el
AgeCommit message (Collapse)AuthorFilesLines
2023-08-23 r/6522 fix(tazjin/emacs): suppress incredibly ennoying EPA error bufferVincent Ambo1-1/+3
When entering an incorrect GPG key password, I don't want my whole buffer layout ruined. A small error message in the modeline is enough. Change-Id: I7318d685e74fa4e110a9bff30d0de9f7f18b2be4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9149 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-23 r/6520 feat(tazjin/emacs): implement reliably-switch-bufferVincent Ambo1-0/+19
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-04 r/6462 feat(tazjin/emacs): make zoxide project opener work without gitVincent Ambo1-3/+7
Work projects are not in git, but I still want to fuzzy jump to them. Change-Id: Iced78519da69b6992d253e2a0c9ed485f1347164 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9005 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-07-08 r/6400 fix(tazjin/emacs): don't crash in find-cargo-projectVincent Ambo1-4/+5
Change-Id: I8a94892a527958946c975047204000eaf15395f2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8946 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-04-01 r/6070 fix(tazjin/nixos): scrot is out, maim is inVincent Ambo1-3/+8
Scrot doesn't work very well anyways, it keeps producing crazy artifacts. Maim seems more sane. Change-Id: I0823b1755b7810c8b35a9c53f232d2e7f1722943 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8414 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2022-08-26 r/4509 feat(tazjin/emacs): add `find-cargo-project` functionVincent Ambo1-0/+10
This is useful for eglot launching rust-analyzer when I'm outside of a depot project. Change-Id: I1fa1dc11e3eabe4bdedbd6389b55411641391c7e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6176 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-08-10 r/4397 feat(tazjin/emacs): add helper function for navigating tvix testsVincent Ambo1-0/+11
the upstream Nix test suite uses the pattern of having `.nix` and `.exp` files for input/expected output, and with this shitty function navigating between them is a lot simpler Change-Id: I9d91290057521fe1e1599f69fd6b0f35e1b59960 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6058 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-02-26 r/3867 fix(tazjin/emacs): Set defaults for multiple-cursor hydra commandsVincent Ambo1-1/+11
Change-Id: Ic07ed0d507ffd112f46953efbf6554b93a208671 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5325 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2021-12-20 r/3327 feat(tazjin/emacs): add zoxide-open-magit and a binding for itVincent Ambo1-0/+5
Change-Id: Ibe3264769ab6e6d1400088e8a72d3ef22dc4cd78 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4514 Reviewed-by: tazjin <mail@tazj.in> Autosubmit: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-02-22 r/2225 feat(tazjin/emacs): Add #'rg-in-projectVincent Ambo1-0/+8
Uses project.el to anchor the ripgrep search. In combination with my project detection logic, this means that grepping in TVL subprojects works automatically. Change-Id: I2705466d1de156c08ff0401a71112864aa24f976 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2542 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-20 r/2020 chore(tazjin/emacs): Remove #'fefes-blogVincent Ambo1-5/+0
It's not worth reading anymore, he's getting old. Change-Id: Ia9bac99169949c3f057c0e9c526cbc99e925af76 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2283 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-12-09 r/1994 refactor(tazjin/emacs): Always use completing-read instead of ivyVincent Ambo1-35/+34
This is a step towards making the completing-read framework more easily interchangeable (I'm eyeing selectrum). Change-Id: I7a066e212a5384136defbba8f11ef9ed57abf22e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2240 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-27 r/1817 feat(tazjin/emacs): Add function for quick Songwhip lookupsVincent Ambo1-0/+27
Adds a function `songwhip-lookup-url` which looks up the supplied URL on Songwhip and copies the Songwhip link if a result was found. This is bound to `s-s w` for convenience. Change-Id: I3b529a058ee56f992942760910822490e6324259 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2002 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-23 r/1708 feat(tazjin/emacs): Add magit-find-file-worktree functionVincent Ambo1-0/+7
This will look up a file in the current worktree of the git repository enclosing `default-directory'. In combination with project-find-file this lets me toggle between switching to a file within a project, and within the whole depot. Change-Id: Ie1011f10051fc2c4bd4279b0944a79c7edf92f3b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1838 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-23 r/1707 feat(tazjin/emacs): Add depot-aware project.el extensionVincent Ambo1-2/+10
If this ends up working well I'll extract it to tvl.el Change-Id: I83722abf33a3346ccc7957c8d64d6381b15c6ee9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1837 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-06-19 r/1040 feat(emacs-pkgs/tvl): Add #'tvl-depot-status functionVincent Ambo1-3/+0
This function opens the depot in magit. By default the depot path is assumed to be `/depot`, but that is made available as a customise option that users can override. Change-Id: Iefc127cad515dbae330d7af3aa69a0c53aa02015 Reviewed-on: https://cl.tvl.fyi/c/depot/+/504 Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-18 r/1025 chore(tazjin/emacs): Move //tools/emacs to //users/tazjin/emacsVincent Ambo1-0/+287
Change-Id: I9dfbd0bb1fd3e215bb91c5734fb0934ee3faeae6