Skip to content

Instantly share code, notes, and snippets.

@lewalkingdad
Last active November 3, 2025 23:42
Show Gist options
  • Select an option

  • Save lewalkingdad/6fe0ef63418f1f87aa1d963c3778c707 to your computer and use it in GitHub Desktop.

Select an option

Save lewalkingdad/6fe0ef63418f1f87aa1d963c3778c707 to your computer and use it in GitHub Desktop.
Kakoune Tree Sitter Nix
{
config,
pkgs,
lib,
...
}:
let
groups = [
"variable"
"variable.builtin"
"variable.parameter"
"variable.parameter.builtin"
"variable.member"
"variable.other.member"
"variable.other.member.private"
"constant"
"constant.builtin"
"constant.builtin.boolean"
"constant.character"
"constant.character.escape"
"constant.macro"
"constant.numeric"
"constant.integer"
"constant.float"
"module"
"module.builtin"
"label"
"string"
"string.documentation"
"string.regexp"
"string.escape"
"string.special"
"string.special.symbol"
"string.special.url"
"string.special.path"
"character"
"character.special"
"boolean"
"number"
"number.float"
"type"
"type.builtin"
"type.definition"
"type.parameter"
"type.enum"
"type.enum.variant"
"attribute"
"attribute.builtin"
"property"
"function"
"function.builtin"
"function.call"
"function.macro"
"function.method"
"function.method.call"
"function.method.private"
"function.special"
"constructor"
"operator"
"keyword"
"keyword.coroutine"
"keyword.function"
"keyword.operator"
"keyword.import"
"keyword.type"
"keyword.modifier"
"keyword.repeat"
"keyword.return"
"keyword.debug"
"keyword.exception"
"keyword.conditional"
"keyword.conditional.ternary"
"keyword.directive"
"keyword.directive.define"
"keyword.storage"
"keyword.storage.type"
"keyword.storage.modifier"
"keyword.control.conditional"
"keyword.control.repeat"
"keyword.control.import"
"keyword.control.return"
"keyword.control.exception"
"punctuation.delimiter"
"punctuation.bracket"
"punctuation.special"
"comment"
"comment.line"
"comment.line.documentation"
"comment.block"
"comment.block.documentation"
"comment.unused"
"comment.documentation"
"comment.error"
"comment.warning"
"comment.todo"
"comment.note"
"markup"
"markup.strong"
"markup.bold"
"markup.italic"
"markup.strikethrough"
"markup.underline"
"markup.heading"
"markup.heading.marker"
"markup.heading.1"
"markup.heading.2"
"markup.heading.3"
"markup.heading.4"
"markup.heading.5"
"markup.heading.6"
"markup.quote"
"markup.math"
"markup.link"
"markup.link.label"
"markup.link.url"
"markup.link.text"
"markup.raw"
"markup.raw.block"
"markup.raw.inline"
"markup.list"
"markup.list.checked"
"markup.list.unchecked"
"markup.list.unnumbered"
"markup.list.numbered"
"diff"
"diff.plus"
"diff.plus.gutter"
"diff.minus"
"diff.minus.gutter"
"diff.delta"
"diff.delta.moved"
"diff.delta.conflict"
"diff.delta.gutter"
"tag"
"tag.builtin"
"tag.attribute"
"tag.delimiter"
"none"
"special"
"conceal"
"spell"
"nospell"
"embedded"
];
kts-master = pkgs.rustPlatform.buildRustPackage {
pname = "kak-tree-sitter-master";
version = "main-2025-10-26";
src = pkgs.fetchFromSourcehut {
owner = "~hadronized";
repo = "kak-tree-sitter";
rev = "cdcfb42da9affd9dd0db9e8df1173731c61e3d9f";
hash = "sha256-Q8R++fEJMZFftiI9zGjwF7X8mek2oc40Yl9WMUtQWEA=";
};
cargoHash = "sha256-lZNM5HqICP6JfaMiBjACcUNRTTTIRhq2ou8cOLU0yOU=";
};
only_file = (attrName: attrValue: attrValue == "regular");
get_include = (file_content: builtins.match "^.*inherits: (([a-z_-]+,?)+)+.*$" file_content);
has_include = file: null != get_include file.content;
map_queries =
lang_name:
let
lang_basepath = "${pkgs.helix}/lib/runtime/queries/";
query_files = lib.filterAttrs only_file (builtins.readDir "${lang_basepath}/${lang_name}");
in
pkgs.lib.mapAttrsToList (file: type: {
name = file;
content = builtins.readFile "${lang_basepath}/${lang_name}/${file}";
}) query_files;
needs_processing = (
lang_name:
let
lang_basepath = "${pkgs.helix}/lib/runtime/queries/";
in
if builtins.pathExists "${lang_basepath}/${lang_name}" then
builtins.any has_include (map_queries lang_name)
else
false
);
languagesConfig = builtins.fromTOML (builtins.readFile ./helix-languages.toml);
languages_to_process = builtins.filter (lang: needs_processing lang.name) languagesConfig.language;
processed_queries = builtins.map (
language:
let
queries_files = map_queries language.name;
in
rec {
lang = language;
destination = "${config.home.homeDirectory}/.config/kak-tree-sitter/runtime/queries/${lang.name}";
files = builtins.map (
file:
let
include_refs = pkgs.lib.splitString "," (builtins.head (get_include file.content));
includes = builtins.filter (include: null != include) (
builtins.map (
other_lang:
let
ref_path = "${pkgs.helix}/lib/runtime/queries/${other_lang}/${file.name}";
in
if builtins.pathExists ref_path then builtins.readFile ref_path else null
) include_refs
);
in
{
name = file.name;
content =
if has_include file then
builtins.concatStringsSep "\n" includes
else
builtins.readFile "${pkgs.helix}/lib/runtime/queries/${lang.name}/${file.name}";
}
) queries_files;
}
) languages_to_process;
standard_queries = builtins.map (lang: {
lang = lang;
destination = "${pkgs.helix}/lib/runtime/queries/${lang.name}";
}) (builtins.filter (lang: false == needs_processing lang.name) languagesConfig.language);
kakoune_queries = builtins.foldl' (
acc: query:
{
"${query.lang.name}".queries.source.local.path = query.destination;
}
// acc
) { } (standard_queries ++ processed_queries);
grammars = builtins.foldl' (
acc: lang:
{
"${lang.name}".source.local.path =
"${pkgs.helix}/lib/runtime/grammars/${lang.grammar or lang.name}.so";
}
// acc
) { } languagesConfig.language;
kts-config = {
highlight = { inherit groups; };
features = {
highlighting = true;
text_objects = true;
};
language = kakoune_queries;
grammar = grammars;
};
kts-config-toml = (pkgs.formats.toml { }).generate "kak-tree-sitter-config.toml" kts-config;
in
{
homeManagerModules.kakoune = {
home.packages = with pkgs; [
kakoune-lsp
kts-master
google-java-format
fzf
helix
fd
moreutils
nixfmt
usql
perl
bc
timewarrior
taskwarrior3
];
programs.kakoune = {
enable = true;
extraConfig = builtins.readFile ./kakrc;
plugins = with pkgs.kakounePlugins; [
rep
(pkgs.kakouneUtils.buildKakounePluginFrom2Nix {
pname = "kak-dap";
version = "2022-08-11";
src = pkgs.fetchgit {
url = "https://codeberg.org/jdugan6240/kak-dap";
rev = "355df2c627ceb124f4ff018c95762cf9c19068ae";
hash = "sha256-73DdcOduxMJ/KhEOQuJD3JgY52TYCQfdjiWeIwLxodE=";
};
})
];
};
xdg.configFile."kak/colors/catppuccin-mocha.kak".source = ./catppuccin-mocha.kak;
xdg.configFile."kak/plugins/password-store.kak".source = ./password-store.kak;
home.file =
(builtins.listToAttrs (
builtins.concatMap (
query:
builtins.map (file: {
name = ".config/kak-tree-sitter/runtime/queries/${query.lang.name}/${file.name}";
value = {
text = file.content;
};
}) query.files
) processed_queries
))
// {
".config/kak-tree-sitter/config.toml" = {
source = kts-config-toml;
};
};
};
}
@lewalkingdad
Copy link
Author

Here is the content of .config/kak-tree-sitter:

β”œβ”€β”€ config.toml -> /nix/store/pkhminjbia12xgi3mn1n1a5c3i5xdsd1-home-manager-files/.config/kak-tree-sitter/config.toml
β”œβ”€β”€ grammars -> /nix/store/pkhminjbia12xgi3mn1n1a5c3i5xdsd1-home-manager-files/.config/kak-tree-sitter/grammars
β”‚Β Β  β”œβ”€β”€ ada.so
β”‚Β Β  β”œβ”€β”€ adl.so
β”‚Β Β  β”œβ”€β”€ agda.so
β”‚Β Β  β”œβ”€β”€ alloy.so
β”‚Β Β  β”œβ”€β”€ amber.so
β”‚Β Β  β”œβ”€β”€ astro.so
β”‚Β Β  β”œβ”€β”€ awk.so
β”‚Β Β  β”œβ”€β”€ bash.so
β”‚Β Β  β”œβ”€β”€ bass.so
β”‚Β Β  β”œβ”€β”€ beancount.so
β”‚Β Β  β”œβ”€β”€ bibtex.so
β”‚Β Β  β”œβ”€β”€ bicep.so
β”‚Β Β  β”œβ”€β”€ bitbake.so
β”‚Β Β  β”œβ”€β”€ blade.so
β”‚Β Β  β”œβ”€β”€ blueprint.so
β”‚Β Β  β”œβ”€β”€ caddyfile.so
β”‚Β Β  β”œβ”€β”€ cairo.so
β”‚Β Β  β”œβ”€β”€ capnp.so
β”‚Β Β  β”œβ”€β”€ cel.so
β”‚Β Β  β”œβ”€β”€ circom.so
β”‚Β Β  β”œβ”€β”€ clarity.so
β”‚Β Β  β”œβ”€β”€ clojure.so
β”‚Β Β  β”œβ”€β”€ cmake.so
β”‚Β Β  β”œβ”€β”€ comment.so
β”‚Β Β  β”œβ”€β”€ cpon.so
β”‚Β Β  β”œβ”€β”€ cpp.so
β”‚Β Β  β”œβ”€β”€ crystal.so
β”‚Β Β  β”œβ”€β”€ c-sharp.so
β”‚Β Β  β”œβ”€β”€ c.so
β”‚Β Β  β”œβ”€β”€ css.so
β”‚Β Β  β”œβ”€β”€ csv.so
β”‚Β Β  β”œβ”€β”€ cue.so
β”‚Β Β  β”œβ”€β”€ cylc.so
β”‚Β Β  β”œβ”€β”€ dart.so
β”‚Β Β  β”œβ”€β”€ dbml.so
β”‚Β Β  β”œβ”€β”€ debian.so
β”‚Β Β  β”œβ”€β”€ devicetree.so
β”‚Β Β  β”œβ”€β”€ dhall.so
β”‚Β Β  β”œβ”€β”€ diff.so
β”‚Β Β  β”œβ”€β”€ djot.so
β”‚Β Β  β”œβ”€β”€ dockerfile.so
β”‚Β Β  β”œβ”€β”€ dot.so
β”‚Β Β  β”œβ”€β”€ d.so
β”‚Β Β  β”œβ”€β”€ dtd.so
β”‚Β Β  β”œβ”€β”€ dunstrc.so
β”‚Β Β  β”œβ”€β”€ earthfile.so
β”‚Β Β  β”œβ”€β”€ edoc.so
β”‚Β Β  β”œβ”€β”€ eex.so
β”‚Β Β  β”œβ”€β”€ elisp.so
β”‚Β Β  β”œβ”€β”€ elixir.so
β”‚Β Β  β”œβ”€β”€ elm.so
β”‚Β Β  β”œβ”€β”€ elvish.so
β”‚Β Β  β”œβ”€β”€ embedded-template.so
β”‚Β Β  β”œβ”€β”€ erlang.so
β”‚Β Β  β”œβ”€β”€ esdl.so
β”‚Β Β  β”œβ”€β”€ fennel.so
β”‚Β Β  β”œβ”€β”€ fga.so
β”‚Β Β  β”œβ”€β”€ fidl.so
β”‚Β Β  β”œβ”€β”€ fish.so
β”‚Β Β  β”œβ”€β”€ forth.so
β”‚Β Β  β”œβ”€β”€ fortran.so
β”‚Β Β  β”œβ”€β”€ fsharp.so
β”‚Β Β  β”œβ”€β”€ gas.so
β”‚Β Β  β”œβ”€β”€ gdscript.so
β”‚Β Β  β”œβ”€β”€ gherkin.so
β”‚Β Β  β”œβ”€β”€ ghostty.so
β”‚Β Β  β”œβ”€β”€ gitattributes.so
β”‚Β Β  β”œβ”€β”€ gitcommit.so
β”‚Β Β  β”œβ”€β”€ git-config.so
β”‚Β Β  β”œβ”€β”€ gitignore.so
β”‚Β Β  β”œβ”€β”€ git-rebase.so
β”‚Β Β  β”œβ”€β”€ gleam.so
β”‚Β Β  β”œβ”€β”€ glimmer.so
β”‚Β Β  β”œβ”€β”€ glsl.so
β”‚Β Β  β”œβ”€β”€ gn.so
β”‚Β Β  β”œβ”€β”€ godot-resource.so
β”‚Β Β  β”œβ”€β”€ gomod.so
β”‚Β Β  β”œβ”€β”€ go.so
β”‚Β Β  β”œβ”€β”€ gotmpl.so
β”‚Β Β  β”œβ”€β”€ gowork.so
β”‚Β Β  β”œβ”€β”€ gpr.so
β”‚Β Β  β”œβ”€β”€ graphql.so
β”‚Β Β  β”œβ”€β”€ gren.so
β”‚Β Β  β”œβ”€β”€ groovy.so
β”‚Β Β  β”œβ”€β”€ hare.so
β”‚Β Β  β”œβ”€β”€ haskell-persistent.so
β”‚Β Β  β”œβ”€β”€ haskell.so
β”‚Β Β  β”œβ”€β”€ hcl.so
β”‚Β Β  β”œβ”€β”€ heex.so
β”‚Β Β  β”œβ”€β”€ hocon.so
β”‚Β Β  β”œβ”€β”€ hoon.so
β”‚Β Β  β”œβ”€β”€ hosts.so
β”‚Β Β  β”œβ”€β”€ htmldjango.so
β”‚Β Β  β”œβ”€β”€ html.so
β”‚Β Β  β”œβ”€β”€ hurl.so
β”‚Β Β  β”œβ”€β”€ hyprlang.so
β”‚Β Β  β”œβ”€β”€ iex.so
β”‚Β Β  β”œβ”€β”€ ini.so
β”‚Β Β  β”œβ”€β”€ inko.so
β”‚Β Β  β”œβ”€β”€ ink.so
β”‚Β Β  β”œβ”€β”€ janet-simple.so
β”‚Β Β  β”œβ”€β”€ javascript.so
β”‚Β Β  β”œβ”€β”€ java.so
β”‚Β Β  β”œβ”€β”€ jinja2.so
β”‚Β Β  β”œβ”€β”€ jjdescription.so
β”‚Β Β  β”œβ”€β”€ jq.so
β”‚Β Β  β”œβ”€β”€ jsdoc.so
β”‚Β Β  β”œβ”€β”€ json5.so
β”‚Β Β  β”œβ”€β”€ jsonnet.so
β”‚Β Β  β”œβ”€β”€ json.so
β”‚Β Β  β”œβ”€β”€ julia.so
β”‚Β Β  β”œβ”€β”€ just.so
β”‚Β Β  β”œβ”€β”€ kdl.so
β”‚Β Β  β”œβ”€β”€ koka.so
β”‚Β Β  β”œβ”€β”€ kotlin.so
β”‚Β Β  β”œβ”€β”€ koto.so
β”‚Β Β  β”œβ”€β”€ latex.so
β”‚Β Β  β”œβ”€β”€ ldif.so
β”‚Β Β  β”œβ”€β”€ ld.so
β”‚Β Β  β”œβ”€β”€ lean.so
β”‚Β Β  β”œβ”€β”€ ledger.so
β”‚Β Β  β”œβ”€β”€ llvm-mir.so
β”‚Β Β  β”œβ”€β”€ llvm.so
β”‚Β Β  β”œβ”€β”€ log.so
β”‚Β Β  β”œβ”€β”€ lpf.so
β”‚Β Β  β”œβ”€β”€ lua.so
β”‚Β Β  β”œβ”€β”€ luau.so
β”‚Β Β  β”œβ”€β”€ mail.so
β”‚Β Β  β”œβ”€β”€ make.so
β”‚Β Β  β”œβ”€β”€ markdoc.so
β”‚Β Β  β”œβ”€β”€ markdown_inline.so
β”‚Β Β  β”œβ”€β”€ markdown.so
β”‚Β Β  β”œβ”€β”€ matlab.so
β”‚Β Β  β”œβ”€β”€ mermaid.so
β”‚Β Β  β”œβ”€β”€ meson.so
β”‚Β Β  β”œβ”€β”€ mojo.so
β”‚Β Β  β”œβ”€β”€ move.so
β”‚Β Β  β”œβ”€β”€ nasm.so
β”‚Β Β  β”œβ”€β”€ nginx.so
β”‚Β Β  β”œβ”€β”€ nickel.so
β”‚Β Β  β”œβ”€β”€ nim.so
β”‚Β Β  β”œβ”€β”€ nix.so
β”‚Β Β  β”œβ”€β”€ nu.so
β”‚Β Β  β”œβ”€β”€ ocaml-interface.so
β”‚Β Β  β”œβ”€β”€ ocaml.so
β”‚Β Β  β”œβ”€β”€ odin.so
β”‚Β Β  β”œβ”€β”€ ohm.so
β”‚Β Β  β”œβ”€β”€ opencl.so
β”‚Β Β  β”œβ”€β”€ openscad.so
β”‚Β Β  β”œβ”€β”€ org.so
β”‚Β Β  β”œβ”€β”€ pascal.so
β”‚Β Β  β”œβ”€β”€ passwd.so
β”‚Β Β  β”œβ”€β”€ pem.so
β”‚Β Β  β”œβ”€β”€ perl.so
β”‚Β Β  β”œβ”€β”€ pest.so
β”‚Β Β  β”œβ”€β”€ php-only.so
β”‚Β Β  β”œβ”€β”€ php.so
β”‚Β Β  β”œβ”€β”€ pkl.so
β”‚Β Β  β”œβ”€β”€ pod.so
β”‚Β Β  β”œβ”€β”€ ponylang.so
β”‚Β Β  β”œβ”€β”€ po.so
β”‚Β Β  β”œβ”€β”€ powershell.so
β”‚Β Β  β”œβ”€β”€ prisma.so
β”‚Β Β  β”œβ”€β”€ prolog.so
β”‚Β Β  β”œβ”€β”€ properties.so
β”‚Β Β  β”œβ”€β”€ proto.so
β”‚Β Β  β”œβ”€β”€ prql.so
β”‚Β Β  β”œβ”€β”€ pug.so
β”‚Β Β  β”œβ”€β”€ purescript.so
β”‚Β Β  β”œβ”€β”€ python.so
β”‚Β Β  β”œβ”€β”€ ql.so
β”‚Β Β  β”œβ”€β”€ qmljs.so
β”‚Β Β  β”œβ”€β”€ query.so
β”‚Β Β  β”œβ”€β”€ quint.so
β”‚Β Β  β”œβ”€β”€ regex.so
β”‚Β Β  β”œβ”€β”€ rego.so
β”‚Β Β  β”œβ”€β”€ rescript.so
β”‚Β Β  β”œβ”€β”€ robot.so
β”‚Β Β  β”œβ”€β”€ ron.so
β”‚Β Β  β”œβ”€β”€ r.so
β”‚Β Β  β”œβ”€β”€ rst.so
β”‚Β Β  β”œβ”€β”€ ruby.so
β”‚Β Β  β”œβ”€β”€ rust-format-args.so
β”‚Β Β  β”œβ”€β”€ rust.so
β”‚Β Β  β”œβ”€β”€ scala.so
β”‚Β Β  β”œβ”€β”€ scheme.so
β”‚Β Β  β”œβ”€β”€ scss.so
β”‚Β Β  β”œβ”€β”€ slang.so
β”‚Β Β  β”œβ”€β”€ slint.so
β”‚Β Β  β”œβ”€β”€ smali.so
β”‚Β Β  β”œβ”€β”€ smithy.so
β”‚Β Β  β”œβ”€β”€ sml.so
β”‚Β Β  β”œβ”€β”€ snakemake.so
β”‚Β Β  β”œβ”€β”€ solidity.so
β”‚Β Β  β”œβ”€β”€ sourcepawn.so
β”‚Β Β  β”œβ”€β”€ spade.so
β”‚Β Β  β”œβ”€β”€ spicedb.so
β”‚Β Β  β”œβ”€β”€ sql.so
β”‚Β Β  β”œβ”€β”€ sshclientconfig.so
β”‚Β Β  β”œβ”€β”€ strace.so
β”‚Β Β  β”œβ”€β”€ supercollider.so
β”‚Β Β  β”œβ”€β”€ svelte.so
β”‚Β Β  β”œβ”€β”€ sway.so
β”‚Β Β  β”œβ”€β”€ swift.so
β”‚Β Β  β”œβ”€β”€ t32.so
β”‚Β Β  β”œβ”€β”€ tablegen.so
β”‚Β Β  β”œβ”€β”€ tact.so
β”‚Β Β  β”œβ”€β”€ task.so
β”‚Β Β  β”œβ”€β”€ tcl.so
β”‚Β Β  β”œβ”€β”€ teal.so
β”‚Β Β  β”œβ”€β”€ templ.so
β”‚Β Β  β”œβ”€β”€ tera.so
β”‚Β Β  β”œβ”€β”€ textproto.so
β”‚Β Β  β”œβ”€β”€ thrift.so
β”‚Β Β  β”œβ”€β”€ tlaplus.so
β”‚Β Β  β”œβ”€β”€ todotxt.so
β”‚Β Β  β”œβ”€β”€ toml.so
β”‚Β Β  β”œβ”€β”€ tsx.so
β”‚Β Β  β”œβ”€β”€ twig.so
β”‚Β Β  β”œβ”€β”€ typescript.so
β”‚Β Β  β”œβ”€β”€ typespec.so
β”‚Β Β  β”œβ”€β”€ typst.so
β”‚Β Β  β”œβ”€β”€ ungrammar.so
β”‚Β Β  β”œβ”€β”€ unison.so
β”‚Β Β  β”œβ”€β”€ uxntal.so
β”‚Β Β  β”œβ”€β”€ vala.so
β”‚Β Β  β”œβ”€β”€ vento.so
β”‚Β Β  β”œβ”€β”€ verilog.so
β”‚Β Β  β”œβ”€β”€ vhdl.so
β”‚Β Β  β”œβ”€β”€ vhs.so
β”‚Β Β  β”œβ”€β”€ v.so
β”‚Β Β  β”œβ”€β”€ vue.so
β”‚Β Β  β”œβ”€β”€ wast.so
β”‚Β Β  β”œβ”€β”€ wat.so
β”‚Β Β  β”œβ”€β”€ werk.so
β”‚Β Β  β”œβ”€β”€ wesl.so
β”‚Β Β  β”œβ”€β”€ wgsl.so
β”‚Β Β  β”œβ”€β”€ wit.so
β”‚Β Β  β”œβ”€β”€ xit.so
β”‚Β Β  β”œβ”€β”€ xml.so
β”‚Β Β  β”œβ”€β”€ xtc.so
β”‚Β Β  β”œβ”€β”€ yaml.so
β”‚Β Β  β”œβ”€β”€ yara.so
β”‚Β Β  β”œβ”€β”€ yuck.so
β”‚Β Β  └── zig.so
└── queries -> /nix/store/pkhminjbia12xgi3mn1n1a5c3i5xdsd1-home-manager-files/.config/kak-tree-sitter/queries
    β”œβ”€β”€ ada
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ adl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ agda
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ alloy
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ amber
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ astro
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ awk
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ bash
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ bass
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ beancount
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ bibtex
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── tags.scm
    β”œβ”€β”€ bicep
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ bitbake
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ blade
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ blueprint
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ c
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ caddyfile
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ cairo
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ capnp
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ cel
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ circom
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ clarity
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ clojure
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ cmake
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ codeql
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ comment
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ common-lisp
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ cpon
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ cpp
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ crystal
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ c-sharp
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ css
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ csv
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ cue
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ cylc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ d
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ dart
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ dbml
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ debian
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ devicetree
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ dhall
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ diff
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ djot
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ docker-compose
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ dockerfile
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ dot
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ dtd
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ dune
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ dunstrc
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ earthfile
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ ecma
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ README.md
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ edoc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ eex
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ ejs
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ elisp
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── tags.scm
    β”œβ”€β”€ elixir
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ elm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ elvish
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ env
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ erb
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ erlang
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ esdl
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ fennel
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ fga
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ fidl
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ fish
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ forth
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ fortran
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ fsharp
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ gas
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ gdscript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ gemini
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ gherkin
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ ghostty
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ git-attributes
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ git-commit
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ git-config
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ git-ignore
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ git-notes
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ git-rebase
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ _gjs
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ gjs
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ gleam
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ glimmer
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ glsl
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ gn
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ go
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ godot-resource
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ gomod
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ gotmpl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ gowork
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ gpr
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ graphql
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ gren
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ groovy
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ gts
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ hare
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ haskell
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ haskell-persistent
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ hcl
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ heex
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ helm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ hocon
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ hoon
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ hosts
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ html
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ htmldjango
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ hurl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ hyprlang
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ iex
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ ini
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ ink
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ inko
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ janet
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ java
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ _javascript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── tags.scm
    β”œβ”€β”€ javascript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ jinja
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ jjdescription
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ jq
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ jsdoc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ json
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ json5
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ jsonc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ json-ld
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ jsonnet
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ _jsx
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ jsx
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ julia
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ just
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ kdl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ koka
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ kotlin
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ koto
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ latex
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ ld
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ ldif
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ lean
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ ledger
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ llvm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ llvm-mir
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ llvm-mir-yaml
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ log
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ lpf
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ lua
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ luau
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ mail
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ make
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ markdoc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ markdown
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ markdown.inline
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ markdown-rustdoc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ matlab
    β”‚Β Β  β”œβ”€β”€ context.scm
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ mermaid
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ meson
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ mojo
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ move
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ msbuild
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ nasm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ nestedtext
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ nginx
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ nickel
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ nim
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ nix
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ nu
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ nunjucks
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ ocaml
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ ocaml-interface
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ odin
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ ohm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ opencl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ openscad
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ org
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ pascal
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ passwd
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ pem
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ perl
    β”‚Β Β  β”œβ”€β”€ fold.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ pest
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ php
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ php-only
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── tags.scm
    β”œβ”€β”€ pkgbuild
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ pkl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ po
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ pod
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ ponylang
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ powershell
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ prisma
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ prolog
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ properties
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ protobuf
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ prql
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ pug
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ purescript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ python
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ qml
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ quarto
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ quint
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ r
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ racket
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ regex
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ rego
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ rescript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ rmarkdown
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ robot
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ ron
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ rst
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ ruby
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ rust
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ rust-format-args
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ rust-format-args-macro
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ sage
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ scala
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ scheme
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ scss
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ slang
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ slint
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ smali
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ smithy
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ sml
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ snakemake
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ LICENSE
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ solidity
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ sourcepawn
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ spade
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ spicedb
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── tags.scm
    β”œβ”€β”€ sql
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ sshclientconfig
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ starlark
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ strace
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ supercollider
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ svelte
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ sway
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ swift
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ systemd
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ t32
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ tablegen
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ tact
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ task
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ tcl
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ teal
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ templ
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ tera
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ textproto
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ tfvars
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ thrift
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ tlaplus
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ todotxt
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ toml
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ tsq
    β”‚Β Β  β”œβ”€β”€ folds.scm
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ tsx
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ twig
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ _typescript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ typescript
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  β”œβ”€β”€ tags.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ typespec
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ typst
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ ungrammar
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ unison
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ uxntal
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ v
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ vala
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ vento
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ verilog
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ vhdl
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ vhs
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ vue
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ wast
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ wat
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ webc
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ werk
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ wesl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ wgsl
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ wit
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── indents.scm
    β”œβ”€β”€ wren
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  β”œβ”€β”€ locals.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ xit
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ xml
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  └── injections.scm
    β”œβ”€β”€ xtc
    β”‚Β Β  └── highlights.scm
    β”œβ”€β”€ yaml
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ indents.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── textobjects.scm
    β”œβ”€β”€ yara
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  β”œβ”€β”€ injections.scm
    β”‚Β Β  └── locals.scm
    β”œβ”€β”€ yuck
    β”‚Β Β  β”œβ”€β”€ highlights.scm
    β”‚Β Β  └── injections.scm
    └── zig
        β”œβ”€β”€ highlights.scm
        β”œβ”€β”€ indents.scm
        β”œβ”€β”€ injections.scm
        └── textobjects.scm

282 directories, 1038 files

@lewalkingdad
Copy link
Author

lewalkingdad commented Oct 30, 2025

From Discord chats: to get the best out of tree-sitter and kakoune we are better off using the main branch of kak-tree-sitter:

kts-master = pkgs.rustPlatform.buildRustPackage {
        pname = "kak-tree-sitter-master";
	version = "main-2025-10-26";
	src = pkgs.fetchFromSourcehut {
    	 owner = "~hadronized";
    	 repo = "kak-tree-sitter";
    	 rev = "cdcfb42da9affd9dd0db9e8df1173731c61e3d9f";
    	 hash = "sha256-Q8R++fEJMZFftiI9zGjwF7X8mek2oc40Yl9WMUtQWEA=";
	};

	cargoHash = "sha256-lZNM5HqICP6JfaMiBjACcUNRTTTIRhq2ou8cOLU0yOU=";
      };

I will need to also simplify the config.toml, known working config as a reference: https://gist.github.com/saifulapm/06749fc2f3c13c269b13a0600c11350a

Also I will have to change / edit queries, kts does not support includes, I won't be able to reuse as is the helix queries, I will have to parse them check for any includes, and if there is any I will have to concat the referenced file in the grammer calling the include instruction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment