aboutsummaryrefslogtreecommitdiff
path: root/helix-22.03-x86_64-windows
diff options
context:
space:
mode:
Diffstat (limited to 'helix-22.03-x86_64-windows')
-rw-r--r--helix-22.03-x86_64-windows/LICENSE373
-rw-r--r--helix-22.03-x86_64-windows/README.md77
-rw-r--r--helix-22.03-x86_64-windows/hx.exebin0 -> 12522496 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/.gitkeep0
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/bash.dllbin0 -> 574976 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/c-sharp.dllbin0 -> 3102720 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/c.dllbin0 -> 448000 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/cmake.dllbin0 -> 179200 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/comment.dllbin0 -> 109056 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/cpp.dllbin0 -> 1681408 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/css.dllbin0 -> 168448 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/dart.dllbin0 -> 671744 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/dockerfile.dllbin0 -> 144384 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/elixir.dllbin0 -> 1833984 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/elm.dllbin0 -> 408064 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/erlang.dllbin0 -> 393728 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/fish.dllbin0 -> 196096 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/git-commit.dllbin0 -> 154112 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/git-config.dllbin0 -> 115712 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/git-diff.dllbin0 -> 137216 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/git-rebase.dllbin0 -> 117248 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/glsl.dllbin0 -> 610816 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/go.dllbin0 -> 376832 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/graphql.dllbin0 -> 155648 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/haskell.dllbin0 -> 3136512 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/hcl.dllbin0 -> 766464 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/html.dllbin0 -> 164864 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/iex.dllbin0 -> 111616 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/java.dllbin0 -> 416256 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/javascript.dllbin0 -> 362496 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/json.dllbin0 -> 110080 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/julia.dllbin0 -> 1357824 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/kotlin.dllbin0 -> 3786240 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/latex.dllbin0 -> 1696256 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/lean.dllbin0 -> 15764992 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/ledger.dllbin0 -> 280576 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/llvm-mir.dllbin0 -> 296448 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/llvm.dllbin0 -> 1391616 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/lua.dllbin0 -> 257536 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/make.dllbin0 -> 270336 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/markdown.dllbin0 -> 941056 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/nix.dllbin0 -> 157184 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/ocaml-interface.dllbin0 -> 2394112 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/ocaml.dllbin0 -> 2853376 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/org.dllbin0 -> 692224 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/perl.dllbin0 -> 3372544 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/php.dllbin0 -> 844800 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/protobuf.dllbin0 -> 162304 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/python.dllbin0 -> 457216 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/regex.dllbin0 -> 117760 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/rescript.dllbin0 -> 502272 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/ruby.dllbin0 -> 1150976 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/rust.dllbin0 -> 1065984 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/scala.dllbin0 -> 617984 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/solidity.dllbin0 -> 655872 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/svelte.dllbin0 -> 153088 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/tablegen.dllbin0 -> 169984 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/toml.dllbin0 -> 134656 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/tsq.dllbin0 -> 113152 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/tsx.dllbin0 -> 1553920 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/twig.dllbin0 -> 110080 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/typescript.dllbin0 -> 1508352 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/vue.dllbin0 -> 174080 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/wgsl.dllbin0 -> 182784 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/yaml.dllbin0 -> 352768 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/grammars/zig.dllbin0 -> 821248 bytes
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/bash/highlights.scm54
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/bash/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/c-sharp/highlights.scm336
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/c-sharp/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/c/highlights.scm87
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/c/indents.toml16
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/c/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/c/textobjects.scm17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cmake/highlights.scm97
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cmake/indents.toml12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cmake/injections.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cmake/textobjects.scm12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/comment/highlights.scm30
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cpp/highlights.scm67
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cpp/indents.toml17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cpp/injections.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/cpp/textobjects.scm7
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/css/highlights.scm64
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/css/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/dart/highlights.scm237
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/dart/indents.toml20
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/dart/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/dart/locals.scm20
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/dockerfile/highlights.scm51
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/dockerfile/injections.scm6
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/elixir/highlights.scm221
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/elixir/injections.scm9
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/elm/highlights.scm83
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/elm/injections.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/elm/locals.scm14
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/elm/tags.scm19
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/erlang/highlights.scm118
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/erlang/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/fish/highlights.scm156
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/fish/indents.toml12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/fish/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/fish/textobjects.scm5
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/git-commit/highlights.scm14
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/git-commit/injections.scm8
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/git-config/highlights.scm27
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/git-diff/highlights.scm6
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/git-rebase/highlights.scm11
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/git-rebase/injections.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/glsl/folds.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/glsl/highlights.scm37
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/glsl/indents.toml19
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/glsl/injections.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/glsl/locals.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/go/highlights.scm152
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/go/indents.toml30
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/go/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/go/locals.scm30
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/go/tags.scm30
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/go/textobjects.scm25
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/graphql/highlights.scm163
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/haskell/highlights.scm125
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/haskell/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/haskell/locals.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/hcl/folds.scm6
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/hcl/highlights.scm100
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/hcl/indents.toml13
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/hcl/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/html/highlights.scm12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/html/injections.scm10
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/iex/highlights.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/iex/injections.scm6
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/java/highlights.scm130
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/java/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-jsx.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-params.scm12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/highlights.scm205
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/indents.toml28
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/injections.scm28
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/locals.scm23
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/javascript/tags.scm88
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/json/highlights.scm20
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/json/indents.toml9
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/julia/folds.scm11
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/julia/highlights.scm184
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/julia/injections.scm5
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/julia/locals.scm59
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/kotlin/folds.scm17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/kotlin/highlights.scm295
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/kotlin/injections.scm36
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/latex/folds.scm12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/latex/highlights.scm410
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/latex/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lean/folds.scm15
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lean/highlights.scm217
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lean/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lean/locals.scm5
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ledger/highlights.scm38
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ledger/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/highlights.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/indents.toml3
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/injections.scm9
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir/highlights.scm136
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir/indents.toml7
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm-mir/textobjects.scm12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm/highlights.scm158
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm/indents.toml8
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm/locals.scm14
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/llvm/textobjects.scm20
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lua/highlights.scm166
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lua/indents.toml24
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/lua/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/make/highlights.scm170
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/make/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/markdown/highlights.scm46
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/markdown/injections.scm9
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/nix/highlights.scm90
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/nix/indents.toml18
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/highlights.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ocaml/highlights.scm160
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ocaml/indents.toml13
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ocaml/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ocaml/locals.scm24
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/org/highlights.scm24
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/org/injections.scm4
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/perl/highlights.scm181
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/perl/indents.toml17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/perl/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/perl/textobjects.scm17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/php/highlights.scm118
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/php/indents.toml17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/php/injections.scm6
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/php/tags.scm26
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/php/textobjects.scm34
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/protobuf/highlights.scm58
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/protobuf/indents.toml12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/protobuf/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/python/highlights.scm121
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/python/indents.toml39
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/python/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/python/tags.scm12
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/python/textobjects.scm18
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/regex/highlights.scm53
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm178
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm8
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm16
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm146
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml25
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm27
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm64
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rust/highlights.scm356
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rust/indents.toml28
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rust/injections.scm26
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rust/locals.scm17
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/rust/textobjects.scm35
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/scala/highlights.scm203
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/scala/indents.toml23
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/scala/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/solidity/highlights.scm189
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/svelte/highlights.scm68
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/svelte/indents.toml18
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/svelte/injections.scm30
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tablegen/highlights.scm90
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tablegen/indents.toml7
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tablegen/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tablegen/textobjects.scm16
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/toml/highlights.scm33
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/toml/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tsq/highlights.scm46
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tsq/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tsx/highlights.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/tsx/injections.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/twig/highlights.scm16
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/twig/injections.scm3
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/typescript/highlights.scm36
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/typescript/indents.toml28
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/typescript/injections.scm1
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/typescript/locals.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/typescript/tags.scm23
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/vue/highlights.scm21
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/vue/injections.scm20
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/wgsl/highlights.scm102
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/wgsl/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/yaml/highlights.scm43
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/yaml/indents.toml3
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/yaml/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/zig/highlights.scm234
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/zig/indents.toml16
-rw-r--r--helix-22.03-x86_64-windows/runtime/queries/zig/injections.scm2
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/README.md9
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/base16_default_dark.toml73
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/base16_default_light.toml73
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/base16_terminal.toml51
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/bogster.toml69
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/dark_plus.toml114
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/dracula.toml63
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/everforest_dark.toml105
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/everforest_light.toml105
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/gruvbox.toml95
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/gruvbox_light.toml96
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/ingrid.toml64
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/monokai.toml99
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/monokai_pro.toml115
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/monokai_pro_machine.toml115
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/monokai_pro_octagon.toml115
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/monokai_pro_ristretto.toml115
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/monokai_pro_spectrum.toml115
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/nord.toml117
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/onedark.toml86
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/rose_pine.toml81
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/rose_pine_dawn.toml81
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/serika-dark.toml99
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/serika-light.toml100
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/solarized_dark.toml113
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/solarized_light.toml114
-rw-r--r--helix-22.03-x86_64-windows/runtime/themes/spacebones_light.toml79
-rw-r--r--helix-22.03-x86_64-windows/runtime/tutor.txt421
281 files changed, 11925 insertions, 0 deletions
diff --git a/helix-22.03-x86_64-windows/LICENSE b/helix-22.03-x86_64-windows/LICENSE
new file mode 100644
index 0000000..a612ad9
--- /dev/null
+++ b/helix-22.03-x86_64-windows/LICENSE
@@ -0,0 +1,373 @@
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
diff --git a/helix-22.03-x86_64-windows/README.md b/helix-22.03-x86_64-windows/README.md
new file mode 100644
index 0000000..4052d94
--- /dev/null
+++ b/helix-22.03-x86_64-windows/README.md
@@ -0,0 +1,77 @@
+# Helix
+
+
+[![Build status](https://github.com/helix-editor/helix/actions/workflows/build.yml/badge.svg)](https://github.com/helix-editor/helix/actions)
+
+![Screenshot](./screenshot.png)
+
+A kakoune / neovim inspired editor, written in Rust.
+
+The editing model is very heavily based on kakoune; during development I found
+myself agreeing with most of kakoune's design decisions.
+
+For more information, see the [website](https://helix-editor.com) or
+[documentation](https://docs.helix-editor.com/).
+
+All shortcuts/keymaps can be found [in the documentation on the website](https://docs.helix-editor.com/keymap.html).
+
+[Troubleshooting](https://github.com/helix-editor/helix/wiki/Troubleshooting)
+
+# Features
+
+- Vim-like modal editing
+- Multiple selections
+- Built-in language server support
+- Smart, incremental syntax highlighting and code editing via tree-sitter
+
+It's a terminal-based editor first, but I'd like to explore a custom renderer
+(similar to emacs) in wgpu or skulpin.
+
+Note: Only certain languages have indentation definitions at the moment. Check
+`runtime/queries/<lang>/` for `indents.toml`.
+
+# Installation
+
+We provide packaging for various distributions, but here's a quick method to
+build from source.
+
+```
+git clone https://github.com/helix-editor/helix
+cd helix
+cargo install --path helix-term
+hx --grammar fetch
+hx --grammar build
+```
+
+This will install the `hx` binary to `$HOME/.cargo/bin` and build tree-sitter grammars.
+
+Helix also needs its runtime files so make sure to copy/symlink the `runtime/` directory into the
+config directory (for example `~/.config/helix/runtime` on Linux/macOS, or `%AppData%/helix/runtime` on Windows).
+This location can be overridden via the `HELIX_RUNTIME` environment variable.
+
+Packages already solve this for you by wrapping the `hx` binary with a wrapper
+that sets the variable to the install dir.
+
+> NOTE: running via cargo also doesn't require setting explicit `HELIX_RUNTIME` path, it will automatically
+> detect the `runtime` directory in the project root.
+
+[![Packaging status](https://repology.org/badge/vertical-allrepos/helix.svg)](https://repology.org/project/helix/versions)
+
+## MacOS
+
+Helix can be installed on MacOS through homebrew via:
+
+```
+brew tap helix-editor/helix
+brew install helix
+```
+
+# Contributing
+
+Contributing guidelines can be found [here](./docs/CONTRIBUTING.md).
+
+# Getting help
+
+Your question might already be answered on the [FAQ](https://github.com/helix-editor/helix/wiki/FAQ).
+
+Discuss the project on the community [Matrix Space](https://matrix.to/#/#helix-community:matrix.org) (make sure to join `#helix-editor:matrix.org` if you're on a client that doesn't support Matrix Spaces yet).
diff --git a/helix-22.03-x86_64-windows/hx.exe b/helix-22.03-x86_64-windows/hx.exe
new file mode 100644
index 0000000..e610347
--- /dev/null
+++ b/helix-22.03-x86_64-windows/hx.exe
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/.gitkeep b/helix-22.03-x86_64-windows/runtime/grammars/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/.gitkeep
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/bash.dll b/helix-22.03-x86_64-windows/runtime/grammars/bash.dll
new file mode 100644
index 0000000..3c36fa9
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/bash.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/c-sharp.dll b/helix-22.03-x86_64-windows/runtime/grammars/c-sharp.dll
new file mode 100644
index 0000000..bb7a663
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/c-sharp.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/c.dll b/helix-22.03-x86_64-windows/runtime/grammars/c.dll
new file mode 100644
index 0000000..3e049ed
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/c.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/cmake.dll b/helix-22.03-x86_64-windows/runtime/grammars/cmake.dll
new file mode 100644
index 0000000..e03f7af
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/cmake.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/comment.dll b/helix-22.03-x86_64-windows/runtime/grammars/comment.dll
new file mode 100644
index 0000000..90de920
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/comment.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/cpp.dll b/helix-22.03-x86_64-windows/runtime/grammars/cpp.dll
new file mode 100644
index 0000000..2a67f15
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/cpp.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/css.dll b/helix-22.03-x86_64-windows/runtime/grammars/css.dll
new file mode 100644
index 0000000..404d490
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/css.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/dart.dll b/helix-22.03-x86_64-windows/runtime/grammars/dart.dll
new file mode 100644
index 0000000..f41ea9c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/dart.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/dockerfile.dll b/helix-22.03-x86_64-windows/runtime/grammars/dockerfile.dll
new file mode 100644
index 0000000..6a248d4
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/dockerfile.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/elixir.dll b/helix-22.03-x86_64-windows/runtime/grammars/elixir.dll
new file mode 100644
index 0000000..814796d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/elixir.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/elm.dll b/helix-22.03-x86_64-windows/runtime/grammars/elm.dll
new file mode 100644
index 0000000..03be45d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/elm.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/erlang.dll b/helix-22.03-x86_64-windows/runtime/grammars/erlang.dll
new file mode 100644
index 0000000..c0e54ec
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/erlang.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/fish.dll b/helix-22.03-x86_64-windows/runtime/grammars/fish.dll
new file mode 100644
index 0000000..43dc832
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/fish.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/git-commit.dll b/helix-22.03-x86_64-windows/runtime/grammars/git-commit.dll
new file mode 100644
index 0000000..90abf69
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/git-commit.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/git-config.dll b/helix-22.03-x86_64-windows/runtime/grammars/git-config.dll
new file mode 100644
index 0000000..8289918
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/git-config.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/git-diff.dll b/helix-22.03-x86_64-windows/runtime/grammars/git-diff.dll
new file mode 100644
index 0000000..939d5e8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/git-diff.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/git-rebase.dll b/helix-22.03-x86_64-windows/runtime/grammars/git-rebase.dll
new file mode 100644
index 0000000..5e94008
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/git-rebase.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/glsl.dll b/helix-22.03-x86_64-windows/runtime/grammars/glsl.dll
new file mode 100644
index 0000000..b6871c2
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/glsl.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/go.dll b/helix-22.03-x86_64-windows/runtime/grammars/go.dll
new file mode 100644
index 0000000..9b58456
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/go.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/graphql.dll b/helix-22.03-x86_64-windows/runtime/grammars/graphql.dll
new file mode 100644
index 0000000..dee2cd8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/graphql.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/haskell.dll b/helix-22.03-x86_64-windows/runtime/grammars/haskell.dll
new file mode 100644
index 0000000..a28a9ea
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/haskell.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/hcl.dll b/helix-22.03-x86_64-windows/runtime/grammars/hcl.dll
new file mode 100644
index 0000000..ea50eeb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/hcl.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/html.dll b/helix-22.03-x86_64-windows/runtime/grammars/html.dll
new file mode 100644
index 0000000..3aaebd5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/html.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/iex.dll b/helix-22.03-x86_64-windows/runtime/grammars/iex.dll
new file mode 100644
index 0000000..a5c1091
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/iex.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/java.dll b/helix-22.03-x86_64-windows/runtime/grammars/java.dll
new file mode 100644
index 0000000..fc5a1ad
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/java.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/javascript.dll b/helix-22.03-x86_64-windows/runtime/grammars/javascript.dll
new file mode 100644
index 0000000..a336f76
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/javascript.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/json.dll b/helix-22.03-x86_64-windows/runtime/grammars/json.dll
new file mode 100644
index 0000000..8c768af
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/json.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/julia.dll b/helix-22.03-x86_64-windows/runtime/grammars/julia.dll
new file mode 100644
index 0000000..e59a7a8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/julia.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/kotlin.dll b/helix-22.03-x86_64-windows/runtime/grammars/kotlin.dll
new file mode 100644
index 0000000..16647f3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/kotlin.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/latex.dll b/helix-22.03-x86_64-windows/runtime/grammars/latex.dll
new file mode 100644
index 0000000..c1c3dcd
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/latex.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/lean.dll b/helix-22.03-x86_64-windows/runtime/grammars/lean.dll
new file mode 100644
index 0000000..b04de33
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/lean.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/ledger.dll b/helix-22.03-x86_64-windows/runtime/grammars/ledger.dll
new file mode 100644
index 0000000..8b9ef05
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/ledger.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/llvm-mir.dll b/helix-22.03-x86_64-windows/runtime/grammars/llvm-mir.dll
new file mode 100644
index 0000000..074c7a7
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/llvm-mir.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/llvm.dll b/helix-22.03-x86_64-windows/runtime/grammars/llvm.dll
new file mode 100644
index 0000000..50b820f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/llvm.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/lua.dll b/helix-22.03-x86_64-windows/runtime/grammars/lua.dll
new file mode 100644
index 0000000..2444dbf
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/lua.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/make.dll b/helix-22.03-x86_64-windows/runtime/grammars/make.dll
new file mode 100644
index 0000000..79108f1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/make.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/markdown.dll b/helix-22.03-x86_64-windows/runtime/grammars/markdown.dll
new file mode 100644
index 0000000..2732cbb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/markdown.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/nix.dll b/helix-22.03-x86_64-windows/runtime/grammars/nix.dll
new file mode 100644
index 0000000..9726c48
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/nix.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/ocaml-interface.dll b/helix-22.03-x86_64-windows/runtime/grammars/ocaml-interface.dll
new file mode 100644
index 0000000..a9ed18b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/ocaml-interface.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/ocaml.dll b/helix-22.03-x86_64-windows/runtime/grammars/ocaml.dll
new file mode 100644
index 0000000..20090ad
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/ocaml.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/org.dll b/helix-22.03-x86_64-windows/runtime/grammars/org.dll
new file mode 100644
index 0000000..bdb37e1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/org.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/perl.dll b/helix-22.03-x86_64-windows/runtime/grammars/perl.dll
new file mode 100644
index 0000000..7eb496d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/perl.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/php.dll b/helix-22.03-x86_64-windows/runtime/grammars/php.dll
new file mode 100644
index 0000000..0f32de1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/php.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/protobuf.dll b/helix-22.03-x86_64-windows/runtime/grammars/protobuf.dll
new file mode 100644
index 0000000..4c82161
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/protobuf.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/python.dll b/helix-22.03-x86_64-windows/runtime/grammars/python.dll
new file mode 100644
index 0000000..2787290
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/python.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/regex.dll b/helix-22.03-x86_64-windows/runtime/grammars/regex.dll
new file mode 100644
index 0000000..aaca090
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/regex.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/rescript.dll b/helix-22.03-x86_64-windows/runtime/grammars/rescript.dll
new file mode 100644
index 0000000..c90c8c4
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/rescript.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/ruby.dll b/helix-22.03-x86_64-windows/runtime/grammars/ruby.dll
new file mode 100644
index 0000000..189d9b9
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/ruby.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/rust.dll b/helix-22.03-x86_64-windows/runtime/grammars/rust.dll
new file mode 100644
index 0000000..6e367ea
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/rust.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/scala.dll b/helix-22.03-x86_64-windows/runtime/grammars/scala.dll
new file mode 100644
index 0000000..1666831
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/scala.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/solidity.dll b/helix-22.03-x86_64-windows/runtime/grammars/solidity.dll
new file mode 100644
index 0000000..eb4151f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/solidity.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/svelte.dll b/helix-22.03-x86_64-windows/runtime/grammars/svelte.dll
new file mode 100644
index 0000000..54bd958
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/svelte.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/tablegen.dll b/helix-22.03-x86_64-windows/runtime/grammars/tablegen.dll
new file mode 100644
index 0000000..3b43bec
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/tablegen.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/toml.dll b/helix-22.03-x86_64-windows/runtime/grammars/toml.dll
new file mode 100644
index 0000000..ce7d273
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/toml.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/tsq.dll b/helix-22.03-x86_64-windows/runtime/grammars/tsq.dll
new file mode 100644
index 0000000..a674b4a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/tsq.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/tsx.dll b/helix-22.03-x86_64-windows/runtime/grammars/tsx.dll
new file mode 100644
index 0000000..7046f1f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/tsx.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/twig.dll b/helix-22.03-x86_64-windows/runtime/grammars/twig.dll
new file mode 100644
index 0000000..08a1b49
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/twig.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/typescript.dll b/helix-22.03-x86_64-windows/runtime/grammars/typescript.dll
new file mode 100644
index 0000000..2f52074
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/typescript.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/vue.dll b/helix-22.03-x86_64-windows/runtime/grammars/vue.dll
new file mode 100644
index 0000000..a4a3748
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/vue.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/wgsl.dll b/helix-22.03-x86_64-windows/runtime/grammars/wgsl.dll
new file mode 100644
index 0000000..8129ec8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/wgsl.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/yaml.dll b/helix-22.03-x86_64-windows/runtime/grammars/yaml.dll
new file mode 100644
index 0000000..9fa89dd
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/yaml.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/grammars/zig.dll b/helix-22.03-x86_64-windows/runtime/grammars/zig.dll
new file mode 100644
index 0000000..67d4520
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/grammars/zig.dll
Binary files differ
diff --git a/helix-22.03-x86_64-windows/runtime/queries/bash/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/bash/highlights.scm
new file mode 100644
index 0000000..57898f2
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/bash/highlights.scm
@@ -0,0 +1,54 @@
+[
+ (string)
+ (raw_string)
+ (heredoc_body)
+ (heredoc_start)
+] @string
+
+(command_name) @function
+
+(variable_name) @variable.other.member
+
+[
+ "case"
+ "do"
+ "done"
+ "elif"
+ "else"
+ "esac"
+ "export"
+ "fi"
+ "for"
+ "function"
+ "if"
+ "in"
+ "unset"
+ "while"
+ "then"
+] @keyword
+
+(comment) @comment
+
+(function_definition name: (word) @function)
+
+(file_descriptor) @constant.numeric.integer
+
+[
+ (command_substitution)
+ (process_substitution)
+ (expansion)
+]@embedded
+
+[
+ "$"
+ "&&"
+ ">"
+ ">>"
+ "<"
+ "|"
+] @operator
+
+(
+ (command (_) @constant)
+ (#match? @constant "^-")
+)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/bash/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/bash/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/bash/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/c-sharp/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/c-sharp/highlights.scm
new file mode 100644
index 0000000..6b94dd8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/c-sharp/highlights.scm
@@ -0,0 +1,336 @@
+;; Methods
+(method_declaration
+ name: (identifier) @function)
+
+(method_declaration
+ type: [(identifier) (qualified_name)] @type)
+
+(invocation_expression
+ (member_access_expression
+ name: (identifier) @function))
+
+(invocation_expression
+ (member_access_expression
+ expression: (identifier) @variable))
+
+(invocation_expression
+ function: (conditional_access_expression
+ (member_binding_expression
+ name: (identifier) @function)))
+
+(invocation_expression
+ [(identifier) (qualified_name)] @function)
+
+; Generic Method invocation with generic type
+(invocation_expression
+ function: (generic_name
+ . (identifier) @function))
+
+;; Namespaces
+
+(namespace_declaration
+ name: [(identifier) (qualified_name)] @namespace)
+
+;; Types
+(interface_declaration name: (identifier) @type)
+(class_declaration name: (identifier) @type)
+(enum_declaration name: (identifier) @type)
+(struct_declaration (identifier) @type)
+(record_declaration (identifier) @type)
+(namespace_declaration name: (identifier) @type)
+(using_directive (_) @namespace)
+(constructor_declaration name: (identifier) @type)
+(object_creation_expression [(identifier) (qualified_name)] @type)
+(type_parameter_list (type_parameter) @type)
+
+[
+ (implicit_type)
+ (nullable_type)
+ (pointer_type)
+ (function_pointer_type)
+ (predefined_type)
+] @type.builtin
+
+;; Generic Types
+(type_of_expression
+ (generic_name
+ (identifier) @type))
+
+(base_list
+ (generic_name
+ (identifier) @type))
+
+(type_constraint
+ (generic_name
+ (identifier) @type))
+
+(object_creation_expression
+ (generic_name
+ (identifier) @type))
+
+(property_declaration
+ (generic_name
+ (identifier) @type))
+
+(_
+ type: (generic_name
+ (identifier) @type))
+
+;; Enum
+(enum_member_declaration (identifier) @variable.other.member)
+
+;; Literals
+[
+ (real_literal)
+ (integer_literal)
+] @constant.numeric.integer
+
+(character_literal) @constant.character
+[
+ (string_literal)
+ (verbatim_string_literal)
+ (interpolated_string_text)
+ (interpolated_verbatim_string_text)
+ "\""
+ "$\""
+ "@$\""
+ "$@\""
+ ] @string
+
+(boolean_literal) @constant.builtin.boolean
+[
+ (null_literal)
+ (void_keyword)
+] @constant.builtin
+
+;; Comments
+(comment) @comment
+
+;; Tokens
+[
+ ";"
+ "."
+ ","
+] @punctuation.delimiter
+
+[
+ "--"
+ "-"
+ "-="
+ "&"
+ "&&"
+ "+"
+ "++"
+ "+="
+ "<"
+ "<="
+ "<<"
+ "<<="
+ "="
+ "=="
+ "!"
+ "!="
+ "=>"
+ ">"
+ ">="
+ ">>"
+ ">>="
+ "|"
+ "||"
+ "|="
+ "?"
+ "??"
+ "^"
+ "^="
+ "~"
+ "*"
+ "*="
+ "/"
+ "/="
+ "%"
+ "%="
+ ":"
+ ".."
+ "&="
+ "->"
+ "??="
+] @operator
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+;; Keywords
+(modifier) @keyword
+(this_expression) @keyword
+(escape_sequence) @constant.character.escape
+
+[
+ "as"
+ "base"
+ "break"
+ "case"
+ "catch"
+ "checked"
+ "class"
+ "continue"
+ "default"
+ "delegate"
+ "do"
+ "else"
+ "enum"
+ "event"
+ "explicit"
+ "finally"
+ "for"
+ "foreach"
+ "goto"
+ "if"
+ "implicit"
+ "interface"
+ "is"
+ "lock"
+ "namespace"
+ "operator"
+ "params"
+ "return"
+ "sizeof"
+ "stackalloc"
+ "static"
+ "struct"
+ "switch"
+ "throw"
+ "try"
+ "typeof"
+ "unchecked"
+ "using"
+ "while"
+ "new"
+ "await"
+ "in"
+ "yield"
+ "get"
+ "set"
+ "when"
+ "out"
+ "ref"
+ "from"
+ "where"
+ "select"
+ "record"
+ "init"
+ "with"
+ "let"
+] @keyword
+
+(preprocessor_call) @keyword.directive
+(preprocessor_call (_) @keyword.directive)
+
+;; Linq
+(from_clause (identifier) @variable)
+(group_clause)
+(order_by_clause)
+(select_clause (identifier) @variable)
+(query_continuation (identifier) @variable) @keyword
+
+;; Record
+(with_expression
+ (with_initializer_expression
+ (simple_assignment_expression
+ (identifier) @variable)))
+
+;; Exprs
+(binary_expression [(identifier) (qualified_name)] @variable [(identifier) (qualified_name)] @variable)
+(binary_expression [(identifier) (qualified_name)]* @variable)
+(conditional_expression [(identifier) (qualified_name)] @variable)
+(prefix_unary_expression [(identifier) (qualified_name)] @variable)
+(postfix_unary_expression [(identifier) (qualified_name)]* @variable)
+(assignment_expression [(identifier) (qualified_name)] @variable)
+(cast_expression [(identifier) (qualified_name)] @type [(identifier) (qualified_name)] @variable)
+
+;; Class
+(base_list (identifier) @type)
+(property_declaration (generic_name))
+(property_declaration
+ type: (nullable_type) @type
+ name: (identifier) @variable)
+(property_declaration
+ type: (predefined_type) @type
+ name: (identifier) @variable)
+(property_declaration
+ type: (identifier) @type
+ name: (identifier) @variable)
+
+;; Delegate
+
+(delegate_declaration (identifier) @type)
+
+;; Lambda
+(lambda_expression) @variable
+
+;; Attribute
+(attribute) @type
+
+;; Parameter
+(parameter
+ type: (identifier) @type
+ name: (identifier) @variable.parameter)
+(parameter (identifier) @variable.parameter)
+(parameter_modifier) @keyword
+
+(parameter_list
+ (parameter
+ name: (identifier) @parameter))
+
+(parameter_list
+ (parameter
+ type: [(identifier) (qualified_name)] @type))
+
+;; Typeof
+(type_of_expression [(identifier) (qualified_name)] @type)
+
+;; Variable
+(variable_declaration [(identifier) (qualified_name)] @type)
+(variable_declarator [(identifier) (qualified_name)] @variable)
+
+;; Return
+(return_statement (identifier) @variable)
+(yield_statement (identifier) @variable)
+
+;; Type
+(generic_name (identifier) @type)
+(type_parameter [(identifier) (qualified_name)] @variable.parameter)
+(type_argument_list [(identifier) (qualified_name)] @type)
+
+;; Type constraints
+(type_parameter_constraints_clause (identifier) @variable.parameter)
+(type_constraint (identifier) @type)
+
+;; Exception
+(catch_declaration (identifier) @type (identifier) @variable)
+(catch_declaration (identifier) @type)
+
+;; Switch
+(switch_statement (identifier) @variable)
+(switch_expression (identifier) @variable)
+
+;; Lock statement
+(lock_statement (identifier) @variable)
+
+;; Rest
+(member_access_expression) @variable
+(element_access_expression (identifier) @variable)
+(argument (identifier) @variable)
+(for_statement (identifier) @variable)
+(for_each_statement (identifier) @variable)
+(expression_statement (identifier) @variable)
+(member_access_expression expression: (identifier) @variable)
+(member_access_expression name: (identifier) @variable)
+(conditional_access_expression [(identifier) (qualified_name)] @variable)
+((identifier) @comment.unused
+ (#eq? @comment.unused "_"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/c-sharp/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/c-sharp/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/c-sharp/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/c/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/c/highlights.scm
new file mode 100644
index 0000000..918f3f6
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/c/highlights.scm
@@ -0,0 +1,87 @@
+"goto" @keyword
+"register" @keyword
+"break" @keyword
+"case" @keyword
+"const" @keyword
+"continue" @keyword
+"default" @keyword
+"do" @keyword
+"else" @keyword
+"enum" @keyword
+"extern" @keyword
+"for" @keyword
+"if" @keyword
+"inline" @keyword
+"return" @keyword
+"sizeof" @keyword
+"static" @keyword
+"struct" @keyword
+"switch" @keyword
+"typedef" @keyword
+"union" @keyword
+"volatile" @keyword
+"while" @keyword
+
+[
+ "#define"
+ "#elif"
+ "#else"
+ "#endif"
+ "#if"
+ "#ifdef"
+ "#ifndef"
+ "#include"
+ (preproc_directive)
+] @keyword.directive
+
+"--" @operator
+"-" @operator
+"-=" @operator
+"->" @operator
+"=" @operator
+"!=" @operator
+"*" @operator
+"&" @operator
+"&&" @operator
+"+" @operator
+"++" @operator
+"+=" @operator
+"<" @operator
+"==" @operator
+">" @operator
+"||" @operator
+
+"." @punctuation.delimiter
+";" @punctuation.delimiter
+
+(enumerator) @type.enum.variant
+
+(string_literal) @string
+(system_lib_string) @string
+
+(null) @constant
+(number_literal) @constant.numeric.integer
+(char_literal) @constant.character
+
+(call_expression
+ function: (identifier) @function)
+(call_expression
+ function: (field_expression
+ field: (field_identifier) @function))
+(function_declarator
+ declarator: (identifier) @function)
+(preproc_function_def
+ name: (identifier) @function.special)
+
+(field_identifier) @variable.other.member
+(statement_identifier) @label
+(type_identifier) @type
+(primitive_type) @type
+(sized_type_specifier) @type
+
+((identifier) @constant
+ (#match? @constant "^[A-Z][A-Z\\d_]*$"))
+
+(identifier) @variable
+
+(comment) @comment
diff --git a/helix-22.03-x86_64-windows/runtime/queries/c/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/c/indents.toml
new file mode 100644
index 0000000..f4076e1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/c/indents.toml
@@ -0,0 +1,16 @@
+indent = [
+ "compound_statement",
+ "field_declaration_list",
+ "enumerator_list",
+ "parameter_list",
+ "init_declarator",
+ "case_statement",
+ "condition_clause",
+ "expression_statement",
+]
+
+outdent = [
+ "case",
+ "}",
+ "]",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/c/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/c/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/c/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/c/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/c/textobjects.scm
new file mode 100644
index 0000000..45f554e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/c/textobjects.scm
@@ -0,0 +1,17 @@
+(function_definition
+ body: (_) @function.inside) @function.around
+
+(struct_specifier
+ body: (_) @class.inside) @class.around
+
+(enum_specifier
+ body: (_) @class.inside) @class.around
+
+(union_specifier
+ body: (_) @class.inside) @class.around
+
+(parameter_declaration) @parameter.inside
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cmake/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/cmake/highlights.scm
new file mode 100644
index 0000000..71e9b5d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cmake/highlights.scm
@@ -0,0 +1,97 @@
+[
+ (quoted_argument)
+ (bracket_argument)
+ ] @string
+
+(variable) @variable
+
+[
+ (bracket_comment)
+ (line_comment)
+ ] @comment
+
+(normal_command (identifier) @function)
+
+["ENV" "CACHE"] @string.special.symbol
+["$" "{" "}" "<" ">"] @punctuation
+["(" ")"] @punctuation.bracket
+
+[
+ (function)
+ (endfunction)
+ (macro)
+ (endmacro)
+ ] @keyword.function
+
+[
+ (if)
+ (elseif)
+ (else)
+ (endif)
+ ] @keyword.control.conditional
+
+[
+ (foreach)
+ (endforeach)
+ (while)
+ (endwhile)
+ ] @keyword.control.repeat
+
+(function_command
+ (function)
+ . (argument) @function
+ (argument)* @variable.parameter
+ )
+
+(macro_command
+ (macro)
+ . (argument) @function.macro
+ (argument)* @variable.parameter
+ )
+
+(normal_command
+ (identifier) @function.builtin
+ . (argument) @variable
+ (#match? @function.builtin "^(?i)(set)$"))
+
+(normal_command
+ (identifier) @function.builtin
+ . (argument)
+ (argument) @constant
+ (#match? @constant "^(?:PARENT_SCOPE|CACHE)$")
+ (#match? @function.builtin "^(?i)(unset)$"))
+
+(normal_command
+ (identifier) @function.builtin
+ . (argument)
+ . (argument)
+ (argument) @constant
+ (#match? @constant "^(?:PARENT_SCOPE|CACHE|FORCE)$")
+ (#match? @function.builtin "^(?i)(set)$")
+ )
+
+((argument) @constant.builtin.boolean
+ (#match? @constant.builtin.boolean "^(?i)(?:1|on|yes|true|y|0|off|no|false|n|ignore|notfound|.*-notfound)$")
+ )
+
+(if_command
+ (if)
+ (argument) @operator
+ (#match? @operator "^(?:NOT|AND|OR|COMMAND|POLICY|TARGET|TEST|DEFINED|IN_LIST|EXISTS|IS_NEWER_THAN|IS_DIRECTORY|IS_SYMLINK|IS_ABSOLUTE|MATCHES|LESS|GREATER|EQUAL|LESS_EQUAL|GREATER_EQUAL|STRLESS|STRGREATER|STREQUAL|STRLESS_EQUAL|STRGREATER_EQUAL|VERSION_LESS|VERSION_GREATER|VERSION_EQUAL|VERSION_LESS_EQUAL|VERSION_GREATER_EQUAL)$")
+)
+
+(normal_command
+ (identifier) @function.builtin
+ . (argument)
+ (argument) @constant
+ (#match? @constant "^(?:ALL|COMMAND|DEPENDS|BYPRODUCTS|WORKING_DIRECTORY|COMMENT|JOB_POOL|VERBATIM|USES_TERMINAL|COMMAND_EXPAND_LISTS|SOURCES)$")
+ (#match? @function.builtin "^(?i)(add_custom_target)$")
+ )
+
+(normal_command
+ (identifier) @function.builtin
+ (argument) @constant
+ (#match? @constant "^(?:OUTPUT|COMMAND|MAIN_DEPENDENCY|DEPENDS|BYPRODUCTS|IMPLICIT_DEPENDS|WORKING_DIRECTORY|COMMENT|DEPFILE|JOB_POOL|VERBATIM|APPEND|USES_TERMINAL|COMMAND_EXPAND_LISTS)$")
+ (#match? @function.builtin "^(?i)(add_custom_command)$")
+ )
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cmake/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/cmake/indents.toml
new file mode 100644
index 0000000..8b886a4
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cmake/indents.toml
@@ -0,0 +1,12 @@
+indent = [
+ "if_condition",
+ "foreach_loop",
+ "while_loop",
+ "function_def",
+ "macro_def",
+ "normal_command",
+]
+
+outdent = [
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cmake/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/cmake/injections.scm
new file mode 100644
index 0000000..6cb6c25
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cmake/injections.scm
@@ -0,0 +1,4 @@
+((line_comment) @injection.content
+ (#set! injection.language "comment"))
+((bracket_comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cmake/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/cmake/textobjects.scm
new file mode 100644
index 0000000..1fa9ded
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cmake/textobjects.scm
@@ -0,0 +1,12 @@
+(macro_def) @function.around
+
+(argument) @parameter.inside
+
+[
+ (bracket_comment)
+ (line_comment)
+] @comment.inside
+
+(line_comment)+ @comment.around
+
+(bracket_comment) @comment.around \ No newline at end of file
diff --git a/helix-22.03-x86_64-windows/runtime/queries/comment/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/comment/highlights.scm
new file mode 100644
index 0000000..88685d5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/comment/highlights.scm
@@ -0,0 +1,30 @@
+[
+ "("
+ ")"
+] @punctuation.bracket
+
+":" @punctuation.delimiter
+
+((tag (name) @warning)
+ (#match? @warning "^(TODO|HACK|WARNING)$"))
+
+("text" @warning
+ (#match? @warning "^(TODO|HACK|WARNING)$"))
+
+((tag (name) @error)
+ (match? @error "^(FIXME|XXX|BUG)$"))
+
+("text" @error
+ (match? @error "^(FIXME|XXX|BUG)$"))
+
+(tag
+ (name) @ui.text
+ (user)? @constant)
+
+; Issue number (#123)
+("text" @constant.numeric
+ (#match? @constant.numeric "^#[0-9]+$"))
+
+; User mention (@user)
+("text" @tag
+ (#match? @tag "^[@][a-zA-Z0-9_-]+$"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cpp/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/cpp/highlights.scm
new file mode 100644
index 0000000..3348ef3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cpp/highlights.scm
@@ -0,0 +1,67 @@
+; inherits: c
+
+; Functions
+
+(call_expression
+ function: (qualified_identifier
+ name: (identifier) @function))
+
+(template_function
+ name: (identifier) @function)
+
+(template_method
+ name: (field_identifier) @function)
+
+(template_function
+ name: (identifier) @function)
+
+(function_declarator
+ declarator: (qualified_identifier
+ name: (identifier) @function))
+
+(function_declarator
+ declarator: (qualified_identifier
+ name: (identifier) @function))
+
+(function_declarator
+ declarator: (field_identifier) @function)
+
+; Types
+
+((namespace_identifier) @type
+ (#match? @type "^[A-Z]"))
+
+(auto) @type
+
+; Constants
+
+(this) @variable.builtin
+(nullptr) @constant
+
+; Keywords
+
+"catch" @keyword
+"class" @keyword
+"constexpr" @keyword
+"delete" @keyword
+"explicit" @keyword
+"final" @keyword
+"friend" @keyword
+"mutable" @keyword
+"namespace" @keyword
+"noexcept" @keyword
+"new" @keyword
+"override" @keyword
+"private" @keyword
+"protected" @keyword
+"public" @keyword
+"template" @keyword
+"throw" @keyword
+"try" @keyword
+"typename" @keyword
+"using" @keyword
+"virtual" @keyword
+
+; Strings
+
+(raw_string_literal) @string
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cpp/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/cpp/indents.toml
new file mode 100644
index 0000000..0ca2ed8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cpp/indents.toml
@@ -0,0 +1,17 @@
+indent = [
+ "compound_statement",
+ "field_declaration_list",
+ "enumerator_list",
+ "parameter_list",
+ "init_declarator",
+ "case_statement",
+ "condition_clause",
+ "expression_statement",
+]
+
+outdent = [
+ "case",
+ "access_specifier",
+ "}",
+ "]",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cpp/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/cpp/injections.scm
new file mode 100644
index 0000000..a5a5208
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cpp/injections.scm
@@ -0,0 +1 @@
+; inherits: c
diff --git a/helix-22.03-x86_64-windows/runtime/queries/cpp/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/cpp/textobjects.scm
new file mode 100644
index 0000000..6e3de1a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/cpp/textobjects.scm
@@ -0,0 +1,7 @@
+; inherits: c
+
+(lambda_expression
+ body: (_) @function.inside) @function.around
+
+(class_specifier
+ body: (_) @class.inside) @class.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/css/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/css/highlights.scm
new file mode 100644
index 0000000..4dfc0c6
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/css/highlights.scm
@@ -0,0 +1,64 @@
+(comment) @comment
+
+(tag_name) @tag
+(nesting_selector) @tag
+(universal_selector) @tag
+
+"~" @operator
+">" @operator
+"+" @operator
+"-" @operator
+"*" @operator
+"/" @operator
+"=" @operator
+"^=" @operator
+"|=" @operator
+"~=" @operator
+"$=" @operator
+"*=" @operator
+
+"and" @operator
+"or" @operator
+"not" @operator
+"only" @operator
+
+(attribute_selector (plain_value) @string)
+(pseudo_element_selector (tag_name) @attribute)
+(pseudo_class_selector (class_name) @attribute)
+
+(class_name) @variable.other.member
+(id_name) @variable.other.member
+(namespace_name) @variable.other.member
+(property_name) @variable.other.member
+(feature_name) @variable.other.member
+
+(attribute_name) @attribute
+
+(function_name) @function
+
+((property_name) @variable
+ (#match? @variable "^--"))
+((plain_value) @variable
+ (#match? @variable "^--"))
+
+"@media" @keyword
+"@import" @keyword
+"@charset" @keyword
+"@namespace" @keyword
+"@supports" @keyword
+"@keyframes" @keyword
+(at_keyword) @keyword
+(to) @keyword
+(from) @keyword
+(important) @keyword
+
+(string_value) @string
+(color_value) @string.special
+
+(integer_value) @constant.numeric.integer
+(float_value) @constant.numeric.float
+(unit) @type
+
+"#" @punctuation.delimiter
+"," @punctuation.delimiter
+":" @punctuation.delimiter
diff --git a/helix-22.03-x86_64-windows/runtime/queries/css/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/css/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/css/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/dart/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/dart/highlights.scm
new file mode 100644
index 0000000..9f667d6
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/dart/highlights.scm
@@ -0,0 +1,237 @@
+(dotted_identifier_list) @string
+
+; Methods
+; --------------------
+(super) @function.builtin
+
+(function_expression_body (identifier) @function.method)
+((identifier)(selector (argument_part)) @function.method)
+
+; Annotations
+; --------------------
+(annotation
+ name: (identifier) @attribute)
+(marker_annotation
+ name: (identifier) @attribute)
+
+; Types
+; --------------------
+(class_definition
+ name: (identifier) @type)
+
+(constructor_signature
+ name: (identifier) @function.method)
+
+(function_signature
+ name: (identifier) @function.method)
+
+(getter_signature
+ (identifier) @function.builtin)
+
+(setter_signature
+ name: (identifier) @function.builtin)
+
+(enum_declaration
+ name: (identifier) @type)
+
+(enum_constant
+ name: (identifier) @type.builtin)
+
+(void_type) @type.builtin
+
+((scoped_identifier
+ scope: (identifier) @type)
+ (#match? @type "^[a-zA-Z]"))
+
+((scoped_identifier
+ scope: (identifier) @type
+ name: (identifier) @type)
+ (#match? @type "^[a-zA-Z]"))
+
+; the DisabledDrawerButtons in : const DisabledDrawerButtons(history: true),
+(type_identifier) @type.builtin
+
+; Variables
+; --------------------
+; the "File" in var file = File();
+((identifier) @namespace
+ (#match? @namespace "^_?[A-Z].*[a-z]")) ; catch Classes or IClasses not CLASSES
+
+("Function" @type.builtin)
+(inferred_type) @type.builtin
+
+; properties
+(unconditional_assignable_selector
+ (identifier) @variable.other.member)
+
+(conditional_assignable_selector
+ (identifier) @variable.other.member)
+
+; assignments
+; --------------------
+; the "strings" in : strings = "some string"
+(assignment_expression
+ left: (assignable_expression) @variable)
+
+(this) @variable.builtin
+
+; Parameters
+; --------------------
+(formal_parameter
+ name: (identifier) @variable)
+
+(named_argument
+ (label (identifier) @variable))
+
+; Literals
+; --------------------
+[
+ (hex_integer_literal)
+ (decimal_integer_literal)
+ (decimal_floating_point_literal)
+ ;(octal_integer_literal)
+ ;(hex_floating_point_literal)
+] @constant.numeric.integer
+
+(symbol_literal) @string.special.symbol
+(string_literal) @string
+
+[
+ (const_builtin)
+ (final_builtin)
+] @variable.builtin
+
+[
+ (true)
+ (false)
+] @constant.builtin.boolean
+
+(null_literal) @constant.builtin
+
+(comment) @comment.line
+(documentation_comment) @comment.block.documentation
+
+; Tokens
+; --------------------
+(template_substitution
+ "$" @punctuation.special
+ "{" @punctuation.special
+ "}" @punctuation.special
+) @embedded
+
+(template_substitution
+ "$" @punctuation.special
+ (identifier_dollar_escaped) @variable
+) @embedded
+
+(escape_sequence) @constant.character.escape
+
+; Punctuation
+;---------------------
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ ";"
+ "."
+ ","
+ ":"
+] @punctuation.delimiter
+
+; Operators
+;---------------------
+[
+ "@"
+ "?"
+ "=>"
+ ".."
+ "=="
+ "&&"
+ "%"
+ "<"
+ ">"
+ "="
+ ">="
+ "<="
+ "||"
+ (multiplicative_operator)
+ (increment_operator)
+ (is_operator)
+ (prefix_operator)
+ (equality_operator)
+ (additive_operator)
+] @operator
+
+; Keywords
+; --------------------
+["import" "library" "export"] @keyword.control.import
+["do" "while" "continue" "for"] @keyword.control.repeat
+["return" "yield"] @keyword.control.return
+["as" "in" "is"] @keyword.operator
+
+[
+ "?."
+ "??"
+ "if"
+ "else"
+ "switch"
+ "default"
+ "late"
+] @keyword.control.conditional
+
+[
+ "try"
+ "throw"
+ "catch"
+ "finally"
+ (break_statement)
+] @keyword.control.exception
+
+; Reserved words (cannot be used as identifiers)
+[
+ (case_builtin)
+ "abstract"
+ "async"
+ "async*"
+ "await"
+ "class"
+ "covariant"
+ "deferred"
+ "dynamic"
+ "enum"
+ "extends"
+ "extension"
+ "external"
+ "factory"
+ "Function"
+ "get"
+ "implements"
+ "interface"
+ "mixin"
+ "new"
+ "on"
+ "operator"
+ "part"
+ "required"
+ "set"
+ "show"
+ "static"
+ "super"
+ "sync*"
+ "typedef"
+ "with"
+] @keyword
+
+; when used as an identifier:
+((identifier) @variable.builtin
+ (#match? @variable.builtin "^(abstract|as|covariant|deferred|dynamic|export|external|factory|Function|get|implements|import|interface|library|operator|mixin|part|set|static|typedef)$"))
+
+; Error
+(ERROR) @error
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/dart/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/dart/indents.toml
new file mode 100644
index 0000000..5c11e05
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/dart/indents.toml
@@ -0,0 +1,20 @@
+indent = [
+ "class_body",
+ "function_body",
+ "function_expression_body",
+ "declaration",
+ "initializers",
+ "switch_block",
+ "if_statement",
+ "formal_parameter_list",
+ "formal_parameter",
+ "list_literal",
+ "return_statement",
+ "arguments"
+]
+
+outdent = [
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/dart/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/dart/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/dart/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/dart/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/dart/locals.scm
new file mode 100644
index 0000000..629838e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/dart/locals.scm
@@ -0,0 +1,20 @@
+; Scopes
+;-------
+
+[
+ (block)
+ (try_statement)
+ (catch_clause)
+ (finally_clause)
+] @local.scope
+
+; Definitions
+;------------
+
+(class_definition
+ body: (_) @local.definition)
+
+; References
+;------------
+
+(identifier) @local.reference
diff --git a/helix-22.03-x86_64-windows/runtime/queries/dockerfile/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/dockerfile/highlights.scm
new file mode 100644
index 0000000..5a945fb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/dockerfile/highlights.scm
@@ -0,0 +1,51 @@
+[
+ "FROM"
+ "AS"
+ "RUN"
+ "CMD"
+ "LABEL"
+ "EXPOSE"
+ "ENV"
+ "ADD"
+ "COPY"
+ "ENTRYPOINT"
+ "VOLUME"
+ "USER"
+ "WORKDIR"
+ "ARG"
+ "ONBUILD"
+ "STOPSIGNAL"
+ "HEALTHCHECK"
+ "SHELL"
+ "MAINTAINER"
+ "CROSS_BUILD"
+] @keyword
+
+[
+ ":"
+ "@"
+] @operator
+
+(comment) @comment
+
+
+(image_spec
+ (image_tag
+ ":" @punctuation.special)
+ (image_digest
+ "@" @punctuation.special))
+
+(double_quoted_string) @string
+
+(expansion
+ [
+ "$"
+ "{"
+ "}"
+ ] @punctuation.special
+) @none
+
+((variable) @constant
+ (#match? @constant "^[A-Z][A-Z_0-9]*$"))
+
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/dockerfile/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/dockerfile/injections.scm
new file mode 100644
index 0000000..20396f1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/dockerfile/injections.scm
@@ -0,0 +1,6 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+([(shell_command) (shell_fragment)] @injection.content
+ (#set! injection.language "bash"))
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/elixir/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/elixir/highlights.scm
new file mode 100644
index 0000000..76fd2af
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/elixir/highlights.scm
@@ -0,0 +1,221 @@
+; The following code originates mostly from
+; https://github.com/elixir-lang/tree-sitter-elixir, with minor edits to
+; align the captures with helix. The following should be considered
+; Copyright 2021 The Elixir Team
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; https://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+; Reserved keywords
+
+["when" "and" "or" "not" "in" "not in" "fn" "do" "end" "catch" "rescue" "after" "else"] @keyword
+
+; Operators
+
+; * doc string
+(unary_operator
+ operator: "@" @comment.block.documentation
+ operand: (call
+ target: (identifier) @comment.block.documentation.__attribute__
+ (arguments
+ [
+ (string) @comment.block.documentation
+ (charlist) @comment.block.documentation
+ (sigil
+ quoted_start: _ @comment.block.documentation
+ quoted_end: _ @comment.block.documentation) @comment.block.documentation
+ (boolean) @comment.block.documentation
+ ]))
+ (#match? @comment.block.documentation.__attribute__ "^(moduledoc|typedoc|doc)$"))
+
+; * module attribute
+(unary_operator
+ operator: "@" @variable.other.member
+ operand: [
+ (identifier) @variable.other.member
+ (call
+ target: (identifier) @variable.other.member)
+ (boolean) @variable.other.member
+ (nil) @variable.other.member
+ ])
+
+; * capture operator
+(unary_operator
+ operator: "&"
+ operand: [
+ (integer) @operator
+ (binary_operator
+ left: [
+ (call target: (dot left: (_) right: (identifier) @function))
+ (identifier) @function
+ ] operator: "/" right: (integer) @operator)
+ ])
+
+(operator_identifier) @operator
+
+(unary_operator
+ operator: _ @operator)
+
+(binary_operator
+ operator: _ @operator)
+
+(dot
+ operator: _ @operator)
+
+(stab_clause
+ operator: _ @operator)
+
+; Literals
+
+(nil) @constant.builtin
+
+(boolean) @constant.builtin.boolean
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+
+(alias) @type
+
+(call
+ target: (dot
+ left: (atom) @type))
+
+(char) @constant.character
+
+; Quoted content
+
+(interpolation "#{" @punctuation.special "}" @punctuation.special) @embedded
+
+(escape_sequence) @constant.character.escape
+
+[
+ (atom)
+ (quoted_atom)
+ (keyword)
+ (quoted_keyword)
+] @string.special.symbol
+
+[
+ (string)
+ (charlist)
+] @string
+
+; Note that we explicitly target sigil quoted start/end, so they are not overridden by delimiters
+
+(sigil
+ (sigil_name) @__name__
+ quoted_start: _ @string
+ quoted_end: _ @string
+ (#match? @__name__ "^[sS]$")) @string
+
+(sigil
+ (sigil_name) @__name__
+ quoted_start: _ @string.regexp
+ quoted_end: _ @string.regexp
+ (#match? @__name__ "^[rR]$")) @string.regexp
+
+(sigil
+ (sigil_name) @__name__
+ quoted_start: _ @string.special
+ quoted_end: _ @string.special) @string.special
+
+; Calls
+
+; * definition keyword
+(call
+ target: (identifier) @keyword
+ (#match? @keyword "^(def|defdelegate|defexception|defguard|defguardp|defimpl|defmacro|defmacrop|defmodule|defn|defnp|defoverridable|defp|defprotocol|defstruct)$"))
+
+; * kernel or special forms keyword
+(call
+ target: (identifier) @keyword
+ (#match? @keyword "^(alias|case|cond|else|for|if|import|quote|raise|receive|require|reraise|super|throw|try|unless|unquote|unquote_splicing|use|with)$"))
+
+; * function call
+(call
+ target: [
+ ; local
+ (identifier) @function
+ ; remote
+ (dot
+ right: (identifier) @function)
+ ])
+
+; * just identifier in function definition
+(call
+ target: (identifier) @keyword
+ (arguments
+ [
+ (identifier) @function
+ (binary_operator
+ left: (identifier) @function
+ operator: "when")
+ ])
+ (#match? @keyword "^(def|defdelegate|defguard|defguardp|defmacro|defmacrop|defn|defnp|defp)$"))
+
+; * pipe into identifier (definition)
+(call
+ target: (identifier) @keyword
+ (arguments
+ (binary_operator
+ operator: "|>"
+ right: (identifier) @variable))
+ (#match? @keyword "^(def|defdelegate|defguard|defguardp|defmacro|defmacrop|defn|defnp|defp)$"))
+
+; * pipe into identifier (function call)
+(binary_operator
+ operator: "|>"
+ right: (identifier) @function)
+
+; Identifiers
+
+; * special
+(
+ (identifier) @constant.builtin
+ (#match? @constant.builtin "^(__MODULE__|__DIR__|__ENV__|__CALLER__|__STACKTRACE__)$")
+)
+
+; * unused
+(
+ (identifier) @comment
+ (#match? @comment "^_")
+)
+
+; * regular
+(identifier) @variable
+
+; Comment
+
+(comment) @comment
+
+; Punctuation
+
+[
+ "%"
+] @punctuation
+
+[
+ ","
+ ";"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "<<"
+ ">>"
+] @punctuation.bracket
+
+(ERROR) @warning
diff --git a/helix-22.03-x86_64-windows/runtime/queries/elixir/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/elixir/injections.scm
new file mode 100644
index 0000000..8370a0d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/elixir/injections.scm
@@ -0,0 +1,9 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((sigil
+ (sigil_name) @_sigil_name
+ (quoted_content) @injection.content)
+ (#match? @_sigil_name "^(r|R)$")
+ (#set! injection.language "regex")
+ (#set! injection.combined))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/elm/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/elm/highlights.scm
new file mode 100644
index 0000000..3c8fd12
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/elm/highlights.scm
@@ -0,0 +1,83 @@
+; Keywords
+[
+ "if"
+ "then"
+ "else"
+ "let"
+ "in"
+ ] @keyword.control
+(case) @keyword.control
+(of) @keyword.control
+
+(colon) @keyword.operator
+(backslash) @keyword
+(as) @keyword
+(port) @keyword
+(exposing) @keyword
+(alias) @keyword
+(infix) @keyword
+
+(arrow) @keyword.operator
+(dot) @keyword.operator
+
+(port) @keyword
+
+(type_annotation(lower_case_identifier) @function)
+(port_annotation(lower_case_identifier) @function)
+(file (value_declaration (function_declaration_left(lower_case_identifier) @function)))
+
+(field name: (lower_case_identifier) @attribute)
+(field_access_expr(lower_case_identifier) @attribute)
+
+(operator_identifier) @keyword.operator
+(eq) @keyword.operator.assignment
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+"|" @keyword
+"," @punctuation.delimiter
+
+[
+ "|>"
+] @keyword
+
+
+(import) @keyword.contol.import
+(module) @keyword.other
+
+(number_constant_expr) @constant.numeric
+
+(type) @type
+
+(type_declaration(upper_case_identifier) @type)
+(type_ref) @type
+(type_alias_declaration name: (upper_case_identifier) @type)
+
+(union_pattern constructor: (upper_case_qid (upper_case_identifier) @label (dot) (upper_case_identifier) @variable.other.member))
+(union_pattern constructor: (upper_case_qid (upper_case_identifier) @variable.other.member))
+
+(union_variant(upper_case_identifier) @variable.other.member)
+(value_expr name: (value_qid (upper_case_identifier) @label))
+(value_expr (upper_case_qid (upper_case_identifier) @label (dot) (upper_case_identifier) @variable.other.member))
+(value_expr(upper_case_qid(upper_case_identifier)) @variable.other.member)
+
+; comments
+(line_comment) @comment
+(block_comment) @comment
+
+; strings
+(string_escape) @constant.character.escape
+
+(open_quote) @string
+(close_quote) @string
+(regular_string_part) @string
+
+(open_char) @constant.character
+(close_char) @constant.character
diff --git a/helix-22.03-x86_64-windows/runtime/queries/elm/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/elm/injections.scm
new file mode 100644
index 0000000..83f8245
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/elm/injections.scm
@@ -0,0 +1,4 @@
+; Parse glsl where defined
+
+((glsl_content) @injection.content
+ (#set! injection.language "glsl"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/elm/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/elm/locals.scm
new file mode 100644
index 0000000..ab10311
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/elm/locals.scm
@@ -0,0 +1,14 @@
+(value_declaration) @local.scope
+(type_alias_declaration) @local.scope
+(type_declaration) @local.scope
+(type_annotation) @local.scope
+(port_annotation) @local.scope
+(infix_declaration) @local.scope
+(let_in_expr) @local.scope
+
+(function_declaration_left (lower_pattern (lower_case_identifier)) @local.definition)
+(function_declaration_left (lower_case_identifier) @local.definition)
+
+(value_expr(value_qid(upper_case_identifier)) @local.reference)
+(value_expr(value_qid(lower_case_identifier)) @local.reference)
+(type_ref (upper_case_qid) @local.reference)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/elm/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/elm/tags.scm
new file mode 100644
index 0000000..03999fb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/elm/tags.scm
@@ -0,0 +1,19 @@
+(value_declaration (function_declaration_left (lower_case_identifier) @name)) @definition.function
+
+(function_call_expr (value_expr (value_qid) @name)) @reference.function
+(exposed_value (lower_case_identifier) @name) @reference.function
+(type_annotation ((lower_case_identifier) @name) (colon)) @reference.function
+
+(type_declaration ((upper_case_identifier) @name) ) @definition.type
+
+(type_ref (upper_case_qid (upper_case_identifier) @name)) @reference.type
+(exposed_type (upper_case_identifier) @name) @reference.type
+
+(type_declaration (union_variant (upper_case_identifier) @name)) @definition.union
+
+(value_expr (upper_case_qid (upper_case_identifier) @name)) @reference.union
+
+
+(module_declaration
+ (upper_case_qid (upper_case_identifier)) @name
+) @definition.module
diff --git a/helix-22.03-x86_64-windows/runtime/queries/erlang/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/erlang/highlights.scm
new file mode 100644
index 0000000..fc742f3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/erlang/highlights.scm
@@ -0,0 +1,118 @@
+; Attributes
+; module declaration
+(attribute
+ name: (atom) @keyword
+ (arguments (atom) @module)
+ (#eq? @keyword "module"))
+
+(attribute
+ name: (atom) @keyword
+ (arguments
+ .
+ (atom) @module)
+ (#eq? @keyword "import"))
+
+(attribute
+ name: (atom) @keyword
+ (arguments
+ .
+ (atom) @type
+ [
+ (tuple (atom) @variable.other.member)
+ (tuple
+ (binary_operator
+ left: (atom) @variable.other.member
+ operator: "="))
+ (tuple
+ (binary_operator
+ left:
+ (binary_operator
+ left: (atom) @variable.other.member
+ operator: "=")
+ operator: "::"))
+ ])
+ (#eq? @keyword "record"))
+
+(attribute
+ name: (atom) @keyword
+ (arguments
+ .
+ [
+ (atom) @keyword.directive
+ (variable) @keyword.directive
+ (call
+ function:
+ [(variable) (atom)] @keyword.directive)
+ ])
+ (#eq? @keyword "define"))
+
+(attribute
+ name: (atom) @keyword
+ module: (atom) @module
+ (#eq? @keyword "spec"))
+
+; Functions
+(function name: (atom) @function)
+(call module: (atom) @module)
+(call function: (atom) @function)
+(stab_clause name: (atom) @function)
+(function_capture module: (atom) @module)
+(function_capture function: (atom) @function)
+
+; Records
+(record_content
+ (binary_operator
+ left: (atom) @variable.other.member
+ operator: "="))
+
+(record field: (atom) @variable.other.member)
+(record name: (atom) @type)
+
+; Keywords
+((attribute name: (atom) @keyword)
+ (#match?
+ @keyword
+ "^(define|export|export_type|include|include_lib|ifdef|ifndef|if|elif|else|endif|vsn|on_load|behaviour|record|file|type|opaque|spec)$"))
+
+["case" "fun" "if" "of" "when" "end" "receive" "try" "catch" "after"] @keyword
+
+; Operators
+(binary_operator
+ left: (atom) @function
+ operator: "/"
+ right: (integer) @constant.numeric.integer)
+
+(binary_operator operator: _ @operator)
+(unary_operator operator: _ @operator)
+["/" ":" "#" "->"] @operator
+
+; Comments
+((variable) @comment.discard
+ (#match? @comment.discard "^_"))
+
+(tripledot) @comment.discard
+
+(comment) @comment
+
+; Macros
+(macro
+ "?"+ @keyword.directive
+ name: (_) @keyword.directive)
+
+; Basic types
+(variable) @variable
+[
+ (atom)
+ (quoted_atom)
+] @string.special.symbol
+(string) @string
+(character) @constant.character
+
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+
+; Punctuation
+["," "." "-" ";"] @punctuation.delimiter
+["(" ")" "{" "}" "[" "]" "<<" ">>"] @punctuation.bracket
+
+; (ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/erlang/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/erlang/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/erlang/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/fish/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/fish/highlights.scm
new file mode 100644
index 0000000..def5393
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/fish/highlights.scm
@@ -0,0 +1,156 @@
+;; Operators
+
+[
+ "&&"
+ "||"
+ "|"
+ "&"
+ "="
+ "!="
+ ".."
+ "!"
+ (direction)
+ (stream_redirect)
+ (test_option)
+] @operator
+
+[
+ "not"
+ "and"
+ "or"
+] @keyword.operator
+
+;; Conditionals
+
+(if_statement
+[
+ "if"
+ "end"
+] @keyword.control.conditional)
+
+(switch_statement
+[
+ "switch"
+ "end"
+] @keyword.control.conditional)
+
+(case_clause
+[
+ "case"
+] @keyword.control.conditional)
+
+(else_clause
+[
+ "else"
+] @keyword.control.conditional)
+
+(else_if_clause
+[
+ "else"
+ "if"
+] @keyword.control.conditional)
+
+;; Loops/Blocks
+
+(while_statement
+[
+ "while"
+ "end"
+] @keyword.control.repeat)
+
+(for_statement
+[
+ "for"
+ "end"
+] @keyword.control.repeat)
+
+(begin_statement
+[
+ "begin"
+ "end"
+] @keyword.control.repeat)
+
+;; Keywords
+
+[
+ "in"
+ (break)
+ (continue)
+] @keyword
+
+"return" @keyword.control.return
+
+;; Punctuation
+
+[
+ "["
+ "]"
+ "{"
+ "}"
+ "("
+ ")"
+] @punctuation.bracket
+
+"," @punctuation.delimiter
+
+;; Commands
+
+(command
+ argument: [
+ (word) @variable.parameter (#match? @variable.parameter "^-")
+ ]
+)
+
+; non-bultin command names
+(command name: (word) @function)
+
+; derived from builtin -n (fish 3.2.2)
+(command
+ name: [
+ (word) @function.builtin
+ (#match? @function.builtin "^(\.|:|_|alias|argparse|bg|bind|block|breakpoint|builtin|cd|command|commandline|complete|contains|count|disown|echo|emit|eval|exec|exit|fg|functions|history|isatty|jobs|math|printf|pwd|random|read|realpath|set|set_color|source|status|string|test|time|type|ulimit|wait)$")
+ ]
+)
+
+(test_command "test" @function.builtin)
+
+;; Functions
+
+(function_definition ["function" "end"] @keyword.function)
+
+(function_definition
+ name: [
+ (word) (concatenation)
+ ]
+@function)
+
+(function_definition
+ option: [
+ (word)
+ (concatenation (word))
+ ] @variable.parameter (#match? @variable.parameter "^-")
+)
+
+;; Strings
+
+[(double_quote_string) (single_quote_string)] @string
+(escape_sequence) @constant.character.escape
+
+;; Variables
+
+(variable_name) @variable
+(variable_expansion) @constant
+
+;; Nodes
+
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+(comment) @comment
+(test_option) @string
+
+((word) @constant.builtin.boolean
+(#match? @constant.builtin.boolean "^(true|false)$"))
+
+;; Error
+
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/fish/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/fish/indents.toml
new file mode 100644
index 0000000..6f1e563
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/fish/indents.toml
@@ -0,0 +1,12 @@
+indent = [
+ "function_definition",
+ "while_statement",
+ "for_statement",
+ "if_statement",
+ "begin_statement",
+ "switch_statement",
+]
+
+outdent = [
+ "end"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/fish/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/fish/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/fish/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/fish/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/fish/textobjects.scm
new file mode 100644
index 0000000..de8caa9
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/fish/textobjects.scm
@@ -0,0 +1,5 @@
+(function_definition) @function.around
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/git-commit/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/git-commit/highlights.scm
new file mode 100644
index 0000000..0b50d41
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/git-commit/highlights.scm
@@ -0,0 +1,14 @@
+(subject) @markup.heading
+(path) @string.special.path
+(branch) @string.special.symbol
+(commit) @constant
+(item) @markup.link.url
+(header) @tag
+
+(change kind: "new file" @diff.plus)
+(change kind: "deleted" @diff.minus)
+(change kind: "modified" @diff.delta)
+(change kind: "renamed" @diff.delta.moved)
+
+[":" "->"] @punctuation.delimeter
+(comment) @comment
diff --git a/helix-22.03-x86_64-windows/runtime/queries/git-commit/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/git-commit/injections.scm
new file mode 100644
index 0000000..79f7691
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/git-commit/injections.scm
@@ -0,0 +1,8 @@
+(((scissors)
+ (message) @injection.content)
+ (#set! injection.include-children)
+ (#set! injection.language "diff"))
+
+((rebase_command) @injection.content
+ (#set! injection.include-children)
+ (#set! injection.language "git-rebase"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/git-config/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/git-config/highlights.scm
new file mode 100644
index 0000000..84767ed
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/git-config/highlights.scm
@@ -0,0 +1,27 @@
+((section_name) @keyword.directive
+ (#eq? @keyword.directive "include"))
+
+((section_header
+ (section_name) @keyword.directive
+ (subsection_name))
+ (#eq? @keyword.directive "includeIf"))
+
+(section_name) @markup.heading
+(variable (name) @variable.other.member)
+[(true) (false)] @constant.builtin.boolean
+(integer) @constant.numeric.integer
+
+((string) @string.special.path
+ (#match? @string.special.path "^(~|./|/)"))
+
+[(string) (subsection_name)] @string
+
+[
+ "["
+ "]"
+ "\""
+] @punctuation.bracket
+
+"=" @punctuation.delimiter
+
+(comment) @comment
diff --git a/helix-22.03-x86_64-windows/runtime/queries/git-diff/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/git-diff/highlights.scm
new file mode 100644
index 0000000..1c1a882
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/git-diff/highlights.scm
@@ -0,0 +1,6 @@
+[(addition) (new_file)] @diff.plus
+[(deletion) (old_file)] @diff.minus
+
+(commit) @constant
+(location) @attribute
+(command) @markup.bold
diff --git a/helix-22.03-x86_64-windows/runtime/queries/git-rebase/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/git-rebase/highlights.scm
new file mode 100644
index 0000000..4f00703
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/git-rebase/highlights.scm
@@ -0,0 +1,11 @@
+(operation operator: ["p" "pick" "r" "reword" "e" "edit" "s" "squash" "m" "merge" "d" "drop" "b" "break" "x" "exec"] @keyword)
+(operation operator: ["l" "label" "t" "reset"] @function)
+(operation operator: ["f" "fixup"] @function.special)
+
+(option) @operator
+(label) @string.special.symbol
+(commit) @constant
+"#" @punctuation.delimiter
+(comment) @comment
+
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/git-rebase/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/git-rebase/injections.scm
new file mode 100644
index 0000000..070129b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/git-rebase/injections.scm
@@ -0,0 +1,4 @@
+((operation
+ operator: ["x" "exec"]
+ (command) @injection.content)
+ (#set! injection.language "bash"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/glsl/folds.scm b/helix-22.03-x86_64-windows/runtime/queries/glsl/folds.scm
new file mode 100644
index 0000000..a5a5208
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/glsl/folds.scm
@@ -0,0 +1 @@
+; inherits: c
diff --git a/helix-22.03-x86_64-windows/runtime/queries/glsl/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/glsl/highlights.scm
new file mode 100644
index 0000000..af2a049
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/glsl/highlights.scm
@@ -0,0 +1,37 @@
+; inherits: c
+
+[
+ "in"
+ "out"
+ "inout"
+ "uniform"
+ "shared"
+ "layout"
+ "attribute"
+ "varying"
+ "buffer"
+ "coherent"
+ "readonly"
+ "writeonly"
+ "precision"
+ "highp"
+ "mediump"
+ "lowp"
+ "centroid"
+ "sample"
+ "patch"
+ "smooth"
+ "flat"
+ "noperspective"
+ "invariant"
+ "precise"
+] @keyword
+
+"subroutine" @keyword.function
+
+(extension_storage_class) @attribute
+
+(
+ (identifier) @variable.builtin
+ (#match? @variable.builtin "^gl_")
+)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/glsl/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/glsl/indents.toml
new file mode 100644
index 0000000..a7fd499
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/glsl/indents.toml
@@ -0,0 +1,19 @@
+indent = [
+ "init_declarator",
+ "compound_statement",
+ "preproc_arg",
+ "field_declaration_list",
+ "case_statement",
+ "conditional_expression",
+ "enumerator_list",
+ "struct_specifier",
+ "compound_literal_expression"
+]
+
+outdent = [
+ "#define",
+ "#ifdef",
+ "#endif",
+ "{",
+ "}"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/glsl/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/glsl/injections.scm
new file mode 100644
index 0000000..6330ea3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/glsl/injections.scm
@@ -0,0 +1,4 @@
+; inherits: c
+
+((preproc_arg) @injection.content
+ (#set! injection.language "glsl"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/glsl/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/glsl/locals.scm
new file mode 100644
index 0000000..a5a5208
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/glsl/locals.scm
@@ -0,0 +1 @@
+; inherits: c
diff --git a/helix-22.03-x86_64-windows/runtime/queries/go/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/go/highlights.scm
new file mode 100644
index 0000000..4ff8675
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/go/highlights.scm
@@ -0,0 +1,152 @@
+; Function calls
+
+(call_expression
+ function: (identifier) @function)
+
+(call_expression
+ function: (selector_expression
+ field: (field_identifier) @function.method))
+
+; Function definitions
+
+(function_declaration
+ name: (identifier) @function)
+
+(method_declaration
+ name: (field_identifier) @function.method)
+
+; Identifiers
+
+((identifier) @constant (match? @constant "^[A-Z][A-Z\\d_]+$"))
+(const_spec
+ name: (identifier) @constant)
+
+(parameter_declaration (identifier) @variable.parameter)
+(variadic_parameter_declaration (identifier) @variable.parameter)
+
+(type_identifier) @type
+(field_identifier) @variable.other.member
+(identifier) @variable
+(package_identifier) @variable
+
+
+; Operators
+
+[
+ "--"
+ "-"
+ "-="
+ ":="
+ "!"
+ "!="
+ "..."
+ "*"
+ "*"
+ "*="
+ "/"
+ "/="
+ "&"
+ "&&"
+ "&="
+ "%"
+ "%="
+ "^"
+ "^="
+ "+"
+ "++"
+ "+="
+ "<-"
+ "<"
+ "<<"
+ "<<="
+ "<="
+ "="
+ "=="
+ ">"
+ ">="
+ ">>"
+ ">>="
+ "|"
+ "|="
+ "||"
+ "~"
+] @operator
+
+; Keywords
+
+[
+ "break"
+ "case"
+ "chan"
+ "const"
+ "continue"
+ "default"
+ "defer"
+ "else"
+ "fallthrough"
+ "for"
+ "func"
+ "go"
+ "goto"
+ "if"
+ "interface"
+ "map"
+ "range"
+ "return"
+ "select"
+ "struct"
+ "switch"
+ "type"
+ "var"
+] @keyword
+
+[
+ "import"
+ "package"
+] @keyword.control.import
+
+; Delimiters
+
+[
+ ":"
+ "."
+ ","
+ ";"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+; Literals
+
+[
+ (interpreted_string_literal)
+ (raw_string_literal)
+ (rune_literal)
+] @string
+
+(escape_sequence) @constant.character.escape
+
+[
+ (int_literal)
+ (float_literal)
+ (imaginary_literal)
+] @constant.numeric.integer
+
+[
+ (true)
+ (false)
+] @constant.builtin.boolean
+
+[
+ (nil)
+ (iota)
+] @constant.builtin
+
+(comment) @comment
diff --git a/helix-22.03-x86_64-windows/runtime/queries/go/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/go/indents.toml
new file mode 100644
index 0000000..7929ff5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/go/indents.toml
@@ -0,0 +1,30 @@
+indent = [
+ "import_declaration",
+ "const_declaration",
+ #"var_declaration",
+ #"short_var_declaration",
+ "type_declaration",
+ "type_spec",
+ # simply block should be enough
+ # "function_declaration",
+ # "method_declaration",
+ # "composite_literal",
+ "func_literal",
+ "literal_value",
+ "element",
+ "keyed_element",
+ "expression_case",
+ "default_case",
+ "type_case",
+ "communication_case",
+ "argument_list",
+ "field_declaration_list",
+ "block",
+]
+
+outdent = [
+ "case",
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/go/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/go/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/go/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/go/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/go/locals.scm
new file mode 100644
index 0000000..d240e2b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/go/locals.scm
@@ -0,0 +1,30 @@
+; Scopes
+
+(block) @local.scope
+
+; Definitions
+
+(parameter_declaration (identifier) @local.definition)
+(variadic_parameter_declaration (identifier) @local.definition)
+
+(short_var_declaration
+ left: (expression_list
+ (identifier) @local.definition))
+
+(var_spec
+ name: (identifier) @local.definition)
+
+(for_statement
+ (range_clause
+ left: (expression_list
+ (identifier) @local.definition)))
+
+(const_declaration
+ (const_spec
+ name: (identifier) @local.definition))
+
+; References
+
+(identifier) @local.reference
+(field_identifier) @local.reference
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/go/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/go/tags.scm
new file mode 100644
index 0000000..d87008a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/go/tags.scm
@@ -0,0 +1,30 @@
+(
+ (comment)* @doc
+ .
+ (function_declaration
+ name: (identifier) @name) @definition.function
+ (#strip! @doc "^//\\s*")
+ (#set-adjacent! @doc @definition.function)
+)
+
+(
+ (comment)* @doc
+ .
+ (method_declaration
+ name: (field_identifier) @name) @definition.method
+ (#strip! @doc "^//\\s*")
+ (#set-adjacent! @doc @definition.method)
+)
+
+(call_expression
+ function: [
+ (identifier) @name
+ (parenthesized_expression (identifier) @name)
+ (selector_expression field: (field_identifier) @name)
+ (parenthesized_expression (selector_expression field: (field_identifier) @name))
+ ]) @reference.call
+
+(type_spec
+ name: (type_identifier) @name) @definition.type
+
+(type_identifier) @name @reference.type
diff --git a/helix-22.03-x86_64-windows/runtime/queries/go/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/go/textobjects.scm
new file mode 100644
index 0000000..d77e14b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/go/textobjects.scm
@@ -0,0 +1,25 @@
+(function_declaration
+ body: (block)? @function.inside) @function.around
+
+(func_literal
+ (_)? @function.inside) @function.around
+
+(method_declaration
+ body: (block)? @function.inside) @function.around
+
+;; struct and interface declaration as class textobject?
+(type_declaration
+ (type_spec (type_identifier) (struct_type (field_declaration_list (_)?) @class.inside))) @class.around
+
+(type_declaration
+ (type_spec (type_identifier) (interface_type (method_spec_list (_)?) @class.inside))) @class.around
+
+(parameter_list
+ (_) @parameter.inside)
+
+(argument_list
+ (_) @parameter.inside)
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/graphql/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/graphql/highlights.scm
new file mode 100644
index 0000000..9fab405
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/graphql/highlights.scm
@@ -0,0 +1,163 @@
+; Types
+;------
+
+(scalar_type_definition
+ (name) @type)
+
+(object_type_definition
+ (name) @type)
+
+(interface_type_definition
+ (name) @type)
+
+(union_type_definition
+ (name) @type)
+
+(enum_type_definition
+ (name) @type)
+
+(input_object_type_definition
+ (name) @type)
+
+(directive_definition
+ (name) @type)
+
+(directive_definition
+ "@" @type)
+
+(scalar_type_extension
+ (name) @type)
+
+(object_type_extension
+ (name) @type)
+
+(interface_type_extension
+ (name) @type)
+
+(union_type_extension
+ (name) @type)
+
+(enum_type_extension
+ (name) @type)
+
+(input_object_type_extension
+ (name) @type)
+
+(named_type
+ (name) @type)
+
+(directive) @type
+
+; Properties
+;-----------
+
+(field
+ (name) @variable.other.member)
+
+(field
+ (alias
+ (name) @variable.other.member))
+
+(field_definition
+ (name) @variable.other.member)
+
+(object_value
+ (object_field
+ (name) @variable.other.member))
+
+(enum_value
+ (name) @variable.other.member)
+
+; Variable Definitions and Arguments
+;-----------------------------------
+
+(operation_definition
+ (name) @variable)
+
+(fragment_name
+ (name) @variable)
+
+(input_fields_definition
+ (input_value_definition
+ (name) @variable.parameter))
+
+(argument
+ (name) @variable.parameter)
+
+(arguments_definition
+ (input_value_definition
+ (name) @variable.parameter))
+
+(variable_definition
+ (variable) @variable.parameter)
+
+(argument
+ (value
+ (variable) @variable))
+
+; Constants
+;----------
+
+(string_value) @string
+
+(int_value) @constants.numeric.integer
+
+(float_value) @constants.numeric.float
+
+(boolean_value) @constants.builtin.boolean
+
+; Literals
+;---------
+
+(description) @comment
+
+(comment) @comment
+
+(directive_location
+ (executable_directive_location) @type.builtin)
+
+(directive_location
+ (type_system_directive_location) @type.builtin)
+
+; Keywords
+;----------
+
+[
+ "query"
+ "mutation"
+ "subscription"
+ "fragment"
+ "scalar"
+ "type"
+ "interface"
+ "union"
+ "enum"
+ "input"
+ "extend"
+ "directive"
+ "schema"
+ "on"
+ "repeatable"
+ "implements"
+] @keyword
+
+; Punctuation
+;------------
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+"=" @operator
+
+"|" @punctuation.delimiter
+"&" @punctuation.delimiter
+":" @punctuation.delimiter
+
+"..." @punctuation.special
+"!" @punctuation.special
diff --git a/helix-22.03-x86_64-windows/runtime/queries/haskell/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/haskell/highlights.scm
new file mode 100644
index 0000000..5009f3b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/haskell/highlights.scm
@@ -0,0 +1,125 @@
+;; ----------------------------------------------------------------------------
+;; Literals and comments
+
+(integer) @constant.numeric.integer
+(exp_negation) @constant.numeric.integer
+(exp_literal (float)) @constant.numeric.float
+(char) @constant.character
+(string) @string
+
+(con_unit) @constant.builtin ; unit, as in ()
+
+(comment) @comment
+
+
+;; ----------------------------------------------------------------------------
+;; Punctuation
+
+[
+ "("
+ ")"
+ "{"
+ "}"
+ "["
+ "]"
+] @punctuation.bracket
+
+[
+ (comma)
+ ";"
+] @punctuation.delimiter
+
+
+;; ----------------------------------------------------------------------------
+;; Keywords, operators, includes
+
+(pragma) @constant.macro
+
+[
+ "if"
+ "then"
+ "else"
+ "case"
+ "of"
+] @keyword.control.conditional
+
+[
+ "import"
+ "qualified"
+ "module"
+] @keyword.control.import
+
+[
+ (operator)
+ (constructor_operator)
+ (type_operator)
+ (tycon_arrow)
+ (qualified_module) ; grabs the `.` (dot), ex: import System.IO
+ (all_names)
+ (wildcard)
+ "="
+ "|"
+ "::"
+ "=>"
+ "->"
+ "<-"
+ "\\"
+ "`"
+ "@"
+] @operator
+
+(qualified_module (module) @constructor)
+(qualified_type (module) @namespace)
+(qualified_variable (module) @namespace)
+(import (module) @namespace)
+
+[
+ (where)
+ "let"
+ "in"
+ "class"
+ "instance"
+ "data"
+ "newtype"
+ "family"
+ "type"
+ "as"
+ "hiding"
+ "deriving"
+ "via"
+ "stock"
+ "anyclass"
+ "do"
+ "mdo"
+ "rec"
+ "forall"
+ "∀"
+ "infix"
+ "infixl"
+ "infixr"
+] @keyword
+
+
+;; ----------------------------------------------------------------------------
+;; Functions and variables
+
+(signature name: (variable) @type)
+(function name: (variable) @function)
+
+(variable) @variable
+"_" @variable.builtin
+
+(exp_infix (variable) @operator) ; consider infix functions as operators
+
+("@" @namespace) ; "as" pattern operator, e.g. x@Constructor
+
+
+;; ----------------------------------------------------------------------------
+;; Types
+
+(type) @type
+
+(constructor) @constructor
+
+; True or False
+((constructor) @_bool (#match? @_bool "(True|False)")) @constant.builtin.boolean
diff --git a/helix-22.03-x86_64-windows/runtime/queries/haskell/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/haskell/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/haskell/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/haskell/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/haskell/locals.scm
new file mode 100644
index 0000000..ad67fe4
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/haskell/locals.scm
@@ -0,0 +1,4 @@
+(signature name: (variable)) @local.definition
+(function name: (variable)) @local.definition
+(pat_name (variable)) @local.definition
+(exp_name (variable)) @local.reference
diff --git a/helix-22.03-x86_64-windows/runtime/queries/hcl/folds.scm b/helix-22.03-x86_64-windows/runtime/queries/hcl/folds.scm
new file mode 100644
index 0000000..cb20b2a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/hcl/folds.scm
@@ -0,0 +1,6 @@
+[
+ (comment)
+ (block)
+ (heredoc_template)
+ (object)
+] @fold
diff --git a/helix-22.03-x86_64-windows/runtime/queries/hcl/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/hcl/highlights.scm
new file mode 100644
index 0000000..03b3e52
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/hcl/highlights.scm
@@ -0,0 +1,100 @@
+(ERROR) @error
+
+; { key: val }
+
+(object_elem val: (expression
+ (variable_expr
+ (identifier) @type.builtin (#match? @type.builtin "^(bool|string|number|object|tuple|list|map|set|any)$"))))
+
+(get_attr (identifier) @variable.builtin (#match? @variable.builtin "^(root|cwd|module)$"))
+(variable_expr (identifier) @variable.builtin (#match? @variable.builtin "^(var|local|path)$"))
+((identifier) @type.builtin (#match? @type.builtin "^(bool|string|number|object|tuple|list|map|set|any)$"))
+((identifier) @keyword (#match? @keyword "^(module|root|cwd|resource|variable|data|locals|terraform|provider|output)$"))
+
+; highlight identifier keys as though they were block attributes
+(object_elem key: (expression (variable_expr (identifier) @variable.other.member)))
+
+(attribute (identifier) @variable.other.member)
+(function_call (identifier) @function.method)
+(block (identifier) @type.builtin)
+
+(identifier) @variable
+(comment) @comment
+(null_lit) @constant.builtin
+(numeric_lit) @constant.number
+(bool_lit) @constant.builtin.boolean
+
+[
+ (template_interpolation_start) ; ${
+ (template_interpolation_end) ; }
+ (template_directive_start) ; %{
+ (template_directive_end) ; }
+ (strip_marker) ; ~
+] @punctuation.special
+
+[
+ (heredoc_identifier) ; <<END
+ (heredoc_start) ; END
+] @punctuation.delimiter
+
+[
+ (quoted_template_start) ; "
+ (quoted_template_end); "
+ (template_literal) ; non-interpolation/directive content
+] @string
+
+[
+ "if"
+ "else"
+ "endif"
+] @keyword.control.conditional
+
+[
+ "for"
+ "endfor"
+ "in"
+] @keyword.control.repeat
+
+[
+ ":"
+ "="
+] @none
+
+[
+ (ellipsis)
+ "\?"
+ "=>"
+] @punctuation.special
+
+[
+ "."
+ ".*"
+ ","
+ "[*]"
+] @punctuation.delimiter
+
+[
+ "{"
+ "}"
+ "["
+ "]"
+ "("
+ ")"
+] @punctuation.bracket
+
+[
+ "!"
+ "\*"
+ "/"
+ "%"
+ "\+"
+ "-"
+ ">"
+ ">="
+ "<"
+ "<="
+ "=="
+ "!="
+ "&&"
+ "||"
+] @operator
diff --git a/helix-22.03-x86_64-windows/runtime/queries/hcl/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/hcl/indents.toml
new file mode 100644
index 0000000..b0d4a3f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/hcl/indents.toml
@@ -0,0 +1,13 @@
+indent = [
+ "object",
+ "block",
+ "tuple",
+ "for_tuple_expr",
+ "for_object_expr"
+]
+
+outdent = [
+ "object_end",
+ "block_end",
+ "tuple_end"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/hcl/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/hcl/injections.scm
new file mode 100644
index 0000000..fd69161
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/hcl/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/html/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/html/highlights.scm
new file mode 100644
index 0000000..2c70a9c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/html/highlights.scm
@@ -0,0 +1,12 @@
+(tag_name) @tag
+(erroneous_end_tag_name) @tag.error
+(doctype) @constant
+(attribute_name) @attribute
+(attribute_value) @string
+(comment) @comment
+
+[
+ "<"
+ ">"
+ "</"
+] @punctuation.bracket
diff --git a/helix-22.03-x86_64-windows/runtime/queries/html/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/html/injections.scm
new file mode 100644
index 0000000..ef58f41
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/html/injections.scm
@@ -0,0 +1,10 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((script_element
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript"))
+
+((style_element
+ (raw_text) @injection.content)
+ (#set! injection.language "css"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/iex/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/iex/highlights.scm
new file mode 100644
index 0000000..2847fbf
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/iex/highlights.scm
@@ -0,0 +1 @@
+(prompt) @comment
diff --git a/helix-22.03-x86_64-windows/runtime/queries/iex/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/iex/injections.scm
new file mode 100644
index 0000000..48863d9
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/iex/injections.scm
@@ -0,0 +1,6 @@
+((evaluation_block (prompt_line (expression) @injection.content))
+ (#set! injection.language "elixir")
+ (#set! injection.combined))
+
+((result) @injection.content
+ (#set! injection.language "elixir"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/java/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/java/highlights.scm
new file mode 100644
index 0000000..77902fc
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/java/highlights.scm
@@ -0,0 +1,130 @@
+; Methods
+
+(method_declaration
+ name: (identifier) @function.method)
+(method_invocation
+ name: (identifier) @function.method)
+(super) @function.builtin
+
+; Annotations
+
+(annotation
+ name: (identifier) @attribute)
+(marker_annotation
+ name: (identifier) @attribute)
+
+"@" @operator
+
+; Types
+
+(interface_declaration
+ name: (identifier) @type)
+(class_declaration
+ name: (identifier) @type)
+(enum_declaration
+ name: (identifier) @type)
+
+((field_access
+ object: (identifier) @type)
+ (#match? @type "^[A-Z]"))
+((scoped_identifier
+ scope: (identifier) @type)
+ (#match? @type "^[A-Z]"))
+
+(constructor_declaration
+ name: (identifier) @type)
+
+(type_identifier) @type
+
+[
+ (boolean_type)
+ (integral_type)
+ (floating_point_type)
+ (floating_point_type)
+ (void_type)
+] @type.builtin
+
+; Variables
+
+((identifier) @constant
+ (#match? @constant "^_*[A-Z][A-Z\\d_]+$"))
+
+(identifier) @variable
+
+(this) @variable.builtin
+
+; Literals
+
+[
+ (hex_integer_literal)
+ (decimal_integer_literal)
+ (octal_integer_literal)
+] @constant.numeric.integer
+
+[
+ (decimal_floating_point_literal)
+ (hex_floating_point_literal)
+] @constant.numeric.float
+
+(character_literal) @constant.character
+(string_literal) @string
+
+[
+ (true)
+ (false)
+ (null_literal)
+] @constant.builtin
+
+(comment) @comment
+
+; Keywords
+
+[
+ "abstract"
+ "assert"
+ "break"
+ "case"
+ "catch"
+ "class"
+ "continue"
+ "default"
+ "do"
+ "else"
+ "enum"
+ "exports"
+ "extends"
+ "final"
+ "finally"
+ "for"
+ "if"
+ "implements"
+ "import"
+ "instanceof"
+ "interface"
+ "module"
+ "native"
+ "new"
+ "open"
+ "opens"
+ "package"
+ "private"
+ "protected"
+ "provides"
+ "public"
+ "requires"
+ "return"
+ "static"
+ "strictfp"
+ "switch"
+ "synchronized"
+ "throw"
+ "throws"
+ "to"
+ "transient"
+ "transitive"
+ "try"
+ "uses"
+ "volatile"
+ "while"
+ "with"
+] @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/java/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/java/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/java/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-jsx.scm b/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-jsx.scm
new file mode 100644
index 0000000..751da08
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-jsx.scm
@@ -0,0 +1,4 @@
+(jsx_opening_element (identifier) @tag)
+(jsx_closing_element (identifier) @tag)
+(jsx_self_closing_element (identifier) @tag)
+(jsx_attribute (property_identifier) @attribute)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-params.scm b/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-params.scm
new file mode 100644
index 0000000..95ffc72
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights-params.scm
@@ -0,0 +1,12 @@
+(formal_parameters
+ [
+ (identifier) @variable.parameter
+ (array_pattern
+ (identifier) @variable.parameter)
+ (object_pattern
+ [
+ (pair_pattern value: (identifier) @variable.parameter)
+ (shorthand_property_identifier_pattern) @variable.parameter
+ ])
+ ]
+)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights.scm
new file mode 100644
index 0000000..6163b68
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/highlights.scm
@@ -0,0 +1,205 @@
+; Special identifiers
+;--------------------
+
+([
+ (identifier)
+ (shorthand_property_identifier)
+ (shorthand_property_identifier_pattern)
+ ] @constant
+ (#match? @constant "^[A-Z_][A-Z\\d_]+$"))
+
+
+((identifier) @constructor
+ (#match? @constructor "^[A-Z]"))
+
+((identifier) @variable.builtin
+ (#match? @variable.builtin "^(arguments|module|console|window|document)$")
+ (#is-not? local))
+
+((identifier) @function.builtin
+ (#eq? @function.builtin "require")
+ (#is-not? local))
+
+; Function and method definitions
+;--------------------------------
+
+(function
+ name: (identifier) @function)
+(function_declaration
+ name: (identifier) @function)
+(method_definition
+ name: (property_identifier) @function.method)
+
+(pair
+ key: (property_identifier) @function.method
+ value: [(function) (arrow_function)])
+
+(assignment_expression
+ left: (member_expression
+ property: (property_identifier) @function.method)
+ right: [(function) (arrow_function)])
+
+(variable_declarator
+ name: (identifier) @function
+ value: [(function) (arrow_function)])
+
+(assignment_expression
+ left: (identifier) @function
+ right: [(function) (arrow_function)])
+
+; Function and method calls
+;--------------------------
+
+(call_expression
+ function: (identifier) @function)
+
+(call_expression
+ function: (member_expression
+ property: (property_identifier) @function.method))
+
+; Variables
+;----------
+
+(identifier) @variable
+
+; Properties
+;-----------
+
+(property_identifier) @variable.other.member
+
+; Literals
+;---------
+
+(this) @variable.builtin
+(super) @variable.builtin
+
+[
+ (true)
+ (false)
+ (null)
+ (undefined)
+] @constant.builtin
+
+(comment) @comment
+
+[
+ (string)
+ (template_string)
+] @string
+
+(regex) @string.regexp
+(number) @constant.numeric.integer
+
+; Tokens
+;-------
+
+(template_substitution
+ "${" @punctuation.special
+ "}" @punctuation.special) @embedded
+
+[
+ ";"
+ "?."
+ "."
+ ","
+] @punctuation.delimiter
+
+[
+ "-"
+ "--"
+ "-="
+ "+"
+ "++"
+ "+="
+ "*"
+ "*="
+ "**"
+ "**="
+ "/"
+ "/="
+ "%"
+ "%="
+ "<"
+ "<="
+ "<<"
+ "<<="
+ "="
+ "=="
+ "==="
+ "!"
+ "!="
+ "!=="
+ "=>"
+ ">"
+ ">="
+ ">>"
+ ">>="
+ ">>>"
+ ">>>="
+ "~"
+ "^"
+ "&"
+ "|"
+ "^="
+ "&="
+ "|="
+ "&&"
+ "||"
+ "??"
+ "&&="
+ "||="
+ "??="
+] @operator
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ "as"
+ "async"
+ "await"
+ "break"
+ "case"
+ "catch"
+ "class"
+ "const"
+ "continue"
+ "debugger"
+ "default"
+ "delete"
+ "do"
+ "else"
+ "export"
+ "extends"
+ "finally"
+ "for"
+ "from"
+ "function"
+ "get"
+ "if"
+ "import"
+ "in"
+ "instanceof"
+ "let"
+ "new"
+ "of"
+ "return"
+ "set"
+ "static"
+ "switch"
+ "target"
+ "throw"
+ "try"
+ "typeof"
+ "var"
+ "void"
+ "while"
+ "with"
+ "yield"
+] @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/javascript/indents.toml
new file mode 100644
index 0000000..9d711ab
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/indents.toml
@@ -0,0 +1,28 @@
+indent = [
+ "array",
+ "object",
+ "arguments",
+ "formal_parameters",
+
+ "statement_block",
+ "object_pattern",
+ "class_body",
+ "named_imports",
+
+ "binary_expression",
+ "return_statement",
+ "template_substitution",
+ # (expression_statement (call_expression))
+ "export_clause",
+
+ # typescript
+ "enum_declaration",
+ "interface_declaration",
+ "object_type",
+]
+
+outdent = [
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/javascript/injections.scm
new file mode 100644
index 0000000..e842911
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/injections.scm
@@ -0,0 +1,28 @@
+; Parse the contents of tagged template literals using
+; a language inferred from the tag.
+
+(call_expression
+ function: [
+ (identifier) @injection.language
+ (member_expression
+ property: (property_identifier) @injection.language)
+ ]
+ arguments: (template_string) @injection.content)
+
+; Parse the contents of gql template literals
+
+((call_expression
+ function: (identifier) @_template_function_name
+ arguments: (template_string) @injection.content)
+ (#eq? @_template_function_name "gql")
+ (#set! injection.language "graphql"))
+
+; Parse regex syntax within regex literals
+
+((regex_pattern) @injection.content
+ (#set! injection.language "regex"))
+
+ ; Parse JSDoc annotations in comments
+
+((comment) @injection.content
+ (#set! injection.language "jsdoc"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/javascript/locals.scm
new file mode 100644
index 0000000..5d680ac
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/locals.scm
@@ -0,0 +1,23 @@
+; Scopes
+;-------
+
+[
+ (statement_block)
+ (function)
+ (arrow_function)
+ (function_declaration)
+ (method_definition)
+] @local.scope
+
+; Definitions
+;------------
+
+(pattern/identifier)@local.definition
+
+(variable_declarator
+ name: (identifier) @local.definition)
+
+; References
+;------------
+
+(identifier) @local.reference
diff --git a/helix-22.03-x86_64-windows/runtime/queries/javascript/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/javascript/tags.scm
new file mode 100644
index 0000000..a7bbd31
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/javascript/tags.scm
@@ -0,0 +1,88 @@
+(
+ (comment)* @doc
+ .
+ (method_definition
+ name: (property_identifier) @name) @definition.method
+ (#not-eq? @name "constructor")
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
+ (#select-adjacent! @doc @definition.method)
+)
+
+(
+ (comment)* @doc
+ .
+ [
+ (class
+ name: (_) @name)
+ (class_declaration
+ name: (_) @name)
+ ] @definition.class
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
+ (#select-adjacent! @doc @definition.class)
+)
+
+(
+ (comment)* @doc
+ .
+ [
+ (function
+ name: (identifier) @name)
+ (function_declaration
+ name: (identifier) @name)
+ (generator_function
+ name: (identifier) @name)
+ (generator_function_declaration
+ name: (identifier) @name)
+ ] @definition.function
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
+ (#select-adjacent! @doc @definition.function)
+)
+
+(
+ (comment)* @doc
+ .
+ (lexical_declaration
+ (variable_declarator
+ name: (identifier) @name
+ value: [(arrow_function) (function)]) @definition.function)
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
+ (#select-adjacent! @doc @definition.function)
+)
+
+(
+ (comment)* @doc
+ .
+ (variable_declaration
+ (variable_declarator
+ name: (identifier) @name
+ value: [(arrow_function) (function)]) @definition.function)
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
+ (#select-adjacent! @doc @definition.function)
+)
+
+(assignment_expression
+ left: [
+ (identifier) @name
+ (member_expression
+ property: (property_identifier) @name)
+ ]
+ right: [(arrow_function) (function)]
+) @definition.function
+
+(pair
+ key: (property_identifier) @name
+ value: [(arrow_function) (function)]) @definition.function
+
+(
+ (call_expression
+ function: (identifier) @name) @reference.call
+ (#not-match? @name "^(require)$")
+)
+
+(call_expression
+ function: (member_expression
+ property: (property_identifier) @name)
+ arguments: (_) @reference.call)
+
+(new_expression
+ constructor: (_) @name) @reference.class
diff --git a/helix-22.03-x86_64-windows/runtime/queries/json/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/json/highlights.scm
new file mode 100644
index 0000000..6df6c9e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/json/highlights.scm
@@ -0,0 +1,20 @@
+[
+ (true)
+ (false)
+] @constant.builtin.boolean
+(null) @constant.builtin
+(number) @constant.numeric
+(pair
+ key: (_) @keyword)
+
+(string) @string
+(escape_sequence) @constant.character.escape
+(ERROR) @error
+
+"," @punctuation.delimiter
+[
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
diff --git a/helix-22.03-x86_64-windows/runtime/queries/json/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/json/indents.toml
new file mode 100644
index 0000000..64a8d17
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/json/indents.toml
@@ -0,0 +1,9 @@
+indent = [
+ "object",
+ "array"
+]
+
+outdent = [
+ "]",
+ "}"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/julia/folds.scm b/helix-22.03-x86_64-windows/runtime/queries/julia/folds.scm
new file mode 100644
index 0000000..91eede5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/julia/folds.scm
@@ -0,0 +1,11 @@
+[
+ (module_definition)
+ (struct_definition)
+ (macro_definition)
+ (function_definition)
+ (compound_expression) ; begin blocks
+ (let_statement)
+ (if_statement)
+ (for_statement)
+ (while_statement)
+] @fold
diff --git a/helix-22.03-x86_64-windows/runtime/queries/julia/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/julia/highlights.scm
new file mode 100644
index 0000000..7c44798
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/julia/highlights.scm
@@ -0,0 +1,184 @@
+
+[
+ (triple_string)
+ (string)
+] @string
+
+(string
+ prefix: (identifier) @constant.builtin)
+
+(macro_identifier) @function.macro
+(macro_identifier (identifier) @function.macro) ; for any one using the variable highlight
+(macro_definition
+ name: (identifier) @function.macro
+ ["macro" "end" @keyword])
+
+(field_expression
+ (identifier)
+ (identifier) @variable.other.member .)
+
+(function_definition
+ name: (identifier) @function)
+(call_expression
+ (identifier) @function)
+(call_expression
+ (field_expression (identifier) @function.method .))
+(broadcast_call_expression
+ (identifier) @function)
+(broadcast_call_expression
+ (field_expression (identifier) @function.method .))
+(parameter_list
+ (identifier) @variable.parameter)
+(parameter_list
+ (optional_parameter .
+ (identifier) @variable.parameter))
+(typed_parameter
+ (identifier) @variable.parameter
+ (identifier) @type)
+(type_parameter_list
+ (identifier) @type)
+(typed_parameter
+ (identifier) @variable.parameter
+ (parameterized_identifier) @type)
+(function_expression
+ . (identifier) @variable.parameter)
+(spread_parameter) @variable.parameter
+(spread_parameter
+ (identifier) @variable.parameter)
+(named_argument
+ . (identifier) @variable.parameter)
+(argument_list
+ (typed_expression
+ (identifier) @variable.parameter
+ (identifier) @type))
+(argument_list
+ (typed_expression
+ (identifier) @variable.parameter
+ (parameterized_identifier) @type))
+
+;; Symbol expressions (:my-wanna-be-lisp-keyword)
+(quote_expression
+ (identifier)) @string.special.symbol
+
+;; Parsing error! foo (::Type) get's parsed as two quote expressions
+(argument_list
+ (quote_expression
+ (quote_expression
+ (identifier) @type)))
+
+(type_argument_list
+ (identifier) @type)
+(parameterized_identifier (_)) @type
+(argument_list
+ (typed_expression . (identifier) @variable.parameter))
+
+(typed_expression
+ (identifier) @type .)
+(typed_expression
+ (parameterized_identifier) @type .)
+
+(struct_definition
+ name: (identifier) @type)
+
+(number) @constant.numeric.integer
+(range_expression
+ (identifier) @constant.numeric.integer
+ (eq? @constant.numeric.integer "end"))
+(range_expression
+ (_
+ (identifier) @constant.numeric.integer
+ (eq? @constant.numeric.integer "end")))
+(coefficient_expression
+ (number)
+ (identifier) @constant.builtin)
+
+;; TODO: operators.
+;; Those are a bit difficult to implement since the respective nodes are hidden right now (_power_operator)
+;; and heavily use Unicode chars (support for those are bad in vim/lua regexes)
+;[;
+ ;(power_operator);
+ ;(times_operator);
+ ;(plus_operator);
+ ;(arrow_operator);
+ ;(comparison_operator);
+ ;(assign_operator);
+;] @operator ;
+
+"end" @keyword
+
+(if_statement
+ ["if" "end"] @keyword.control.conditional)
+(elseif_clause
+ ["elseif"] @keyword.control.conditional)
+(else_clause
+ ["else"] @keyword.control.conditional)
+(ternary_expression
+ ["?" ":"] @keyword.control.conditional)
+
+(function_definition ["function" "end"] @keyword.function)
+
+(comment) @comment
+
+[
+ "const"
+ "return"
+ "macro"
+ "struct"
+ "primitive"
+ "type"
+] @keyword
+
+((identifier) @keyword (match? @keyword "global|local"))
+
+(compound_expression
+ ["begin" "end"] @keyword)
+(try_statement
+ ["try" "end" ] @keyword.control.exception)
+(finally_clause
+ "finally" @keyword.control.exception)
+(catch_clause
+ "catch" @keyword.control.exception)
+(quote_statement
+ ["quote" "end"] @keyword)
+(let_statement
+ ["let" "end"] @keyword)
+(for_statement
+ ["for" "end"] @keyword.control.repeat)
+(while_statement
+ ["while" "end"] @keyword.control.repeat)
+(break_statement) @keyword.control.repeat
+(continue_statement) @keyword.control.repeat
+(for_binding
+ "in" @keyword.control.repeat)
+(for_clause
+ "for" @keyword.control.repeat)
+(do_clause
+ ["do" "end"] @keyword)
+
+(export_statement
+ ["export"] @keyword.control.import)
+
+[
+ "using"
+ "module"
+ "import"
+] @keyword.control.import
+
+((identifier) @keyword.control.import (#eq? @keyword.control.import "baremodule"))
+
+(((identifier) @constant.builtin) (match? @constant.builtin "^(nothing|Inf|NaN)$"))
+(((identifier) @constant.builtin.boolean) (#eq? @constant.builtin.boolean "true"))
+(((identifier) @constant.builtin.boolean) (#eq? @constant.builtin.boolean "false"))
+
+
+["::" ":" "." "," "..." "!"] @punctuation.delimiter
+["[" "]" "(" ")" "{" "}"] @punctuation.bracket
+
+["="] @operator
+
+(identifier) @variable
+;; In case you want type highlighting based on Julia naming conventions (this might collide with mathematical notation)
+;((identifier) @type ; exception: mark `A_foo` sort of identifiers as variables
+ ;(match? @type "^[A-Z][^_]"))
+((identifier) @constant
+ (match? @constant "^[A-Z][A-Z_]{2}[A-Z_]*$"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/julia/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/julia/injections.scm
new file mode 100644
index 0000000..1c1e804
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/julia/injections.scm
@@ -0,0 +1,5 @@
+((triple_string) @injection.content
+ (#set! injection.language "markdown"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/julia/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/julia/locals.scm
new file mode 100644
index 0000000..d5ac794
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/julia/locals.scm
@@ -0,0 +1,59 @@
+
+(import_statement
+ (identifier) @definition.import)
+(variable_declaration
+ (identifier) @local.definition)
+(variable_declaration
+ (tuple_expression
+ (identifier) @local.definition))
+(for_binding
+ (identifier) @local.definition)
+(for_binding
+ (tuple_expression
+ (identifier) @local.definition))
+
+(assignment_expression
+ (tuple_expression
+ (identifier) @local.definition))
+(assignment_expression
+ (bare_tuple_expression
+ (identifier) @local.definition))
+(assignment_expression
+ (identifier) @local.definition)
+
+(type_parameter_list
+ (identifier) @definition.type)
+(type_argument_list
+ (identifier) @definition.type)
+(struct_definition
+ name: (identifier) @definition.type)
+
+(parameter_list
+ (identifier) @definition.parameter)
+(typed_parameter
+ (identifier) @definition.parameter
+ (identifier))
+(function_expression
+ . (identifier) @definition.parameter)
+(argument_list
+ (typed_expression
+ (identifier) @definition.parameter
+ (identifier)))
+(spread_parameter
+ (identifier) @definition.parameter)
+
+(function_definition
+ name: (identifier) @definition.function) @local.scope
+(macro_definition
+ name: (identifier) @definition.macro) @local.scope
+
+(identifier) @local.reference
+
+[
+ (try_statement)
+ (finally_clause)
+ (quote_statement)
+ (let_statement)
+ (compound_expression)
+ (for_statement)
+] @local.scope
diff --git a/helix-22.03-x86_64-windows/runtime/queries/kotlin/folds.scm b/helix-22.03-x86_64-windows/runtime/queries/kotlin/folds.scm
new file mode 100644
index 0000000..768972b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/kotlin/folds.scm
@@ -0,0 +1,17 @@
+[
+ (import_list)
+
+ (when_expression)
+ (control_structure_body)
+
+ (lambda_literal)
+ (function_body)
+ (primary_constructor)
+ (secondary_constructor)
+ (anonymous_initializer)
+
+ (class_body)
+ (enum_class_body)
+
+ (interpolated_expression)
+] @fold
diff --git a/helix-22.03-x86_64-windows/runtime/queries/kotlin/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/kotlin/highlights.scm
new file mode 100644
index 0000000..7b90fcf
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/kotlin/highlights.scm
@@ -0,0 +1,295 @@
+;;; Operators & Punctuation
+
+(multi_line_string_literal
+ "$" @punctuation
+ (interpolated_identifier) @none)
+(multi_line_string_literal
+ "${" @punctuation
+ (interpolated_expression) @none
+ "}" @punctuation.)
+
+; NOTE: `interpolated_identifier`s can be highlighted in any way
+(line_string_literal
+ "$" @punctuation
+ (interpolated_identifier) @none)
+(line_string_literal
+ "${" @punctuation
+ (interpolated_expression) @none
+ "}" @punctuation)
+
+[
+ "."
+ ","
+ ";"
+ ":"
+ "::"
+] @punctuation.delimiter
+
+[
+ "(" ")"
+ "[" "]"
+ "{" "}"
+] @punctuation.bracket
+
+[
+ "!"
+ "!="
+ "!=="
+ "="
+ "=="
+ "==="
+ ">"
+ ">="
+ "<"
+ "<="
+ "||"
+ "&&"
+ "+"
+ "++"
+ "+="
+ "-"
+ "--"
+ "-="
+ "*"
+ "*="
+ "/"
+ "/="
+ "%"
+ "%="
+ "?."
+ "?:"
+ "!!"
+ "is"
+ "!is"
+ "in"
+ "!in"
+ "as"
+ "as?"
+ ".."
+ "->"
+] @operator
+
+;;; Keywords
+
+(type_alias "typealias" @keyword)
+[
+ (class_modifier)
+ (member_modifier)
+ (function_modifier)
+ (property_modifier)
+ (platform_modifier)
+ (variance_modifier)
+ (parameter_modifier)
+ (visibility_modifier)
+ (reification_modifier)
+ (inheritance_modifier)
+]@keyword
+
+[
+ "val"
+ "var"
+ "enum"
+ "class"
+ "object"
+ "interface"
+; "typeof" ; NOTE: It is reserved for future use
+] @keyword
+
+("fun") @keyword.function
+
+(jump_expression) @keyword.control.return
+
+[
+ "if"
+ "else"
+ "when"
+] @keyword.control.conditional
+
+[
+ "for"
+ "do"
+ "while"
+] @keyword.control.repeat
+
+[
+ "try"
+ "catch"
+ "throw"
+ "finally"
+] @keyword.control.exception
+
+(annotation
+ "@" @attribute (use_site_target)? @attribute)
+(annotation
+ (user_type
+ (type_identifier) @attribute))
+(annotation
+ (constructor_invocation
+ (user_type
+ (type_identifier) @attribute)))
+
+(file_annotation
+ "@" @attribute "file" @attribute ":" @attribute)
+(file_annotation
+ (user_type
+ (type_identifier) @attribute))
+(file_annotation
+ (constructor_invocation
+ (user_type
+ (type_identifier) @attribute)))
+
+;;; Literals
+; NOTE: Escapes not allowed in multi-line strings
+(line_string_literal (character_escape_seq) @constant.character.escape)
+
+[
+ (line_string_literal)
+ (multi_line_string_literal)
+] @string
+
+(character_literal) @constant.character
+
+[
+ "null" ; should be highlighted the same as booleans
+ (boolean_literal)
+] @constant.builtin.boolean
+
+(real_literal) @constant.numeric.float
+[
+ (integer_literal)
+ (long_literal)
+ (hex_literal)
+ (bin_literal)
+ (unsigned_literal)
+] @constant.numeric.integer
+
+[
+ (comment)
+ (shebang_line)
+] @comment
+
+;;; Function calls
+
+(call_expression
+ . (simple_identifier) @function.builtin
+ (#match? @function.builtin "^(arrayOf|arrayOfNulls|byteArrayOf|shortArrayOf|intArrayOf|longArrayOf|ubyteArrayOf|ushortArrayOf|uintArrayOf|ulongArrayOf|floatArrayOf|doubleArrayOf|booleanArrayOf|charArrayOf|emptyArray|mapOf|setOf|listOf|emptyMap|emptySet|emptyList|mutableMapOf|mutableSetOf|mutableListOf|print|println|error|TODO|run|runCatching|repeat|lazy|lazyOf|enumValues|enumValueOf|assert|check|checkNotNull|require|requireNotNull|with|suspend|synchronized)$"))
+
+; object.function() or object.property.function()
+(call_expression
+ (navigation_expression
+ (navigation_suffix
+ (simple_identifier) @function) . ))
+
+; function()
+(call_expression
+ . (simple_identifier) @function)
+
+;;; Function definitions
+
+; lambda parameters
+(lambda_literal
+ (lambda_parameters
+ (variable_declaration
+ (simple_identifier) @variable.parameter)))
+
+(parameter_with_optional_type
+ (simple_identifier) @variable.parameter)
+
+(parameter
+ (simple_identifier) @variable.parameter)
+
+(anonymous_initializer
+ ("init") @constructor)
+
+(constructor_invocation
+ (user_type
+ (type_identifier) @constructor))
+
+(secondary_constructor
+ ("constructor") @constructor)
+(primary_constructor) @constructor
+
+(getter
+ ("get") @function.builtin)
+(setter
+ ("set") @function.builtin)
+
+(function_declaration
+ . (simple_identifier) @function)
+
+; TODO: Seperate labeled returns/breaks/continue/super/this
+; Must be implemented in the parser first
+(label) @label
+
+(import_header
+ (identifier
+ (simple_identifier) @function @_import .)
+ (import_alias
+ (type_identifier) @function)?
+ (#match? @_import "^[a-z]"))
+
+; The last `simple_identifier` in a `import_header` will always either be a function
+; or a type. Classes can appear anywhere in the import path, unlike functions
+(import_header
+ (identifier
+ (simple_identifier) @type @_import)
+ (import_alias
+ (type_identifier) @type)?
+ (#match? @_import "^[A-Z]"))
+
+(import_header
+ "import" @keyword.control.import)
+
+(package_header
+ . (identifier)) @namespace
+
+((type_identifier) @type.builtin
+ (#match? @function.builtin "^(Byte|Short|Int|Long|UByte|UShort|UInt|ULong|Float|Double|Boolean|Char|String|Array|ByteArray|ShortArray|IntArray|LongArray|UByteArray|UShortArray|UIntArray|ULongArray|FloatArray|DoubleArray|BooleanArray|CharArray|Map|Set|List|EmptyMap|EmptySet|EmptyList|MutableMap|MutableSet|MutableList)$"))
+
+(type_identifier) @type
+
+(enum_entry
+ (simple_identifier) @constant)
+
+(_
+ (navigation_suffix
+ (simple_identifier) @constant
+ (#match? @constant "^[A-Z][A-Z0-9_]*$")))
+
+; SCREAMING CASE identifiers are assumed to be constants
+((simple_identifier) @constant
+(#match? @constant "^[A-Z][A-Z0-9_]*$"))
+
+; id_1.id_2.id_3: `id_2` and `id_3` are assumed as object properties
+(_
+ (navigation_suffix
+ (simple_identifier) @variable.other.member))
+
+(class_body
+ (property_declaration
+ (variable_declaration
+ (simple_identifier) @variable.other.member)))
+
+(class_parameter
+ (simple_identifier) @variable.other.member)
+
+; `super` keyword inside classes
+(super_expression) @variable.builtin
+
+; `this` this keyword inside classes
+(this_expression) @variable.builtin
+
+;;; Identifiers
+; `field` keyword inside property getter/setter
+; FIXME: This will highlight the keyword outside of getters and setters
+; since tree-sitter does not allow us to check for arbitrary nestation
+((simple_identifier) @variable.builtin
+(#eq? @variable.builtin "field"))
+
+; `it` keyword inside lambdas
+; FIXME: This will highlight the keyword outside of lambdas since tree-sitter
+; does not allow us to check for arbitrary nestation
+((simple_identifier) @variable.builtin
+(#eq? @variable.builtin "it"))
+
+(simple_identifier) @variable
diff --git a/helix-22.03-x86_64-windows/runtime/queries/kotlin/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/kotlin/injections.scm
new file mode 100644
index 0000000..abdc205
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/kotlin/injections.scm
@@ -0,0 +1,36 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+; There are 3 ways to define a regex
+; - "[abc]?".toRegex()
+((call_expression
+ (navigation_expression
+ ([(line_string_literal) (multi_line_string_literal)] @injection.content)
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "toRegex")))))
+ (#set! injection.language "regex"))
+
+; - Regex("[abc]?")
+((call_expression
+ ((simple_identifier) @_function
+ (#eq? @_function "Regex"))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ [ (line_string_literal) (multi_line_string_literal) ] @injection.content))))
+ (#set! injection.language "regex"))
+
+; - Regex.fromLiteral("[abc]?")
+((call_expression
+ (navigation_expression
+ ((simple_identifier) @_class
+ (#eq? @_class "Regex"))
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "fromLiteral"))))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ [ (line_string_literal) (multi_line_string_literal) ] @injection.content))))
+ (#set! injection.language "regex"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/latex/folds.scm b/helix-22.03-x86_64-windows/runtime/queries/latex/folds.scm
new file mode 100644
index 0000000..fb5c717
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/latex/folds.scm
@@ -0,0 +1,12 @@
+[
+ (chapter)
+ (part)
+ (section)
+ (subsection)
+ (subsubsection)
+ (paragraph)
+ (subparagraph)
+
+ (environment)
+ (displayed_equation)
+] @fold
diff --git a/helix-22.03-x86_64-windows/runtime/queries/latex/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/latex/highlights.scm
new file mode 100644
index 0000000..0a030b3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/latex/highlights.scm
@@ -0,0 +1,410 @@
+;; Math
+[
+ (displayed_equation)
+ (inline_formula)
+] @text.math
+
+;; This highlights the whole environment like vimtex does
+((environment
+ (begin
+ name: (word) @_env)) @text.math
+ (#any-of? @_env
+ "displaymath" "displaymath*"
+ "equation" "equation*"
+ "multline" "multline*"
+ "eqnarray" "eqnarray*"
+ "align" "align*"
+ "array" "array*"
+ "split" "split*"
+ "alignat" "alignat*"
+ "gather" "gather*"
+ "flalign" "flalign*"))
+
+[
+ (generic_command_name)
+ "\\newcommand"
+ "\\renewcommand"
+ "\\DeclareRobustCommand"
+ "\\DeclareMathOperator"
+ "\\newglossaryentry"
+ "\\caption"
+ "\\label"
+ "\\newlabel"
+ "\\color"
+ "\\colorbox"
+ "\\textcolor"
+ "\\pagecolor"
+ "\\definecolor"
+ "\\definecolorset"
+ "\\newtheorem"
+ "\\declaretheorem"
+ "\\newacronym"
+] @function.macro
+
+[
+ "\\ref"
+ "\\vref"
+ "\\Vref"
+ "\\autoref"
+ "\\pageref"
+ "\\cref"
+ "\\Cref"
+ "\\cref*"
+ "\\Cref*"
+ "\\namecref"
+ "\\nameCref"
+ "\\lcnamecref"
+ "\\namecrefs"
+ "\\nameCrefs"
+ "\\lcnamecrefs"
+ "\\labelcref"
+ "\\labelcpageref"
+ "\\crefrange"
+ "\\crefrange"
+ "\\Crefrange"
+ "\\Crefrange"
+ "\\crefrange*"
+ "\\crefrange*"
+ "\\Crefrange*"
+ "\\Crefrange*"
+] @function.macro
+
+[
+ "\\cite"
+ "\\cite*"
+ "\\Cite"
+ "\\nocite"
+ "\\citet"
+ "\\citep"
+ "\\citet*"
+ "\\citep*"
+ "\\citeauthor"
+ "\\citeauthor*"
+ "\\Citeauthor"
+ "\\Citeauthor*"
+ "\\citetitle"
+ "\\citetitle*"
+ "\\citeyear"
+ "\\citeyear*"
+ "\\citedate"
+ "\\citedate*"
+ "\\citeurl"
+ "\\fullcite"
+ "\\citeyearpar"
+ "\\citealt"
+ "\\citealp"
+ "\\citetext"
+ "\\parencite"
+ "\\parencite*"
+ "\\Parencite"
+ "\\footcite"
+ "\\footfullcite"
+ "\\footcitetext"
+ "\\textcite"
+ "\\Textcite"
+ "\\smartcite"
+ "\\Smartcite"
+ "\\supercite"
+ "\\autocite"
+ "\\Autocite"
+ "\\autocite*"
+ "\\Autocite*"
+ "\\volcite"
+ "\\Volcite"
+ "\\pvolcite"
+ "\\Pvolcite"
+ "\\fvolcite"
+ "\\ftvolcite"
+ "\\svolcite"
+ "\\Svolcite"
+ "\\tvolcite"
+ "\\Tvolcite"
+ "\\avolcite"
+ "\\Avolcite"
+ "\\notecite"
+ "\\notecite"
+ "\\pnotecite"
+ "\\Pnotecite"
+ "\\fnotecite"
+] @function.macro
+
+[
+ "\\ref"
+ "\\vref"
+ "\\Vref"
+ "\\autoref"
+ "\\pageref"
+ "\\cref"
+ "\\Cref"
+ "\\cref*"
+ "\\Cref*"
+ "\\namecref"
+ "\\nameCref"
+ "\\lcnamecref"
+ "\\namecrefs"
+ "\\nameCrefs"
+ "\\lcnamecrefs"
+ "\\labelcref"
+ "\\labelcpageref"
+] @function.macro
+
+
+[
+ "\\crefrange"
+ "\\crefrange"
+ "\\Crefrange"
+ "\\Crefrange"
+ "\\crefrange*"
+ "\\crefrange*"
+ "\\Crefrange*"
+ "\\Crefrange*"
+] @function.macro
+
+
+[
+ "\\gls"
+ "\\Gls"
+ "\\GLS"
+ "\\glspl"
+ "\\Glspl"
+ "\\GLSpl"
+ "\\glsdisp"
+ "\\glslink"
+ "\\glstext"
+ "\\Glstext"
+ "\\GLStext"
+ "\\glsfirst"
+ "\\Glsfirst"
+ "\\GLSfirst"
+ "\\glsplural"
+ "\\Glsplural"
+ "\\GLSplural"
+ "\\glsfirstplural"
+ "\\Glsfirstplural"
+ "\\GLSfirstplural"
+ "\\glsname"
+ "\\Glsname"
+ "\\GLSname"
+ "\\glssymbol"
+ "\\Glssymbol"
+ "\\glsdesc"
+ "\\Glsdesc"
+ "\\GLSdesc"
+ "\\glsuseri"
+ "\\Glsuseri"
+ "\\GLSuseri"
+ "\\glsuserii"
+ "\\Glsuserii"
+ "\\GLSuserii"
+ "\\glsuseriii"
+ "\\Glsuseriii"
+ "\\GLSuseriii"
+ "\\glsuseriv"
+ "\\Glsuseriv"
+ "\\GLSuseriv"
+ "\\glsuserv"
+ "\\Glsuserv"
+ "\\GLSuserv"
+ "\\glsuservi"
+ "\\Glsuservi"
+ "\\GLSuservi"
+] @function.macro
+
+
+[
+ "\\acrshort"
+ "\\Acrshort"
+ "\\ACRshort"
+ "\\acrshortpl"
+ "\\Acrshortpl"
+ "\\ACRshortpl"
+ "\\acrlong"
+ "\\Acrlong"
+ "\\ACRlong"
+ "\\acrlongpl"
+ "\\Acrlongpl"
+ "\\ACRlongpl"
+ "\\acrfull"
+ "\\Acrfull"
+ "\\ACRfull"
+ "\\acrfullpl"
+ "\\Acrfullpl"
+ "\\ACRfullpl"
+ "\\acs"
+ "\\Acs"
+ "\\acsp"
+ "\\Acsp"
+ "\\acl"
+ "\\Acl"
+ "\\aclp"
+ "\\Aclp"
+ "\\acf"
+ "\\Acf"
+ "\\acfp"
+ "\\Acfp"
+ "\\ac"
+ "\\Ac"
+ "\\acp"
+ "\\glsentrylong"
+ "\\Glsentrylong"
+ "\\glsentrylongpl"
+ "\\Glsentrylongpl"
+ "\\glsentryshort"
+ "\\Glsentryshort"
+ "\\glsentryshortpl"
+ "\\Glsentryshortpl"
+ "\\glsentryfullpl"
+ "\\Glsentryfullpl"
+] @function.macro
+
+(comment) @comment
+
+(bracket_group) @variable.parameter
+
+[(math_operator) "="] @operator
+
+[
+ "\\usepackage"
+ "\\documentclass"
+ "\\input"
+ "\\include"
+ "\\subfile"
+ "\\subfileinclude"
+ "\\subfileinclude"
+ "\\includegraphics"
+ "\\addbibresource"
+ "\\bibliography"
+ "\\includesvg"
+ "\\includeinkscape"
+ "\\usepgflibrary"
+ "\\usetikzlibrary"
+] @keyword.control.import
+
+[
+ "\\part"
+ "\\chapter"
+ "\\section"
+ "\\subsection"
+ "\\subsubsection"
+ "\\paragraph"
+ "\\subparagraph"
+] @type
+
+"\\item" @punctuation.special
+
+((word) @punctuation.delimiter
+(#eq? @punctuation.delimiter "&"))
+
+["$" "\\[" "\\]" "\\(" "\\)"] @punctuation.delimiter
+
+(label_definition
+ name: (_) @text.reference)
+(label_reference
+ label: (_) @text.reference)
+(equation_label_reference
+ label: (_) @text.reference)
+(label_reference
+ label: (_) @text.reference)
+(label_number
+ label: (_) @text.reference)
+
+(citation
+ key: (word) @text.reference)
+
+(key_val_pair
+ key: (_) @variable.parameter
+ value: (_))
+
+["[" "]" "{" "}"] @punctuation.bracket ;"(" ")" is has no special meaning in LaTeX
+
+(chapter
+ text: (brace_group) @markup.heading)
+
+(part
+ text: (brace_group) @markup.heading)
+
+(section
+ text: (brace_group) @markup.heading)
+
+(subsection
+ text: (brace_group) @markup.heading)
+
+(subsubsection
+ text: (brace_group) @markup.heading)
+
+(paragraph
+ text: (brace_group) @markup.heading)
+
+(subparagraph
+ text: (brace_group) @markup.heading)
+
+((environment
+ (begin
+ name: (word) @_frame)
+ (brace_group
+ child: (text) @markup.heading))
+ (#eq? @_frame "frame"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (brace_group
+ (text) @markup.heading))
+ (#eq? @_name "\\frametitle"))
+
+;; Formatting
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (_) @markup.italic)
+ (#eq? @_name "\\emph"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (_) @markup.italic)
+ (#match? @_name "^(\\\\textit|\\\\mathit)$"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ arg: (_) @markup.bold)
+ (#match? @_name "^(\\\\textbf|\\\\mathbf)$"))
+
+((generic_command
+ name:(generic_command_name) @_name
+ .
+ arg: (_) @markup.link.url)
+ (#match? @_name "^(\\\\url|\\\\href)$"))
+
+(ERROR) @error
+
+[
+ "\\begin"
+ "\\end"
+] @text.environment
+
+(begin
+ name: (_) @text.environment.name
+ (#not-any-of? @text.environment.name
+ "displaymath" "displaymath*"
+ "equation" "equation*"
+ "multline" "multline*"
+ "eqnarray" "eqnarray*"
+ "align" "align*"
+ "array" "array*"
+ "split" "split*"
+ "alignat" "alignat*"
+ "gather" "gather*"
+ "flalign" "flalign*"))
+
+(end
+ name: (_) @text.environment.name
+ (#not-any-of? @text.environment.name
+ "displaymath" "displaymath*"
+ "equation" "equation*"
+ "multline" "multline*"
+ "eqnarray" "eqnarray*"
+ "align" "align*"
+ "array" "array*"
+ "split" "split*"
+ "alignat" "alignat*"
+ "gather" "gather*"
+ "flalign" "flalign*"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/latex/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/latex/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/latex/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lean/folds.scm b/helix-22.03-x86_64-windows/runtime/queries/lean/folds.scm
new file mode 100644
index 0000000..2c2bbb3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lean/folds.scm
@@ -0,0 +1,15 @@
+[
+ (namespace)
+ (section)
+
+ (instance)
+ (def)
+ (theorem)
+ (example)
+
+ (product)
+ (array)
+ (list)
+
+ (string)
+] @fold
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lean/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/lean/highlights.scm
new file mode 100644
index 0000000..a64feb1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lean/highlights.scm
@@ -0,0 +1,217 @@
+(open
+ namespace: (identifier) @namespace)
+(namespace
+ name: (identifier) @namespace)
+(section
+ name: (identifier) @namespace)
+
+;; Identifier naming conventions
+((identifier) @type
+ (#match? @type "^[A-Z]"))
+
+(arrow) @type
+(product) @type
+
+;; Declarations
+
+[
+ "abbrev"
+ "def"
+ "theorem"
+ "constant"
+ "instance"
+ "axiom"
+ "example"
+ "inductive"
+ "structure"
+ "class"
+
+ "deriving"
+
+ "section"
+ "namespace"
+] @keyword
+
+(attributes
+ (identifier) @function)
+
+(abbrev
+ name: (identifier) @type)
+(def
+ name: (identifier) @function)
+(theorem
+ name: (identifier) @function)
+(constant
+ name: (identifier) @type)
+(instance
+ name: (identifier) @function)
+(instance
+ type: (identifier) @type)
+(axiom
+ name: (identifier) @function)
+(structure
+ name: (identifier) @type)
+(structure
+ extends: (identifier) @type)
+
+(where_decl
+ type: (identifier) @type)
+
+(proj
+ name: (identifier) @field)
+
+(binders
+ type: (identifier) @type)
+
+["if" "then" "else"] @keyword.control.conditional
+
+["for" "in" "do"] @keyword.control.repeat
+
+(import) @include
+
+; Tokens
+
+[
+ "!"
+ "$"
+ "%"
+ "&&"
+ "*"
+ "*>"
+ "+"
+ "++"
+ "-"
+ "/"
+ "::"
+ ":="
+ "<"
+ "<$>"
+ "<*"
+ "<*>"
+ "<="
+ "<|"
+ "<|>"
+ "="
+ "=="
+ "=>"
+ ">"
+ ">"
+ ">="
+ ">>"
+ ">>="
+ "@"
+ "^"
+ "|>"
+ "|>."
+ "||"
+ "←"
+ "→"
+ "↔"
+ "∘"
+ "∧"
+ "∨"
+ "≠"
+ "≤"
+ "≥"
+] @operator
+
+[
+ "@&"
+] @operator
+
+[
+ "attribute"
+ "by"
+ "end"
+ "export"
+ "extends"
+ "fun"
+ "let"
+ "have"
+ "match"
+ "open"
+ "return"
+ "universe"
+ "variable"
+ "where"
+ "with"
+ "λ"
+ (hash_command)
+ (prelude)
+ (sorry)
+] @keyword
+
+[
+ "prefix"
+ "infix"
+ "infixl"
+ "infixr"
+ "postfix"
+ "notation"
+ "macro_rules"
+ "syntax"
+ "elab"
+ "builtin_initialize"
+] @keyword
+
+[
+ "noncomputable"
+ "partial"
+ "private"
+ "protected"
+ "unsafe"
+] @keyword
+
+[
+ "apply"
+ "exact"
+ "rewrite"
+ "rw"
+ "simp"
+ (trivial)
+] @keyword
+
+[
+ "catch"
+ "finally"
+ "try"
+] @exception
+
+((apply
+ name: (identifier) @exception)
+ (#match? @exception "throw"))
+
+[
+ "unless"
+ "mut"
+] @keyword
+
+[(true) (false)] @boolean
+
+(number) @constant.numeric.integer
+(float) @constant.numeric.float
+
+(comment) @comment
+(char) @character
+(string) @string
+(interpolated_string) @string
+; (escape_sequence) @string.escape
+
+; Reset highlighing in string interpolation
+(interpolation) @none
+
+(interpolation
+ "{" @punctuation.special
+ "}" @punctuation.special)
+
+["(" ")" "[" "]" "{" "}" "⟨" "⟩"] @punctuation.bracket
+
+["|" "," "." ":" ";"] @punctuation.delimiter
+
+(sorry) @error
+
+;; Error
+(ERROR) @error
+
+; Variables
+(identifier) @variable
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lean/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/lean/injections.scm
new file mode 100644
index 0000000..030714f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lean/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "markdown"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lean/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/lean/locals.scm
new file mode 100644
index 0000000..dd6c203
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lean/locals.scm
@@ -0,0 +1,5 @@
+[
+ (module)
+ (namespace)
+ (section)
+] @local.scope
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ledger/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/ledger/highlights.scm
new file mode 100644
index 0000000..02a9ea9
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ledger/highlights.scm
@@ -0,0 +1,38 @@
+[
+ (comment)
+ (note)
+] @comment
+
+[
+ (date)
+ (interval)
+ (quantity)
+] @constant.numeric.integer
+
+((account) @variable.other.member)
+((commodity) @text.literal)
+
+"include" @keyword.local.import
+
+[
+ "account"
+ "alias"
+ "assert"
+ "check"
+ "commodity"
+ "def"
+ "default"
+ "end"
+ "eval"
+ "format"
+ "nomarket"
+ "note"
+ "payee"
+ "check"
+ "A"
+ "Y"
+ "N"
+ "D"
+ "C"
+ "P"
+] @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ledger/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/ledger/injections.scm
new file mode 100644
index 0000000..c171478
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ledger/injections.scm
@@ -0,0 +1,2 @@
+([(comment) (note)] @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/highlights.scm
new file mode 100644
index 0000000..4ba254e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/highlights.scm
@@ -0,0 +1 @@
+; inherits: yaml
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/indents.toml
new file mode 100644
index 0000000..ddc3578
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/indents.toml
@@ -0,0 +1,3 @@
+indent = [
+ "block_mapping_pair",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/injections.scm
new file mode 100644
index 0000000..b324302
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir-yaml/injections.scm
@@ -0,0 +1,9 @@
+; inherits: yaml
+
+((document (block_node (block_scalar) @injection.content))
+ (#set! injection.language "llvm"))
+
+((document (block_node (block_mapping (block_mapping_pair
+ key: (flow_node (plain_scalar (string_scalar))) ; "body"
+ value: (block_node (block_scalar) @injection.content)))))
+ (#set! injection.language "mir"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/highlights.scm
new file mode 100644
index 0000000..7923461
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/highlights.scm
@@ -0,0 +1,136 @@
+[
+ (label)
+ (bb_ref)
+] @label
+
+[
+ (comment)
+ (multiline_comment)
+] @comment
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "<"
+ ">"
+] @punctuation.bracket
+
+[
+ ","
+ ":"
+ "|"
+ "*"
+] @punctuation.delimiter
+
+[
+ "="
+ "x"
+] @operator
+
+[
+ "true"
+ "false"
+] @constant.builtin.boolean
+
+[
+ "null"
+ "_"
+ "unknown-address"
+] @constant.builtin
+
+[
+ (stack_object)
+ (constant_pool_index)
+ (jump_table_index)
+ (var)
+ (physical_register)
+ (ir_block)
+ (external_symbol)
+ (global_var)
+ (ir_local_var)
+ (metadata_ref)
+ (mnemonic)
+] @variable
+
+(low_level_type) @type
+
+[
+ (immediate_type)
+ (primitive_type)
+] @type.builtin
+
+(number) @constant.numeric.integer
+(float) @constant.numeric.float
+(string) @string
+
+(instruction name: _ @keyword.operator)
+
+[
+ "successors"
+ "liveins"
+ "pre-instr-symbol"
+ "post-instr-symbol"
+ "heap-alloc-marker"
+ "debug-instr-number"
+ "debug-location"
+ "mcsymbol"
+ "tied-def"
+ "target-flags"
+ "CustomRegMask"
+ "same_value"
+ "def_cfa_register"
+ "restore"
+ "undefined"
+ "offset"
+ "rel_offset"
+ "def_cfa"
+ "llvm_def_aspace_cfa"
+ "register"
+ "escape"
+ "remember_state"
+ "restore_state"
+ "window_save"
+ "negate_ra_sign_state"
+ "intpred"
+ "floatpred"
+ "shufflemask"
+ "liveout"
+ "target-index"
+ "blockaddress"
+ "intrinsic"
+ "load"
+ "store"
+ "unknown-size"
+ "on"
+ "from"
+ "into"
+ "align"
+ "basealign"
+ "addrspace"
+ "call-entry"
+ "custom"
+ "constant-pool"
+ "stack"
+ "got"
+ "jump-table"
+ "syncscope"
+ "address-taken"
+ "landing-pad"
+ "inlineasm-br-indirect-target"
+ "ehfunclet-entry"
+ "bbsections"
+
+ (intpred)
+ (floatpred)
+ (memory_operand_flag)
+ (atomic_ordering)
+ (register_flag)
+ (instruction_flag)
+ (float_keyword)
+] @keyword
+
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/indents.toml
new file mode 100644
index 0000000..6a70e5a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/indents.toml
@@ -0,0 +1,7 @@
+indent = [
+ "basic_block",
+]
+
+outdent = [
+ "label",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/injections.scm
new file mode 100644
index 0000000..0b476f8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/injections.scm
@@ -0,0 +1,2 @@
+([ (comment) (multiline_comment)] @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/textobjects.scm
new file mode 100644
index 0000000..003ce59
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm-mir/textobjects.scm
@@ -0,0 +1,12 @@
+(basic_block) @function.around
+
+(argument) @parameter.inside
+
+[
+ (comment)
+ (multiline_comment)
+] @comment.inside
+
+(comment)+ @comment.around
+
+(multiline_comment) @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm/highlights.scm
new file mode 100644
index 0000000..cb70519
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm/highlights.scm
@@ -0,0 +1,158 @@
+(type) @type
+(type_keyword) @type.builtin
+
+(type [
+ (local_var)
+ (global_var)
+ ] @type)
+
+(argument) @variable.parameter
+
+(_ inst_name: _ @keyword.operator)
+
+[
+ "catch"
+ "filter"
+] @keyword.operator
+
+[
+ "to"
+ "nuw"
+ "nsw"
+ "exact"
+ "unwind"
+ "from"
+ "cleanup"
+ "swifterror"
+ "volatile"
+ "inbounds"
+ "inrange"
+ (icmp_cond)
+ (fcmp_cond)
+ (fast_math)
+] @keyword.control
+
+(_ callee: _ @function)
+(function_header name: _ @function)
+
+[
+ "declare"
+ "define"
+ (calling_conv)
+] @keyword.function
+
+[
+ "target"
+ "triple"
+ "datalayout"
+ "source_filename"
+ "addrspace"
+ "blockaddress"
+ "align"
+ "syncscope"
+ "within"
+ "uselistorder"
+ "uselistorder_bb"
+ "module"
+ "asm"
+ "sideeffect"
+ "alignstack"
+ "inteldialect"
+ "unwind"
+ "type"
+ "global"
+ "constant"
+ "externally_initialized"
+ "alias"
+ "ifunc"
+ "section"
+ "comdat"
+ "thread_local"
+ "localdynamic"
+ "initialexec"
+ "localexec"
+ "any"
+ "exactmatch"
+ "largest"
+ "nodeduplicate"
+ "samesize"
+ "distinct"
+ "attributes"
+ "vscale"
+ "no_cfi"
+ (linkage_aux)
+ (dso_local)
+ (visibility)
+ (dll_storage_class)
+ (unnamed_addr)
+ (attribute_name)
+] @keyword
+
+
+(function_header [
+ (linkage)
+ (calling_conv)
+ (unnamed_addr)
+ ] @keyword.function)
+
+[
+ (string)
+ (cstring)
+] @string
+
+(number) @constant.numeric.integer
+(comment) @comment
+(label) @label
+(_ inst_name: "ret" @keyword.control.return)
+(float) @constant.numeric.float
+
+[
+ (local_var)
+ (global_var)
+] @variable
+
+[
+ (struct_value)
+ (array_value)
+ (vector_value)
+] @constructor
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "<"
+ ">"
+ "<{"
+ "}>"
+] @punctuation.bracket
+
+[
+ ","
+ ":"
+] @punctuation.delimiter
+
+[
+ "="
+ "|"
+ "x"
+ "..."
+] @operator
+
+[
+ "true"
+ "false"
+] @constant.builtin.boolean
+
+[
+ "undef"
+ "poison"
+ "null"
+ "none"
+ "zeroinitializer"
+] @constant.builtin
+
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/llvm/indents.toml
new file mode 100644
index 0000000..8cd603c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm/indents.toml
@@ -0,0 +1,8 @@
+indent = [
+ "function_body",
+ "instruction",
+]
+
+outdent = [
+ "}",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm/locals.scm
new file mode 100644
index 0000000..1946c28
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm/locals.scm
@@ -0,0 +1,14 @@
+; Scopes
+
+(function_body) @local.scope
+
+; Definitions
+
+(argument
+ (value (var (local_var) @local.definition)))
+
+(instruction
+ (local_var) @local.definition)
+
+; References
+(local_var) @local.reference
diff --git a/helix-22.03-x86_64-windows/runtime/queries/llvm/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/llvm/textobjects.scm
new file mode 100644
index 0000000..dd15dc1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/llvm/textobjects.scm
@@ -0,0 +1,20 @@
+(define
+ body: (_) @function.inside) @function.around
+
+(struct_type
+ (struct_body) @class.inside) @class.around
+
+(packed_struct_type
+ (struct_body) @class.inside) @class.around
+
+(array_type
+ (array_vector_body) @class.inside) @class.around
+
+(vector_type
+ (array_vector_body) @class.inside) @class.around
+
+(argument) @parameter.inside
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lua/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/lua/highlights.scm
new file mode 100644
index 0000000..e73b32d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lua/highlights.scm
@@ -0,0 +1,166 @@
+;;; Highlighting for lua
+
+;;; Builtins
+(self) @variable.builtin
+
+;; Keywords
+
+(if_statement
+[
+ "if"
+ "then"
+ "end"
+] @keyword.control.conditional)
+
+[
+ "else"
+ "elseif"
+ "then"
+] @keyword.control.conditional
+
+(for_statement
+[
+ "for"
+ "do"
+ "end"
+] @keyword.control.repeat)
+
+(for_in_statement
+[
+ "for"
+ "do"
+ "end"
+] @keyword.control.repeat)
+
+(while_statement
+[
+ "while"
+ "do"
+ "end"
+] @keyword.control.repeat)
+
+(repeat_statement
+[
+ "repeat"
+ "until"
+] @keyword.control.repeat)
+
+(do_statement
+[
+ "do"
+ "end"
+] @keyword)
+
+[
+ "in"
+ "local"
+ (break_statement)
+ "goto"
+ "return"
+] @keyword
+
+;; Operators
+
+[
+ "not"
+ "and"
+ "or"
+] @operator
+
+[
+"="
+"~="
+"=="
+"<="
+">="
+"<"
+">"
+"+"
+"-"
+"%"
+"/"
+"//"
+"*"
+"^"
+"&"
+"~"
+"|"
+">>"
+"<<"
+".."
+"#"
+ ] @operator
+
+;; Punctuation
+["," "." ":" ";"] @punctuation.delimiter
+
+;; Brackets
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+; ;; Constants
+[
+(false)
+(true)
+] @constant.builtin.boolean
+(nil) @constant.builtin
+(spread) @constant ;; "..."
+((identifier) @constant
+ (#match? @constant "^[A-Z][A-Z_0-9]*$"))
+
+;; Parameters
+(parameters
+ (identifier) @variable.parameter)
+
+; ;; Functions
+(function [(function_name) (identifier)] @function)
+(function ["function" "end"] @keyword.function)
+
+(function
+ (function_name
+ (function_name_field
+ (property_identifier) @function .)))
+
+(local_function (identifier) @function)
+(local_function ["function" "end"] @keyword.function)
+
+(variable_declaration
+ (variable_declarator (identifier) @function) (function_definition))
+(local_variable_declaration
+ (variable_declarator (identifier) @function) (function_definition))
+
+(function_definition ["function" "end"] @keyword.function)
+
+(function_call
+ [
+ ((identifier) @variable (method) @function.method)
+ ((_) (method) @function.method)
+ (identifier) @function
+ (field_expression (property_identifier) @function)
+ ]
+ . (arguments))
+
+;; Nodes
+(table ["{" "}"] @constructor)
+(comment) @comment
+(string) @string
+(number) @constant.numeric.integer
+(label_statement) @label
+; A bit of a tricky one, this will only match field names
+(field . (identifier) @variable.other.member (_))
+(shebang) @comment
+
+;; Property
+(property_identifier) @variable.other.member
+
+;; Variable
+(identifier) @variable
+
+;; Error
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lua/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/lua/indents.toml
new file mode 100644
index 0000000..df1a975
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lua/indents.toml
@@ -0,0 +1,24 @@
+indent = [
+ "function_definition",
+ "variable_declaration",
+ "local_variable_declaration",
+ "field",
+ "local_function",
+ "function",
+ "if_statement",
+ "for_statement",
+ "for_in_statement",
+ "repeat_statement",
+ "return_statement",
+ "while_statement",
+ "table",
+ "arguments",
+ "do_statement",
+]
+
+oudent = [
+ "end",
+ "until",
+ "}",
+ ")",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/lua/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/lua/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/lua/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/make/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/make/highlights.scm
new file mode 100644
index 0000000..50380ba
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/make/highlights.scm
@@ -0,0 +1,170 @@
+[
+ "("
+ ")"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ ":"
+ "&:"
+ "::"
+ "|"
+ ";"
+ "\""
+ "'"
+ ","
+] @punctuation.delimiter
+
+[
+ "$"
+ "$$"
+] @punctuation.special
+
+(automatic_variable
+ [ "@" "%" "<" "?" "^" "+" "/" "*" "D" "F"] @punctuation.special)
+
+(automatic_variable
+ "/" @error . ["D" "F"])
+
+[
+ "="
+ ":="
+ "::="
+ "?="
+ "+="
+ "!="
+ "@"
+ "-"
+ "+"
+] @operator
+
+[
+ (text)
+ (string)
+ (raw_text)
+] @string
+
+(variable_assignment (word) @string)
+
+[
+ "ifeq"
+ "ifneq"
+ "ifdef"
+ "ifndef"
+ "else"
+ "endif"
+ "if"
+ "or" ; boolean functions are conditional in make grammar
+ "and"
+] @keyword.control.conditional
+
+"foreach" @keyword.control.repeat
+
+[
+ "define"
+ "endef"
+ "vpath"
+ "undefine"
+ "export"
+ "unexport"
+ "override"
+ "private"
+; "load"
+] @keyword
+
+[
+ "include"
+ "sinclude"
+ "-include"
+] @keyword.control.import
+
+[
+ "subst"
+ "patsubst"
+ "strip"
+ "findstring"
+ "filter"
+ "filter-out"
+ "sort"
+ "word"
+ "words"
+ "wordlist"
+ "firstword"
+ "lastword"
+ "dir"
+ "notdir"
+ "suffix"
+ "basename"
+ "addsuffix"
+ "addprefix"
+ "join"
+ "wildcard"
+ "realpath"
+ "abspath"
+ "call"
+ "eval"
+ "file"
+ "value"
+ "shell"
+] @keyword.function
+
+[
+ "error"
+ "warning"
+ "info"
+] @keyword.control.exception
+
+;; Variable
+(variable_assignment
+ name: (word) @variable)
+
+(variable_reference
+ (word) @variable)
+
+(comment) @comment
+
+((word) @clean @string.regexp
+ (#match? @clean "[%\*\?]"))
+
+(function_call
+ function: "error"
+ (arguments (text) @error))
+
+(function_call
+ function: "warning"
+ (arguments (text) @warning))
+
+(function_call
+ function: "info"
+ (arguments (text) @info))
+
+;; Install Command Categories
+;; Others special variables
+;; Variables Used by Implicit Rules
+[
+ "VPATH"
+ ".RECIPEPREFIX"
+] @constant.builtin
+
+(variable_assignment
+ name: (word) @clean @constant.builtin
+ (#match? @clean "^(AR|AS|CC|CXX|CPP|FC|M2C|PC|CO|GET|LEX|YACC|LINT|MAKEINFO|TEX|TEXI2DVI|WEAVE|CWEAVE|TANGLE|CTANGLE|RM|ARFLAGS|ASFLAGS|CFLAGS|CXXFLAGS|COFLAGS|CPPFLAGS|FFLAGS|GFLAGS|LDFLAGS|LDLIBS|LFLAGS|YFLAGS|PFLAGS|RFLAGS|LINTFLAGS|PRE_INSTALL|POST_INSTALL|NORMAL_INSTALL|PRE_UNINSTALL|POST_UNINSTALL|NORMAL_UNINSTALL|MAKEFILE_LIST|MAKE_RESTARTS|MAKE_TERMOUT|MAKE_TERMERR|\.DEFAULT_GOAL|\.RECIPEPREFIX|\.EXTRA_PREREQS)$"))
+
+(variable_reference
+ (word) @clean @constant.builtin
+ (#match? @clean "^(AR|AS|CC|CXX|CPP|FC|M2C|PC|CO|GET|LEX|YACC|LINT|MAKEINFO|TEX|TEXI2DVI|WEAVE|CWEAVE|TANGLE|CTANGLE|RM|ARFLAGS|ASFLAGS|CFLAGS|CXXFLAGS|COFLAGS|CPPFLAGS|FFLAGS|GFLAGS|LDFLAGS|LDLIBS|LFLAGS|YFLAGS|PFLAGS|RFLAGS|LINTFLAGS|PRE_INSTALL|POST_INSTALL|NORMAL_INSTALL|PRE_UNINSTALL|POST_UNINSTALL|NORMAL_UNINSTALL|MAKEFILE_LIST|MAKE_RESTARTS|MAKE_TERMOUT|MAKE_TERMERR|\.DEFAULT_GOAL|\.RECIPEPREFIX|\.EXTRA_PREREQS\.VARIABLES|\.FEATURES|\.INCLUDE_DIRS|\.LOADED)$"))
+
+;; Standart targets
+(targets
+ (word) @constant.macro
+ (#match? @constant.macro "^(all|install|install-html|install-dvi|install-pdf|install-ps|uninstall|install-strip|clean|distclean|mostlyclean|maintainer-clean|TAGS|info|dvi|html|pdf|ps|dist|check|installcheck|installdirs)$"))
+
+(targets
+ (word) @constant.macro
+ (#match? @constant.macro "^(all|install|install-html|install-dvi|install-pdf|install-ps|uninstall|install-strip|clean|distclean|mostlyclean|maintainer-clean|TAGS|info|dvi|html|pdf|ps|dist|check|installcheck|installdirs)$"))
+
+;; Builtin targets
+(targets
+ (word) @constant.macro
+ (#match? @constant.macro "^\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX)$"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/make/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/make/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/make/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/markdown/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/markdown/highlights.scm
new file mode 100644
index 0000000..ed22b80
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/markdown/highlights.scm
@@ -0,0 +1,46 @@
+(setext_heading (heading_content) @markup.heading.1 (setext_h1_underline) @markup.heading.marker)
+(setext_heading (heading_content) @markup.heading.2 (setext_h2_underline) @markup.heading.marker)
+
+(atx_heading (atx_h1_marker) @markup.heading.marker (heading_content) @markup.heading.1)
+(atx_heading (atx_h2_marker) @markup.heading.marker (heading_content) @markup.heading.2)
+(atx_heading (atx_h3_marker) @markup.heading.marker (heading_content) @markup.heading.3)
+(atx_heading (atx_h4_marker) @markup.heading.marker (heading_content) @markup.heading.4)
+(atx_heading (atx_h5_marker) @markup.heading.marker (heading_content) @markup.heading.5)
+(atx_heading (atx_h6_marker) @markup.heading.marker (heading_content) @markup.heading.6)
+
+(code_fence_content) @none
+
+[
+ (indented_code_block)
+ (fenced_code_block)
+] @markup.raw.block
+
+(block_quote) @markup.quote
+
+(code_span) @markup.raw.inline
+
+(emphasis) @markup.italic
+
+(strong_emphasis) @markup.bold
+
+(link_destination) @markup.link.url
+(link_label) @markup.link.label
+
+[
+ (link_text)
+ (image_description)
+] @markup.link.text
+
+[
+ (list_marker_plus)
+ (list_marker_minus)
+ (list_marker_star)
+ (list_marker_dot)
+ (list_marker_parenthesis)
+] @punctuation.special
+
+[
+ (backslash_escape)
+ (hard_line_break)
+] @string.character.escape
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/markdown/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/markdown/injections.scm
new file mode 100644
index 0000000..10dcab0
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/markdown/injections.scm
@@ -0,0 +1,9 @@
+(fenced_code_block
+ (info_string) @injection.language
+ (code_fence_content) @injection.content
+ (#set! injection.include-children))
+
+((html_block) @injection.content
+ (#set! injection.language "html"))
+((html_tag) @injection.content
+ (#set! injection.language "html"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/nix/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/nix/highlights.scm
new file mode 100644
index 0000000..f668206
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/nix/highlights.scm
@@ -0,0 +1,90 @@
+(comment) @comment
+
+[
+ "if"
+ "then"
+ "else"
+ "let"
+ "inherit"
+ "in"
+ "rec"
+ "with"
+ "assert"
+] @keyword
+
+((identifier) @variable.builtin
+ (#match? @variable.builtin "^(__currentSystem|__currentTime|__nixPath|__nixVersion|__storeDir|builtins)$")
+ (#is-not? local))
+
+((identifier) @function.builtin
+ (#match? @function.builtin "^(__add|__addErrorContext|__all|__any|__appendContext|__attrNames|__attrValues|__bitAnd|__bitOr|__bitXor|__catAttrs|__compareVersions|__concatLists|__concatMap|__concatStringsSep|__deepSeq|__div|__elem|__elemAt|__fetchurl|__filter|__filterSource|__findFile|__foldl'|__fromJSON|__functionArgs|__genList|__genericClosure|__getAttr|__getContext|__getEnv|__hasAttr|__hasContext|__hashFile|__hashString|__head|__intersectAttrs|__isAttrs|__isBool|__isFloat|__isFunction|__isInt|__isList|__isPath|__isString|__langVersion|__length|__lessThan|__listToAttrs|__mapAttrs|__match|__mul|__parseDrvName|__partition|__path|__pathExists|__readDir|__readFile|__replaceStrings|__seq|__sort|__split|__splitVersion|__storePath|__stringLength|__sub|__substring|__tail|__toFile|__toJSON|__toPath|__toXML|__trace|__tryEval|__typeOf|__unsafeDiscardOutputDependency|__unsafeDiscardStringContext|__unsafeGetAttrPos|__valueSize|abort|baseNameOf|derivation|derivationStrict|dirOf|fetchGit|fetchMercurial|fetchTarball|fromTOML|import|isNull|map|placeholder|removeAttrs|scopedImport|throw|toString)$")
+ (#is-not? local))
+
+[
+ (string)
+ (indented_string)
+] @string
+
+[
+ (path)
+ (hpath)
+ (spath)
+] @string.special.path
+
+(uri) @string.special.uri
+
+; boolean
+((identifier) @constant.builtin.boolean (#match? @constant.builtin.boolean "^(true|false)$")) @constant.builtin.boolean
+; null
+((identifier) @constant.builtin (#eq? @constant.builtin "null")) @constant.builtin
+
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+
+(interpolation
+ "${" @punctuation.special
+ "}" @punctuation.special) @embedded
+
+(escape_sequence) @constant.character.escape
+
+(function
+ universal: (identifier) @variable.parameter
+)
+
+(formal
+ name: (identifier) @variable.parameter
+ "?"? @punctuation.delimiter)
+
+(app
+ function: [
+ (identifier) @function
+ (select
+ attrpath: (attrpath
+ attr: (attr_identifier) @function .))])
+
+
+(unary
+ operator: _ @operator)
+
+(binary
+ operator: _ @operator)
+
+(attr_identifier) @variable.other.member
+(inherit attrs: (attrs_inherited (identifier) @variable.other.member) )
+
+[
+ ";"
+ "."
+ ","
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+(identifier) @variable
diff --git a/helix-22.03-x86_64-windows/runtime/queries/nix/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/nix/indents.toml
new file mode 100644
index 0000000..b92ab75
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/nix/indents.toml
@@ -0,0 +1,18 @@
+indent = [
+ # "function",
+ "bind",
+ "assert",
+ "with",
+ "let",
+ "if",
+
+ "attrset",
+ "list",
+ "indented_string",
+ "parenthesized",
+]
+
+outdent = [
+ "}",
+ "]",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/highlights.scm
new file mode 100644
index 0000000..6d3dfbc
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/highlights.scm
@@ -0,0 +1 @@
+; inherits: ocaml
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ocaml-interface/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ocaml/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/ocaml/highlights.scm
new file mode 100644
index 0000000..a08b126
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ocaml/highlights.scm
@@ -0,0 +1,160 @@
+; Modules
+;--------
+
+[(module_name) (module_type_name)] @namespace
+
+; Types
+;------
+
+[(class_name) (class_type_name) (type_constructor)] @type
+
+[(constructor_name) (tag)] @constructor
+
+; Functions
+;----------
+
+(let_binding
+ pattern: (value_name) @function
+ (parameter))
+
+(let_binding
+ pattern: (value_name) @function
+ body: [(fun_expression) (function_expression)])
+
+(value_specification (value_name) @function)
+
+(external (value_name) @function)
+
+(method_name) @function.method
+
+; Variables
+;----------
+
+(value_pattern) @variable.parameter
+
+; Application
+;------------
+
+(infix_expression
+ left: (value_path (value_name) @function)
+ (infix_operator) @operator
+ (#eq? @operator "@@"))
+
+(infix_expression
+ (infix_operator) @operator
+ right: (value_path (value_name) @function)
+ (#eq? @operator "|>"))
+
+(application_expression
+ function: (value_path (value_name) @function))
+
+; Properties
+;-----------
+
+[(label_name) (field_name) (instance_variable_name)] @variable.other.member
+
+; Constants
+;----------
+
+[(boolean) (unit)] @constant
+
+[(number) (signed_number)] @constant.numeric.integer
+
+(character) @constant.character
+
+(string) @string
+
+(quoted_string "{" @string "}" @string) @string
+
+(escape_sequence) @constant.character.escape
+
+[
+ (conversion_specification)
+ (pretty_printing_indication)
+] @punctuation.special
+
+; Keywords
+;---------
+
+[
+ "and" "as" "assert" "begin" "class" "constraint"
+ "end" "external" "in"
+ "inherit" "initializer" "lazy" "let" "match" "method" "module"
+ "mutable" "new" "nonrec" "object" "of" "private" "rec" "sig" "struct"
+ "type" "val" "virtual" "when" "with"
+] @keyword
+
+["fun" "function" "functor"] @keyword.function
+
+["if" "then" "else"] @keyword.control.conditional
+
+["exception" "try"] @keyword.control.exception
+
+["include" "open"] @keyword.control.import
+
+["for" "to" "downto" "while" "do" "done"] @keyword.control.repeat
+
+; Macros
+;-------
+
+(attribute ["[@" "]"] @attribute)
+(item_attribute ["[@@" "]"] @attribute)
+(floating_attribute ["[@@@" "]"] @attribute)
+(extension ["[%" "]"] @function.macro)
+(item_extension ["[%%" "]"] @function.macro)
+(quoted_extension ["{%" "}"] @function.macro)
+(quoted_item_extension ["{%%" "}"] @function.macro)
+"%" @function.macro
+
+["(" ")" "[" "]" "{" "}" "[|" "|]" "[<" "[>"] @punctuation.bracket
+
+(object_type ["<" ">"] @punctuation.bracket)
+
+[
+ "," "." ";" ":" "=" "|" "~" "?" "+" "-" "!" ">" "&"
+ "->" ";;" ":>" "+=" ":=" ".."
+] @punctuation.delimiter
+
+; Operators
+;----------
+
+[
+ (prefix_operator)
+ (sign_operator)
+ (infix_operator)
+ (hash_operator)
+ (indexing_operator)
+ (let_operator)
+ (and_operator)
+ (match_operator)
+] @operator
+
+(match_expression (match_operator) @keyword)
+
+(value_definition [(let_operator) (and_operator)] @keyword)
+
+;; TODO: this is an error now
+;(prefix_operator "!" @operator)
+
+(infix_operator ["&" "+" "-" "=" ">" "|" "%"] @operator)
+
+(signed_number ["+" "-"] @operator)
+
+["*" "#" "::" "<-"] @operator
+
+; Attributes
+;-----------
+
+(attribute_id) @variable.other.member
+
+; Comments
+;---------
+
+[(comment) (line_number_directive) (directive) (shebang)] @comment
+
+(ERROR) @error
+
+; Blanket highlights
+; ------------------
+
+[(value_name) (type_variable)] @variable
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ocaml/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/ocaml/indents.toml
new file mode 100644
index 0000000..7586b83
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ocaml/indents.toml
@@ -0,0 +1,13 @@
+indent = [
+ "let_binding",
+ "type_binding",
+ "structure",
+ "signature",
+ "record_declaration",
+ "function_expression",
+ "match_case",
+]
+
+outdent = [
+ "}",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ocaml/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/ocaml/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ocaml/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ocaml/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/ocaml/locals.scm
new file mode 100644
index 0000000..8f3f3fd
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ocaml/locals.scm
@@ -0,0 +1,24 @@
+; Scopes
+;-------
+
+[
+ (let_binding)
+ (class_binding)
+ (class_function)
+ (method_definition)
+ (fun_expression)
+ (object_expression)
+ (for_expression)
+ (match_case)
+ (attribute_payload)
+] @local.scope
+
+; Definitions
+;------------
+
+(value_pattern) @local.definition
+
+; References
+;-----------
+
+(value_path . (value_name) @local.reference)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/org/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/org/highlights.scm
new file mode 100644
index 0000000..db8329f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/org/highlights.scm
@@ -0,0 +1,24 @@
+(headline (stars) @markup.heading.marker (#eq? @markup.heading.marker "*")) @markup.heading.1
+(headline (stars) @markup.heading.marker (#eq? @markup.heading.marker "**")) @markup.heading.2
+(headline (stars) @markup.heading.marker (#eq? @markup.heading.marker "***")) @markup.heading.3
+(headline (stars) @markup.heading.marker (#eq? @markup.heading.marker "****")) @markup.heading.4
+(headline (stars) @markup.heading.marker (#eq? @markup.heading.marker "*****")) @markup.heading.5
+(headline (stars) @markup.heading.marker (#eq? @markup.heading.marker "******")) @markup.heading.6
+
+(block) @markup.raw.block
+(list) @markup.list.unnumbered
+(directive) @markup.label
+(property_drawer) @markup.label
+
+
+((expr) @markup.bold
+ (#match? @markup.bold "\\*.*\\*"))
+
+((expr) @markup.italic
+ (#match? @markup.italic "/.*/"))
+((expr) @markup.raw.inline
+ (#match? @markup.raw.inline "~.*~"))
+
+((expr) @markup.quote
+ (#match? @markup.quote "=.*="))
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/org/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/org/injections.scm
new file mode 100644
index 0000000..24d712d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/org/injections.scm
@@ -0,0 +1,4 @@
+(block parameter: (expr) @injection.language
+ (contents) @injection.content
+ (#set! injection.include-children))
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/perl/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/perl/highlights.scm
new file mode 100644
index 0000000..b6f0429
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/perl/highlights.scm
@@ -0,0 +1,181 @@
+; Variables
+(variable_declaration
+ .
+ (scope) @keyword)
+[
+(single_var_declaration)
+(scalar_variable)
+(array_variable)
+(hash_variable)
+(hash_variable)
+] @variable
+
+
+[
+(package_name)
+(special_scalar_variable)
+(special_array_variable)
+(special_hash_variable)
+(special_literal)
+(super)
+] @constant
+
+(
+ [
+ (package_name)
+ (super)
+ ]
+ .
+ ("::" @operator)
+)
+
+(comments) @comment
+(pod_statement) @comment.block.documentation
+
+[
+(use_no_statement)
+(use_no_feature_statement)
+(use_no_if_statement)
+(use_no_version)
+(use_constant_statement)
+(use_parent_statement)
+] @keyword
+
+(use_constant_statement
+ constant: (identifier) @constant)
+
+[
+"require"
+] @keyword
+
+(method_invocation
+ .
+ (identifier) @variable)
+
+(method_invocation
+ (arrow_operator)
+ .
+ (identifier) @function)
+(method_invocation
+ function_name: (identifier) @function)
+(named_block_statement
+ function_name: (identifier) @function)
+
+(call_expression
+ function_name: (identifier) @function)
+(function_definition
+ name: (identifier) @function)
+[
+(function)
+(map)
+(grep)
+(bless)
+] @function
+
+[
+"return"
+"sub"
+"package"
+"BEGIN"
+"END"
+] @keyword.function
+
+[
+"("
+")"
+"["
+"]"
+"{"
+"}"
+] @punctuation.bracket
+(standard_input_to_variable) @punctuation.bracket
+
+[
+"=~"
+"or"
+"="
+"=="
+"+"
+"-"
+"."
+"//"
+"||"
+(arrow_operator)
+(hash_arrow_operator)
+(array_dereference)
+(hash_dereference)
+(to_reference)
+(type_glob)
+(hash_access_variable)
+(ternary_expression)
+(ternary_expression_in_hash)
+] @operator
+
+[
+(regex_option)
+(regex_option_for_substitution)
+(regex_option_for_transliteration)
+] @variable.parameter
+
+(type_glob
+ (identifier) @variable)
+(
+ (scalar_variable)
+ .
+ ("->" @operator))
+
+[
+(word_list_qw)
+(command_qx_quoted)
+(string_single_quoted)
+(string_double_quoted)
+(string_qq_quoted)
+(bareword)
+(transliteration_tr_or_y)
+] @string
+
+[
+(regex_pattern_qr)
+(patter_matcher_m)
+(substitution_pattern_s)
+] @string.regexp
+
+(escape_sequence) @string.special
+
+[
+","
+(semi_colon)
+(start_delimiter)
+(end_delimiter)
+(ellipsis_statement)
+] @punctuation.delimiter
+
+[
+(integer)
+(floating_point)
+(scientific_notation)
+(hexadecimal)
+] @constant.numeric
+
+[
+; (if_statement)
+(unless_statement)
+(if_simple_statement)
+(unless_simple_statement)
+] @keyword.control.conditional
+
+[
+"if"
+"elsif"
+"else"
+] @keyword.control.conditional
+
+(foreach_statement) @keyword.control.repeat
+(foreach_statement
+ .
+ (scope) @keyword)
+
+(function_attribute) @label
+
+(function_signature) @type
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/perl/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/perl/indents.toml
new file mode 100644
index 0000000..365e066
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/perl/indents.toml
@@ -0,0 +1,17 @@
+indent = [
+ "function",
+ "identifier",
+ "method_invocation",
+ "if_statement",
+ "unless_statement",
+ "if_simple_statement",
+ "unless_simple_statement",
+ "variable_declaration",
+ "block",
+ "list_item",
+ "word_list_qw"
+]
+
+outdent = [
+ "}"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/perl/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/perl/injections.scm
new file mode 100644
index 0000000..cab5f53
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/perl/injections.scm
@@ -0,0 +1,2 @@
+((comments) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/perl/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/perl/textobjects.scm
new file mode 100644
index 0000000..972b877
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/perl/textobjects.scm
@@ -0,0 +1,17 @@
+(function_definition
+ (identifier) (_) @function.inside) @function.around
+
+(anonymous_function
+ (_) @function.inside) @function.around
+
+(argument
+ (_) @parameter.inside)
+
+[
+ (comments)
+ (pod_statement)
+] @comment.inside
+
+(comments)+ @comment.around
+
+(pod_statement) @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/php/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/php/highlights.scm
new file mode 100644
index 0000000..5379fa1
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/php/highlights.scm
@@ -0,0 +1,118 @@
+(php_tag) @tag
+"?>" @tag
+
+; Types
+
+(primitive_type) @type.builtin
+(cast_type) @type.builtin
+(named_type (name) @type) @type
+(named_type (qualified_name) @type) @type
+
+; Functions
+
+(array_creation_expression "array" @function.builtin)
+(list_literal "list" @function.builtin)
+
+(method_declaration
+ name: (name) @function.method)
+
+(function_call_expression
+ function: (qualified_name (name)) @function)
+
+(scoped_call_expression
+ name: (name) @function)
+
+(member_call_expression
+ name: (name) @function.method)
+
+(function_definition
+ name: (name) @function)
+
+; Member
+
+(property_element
+ (variable_name) @variable.other.member)
+
+(member_access_expression
+ name: (variable_name (name)) @variable.other.member)
+(member_access_expression
+ name: (name) @variable.other.member)
+
+; Variables
+
+(relative_scope) @variable.builtin
+
+((name) @constant
+ (#match? @constant "^_?[A-Z][A-Z\\d_]+$"))
+
+((name) @constructor
+ (#match? @constructor "^[A-Z]"))
+
+((name) @variable.builtin
+ (#eq? @variable.builtin "this"))
+
+(variable_name) @variable
+
+; Basic tokens
+
+(string) @string
+(heredoc) @string
+(boolean) @constant.builtin.boolean
+(null) @constant.builtin
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+(comment) @comment
+
+"$" @operator
+
+; Keywords
+
+"abstract" @keyword
+"as" @keyword
+"break" @keyword
+"case" @keyword
+"catch" @keyword
+"class" @keyword
+"const" @keyword
+"continue" @keyword
+"declare" @keyword
+"default" @keyword
+"do" @keyword
+"echo" @keyword
+"else" @keyword
+"elseif" @keyword
+"enddeclare" @keyword
+"endforeach" @keyword
+"endif" @keyword
+"endswitch" @keyword
+"endwhile" @keyword
+"enum" @keyword
+"extends" @keyword
+"final" @keyword
+"finally" @keyword
+"foreach" @keyword
+"fn" @keyword
+"function" @keyword
+"global" @keyword
+"if" @keyword
+"implements" @keyword
+"include_once" @keyword
+"include" @keyword
+"insteadof" @keyword
+"interface" @keyword
+"match" @keyword
+"namespace" @keyword
+"new" @keyword
+"private" @keyword
+"protected" @keyword
+"public" @keyword
+"require_once" @keyword
+"require" @keyword
+"return" @keyword
+"static" @keyword
+"switch" @keyword
+"throw" @keyword
+"trait" @keyword
+"try" @keyword
+"use" @keyword
+"while" @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/php/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/php/indents.toml
new file mode 100644
index 0000000..85c104d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/php/indents.toml
@@ -0,0 +1,17 @@
+indent = [
+ "array_creation_expression",
+ "arguments",
+ "formal_parameters",
+ "compound_statement",
+ "declaration_list",
+ "binary_expression",
+ "return_statement",
+ "expression_statement",
+ "switch_block",
+ "anonymous_function_use_clause",
+]
+
+oudent = [
+ "}",
+ ")",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/php/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/php/injections.scm
new file mode 100644
index 0000000..614a385
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/php/injections.scm
@@ -0,0 +1,6 @@
+((text) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/php/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/php/tags.scm
new file mode 100644
index 0000000..ef889ce
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/php/tags.scm
@@ -0,0 +1,26 @@
+(class_declaration
+ name: (name) @name) @definition.class
+
+(function_definition
+ name: (name) @name) @definition.function
+
+(method_declaration
+ name: (name) @name) @definition.function
+
+(object_creation_expression
+ [
+ (qualified_name (name) @name)
+ (variable_name (name) @name)
+ ]) @reference.class
+
+(function_call_expression
+ function: [
+ (qualified_name (name) @name)
+ (variable_name (name)) @name
+ ]) @reference.call
+
+(scoped_call_expression
+ name: (name) @name) @reference.call
+
+(member_call_expression
+ name: (name) @name) @reference.call
diff --git a/helix-22.03-x86_64-windows/runtime/queries/php/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/php/textobjects.scm
new file mode 100644
index 0000000..51abe5c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/php/textobjects.scm
@@ -0,0 +1,34 @@
+(class_declaration
+ body: (_) @class.inside) @class.around
+
+(interface_declaration
+ body: (_) @class.inside) @class.around
+
+(trait_declaration
+ body: (_) @class.inside) @class.around
+
+(enum_declaration
+ body: (_) @class.inside) @class.around
+
+(function_definition
+ body: (_) @function.inside) @function.around
+
+(method_declaration
+ body: (_) @function.inside) @function.around
+
+(arrow_function
+ body: (_) @function.inside) @function.around
+
+(anonymous_function_creation_expression
+ body: (_) @function.inside) @function.around
+
+(formal_parameters
+ [
+ (simple_parameter)
+ (variadic_parameter)
+ (property_promotion_parameter)
+ ] @parameter.inside)
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/protobuf/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/protobuf/highlights.scm
new file mode 100644
index 0000000..c35c430
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/protobuf/highlights.scm
@@ -0,0 +1,58 @@
+[
+ "syntax"
+ "package"
+ "option"
+ "import"
+ "service"
+ "rpc"
+ "returns"
+ "message"
+ "enum"
+ "oneof"
+ "repeated"
+ "reserved"
+ "to"
+ "stream"
+ "extend"
+ "optional"
+] @keyword
+
+[
+ (keyType)
+ (type)
+] @type.builtin
+
+[
+ (mapName)
+ (enumName)
+ (messageName)
+ (extendName)
+ (serviceName)
+ (rpcName)
+] @type
+
+[
+ (fieldName)
+ (optionName)
+] @variable.other.member
+(enumVariantName) @type.enum.variant
+
+(fullIdent) @namespace
+
+(intLit) @constant.numeric.integer
+(floatLit) @constant.numeric.float
+(boolLit) @constant.builtin.boolean
+(strLit) @string
+
+(constant) @constant
+
+(comment) @comment
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket \ No newline at end of file
diff --git a/helix-22.03-x86_64-windows/runtime/queries/protobuf/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/protobuf/indents.toml
new file mode 100644
index 0000000..e655f8d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/protobuf/indents.toml
@@ -0,0 +1,12 @@
+indent = [
+ "messageBody",
+ "enumBody",
+ "oneofBody",
+ "serviceBody",
+ "rpcBody",
+ "msgLit",
+]
+
+outdent = [
+ "}",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/protobuf/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/protobuf/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/protobuf/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/python/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/python/highlights.scm
new file mode 100644
index 0000000..9131acc
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/python/highlights.scm
@@ -0,0 +1,121 @@
+; Identifier naming conventions
+
+((identifier) @constructor
+ (#match? @constructor "^[A-Z]"))
+
+((identifier) @constant
+ (#match? @constant "^[A-Z][A-Z_]*$"))
+
+; Builtin functions
+
+((call
+ function: (identifier) @function.builtin)
+ (#match?
+ @function.builtin
+ "^(abs|all|any|ascii|bin|bool|breakpoint|bytearray|bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|enumerate|eval|exec|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip|__import__)$"))
+
+; Function calls
+
+(decorator) @function
+
+(call
+ function: (attribute attribute: (identifier) @function.method))
+(call
+ function: (identifier) @function)
+
+; Function definitions
+
+(function_definition
+ name: (identifier) @function)
+
+(identifier) @variable
+(attribute attribute: (identifier) @variable.other.member)
+(type (identifier) @type)
+
+; Literals
+
+[
+ (none)
+ (true)
+ (false)
+] @constant.builtin
+
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+(comment) @comment
+(string) @string
+(escape_sequence) @constant.character.escape
+
+(interpolation
+ "{" @punctuation.special
+ "}" @punctuation.special) @embedded
+
+[
+ "-"
+ "-="
+ "!="
+ "*"
+ "**"
+ "**="
+ "*="
+ "/"
+ "//"
+ "//="
+ "/="
+ "&"
+ "%"
+ "%="
+ "^"
+ "+"
+ "->"
+ "+="
+ "<"
+ "<<"
+ "<="
+ "<>"
+ "="
+ ":="
+ "=="
+ ">"
+ ">="
+ ">>"
+ "|"
+ "~"
+ "and"
+ "in"
+ "is"
+ "not"
+ "or"
+] @operator
+
+[
+ "as"
+ "assert"
+ "async"
+ "await"
+ "break"
+ "class"
+ "continue"
+ "def"
+ "del"
+ "elif"
+ "else"
+ "except"
+ "exec"
+ "finally"
+ "for"
+ "from"
+ "global"
+ "if"
+ "import"
+ "lambda"
+ "nonlocal"
+ "pass"
+ "print"
+ "raise"
+ "return"
+ "try"
+ "while"
+ "with"
+ "yield"
+] @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/python/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/python/indents.toml
new file mode 100644
index 0000000..6bc6848
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/python/indents.toml
@@ -0,0 +1,39 @@
+indent = [
+ "list",
+ "tuple",
+ "dictionary",
+ "set",
+
+ "if_statement",
+ "for_statement",
+ "while_statement",
+ "with_statement",
+ "try_statement",
+ "import_from_statement",
+
+ "parenthesized_expression",
+ "generator_expression",
+ "list_comprehension",
+ "set_comprehension",
+ "dictionary_comprehension",
+
+ "tuple_pattern",
+ "list_pattern",
+ "argument_list",
+ "parameters",
+ "binary_operator",
+
+ "function_definition",
+ "class_definition",
+]
+
+outdent = [
+ ")",
+ "]",
+ "}",
+ "return_statement",
+ "pass_statement",
+ "raise_statement",
+]
+
+ignore = ["string"]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/python/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/python/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/python/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/python/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/python/tags.scm
new file mode 100644
index 0000000..c5ca827
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/python/tags.scm
@@ -0,0 +1,12 @@
+(class_definition
+ name: (identifier) @name) @definition.class
+
+(function_definition
+ name: (identifier) @name) @definition.function
+
+(call
+ function: [
+ (identifier) @name
+ (attribute
+ attribute: (identifier) @name)
+ ]) @reference.call
diff --git a/helix-22.03-x86_64-windows/runtime/queries/python/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/python/textobjects.scm
new file mode 100644
index 0000000..0ca2608
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/python/textobjects.scm
@@ -0,0 +1,18 @@
+(function_definition
+ body: (block)? @function.inside) @function.around
+
+(class_definition
+ body: (block)? @class.inside) @class.around
+
+(parameters
+ (_) @parameter.inside)
+
+(lambda_parameters
+ (_) @parameter.inside)
+
+(argument_list
+ (_) @parameter.inside)
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/regex/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/regex/highlights.scm
new file mode 100644
index 0000000..9376caa
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/regex/highlights.scm
@@ -0,0 +1,53 @@
+; upstream: https://github.com/tree-sitter/tree-sitter-regex/blob/e1cfca3c79896ff79842f057ea13e529b66af636/queries/highlights.scm
+
+[
+ "("
+ ")"
+ "(?"
+ "(?:"
+ "(?<"
+ ">"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ "*"
+ "+"
+ "|"
+ "="
+ "<="
+ "!"
+ "<!"
+ "?"
+] @operator
+
+[
+ (identity_escape)
+ (control_letter_escape)
+ (character_class_escape)
+ (control_escape)
+ (start_assertion)
+ (end_assertion)
+ (boundary_assertion)
+ (non_boundary_assertion)
+] @constant.character.escape
+
+(group_name) @property
+
+(count_quantifier
+ [
+ (decimal_digits) @constant.numeric
+ "," @punctuation.delimiter
+ ])
+
+(character_class
+ [
+ "^" @operator
+ (class_range "-" @operator)
+ ])
+
+(class_character) @constant.character
+(pattern_character) @string
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm
new file mode 100644
index 0000000..a9cbeb5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm
@@ -0,0 +1,178 @@
+(comment) @comment
+
+; Identifiers
+;------------
+
+; Escaped identifiers like \"+."
+((value_identifier) @function.macro
+ (#match? @function.macro "^\\.*$"))
+
+[
+ (type_identifier)
+ (unit_type)
+ "list"
+] @type
+
+[
+ (variant_identifier)
+ (polyvar_identifier)
+] @constant
+
+(property_identifier) @variable.other.member
+(module_identifier) @namespace
+
+(jsx_identifier) @tag
+(jsx_attribute (property_identifier) @variable.parameter)
+
+; Parameters
+;----------------
+
+(list_pattern (value_identifier) @variable.parameter)
+(spread_pattern (value_identifier) @variable.parameter)
+
+; String literals
+;----------------
+
+[
+ (string)
+ (template_string)
+] @string
+
+(template_substitution
+ "${" @punctuation.bracket
+ "}" @punctuation.bracket) @embedded
+
+(character) @constant.character
+(escape_sequence) @constant.character.escape
+
+; Other literals
+;---------------
+
+[
+ (true)
+ (false)
+] @constant.builtin
+
+(number) @constant.numeric
+(polyvar) @constant
+(polyvar_string) @constant
+
+; Functions
+;----------
+
+[
+ (formal_parameters (value_identifier))
+ (labeled_parameter (value_identifier))
+] @variable.parameter
+
+(function parameter: (value_identifier) @variable.parameter)
+
+; Meta
+;-----
+
+[
+ "@"
+ "@@"
+ (decorator_identifier)
+] @label
+
+(extension_identifier) @keyword
+("%") @keyword
+
+; Misc
+;-----
+
+(subscript_expression index: (string) @variable.other.member)
+(polyvar_type_pattern "#" @constant)
+
+[
+ ("include")
+ ("open")
+] @keyword
+
+[
+ "as"
+ "export"
+ "external"
+ "let"
+ "module"
+ "mutable"
+ "private"
+ "rec"
+ "type"
+ "and"
+] @keyword
+
+[
+ "if"
+ "else"
+ "switch"
+] @keyword
+
+[
+ "exception"
+ "try"
+ "catch"
+ "raise"
+] @keyword
+
+[
+ "."
+ ","
+ "|"
+] @punctuation.delimiter
+
+[
+ "++"
+ "+"
+ "+."
+ "-"
+ "-."
+ "*"
+ "*."
+ "/"
+ "/."
+ "<"
+ "<="
+ "=="
+ "==="
+ "!"
+ "!="
+ "!=="
+ ">"
+ ">="
+ "&&"
+ "||"
+ "="
+ ":="
+ "->"
+ "|>"
+ ":>"
+ (uncurry)
+] @operator
+
+[
+ "("
+ ")"
+ "{"
+ "}"
+ "["
+ "]"
+] @punctuation.bracket
+
+(polyvar_type
+ [
+ "["
+ "[>"
+ "[<"
+ "]"
+ ] @punctuation.bracket)
+
+[
+ "~"
+ "?"
+ "=>"
+ "..."
+] @punctuation
+
+(ternary_expression ["?" ":"] @operator)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm
new file mode 100644
index 0000000..201cce7
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm
@@ -0,0 +1,8 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+((raw_js) @injection.content
+ (#set! injection.language "javascript"))
+
+((raw_gql) @injection.content
+ (#set! injection.language "graphql"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm
new file mode 100644
index 0000000..fa1c4ff
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm
@@ -0,0 +1,16 @@
+; Classes (modules)
+;------------------
+
+(module_declaration definition: ((_) @class.inside)) @class.around
+
+; Functions
+;----------
+
+(function body: (_) @function.inside) @function.around
+
+; Comments
+;---------
+
+(comment) @comment.inside
+
+(comment)+ @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm
new file mode 100644
index 0000000..898f8f7
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/highlights.scm
@@ -0,0 +1,146 @@
+; Keywords
+
+[
+ "alias"
+ "and"
+ "begin"
+ "break"
+ "case"
+ "class"
+ "def"
+ "do"
+ "else"
+ "elsif"
+ "end"
+ "ensure"
+ "for"
+ "if"
+ "in"
+ "module"
+ "next"
+ "or"
+ "rescue"
+ "retry"
+ "return"
+ "then"
+ "unless"
+ "until"
+ "when"
+ "while"
+ "yield"
+] @keyword
+
+((identifier) @keyword
+ (#match? @keyword "^(private|protected|public)$"))
+
+; Function calls
+
+((identifier) @function.method.builtin
+ (#eq? @function.method.builtin "require"))
+
+"defined?" @function.method.builtin
+
+(call
+ method: [(identifier) (constant)] @function.method)
+
+; Function definitions
+
+(alias (identifier) @function.method)
+(setter (identifier) @function.method)
+(method name: [(identifier) (constant)] @function.method)
+(singleton_method name: [(identifier) (constant)] @function.method)
+
+; Identifiers
+
+[
+ (class_variable)
+ (instance_variable)
+] @variable.other.member
+
+((identifier) @constant.builtin
+ (#match? @constant.builtin "^__(FILE|LINE|ENCODING)__$"))
+
+((constant) @constant
+ (#match? @constant "^[A-Z\\d_]+$"))
+
+(constant) @constructor
+
+(self) @variable.builtin
+(super) @variable.builtin
+
+(block_parameter (identifier) @variable.parameter)
+(block_parameters (identifier) @variable.parameter)
+(destructured_parameter (identifier) @variable.parameter)
+(hash_splat_parameter (identifier) @variable.parameter)
+(lambda_parameters (identifier) @variable.parameter)
+(method_parameters (identifier) @variable.parameter)
+(splat_parameter (identifier) @variable.parameter)
+
+(keyword_parameter name: (identifier) @variable.parameter)
+(optional_parameter name: (identifier) @variable.parameter)
+
+((identifier) @function.method
+ (#is-not? local))
+(identifier) @variable
+
+; Literals
+
+[
+ (string)
+ (bare_string)
+ (subshell)
+ (heredoc_body)
+ (heredoc_beginning)
+] @string
+
+[
+ (simple_symbol)
+ (delimited_symbol)
+ (hash_key_symbol)
+ (bare_symbol)
+] @string.special.symbol
+
+(regex) @string.regexp
+(escape_sequence) @constant.character.escape
+
+[
+ (integer)
+ (float)
+] @constant.numeric.integer
+
+[
+ (nil)
+ (true)
+ (false)
+]@constant.builtin
+
+(interpolation
+ "#{" @punctuation.special
+ "}" @punctuation.special) @embedded
+
+(comment) @comment
+
+; Operators
+
+[
+"="
+"=>"
+"->"
+] @operator
+
+[
+ ","
+ ";"
+ "."
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "%w("
+ "%i("
+] @punctuation.bracket
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml
new file mode 100644
index 0000000..b417751
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/indents.toml
@@ -0,0 +1,25 @@
+indent = [
+ "argument_list",
+ "array",
+ "begin",
+ "block",
+ "call",
+ "class",
+ "case",
+ "do_block",
+ "elsif",
+ "if",
+ "hash",
+ "method",
+ "module",
+ "singleton_class",
+ "singleton_method",
+]
+
+outdent = [
+ ")",
+ "}",
+ "]",
+ "end",
+ "when",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm
new file mode 100644
index 0000000..393caaf
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/locals.scm
@@ -0,0 +1,27 @@
+((method) @local.scope
+ (#set! local.scope-inherits false))
+
+[
+ (lambda)
+ (block)
+ (do_block)
+] @local.scope
+
+(block_parameter (identifier) @local.definition)
+(block_parameters (identifier) @local.definition)
+(destructured_parameter (identifier) @local.definition)
+(hash_splat_parameter (identifier) @local.definition)
+(lambda_parameters (identifier) @local.definition)
+(method_parameters (identifier) @local.definition)
+(splat_parameter (identifier) @local.definition)
+
+(keyword_parameter name: (identifier) @local.definition)
+(optional_parameter name: (identifier) @local.definition)
+
+(identifier) @local.reference
+
+(assignment left: (identifier) @local.definition)
+(operator_assignment left: (identifier) @local.definition)
+(left_assignment_list (identifier) @local.definition)
+(rest_assignment (identifier) @local.definition)
+(destructured_left_assignment (identifier) @local.definition)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm
new file mode 100644
index 0000000..47ba1eb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/ruby/tags.scm
@@ -0,0 +1,64 @@
+; Method definitions
+
+(
+ (comment)* @doc
+ .
+ [
+ (method
+ name: (_) @name) @definition.method
+ (singleton_method
+ name: (_) @name) @definition.method
+ ]
+ (#strip! @doc "^#\\s*")
+ (#select-adjacent! @doc @definition.method)
+)
+
+(alias
+ name: (_) @name) @definition.method
+
+(setter
+ (identifier) @ignore)
+
+; Class definitions
+
+(
+ (comment)* @doc
+ .
+ [
+ (class
+ name: [
+ (constant) @name
+ (scope_resolution
+ name: (_) @name)
+ ]) @definition.class
+ (singleton_class
+ value: [
+ (constant) @name
+ (scope_resolution
+ name: (_) @name)
+ ]) @definition.class
+ ]
+ (#strip! @doc "^#\\s*")
+ (#select-adjacent! @doc @definition.class)
+)
+
+; Module definitions
+
+(
+ (module
+ name: [
+ (constant) @name
+ (scope_resolution
+ name: (_) @name)
+ ]) @definition.module
+)
+
+; Calls
+
+(call method: (identifier) @name) @reference.call
+
+(
+ [(identifier) (constant)] @name @reference.call
+ (#is-not? local)
+ (#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$")
+)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rust/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/rust/highlights.scm
new file mode 100644
index 0000000..26496c6
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rust/highlights.scm
@@ -0,0 +1,356 @@
+; -------
+; Tree-Sitter doesn't allow overrides in regards to captures,
+; though it is possible to affect the child node of a captured
+; node. Thus, the approach here is to flip the order so that
+; overrides are unnecessary.
+; -------
+
+
+
+; -------
+; Types
+; -------
+
+; ---
+; Primitives
+; ---
+
+(escape_sequence) @constant.character.escape
+(primitive_type) @type.builtin
+(boolean_literal) @constant.builtin.boolean
+(integer_literal) @constant.numeric.integer
+(float_literal) @constant.numeric.float
+(char_literal) @constant.character
+[
+ (string_literal)
+ (raw_string_literal)
+] @string
+[
+ (line_comment)
+ (block_comment)
+] @comment
+
+; ---
+; Extraneous
+; ---
+
+(self) @variable.builtin
+(enum_variant (identifier) @type.enum.variant)
+
+(field_initializer
+ (field_identifier) @variable.other.member)
+(shorthand_field_initializer
+ (identifier) @variable.other.member)
+(shorthand_field_identifier) @variable.other.member
+
+(lifetime
+ "'" @label
+ (identifier) @label)
+(loop_label
+ (identifier) @type)
+
+; ---
+; Punctuation
+; ---
+
+[
+ "::"
+ "."
+ ";"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+(type_arguments
+ [
+ "<"
+ ">"
+ ] @punctuation.bracket)
+(type_parameters
+ [
+ "<"
+ ">"
+ ] @punctuation.bracket)
+
+; ---
+; Variables
+; ---
+
+(let_declaration
+ pattern: [
+ ((identifier) @variable)
+ ((tuple_pattern
+ (identifier) @variable))
+ ])
+
+; It needs to be anonymous to not conflict with `call_expression` further below.
+(_
+ value: (field_expression
+ value: (identifier)? @variable
+ field: (field_identifier) @variable.other.member))
+
+(arguments
+ (identifier) @variable.parameter)
+(parameter
+ pattern: (identifier) @variable.parameter)
+(closure_parameters
+ (identifier) @variable.parameter)
+
+
+
+; -------
+; Keywords
+; -------
+
+(for_expression
+ "for" @keyword.control)
+((identifier) @keyword.control
+ (#match? @keyword.control "^yield$"))
+[
+ "while"
+ "loop"
+ "in"
+ "break"
+ "continue"
+
+ "match"
+ "if"
+ "else"
+ "return"
+
+ "await"
+] @keyword.control
+
+"use" @keyword.control.import
+(mod_item "mod" @keyword.control.import !body)
+(use_as_clause "as" @keyword.control.import)
+
+(type_cast_expression "as" @keyword.operator)
+
+[
+ (crate)
+ (super)
+ "as"
+ "pub"
+ "mod"
+ "extern"
+
+ "fn"
+ "struct"
+ "enum"
+ "impl"
+ "where"
+ "trait"
+ "for"
+
+ "type"
+ "union"
+ "unsafe"
+ "default"
+ "macro_rules!"
+
+ "let"
+ "ref"
+ "move"
+
+ "dyn"
+ "static"
+ "const"
+ "async"
+] @keyword
+
+(mutable_specifier) @keyword.mut
+
+; TODO: variable.mut to highlight mutable identifiers via locals.scm
+
+; -------
+; Guess Other Types
+; -------
+
+((identifier) @constant
+ (#match? @constant "^[A-Z][A-Z\\d_]+$"))
+
+; ---
+; PascalCase identifiers in call_expressions (e.g. `Ok()`)
+; are assumed to be enum constructors.
+; ---
+
+(call_expression
+ function: [
+ ((identifier) @type.variant
+ (#match? @type.variant "^[A-Z]"))
+ (scoped_identifier
+ name: ((identifier) @type.variant
+ (#match? @type.variant "^[A-Z]")))
+ ])
+
+; ---
+; Assume that types in match arms are enums and not
+; tuple structs. Same for `if let` expressions.
+; ---
+
+(match_pattern
+ (scoped_identifier
+ name: (identifier) @constructor))
+(tuple_struct_pattern
+ type: [
+ ((identifier) @constructor)
+ (scoped_identifier
+ name: (identifier) @constructor)
+ ])
+(struct_pattern
+ type: [
+ ((type_identifier) @constructor)
+ (scoped_type_identifier
+ name: (type_identifier) @constructor)
+ ])
+
+; ---
+; Other PascalCase identifiers are assumed to be structs.
+; ---
+
+((identifier) @type
+ (#match? @type "^[A-Z]"))
+
+
+
+; -------
+; Functions
+; -------
+
+(call_expression
+ function: [
+ ((identifier) @function)
+ (scoped_identifier
+ name: (identifier) @function)
+ (field_expression
+ field: (field_identifier) @function)
+ ])
+(generic_function
+ function: [
+ ((identifier) @function)
+ (scoped_identifier
+ name: (identifier) @function)
+ (field_expression
+ field: (field_identifier) @function.method)
+ ])
+
+(function_item
+ name: (identifier) @function)
+
+; ---
+; Macros
+; ---
+(meta_item
+ (identifier) @function.macro)
+
+(inner_attribute_item) @attribute
+
+(macro_definition
+ name: (identifier) @function.macro)
+(macro_invocation
+ macro: [
+ ((identifier) @function.macro)
+ (scoped_identifier
+ name: (identifier) @function.macro)
+ ]
+ "!" @function.macro)
+
+(metavariable) @variable.parameter
+(fragment_specifier) @type
+
+
+
+; -------
+; Operators
+; -------
+
+[
+ "*"
+ "'"
+ "->"
+ "=>"
+ "<="
+ "="
+ "=="
+ "!"
+ "!="
+ "%"
+ "%="
+ "&"
+ "&="
+ "&&"
+ "|"
+ "|="
+ "||"
+ "^"
+ "^="
+ "*"
+ "*="
+ "-"
+ "-="
+ "+"
+ "+="
+ "/"
+ "/="
+ ">"
+ "<"
+ ">="
+ ">>"
+ "<<"
+ ">>="
+ "@"
+ ".."
+ "..="
+ "'"
+] @operator
+
+
+
+; -------
+; Paths
+; -------
+
+(use_declaration
+ argument: (identifier) @namespace)
+(use_wildcard
+ (identifier) @namespace)
+(extern_crate_declaration
+ name: (identifier) @namespace)
+(mod_item
+ name: (identifier) @namespace)
+(scoped_use_list
+ path: (identifier)? @namespace)
+(use_list
+ (identifier) @namespace)
+(use_as_clause
+ path: (identifier)? @namespace
+ alias: (identifier) @namespace)
+
+; ---
+; Remaining Paths
+; ---
+
+(scoped_identifier
+ path: (identifier)? @namespace
+ name: (identifier) @namespace)
+(scoped_type_identifier
+ path: (identifier) @namespace)
+
+
+
+; -------
+; Remaining Identifiers
+; -------
+
+"?" @special
+
+(type_identifier) @type
+(identifier) @variable
+(field_identifier) @variable.other.member
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rust/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/rust/indents.toml
new file mode 100644
index 0000000..51a0cee
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rust/indents.toml
@@ -0,0 +1,28 @@
+indent = [
+ "use_list",
+ "block",
+ "match_block",
+ "arguments",
+ "parameters",
+ "declaration_list",
+ "field_declaration_list",
+ "field_initializer_list",
+ "struct_pattern",
+ "tuple_pattern",
+ "unit_expression",
+ "enum_variant_list",
+ "call_expression",
+ "binary_expression",
+ "field_expression",
+ "tuple_expression",
+ "array_expression",
+ "where_clause",
+ "macro_invocation"
+]
+
+outdent = [
+ "where",
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rust/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/rust/injections.scm
new file mode 100644
index 0000000..77c7080
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rust/injections.scm
@@ -0,0 +1,26 @@
+([(line_comment) (block_comment)] @injection.content
+ (#set! injection.language "comment"))
+
+((macro_invocation
+ (token_tree) @injection.content)
+ (#set! injection.language "rust")
+ (#set! injection.include-children))
+
+((macro_rule
+ (token_tree) @injection.content)
+ (#set! injection.language "rust")
+ (#set! injection.include-children))
+
+(call_expression
+ function: (scoped_identifier
+ path: (identifier) @_regex (#eq? @_regex "Regex")
+ name: (identifier) @_new (#eq? @_new "new"))
+ arguments: (arguments (raw_string_literal) @injection.content)
+ (#set! injection.language "regex"))
+
+(call_expression
+ function: (scoped_identifier
+ path: (scoped_identifier (identifier) @_regex (#eq? @_regex "Regex") .)
+ name: (identifier) @_new (#eq? @_new "new"))
+ arguments: (arguments (raw_string_literal) @injection.content)
+ (#set! injection.language "regex"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rust/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/rust/locals.scm
new file mode 100644
index 0000000..6428f9b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rust/locals.scm
@@ -0,0 +1,17 @@
+; Scopes
+
+(block) @local.scope
+
+; Definitions
+
+(parameter
+ (identifier) @local.definition)
+
+(let_declaration
+ pattern: (identifier) @local.definition)
+
+(closure_parameters (identifier)) @local.definition
+
+; References
+(identifier) @local.reference
+
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rust/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/rust/textobjects.scm
new file mode 100644
index 0000000..086db67
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/rust/textobjects.scm
@@ -0,0 +1,35 @@
+(function_item
+ body: (_) @function.inside) @function.around
+
+(struct_item
+ body: (_) @class.inside) @class.around
+
+(enum_item
+ body: (_) @class.inside) @class.around
+
+(union_item
+ body: (_) @class.inside) @class.around
+
+(trait_item
+ body: (_) @class.inside) @class.around
+
+(impl_item
+ body: (_) @class.inside) @class.around
+
+(parameters
+ (_) @parameter.inside)
+
+(closure_parameters
+ (_) @parameter.inside)
+
+(arguments
+ (_) @parameter.inside)
+
+[
+ (line_comment)
+ (block_comment)
+] @comment.inside
+
+(line_comment)+ @comment.around
+
+(block_comment) @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/scala/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/scala/highlights.scm
new file mode 100644
index 0000000..50a6e18
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/scala/highlights.scm
@@ -0,0 +1,203 @@
+; CREDITS @stumash (stuart.mashaal@gmail.com)
+
+;; variables
+
+
+((identifier) @variable.builtin
+ (#match? @variable.builtin "^this$"))
+
+(interpolation) @none
+
+; Assume other uppercase names constants.
+; NOTE: In order to distinguish constants we highlight
+; all the identifiers that are uppercased. But this solution
+; is not suitable for all occurrences e.g. it will highlight
+; an uppercased method as a constant if used with no params.
+; Introducing highlighting for those specific cases, is probably
+; best way to resolve the issue.
+((identifier) @constant (#match? @constant "^[A-Z]"))
+
+;; types
+
+(type_identifier) @type
+
+(class_definition
+ name: (identifier) @type)
+
+(object_definition
+ name: (identifier) @type)
+
+(trait_definition
+ name: (identifier) @type)
+
+(type_definition
+ name: (type_identifier) @type)
+
+; method definition
+
+(class_definition
+ body: (template_body
+ (function_definition
+ name: (identifier) @function.method)))
+(object_definition
+ body: (template_body
+ (function_definition
+ name: (identifier) @function.method)))
+(trait_definition
+ body: (template_body
+ (function_definition
+ name: (identifier) @function.method)))
+
+; imports
+
+(import_declaration
+ path: (identifier) @namespace)
+((stable_identifier (identifier) @namespace))
+
+((import_declaration
+ path: (identifier) @type) (#match? @type "^[A-Z]"))
+((stable_identifier (identifier) @type) (#match? @type "^[A-Z]"))
+
+((import_selectors (identifier) @type) (#match? @type "^[A-Z]"))
+
+; method invocation
+
+
+(call_expression
+ function: (identifier) @function)
+
+(call_expression
+ function: (field_expression
+ field: (identifier) @function.method))
+
+((call_expression
+ function: (identifier) @variable.other.member)
+ (#match? @variable.other.member "^[A-Z]"))
+
+(generic_function
+ function: (identifier) @function)
+
+(
+ (identifier) @function.builtin
+ (#match? @function.builtin "^super$")
+)
+
+; function definitions
+
+(function_definition
+ name: (identifier) @function)
+
+(parameter
+ name: (identifier) @variable.parameter)
+
+; expressions
+
+
+(field_expression field: (identifier) @variable.other.member)
+(field_expression value: (identifier) @type
+ (#match? @type "^[A-Z]"))
+
+(infix_expression operator: (identifier) @operator)
+(infix_expression operator: (operator_identifier) @operator)
+(infix_type operator: (operator_identifier) @operator)
+(infix_type operator: (operator_identifier) @operator)
+
+; literals
+(boolean_literal) @constant.builtin.boolean
+(integer_literal) @constant.numeric.integer
+(floating_point_literal) @constant.numeric.float
+
+
+(symbol_literal) @string.special.symbol
+
+[
+(string)
+(character_literal)
+(interpolated_string_expression)
+] @string
+
+(interpolation "$" @punctuation.special)
+
+;; keywords
+
+[
+ "abstract"
+ "case"
+ "class"
+ "extends"
+ "final"
+ "finally"
+;; `forSome` existential types not implemented yet
+ "implicit"
+ "lazy"
+;; `macro` not implemented yet
+ "object"
+ "override"
+ "package"
+ "private"
+ "protected"
+ "sealed"
+ "trait"
+ "type"
+ "val"
+ "var"
+ "with"
+] @keyword
+
+(null_literal) @constant.builtin
+(wildcard) @keyword
+
+;; special keywords
+
+"new" @keyword.operator
+
+[
+ "else"
+ "if"
+ "match"
+ "try"
+ "catch"
+ "throw"
+] @keyword.control.conditional
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ "."
+ ","
+] @punctuation.delimiter
+
+[
+ "do"
+ "for"
+ "while"
+ "yield"
+] @keyword.control.repeat
+
+"def" @keyword.function
+
+[
+ "=>"
+ "<-"
+ "@"
+] @keyword.operator
+
+"import" @keyword.control.import
+
+"return" @keyword.control.return
+
+(comment) @comment
+
+;; `case` is a conditional keyword in case_block
+
+(case_block
+ (case_clause ("case") @keyword.control.conditional))
+
+(identifier) @variable \ No newline at end of file
diff --git a/helix-22.03-x86_64-windows/runtime/queries/scala/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/scala/indents.toml
new file mode 100644
index 0000000..6de5484
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/scala/indents.toml
@@ -0,0 +1,23 @@
+
+indent = [
+ "block",
+ "arguments",
+ "parameter",
+ "class_definition",
+ "trait_definition",
+ "object_definition",
+ "function_definition",
+ "val_definition",
+ "import_declaration",
+ "while_expression",
+ "do_while_expression",
+ "for_expression",
+ "try_expression",
+ "match_expression"
+]
+
+outdent = [
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/scala/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/scala/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/scala/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/solidity/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/solidity/highlights.scm
new file mode 100644
index 0000000..61c89ac
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/solidity/highlights.scm
@@ -0,0 +1,189 @@
+(comment) @comment
+
+; Pragma
+(pragma_directive) @tag
+(solidity_version_comparison_operator ">=" @tag)
+(solidity_version_comparison_operator "<=" @tag)
+(solidity_version_comparison_operator "=" @tag)
+(solidity_version_comparison_operator "~" @tag)
+(solidity_version_comparison_operator "^" @tag)
+
+
+; Literals
+[
+ (string)
+ (hex_string_literal)
+ (unicode_string_literal)
+ (yul_string_literal)
+] @string
+[
+ (number_literal)
+ (yul_decimal_number)
+ (yul_hex_number)
+] @constant.numeric
+[
+ (true)
+ (false)
+] @constant.builtin
+
+
+; Type
+(type_name) @type
+(primitive_type) @type
+(struct_declaration struct_name: (identifier) @type)
+(enum_declaration enum_type_name: (identifier) @type)
+; Color payable in payable address conversion as type and not as keyword
+(payable_conversion_expression "payable" @type)
+(emit_statement . (identifier) @type)
+; Handles ContractA, ContractB in function foo() override(ContractA, contractB) {}
+(override_specifier (identifier) @type)
+; Ensures that delimiters in mapping( ... => .. ) are not colored like types
+(type_name "(" @punctuation.bracket "=>" @punctuation.delimiter ")" @punctuation.bracket)
+
+
+
+; Functions and parameters
+
+(function_definition
+ function_name: (identifier) @function)
+(modifier_definition
+ name: (identifier) @function)
+(yul_evm_builtin) @function.builtin
+
+; Use contructor coloring for special functions
+(constructor_definition "constructor" @constructor)
+(fallback_receive_definition "receive" @constructor)
+(fallback_receive_definition "fallback" @constructor)
+
+(modifier_invocation (identifier) @function)
+
+; Handles expressions like structVariable.g();
+(call_expression . (member_expression (property_identifier) @function.method))
+
+; Handles expressions like g();
+(call_expression . (identifier) @function)
+
+; Function parameters
+(event_paramater name: (identifier) @variable.parameter)
+(function_definition
+ function_name: (identifier) @variable.parameter)
+
+; Yul functions
+(yul_function_call function: (yul_identifier) @function)
+
+; Yul function parameters
+(yul_function_definition . (yul_identifier) @function (yul_identifier) @variable.parameter)
+
+(meta_type_expression "type" @keyword)
+
+(member_expression (property_identifier) @variable.other.member)
+(property_identifier) @variable.other.member
+(struct_expression ((identifier) @variable.other.member . ":"))
+(enum_value) @variable.other.member
+
+
+; Keywords
+[
+ "pragma"
+ "import"
+ "contract"
+ "interface"
+ "library"
+ "is"
+ "struct"
+ "enum"
+ "event"
+ "using"
+ "assembly"
+ "switch"
+ "case"
+ "default"
+ "break"
+ "continue"
+ "if"
+ "else"
+ "for"
+ "while"
+ "do"
+ "try"
+ "catch"
+ "return"
+ "emit"
+ "public"
+ "internal"
+ "private"
+ "external"
+ "pure"
+ "view"
+ "payable"
+ "modifier"
+ "returns"
+ "memory"
+ "storage"
+ "calldata"
+ "function"
+ "var"
+ (constant)
+ (virtual)
+ (override_specifier)
+ (yul_leave)
+] @keyword
+
+(import_directive "as" @keyword)
+(import_directive "from" @keyword)
+(event_paramater "indexed" @keyword)
+
+; Punctuation
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+
+[
+ "."
+ ","
+] @punctuation.delimiter
+
+
+; Operators
+
+[
+ "&&"
+ "||"
+ ">>"
+ ">>>"
+ "<<"
+ "&"
+ "^"
+ "|"
+ "+"
+ "-"
+ "*"
+ "/"
+ "%"
+ "**"
+ "<"
+ "<="
+ "=="
+ "!="
+ "!=="
+ ">="
+ ">"
+ "!"
+ "~"
+ "-"
+ "+"
+ "delete"
+ "new"
+ "++"
+ "--"
+] @operator
+
+(identifier) @variable
+(yul_identifier) @variable
diff --git a/helix-22.03-x86_64-windows/runtime/queries/svelte/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/svelte/highlights.scm
new file mode 100644
index 0000000..22b0c55
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/svelte/highlights.scm
@@ -0,0 +1,68 @@
+; Special identifiers
+;--------------------
+
+; TODO:
+((element (start_tag (tag_name) @_tag) (text) @markup.heading)
+ (#match? @_tag "^(h[0-9]|title)$"))
+
+((element (start_tag (tag_name) @_tag) (text) @markup.bold)
+ (#match? @_tag "^(strong|b)$"))
+
+((element (start_tag (tag_name) @_tag) (text) @markup.italic)
+ (#match? @_tag "^(em|i)$"))
+
+; ((element (start_tag (tag_name) @_tag) (text) @markup.strike)
+; (#match? @_tag "^(s|del)$"))
+
+((element (start_tag (tag_name) @_tag) (text) @markup.underline)
+ (#eq? @_tag "u"))
+
+((element (start_tag (tag_name) @_tag) (text) @markup.inline)
+ (#match? @_tag "^(code|kbd)$"))
+
+((element (start_tag (tag_name) @_tag) (text) @markup.link.url)
+ (#eq? @_tag "a"))
+
+((attribute
+ (attribute_name) @_attr
+ (quoted_attribute_value (attribute_value) @markup.link.url))
+ (#match? @_attr "^(href|src)$"))
+
+(tag_name) @tag
+(attribute_name) @variable.other.member
+(erroneous_end_tag_name) @error
+(comment) @comment
+
+[
+ (attribute_value)
+ (quoted_attribute_value)
+] @string
+
+[
+ (text)
+ (raw_text_expr)
+] @none
+
+[
+ (special_block_keyword)
+ (then)
+ (as)
+] @keyword
+
+[
+ "{"
+ "}"
+] @punctuation.brackets
+
+"=" @operator
+
+[
+ "<"
+ ">"
+ "</"
+ "/>"
+ "#"
+ ":"
+ "/"
+ "@"
+] @punctuation.definition.tag
diff --git a/helix-22.03-x86_64-windows/runtime/queries/svelte/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/svelte/indents.toml
new file mode 100644
index 0000000..693db8e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/svelte/indents.toml
@@ -0,0 +1,18 @@
+indent = [
+ "element"
+ "if_statement"
+ "each_statement"
+ "await_statement"
+]
+
+outdent = [
+ "end_tag"
+ "else_statement"
+ "if_end_expr"
+ "each_end_expr"
+ "await_end_expr"
+ ">"
+ "/>"
+]
+
+ignore = "comment"
diff --git a/helix-22.03-x86_64-windows/runtime/queries/svelte/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/svelte/injections.scm
new file mode 100644
index 0000000..04e860c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/svelte/injections.scm
@@ -0,0 +1,30 @@
+; injections.scm
+; --------------
+((style_element
+ (raw_text) @injection.content)
+ (#set! injection.language "css"))
+
+((attribute
+ (attribute_name) @_attr
+ (quoted_attribute_value (attribute_value) @css))
+ (#eq? @_attr "style"))
+
+((script_element
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript"))
+
+((raw_text_expr) @injection.content
+ (#set! injection.language "javascript"))
+
+(
+ (script_element
+ (start_tag
+ (attribute
+ (quoted_attribute_value (attribute_value) @_lang)))
+ (raw_text) @injection.content)
+ (#match? @_lang "(ts|typescript)")
+ (#set! injection.language "typescript")
+)
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tablegen/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/tablegen/highlights.scm
new file mode 100644
index 0000000..8ade5ba
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tablegen/highlights.scm
@@ -0,0 +1,90 @@
+[
+ (comment)
+ (multiline_comment)
+] @comment
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "<"
+ ">"
+] @punctuation.bracket
+
+[
+ ","
+ ";"
+ "."
+] @punctuation.delimiter
+
+[
+ "#"
+ "-"
+ "..."
+ ":"
+] @operator
+
+[
+ "="
+ "!cond"
+ (operator_keyword)
+] @function
+
+[
+ "true"
+ "false"
+] @constant.builtin.boolean
+
+[
+ "?"
+] @constant.builtin
+
+(var) @variable
+
+(template_arg (identifier) @variable.parameter)
+
+(_ argument: (value (identifier) @variable.parameter))
+
+(type) @type
+
+"code" @type.builtin
+
+(number) @constant.numeric.integer
+[
+ (string_string)
+ (code_string)
+] @string
+
+(preprocessor) @keyword.directive
+
+[
+ "class"
+ "field"
+ "let"
+ "defvar"
+ "def"
+ "defset"
+ "defvar"
+ "assert"
+] @keyword
+
+[
+ "let"
+ "in"
+ "foreach"
+ "if"
+ "then"
+ "else"
+] @keyword.operator
+
+"include" @keyword.control.import
+
+[
+ "multiclass"
+ "defm"
+] @namespace
+
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tablegen/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/tablegen/indents.toml
new file mode 100644
index 0000000..43532f4
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tablegen/indents.toml
@@ -0,0 +1,7 @@
+indent = [
+ "statement",
+]
+
+outdent = [
+ "}",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tablegen/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/tablegen/injections.scm
new file mode 100644
index 0000000..0b476f8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tablegen/injections.scm
@@ -0,0 +1,2 @@
+([ (comment) (multiline_comment)] @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tablegen/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/tablegen/textobjects.scm
new file mode 100644
index 0000000..89645b3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tablegen/textobjects.scm
@@ -0,0 +1,16 @@
+(class
+ body: (_) @class.inside) @class.around
+
+(multiclass
+ body: (_) @class.inside) @class.around
+
+(_ argument: _ @parameter.inside)
+
+[
+ (comment)
+ (multiline_comment)
+] @comment.inside
+
+(comment)+ @comment.around
+
+(multiline_comment) @comment.around
diff --git a/helix-22.03-x86_64-windows/runtime/queries/toml/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/toml/highlights.scm
new file mode 100644
index 0000000..2742b2b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/toml/highlights.scm
@@ -0,0 +1,33 @@
+; Properties
+;-----------
+
+(bare_key) @variable.other.member
+(quoted_key) @string
+
+; Literals
+;---------
+
+(boolean) @constant.builtin.boolean
+(comment) @comment
+(string) @string
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+(offset_date_time) @string.special
+(local_date_time) @string.special
+(local_date) @string.special
+(local_time) @string.special
+
+; Punctuation
+;------------
+
+"." @punctuation.delimiter
+"," @punctuation.delimiter
+
+"=" @operator
+
+"[" @punctuation.bracket
+"]" @punctuation.bracket
+"[[" @punctuation.bracket
+"]]" @punctuation.bracket
+"{" @punctuation.bracket
+"}" @punctuation.bracket
diff --git a/helix-22.03-x86_64-windows/runtime/queries/toml/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/toml/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/toml/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tsq/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/tsq/highlights.scm
new file mode 100644
index 0000000..549895c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tsq/highlights.scm
@@ -0,0 +1,46 @@
+; mark the string passed #match? as a regex
+(((predicate_name) @function
+ (capture)
+ (string) @string.regexp)
+ (#eq? @function "#match?"))
+
+; highlight inheritance comments
+((query . (comment) @keyword.directive)
+ (#match? @keyword.directive "^;\ +inherits *:"))
+
+[
+ "("
+ ")"
+ "["
+ "]"
+] @punctuation.bracket
+
+":" @punctuation.delimiter
+
+[
+ (one_or_more)
+ (zero_or_one)
+ (zero_or_more)
+] @operator
+
+[
+ (wildcard_node)
+ (anchor)
+] @constant.builtin
+
+[
+ (anonymous_leaf)
+ (string)
+] @string
+
+(comment) @comment
+
+(field_name) @variable.other.member
+
+(capture) @label
+
+(predicate_name) @function
+
+(escape_sequence) @constant.character.escape
+
+(node_name) @variable
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tsq/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/tsq/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tsq/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tsx/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/tsx/highlights.scm
new file mode 100644
index 0000000..1b61e36
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tsx/highlights.scm
@@ -0,0 +1 @@
+; inherits: typescript
diff --git a/helix-22.03-x86_64-windows/runtime/queries/tsx/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/tsx/injections.scm
new file mode 100644
index 0000000..1b61e36
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/tsx/injections.scm
@@ -0,0 +1 @@
+; inherits: typescript
diff --git a/helix-22.03-x86_64-windows/runtime/queries/twig/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/twig/highlights.scm
new file mode 100644
index 0000000..2c95ab6
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/twig/highlights.scm
@@ -0,0 +1,16 @@
+(comment_directive) @comment
+
+[
+ "{%"
+ "{%-"
+ "{%~"
+ "%}"
+ "-%}"
+ "~%}"
+ "{{"
+ "{{-"
+ "{{~"
+ "}}"
+ "-}}"
+ "~}}"
+] @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/twig/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/twig/injections.scm
new file mode 100644
index 0000000..f082273
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/twig/injections.scm
@@ -0,0 +1,3 @@
+((content) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/typescript/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/typescript/highlights.scm
new file mode 100644
index 0000000..a3212a3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/typescript/highlights.scm
@@ -0,0 +1,36 @@
+; inherits: javascript
+
+; Types
+
+(type_identifier) @type
+(predefined_type) @type.builtin
+
+((identifier) @type
+ (#match? @type "^[A-Z]"))
+
+(type_arguments
+ "<" @punctuation.bracket
+ ">" @punctuation.bracket)
+
+; Variables
+
+(required_parameter (identifier) @variable.parameter)
+(optional_parameter (identifier) @variable.parameter)
+
+; Keywords
+
+[
+ "abstract"
+ "declare"
+ "enum"
+ "export"
+ "implements"
+ "interface"
+ "keyof"
+ "namespace"
+ "private"
+ "protected"
+ "public"
+ "type"
+ "readonly"
+] @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/typescript/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/typescript/indents.toml
new file mode 100644
index 0000000..9d711ab
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/typescript/indents.toml
@@ -0,0 +1,28 @@
+indent = [
+ "array",
+ "object",
+ "arguments",
+ "formal_parameters",
+
+ "statement_block",
+ "object_pattern",
+ "class_body",
+ "named_imports",
+
+ "binary_expression",
+ "return_statement",
+ "template_substitution",
+ # (expression_statement (call_expression))
+ "export_clause",
+
+ # typescript
+ "enum_declaration",
+ "interface_declaration",
+ "object_type",
+]
+
+outdent = [
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/typescript/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/typescript/injections.scm
new file mode 100644
index 0000000..ff0ddfa
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/typescript/injections.scm
@@ -0,0 +1 @@
+; inherits: javascript
diff --git a/helix-22.03-x86_64-windows/runtime/queries/typescript/locals.scm b/helix-22.03-x86_64-windows/runtime/queries/typescript/locals.scm
new file mode 100644
index 0000000..aa6d6ff
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/typescript/locals.scm
@@ -0,0 +1,2 @@
+(required_parameter (identifier) @local.definition)
+(optional_parameter (identifier) @local.definition)
diff --git a/helix-22.03-x86_64-windows/runtime/queries/typescript/tags.scm b/helix-22.03-x86_64-windows/runtime/queries/typescript/tags.scm
new file mode 100644
index 0000000..ccae934
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/typescript/tags.scm
@@ -0,0 +1,23 @@
+(function_signature
+ name: (identifier) @name) @definition.function
+
+(method_signature
+ name: (property_identifier) @name) @definition.method
+
+(abstract_method_signature
+ name: (property_identifier) @name) @definition.method
+
+(abstract_class_declaration
+ name: (type_identifier) @name) @definition.class
+
+(module
+ name: (identifier) @name) @definition.module
+
+(interface_declaration
+ name: (type_identifier) @name) @definition.interface
+
+(type_annotation
+ (type_identifier) @name) @reference.type
+
+(new_expression
+ constructor: (identifier) @name) @reference.class
diff --git a/helix-22.03-x86_64-windows/runtime/queries/vue/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/vue/highlights.scm
new file mode 100644
index 0000000..f90ae42
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/vue/highlights.scm
@@ -0,0 +1,21 @@
+(tag_name) @tag
+(end_tag) @tag
+
+(directive_name) @keyword
+(directive_argument) @constant
+
+(attribute
+ (attribute_name) @attribute
+ (quoted_attribute_value
+ (attribute_value) @string)
+)
+
+(comment) @comment
+
+[
+ "<"
+ ">"
+ "</"
+ "{{"
+ "}}"
+] @punctuation.bracket \ No newline at end of file
diff --git a/helix-22.03-x86_64-windows/runtime/queries/vue/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/vue/injections.scm
new file mode 100644
index 0000000..73df868
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/vue/injections.scm
@@ -0,0 +1,20 @@
+(directive_attribute
+ (directive_name) @keyword
+ (quoted_attribute_value
+ (attribute_value) @injection.content)
+ (#set! injection.language "javascript"))
+
+((interpolation
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript"))
+
+((script_element
+ (raw_text) @injection.content)
+ (#set! injection.language "javascript"))
+
+((style_element
+ (raw_text) @injection.content)
+ (#set! injection.language "css"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/wgsl/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/wgsl/highlights.scm
new file mode 100644
index 0000000..7fbc87d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/wgsl/highlights.scm
@@ -0,0 +1,102 @@
+(const_literal) @constant.numeric
+
+(type_declaration) @type
+
+(function_declaration
+ (identifier) @function)
+
+(struct_declaration
+ (identifier) @type)
+
+(type_constructor_or_function_call_expression
+ (type_declaration) @function)
+
+(parameter
+ (variable_identifier_declaration (identifier) @variable.parameter))
+
+[
+ "struct"
+ "bitcast"
+ ; "block"
+ "discard"
+ "enable"
+ "fallthrough"
+ "fn"
+ "let"
+ "private"
+ "read"
+ "read_write"
+ "return"
+ "storage"
+ "type"
+ "uniform"
+ "var"
+ "workgroup"
+ "write"
+ (texel_format)
+] @keyword ; TODO reserved keywords
+
+[
+ (true)
+ (false)
+] @constant.builtin.boolean
+
+[ "," "." ":" ";" ] @punctuation.delimiter
+
+;; brackets
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[
+ "loop"
+ "for"
+ "break"
+ "continue"
+ "continuing"
+] @keyword.control.repeat
+
+[
+ "if"
+ "else"
+ "elseif"
+ "switch"
+ "case"
+ "default"
+] @keyword.control.conditional
+
+[
+ "&"
+ "&&"
+ "/"
+ "!"
+ "="
+ "=="
+ "!="
+ ">"
+ ">="
+ ">>"
+ "<"
+ "<="
+ "<<"
+ "%"
+ "-"
+ "+"
+ "|"
+ "||"
+ "*"
+ "~"
+ "^"
+] @operator
+
+(attribute
+ (identifier) @variable.other.member)
+
+(comment) @comment
+
+(ERROR) @error
diff --git a/helix-22.03-x86_64-windows/runtime/queries/wgsl/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/wgsl/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/wgsl/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/yaml/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/yaml/highlights.scm
new file mode 100644
index 0000000..e4fed27
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/yaml/highlights.scm
@@ -0,0 +1,43 @@
+(block_mapping_pair
+ key: (flow_node [(double_quote_scalar) (single_quote_scalar)] @variable.other.member))
+(block_mapping_pair
+ key: (flow_node (plain_scalar (string_scalar) @variable.other.member)))
+
+(flow_mapping
+ (_ key: (flow_node [(double_quote_scalar) (single_quote_scalar)] @variable.other.member)))
+(flow_mapping
+ (_ key: (flow_node (plain_scalar (string_scalar) @variable.other.member))))
+
+(boolean_scalar) @constant.builtin.boolean
+(null_scalar) @constant.builtin
+(double_quote_scalar) @string
+(single_quote_scalar) @string
+(block_scalar) @string
+(string_scalar) @string
+(escape_sequence) @constant.character.escape
+(integer_scalar) @constant.numeric.integer
+(float_scalar) @constant.numeric.float
+(comment) @comment
+(anchor_name) @type
+(alias_name) @type
+(tag) @type
+(yaml_directive) @keyword
+(ERROR) @error
+
+[
+","
+"-"
+":"
+">"
+"?"
+"|"
+] @punctuation.delimiter
+
+[
+"["
+"]"
+"{"
+"}"
+] @punctuation.bracket
+
+["*" "&" "---" "..."] @punctuation.special
diff --git a/helix-22.03-x86_64-windows/runtime/queries/yaml/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/yaml/indents.toml
new file mode 100644
index 0000000..ddc3578
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/yaml/indents.toml
@@ -0,0 +1,3 @@
+indent = [
+ "block_mapping_pair",
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/yaml/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/yaml/injections.scm
new file mode 100644
index 0000000..321c90a
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/yaml/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/queries/zig/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/zig/highlights.scm
new file mode 100644
index 0000000..62c99ac
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/zig/highlights.scm
@@ -0,0 +1,234 @@
+[
+ (container_doc_comment)
+ (doc_comment)
+ (line_comment)
+] @comment
+
+[
+ variable: (IDENTIFIER)
+ variable_type_function: (IDENTIFIER)
+] @variable
+
+parameter: (IDENTIFIER) @variable.parameter
+
+[
+ field_member: (IDENTIFIER)
+ field_access: (IDENTIFIER)
+] @variable.other.member
+
+;; assume TitleCase is a type
+(
+ [
+ variable_type_function: (IDENTIFIER)
+ field_access: (IDENTIFIER)
+ parameter: (IDENTIFIER)
+ ] @type
+ (#match? @type "^[A-Z]([a-z]+[A-Za-z0-9]*)*$")
+)
+;; assume camelCase is a function
+(
+ [
+ variable_type_function: (IDENTIFIER)
+ field_access: (IDENTIFIER)
+ parameter: (IDENTIFIER)
+ ] @function
+ (#match? @function "^[a-z]+([A-Z][a-z0-9]*)+$")
+)
+
+;; assume all CAPS_1 is a constant
+(
+ [
+ variable_type_function: (IDENTIFIER)
+ field_access: (IDENTIFIER)
+ ] @constant
+ (#match? @constant "^[A-Z][A-Z_0-9]+$")
+)
+
+[
+ function_call: (IDENTIFIER)
+ function: (IDENTIFIER)
+] @function
+
+exception: "!" @function.macro
+
+(
+ (IDENTIFIER) @variable.builtin
+ (#eq? @variable.builtin "_")
+)
+
+(PtrTypeStart "c" @variable.builtin)
+
+(
+ (ContainerDeclType
+ [
+ (ErrorUnionExpr)
+ "enum"
+ ]
+ )
+ (ContainerField (IDENTIFIER) @constant)
+)
+
+field_constant: (IDENTIFIER) @constant
+
+(BUILTINIDENTIFIER) @function.builtin
+
+((BUILTINIDENTIFIER) @keyword.control.import
+ (#any-of? @keyword.control.import "@import" "@cImport"))
+
+(INTEGER) @constant.numeric.integer
+
+(FLOAT) @constant.numeric.float
+
+[
+ (LINESTRING)
+ (STRINGLITERALSINGLE)
+] @string
+
+(CHAR_LITERAL) @constant.character
+(EscapeSequence) @constant.character.escape
+(FormatSequence) @string.special
+
+[
+ "allowzero"
+ "volatile"
+ "anytype"
+ "anyframe"
+ (BuildinTypeExpr)
+] @type.builtin
+
+(BreakLabel (IDENTIFIER) @label)
+(BlockLabel (IDENTIFIER) @label)
+
+[
+ "true"
+ "false"
+] @constant.builtin.boolean
+
+[
+ "undefined"
+ "unreachable"
+ "null"
+] @constant.builtin
+
+[
+ "else"
+ "if"
+ "switch"
+] @keyword.control.conditional
+
+[
+ "for"
+ "while"
+] @keyword.control.repeat
+
+[
+ "or"
+ "and"
+ "orelse"
+] @operator
+
+[
+ "struct"
+ "enum"
+ "union"
+ "error"
+ "packed"
+ "opaque"
+] @keyword
+
+[
+ "try"
+ "error"
+ "catch"
+] @function.macro
+
+; VarDecl
+[
+ "threadlocal"
+ "fn"
+] @keyword.function
+
+[
+ "const"
+ "var"
+ "test"
+ "pub"
+ "usingnamespace"
+] @keyword
+
+[
+ "return"
+ "break"
+ "continue"
+] @keyword.control
+
+; Macro
+[
+ "defer"
+ "errdefer"
+ "async"
+ "nosuspend"
+ "await"
+ "suspend"
+ "resume"
+ "export"
+ "extern"
+] @function.macro
+
+; PrecProc
+[
+ "comptime"
+ "inline"
+ "noinline"
+ "asm"
+ "callconv"
+ "noalias"
+] @keyword.directive
+
+[
+ "linksection"
+ "align"
+] @function.builtin
+
+[
+ (CompareOp)
+ (BitwiseOp)
+ (BitShiftOp)
+ (AdditionOp)
+ (AssignOp)
+ (MultiplyOp)
+ (PrefixOp)
+ "*"
+ "**"
+ "->"
+ ".?"
+ ".*"
+ "?"
+] @operator
+
+[
+ ";"
+ "."
+ ","
+ ":"
+] @punctuation.delimiter
+
+[
+ ".."
+ "..."
+] @punctuation.special
+
+[
+ "["
+ "]"
+ "("
+ ")"
+ "{"
+ "}"
+ (Payload "|")
+ (PtrPayload "|")
+ (PtrIndexPayload "|")
+] @punctuation.bracket
+
+; Error
+(ERROR) @keyword
diff --git a/helix-22.03-x86_64-windows/runtime/queries/zig/indents.toml b/helix-22.03-x86_64-windows/runtime/queries/zig/indents.toml
new file mode 100644
index 0000000..36ba8e5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/zig/indents.toml
@@ -0,0 +1,16 @@
+indent = [
+ "Block",
+ "BlockExpr",
+ "ContainerDecl",
+ "SwitchExpr",
+ "AssignExpr",
+ "ErrorUnionExpr",
+ "Statement",
+ "InitList"
+]
+
+outdent = [
+ "}",
+ "]",
+ ")"
+]
diff --git a/helix-22.03-x86_64-windows/runtime/queries/zig/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/zig/injections.scm
new file mode 100644
index 0000000..3df9589
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/queries/zig/injections.scm
@@ -0,0 +1,2 @@
+([(line_comment) (doc_comment)] @injection.content
+ (#set! injection.language "comment"))
diff --git a/helix-22.03-x86_64-windows/runtime/themes/README.md b/helix-22.03-x86_64-windows/runtime/themes/README.md
new file mode 100644
index 0000000..1c9c5ae
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/README.md
@@ -0,0 +1,9 @@
+# User submitted themes
+
+If you submit a theme, please include a comment at the top with your name and email address:
+
+```toml
+# Author : Name <email@my.domain>
+```
+
+We have a preview page for themes on our [wiki](https://github.com/helix-editor/helix/wiki/Themes)!
diff --git a/helix-22.03-x86_64-windows/runtime/themes/base16_default_dark.toml b/helix-22.03-x86_64-windows/runtime/themes/base16_default_dark.toml
new file mode 100644
index 0000000..c8dd1b0
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/base16_default_dark.toml
@@ -0,0 +1,73 @@
+# Author: RayGervais <raygervais@hotmail.ca>
+
+"ui.background" = { bg = "base00" }
+"ui.menu" = { fg = "base05", bg = "base01" }
+"ui.menu.selected" = { fg = "base01", bg = "base04" }
+"ui.linenr" = { fg = "base03", bg = "base01" }
+"ui.popup" = { bg = "base01" }
+"ui.window" = { bg = "base01" }
+"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] }
+"ui.selection" = { bg = "base02" }
+"comment" = { fg = "base03", modifiers = ["italic"] }
+"ui.statusline" = { fg = "base04", bg = "base01" }
+"ui.help" = { fg = "base04", bg = "base01" }
+"ui.cursor" = { fg = "base04", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] }
+"ui.text" = "base05"
+"operator" = "base05"
+"ui.text.focus" = "base05"
+"variable" = "base08"
+"constant.numeric" = "base09"
+"constant" = "base09"
+"attributes" = "base09"
+"type" = "base0A"
+"ui.cursor.match" = { fg = "base0A", modifiers = ["underlined"] }
+"string" = "base0B"
+"variable.other.member" = "base0B"
+"constant.character.escape" = "base0C"
+"function" = "base0D"
+"constructor" = "base0D"
+"special" = "base0D"
+"keyword" = "base0E"
+"label" = "base0E"
+"namespace" = "base0E"
+"ui.help" = { fg = "base06", bg = "base01" }
+
+"markup.heading" = "base0D"
+"markup.list" = "base08"
+"markup.bold" = { fg = "base0A", modifiers = ["bold"] }
+"markup.italic" = { fg = "base0E", modifiers = ["italic"] }
+"markup.link.url" = { fg = "base09", modifiers = ["underlined"] }
+"markup.link.text" = "base08"
+"markup.quote" = "base0C"
+"markup.raw" = "base0B"
+
+"diff.plus" = "base0B"
+"diff.delta" = "base09"
+"diff.minus" = "base08"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"ui.gutter" = { bg = "base01" }
+"info" = "base0D"
+"hint" = "base03"
+"debug" = "base03"
+"warning" = "base09"
+"error" = "base08"
+
+[palette]
+base00 = "#181818" # Default Background
+base01 = "#282828" # Lighter Background (Used for status bars, line number and folding marks)
+base02 = "#383838" # Selection Background
+base03 = "#585858" # Comments, Invisibles, Line Highlighting
+base04 = "#b8b8b8" # Dark Foreground (Used for status bars)
+base05 = "#d8d8d8" # Default Foreground, Caret, Delimiters, Operators
+base06 = "#e8e8e8" # Light Foreground (Not often used)
+base07 = "#f8f8f8" # Light Background (Not often used)
+base08 = "#ab4642" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+base09 = "#dc9656" # Integers, Boolean, Constants, XML Attributes, Markup Link Url
+base0A = "#f7ca88" # Classes, Markup Bold, Search Text Background
+base0B = "#a1b56c" # Strings, Inherited Class, Markup Code, Diff Inserted
+base0C = "#86c1b9" # Support, Regular Expressions, Escape Characters, Markup Quotes
+base0D = "#7cafc2" # Functions, Methods, Attribute IDs, Headings
+base0E = "#ba8baf" # Keywords, Storage, Selector, Markup Italic, Diff Changed
+base0F = "#a16946" # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
diff --git a/helix-22.03-x86_64-windows/runtime/themes/base16_default_light.toml b/helix-22.03-x86_64-windows/runtime/themes/base16_default_light.toml
new file mode 100644
index 0000000..50be51b
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/base16_default_light.toml
@@ -0,0 +1,73 @@
+# Author: NNB <nnbnh@protonmail.com>
+
+"ui.background" = { bg = "base00" }
+"ui.menu" = { fg = "base05", bg = "base01" }
+"ui.menu.selected" = { fg = "base01", bg = "base04" }
+"ui.linenr" = { fg = "base03", bg = "base01" }
+"ui.popup" = { bg = "base01" }
+"ui.window" = { bg = "base01" }
+"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] }
+"ui.selection" = { bg = "base02" }
+"comment" = { fg = "base03", modifiers = ["italic"] }
+"ui.statusline" = { fg = "base04", bg = "base01" }
+"ui.help" = { fg = "base04", bg = "base01" }
+"ui.cursor" = { fg = "base04", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] }
+"ui.text" = "base05"
+"operator" = "base05"
+"ui.text.focus" = "base05"
+"variable" = "base08"
+"constant.numeric" = "base09"
+"constant" = "base09"
+"attributes" = "base09"
+"type" = "base0A"
+"ui.cursor.match" = { fg = "base0A", modifiers = ["underlined"] }
+"string" = "base0B"
+"variable.other.member" = "base0B"
+"constant.character.escape" = "base0C"
+"function" = "base0D"
+"constructor" = "base0D"
+"special" = "base0D"
+"keyword" = "base0E"
+"label" = "base0E"
+"namespace" = "base0E"
+"ui.help" = { fg = "base06", bg = "base01" }
+
+"markup.heading" = "base0D"
+"markup.list" = "base08"
+"markup.bold" = { fg = "base0A", modifiers = ["bold"] }
+"markup.italic" = { fg = "base0E", modifiers = ["italic"] }
+"markup.link.url" = { fg = "base09", modifiers = ["underlined"] }
+"markup.link.text" = "base08"
+"markup.quote" = "base0C"
+"markup.raw" = "base0B"
+
+"diff.plus" = "base0B"
+"diff.delta" = "base09"
+"diff.minus" = "base08"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"ui.gutter" = { bg = "base01" }
+"info" = "base0D"
+"hint" = "base03"
+"debug" = "base03"
+"warning" = "base09"
+"error" = "base08"
+
+[palette]
+base00 = "#f8f8f8" # Default Background
+base01 = "#e8e8e8" # Lighter Background (Used for status bars, line number and folding marks)
+base02 = "#d8d8d8" # Selection Background
+base03 = "#b8b8b8" # Comments, Invisibles, Line Highlighting
+base04 = "#585858" # Dark Foreground (Used for status bars)
+base05 = "#383838" # Default Foreground, Caret, Delimiters, Operators
+base06 = "#282828" # Light Foreground (Not often used)
+base07 = "#181818" # Light Background (Not often used)
+base08 = "#ab4642" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+base09 = "#dc9656" # Integers, Boolean, Constants, XML Attributes, Markup Link Url
+base0A = "#f7ca88" # Classes, Markup Bold, Search Text Background
+base0B = "#a1b56c" # Strings, Inherited Class, Markup Code, Diff Inserted
+base0C = "#86c1b9" # Support, Regular Expressions, Escape Characters, Markup Quotes
+base0D = "#7cafc2" # Functions, Methods, Attribute IDs, Headings
+base0E = "#ba8baf" # Keywords, Storage, Selector, Markup Italic, Diff Changed
+base0F = "#a16946" # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
diff --git a/helix-22.03-x86_64-windows/runtime/themes/base16_terminal.toml b/helix-22.03-x86_64-windows/runtime/themes/base16_terminal.toml
new file mode 100644
index 0000000..a6ca71d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/base16_terminal.toml
@@ -0,0 +1,51 @@
+# Author: NNB <nnbnh@protonmail.com>
+
+"ui.menu" = { fg = "light-gray", bg = "gray" }
+"ui.menu.selected" = { modifiers = ["reversed"] }
+"ui.linenr" = { fg = "light-gray", bg = "black" }
+"ui.popup" = { bg = "black" }
+"ui.window" = { bg = "black" }
+"ui.linenr.selected" = { fg = "white", bg = "black", modifiers = ["bold"] }
+"ui.selection" = { fg = "gray", modifiers = ["reversed"] }
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"ui.statusline" = { fg = "white", bg = "black" }
+"ui.statusline.inactive" = { fg = "gray", bg = "black" }
+"ui.help" = { fg = "white", bg = "black" }
+"ui.cursor" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "light-white", modifiers = ["reversed"] }
+"variable" = "light-red"
+"constant.numeric" = "yellow"
+"constant" = "yellow"
+"attributes" = "yellow"
+"type" = "light-yellow"
+"ui.cursor.match" = { fg = "light-yellow", modifiers = ["underlined"] }
+"string" = "light-green"
+"variable.other.member" = "light-green"
+"constant.character.escape" = "light-cyan"
+"function" = "light-blue"
+"constructor" = "light-blue"
+"special" = "light-blue"
+"keyword" = "light-magenta"
+"label" = "light-magenta"
+"namespace" = "light-magenta"
+
+"markup.heading" = "light-blue"
+"markup.list" = "light-red"
+"markup.bold" = { fg = "light-yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "light-magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "light-red"
+"markup.quote" = "light-cyan"
+"markup.raw" = "light-green"
+
+"diff.plus" = "light-green"
+"diff.delta" = "yellow"
+"diff.minus" = "light-red"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"ui.gutter" = { bg = "black" }
+"info" = "light-blue"
+"hint" = "gray"
+"debug" = "gray"
+"warning" = "yellow"
+"error" = "light-red"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/bogster.toml b/helix-22.03-x86_64-windows/runtime/themes/bogster.toml
new file mode 100644
index 0000000..e2b4277
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/bogster.toml
@@ -0,0 +1,69 @@
+# Author : Wojciech Kępka <wojciech@wkepka.dev>
+
+"attribute" = "#dc7759"
+"keyword" = { fg = "#dcb659", modifiers = ["bold"] }
+"keyword.directive" = "#dcb659"
+"namespace" = "#d32c5d"
+"punctuation" = "#dc7759"
+"punctuation.delimiter" = "#dc7759"
+"operator" = { fg = "#dc7759", modifiers = ["bold"] }
+"special" = "#7fdc59"
+"variable.other.member" = "#c6b8ad"
+"variable" = "#c6b8ad"
+"variable.parameter" = "#c6b8ad"
+"type" = "#dc597f"
+"type.builtin" = { fg = "#d32c5d", modifiers = ["bold"] }
+"constructor" = "#dc597f"
+"function" = "#59dcd8"
+"function.macro" = { fg = "#dc7759", modifiers = ["bold"] }
+"function.builtin" = { fg = "#59dcd8", modifiers = ["bold"] }
+"comment" = "#627d9d"
+"variable.builtin" = "#c6b8ad"
+"constant" = "#59dcb7"
+"constant.builtin" = "#59dcb7"
+"string" = "#59dcb7"
+"constant.numeric" = "#59c0dc"
+"constant.character.escape" = { fg = "#7fdc59", modifiers = ["bold"] }
+"label" = "#59c0dc"
+
+"module" = "#d32c5d"
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = "#59dcb7"
+"diff.delta" = "#dc7759"
+"diff.minus" = "#dc597f"
+
+"ui.background" = { bg = "#161c23" }
+"ui.linenr" = { fg = "#415367" }
+"ui.linenr.selected" = { fg = "#e5ded6" } # TODO
+"ui.statusline" = { fg = "#e5ded6", bg = "#232d38" }
+"ui.statusline.inactive" = { fg = "#c6b8ad", bg = "#232d38" }
+"ui.popup" = { bg = "#232d38" }
+"ui.window" = { bg = "#232d38" }
+"ui.help" = { bg = "#232d38", fg = "#e5ded6" }
+
+"ui.text" = { fg = "#e5ded6" }
+"ui.text.focus" = { fg = "#e5ded6", modifiers= ["bold"] }
+
+"ui.selection" = { bg = "#313f4e" }
+# "ui.cursor.match" # TODO might want to override this because dimmed is not widely supported
+"ui.cursor.match" = { fg = "#313f4e", bg = "#dc7759" }
+"ui.cursor" = { fg = "#ABB2BF", modifiers = ["reversed"] }
+"ui.menu.selected" = { fg = "#e5ded6", bg = "#313f4e" }
+
+"warning" = "#dc7759"
+"error" = "#dc597f"
+"info" = "#59dcb7"
+"hint" = "#59c0dc"
+
+# make diagnostic underlined, to distinguish with selection text.
+diagnostic = { modifiers = ["underlined"] }
diff --git a/helix-22.03-x86_64-windows/runtime/themes/dark_plus.toml b/helix-22.03-x86_64-windows/runtime/themes/dark_plus.toml
new file mode 100644
index 0000000..ab7c16e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/dark_plus.toml
@@ -0,0 +1,114 @@
+# Author: Shafkath Shuhan <shafkathshuhannyc@gmail.com>
+
+"namespace" = { fg = "type" }
+"module" = { fg = "type" }
+
+"type" = { fg = "type" }
+"type.builtin" = { fg = "type" }
+"type.enum.variant" = { fg = "constant" }
+"constructor" = { fg = "constant" }
+"variable.other.member" = { fg = "variable" }
+
+"keyword" = { fg = "keyword" }
+"keyword.directive" = { fg = "keyword" }
+"keyword.control" = { fg = "special" }
+"label" = { fg = "keyword" }
+
+"special" = { fg = "text" }
+"operator" = { fg = "text" }
+
+"punctuation" = { fg = "text" }
+"punctuation.delimiter" = { fg = "text" }
+
+"variable" = { fg = "variable" }
+"variable.parameter" = { fg = "variable" }
+"variable.builtin" = { fg = "keyword" }
+"constant" = { fg = "constant" }
+"constant.builtin" = { fg = "keyword" }
+
+"function" = { fg = "fn_declaration" }
+"function.builtin" = { fg = "fn_declaration" }
+"function.macro" = { fg = "keyword" }
+"attribute" = { fg = "fn_declaration" }
+
+"comment" = { fg = "dark_green" }
+
+"string" = { fg = "orange" }
+"constant.character" = { fg = "orange" }
+"string.regexp" = { fg = "gold" }
+"constant.numeric" = { fg = "pale_green" }
+"constant.character.escape" = { fg = "gold" }
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = { fg = "pale_green" }
+"diff.delta" = { fg = "gold" }
+"diff.minus" = { fg = "red" }
+
+"ui.background" = { fg = "light_gray", bg = "dark_gray2" }
+
+"ui.window" = { bg = "widget" }
+"ui.popup" = { bg = "widget" }
+"ui.help" = { bg = "widget" }
+"ui.menu.selected" = { bg = "widget" }
+
+# TODO: Alternate bg colour for `ui.cursor.match` and `ui.selection`.
+"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "#3a3d41", modifiers = ["underlined"] }
+
+"ui.selection" = { bg = "#3a3d41" }
+"ui.selection.primary" = { bg = "dark_blue" }
+
+"ui.linenr" = { fg = "dark_gray" }
+"ui.linenr.selected" = { fg = "light_gray2" }
+
+"ui.statusline" = { fg = "white", bg = "blue" }
+"ui.statusline.inactive" = { fg = "white", bg = "blue" }
+
+"ui.text" = { fg = "text", bg = "background" }
+"ui.text.focus" = { fg = "white" }
+
+"warning" = { fg = "gold2" }
+"error" = { fg = "red" }
+"info" = { fg = "light_blue" }
+"hint" = { fg = "light_gray3" }
+
+diagnostic = { modifiers = ["underlined"] }
+
+[palette]
+white = "#ffffff"
+orange = "#ce9178"
+gold = "#d7ba7d"
+gold2 = "#cca700"
+pale_green = "#b5cea8"
+dark_green = "#6A9955"
+light_gray = "#d4d4d4"
+light_gray2 = "#c6c6c6"
+light_gray3 = "#eeeeee"
+dark_gray = "#858585"
+dark_gray2 = "#1e1e1e"
+blue = "#007acc"
+light_blue = "#75beff"
+dark_blue = "#264f78"
+red = "#ff1212"
+
+type = "#4EC9B0"
+keyword = "#569CD6"
+special = "#C586C0"
+variable = "#9CDCFE"
+fn_declaration = "#DCDCAA"
+constant = "#4FC1FF"
+
+background = "#1e1e1e"
+text = "#d4d4d4"
+cursor = "#a6a6a6"
+widget = "#252526"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/dracula.toml b/helix-22.03-x86_64-windows/runtime/themes/dracula.toml
new file mode 100644
index 0000000..1db25d8
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/dracula.toml
@@ -0,0 +1,63 @@
+# Author : Sebastian Zivota <loewenheim@mailbox.org>
+"comment" = { fg = "comment" }
+"constant" = { fg = "purple" }
+"constant.character.escape" = { fg = "pink" }
+"function" = { fg = "green" }
+"keyword" = { fg = "pink" }
+"operator" = { fg = "pink" }
+"punctuation" = { fg = "foreground" }
+"string" = { fg = "yellow" }
+"string.regexp" = { fg = "red" }
+"tag" = { fg = "pink" }
+"type" = { fg = "cyan", modifiers = ["italic"] }
+"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] }
+"variable" = { fg = "foreground" }
+"variable.builtin" = { fg = "cyan", modifiers = ["italic"] }
+"variable.parameter" = { fg ="orange", modifiers = ["italic"] }
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.cursor" = { fg = "background", bg = "orange", modifiers = ["dim"] }
+"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] }
+"ui.cursor.primary" = { fg = "background", bg = "cyan", modifier = ["dim"] }
+"ui.help" = { fg = "foreground", bg = "background_dark" }
+"ui.linenr" = { fg = "comment" }
+"ui.linenr.selected" = { fg = "foreground" }
+"ui.menu" = { fg = "foreground", bg = "background_dark" }
+"ui.menu.selected" = { fg = "cyan", bg = "background_dark" }
+"ui.popup" = { fg = "foreground", bg = "background_dark" }
+"ui.selection" = { fg = "background", bg = "purple", modifiers = ["dim"] }
+"ui.selection.primary" = { fg = "background", bg = "pink" }
+"ui.statusline" = { fg = "foreground", bg = "background_dark" }
+"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" }
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "cyan" }
+"ui.window" = { fg = "foreground" }
+
+"error" = { fg = "red" }
+"warning" = { fg = "cyan" }
+
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "cyan"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "pink"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+
+[palette]
+background = "#282a36"
+background_dark = "#21222c"
+foreground = "#f8f8f2"
+comment = "#6272a4"
+red = "#ff5555"
+orange = "#ffb86c"
+yellow = "#f1fa8c"
+green = "#50fa7b"
+purple = "#bd93f9"
+cyan = "#8be9fd"
+pink = "#ff79c6"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/everforest_dark.toml b/helix-22.03-x86_64-windows/runtime/themes/everforest_dark.toml
new file mode 100644
index 0000000..8b8e9bb
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/everforest_dark.toml
@@ -0,0 +1,105 @@
+# Everforest (Dark Hard)
+# Author: CptPotato
+
+# Original Author:
+# URL: https://github.com/sainnhe/everforest
+# Filename: autoload/everforest.vim
+# Author: sainnhe
+# Email: sainnhe@gmail.com
+# License: MIT License
+
+"constant.character.escape" = "orange"
+"type" = "yellow"
+"constant" = "purple"
+"constant.numeric" = "purple"
+"string" = "green"
+"comment" = "grey0"
+"variable" = "fg"
+"variable.builtin" = "blue"
+"variable.parameter" = "fg"
+"variable.other.member" = "fg"
+"label" = "aqua"
+"punctuation" = "grey2"
+"punctuation.delimiter" = "grey2"
+"punctuation.bracket" = "fg"
+"keyword" = "red"
+"operator" = "orange"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "aqua"
+"attribute" = "aqua"
+"constructor" = "yellow"
+"module" = "blue"
+"special" = "orange"
+
+"markup.heading.marker" = "grey2"
+"markup.heading.1" = { fg = "red", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "orange", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "yellow", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "green", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "blue", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "fg", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = "purple"
+"markup.quote" = "grey2"
+"markup.raw" = "green"
+
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+"ui.background" = { bg = "bg0" }
+"ui.cursor" = { fg = "bg0", bg = "fg" }
+"ui.cursor.match" = { fg = "orange", bg = "bg_yellow" }
+"ui.cursor.insert" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.select" = { fg = "bg0", bg = "blue" }
+"ui.linenr" = "grey0"
+"ui.linenr.selected" = "fg"
+"ui.statusline" = { fg = "grey2", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "grey0", bg = "bg1" }
+"ui.popup" = { fg = "grey2", bg = "bg1" }
+"ui.window" = { fg = "grey2", bg = "bg1" }
+"ui.help" = { fg = "fg", bg = "bg1" }
+"ui.text" = "fg"
+"ui.text.focus" = "fg"
+"ui.menu" = { fg = "fg", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg0", bg = "green" }
+"ui.selection" = { bg = "bg3" }
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "red"
+"diagnostic" = { modifiers = ["underlined"] }
+
+
+[palette]
+
+bg0 = "#2b3339"
+bg1 = "#323c41"
+bg2 = "#3a454a"
+bg3 = "#445055"
+bg4 = "#4c555b"
+bg5 = "#53605c"
+bg_visual = "#503946"
+bg_red = "#4e3e43"
+bg_green = "#404d44"
+bg_blue = "#394f5a"
+bg_yellow = "#4a4940"
+
+fg = "#d3c6aa"
+red = "#e67e80"
+orange = "#e69875"
+yellow = "#dbbc7f"
+green = "#a7c080"
+aqua = "#83c092"
+blue = "#7fbbb3"
+purple = "#d699b6"
+grey0 = "#7a8478"
+grey1 = "#859289"
+grey2 = "#9da9a0"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/everforest_light.toml b/helix-22.03-x86_64-windows/runtime/themes/everforest_light.toml
new file mode 100644
index 0000000..d977bdf
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/everforest_light.toml
@@ -0,0 +1,105 @@
+# Everforest (Dark Hard)
+# Author: CptPotato
+
+# Original Author:
+# URL: https://github.com/sainnhe/everforest
+# Filename: autoload/everforest.vim
+# Author: sainnhe
+# Email: sainnhe@gmail.com
+# License: MIT License
+
+"constant.character.escape" = "orange"
+"type" = "yellow"
+"constant" = "purple"
+"constant.numeric" = "purple"
+"string" = "green"
+"comment" = "grey0"
+"variable" = "fg"
+"variable.builtin" = "blue"
+"variable.parameter" = "fg"
+"variable.other.member" = "fg"
+"label" = "aqua"
+"punctuation" = "grey2"
+"punctuation.delimiter" = "grey2"
+"punctuation.bracket" = "fg"
+"keyword" = "red"
+"operator" = "orange"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "aqua"
+"attribute" = "aqua"
+"constructor" = "yellow"
+"module" = "blue"
+"special" = "orange"
+
+"markup.heading.marker" = "grey2"
+"markup.heading.1" = { fg = "red", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "orange", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "yellow", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "green", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "blue", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "fg", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = "purple"
+"markup.quote" = "grey2"
+"markup.raw" = "green"
+
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+"ui.background" = { bg = "bg0" }
+"ui.cursor" = { fg = "bg0", bg = "fg" }
+"ui.cursor.match" = { fg = "orange", bg = "bg_yellow" }
+"ui.cursor.insert" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.select" = { fg = "bg0", bg = "blue" }
+"ui.linenr" = "grey0"
+"ui.linenr.selected" = "fg"
+"ui.statusline" = { fg = "grey2", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "grey0", bg = "bg1" }
+"ui.popup" = { fg = "grey2", bg = "bg1" }
+"ui.window" = { fg = "grey2", bg = "bg1" }
+"ui.help" = { fg = "fg", bg = "bg1" }
+"ui.text" = "fg"
+"ui.text.focus" = "fg"
+"ui.menu" = { fg = "fg", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg0", bg = "green" }
+"ui.selection" = { bg = "bg3" }
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "red"
+"diagnostic" = { modifiers = ["underlined"] }
+
+
+[palette]
+
+bg0 = "#fff9e8"
+bg1 = "#f7f4e0"
+bg2 = "#f0eed9"
+bg3 = "#e9e8d2"
+bg4 = "#e1ddcb"
+bg5 = "#bec5b2"
+bg_visual = "#edf0cd"
+bg_red = "#fce5dc"
+bg_green = "#f1f3d4"
+bg_blue = "#eaf2eb"
+bg_yellow = "#fbefd0"
+
+fg = "#5c6a72"
+red = "#f85552"
+orange = "#f57d26"
+yellow = "#dfa000"
+green = "#8da101"
+aqua = "#35a77c"
+blue = "#3a94c5"
+purple = "#df69ba"
+grey0 = "#a6b0a0"
+grey1 = "#939f91"
+grey2 = "#829181"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/gruvbox.toml b/helix-22.03-x86_64-windows/runtime/themes/gruvbox.toml
new file mode 100644
index 0000000..f27b993
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/gruvbox.toml
@@ -0,0 +1,95 @@
+# Author : Jakub Bartodziej <kubabartodziej@gmail.com>
+# The theme uses the gruvbox dark palette with standard contrast: github.com/morhetz/gruvbox
+
+"attribute" = "aqua1"
+"keyword" = { fg = "red1" }
+"keyword.directive" = "red0"
+"namespace" = "aqua1"
+"punctuation" = "orange1"
+"punctuation.delimiter" = "orange1"
+"operator" = "purple1"
+"special" = "purple0"
+"variable.other.member" = "blue1"
+"variable" = "fg1"
+"variable.builtin" = "orange1"
+"variable.parameter" = "fg2"
+"type" = "yellow1"
+"type.builtin" = "yellow1"
+"constructor" = { fg = "purple1", modifiers = ["bold"] }
+"function" = { fg = "green1", modifiers = ["bold"] }
+"function.macro" = "aqua1"
+"function.builtin" = "yellow1"
+"tag" = "red1"
+"comment" = { fg = "gray1", modifiers = ["italic"] }
+"constant" = { fg = "purple1" }
+"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
+"string" = "green1"
+"constant.numeric" = "purple1"
+"constant.character.escape" = { fg = "fg2", modifiers = ["bold"] }
+"label" = "aqua1"
+"module" = "aqua1"
+
+"diff.plus" = "green1"
+"diff.delta" = "orange1"
+"diff.minus" = "red1"
+
+"warning" = { fg = "orange1", bg = "bg1" }
+"error" = { fg = "red1", bg = "bg1" }
+"info" = { fg = "aqua1", bg = "bg1" }
+"hint" = { fg = "blue1", bg = "bg1" }
+
+"ui.background" = { bg = "bg0" }
+"ui.linenr" = { fg = "bg4" }
+"ui.linenr.selected" = { fg = "yellow1" }
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg1" }
+"ui.popup" = { bg = "bg1" }
+"ui.window" = { bg = "bg1" }
+"ui.help" = { bg = "bg1", fg = "fg1" }
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "fg1" }
+"ui.selection" = { bg = "bg3", modifiers = ["reversed"] }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "bg2" }
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg2", bg = "blue1", modifiers = ["bold"] }
+
+"diagnostic" = { modifiers = ["underlined"] }
+
+"markup.heading" = "aqua1"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
+"markup.link.text" = "red1"
+"markup.raw" = "red1"
+
+[palette]
+bg0 = "#282828" # main background
+bg1 = "#3c3836"
+bg2 = "#504945"
+bg3 = "#665c54"
+bg4 = "#7c6f64"
+
+fg0 = "#fbf1c7"
+fg1 = "#ebdbb2" # main foreground
+fg2 = "#d5c4a1"
+fg3 = "#bdae93"
+fg4 = "#a89984" # gray0
+
+gray0 = "#a89984"
+gray1 = "#928374"
+
+red0 = "#cc241d" # neutral
+red1 = "#fb4934" # bright
+green0 = "#98971a"
+green1 = "#b8bb26"
+yellow0 = "#d79921"
+yellow1 = "#fabd2f"
+blue0 = "#458588"
+blue1 = "#83a598"
+purple0 = "#b16286"
+purple1 = "#d3869b"
+aqua0 = "#689d6a"
+aqua1 = "#8ec07c"
+orange0 = "#d65d0e"
+orange1 = "#fe8019"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/gruvbox_light.toml b/helix-22.03-x86_64-windows/runtime/themes/gruvbox_light.toml
new file mode 100644
index 0000000..ab8325c
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/gruvbox_light.toml
@@ -0,0 +1,96 @@
+# Author : Rohan Jain <crodjer@pm.me>
+# Author : Jakub Bartodziej <kubabartodziej@gmail.com>
+# The theme uses the gruvbox light palette with standard contrast: github.com/morhetz/gruvbox
+
+"attribute" = "aqua1"
+"keyword" = { fg = "red1" }
+"keyword.directive" = "red0"
+"namespace" = "aqua1"
+"punctuation" = "orange1"
+"punctuation.delimiter" = "orange1"
+"operator" = "purple1"
+"special" = "purple0"
+"variable.other.member" = "blue1"
+"variable" = "fg1"
+"variable.builtin" = "orange1"
+"variable.parameter" = "fg2"
+"type" = "yellow1"
+"type.builtin" = "yellow1"
+"constructor" = { fg = "purple1", modifiers = ["bold"] }
+"function" = { fg = "green1", modifiers = ["bold"] }
+"function.macro" = "aqua1"
+"function.builtin" = "yellow1"
+"tag" = "red1"
+"comment" = { fg = "gray1", modifiers = ["italic"] }
+"constant" = { fg = "purple1" }
+"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
+"string" = "green1"
+"constant.numeric" = "purple1"
+"constant.character.escape" = { fg = "fg2", modifiers = ["bold"] }
+"label" = "aqua1"
+"module" = "aqua1"
+
+"diff.plus" = "green1"
+"diff.delta" = "orange1"
+"diff.minus" = "red1"
+
+"warning" = { fg = "orange1", bg = "bg1" }
+"error" = { fg = "red1", bg = "bg1" }
+"info" = { fg = "aqua1", bg = "bg1" }
+"hint" = { fg = "blue1", bg = "bg1" }
+
+"ui.background" = { bg = "bg0" }
+"ui.linenr" = { fg = "bg4" }
+"ui.linenr.selected" = { fg = "yellow1" }
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg1" }
+"ui.popup" = { bg = "bg1" }
+"ui.window" = { bg = "bg1" }
+"ui.help" = { bg = "bg1", fg = "fg1" }
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "fg1" }
+"ui.selection" = { bg = "bg3", modifiers = ["reversed"] }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "bg2" }
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg2", bg = "blue1", modifiers = ["bold"] }
+
+"diagnostic" = { modifiers = ["underlined"] }
+
+"markup.heading" = "aqua1"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
+"markup.link.text" = "red1"
+"markup.raw" = "red1"
+
+[palette]
+bg0 = "#fbf1c7" # main background
+bg1 = "#ebdbb2"
+bg2 = "#d5c4a1"
+bg3 = "#bdae93"
+bg4 = "#a89984"
+
+fg0 = "#282828" # main foreground
+fg1 = "#3c3836"
+fg2 = "#504945"
+fg3 = "#665c54"
+fg4 = "#7c6f64" # gray0
+
+gray0 = "#7c6f64"
+gray1 = "#928374"
+
+red0 = "#cc241d" # neutral
+red1 = "#9d0006" # bright
+green0 = "#98971a"
+green1 = "#79740e"
+yellow0 = "#d79921"
+yellow1 = "#b57614"
+blue0 = "#458588"
+blue1 = "#076678"
+purple0 = "#b16286"
+purple1 = "#8f3f71"
+aqua0 = "#689d6a"
+aqua1 = "#427b58"
+orange0 = "#d65d0e"
+orange1 = "#af3a03"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/ingrid.toml b/helix-22.03-x86_64-windows/runtime/themes/ingrid.toml
new file mode 100644
index 0000000..a7c33e2
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/ingrid.toml
@@ -0,0 +1,64 @@
+# Author : Ingrid Rebecca Abraham <git@ingrids.email>
+
+"attribute" = "#839A53"
+"keyword" = { fg = "#D74E50", modifiers = ["bold"] }
+"keyword.directive" = "#6F873E"
+"namespace" = "#839A53"
+"punctuation" = "#C97270"
+"punctuation.delimiter" = "#C97270"
+"operator" = { fg = "#D74E50", modifiers = ["bold"] }
+"special" = "#D68482"
+"variable.other.member" = "#89BEB7"
+"variable" = "#A6B6CE"
+"variable.parameter" = "#89BEB7"
+"type" = { fg = "#A6B6CE", modifiers = ["bold"] }
+"type.builtin" = "#839A53"
+"constructor" = { fg = "#839A53", modifiers = ["bold"] }
+"function" = { fg = "#89BEB7", modifiers = ["bold"] }
+"function.macro" = { fg = "#D4A520", modifiers = ["bold"] }
+"function.builtin" = "#89BEB7"
+"comment" = "#A6B6CE"
+"variable.builtin" = "#D4A520"
+"constant" = "#D4A520"
+"constant.builtin" = "#D4A520"
+"string" = "#D74E50"
+"constant.numeric" = "#D74E50"
+"constant.character.escape" = { fg = "#D74E50", modifiers = ["bold"] }
+"label" = "#D68482"
+
+"module" = "#839A53"
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = "#839A53"
+"diff.delta" = "#D4A520"
+"diff.minus" = "#D74E50"
+
+"ui.background" = { bg = "#FFFCFD" }
+"ui.linenr" = { fg = "#bbbbbb" }
+"ui.linenr.selected" = { fg = "#F3EAE9" } # TODO
+"ui.statusline" = { fg = "#250E07", bg = "#F3EAE9" }
+"ui.statusline.inactive" = { fg = "#7b91b3", bg = "#F3EAE9" }
+"ui.popup" = { bg = "#F3EAE9" }
+"ui.window" = { bg = "#D8B8B3" }
+"ui.help" = { bg = "#D8B8B3", fg = "#250E07" }
+
+"ui.text" = { fg = "#7B91B3" }
+"ui.text.focus" = { fg = "#250E07", modifiers= ["bold"] }
+
+"ui.selection" = { bg = "#540099" }
+# "ui.cursor.match" # TODO might want to override this because dimmed is not widely supported
+"ui.menu.selected" = { fg = "#D74E50", bg = "#F3EAE9" }
+
+"warning" = "#D4A520"
+"error" = "#D74E50"
+"info" = "#839A53"
+"hint" = "#A6B6CE"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/monokai.toml b/helix-22.03-x86_64-windows/runtime/themes/monokai.toml
new file mode 100644
index 0000000..e6ff0a5
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/monokai.toml
@@ -0,0 +1,99 @@
+# Author: Shafkath Shuhan <shafkathshuhannyc@gmail.com>
+
+"namespace" = { fg = "type" }
+"module" = { fg = "type" }
+
+"type" = { fg = "type" }
+"type.builtin" = { fg = "#66D9EF" }
+"type.enum.variant" = { fg = "text" }
+"constructor" = { fg = "text" }
+"variable.other.member" = { fg = "variable" }
+
+"keyword" = { fg = "keyword" }
+"keyword.directive" = { fg = "keyword" }
+"keyword.control" = { fg = "keyword" }
+"label" = { fg = "keyword" }
+
+"special" = { fg = "keyword" }
+"operator" = { fg = "text" }
+
+"punctuation" = { fg = "text" }
+"punctuation.delimiter" = { fg = "text" }
+
+"variable" = { fg = "variable" }
+"variable.parameter" = { fg = "#fd971f" }
+"variable.builtin" = { fg = "keyword" }
+"constant" = { fg = "variable" }
+"constant.builtin" = { fg = "#ae81ff" }
+
+"function" = { fg = "fn_declaration" }
+"function.builtin" = { fg = "fn_declaration" }
+"function.macro" = { fg = "keyword" }
+"attribute" = { fg = "fn_declaration" }
+
+"comment" = { fg = "#88846F" }
+
+"string" = { fg = "#e6db74" }
+"constant.character" = { fg = "#e6db74" }
+"string.regexp" = { fg = "regex" }
+"constant.numeric" = { fg = "#ae81ff" }
+"constant.character.escape" = { fg = "#ae81ff" }
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = { fg = "#a6e22e" }
+"diff.delta" = { fg = "#fd971f" }
+"diff.minus" = { fg = "#f92672" }
+
+"ui.background" = { fg = "text", bg = "background" }
+
+"ui.window" = { bg = "widget" }
+"ui.popup" = { bg = "widget" }
+"ui.help" = { bg = "widget" }
+"ui.menu.selected" = { bg = "widget" }
+
+"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "#888888", modifiers = ["reversed"] }
+
+"ui.selection" = { bg = "#878b91" }
+"ui.selection.primary" = { bg = "#575b61" }
+
+"ui.linenr" = { fg = "#90908a" }
+"ui.linenr.selected" = { fg = "#c2c2bf" }
+
+"ui.statusline" = { fg = "active_text", bg = "#75715e" }
+"ui.statusline.inactive" = { fg = "active_text", bg = "#75715e" }
+
+"ui.text" = { fg = "text", bg = "background" }
+"ui.text.focus" = { fg = "active_text" }
+
+"warning" = { fg = "#cca700" }
+"error" = { fg = "#f48771" }
+"info" = { fg = "#75beff" }
+"hint" = { fg = "#eeeeeb3" }
+
+diagnostic = { modifiers = ["underlined"] }
+
+[palette]
+type = "#A6E22E"
+keyword = "#F92672"
+regex = "#CE9178"
+special = "#C586C0"
+variable = "#F8F8F2"
+fn_declaration = "#A6E22E"
+
+background = "#272822"
+text = "#f8f8f2"
+active_text = "#ffffff"
+cursor = "#a6a6a6"
+inactive_cursor = "#878b91"
+widget = "#1e1f1c"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/monokai_pro.toml b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro.toml
new file mode 100644
index 0000000..8de9994
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro.toml
@@ -0,0 +1,115 @@
+# Author : WindSoilder<WindSoilder@outlook.com>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primiatives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+diagnostic = { modifiers = ["underlined"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#ff6188"
+"orange" = "#fc9867"
+"yellow" = "#ffd866"
+"green" = "#a9dc76"
+"blue" = "#78dce8"
+"purple" = "#ab9df2"
+# base colors, sorted from darkest to lightest
+"base0" = "#19181a"
+"base1" = "#221f22"
+"base2" = "#2d2a2e"
+"base3" = "#403e41"
+"base4" = "#5b595c"
+"base5" = "#727072"
+"base6" = "#939293"
+"base7" = "#c1c0c0"
+"base8" = "#fcfcfa"
+# variants (for when transparency isn't supported)
+"base8x0c" = "#363337" # using base2 as bg
diff --git a/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_machine.toml b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_machine.toml
new file mode 100644
index 0000000..c589004
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_machine.toml
@@ -0,0 +1,115 @@
+# Author : WindSoilder<WindSoilder@outlook.com>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primiatives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+diagnostic = { modifiers = ["underlined"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#ff6d7e"
+"orange" = "#ffb270"
+"yellow" = "#ffed72"
+"green" = "#a2e57b"
+"blue" = "#7cd5f1"
+"purple" = "#baa0f8"
+# base colors
+"base0" = "#161b1e"
+"base1" = "#1d2528"
+"base2" = "#273136"
+"base3" = "#3a4449"
+"base4" = "#545f62"
+"base5" = "#6b7678"
+"base6" = "#798384"
+"base7" = "#b8c4c3"
+"base8" = "#f2fffc"
+# variants
+"base8x0c" = "#303a3e"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_octagon.toml b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_octagon.toml
new file mode 100644
index 0000000..d9badf3
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_octagon.toml
@@ -0,0 +1,115 @@
+# Author : WindSoilder<WindSoilder@outlook.com>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primiatives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+diagnostic = { modifiers = ["underlined"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#ff657a"
+"orange" = "#ff9b5e"
+"yellow" = "#ffd76d"
+"green" = "#bad761"
+"blue" = "#9cd1bb"
+"purple" = "#c39ac9"
+# base colors
+"base0" = "#161821"
+"base1" = "#1e1f2b"
+"base2" = "#282a3a"
+"base3" = "#3a3d4b"
+"base4" = "#535763"
+"base5" = "#696d77"
+"base6" = "#767b81"
+"base7" = "#b2b9bd"
+"base8" = "#eaf2f1"
+# variants
+"base8x0c" = "#303342"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_ristretto.toml b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_ristretto.toml
new file mode 100644
index 0000000..ed7ebea
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_ristretto.toml
@@ -0,0 +1,115 @@
+# Author : WindSoilder<WindSoilder@outlook.com>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primiatives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+diagnostic = { modifiers = ["underlined"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#fd6883"
+"orange" = "#f38d70"
+"yellow" = "#f9cc6c"
+"green" = "#adda78"
+"blue" = "#85dacc"
+"purple" = "#a8a9eb"
+# base colors
+"base0" = "#191515"
+"base1" = "#211c1c"
+"base2" = "#2c2525"
+"base3" = "#403838"
+"base4" = "#5b5353"
+"base5" = "#72696a"
+"base6" = "#8c8384"
+"base7" = "#c3b7b8"
+"base8" = "#fff1f3"
+# variants
+"base8x0c" = "#352e2e"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_spectrum.toml b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_spectrum.toml
new file mode 100644
index 0000000..da06e59
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/monokai_pro_spectrum.toml
@@ -0,0 +1,115 @@
+# Author : WindSoilder<WindSoilder@outlook.com>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primiatives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+diagnostic = { modifiers = ["underlined"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#fc618d"
+"orange" = "#fd9353"
+"yellow" = "#fce566"
+"green" = "#7bd88f"
+"blue" = "#5ad4e6"
+"purple" = "#948ae3"
+# base colors
+"base0" = "#131313"
+"base1" = "#191919"
+"base2" = "#222222"
+"base3" = "#363537"
+"base4" = "#525053"
+"base5" = "#69676c"
+"base6" = "#8b888f"
+"base7" = "#bab6c0"
+"base8" = "#f7f1ff"
+# variants
+"base8x0c" = "#2b2b2b"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/nord.toml b/helix-22.03-x86_64-windows/runtime/themes/nord.toml
new file mode 100644
index 0000000..deb9045
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/nord.toml
@@ -0,0 +1,117 @@
+# Author : RayGervais<raygervais@hotmail.ca>
+
+"ui.linenr.selected" = { fg = "nord4" }
+"ui.text.focus" = { fg = "nord8", modifiers= ["bold"] }
+"ui.menu.selected" = { fg = "nord8", bg = "nord2" }
+
+"info" = "nord8"
+"hint" = "nord8"
+
+# Polar Night
+# nord0 - background color
+"ui.background" = { bg = "nord0" }
+"ui.statusline.inactive" = { fg = "nord8", bg = "nord1" }
+
+
+# nord1 - status bars, panels, modals, autocompletion
+"ui.statusline" = { fg = "nord4", bg = "#4c566a" }
+"ui.popup" = { bg = "#232d38" }
+"ui.window" = { bg = "#232d38" }
+"ui.help" = { bg = "#232d38", fg = "nord4" }
+
+# nord2 - active line, highlighting
+"ui.selection" = { bg = "nord2" }
+"ui.cursor.match" = { bg = "nord2" }
+
+# nord3 - comments, nord3 based lighter color
+# relative: https://github.com/arcticicestudio/nord/issues/94
+"comment" = { fg = "gray", modifiers = ["italic"] }
+"ui.linenr" = { fg = "gray" }
+
+# Snow Storm
+# nord4 - cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "nord4", modifiers = ["reversed"] }
+"attribute" = "nord4"
+"variable" = "nord4"
+"constant" = "nord4"
+"variable.builtin" = "nord4"
+"constant.builtin" = "nord4"
+"namespace" = "nord4"
+
+# nord5 - suble UI text
+
+# nord6 - base text, punctuation
+"ui.text" = { fg = "nord6" }
+"punctuation" = "nord6"
+
+# Frost
+# nord7 - classes, types, primiatives
+"type" = "nord7"
+"type.builtin" = { fg = "nord7"}
+"label" = "nord7"
+
+# nord8 - declaration, methods, routines
+"constructor" = "nord8"
+"function" = "nord8"
+"function.macro" = { fg = "nord8" }
+"function.builtin" = { fg = "nord8" }
+
+# nord9 - operator, tags, units, punctuations
+"punctuation.delimiter" = "nord9"
+"operator" = { fg = "nord9" }
+"variable.other.member" = "nord9"
+
+# nord10 - keywords, special
+"keyword" = { fg = "nord10" }
+"keyword.directive" = "nord10"
+"variable.parameter" = "nord10"
+
+# Aurora
+# nord11 - error
+"error" = "nord11"
+
+# nord12 - annotations, decorators
+"special" = "nord12"
+"module" = "nord12"
+
+# nord13 - warnings, escape characters, regex
+"warning" = "nord13"
+"constant.character.escape" = { fg = "nord13" }
+
+# nord14 - strings
+"string" = "nord14"
+
+# nord15 - integer, floating point
+"constant.numeric" = "nord15"
+
+# TODO markup
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+# vcs
+"diff.plus" = "nord14"
+"diff.delta" = "nord12"
+"diff.minus" = "nord11"
+
+[palette]
+nord0 = "#2e3440"
+nord1 = "#3b4252"
+nord2 = "#434c5e"
+nord4 = "#d8dee9"
+nord6 = "#eceff4"
+nord7 = "#8fbcbb"
+nord8 = "#88c0d0"
+nord9 = "#81a1c1"
+nord10 = "#5e81ac"
+nord11 = "#bf616a"
+nord12 = "#d08770"
+nord13 = "#ebcb8b"
+nord14 = "#a3be8c"
+nord15 = "#b48ead"
+gray = "#616e88"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/onedark.toml b/helix-22.03-x86_64-windows/runtime/themes/onedark.toml
new file mode 100644
index 0000000..acdaf99
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/onedark.toml
@@ -0,0 +1,86 @@
+# Author : Gokul Soumya <gokulps15@gmail.com>
+
+"attribute" = { fg = "yellow" }
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"constant" = { fg = "cyan" }
+"constant.numeric" = { fg = "gold" }
+"constant.builtin" = { fg = "gold" }
+"constant.character.escape" = { fg = "gold" }
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.builtin" = { fg = "blue" }
+"function.macro" = { fg = "purple" }
+"keyword" = { fg = "red" }
+"keyword.control" = { fg = "purple" }
+"keyword.control.import" = { fg = "red" }
+"keyword.directive" = { fg = "purple" }
+"label" = { fg = "purple" }
+"namespace" = { fg = "blue" }
+"operator" = { fg = "purple" }
+"keyword.operator" = { fg = "purple" }
+"property" = { fg = "red" }
+"special" = { fg = "blue" }
+"string" = { fg = "green" }
+"type" = { fg = "yellow" }
+# "variable" = { fg = "blue" }
+"variable.builtin" = { fg = "blue" }
+"variable.parameter" = { fg = "red" }
+"variable.other.member" = { fg = "red" }
+
+"markup.heading" = { fg = "red" }
+"markup.raw.inline" = { fg = "green" }
+"markup.bold" = { fg = "gold", modifiers = ["bold"] }
+"markup.italic" = { fg = "purple", modifiers = ["italic"] }
+"markup.list" = { fg = "red" }
+"markup.quote" = { fg = "yellow" }
+"markup.link.url" = { fg = "cyan", modifiers = ["underlined"]}
+"markup.link.text" = { fg = "purple" }
+
+"diff.plus" = "green"
+"diff.delta" = "gold"
+"diff.minus" = "red"
+
+diagnostic = { modifiers = ["underlined"] }
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "green", modifiers = ["bold"] }
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+
+"ui.background" = { bg = "black" }
+
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "blue", modifiers = ["underlined"]}
+
+"ui.selection" = { bg = "light-gray" }
+"ui.selection.primary" = { bg = "gray" }
+
+"ui.linenr" = { fg = "linenr", modifiers = ["dim"] }
+"ui.linenr.selected" = { fg = "white" }
+
+"ui.statusline" = { fg = "white", bg = "light-black" }
+"ui.statusline.inactive" = { fg = "light-gray", bg = "light-black" }
+
+"ui.text" = { fg = "white" }
+"ui.text.focus" = { fg = "white", bg = "light-black", modifiers = ["bold"] }
+
+"ui.help" = { bg = "gray" }
+"ui.popup" = { bg = "gray" }
+"ui.window" = { bg = "gray" }
+"ui.menu.selected" = { fg = "black", bg = "blue" }
+
+[palette]
+
+yellow = "#E5C07B"
+blue = "#61AFEF"
+red = "#E06C75"
+purple = "#C678DD"
+green = "#98C379"
+gold = "#D19A66"
+cyan = "#56B6C2"
+white = "#ABB2BF"
+black = "#282C34"
+light-black = "#2C323C"
+gray = "#3E4452"
+light-gray = "#5C6370"
+linenr = "#4B5263"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/rose_pine.toml b/helix-22.03-x86_64-windows/runtime/themes/rose_pine.toml
new file mode 100644
index 0000000..d019709
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/rose_pine.toml
@@ -0,0 +1,81 @@
+# Author: RayGervais<raygervais@hotmail.ca>
+# Author: ChrisHa<chunghha@users.noreply.github.com>
+
+"ui.background" = { bg = "base" }
+"ui.menu" = { fg = "text", bg = "overlay" }
+"ui.menu.selected" = { fg = "iris", bg = "surface" }
+"ui.linenr" = {fg = "subtle" }
+"ui.liner.selected" = "highlightOverlay"
+"ui.selection" = { bg = "highlight" }
+"comment" = "subtle"
+"ui.statusline" = {fg = "foam", bg = "surface" }
+"ui.statusline.inactive" = { fg = "iris", bg = "surface" }
+"ui.help" = { fg = "foam", bg = "surface" }
+"ui.cursor" = { fg = "rose", modifiers = ["reversed"] }
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "foam", modifiers = ["bold"]}
+"ui.text.info" = {fg = "pine", modifiers = ["bold"]}
+"operator" = "rose"
+"variable" = "text"
+"constant.numeric" = "iris"
+"constant" = "gold"
+"attributes" = "gold"
+"type" = "foam"
+"ui.cursor.match" = { fg = "gold", modifiers = ["underlined"] }
+"string" = "gold"
+"property" = "foam"
+"constant.character.escape" = "subtle"
+"function" = "rose"
+"function.builtin" = "rose"
+"function.method" = "foam"
+"constructor" = "gold"
+"special" = "gold"
+"keyword" = "pine"
+"label" = "iris"
+"namespace" = "pine"
+"ui.popup" = { bg = "surface" }
+"ui.popup.info" = { bg = "surface" }
+"ui.window" = { bg = "base" }
+"ui.help" = { bg = "overlay", fg = "foam" }
+"text" = "text"
+"diff.plus" = "foam"
+"diff.delta" = "rose"
+"diff.minus" = "love"
+
+"info" = "gold"
+"hint" = "gold"
+"debug" = "rose"
+"diagnostic" = "rose"
+"error" = "love"
+
+"markup.heading.marker" = "subtle"
+"markup.heading.1" = { fg = "love", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "gold", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "rose", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "pine", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "form", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "fg", modifiers = ["bold"] }
+"markup.list" = { fg = "love" }
+"markup.bold" = { fg = "gold", modifiers = ["bold"] }
+"markup.italic" = { fg = "iris", modifiers = ["italic"] }
+"markup.link.url" = { fg = "pine", modifiers = ["underlined"]}
+"markup.link.text" = { fg = "foam" }
+"markup.quote" = { fg = "rose" }
+"markup.raw" = { fg = "foam" }
+
+[palette]
+base = "#191724"
+surface = "#1f1d2e"
+overlay = "#26233a"
+inactive = "#555169"
+subtle = "#6e6a86"
+text = "#e0def4"
+love = "#eb6f92"
+gold = "#f6c177"
+rose = "#ebbcba"
+pine = "#31748f"
+foam = "#9ccfd8"
+iris = "#c4a7e7"
+highlight = "#2a2837"
+highlightInactive = "#211f2d"
+highlightOverlay = "#3a384a"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/rose_pine_dawn.toml b/helix-22.03-x86_64-windows/runtime/themes/rose_pine_dawn.toml
new file mode 100644
index 0000000..0dc7a32
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/rose_pine_dawn.toml
@@ -0,0 +1,81 @@
+# Author: RayGervais<raygervais@hotmail.ca>
+# Author: ChrisHa<chunghha@users.noreply.github.com>
+
+"ui.background" = { bg = "surface" }
+"ui.menu" = { fg = "text", bg = "overlay" }
+"ui.menu.selected" = { fg = "iris", bg = "surface" }
+"ui.linenr" = {fg = "subtle" }
+"ui.liner.selected" = "highlightOverlay"
+"ui.selection" = { bg = "highlight" }
+"comment" = "subtle"
+"ui.statusline" = {fg = "foam", bg = "surface" }
+"ui.statusline.inactive" = { fg = "iris", bg = "surface" }
+"ui.help" = { fg = "foam", bg = "surface" }
+"ui.cursor" = { fg = "rose", modifiers = ["reversed"] }
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "foam", modifiers = ["bold"]}
+"ui.text.info" = {fg = "pine", modifiers = ["bold"]}
+"operator" = "rose"
+"variable" = "text"
+"number" = "iris"
+"constant" = "gold"
+"attributes" = "gold"
+"type" = "foam"
+"ui.cursor.match" = { fg = "gold", modifiers = ["underlined"] }
+"string" = "gold"
+"property" = "foam"
+"escape" = "subtle"
+"function" = "rose"
+"function.builtin" = "rose"
+"function.method" = "foam"
+"constructor" = "gold"
+"special" = "gold"
+"keyword" = "pine"
+"label" = "iris"
+"namespace" = "pine"
+"ui.popup" = { bg = "surface" }
+"ui.popup.info" = { bg = "surface" }
+"ui.window" = { bg = "base" }
+"ui.help" = { bg = "overlay", fg = "foam" }
+"text" = "text"
+"diff.plus" = "foam"
+"diff.delta" = "rose"
+"diff.minus" = "love"
+
+"info" = "gold"
+"hint" = "gold"
+"debug" = "rose"
+"diagnostic" = "rose"
+"error" = "love"
+
+"markup.heading.marker" = "subtle"
+"markup.heading.1" = { fg = "love", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "gold", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "rose", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "pine", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "form", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "fg", modifiers = ["bold"] }
+"markup.list" = { fg = "love" }
+"markup.bold" = { fg = "gold", modifiers = ["bold"] }
+"markup.italic" = { fg = "iris", modifiers = ["italic"] }
+"markup.link.url" = { fg = "pine", modifiers = ["underlined"]}
+"markup.link.text" = { fg = "foam" }
+"markup.quote" = { fg = "rose" }
+"markup.raw" = { fg = "foam" }
+
+[palette]
+base = "#faf4ed"
+surface = "#fffaf3"
+overlay = "#f2e9de"
+inactive = "#9893a5"
+subtle = "#6e6a86"
+text = "#575279"
+love = "#b4637a"
+gold = "#ea9d34"
+rose = "#d7827e"
+pine = "#286983"
+foam = "#56949f"
+iris = "#907aa9"
+highlight = "#eee9e6"
+highlightInactive = "#f2ede9"
+highlightOverlay = "#e4dfde"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/serika-dark.toml b/helix-22.03-x86_64-windows/runtime/themes/serika-dark.toml
new file mode 100644
index 0000000..da14578
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/serika-dark.toml
@@ -0,0 +1,99 @@
+# Serika (Dark)
+# Author: VuiMuich
+
+# Original Author:
+# URL: https://github.com/arturoalviar/serika-syntax
+# Author: arturoalviar
+# License: MIT License
+
+"escape" = "orange"
+"type" = "yellow"
+"constant" = "purple"
+"number" = "purple"
+"string" = "fg"
+"comment" = "grey2"
+"variable" = "yellow"
+"variable.builtin" = "blue"
+"variable.parameter" = "yellow"
+"variable.property" = "yellow"
+"label" = "aqua"
+"punctuation" = "grey0"
+"punctuation.delimiter" = "grey2"
+"punctuation.bracket" = "fg"
+"keyword" = "red"
+"operator" = "grey0"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "fg"
+"attribute" = "aqua"
+"constructor" = "yellow"
+"module" = "blue"
+"property" = "yellow"
+"special" = "orange"
+
+"ui.background" = { bg = "bg0" }
+"ui.cursor" = { fg = "bg0", bg = "fg" }
+"ui.cursor.match" = { fg = "grey3", bg = "grey2" }
+"ui.cursor.insert" = { fg = "bg0", bg = "bg_yellow" }
+"ui.cursor.select" = { fg = "bg0", bg = "bg_yellow" }
+"ui.linenr" = "yellow"
+"ui.linenr.selected" = { fg = "fg", modifiers = ["bold", "underlined"] }
+"ui.statusline" = { fg = "grey1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "grey2", bg = "bg1" }
+"ui.popup" = { fg = "grey2", bg = "bg1" }
+"ui.window" = { fg = "grey2", bg = "bg1" }
+"ui.help" = { fg = "fg", bg = "bg1" }
+"ui.text" = "fg"
+"ui.text.focus" = "yellow"
+"ui.menu" = { fg = "fg", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg0", bg = "bg_yellow" }
+"ui.selection" = { bg = "bg3" }
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "nasty-red"
+"diagnostic" = { fg = "dark-red", Modifiers = ["underlined"] }
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "cyan"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "pink"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+
+[palette]
+
+bg0 = "#323437"
+bg1 = "#494c50"
+bg2 = "#55585e"
+bg3 = "#61656b"
+bg4 = "#6d7278"
+bg5 = "#797e86"
+bg_visual = "#646669"
+bg_red = "#7e2a33"
+bg_green = "#86b365"
+bg_blue = "#6a89af"
+bg_yellow = "#e2b714"
+
+fg = "#d1d0c5"
+red = "#f9ebed"
+nasty-red = "#ca4754"
+dark-red = "#7e2a33"
+orange = "#dd8a3c"
+yellow = "#e2b714"
+green = "#e5eae1"
+aqua = "#b9c2c6"
+blue = "#bdcadb"
+purple = "#d0c4d4"
+grey0 = "#aaaeb3"
+grey1 = "#e1e1e3"
+grey2 = "#646669"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/serika-light.toml b/helix-22.03-x86_64-windows/runtime/themes/serika-light.toml
new file mode 100644
index 0000000..edde904
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/serika-light.toml
@@ -0,0 +1,100 @@
+# Serika (Light)
+# Author: VuiMuich
+
+# Original Author:
+# URL: https://github.com/arturoalviar/serika-syntax
+# Author: arturoalviar
+# License: MIT License
+
+"escape" = "orange"
+"type" = "yellow"
+"constant" = "purple"
+"number" = "purple"
+"string" = "fg"
+"comment" = "grey2"
+"variable" = "yellow"
+"variable.builtin" = "blue"
+"variable.parameter" = "yellow"
+"variable.property" = "yellow"
+"label" = "aqua"
+"punctuation" = "grey0"
+"punctuation.delimiter" = "grey2"
+"punctuation.bracket" = "fg"
+"keyword" = "red"
+"operator" = "grey0"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "fg"
+"attribute" = "aqua"
+"constructor" = "yellow"
+"module" = "blue"
+"property" = "yellow"
+"special" = "orange"
+
+"ui.background" = { bg = "bg0" }
+"ui.cursor" = { fg = "bg0", bg = "fg" }
+"ui.cursor.match" = { fg = "grey1", bg = "grey2" }
+"ui.cursor.insert" = { fg = "bg0", bg = "bg_yellow" }
+"ui.cursor.select" = { fg = "bg0", bg = "bg_yellow" }
+"ui.linenr" = "yellow"
+"ui.linenr.selected" = { fg = "fg", modifiers = ["bold", "underlined"] }
+"ui.statusline" = { fg = "grey1", bg = "bg5" }
+"ui.statusline.inactive" = { fg = "grey2", bg = "bg1" }
+"ui.popup" = { fg = "bg0", bg = "bg5" }
+"ui.window" = { fg = "bg0", bg = "bg5" }
+"ui.help" = { fg = "bg0", bg = "bg5" }
+"ui.text" = "fg"
+"ui.text.focus" = "yellow"
+"ui.menu" = { fg = "bg0", bg = "bg3" }
+"ui.menu.selected" = { fg = "bg0", bg = "bg_yellow" }
+"ui.selection" = { fg = "bg0", bg = "bg3" }
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "nasty-red"
+"diagnostic" = { fg = "dark-red", Modifiers = ["underlined"] }
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "cyan"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "pink"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+
+
+[palette]
+
+bg0 = "#e1e1e3"
+bg1 = "#494c50"
+bg2 = "#55585e"
+bg3 = "#61656b"
+bg4 = "#6d7278"
+bg5 = "#797e86"
+bg_visual = "#646669"
+bg_red = "#7e2a33"
+bg_green = "#86b365"
+bg_blue = "#6a89af"
+bg_yellow = "#e2b714"
+
+fg = "#323437"
+red = "#621d28"
+nasty-red = "#da3333"
+dark-red = "#791717"
+orange = "#57320f"
+yellow = "#e2b714"
+green = "#3f4b34"
+aqua = "#455054"
+blue = "#3f5673"
+purple = "#534059"
+grey0 = "#aaaeb3"
+grey1 = "#e1e1e3"
+grey2 = "#646669"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/solarized_dark.toml b/helix-22.03-x86_64-windows/runtime/themes/solarized_dark.toml
new file mode 100644
index 0000000..dd2013e
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/solarized_dark.toml
@@ -0,0 +1,113 @@
+"attribute" = { fg = "violet" }
+"keyword" = { fg = "green" }
+"keyword.directive" = { fg = "orange" }
+"namespace" = { fg = "violet" }
+"operator" = { fg = "green" }
+"special" = { fg = "orange" }
+"variable.builtin" = { fg = "cyan", modifiers = ["bold"] }
+"variable.function" = { fg = "blue" }
+"type" = { fg = "yellow" }
+"type.builtin" = { fg = "yellow", modifiers = ["bold"] }
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.macro" = { fg = "magenta" }
+"function.builtin" = { fg = "blue", modifiers = ["bold"] }
+"function.special" = { fg = "magenta" }
+"comment" = { fg = "base01" }
+"string" = { fg = "cyan" }
+"constant" = { fg = "cyan" }
+"constant.builtin" = { fg = "cyan", modifiers = ["bold"] }
+"constant.character.escape" = { fg = "red", modifiers = ["bold"] }
+"label" = { fg = "green" }
+"module" = { fg = "violet" }
+"tag" = { fg = "magenta" }
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+
+# 背景
+"ui.background" = { bg = "base03" }
+
+# 行号栏
+"ui.linenr" = { fg = "base0", bg = "base02" }
+# 当前行号栏
+"ui.linenr.selected" = { fg = "blue", modifiers = ["bold"] }
+
+# 状态栏
+"ui.statusline" = { fg = "base03", bg = "base0" }
+# 非活动状态栏
+"ui.statusline.inactive" = { fg = "base1", bg = "base01" }
+
+# 补全窗口, preview窗口
+"ui.popup" = { bg = "base02" }
+# 影响 补全选中 cmd弹出信息选中
+"ui.menu.selected" = { fg = "base02", bg = "base2"}
+"ui.menu" = { fg = "base1" }
+# ??
+"ui.window" = { fg = "base3" }
+# 命令行 补全的帮助信息
+"ui.help" = { modifiers = ["reversed"] }
+
+# 快捷键窗口
+"ui.popup.info" = { bg = "base1" }
+# 快捷键字体
+"ui.text.info" = {fg = "base02", modifiers = ["bold"]}
+
+# 普通ui的字体样式
+"ui.text" = { fg = "base1" }
+# 影响 picker列表选中, 快捷键帮助窗口文本
+"ui.text.focus" = { fg = "blue", modifiers = ["bold"]}
+# file picker中, 预览的当前选中项
+"ui.highlight" = { fg = "red", modifiers = ["bold", "italic", "underlined"] }
+
+# 主光标/selectio
+"ui.cursor.primary" = { fg = "base03", bg = "base1" }
+"ui.cursor.select" = { fg = "base02", bg = "cyan" }
+"ui.selection" = { bg = "base0175" }
+"ui.selection.primary" = { bg = "base015" }
+
+# normal模式的光标
+"ui.cursor" = {fg = "base02", bg = "cyan"}
+"ui.cursor.insert" = {fg = "base03", bg = "base3"}
+# 当前光标匹配的标点符号
+"ui.cursor.match" = { fg = "base03", bg = "base00" }
+
+"warning" = { fg = "orange", modifiers= ["bold", "underlined"] }
+"error" = { fg = "red", modifiers= ["bold", "underlined"] }
+"info" = { fg = "blue", modifiers= ["bold", "underlined"] }
+"hint" = { fg = "base01", modifiers= ["bold", "underlined"] }
+"diagnostic" = { modifiers = ["underlined"] }
+
+[palette]
+# 深色 越来越深
+base03 = "#002b36"
+base02 = "#073642"
+base0175 = "#16404b"
+base015 = "#2c4f59"
+base01 = "#586e75"
+base00 = "#657b83"
+base0 = "#839496"
+base1 = "#93a1a1"
+base2 = "#eee8d5"
+base3 = "#fdf6e3"
+
+# 浅色 越來越浅
+yellow = "#b58900"
+orange = "#cb4b16"
+red = "#dc322f"
+magenta = "#d33682"
+violet = "#6c71c4"
+blue = "#268bd2"
+cyan = "#2aa198"
+green = "#859900"
diff --git a/helix-22.03-x86_64-windows/runtime/themes/solarized_light.toml b/helix-22.03-x86_64-windows/runtime/themes/solarized_light.toml
new file mode 100644
index 0000000..9c82029
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/solarized_light.toml
@@ -0,0 +1,114 @@
+"attribute" = { fg = "violet" }
+"keyword" = { fg = "green" }
+"keyword.directive" = { fg = "orange" }
+"namespace" = { fg = "violet" }
+"operator" = { fg = "green" }
+"special" = { fg = "orange" }
+"variable.builtin" = { fg = "cyan", modifiers = ["bold"] }
+"variable.function" = { fg = "blue" }
+"type" = { fg = "yellow" }
+"type.builtin" = { fg = "yellow", modifiers = ["bold"] }
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.macro" = { fg = "magenta" }
+"function.builtin" = { fg = "blue", modifiers = ["bold"] }
+"function.special" = { fg = "magenta" }
+"comment" = { fg = "base01" }
+"string" = { fg = "cyan" }
+"constant" = { fg = "cyan" }
+"constant.builtin" = { fg = "cyan", modifiers = ["bold"] }
+"constant.character.escape" = { fg = "red", modifiers = ["bold"] }
+"label" = { fg = "green" }
+"module" = { fg = "violet" }
+"tag" = { fg = "magenta" }
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+
+# 背景
+"ui.background" = { bg = "base03" }
+
+# 行号栏
+"ui.linenr" = { fg = "base0", bg = "base02" }
+# 当前行号栏
+"ui.linenr.selected" = { fg = "blue", modifiers = ["bold"] }
+
+# 状态栏
+"ui.statusline" = { fg = "base03", bg = "base0" }
+# 非活动状态栏
+"ui.statusline.inactive" = { fg = "base1", bg = "base01" }
+
+# 补全窗口, preview窗口
+"ui.popup" = { bg = "base02" }
+# 影响 补全选中 cmd弹出信息选中
+"ui.menu.selected" = { fg = "base02", bg = "base2"}
+"ui.menu" = { fg = "base1" }
+# ??
+"ui.window" = { fg = "base3" }
+# 命令行 补全的帮助信息
+"ui.help" = { modifiers = ["reversed"] }
+
+# 快捷键窗口
+"ui.popup.info" = { bg = "base1" }
+# 快捷键字体
+"ui.text.info" = {fg = "base02", modifiers = ["bold"]}
+
+# 普通ui的字体样式
+"ui.text" = { fg = "base1" }
+# 影响 picker列表选中, 快捷键帮助窗口文本
+"ui.text.focus" = { fg = "blue", modifiers = ["bold"]}
+# file picker中, 预览的当前选中项
+"ui.highlight" = { fg = "red", modifiers = ["bold", "italic", "underlined"] }
+
+# 主光标/selectio
+"ui.cursor.primary" = { fg = "base03", bg = "base1" }
+"ui.cursor.select" = { fg = "base02", bg = "cyan" }
+"ui.selection" = { bg = "base0175" }
+"ui.selection.primary" = { bg = "base015" }
+
+# normal模式的光标
+"ui.cursor" = {fg = "base02", bg = "cyan"}
+"ui.cursor.insert" = {fg = "base03", bg = "base3"}
+# 当前光标匹配的标点符号
+"ui.cursor.match" = { fg = "base02", bg = "light-gray" }
+
+"warning" = { fg = "orange", modifiers= ["bold", "underlined"] }
+"error" = { fg = "red", modifiers= ["bold", "underlined"] }
+"info" = { fg = "blue", modifiers= ["bold", "underlined"] }
+"hint" = { fg = "base01", modifiers= ["bold", "underlined"] }
+"diagnostic" = { modifiers = ["underlined"] }
+
+[palette]
+red = '#dc322f'
+green = '#859900'
+yellow = '#b58900'
+blue = '#268bd2'
+magenta = '#d33682'
+cyan = '#2aa198'
+orange = '#cb4b16'
+violet = '#6c71c4'
+
+# 深色 越来越深
+base0 = '#657b83'
+base1 = '#586e75'
+base2 = '#073642'
+base3 = '#002b36'
+
+## 浅色 越來越浅
+base00 = '#839496'
+base01 = '#93a1a1'
+base015 = '#c5c8bd'
+base0175 = '#dddbcc'
+base02 = '#eee8d5'
+base03 = '#fdf6e3'
diff --git a/helix-22.03-x86_64-windows/runtime/themes/spacebones_light.toml b/helix-22.03-x86_64-windows/runtime/themes/spacebones_light.toml
new file mode 100644
index 0000000..29c7d7f
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/themes/spacebones_light.toml
@@ -0,0 +1,79 @@
+# Author : Koen Van der Auwera <atog@hey.com>
+# Based on SpaceBones Light https://github.com/chipotle/spacebones
+# https://github.com/chipotle/spacebones/blob/main/SpaceBones%20Light.bbColorScheme
+
+"attribute" = "#b1951d"
+"keyword" = { fg = "#3a81c3" }
+"keyword.directive" = "#3a81c3"
+"namespace" = "#b1951d"
+"punctuation" = "#6c3163"
+"punctuation.delimiter" = "#6c3163"
+"operator" = "#ba2f59"
+"special" = "#ba2f59"
+"property" = "#7590db"
+"variable.property" = "#7590db"
+"variable" = "#715ab1"
+"variable.builtin" = "#715ab1"
+"variable.parameter" = "#7590db"
+"type" = "#6c3163"
+"type.builtin" = "#6c3163"
+"constructor" = { fg = "#4e3163", modifiers = ["bold"] }
+"function" = { fg = "#715ab1", modifiers = ["bold"] }
+"function.macro" = "#b1951d"
+"function.builtin" = "#b1951d"
+"comment" = { fg = "#a49da5", modifiers = ["italic"] }
+"constant" = { fg = "#6c3163" }
+"constant.builtin" = { fg = "#6c3163", modifiers = ["bold"] }
+"string" = "#2d9574"
+"number" = "#6c3163"
+"escape" = { fg = "fg2", modifiers = ["bold"] }
+"label" = "#b1951d"
+"module" = "#b1951d"
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = "#2d9574"
+"diff.delta" = "#715ab1"
+"diff.minus" = "#ba2f59"
+
+"warning" = { fg = "#da8b55" }
+"error" = { fg = "#e0211d" }
+"info" = { fg = "#b1951d" }
+"hint" = { fg = "#d1dcdf" }
+
+"ui.background" = { bg = "bg0" }
+"ui.linenr" = { fg = "bg3" }
+"ui.linenr.selected" = { fg = "#b1951d" }
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg1" }
+"ui.popup" = { bg = "bg1" }
+"ui.window" = { bg = "bg1" }
+"ui.help" = { bg = "bg1", fg = "fg1" }
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "fg1" }
+"ui.selection" = { bg = "bg3", modifiers = ["reversed"] }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "bg3" }
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.selected" = { fg = "#655370", bg = "#d1dcdf", modifiers = ["bold"] }
+
+"diagnostic" = { modifiers = ["underlined"] }
+
+[palette]
+bg0 = "#fbf8ef"
+bg1 = "#efeae9"
+bg2 = "#d1dcdf"
+bg3 = "#b4c6cb"
+
+fg1 = "#655370"
+fg2 = "#5f3bc4"
+fg3 = "#bdae93"
+fg4 = "#a89984"
diff --git a/helix-22.03-x86_64-windows/runtime/tutor.txt b/helix-22.03-x86_64-windows/runtime/tutor.txt
new file mode 100644
index 0000000..b6f600d
--- /dev/null
+++ b/helix-22.03-x86_64-windows/runtime/tutor.txt
@@ -0,0 +1,421 @@
+ _ _ __ __
+ | | | | _ \ \ / /
+ | |_| | ___ | | (_) \ \/ /
+ | _ | / _ \ | | _ ) (
+ | | | | | __/ | | | | / /\ \
+ |_| |_| \___| |_| |_| /_/ \_\
+
+ A post-modern modal text editor.
+_________________________________________________________________
+
+ Welcome to the Helix editor! Helix is different from editors
+ you might be used to in that it is modal, meaning that it has
+ different modes for editing text. The primary modes you will
+ use are Normal mode and Insert mode. While in Normal mode, the
+ keys you press won't actually type text. Instead, they will
+ perform various actions with the text. This allows for more
+ efficient editing. This tutor will teach you how you can make
+ use of Helix's modal editing features. To begin, ensure your
+ caps-lock key is not pressed and hold the j key until you reach
+ the first lesson.
+
+
+=================================================================
+= BASIC CURSOR MOVEMENT =
+=================================================================
+
+ ↑
+ k * h is on the left
+ ← h l → * l is on the right
+ j * j looks like a down arrow
+ ↓
+
+ The cursor can be moved using the h, j, k, l keys, as shown
+ above. The cursor/arrow keys will also work, but it is faster
+ to use the hjkl keys as they are closer to the other keys you
+ will be using. Try moving around to get a feel for hjkl.
+ Once you're ready, hold j to continue to the next lesson.
+
+
+
+
+
+
+
+=================================================================
+= EXITING HELIX =
+=================================================================
+
+ 1. Press the : key to enter command mode. Your cursor will
+ move to the bottom of the screen.
+ 2. Type q or quit and press <ENTER> to exit Helix.
+
+ Note: The quit command will fail if there are unsaved changes.
+ To force quit and DISCARD these changes, use q! or quit!.
+ You will learn how to save files later.
+
+ To exit command mode without entering a command, press <ESC>.
+
+ Now, move on to the next lesson.
+
+
+
+
+
+
+
+=================================================================
+= DELETION =
+=================================================================
+
+ Press the d key to delete the character under the cursor.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move the cursor to each extra character, and press d to
+ delete it.
+
+ --> Thhiss senttencee haass exxtra charracterss.
+
+ Once the sentence is correct, move on to the next lesson.
+
+
+
+
+
+
+
+
+
+=================================================================
+= INSERT MODE =
+=================================================================
+
+ Press the i key to enter Insert mode.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to a place in the line which is missing text and press
+ i to enter Insert mode. Keys you press will now type text.
+ 3. Enter the missing text.
+ 4. Press <ESC> to exit Insert mode and return to Normal mode.
+ 5. Repeat until the line matches the line below it.
+
+ --> Th stce misg so.
+ This sentence is missing some text.
+
+ Note: If you want to move the cursor while in Insert mode,
+ you may use the arrow keys instead of exiting and
+ reentering Insert mode.
+ Note: The status bar will display your current mode.
+ Notice that when you press i, 'NOR' changes to 'INS'.
+
+=================================================================
+= MORE ON INSERT MODE =
+=================================================================
+
+ As you saw, you can press i to enter Insert mode at the current
+ position of the cursor. There are a few other ways you can
+ enter Insert mode at different locations.
+
+ Common examples of insertion commands include:
+ i - Insert before the selection.
+ a - Insert after the selection. (a means 'append')
+ I - Insert at the start of the line.
+ A - Insert at the end of the line.
+
+ 1. Move to anywhere in the line below marked -->.
+ 2. Press A (<SHIFT> + a), your cursor will move to the end of
+ the line and you will be able to type.
+ 3. Type the text necessary to match the line below.
+
+ --> This sentence is miss
+ This sentence is missing some text.
+
+=================================================================
+= SAVING A FILE =
+=================================================================
+
+ Use :w/:write to save a file.
+
+ 1. Exit Helix using :q! as explained before, or open a new
+ terminal.
+ 2. Open a file in Helix by running: hx FILENAME
+ 3. Make some edits to the file.
+ 4. Press the : key to enter command mode.
+ 5. Type w or write, and press <ENTER> to save the file.
+
+ You can also use wq or write-quit to save and exit.
+
+ Note: You can optionally enter a filepath after the w/write
+ command in order to save to that path.
+ Note: If there are any unsaved changes to a file, a plus [+]
+ will appear next to the file name in the status bar.
+
+
+
+=================================================================
+= RECAP =
+=================================================================
+
+ * Use the h,j,k,l keys to move the cursor.
+
+ * Press : to enter command mode.
+ * The q/quit and q!/quit! commands will exit Helix. The
+ former fails when there are unsaved changes. The latter
+ discards them.
+ * The w/write command will save the file.
+ * The wq/write-quit command will do both.
+
+ * Press d to delete the character at the cursor.
+
+ * Press i to enter Insert mode and type text. Press <ESC> to
+ return to Normal mode.
+
+
+
+
+
+=================================================================
+= MOTIONS AND SELECTIONS =
+=================================================================
+
+ Press w to select forward until the next word.
+
+ The d key doesn't actually delete the character at the cursor,
+ it deletes all selected text. Your cursor is like a
+ single-character selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the beginning of a word that needs to be deleted.
+ 3. Press w to select until the beginning of the next word.
+ 4. Press d to delete the selection.
+ 5. Repeat for all extra words in the line.
+
+ --> This sentence pencil has vacuum extra words in the it.
+
+
+
+
+
+=================================================================
+= MORE ON MOTIONS =
+=================================================================
+
+ As you saw, pressing w moves the cursor forward until the start
+ of the next word, selecting the text traversed. This is useful
+ for moving around text and for selecting text to operate on.
+
+ Some common motions include:
+ w - Move forward to before the beginning of the next word.
+ e - Move forward to the end of the current word.
+ b - Move backward to the beginning of the current word.
+
+ The w,e,b motions also have counterparts - W,E,B - which
+ traverse WORDS instead of words. WORDS are only separated by
+ whitespace, whereas words can be separated by other characters
+ in addition to whitespace.
+
+ All of these motions select the text they traverse.
+
+
+
+=================================================================
+= THE CHANGE COMMAND =
+=================================================================
+
+ Press c to change the current selection.
+
+ The change command deletes the current selection and enters
+ Insert mode, so it is a very common shorthand for di.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the start of an incorrect word and press w to
+ select it.
+ 3. Press c to delete the word and enter Insert mode.
+ 4. Type the correct word.
+ 5. Repeat until the line matches the line below it.
+
+ --> This paper has heavy words behind it.
+ This sentence has incorrect words in it.
+
+
+
+
+=================================================================
+= COUNTS WITH MOTIONS =
+=================================================================
+
+ Type a number before a motion to repeat it that many times.
+
+ 1. Move the cursor to the line below marked -->.
+
+ 2. Type 2w to move 2 words forward.
+
+ 3. Type 3e to move to the end of the third word forward.
+
+ 4. Type 2b to move 2 words backwards
+
+ 5. Try the above with different numbers.
+
+ --> This is just a line with words you can move around in.
+
+
+
+
+
+=================================================================
+= SELECTING LINES =
+=================================================================
+
+ Press x to select a whole line. Press again to select the next.
+
+ 1. Move the cursor to the second line below marked -->.
+ 2. Press x to select the line, and d to delete it.
+ 3. Move to the fourth line.
+ 4. Press x twice or type 2x to select 2 lines, and d to delete.
+
+ --> 1) Roses are red,
+ --> 2) Mud is fun,
+ --> 3) Violets are blue,
+ --> 4) I have a car,
+ --> 5) Clocks tell time,
+ --> 6) Sugar is sweet,
+ --> 7) And so are you.
+
+
+
+
+=================================================================
+= UNDOING =
+=================================================================
+
+ Type u to undo. Type U to redo.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Move to the first error, and press d to delete it.
+ 3. Type u to undo your deletion.
+ 4. Fix all the errors on the line.
+ 5. Type u several times to undo your fixes.
+ 6. Type U (<SHIFT> + u) several times to redo your fixes.
+
+ --> Fiix the errors on thhis line and reeplace them witth undo.
+
+
+
+
+
+
+
+
+=================================================================
+= RECAP =
+=================================================================
+
+ * Type w to select forward until the next word.
+ * Type e to select to the end of the current word.
+ * Type b to select backward to the start of the current word.
+ * Use uppercase counterparts, W,E,B, to traverse WORDS.
+
+ * Typing d deletes the entire selection, so you can delete a
+ word forward by typing wd.
+
+ * Type c to delete the selection and enter Insert mode.
+
+ * Type a number before a motion to repeat it that many times.
+
+ * Type x to select the entire current line. Type x again to
+ select the next line.
+
+ * Type u to undo. Type U to redo.
+
+
+=================================================================
+= MULTIPLE CURSORS =
+=================================================================
+
+ Type C to duplicate the cursor to the next line.
+
+ 1. Move the cursor to the first line below marked -->.
+ 2. Type C to duplicate the cursor to the next line. Keys you
+ press will now affect both cursors.
+ 3. Use Insert mode to correct the lines. The two cursors will
+ fix both lines simultaneously.
+ 4. Type , to remove the second cursor.
+
+ --> Fix th two nes at same ime.
+ --> Fix th two nes at same ime.
+
+ Fix these two lines at the same time.
+
+
+
+
+
+=================================================================
+= THE SELECT COMMAND =
+=================================================================
+
+ Type s to select matches in the selection.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Press x to select the line.
+ 3. Press s. A prompt will appear.
+ 4. Type 'apples' and press <ENTER>. Both occurrences of
+ 'apples' in the line will be selected.
+ 5. You can now press c and change 'apples' to something else,
+ like 'oranges'.
+ 6. Type , to remove the second cursor.
+
+ --> I like to eat apples since my favorite fruit is apples.
+
+
+
+
+
+
+=================================================================
+= SELECTING VIA REGEX =
+=================================================================
+
+ The select command selects regular expressions, not just exact
+ matches, allowing you to target more complex patterns.
+
+ 1. Move the cursor to the line below marked -->.
+ 2. Select the line with x and then press s.
+ 3. Enter ' +' to select any amount of consecutive spaces >1.
+ 4. Press c and change the matches to single spaces.
+
+ --> This sentence has some extra spaces.
+
+ Note: If you want to perform find-and-replace, the select
+ command is the way to do it. Select the text you want
+ to replace in — type % to select the whole file — and
+ then perform the steps explained above.
+
+
+
+
+=================================================================
+= COLLAPSING SELECTIONS =
+=================================================================
+
+ Type ; to collapse selections to single cursors.
+
+ Sometimes, you want to deselect without having to move the
+ cursor(s). This can be done using the ; key.
+
+ 1. Move the cursor to the line below marked -->.
+
+ 2. Use the motions you have learned to move around the line,
+ and try using ; to deselect the text after it is selected
+ by the motions.
+
+ --> This is an error-free line with words to move around in.
+
+
+
+
+
+
+=================================================================
+ This tutorial is still a work-in-progress.
+ More sections are planned.