Helix: html tag macros

This commit is contained in:
Filippo Berto 2025-08-26 10:27:50 +02:00
parent b16e507c03
commit fc5aa1e47a
Signed by: bertof
GPG key ID: 9DBF7E6A1D2CE9ED

View file

@ -79,11 +79,43 @@
character = ""; character = "";
}; };
}; };
keys.normal = { keys =
"C-A-l" = ":format"; let
"A-r" = ":reload"; macro = pkgs.writeShellScript "macro" ''
"C-A-r" = ":reload-all"; mode="$1"
}; shift
case "$mode" in
t)
# Block tag with newlines
echo "<xxx>"
cat
echo "</xxx>"
;;
i)
# Inline tag (no newlines)
echo -n "<xxx>"
cat
echo -n "</xxx>"
;;
*)
echo "Unknown macro mode: $mode" >&2
exit 1
;;
esac
'';
in
{
normal = {
"C-A-l" = ":format";
"A-r" = ":reload";
"C-A-r" = ":reload-all";
"L" = { "i" = "@|${macro} i<ret>sxxx<ret>c"; "t" = "@|${macro} t<ret>sxxx<ret>c"; };
};
select = {
"L" = { "i" = "@|${macro} i<ret>sxxx<ret>c"; "t" = "@|${macro} t<ret>sxxx<ret>c"; };
};
};
}; };
themes = themes =
let let
@ -103,56 +135,24 @@
{ {
base16 = { base16 = {
"ui.menu" = transparent; "ui.menu" = transparent;
"ui.menu.selected" = { "ui.menu.selected" = { modifiers = [ "reversed" ]; };
modifiers = [ "reversed" ]; "ui.linenr" = { fg = gray; bg = dark-gray; };
}; "ui.popup" = { modifiers = [ "reversed" ]; };
"ui.linenr" = { "ui.linenr.selected" = { fg = white; bg = black; modifiers = [ "bold" ]; };
fg = gray; "ui.selection" = { fg = black; bg = blue; };
bg = dark-gray; "ui.selection.primary" = { modifiers = [ "reversed" ]; };
}; "comment" = { fg = gray; };
"ui.popup" = { "ui.statusline" = { fg = white; bg = dark-gray; };
modifiers = [ "reversed" ]; "ui.statusline.inactive" = { fg = dark-gray; bg = white; };
}; "ui.help" = { fg = dark-gray; bg = white; };
"ui.linenr.selected" = { "ui.cursor" = { modifiers = [ "reversed" ]; };
fg = white;
bg = black;
modifiers = [ "bold" ];
};
"ui.selection" = {
fg = black;
bg = blue;
};
"ui.selection.primary" = {
modifiers = [ "reversed" ];
};
"comment" = {
fg = gray;
};
"ui.statusline" = {
fg = white;
bg = dark-gray;
};
"ui.statusline.inactive" = {
fg = dark-gray;
bg = white;
};
"ui.help" = {
fg = dark-gray;
bg = white;
};
"ui.cursor" = {
modifiers = [ "reversed" ];
};
"variable" = red; "variable" = red;
"variable.builtin" = orange; "variable.builtin" = orange;
"constant.numeric" = orange; "constant.numeric" = orange;
"constant" = orange; "constant" = orange;
"attributes" = yellow; "attributes" = yellow;
"type" = yellow; "type" = yellow;
"ui.cursor.match" = { "ui.cursor.match" = { fg = yellow; modifiers = [ "underlined" ]; };
fg = yellow;
modifiers = [ "underlined" ];
};
"string" = green; "string" = green;
"variable.other.member" = red; "variable.other.member" = red;
"constant.character.escape" = cyan; "constant.character.escape" = cyan;
@ -165,12 +165,8 @@
"diff.plus" = green; "diff.plus" = green;
"diff.delta" = yellow; "diff.delta" = yellow;
"diff.minus" = red; "diff.minus" = red;
"diagnostic" = { "diagnostic" = { modifiers = [ "underlined" ]; };
modifiers = [ "underlined" ]; "ui.gutter" = { bg = black; };
};
"ui.gutter" = {
bg = black;
};
"info" = blue; "info" = blue;
"hint" = dark-gray; "hint" = dark-gray;
"debug" = dark-gray; "debug" = dark-gray;