kakoune: add back kaktex

This commit is contained in:
Natsu Kagami 2024-09-28 16:34:57 +02:00
parent 0e320f1c1a
commit 833bd167d4
Signed by: nki
GPG key ID: 55A032EB38B49ADB
4 changed files with 205 additions and 159 deletions

View file

@ -1,3 +1,5 @@
{ callPackage, kakoune, ... }: kakoune.override {
plugins = (callPackage ./plugins.nix { }).plugins;
plugins = (callPackage ./plugins.nix { }) ++ [
./kaktex
];
}

View file

@ -0,0 +1,22 @@
{ fish, lib, writeScript, writeTextDir, kakouneUtils, ... }:
let
kaktex-script = writeScript "kaktex" ''
#!/usr/bin/env ${lib.getExe fish}
${builtins.readFile ./kaktex.fish}
'';
kaktex = writeTextDir "kaktex.kak" ''
hook global WinSetOption filetype=(tex|latex) %{
hook window WinDisplay '.*' %{
eval %sh{
${kaktex-script} set $kak_client $kak_session
}
}
}
'';
in
kakouneUtils.buildKakounePluginFrom2Nix {
pname = "kaktex";
version = "latest";
src = kaktex;
}

View file

@ -0,0 +1,26 @@
function usage
echo "Usage: "
echo " kaktex set [client] [session]"
echo " kaktex jump [file] [line] [column]"
exit 1
end
if test (count $argv) -lt 3
usage
end
switch $argv[1]
case "set"
set -U _kaktex_client $argv[2]
set -U _kaktex_session $argv[3]
case "jump"
echo "
evaluate-commands -client $_kaktex_client %{
evaluate-commands -try-client $_kaktex_client %{
edit -existing -- $argv[2] $(math $argv[3] + 1) $(math $argv[4] + 1)
}
}
" | kak -p $_kaktex_session
case '*'
usage
end

View file

@ -34,9 +34,7 @@ let
};
};
in
{
plugins = builtins.map kakounePlugin
[
builtins.map kakounePlugin [
# My own scripts
{
name = "latex.kak";
@ -204,6 +202,4 @@ in
alias global bo! buffer-only-force
'';
}
];
}
]