This is my daily driver config for all my devices.
Last active
April 3, 2025 05:22
-
-
Save dannyhvc/39e66b6f58970eee479227aa0744402e to your computer and use it in GitHub Desktop.
My Personal Helix + Wezterm config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
general: | |
# Commands to run when the WM has started. This is useful for running a | |
# script or launching another application. | |
# Example: The below command launches Zebar. | |
startup_commands: ['shell-exec zebar'] | |
# Commands to run just before the WM is shutdown. | |
# Example: The below command kills Zebar. | |
shutdown_commands: ['shell-exec taskkill /IM zebar.exe /F'] | |
# Commands to run after the WM config is reloaded. | |
config_reload_commands: [] | |
# Whether to automatically focus windows underneath the cursor. | |
focus_follows_cursor: false | |
# Whether to switch back and forth between the previously focused | |
# workspace when focusing the current workspace. | |
toggle_workspace_on_refocus: false | |
cursor_jump: | |
# Whether to automatically move the cursor on the specified trigger. | |
enabled: true | |
# Trigger for cursor jump: | |
# - 'monitor_focus': Jump when focus changes between monitors. | |
# - 'window_focus': Jump when focus changes between windows. | |
trigger: 'monitor_focus' | |
# How windows should be hidden when switching workspaces. | |
# - 'cloak': Recommended. Hides windows with no animation. | |
# - 'hide': Legacy method (v3.5 and earlier) that has a brief animation, | |
# but has stability issues with some apps. | |
hide_method: 'cloak' | |
# Affects which windows get shown in the native Windows taskbar. Has no | |
# effect if `hide_method: 'hide'`. | |
# - 'true': Show all windows (regardless of workspace). | |
# - 'false': Only show windows from the currently shown workspaces. | |
show_all_in_taskbar: false | |
gaps: | |
# Whether to scale the gaps with the DPI of the monitor. | |
scale_with_dpi: true | |
# Gap between adjacent windows. | |
inner_gap: '20px' | |
# Gap between windows and the screen edge. | |
outer_gap: | |
top: '60px' | |
right: '20px' | |
bottom: '20px' | |
left: '20px' | |
window_effects: | |
# Visual effects to apply to the focused window. | |
focused_window: | |
# Highlight the window with a colored border. | |
# ** Exclusive to Windows 11 due to API limitations. | |
border: | |
enabled: true | |
color: '#8dbcff' | |
# Remove the title bar from the window's frame. Note that this can | |
# cause rendering issues for some applications. | |
hide_title_bar: | |
enabled: false | |
# Change the corner style of the window's frame. | |
# ** Exclusive to Windows 11 due to API limitations. | |
corner_style: | |
enabled: false | |
# Allowed values: 'square', 'rounded', 'small_rounded'. | |
style: 'square' | |
# Visual effects to apply to non-focused windows. | |
other_windows: | |
border: | |
enabled: true | |
color: '#a1a1a1' | |
hide_title_bar: | |
enabled: false | |
corner_style: | |
enabled: false | |
style: 'square' | |
window_behavior: | |
# New windows are created in this state whenever possible. | |
# Allowed values: 'tiling', 'floating'. | |
initial_state: 'tiling' | |
# Sets the default options for when a new window is created. This also | |
# changes the defaults for when the state change commands, like | |
# `set-floating`, are used without any flags. | |
state_defaults: | |
floating: | |
# Whether to center floating windows by default. | |
centered: true | |
# Whether to show floating windows as always on top. | |
shown_on_top: false | |
fullscreen: | |
# Maximize the window if possible. If the window doesn't have a | |
# maximize button, then it'll be fullscreen'ed normally instead. | |
maximized: false | |
# Whether to show fullscreen windows as always on top. | |
shown_on_top: false | |
workspaces: | |
- name: '1' | |
- name: '2' | |
- name: '3' | |
- name: '4' | |
- name: '5' | |
- name: '6' | |
- name: '7' | |
- name: '8' | |
- name: '9' | |
window_rules: | |
- commands: ['ignore'] | |
match: | |
# Ignores any Zebar windows. | |
- window_process: { equals: 'zebar' } | |
# Ignores picture-in-picture windows for browsers. | |
- window_title: { regex: '[Pp]icture.in.[Pp]icture' } | |
window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' } | |
# Ignore rules for various 3rd-party apps. | |
- window_process: { equals: 'PowerToys' } | |
window_class: { regex: 'HwndWrapper\[PowerToys\.PowerAccent.*?\]' } | |
- window_process: { equals: 'PowerToys' } | |
window_title: { regex: '.*? - Peek' } | |
- window_process: { equals: 'Lively' } | |
window_class: { regex: 'HwndWrapper' } | |
binding_modes: | |
# When enabled, the focused window can be resized via arrow keys or HJKL. | |
- name: 'resize' | |
keybindings: | |
- commands: ['resize --width -2%'] | |
bindings: ['h', 'left'] | |
- commands: ['resize --width +2%'] | |
bindings: ['l', 'right'] | |
- commands: ['resize --height +2%'] | |
bindings: ['k', 'up'] | |
- commands: ['resize --height -2%'] | |
bindings: ['j', 'down'] | |
# Press enter/escape to return to default keybindings. | |
- commands: ['wm-disable-binding-mode --name resize'] | |
bindings: ['escape', 'enter'] | |
keybindings: | |
# Shift focus in a given direction. | |
- commands: ['focus --direction left'] | |
bindings: ["alt+shift+h"] | |
- commands: ['focus --direction right'] | |
bindings: ["alt+shift+l"] | |
- commands: ['focus --direction up'] | |
bindings: ["alt+shift+k"] | |
- commands: ['focus --direction down'] | |
bindings: ["alt+shift+j"] | |
# Move focused window in a given direction. | |
- commands: ['move --direction left'] | |
bindings: ['ctrl+alt+shift+h', 'ctrl+alt+shift+left'] | |
- commands: ['move --direction right'] | |
bindings: ['ctrl+alt+shift+l', 'ctrl+alt+shift+right'] | |
- commands: ['move --direction up'] | |
bindings: ['ctrl+alt+shift+k', 'ctrl+alt+shift+up'] | |
- commands: ['move --direction down'] | |
bindings: ['ctrl+alt+shift+j', 'ctrl+alt+shift+down'] | |
# Resize focused window by a percentage or pixel amount. | |
- commands: ['resize --width -2%'] | |
bindings: ['alt+u'] | |
- commands: ['resize --width +2%'] | |
bindings: ['alt+p'] | |
- commands: ['resize --height +2%'] | |
bindings: ['alt+o'] | |
- commands: ['resize --height -2%'] | |
bindings: ['alt+i'] | |
# As an alternative to the resize keybindings above, resize mode enables | |
# resizing via arrow keys or HJKL. The binding mode is defined above with | |
# the name 'resize'. | |
- commands: ['wm-enable-binding-mode --name resize'] | |
bindings: ['alt+r'] | |
# Disables window management and all other keybindings until alt+shift+p | |
# is pressed again. | |
- commands: ['wm-toggle-pause'] | |
bindings: ['alt+shift+p'] | |
# Change tiling direction. This determines where new tiling windows will | |
# be inserted. | |
- commands: ['toggle-tiling-direction'] | |
bindings: ['alt+v'] | |
# Change focus from tiling windows -> floating -> fullscreen. | |
- commands: ['wm-cycle-focus'] | |
bindings: ['alt+space'] | |
# Change the focused window to be floating. | |
- commands: ['toggle-floating --centered'] | |
bindings: ['alt+shift+space'] | |
# Change the focused window to be tiling. | |
- commands: ['toggle-tiling'] | |
bindings: ['alt+t'] | |
# Change the focused window to be fullscreen. | |
- commands: ['toggle-fullscreen'] | |
bindings: ['alt+f'] | |
# Minimize focused window. | |
- commands: ['toggle-minimized'] | |
bindings: ['alt+m'] | |
# Close focused window. | |
- commands: ['close'] | |
bindings: ['alt+shift+q'] | |
# Kill GlazeWM process safely. | |
- commands: ['wm-exit'] | |
bindings: ['alt+shift+e'] | |
# Re-evaluate configuration file. | |
- commands: ['wm-reload-config'] | |
bindings: ['alt+shift+r'] | |
# Redraw all windows. | |
- commands: ['wm-redraw'] | |
bindings: ['alt+shift+w'] | |
# Launch CMD terminal. Alternatively, use `shell-exec wt` or | |
# `shell-exec %ProgramFiles%/Git/git-bash.exe` to start Windows | |
# Terminal and Git Bash respectively. | |
- commands: ['shell-exec cmd'] | |
bindings: ['alt+enter'] | |
# Focus the next/previous active workspace defined in `workspaces` config. | |
- commands: ['focus --next-active-workspace'] | |
bindings: ['alt+s'] | |
- commands: ['focus --prev-active-workspace'] | |
bindings: ['alt+a'] | |
# Focus the workspace that last had focus. | |
- commands: ['focus --recent-workspace'] | |
bindings: ['alt+d'] | |
# Change focus to a workspace defined in `workspaces` config. | |
- commands: ['focus --workspace 1'] | |
bindings: ['alt+1'] | |
- commands: ['focus --workspace 2'] | |
bindings: ['alt+2'] | |
- commands: ['focus --workspace 3'] | |
bindings: ['alt+3'] | |
- commands: ['focus --workspace 4'] | |
bindings: ['alt+4'] | |
- commands: ['focus --workspace 5'] | |
bindings: ['alt+5'] | |
- commands: ['focus --workspace 6'] | |
bindings: ['alt+6'] | |
- commands: ['focus --workspace 7'] | |
bindings: ['alt+7'] | |
- commands: ['focus --workspace 8'] | |
bindings: ['alt+8'] | |
- commands: ['focus --workspace 9'] | |
bindings: ['alt+9'] | |
# Move the focused window's parent workspace to a monitor in a given | |
# direction. | |
- commands: ['move-workspace --direction left'] | |
bindings: ['alt+shift+a'] | |
- commands: ['move-workspace --direction right'] | |
bindings: ['alt+shift+f'] | |
- commands: ['move-workspace --direction up'] | |
bindings: ['alt+shift+d'] | |
- commands: ['move-workspace --direction down'] | |
bindings: ['alt+shift+s'] | |
# Move focused window to a workspace defined in `workspaces` config. | |
- commands: ['move --workspace 1', 'focus --workspace 1'] | |
bindings: ['alt+shift+1'] | |
- commands: ['move --workspace 2', 'focus --workspace 2'] | |
bindings: ['alt+shift+2'] | |
- commands: ['move --workspace 3', 'focus --workspace 3'] | |
bindings: ['alt+shift+3'] | |
- commands: ['move --workspace 4', 'focus --workspace 4'] | |
bindings: ['alt+shift+4'] | |
- commands: ['move --workspace 5', 'focus --workspace 5'] | |
bindings: ['alt+shift+5'] | |
- commands: ['move --workspace 6', 'focus --workspace 6'] | |
bindings: ['alt+shift+6'] | |
- commands: ['move --workspace 7', 'focus --workspace 7'] | |
bindings: ['alt+shift+7'] | |
- commands: ['move --workspace 8', 'focus --workspace 8'] | |
bindings: ['alt+shift+8'] | |
- commands: ['move --workspace 9', 'focus --workspace 9'] | |
bindings: ['alt+shift+9'] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// bit for modifiers | |
// bits: 0 None | |
// bits: 1 SHIFT | |
// bits: 2 CONTROL | |
// | |
// Note: | |
// If the default key layout is lower case, | |
// and you want to use `Shift + q` to trigger the exit event, | |
// the setting should like this `exit: Some(( code: Char('Q'), modifiers: ( bits: 1,),)),` | |
// The Char should be upper case, and the shift modified bit should be set to 1. | |
// | |
// Note: | |
// find `KeysList` type in src/keys/key_list.rs for all possible keys. | |
// every key not overwritten via the config file will use the default specified there | |
( | |
open_help: Some(( code: F(1), modifiers: ( bits: 0,),)), | |
move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)), | |
move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)), | |
move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)), | |
move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)), | |
popup_up: Some(( code: Char('p'), modifiers: ( bits: 2,),)), | |
popup_down: Some(( code: Char('n'), modifiers: ( bits: 2,),)), | |
page_up: Some(( code: Char('b'), modifiers: ( bits: 2,),)), | |
page_down: Some(( code: Char('f'), modifiers: ( bits: 2,),)), | |
home: Some(( code: Char('g'), modifiers: ( bits: 0,),)), | |
end: Some(( code: Char('G'), modifiers: ( bits: 1,),)), | |
shift_up: Some(( code: Char('K'), modifiers: ( bits: 1,),)), | |
shift_down: Some(( code: Char('J'), modifiers: ( bits: 1,),)), | |
edit_file: Some(( code: Char('I'), modifiers: ( bits: 1,),)), | |
status_reset_item: Some(( code: Char('U'), modifiers: ( bits: 1,),)), | |
diff_reset_lines: Some(( code: Char('u'), modifiers: ( bits: 0,),)), | |
diff_stage_lines: Some(( code: Char('s'), modifiers: ( bits: 0,),)), | |
stashing_save: Some(( code: Char('w'), modifiers: ( bits: 0,),)), | |
stashing_toggle_index: Some(( code: Char('m'), modifiers: ( bits: 0,),)), | |
stash_open: Some(( code: Char('l'), modifiers: ( bits: 0,),)), | |
abort_merge: Some(( code: Char('M'), modifiers: ( bits: 1,),)), | |
) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
theme = "fleet_dark" | |
[editor] | |
line-number = "relative" | |
rulers = [80] | |
bufferline = "multiple" | |
auto-completion = false | |
[editor.whitespace.render] | |
space = "all" | |
tab = "all" | |
newline = "none" | |
[editor.whitespace.characters] | |
space = "·" | |
nbsp = "⍽" | |
tab = "→" | |
newline = "⏎" | |
tabpad = "·" # Tabs will look like "→···" (depending on tab width) | |
[keys.normal] | |
A-l = ":buffer-next" | |
A-h = ":buffer-previous" | |
A-w = ":buffer-close" | |
A-0 = ":new" | |
[keys.insert] | |
A-x = "normal_mode" | |
[keys.select] | |
A-x = "normal_mode" | |
[editor.file-picker] | |
hidden = false | |
[editor.lsp] | |
# display-inlay-hints = true | |
[editor.indent-guides] | |
render = true | |
character = "▏" # Some characters that work well: "▏", "┆", "┊", "⸽" | |
[editor.soft-wrap] | |
enable = true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
inherits = "dark_plus" | |
"ui.background" = {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Language support configuration. | |
# See the languages documentation: https://docs.helix-editor.com/master/languages.html | |
use-grammars = { except = [ "hare", "wren", "gemini" ] } | |
[language-server] | |
als = { command = "als" } | |
ada-language-server = { command = "ada_language_server" } | |
ada-gpr-language-server = {command = "ada_language_server", args = ["--language-gpr"]} | |
angular = {command = "ngserver", args = ["--stdio", "--tsProbeLocations", ".", "--ngProbeLocations", ".",]} | |
awk-language-server = { command = "awk-language-server" } | |
bash-language-server = { command = "bash-language-server", args = ["start"] } | |
bass = { command = "bass", args = ["--lsp"] } | |
bicep-langserver = { command = "bicep-langserver" } | |
bitbake-language-server = { command = "bitbake-language-server" } | |
bufls = { command = "bufls", args = ["serve"] } | |
cairo-language-server = { command = "cairo-language-server", args = [] } | |
cl-lsp = { command = "cl-lsp", args = [ "stdio" ] } | |
clangd = { command = "clangd" } | |
clojure-lsp = { command = "clojure-lsp" } | |
cmake-language-server = { command = "cmake-language-server" } | |
crystalline = { command = "crystalline", args = ["--stdio"] } | |
cs = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] } | |
csharp-ls = { command = "csharp-ls" } | |
cuelsp = { command = "cuelsp" } | |
dart = { command = "dart", args = ["language-server", "--client-id=helix"] } | |
dhall-lsp-server = { command = "dhall-lsp-server" } | |
docker-langserver = { command = "docker-langserver", args = ["--stdio"] } | |
docker-compose-langserver = { command = "docker-compose-langserver", args = ["--stdio"]} | |
dot-language-server = { command = "dot-language-server", args = ["--stdio"] } | |
earthlyls = { command = "earthlyls" } | |
elixir-ls = { command = "elixir-ls", config = { elixirLS.dialyzerEnabled = false } } | |
elm-language-server = { command = "elm-language-server" } | |
elvish = { command = "elvish", args = ["-lsp"] } | |
erlang-ls = { command = "erlang_ls" } | |
forc = { command = "forc", args = ["lsp"] } | |
forth-lsp = { command = "forth-lsp" } | |
fortls = { command = "fortls", args = ["--lowercase_intrinsics"] } | |
fsharp-ls = { command = "fsautocomplete", config = { AutomaticWorkspaceInit = true } } | |
gleam = { command = "gleam", args = ["lsp"] } | |
graphql-language-service = { command = "graphql-lsp", args = ["server", "-m", "stream"] } | |
haskell-language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } | |
idris2-lsp = { command = "idris2-lsp" } | |
intelephense = { command = "intelephense", args = ["--stdio"] } | |
jdtls = { command = "jdtls" } | |
jsonnet-language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] } | |
julia = { command = "julia", timeout = 60, args = [ "--startup-file=no", "--history-file=no", "--quiet", "-e", "using LanguageServer; runserver()", ] } | |
koka = { command = "koka", args = ["--language-server", "--lsstdio"] } | |
kotlin-language-server = { command = "kotlin-language-server" } | |
lean = { command = "lean", args = [ "--server" ] } | |
ltex-ls = { command = "ltex-ls" } | |
markdoc-ls = { command = "markdoc-ls", args = ["--stdio"] } | |
markdown-oxide = { command = "markdown-oxide" } | |
marksman = { command = "marksman", args = ["server"] } | |
metals = { command = "metals", config = { "isHttpEnabled" = true, metals = { inlayHints = { typeParameters = {enable = true} , hintsInPatternMatch = {enable = true} } } } } | |
mint = { command = "mint", args = ["ls"] } | |
mojo-lsp = { command = "mojo-lsp-server" } | |
nil = { command = "nil" } | |
nimlangserver = { command = "nimlangserver" } | |
nimlsp = { command = "nimlsp" } | |
nls = { command = "nls" } | |
nu-lsp = { command = "nu", args = [ "--lsp" ] } | |
ocamllsp = { command = "ocamllsp" } | |
ols = { command = "ols", args = [] } | |
omnisharp = { command = "OmniSharp", args = [ "--languageserver" ] } | |
openscad-lsp = { command = "openscad-lsp", args = ["--stdio"] } | |
pasls = { command = "pasls", args = [] } | |
pbkit = { command = "pb", args = [ "lsp" ] } | |
perlnavigator = { command = "perlnavigator", args= ["--stdio"] } | |
pest-language-server = { command = "pest-language-server" } | |
prisma-language-server = { command = "prisma-language-server", args = ["--stdio"] } | |
purescript-language-server = { command = "purescript-language-server", args = ["--stdio"] } | |
pylsp = { command = "pylsp" } | |
pyright = { command = "pyright-langserver", args = ["--stdio"], config = {} } | |
pylyzer = { command = "pylyzer", args = ["--server"] } | |
qmlls = { command = "qmlls" } | |
r = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } | |
racket = { command = "racket", args = ["-l", "racket-langserver"] } | |
regols = { command = "regols" } | |
rescript-language-server = { command = "rescript-language-server", args = ["--stdio"] } | |
robotframework_ls = { command = "robotframework_ls" } | |
serve-d = { command = "serve-d" } | |
slint-lsp = { command = "slint-lsp", args = [] } | |
solargraph = { command = "solargraph", args = ["stdio"] } | |
solc = { command = "solc", args = ["--lsp"] } | |
sourcekit-lsp = { command = "sourcekit-lsp" } | |
svlangserver = { command = "svlangserver", args = [] } | |
swipl = { command = "swipl", args = [ "-g", "use_module(library(lsp_server))", "-g", "lsp_server:main", "-t", "halt", "--", "stdio" ] } | |
tailwindcss-ls = { command = "tailwindcss-language-server", args = ["--stdio"] } | |
taplo = { command = "taplo", args = ["lsp", "stdio"] } | |
templ = { command = "templ", args = ["lsp"] } | |
terraform-ls = { command = "terraform-ls", args = ["serve"] } | |
texlab = { command = "texlab" } | |
vala-language-server = { command = "vala-language-server" } | |
vhdl_ls = { command = "vhdl_ls", args = [] } | |
vlang-language-server = { command = "v-analyzer" } | |
vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { provideFormatter = true, css = { validate = { enable = true } } } } | |
vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } } | |
vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true, json = { validate = { enable = true } } } } | |
vuels = { command = "vue-language-server", args = ["--stdio"], config = { typescript = { tsdk = "node_modules/typescript/lib/" } } } | |
wgsl_analyzer = { command = "wgsl_analyzer" } | |
yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] } | |
zls = { command = "zls" } | |
blueprint-compiler = { command = "blueprint-compiler", args = ["lsp"] } | |
typst-lsp = { command = "typst-lsp" } | |
tinymist = { command = "tinymist" } | |
pkgbuild-language-server = { command = "pkgbuild-language-server" } | |
helm_ls = { command = "helm_ls", args = ["serve"] } | |
ember-language-server = { command = "ember-language-server", args = ["--stdio"] } | |
#LUA | |
[[language]] | |
name = "lua" | |
injection-regex = "lua" | |
scope = "source.lua" | |
file-types = ["lua"] | |
shebangs = ["lua", "luajit"] | |
roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"] | |
comment-token = "--" | |
block-comment-tokens = { start = "--[[", end = "--]]" } | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "lua-language-server" ] | |
[[grammar]] | |
name = "lua" | |
source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-lua", rev = "88e446476a1e97a8724dff7a23e2d709855077f2" } | |
[language-server.lua-language-server] | |
command = "lua-language-server" | |
[language-server.lua-language-server.config.Lua.hint] | |
enable = true | |
arrayIndex = "Enable" | |
setType = true | |
paramName = "All" | |
paramType = true | |
await = true | |
#RUST | |
[language-server.rust-analyzer] | |
command = "rust-analyzer" | |
[language-server.rust-analyzer.config] | |
inlayHints.bindingModeHints.enable = false | |
inlayHints.closingBraceHints.minLines = 10 | |
inlayHints.closureReturnTypeHints.enable = "with_block" | |
inlayHints.discriminantHints.enable = "fieldless" | |
inlayHints.lifetimeElisionHints.enable = "skip_trivial" | |
inlayHints.typeHints.hideClosureInitialization = false | |
[[language]] | |
name = "rust" | |
scope = "source.rust" | |
injection-regex = "rs|rust" | |
file-types = ["rs"] | |
roots = ["Cargo.toml", "Cargo.lock"] | |
shebangs = ["rust-script", "cargo"] | |
auto-format = false | |
comment-tokens = ["//", "///", "//!"] | |
block-comment-tokens = [ | |
{ start = "/*", end = "*/" }, | |
{ start = "/**", end = "*/" }, | |
{ start = "/*!", end = "*/" }, | |
] | |
language-servers = [ "rust-analyzer" ] | |
indent = { tab-width = 4, unit = " " } | |
persistent-diagnostic-sources = ["rustc", "clippy"] | |
[language.auto-pairs] | |
'(' = ')' | |
'{' = '}' | |
'[' = ']' | |
'"' = '"' | |
'`' = '`' | |
[language.debugger] | |
name = "lldb-dap" | |
transport = "stdio" | |
command = "lldb-dap" | |
[[language.debugger.templates]] | |
name = "binary" | |
request = "launch" | |
completion = [ { name = "binary", completion = "filename" } ] | |
args = { program = "{0}" } | |
[[language.debugger.templates]] | |
name = "binary (terminal)" | |
request = "launch" | |
completion = [ { name = "binary", completion = "filename" } ] | |
args = { program = "{0}", runInTerminal = true } | |
[[language.debugger.templates]] | |
name = "attach" | |
request = "attach" | |
completion = [ "pid" ] | |
args = { pid = "{0}" } | |
[[language.debugger.templates]] | |
name = "gdbserver attach" | |
request = "attach" | |
completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] | |
args = { attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } | |
[[grammar]] | |
name = "rust" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "9c84af007b0f144954adb26b3f336495cbb320a7" } | |
#JSON | |
[[language]] | |
name = "json" | |
scope = "source.json" | |
injection-regex = "json" | |
file-types = [ | |
"json", | |
"arb", | |
"ipynb", | |
"geojson", | |
"gltf", | |
"webmanifest", | |
{ glob = "flake.lock" }, | |
{ glob = ".babelrc" }, | |
{ glob = ".bowerrc" }, | |
{ glob = ".jscrc" }, | |
"js.map", | |
"ts.map", | |
"css.map", | |
{ glob = ".jslintrc" }, | |
"jsonl", | |
"jsonld", | |
{ glob = ".vuerc" }, | |
{ glob = "composer.lock" }, | |
{ glob = ".watchmanconfig" }, | |
"avsc", | |
{ glob = ".prettierrc" }, | |
] | |
language-servers = [ "vscode-json-language-server" ] | |
auto-format = true | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "json" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "73076754005a460947cafe8e03a8cf5fa4fa2938" } | |
[[language]] | |
name = "jsonc" | |
scope = "source.json" | |
injection-regex = "jsonc" | |
file-types = ["jsonc"] | |
grammar = "json" | |
language-servers = [ "vscode-json-language-server" ] | |
auto-format = true | |
indent = { tab-width = 2, unit = " " } | |
[[language]] | |
name = "json5" | |
scope = "source.json5" | |
injection-regex = "json5" | |
file-types = ["json5"] | |
language-servers = [] | |
comment-token = "//" | |
indent = { tab-width = 4, unit = " " } | |
# https://json5.org | |
[[grammar]] | |
name = "json5" | |
source = { git = "https://github.com/Joakker/tree-sitter-json5", rev = "c23f7a9b1ee7d45f516496b1e0e4be067264fa0d" } | |
#C | |
[[language]] | |
name = "c" | |
scope = "source.c" | |
injection-regex = "c" | |
file-types = ["c"] # TODO: ["h"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "clangd" ] | |
indent = { tab-width = 2, unit = " " } | |
[language.debugger] | |
name = "lldb-dap" | |
transport = "stdio" | |
command = "lldb-dap" | |
[[language.debugger.templates]] | |
name = "binary" | |
request = "launch" | |
completion = [ { name = "binary", completion = "filename" } ] | |
args = { console = "internalConsole", program = "{0}" } | |
[[language.debugger.templates]] | |
name = "attach" | |
request = "attach" | |
completion = [ "pid" ] | |
args = { console = "internalConsole", pid = "{0}" } | |
[[language.debugger.templates]] | |
name = "gdbserver attach" | |
request = "attach" | |
completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] | |
args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } | |
[[grammar]] | |
name = "c" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a" } | |
#C++ | |
[[language]] | |
name = "cpp" | |
scope = "source.cpp" | |
injection-regex = "cpp" | |
file-types = ["cc", "hh", "c++", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino", "C", "H", "cu", "cuh", "cppm", "h++", "ii", "inl", { glob = ".hpp.in" }, { glob = ".h.in" }] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "clangd" ] | |
indent = { tab-width = 2, unit = " " } | |
[language.debugger] | |
name = "lldb-dap" | |
transport = "stdio" | |
command = "lldb-dap" | |
[[language.debugger.templates]] | |
name = "binary" | |
request = "launch" | |
completion = [ { name = "binary", completion = "filename" } ] | |
args = { console = "internalConsole", program = "{0}" } | |
[[language.debugger.templates]] | |
name = "attach" | |
request = "attach" | |
completion = [ "pid" ] | |
args = { console = "internalConsole", pid = "{0}" } | |
[[language.debugger.templates]] | |
name = "gdbserver attach" | |
request = "attach" | |
completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] | |
args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } | |
[[grammar]] | |
name = "cpp" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "670404d7c689be1c868a46f919ba2a3912f2b7ef" } | |
#C-SHARP | |
[[language]] | |
name = "c-sharp" | |
scope = "source.csharp" | |
injection-regex = "c-?sharp" | |
file-types = ["cs", "csx", "cake"] | |
roots = ["sln", "csproj"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
indent = { tab-width = 4, unit = "\t" } | |
language-servers = [ "omnisharp" ] | |
[language.debugger] | |
name = "netcoredbg" | |
transport = "tcp" | |
command = "netcoredbg" | |
args = [ "--interpreter=vscode" ] | |
port-arg = "--server={}" | |
[[language.debugger.templates]] | |
name = "launch" | |
request = "launch" | |
completion = [ { name = "path to dll", completion = "filename" } ] | |
args = { type = "coreclr", console = "internalConsole", internalConsoleOptions = "openOnSessionStart", program = "{0}" } | |
[[language.debugger.templates]] | |
name = "attach" | |
request = "attach" | |
completion = [ "pid" ] | |
args = { processId = "{0}" } | |
[[grammar]] | |
name = "c-sharp" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "5b60f99545fea00a33bbfae5be956f684c4c69e2" } | |
#JAVASCRIPT | |
[[language]] | |
name = "javascript" | |
scope = "source.js" | |
injection-regex = "(js|javascript)" | |
language-id = "javascript" | |
file-types = ["js", "mjs", "cjs", "rules", "es6", "pac", { glob = ".node_repl_history" }, { glob = "jakefile" }] | |
shebangs = ["node"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "typescript-language-server" ] | |
indent = { tab-width = 2, unit = " " } | |
[language.debugger] | |
name = "node-debug2" | |
transport = "stdio" | |
# args consisting of cmd (node) and path to adapter should be added to user's configuration | |
quirks = { absolute-paths = true } | |
[[language.debugger.templates]] | |
name = "source" | |
request = "launch" | |
completion = [ { name = "main", completion = "filename", default = "index.js" } ] | |
args = { program = "{0}" } | |
[[grammar]] | |
name = "javascript" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "f772967f7b7bc7c28f845be2420a38472b16a8ee" } | |
#JSX | |
[[language]] | |
name = "jsx" | |
scope = "source.jsx" | |
injection-regex = "jsx" | |
language-id = "javascriptreact" | |
file-types = ["jsx"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "typescript-language-server" ] | |
indent = { tab-width = 2, unit = " " } | |
grammar = "javascript" | |
#SVELTE | |
[[language]] | |
name = "svelte" | |
scope = "source.svelte" | |
injection-regex = "svelte" | |
file-types = ["svelte"] | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "svelteserver" ] | |
[[grammar]] | |
name = "svelte" | |
source = { git = "https://github.com/Himujjal/tree-sitter-svelte", rev = "be7f2e7db1fc19f0852265ec60923fc058380739" } | |
#VUE | |
[[language]] | |
name = "vue" | |
scope = "source.vue" | |
injection-regex = "vue" | |
file-types = ["vue"] | |
roots = ["package.json"] | |
block-comment-tokens = { start = "<!--", end = "-->" } | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "vuels" ] | |
[[grammar]] | |
name = "vue" | |
source = { git = "https://github.com/ikatyang/tree-sitter-vue", rev = "91fe2754796cd8fba5f229505a23fa08f3546c06" } | |
#JSDOC | |
[[language]] | |
name = "jsdoc" | |
scope = "source.jsdoc" | |
injection-regex = "jsdoc" | |
file-types = ["jsdoc"] | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "jsdoc" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-jsdoc", rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db" } | |
#TYPESCRIPT | |
[[language]] | |
name = "typescript" | |
scope = "source.ts" | |
injection-regex = "(ts|typescript)" | |
language-id = "typescript" | |
file-types = ["ts", "mts", "cts"] | |
shebangs = ["deno", "bun", "ts-node"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "typescript-language-server" ] | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "typescript" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf", subpath = "typescript" } | |
#TSX | |
[[language]] | |
name = "tsx" | |
scope = "source.tsx" | |
injection-regex = "(tsx)" # |typescript | |
language-id = "typescriptreact" | |
file-types = ["tsx"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "typescript-language-server" ] | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "tsx" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf", subpath = "tsx" } | |
#CSS | |
[[language]] | |
name = "css" | |
scope = "source.css" | |
injection-regex = "css" | |
file-types = ["css", "scss"] | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "vscode-css-language-server" ] | |
auto-format = true | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "css" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51" } | |
#SCSS | |
[[language]] | |
name = "scss" | |
scope = "source.scss" | |
injection-regex = "scss" | |
file-types = ["scss"] | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "vscode-css-language-server" ] | |
auto-format = true | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "scss" | |
source = { git = "https://github.com/serenadeai/tree-sitter-scss", rev = "c478c6868648eff49eb04a4df90d703dc45b312a" } | |
#HTML | |
[[language]] | |
name = "html" | |
scope = "text.html.basic" | |
injection-regex = "html" | |
file-types = ["html", "htm", "shtml", "xhtml", "xht", "jsp", "asp", "aspx", "jshtm", "volt", "rhtml"] | |
block-comment-tokens = { start = "<!--", end = "-->" } | |
language-servers = [ "vscode-html-language-server" ] | |
auto-format = true | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "html" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "29f53d8f4f2335e61bf6418ab8958dac3282077a" } | |
#PYTHON | |
[[language]] | |
name = "python" | |
scope = "source.python" | |
injection-regex = "py(thon)?" | |
file-types = ["py", "pyi", "py3", "pyw", "ptl", "rpy", "cpy", "ipy", "pyt", { glob = ".python_history" }, { glob = ".pythonstartup" }, { glob = ".pythonrc" }, { glob = "SConstruct" }, { glob = "SConscript" }] | |
shebangs = ["python"] | |
roots = ["pyproject.toml", "setup.py", "poetry.lock", "pyrightconfig.json"] | |
comment-token = "#" | |
indent = { tab-width = 4, unit = " " } | |
[language-server.ruff] | |
command = "ruff-lsp" | |
[language-server.ruff.config.settings] | |
args = ["--ignore", "E501"] | |
[[grammar]] | |
name = "python" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-python", rev = "4bfdd9033a2225cc95032ce77066b7aeca9e2efc" } | |
#JINJA | |
[[language]] | |
name = "jinja" | |
scope = "text.html.jinja" | |
injection-regex = "jinja" | |
file-types = ["jinja", "jinja2", "j2"] | |
indent = { tab-width = 2, unit = " " } | |
grammar = "jinja2" | |
[[grammar]] | |
name = "jinja2" | |
source = { git = "https://github.com/varpeti/tree-sitter-jinja2", rev = "a533cd3c33aea6acb0f9bf9a56f35dcfe6a8eb53" } | |
#BASH | |
[[language]] | |
name = "bash" | |
scope = "source.bash" | |
injection-regex = "(shell|bash|zsh|sh)" | |
file-types = [ | |
"sh", | |
"bash", | |
"ash", | |
"dash", | |
"ksh", | |
"mksh", | |
"zsh", | |
"zshenv", | |
"zlogin", | |
"zlogout", | |
"zprofile", | |
"zshrc", | |
"eclass", | |
"ebuild", | |
"bazelrc", | |
"Renviron", | |
"zsh-theme", | |
"cshrc", | |
"tcshrc", | |
"bashrc_Apple_Terminal", | |
"zshrc_Apple_Terminal", | |
{ glob = "tmux.conf" }, | |
{ glob = ".bash_history" }, | |
{ glob = ".bash_login" }, | |
{ glob = ".bash_logout" }, | |
{ glob = ".bash_profile" }, | |
{ glob = ".bashrc" }, | |
{ glob = ".profile" }, | |
{ glob = ".zshenv" }, | |
{ glob = ".zlogin" }, | |
{ glob = ".zlogout" }, | |
{ glob = ".zprofile" }, | |
{ glob = ".zshrc" }, | |
{ glob = ".zimrc" }, | |
{ glob = "APKBUILD" }, | |
{ glob = ".bash_aliases" }, | |
{ glob = ".Renviron" }, | |
{ glob = ".xprofile" }, | |
{ glob = ".xsession" }, | |
{ glob = ".xsessionrc" }, | |
{ glob = ".yashrc" }, | |
{ glob = ".yash_profile" }, | |
{ glob = ".hushlogin" }, | |
] | |
shebangs = ["sh", "bash", "dash", "zsh"] | |
comment-token = "#" | |
language-servers = [ "bash-language-server" ] | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "bash" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "f8fb3274f72a30896075585b32b0c54cad65c086" } | |
#PHP | |
[[language]] | |
name = "php" | |
scope = "source.php" | |
injection-regex = "php" | |
file-types = ["php", "inc", "php4", "php5", "phtml", "ctp"] | |
shebangs = ["php"] | |
roots = ["composer.json", "index.php"] | |
comment-token = "//" | |
language-servers = [ "intelephense" ] | |
indent = { tab-width = 4, unit = " " } | |
[[grammar]] | |
name = "php" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "f860e598194f4a71747f91789bf536b393ad4a56" } | |
[[language]] | |
name = "php-only" | |
scope = "source.php-only" | |
injection-regex = "php-only" | |
file-types = [] | |
indent = { tab-width = 4, unit = " " } | |
roots = ["composer.json", "index.php"] | |
[[grammar]] | |
name = "php-only" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "cf1f4a0f1c01c705c1d6cf992b104028d5df0b53", subpath = "php_only" } | |
#LATEX | |
[[language]] | |
name = "latex" | |
scope = "source.tex" | |
injection-regex = "tex" | |
file-types = ["tex", "sty", "cls", "Rd", "bbx", "cbx"] | |
comment-token = "%" | |
language-servers = [ "texlab" ] | |
indent = { tab-width = 4, unit = "\t" } | |
[[grammar]] | |
name = "latex" | |
source = { git = "https://github.com/latex-lsp/tree-sitter-latex", rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6" } | |
#JAVA | |
[[language]] | |
name = "java" | |
scope = "source.java" | |
injection-regex = "java" | |
file-types = ["java", "jav", "pde"] | |
roots = ["pom.xml", "build.gradle", "build.gradle.kts"] | |
language-servers = [ "jdtls" ] | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "java" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-java", rev = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e" } | |
#GROOVY | |
[[language]] | |
name = "groovy" | |
language-id = "groovy" | |
scope = "source.groovy" | |
file-types = ["gradle", "groovy", "jenkinsfile", { glob = "Jenkinsfile" }, { glob = "Jenkinsfile.*" }] | |
shebangs = ["groovy"] | |
comment-token = "//" | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "groovy" | |
source = { git = "https://github.com/murtaza64/tree-sitter-groovy", rev = "235009aad0f580211fc12014bb0846c3910130c1" } | |
#YAML | |
[[language]] | |
name = "yaml" | |
scope = "source.yaml" | |
file-types = ["yml", "yaml"] | |
comment-token = "#" | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "yaml-language-server", "ansible-language-server" ] | |
injection-regex = "yml|yaml" | |
[[grammar]] | |
name = "yaml" | |
source = { git = "https://github.com/ikatyang/tree-sitter-yaml", rev = "0e36bed171768908f331ff7dff9d956bae016efb" } | |
#CMAKE | |
[[language]] | |
name = "cmake" | |
scope = "source.cmake" | |
file-types = ["cmake", { glob = "CMakeLists.txt" }] | |
comment-token = "#" | |
block-comment-tokens = { start = "#[[", end = "]]" } | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "cmake-language-server" ] | |
injection-regex = "cmake" | |
[[grammar]] | |
name = "cmake" | |
source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "6e51463ef3052dd3b328322c22172eda093727ad" } | |
#MAKE | |
[[language]] | |
name = "make" | |
scope = "source.make" | |
file-types = [{ glob = "Makefile" }, { glob = "makefile" }, "make", "mk", "mak", {glob = "GNUmakefile" }, { glob = "OCamlMakefile" }] | |
shebangs = ["make", "gmake"] | |
injection-regex = "(make|makefile|Makefile|mk)" | |
comment-token = "#" | |
indent = { tab-width = 4, unit = "\t" } | |
[[grammar]] | |
name = "make" | |
source = { git = "https://github.com/alemuller/tree-sitter-make", rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd" } | |
#GLSL | |
[[language]] | |
name = "glsl" | |
scope = "source.glsl" | |
file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
indent = { tab-width = 4, unit = " " } | |
injection-regex = "glsl" | |
[[grammar]] | |
name = "glsl" | |
source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "88408ffc5e27abcffced7010fc77396ae3636d7e" } | |
#WGSL | |
[[language]] | |
name = "wgsl" | |
scope = "source.wgsl" | |
file-types = ["wgsl"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
language-servers = [ "wgsl_analyzer" ] | |
indent = { tab-width = 4, unit = " " } | |
[[grammar]] | |
name = "wgsl" | |
source = { git = "https://github.com/szebniok/tree-sitter-wgsl", rev = "272e89ef2aeac74178edb9db4a83c1ffef80a463" } | |
#MARKDOWN | |
[[language]] | |
name = "markdown" | |
scope = "source.md" | |
injection-regex = "md|markdown" | |
file-types = ["md", "markdown", "mkd", "mkdn", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook", { glob = "PULLREQ_EDITMSG" }] | |
roots = [".marksman.toml"] | |
language-servers = [ "marksman", "markdown-oxide" ] | |
indent = { tab-width = 2, unit = " " } | |
block-comment-tokens = { start = "<!--", end = "-->" } | |
[[grammar]] | |
name = "markdown" | |
source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-markdown", rev = "62516e8c78380e3b51d5b55727995d2c511436d8", subpath = "tree-sitter-markdown" } | |
#DOCKER | |
[[language]] | |
name = "dockerfile" | |
scope = "source.dockerfile" | |
injection-regex = "docker|dockerfile" | |
roots = ["Dockerfile", "Containerfile"] | |
file-types = [ | |
"Dockerfile", | |
{ glob = "Dockerfile" }, | |
{ glob = "Dockerfile.*" }, | |
"dockerfile", | |
{ glob = "dockerfile" }, | |
{ glob = "dockerfile.*" }, | |
"Containerfile", | |
{ glob = "Containerfile" }, | |
{ glob = "Containerfile.*" }, | |
"containerfile", | |
{ glob = "containerfile" }, | |
{ glob = "containerfile.*" }, | |
] | |
comment-token = "#" | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "docker-langserver" ] | |
[[grammar]] | |
name = "dockerfile" | |
source = { git = "https://github.com/camdencheek/tree-sitter-dockerfile", rev = "8ee3a0f7587b2bd8c45c8cb7d28bd414604aec62" } | |
#DOCKER-COMPOSE | |
[[language]] | |
name = "docker-compose" | |
scope = "source.yaml.docker-compose" | |
roots = ["docker-compose.yaml", "docker-compose.yml"] | |
language-servers = [ "docker-compose-langserver", "yaml-language-server" ] | |
file-types = [{ glob = "docker-compose.yaml" }, { glob = "docker-compose.yml" }] | |
comment-token = "#" | |
indent = { tab-width = 2, unit = " " } | |
grammar = "yaml" | |
#GIT-COMMIT | |
[[language]] | |
name = "git-commit" | |
scope = "git.commitmsg" | |
file-types = [{ glob = "COMMIT_EDITMSG" }] | |
comment-token = "#" | |
indent = { tab-width = 2, unit = " " } | |
rulers = [51, 73] | |
text-width = 72 | |
[[grammar]] | |
name = "git-commit" | |
source = { git = "https://github.com/the-mikedavis/tree-sitter-git-commit", rev = "6f193a66e9aa872760823dff020960c6cedc37b3" } | |
#DIFF | |
[[language]] | |
name = "diff" | |
scope = "source.diff" | |
file-types = ["diff", "patch", "rej"] | |
injection-regex = "diff" | |
comment-token = "#" | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "diff" | |
source = { git = "https://github.com/the-mikedavis/tree-sitter-diff", rev = "fd74c78fa88a20085dbc7bbeaba066f4d1692b63" } | |
#GIT-REBASE | |
[[language]] | |
name = "git-rebase" | |
scope = "source.gitrebase" | |
file-types = [{ glob = "git-rebase-todo" }] | |
injection-regex = "git-rebase" | |
comment-token = "#" | |
indent = { tab-width = 2, unit = "y" } | |
[[grammar]] | |
name = "git-rebase" | |
source = { git = "https://github.com/the-mikedavis/tree-sitter-git-rebase", rev = "d8a4207ebbc47bd78bacdf48f883db58283f9fd8" } | |
#REGEX | |
[[language]] | |
name = "regex" | |
scope = "source.regex" | |
injection-regex = "regex" | |
file-types = ["regex", { glob = ".Rbuildignore" }] | |
[[grammar]] | |
name = "regex" | |
source = { git = "https://github.com/tree-sitter/tree-sitter-regex", rev = "e1cfca3c79896ff79842f057ea13e529b66af636" } | |
#GIT-CONFIG | |
[[language]] | |
name = "git-config" | |
scope = "source.gitconfig" | |
file-types = [{ glob = ".gitmodules" }, { glob = ".gitconfig" }, { glob = ".git/config" }, { glob = ".config/git/config" }] | |
injection-regex = "git-config" | |
comment-token = "#" | |
indent = { tab-width = 4, unit = "\t" } | |
[[grammar]] | |
name = "git-config" | |
source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "9c2a1b7894e6d9eedfe99805b829b4ecd871375e" } | |
#GIT-ATTRIBUTES | |
[[language]] | |
name = "git-attributes" | |
scope = "source.gitattributes" | |
file-types = [{ glob = ".gitattributes" }] | |
injection-regex = "git-attributes" | |
comment-token = "#" | |
grammar = "gitattributes" | |
[[grammar]] | |
name = "gitattributes" | |
source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" } | |
#GITIGNORE | |
[[language]] | |
name = "git-ignore" | |
scope = "source.gitignore" | |
file-types = [{ glob = ".gitignore_global" }, { glob = ".ignore" }, { glob = "CODEOWNERS" }, { glob = ".config/helix/ignore" }, { glob = ".helix/ignore" }, { glob = ".*ignore" }] | |
injection-regex = "git-ignore" | |
comment-token = "#" | |
grammar = "gitignore" | |
[[grammar]] | |
name = "gitignore" | |
source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" } | |
#GRAPHQL | |
[[language]] | |
name = "graphql" | |
scope = "source.graphql" | |
injection-regex = "graphql" | |
file-types = ["gql", "graphql", "graphqls"] | |
language-servers = [ "graphql-language-service" ] | |
comment-token = "#" | |
block-comment-tokens = { start = "\"\"\"", end = "\"\"\"" } | |
indent = { tab-width = 2, unit = " " } | |
[[grammar]] | |
name = "graphql" | |
source = { git = "https://github.com/bkegley/tree-sitter-graphql", rev = "5e66e961eee421786bdda8495ed1db045e06b5fe" } | |
#KOTLIN | |
[[language]] | |
name = "kotlin" | |
scope = "source.kotlin" | |
file-types = ["kt", "kts"] | |
roots = ["settings.gradle", "settings.gradle.kts"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
indent = { tab-width = 4, unit = " " } | |
language-servers = [ "kotlin-language-server" ] | |
[[grammar]] | |
name = "kotlin" | |
source = { git = "https://github.com/fwcd/tree-sitter-kotlin", rev = "a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569" } | |
#GLEAM | |
[[language]] | |
name = "gleam" | |
scope = "source.gleam" | |
injection-regex = "gleam" | |
file-types = ["gleam"] | |
roots = ["gleam.toml"] | |
comment-token = "//" | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "gleam" ] | |
auto-format = true | |
[[grammar]] | |
name = "gleam" | |
source = { git = "https://github.com/gleam-lang/tree-sitter-gleam", rev = "bcf9c45b56cbe46e9dac5eee0aee75df270000ac" } | |
#SQL | |
[[language]] | |
name = "sql" | |
scope = "source.sql" | |
file-types = ["sql", "dsql"] | |
comment-token = "--" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
indent = { tab-width = 4, unit = " " } | |
injection-regex = "sql" | |
[[grammar]] | |
name = "sql" | |
source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "da2d1eff425b146d3c8cab7be8dfa98b11d896dc" } | |
#NU | |
[[language]] | |
name = "nu" | |
scope = "source.nu" | |
injection-regex = "nu" | |
file-types = ["nu", "nuon"] | |
shebangs = ["nu"] | |
comment-token = "#" | |
indent = { tab-width = 2, unit = " " } | |
language-servers = [ "nu-lsp" ] | |
[[grammar]] | |
name = "nu" | |
source = { git = "https://github.com/nushell/tree-sitter-nu", rev = "358c4f509eb97f0148bbd25ad36acc729819b9c1" } | |
#SLINT | |
[[language]] | |
name = "slint" | |
scope = "source.slint" | |
injection-regex = "slint" | |
file-types = ["slint"] | |
comment-token = "//" | |
block-comment-tokens = { start = "/*", end = "*/" } | |
indent = { tab-width = 4, unit = " " } | |
language-servers = [ "slint-lsp" ] | |
[[grammar]] | |
name = "slint" | |
source = { git = "https://github.com/slint-ui/tree-sitter-slint", rev = "0701312b74b87fe20e61aa662ba41c5815b5d428" } | |
#XML | |
[[language]] | |
name = "xml" | |
scope = "source.xml" | |
injection-regex = "xml" | |
file-types = [ | |
"xml", | |
"mobileconfig", | |
"plist", | |
"xib", | |
"storyboard", | |
"svg", | |
"xsd", | |
"gml", | |
"xaml", | |
"gir", | |
"rss", | |
"atom", | |
"opml", | |
"policy", | |
"ascx", | |
"axml", | |
"axaml", | |
"bpmn", | |
"cpt", | |
"csl", | |
"csproj.user", | |
"dita", | |
"ditamap", | |
"dtml", | |
"fxml", | |
"iml", | |
"isml", | |
"jmx", | |
"launch", | |
"menu", | |
"mxml", | |
"nuspec", | |
"osc", | |
"osm", | |
"pt", | |
"publishsettings", | |
"pubxml", | |
"pubxml.user", | |
"rbxlx", | |
"rbxmx", | |
"rng", | |
"shproj", | |
"tld", | |
"tmx", | |
"vbproj.user", | |
"vcxproj", | |
"vcxproj.filters", | |
"wsdl", | |
"wxi", | |
"wxs", | |
"xbl", | |
"xlf", | |
"xliff", | |
"xpdl", | |
"xul", | |
"xoml", | |
"musicxml", | |
"glif", | |
"ui" | |
] | |
block-comment-tokens = { start = "<!--", end = "-->" } | |
indent = { tab-width = 2, unit = " " } | |
[language.auto-pairs] | |
'(' = ')' | |
'{' = '}' | |
'[' = ']' | |
'"' = '"' | |
"'" = "'" | |
"<" = ">" | |
[[grammar]] | |
name = "xml" | |
source = { git = "https://github.com/RenjiSann/tree-sitter-xml", rev = "48a7c2b6fb9d515577e115e6788937e837815651" } | |
#ENV | |
[[language]] | |
name = "env" | |
scope = "source.env" | |
file-types = [{ glob = ".env" }, { glob = ".env.*" }, { glob = ".envrc" }, { glob = ".envrc.*" }] | |
injection-regex = "env" | |
comment-token = "#" | |
indent = { tab-width = 4, unit = "\t" } | |
grammar = "bash" | |
#MSBUILD | |
[[language]] | |
name = "msbuild" | |
scope = "source.msbuild" | |
injection-regex = "msbuild" | |
file-types = ["proj", "vbproj", "csproj", "fsproj", "targets", "props"] | |
indent = { tab-width = 2, unit = " " } | |
block-comment-tokens = { start = "<!--", end = "-->" } | |
grammar = "xml" | |
[language.auto-pairs] | |
'(' = ')' | |
'{' = '}' | |
'[' = ']' | |
'"' = '"' | |
"'" = "'" | |
"<" = ">" | |
#NASM | |
[[language]] | |
name = "nasm" | |
scope = "source.nasm" | |
file-types = ["asm", "S", "nasm"] | |
injection-regex = "n?asm" | |
comment-token = ";" | |
indent = { tab-width = 8, unit = " " } | |
[[grammar]] | |
name = "nasm" | |
source = { git = "https://github.com/naclsn/tree-sitter-nasm", rev = "a0db15db6fcfb1bf2cc8702500e55e558825c48b" } | |
#POWERSHELL | |
[[language]] | |
name = "powershell" | |
scope = "source.powershell" | |
injection-regex = "(pwsh|powershell)" | |
file-types = [ "ps1", "psm1", "psd1", "pscc", "psrc" ] | |
shebangs = [ "pwsh", "powershell" ] | |
comment-token = '#' | |
block-comment-tokens = { start = "<#", end = "#>" } | |
indent = { tab-width = 4, unit = " " } | |
[[grammar]] | |
name = "powershell" | |
source = { git = "https://github.com/airbus-cert/tree-sitter-powershell", rev = "c9316be0faca5d5b9fd3b57350de650755f42dc0" } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"apps": [ | |
{ | |
"Name": "7zip", | |
"Updated": "2025-01-02T04:14:10.9701309-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "24.09" | |
}, | |
{ | |
"Name": "ast-grep", | |
"Updated": "2025-03-23T01:03:05.5184837-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.36.2" | |
}, | |
{ | |
"Name": "bat", | |
"Updated": "2025-02-21T00:20:25.2873958-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.25.0" | |
}, | |
{ | |
"Name": "blender", | |
"Updated": "2025-04-03T00:38:58.15554-04:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "4.4.0" | |
}, | |
{ | |
"Name": "dark", | |
"Updated": "2024-03-31T22:16:45.1556122-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "3.14" | |
}, | |
{ | |
"Name": "difftastic", | |
"Updated": "2025-02-21T00:20:29.141121-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.63.0" | |
}, | |
{ | |
"Name": "fd", | |
"Updated": "2024-09-26T00:00:43.1541373-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "10.2.0" | |
}, | |
{ | |
"Name": "fzf", | |
"Updated": "2025-04-03T00:38:59.7609073-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.61.0" | |
}, | |
{ | |
"Name": "gcc", | |
"Updated": "2024-02-09T00:09:59.0524034-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "13.2.0" | |
}, | |
{ | |
"Name": "gh", | |
"Updated": "2025-04-03T00:39:08.5170937-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "2.69.0" | |
}, | |
{ | |
"Name": "gitui", | |
"Updated": "2025-02-21T00:20:33.3789619-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.27.0" | |
}, | |
{ | |
"Name": "glazewm", | |
"Updated": "2025-02-21T00:20:35.490412-05:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "3.8.1" | |
}, | |
{ | |
"Name": "grep", | |
"Updated": "2023-10-23T01:30:01.3500319-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "3.11" | |
}, | |
{ | |
"Name": "helix", | |
"Updated": "2025-02-21T00:20:40.1612864-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "25.01.1" | |
}, | |
{ | |
"Name": "hledger", | |
"Updated": "2025-04-03T00:39:12.0952389-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "1.42.1" | |
}, | |
{ | |
"Name": "hurl", | |
"Updated": "2025-04-03T00:39:13.8741698-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "6.1.1" | |
}, | |
{ | |
"Name": "imhex", | |
"Updated": "2025-04-03T00:39:18.4357764-04:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "1.37.4" | |
}, | |
{ | |
"Name": "innounp", | |
"Updated": "2025-04-03T00:39:19.212277-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "2.64.3" | |
}, | |
{ | |
"Name": "jq", | |
"Updated": "2024-01-01T20:28:47.3898742-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "1.7.1" | |
}, | |
{ | |
"Name": "kicad", | |
"Updated": "2025-04-03T00:41:47.9537994-04:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "9.0.1" | |
}, | |
{ | |
"Name": "krita", | |
"Updated": "2025-02-21T00:22:57.2541179-05:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "5.2.9" | |
}, | |
{ | |
"Name": "llvm", | |
"Updated": "2025-04-03T00:42:22.7237446-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "20.1.2" | |
}, | |
{ | |
"Name": "lua-language-server", | |
"Updated": "2025-04-03T00:42:32.6364587-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "3.13.9" | |
}, | |
{ | |
"Name": "mcrcon", | |
"Updated": "2023-12-10T17:49:36.0747312-05:00", | |
"Info": "Install failed", | |
"Source": null, | |
"Version": null | |
}, | |
{ | |
"Name": "mingw", | |
"Updated": "2025-04-03T00:43:53.5049441-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "14.2.0-rt_v12-rev2" | |
}, | |
{ | |
"Name": "neovim", | |
"Updated": "2025-04-03T00:44:03.1918624-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.11.0" | |
}, | |
{ | |
"Name": "nu", | |
"Updated": "2025-02-21T00:26:31.0929016-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.102.0" | |
}, | |
{ | |
"Name": "openssh", | |
"Updated": "2025-01-02T04:16:26.3036994-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "9.8.1.0p1" | |
}, | |
{ | |
"Name": "openssl", | |
"Updated": "2025-02-21T00:27:52.4702774-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "3.4.1" | |
}, | |
{ | |
"Name": "poppler", | |
"Updated": "2025-01-02T04:16:28.234751-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "24.08.0-0" | |
}, | |
{ | |
"Name": "pskill", | |
"Updated": "2023-10-23T01:25:40.4631252-04:00", | |
"Info": "", | |
"Source": "sysinternals", | |
"Version": "1.17" | |
}, | |
{ | |
"Name": "ripgrep", | |
"Updated": "2024-09-26T00:01:41.5669069-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "14.1.1" | |
}, | |
{ | |
"Name": "termshark", | |
"Updated": "2023-10-11T14:54:16.9980281-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "2.4.0" | |
}, | |
{ | |
"Name": "tokei", | |
"Updated": "2024-09-06T14:51:09.7521083-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "12.1.2" | |
}, | |
{ | |
"Name": "unar", | |
"Updated": "2024-01-29T22:56:38.8332131-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "1.8.1" | |
}, | |
{ | |
"Name": "whois", | |
"Updated": "2024-03-21T01:24:57.1541161-04:00", | |
"Info": "", | |
"Source": "sysinternals", | |
"Version": "1.21" | |
}, | |
{ | |
"Name": "wireshark", | |
"Updated": "2025-04-03T00:44:17.8431714-04:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "4.4.5" | |
}, | |
{ | |
"Name": "xampp", | |
"Updated": "2024-01-03T19:46:57.9200211-05:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "8.2.12-0" | |
}, | |
{ | |
"Name": "yazi", | |
"Updated": "2025-04-03T00:44:19.0023998-04:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "25.3.2" | |
}, | |
{ | |
"Name": "zebar", | |
"Updated": "2025-02-21T00:28:57.4850108-05:00", | |
"Info": "", | |
"Source": "extras", | |
"Version": "2.7.0" | |
}, | |
{ | |
"Name": "zoxide", | |
"Updated": "2025-02-21T00:28:58.2902718-05:00", | |
"Info": "", | |
"Source": "main", | |
"Version": "0.9.7" | |
} | |
], | |
"buckets": [ | |
{ | |
"Name": "main", | |
"Source": "https://github.com/ScoopInstaller/Main.git", | |
"Updated": { | |
"value": "2025-04-03T00:29:55-04:00", | |
"DisplayHint": 2, | |
"DateTime": "Thursday, April 3, 2025 12:29:55 AM" | |
}, | |
"Manifests": 1387 | |
}, | |
{ | |
"Name": "extras", | |
"Source": "https://github.com/ScoopInstaller/Extras", | |
"Updated": { | |
"value": "2025-04-03T00:29:13-04:00", | |
"DisplayHint": 2, | |
"DateTime": "Thursday, April 3, 2025 12:29:13 AM" | |
}, | |
"Manifests": 2149 | |
}, | |
{ | |
"Name": "versions", | |
"Source": "https://github.com/ScoopInstaller/Versions", | |
"Updated": { | |
"value": "2025-04-02T22:11:56-04:00", | |
"DisplayHint": 2, | |
"DateTime": "Wednesday, April 2, 2025 10:11:56 PM" | |
}, | |
"Manifests": 487 | |
}, | |
{ | |
"Name": "sysinternals", | |
"Source": "https://github.com/niheaven/scoop-sysinternals", | |
"Updated": { | |
"value": "2025-02-13T20:55:14-05:00", | |
"DisplayHint": 2, | |
"DateTime": "Thursday, February 13, 2025 8:55:14 PM" | |
}, | |
"Manifests": 75 | |
}, | |
{ | |
"Name": "games", | |
"Source": "https://github.com/Calinou/scoop-games", | |
"Updated": { | |
"value": "2025-04-02T20:36:46-04:00", | |
"DisplayHint": 2, | |
"DateTime": "Wednesday, April 2, 2025 8:36:46 PM" | |
}, | |
"Manifests": 341 | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local wezterm = require "wezterm" | |
print("loaded keybinds"); | |
return { | |
{ key="n", mods="CTRL", action = wezterm.action{ SplitHorizontal={ domain= "CurrentPaneDomain"} }}, | |
{ key="m", mods="CTRL", action = wezterm.action{ SplitVertical={ domain= "CurrentPaneDomain"} }}, | |
{ key="H", mods="CTRL|SHIFT", action = wezterm.action{ ActivatePaneDirection="Left" }}, | |
{ key="J", mods="CTRL|SHIFT", action = wezterm.action{ ActivatePaneDirection="Down" }}, | |
{ key="K", mods="CTRL|SHIFT", action = wezterm.action{ ActivatePaneDirection="Up" }}, | |
{ key="L", mods="CTRL|SHIFT", action = wezterm.action{ ActivatePaneDirection="Right" }}, | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local wezterm = require 'wezterm'; | |
local keybinds = require 'keybinds'; | |
local mux = wezterm.mux | |
wezterm.on('gui-startup', function() | |
local tab, pane, window = mux.spawn_window{} | |
window:gui_window():toggle_fullscreen() | |
end) | |
local config = { | |
enable_tab_bar = true, | |
keys = keybinds, | |
font_size = 10.5, | |
font = wezterm.font "CaskaydiaCove NF", | |
window_background_opacity = 0.8, | |
default_prog = {"nu"}, | |
prefer_egl=true | |
}; | |
print("loaded config") | |
return config; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment