Skip to content

Instantly share code, notes, and snippets.

@dannyhvc
Last active December 4, 2025 07:09
Show Gist options
  • Select an option

  • Save dannyhvc/39e66b6f58970eee479227aa0744402e to your computer and use it in GitHub Desktop.

Select an option

Save dannyhvc/39e66b6f58970eee479227aa0744402e to your computer and use it in GitHub Desktop.
My Personal Helix + Wezterm config

This is my daily driver config for all my devices.

// 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,),)),
)
# theme = "gruvbox"
# theme = "onedark"
# theme = "chalkboard"
# theme = "fleet_dark"
# theme = "catppuccin_latte"
theme = "dark_plus"
[editor]
line-number = "relative"
rulers = [80]
bufferline = "multiple"
auto-completion = false
# Minimum severity to show a diagnostic after the end of a line:
end-of-line-diagnostics = "hint"
gutters = ["diagnostics", "spacer", "diff"]
[editor.inline-diagnostics]
# Minimum severity to show a diagnostic on the primary cursor's line.
# Note that `cursor-line` diagnostics are hidden in insert mode.
cursor-line = "error"
# Minimum severity to show a diagnostic on other lines:
# other-lines = "error"
[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"
W = "move_next_sub_word_start"
B = "move_prev_sub_word_start"
E = "move_next_sub_word_end"
[keys.insert]
A-x = "normal_mode"
[keys.select]
A-x = "normal_mode"
W = "move_next_sub_word_start"
B = "move_prev_sub_word_start"
E = "move_next_sub_word_end"
[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
# [keys.normal.space]
# e = [
# # ":sh rm -f /tmp/unique-file-h21a434",
# ":insert-output yazi '%{buffer_name}' --chooser-file=/tmp/unique-file-h21a434",
# # ":insert-output echo \"x1b[?1049h\" > /dev/tty",
# # ":open %sh{cat /tmp/unique-file-h21a434}",
# ":redraw",
# ]
# author: Daniel Herrera-Vazquez
# project: chalkboard
# github: https://github.com/dannyhvc/ChalkboardHelix
"attribute" = { fg = "text" }
"type" = { fg = "text" }
"type.builtin" = { fg = "keywords" }
"type.enum" = { fg = "keywords" }
"constructor" = { fg = "text", modifiers = ["bold"] }
"constant" = { fg = "text", modifiers = ["bold"] }
"constant.builtin" = { fg = "constants", modifiers = ["bold"] }
"constant.character" = { fg = "string" }
"constant.character.escape" = { fg = "constants", modifiers = ["bold"] }
"constant.numeric" = { fg = "keywords" }
"string" = { fg = "string" }
"string.regexp" = { fg = "constants" }
"comment" = { fg = "comment" }
"variable" = { fg = "text" }
"variable.builtin" = { fg = "keywords" }
"variable.parameter" = { fg = "text", modifiers = ["italic"] }
"label" = { fg = "text" }
"punctuation" = { fg = "text" }
"punctuation.special" = { fg = "constants", modifiers = ["bold"] }
"keyword" = { fg = "keywords", modifiers = ["bold"] }
"keyword.control" = { fg = "keywords" }
"keyword.control.return" = { fg = "keywords", modifiers = ["bold"] }
"keyword.operator" = { fg = "keywords" }
"keyword.directive" = { fg = "keywords" }
"operator" = { fg = "keywords" }
"function" = { fg = "text", modifiers = ["bold"] }
"tag" = { fg = "keywords", modifiers = ["bold"] }
"namespace" = { fg = "text" }
"special" = { fg = "white" }
"markup.heading.marker" = { fg = "keywords", modifiers = ["bold"] }
"markup.heading.1" = { fg = "text", modifiers = ["bold"] }
"markup.heading.2" = { fg = "text", modifiers = ["bold"] }
"markup.heading.3" = { fg = "text", modifiers = ["bold"] }
"markup.heading.4" = { fg = "text", modifiers = ["bold"] }
"markup.heading.5" = { fg = "text", modifiers = ["bold"] }
"markup.heading.6" = { fg = "text", modifiers = ["bold"] }
"markup.list" = { fg = "keywords", modifiers = ["bold"] }
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "text", modifiers = ["underlined"] }
"markup.link.text" = { fg = "string" }
"markup.quote" = { fg = "text" }
"markup.raw" = { fg = "string" }
"diff.plus" = { fg = "green" }
"diff.minus" = { fg = "red" }
"diff.delta" = { fg = "blue" }
"diff.delta.moved" = { fg = "gray" }
"ui.background" = { bg = "background", fg = "text" }
"ui.background.separator" = { fg = "text" }
"ui.cursor" = { bg = "yellow", fg = "black" }
"ui.cursor.normal" = { bg = "yellow", fg = "black" }
"ui.cursor.insert" = { bg = "yellow", fg = "black" }
"ui.cursor.select" = { bg = "yellow", fg = "black" }
"ui.cursor.match" = { bg = "light_gray" }
"ui.cursor.primary" = { bg = "yellow", fg = "black" }
"ui.cursor.primary.normal" = { bg = "yellow", fg = "black" }
"ui.cursor.primary.insert" = { bg = "yellow", fg = "black" }
"ui.cursor.primary.select" = { bg = "yellow", fg = "black" }
"ui.debug.breakpoint" = { fg = "red" }
"ui.debug.active" = { fg = "green" }
"ui.gutter" = { fg = "light_gray" }
"ui.gutter.selected" = { fg = "light_gray" }
"ui.linenr" = { fg = "light_gray" }
"ui.linenr.selected" = { fg = "yellow" }
"ui.statusline" = { fg = "text", bg = "gray" }
"ui.statusline.inactive" = { fg = "light_gray", bg = "gray" }
"ui.statusline.normal" = { bg = "light_gray" }
"ui.statusline.insert" = { bg = "green" }
"ui.statusline.select" = { bg = "purple" }
"ui.statusline.separator" = { fg = "dark_gray" }
"ui.popup" = { bg = "menu", fg = "text" }
"ui.popup.info" = { bg = "menu", fg = "text" }
"ui.window" = { fg = "text" }
"ui.help" = { fg = "text", bg = "menu" }
"ui.text" = { fg = "text" }
"ui.text.focus" = { bg = "gray" }
"ui.text.inactive" = { fg = "text" }
"ui.text.info" = { fg = "text" }
"ui.virtual.ruler" = { bg = "light_gray" }
"ui.virtual.whitespace" = { fg = "light_gray" }
"ui.virtual.indent-guide" = { fg = "light_gray" }
"ui.virtual.inlay-hint" = { fg = "light_gray" }
"ui.virtual.inlay-hint.parameter" = { fg = "light_gray" }
"ui.virtual.inlay-hint.type" = { fg = "light_gray" }
"ui.virtual.wrap" = { fg = "light_gray" }
"ui.virtual.jump-label" = { fg = "yellow", modifiers = ["italic"] }
"ui.menu" = { fg = "text", bg = "gray" }
"ui.menu.selected" = { fg = "text", bg = "light_gray", modifiers = ["bold"] }
"ui.menu.scroll" = { fg = "light_gray", bg = "dark_gray" }
"ui.selection" = { bg = "selection" }
"ui.selection.primary" = { bg = "selection" }
"ui.highlight" = { bg = "light_gray" }
"ui.highlight.frameline" = { fg = "gray" }
"ui.cursorline.primary" = { bg = "gray" }
"ui.cursorline.secondary" = { bg = "gray" }
"ui.cursorcolumn.primary" = { bg = "gray" }
"ui.cursorcolumn.secondary" = { bg = "gray" }
"warning" = { fg = "warning" }
"error" = { fg = "error" }
"info" = { fg = "info" }
"hint" = { fg = "hint" }
"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
"diagnostic.error" = { underline = { color = "error", style = "curl" } }
"diagnostic.info" = { underline = { color = "info", style = "curl" } }
"diagnostic.hint" = { underline = { color = "hint", style = "curl" } }
"diagnostic.unnecessary" = { modifiers = ["dim"] }
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
[palette]
# interface
background = "#080808"
yellow = "#ffd900"
gray = "#2a2a2a"
dark_gray = "#242424"
light_gray = "#545454"
purple = "#994c92"
white = "#FFFFFF"
blue = "#008DFF"
menu = "#202020"
selection = "#3f3f3f"
# syntax
text = "#FFFFFF"
comment = "#6b6b6b"
string = "#378b1d"
constants = "#FFFFFF"
keywords = "#FFFFFF"
warning = "#FF9C00"
error = "#FF0000"
info = "#0092FF"
hint = "#4DFF00"
{
"config": {
"scoop_repo": "https://github.com/ScoopInstaller/Scoop",
"scoop_branch": "master"
},
"apps": [
{
"Info": "",
"Source": "main",
"Name": "7zip",
"Version": "24.09",
"Updated": "\/Date(1734672536746)\/"
},
{
"Info": "",
"Source": "main",
"Name": "ast-grep",
"Version": "0.37.0",
"Updated": "\/Date(1745877411726)\/"
},
{
"Info": "",
"Source": "main",
"Name": "bat",
"Version": "0.25.0",
"Updated": "\/Date(1740431746455)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "blender",
"Version": "4.4.1",
"Updated": "\/Date(1745877442179)\/"
},
{
"Info": "",
"Source": "nerd-fonts",
"Name": "Cascadia-Code",
"Version": "2407.24",
"Updated": "\/Date(1734672541112)\/"
},
{
"Info": "",
"Source": "nerd-fonts",
"Name": "CascadiaCode-NF-Mono",
"Version": "3.4.0",
"Updated": "\/Date(1745877446386)\/"
},
{
"Info": "",
"Source": "main",
"Name": "cmake",
"Version": "4.0.1",
"Updated": "\/Date(1744329493290)\/"
},
{
"Info": "",
"Source": "main",
"Name": "dark",
"Version": "3.14.1",
"Updated": "\/Date(1745877447934)\/"
},
{
"Info": "",
"Source": "main",
"Name": "difftastic",
"Version": "0.63.0",
"Updated": "\/Date(1740431778845)\/"
},
{
"Info": "",
"Source": "main",
"Name": "docker",
"Version": "28.1.1",
"Updated": "\/Date(1745877452706)\/"
},
{
"Info": "",
"Source": "main",
"Name": "dufs",
"Version": "0.43.0",
"Updated": "\/Date(1742200078566)\/"
},
{
"Info": "",
"Source": "main",
"Name": "fd",
"Version": "10.2.0",
"Updated": "\/Date(1725947794775)\/"
},
{
"Info": "",
"Source": "main",
"Name": "fzf",
"Version": "0.61.3",
"Updated": "\/Date(1745877455403)\/"
},
{
"Info": "",
"Source": "main",
"Name": "gcc",
"Version": "13.2.0",
"Updated": "\/Date(1725947818874)\/"
},
{
"Info": "",
"Source": "main",
"Name": "gdb",
"Version": "14.1",
"Updated": "\/Date(1726107558147)\/"
},
{
"Info": "",
"Source": "main",
"Name": "gh",
"Version": "2.71.2",
"Updated": "\/Date(1745877459504)\/"
},
{
"Info": "",
"Source": "main",
"Name": "git",
"Version": "2.49.0",
"Updated": "\/Date(1742449033426)\/"
},
{
"Info": "",
"Source": "main",
"Name": "gitui",
"Version": "0.27.0",
"Updated": "\/Date(1740431814173)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "glazewm",
"Version": "3.8.1",
"Updated": "\/Date(1740431817008)\/"
},
{
"Info": "",
"Source": "main",
"Name": "grep",
"Version": "3.11",
"Updated": "\/Date(1725947961081)\/"
},
{
"Info": "",
"Source": "main",
"Name": "helix",
"Version": "25.01.1",
"Updated": "\/Date(1739151494306)\/"
},
{
"Info": "",
"Source": "main",
"Name": "hurl",
"Version": "6.1.1",
"Updated": "\/Date(1743748903834)\/"
},
{
"Info": "",
"Source": "main",
"Name": "innounp",
"Version": "2.64.3",
"Updated": "\/Date(1742449036733)\/"
},
{
"Info": "",
"Source": "main",
"Name": "jq",
"Version": "1.7.1",
"Updated": "\/Date(1725947942527)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "jqp",
"Version": "0.7.0",
"Updated": "\/Date(1739582132687)\/"
},
{
"Info": "",
"Source": "main",
"Name": "just",
"Version": "1.40.0",
"Updated": "\/Date(1742337394560)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "kicad",
"Version": "9.0.1",
"Updated": "\/Date(1743749083751)\/"
},
{
"Info": "",
"Source": "main",
"Name": "llvm",
"Version": "20.1.3",
"Updated": "\/Date(1745877517791)\/"
},
{
"Info": "",
"Source": "main",
"Name": "lua-language-server",
"Version": "3.14.0",
"Updated": "\/Date(1744329501393)\/"
},
{
"Info": "",
"Source": "main",
"Name": "marksman",
"Version": "2024-12-18",
"Updated": "\/Date(1734672741368)\/"
},
{
"Info": "",
"Source": "main",
"Name": "mingw",
"Version": "14.2.0-rt_v12-rev2",
"Updated": "\/Date(1743749307992)\/"
},
{
"Info": "",
"Source": "main",
"Name": "nodejs-lts",
"Version": "22.15.0",
"Updated": "\/Date(1745877526966)\/"
},
{
"Info": "",
"Source": "main",
"Name": "nu",
"Version": "0.103.0",
"Updated": "\/Date(1743749312167)\/"
},
{
"Info": "",
"Source": "main",
"Name": "openssh",
"Version": "9.8.3.0p2",
"Updated": "\/Date(1745877528272)\/"
},
{
"Info": "",
"Source": "main",
"Name": "poppler",
"Version": "24.08.0-0",
"Updated": "\/Date(1732132957085)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "powertoys",
"Version": "0.90.1",
"Updated": "\/Date(1745019352624)\/"
},
{
"Info": "",
"Source": "sysinternals",
"Name": "pskill",
"Version": "1.17",
"Updated": "\/Date(1725948091736)\/"
},
{
"Info": "",
"Source": "main",
"Name": "python",
"Version": "3.13.3",
"Updated": "\/Date(1744329542424)\/"
},
{
"Info": "",
"Source": "main",
"Name": "ripgrep",
"Version": "14.1.1",
"Updated": "\/Date(1725947952593)\/"
},
{
"Info": "",
"Source": "main",
"Name": "rust-analyzer",
"Version": "2025-04-28",
"Updated": "\/Date(1745877532293)\/"
},
{
"Info": "",
"Source": "main",
"Name": "rustup",
"Version": "1.28.1",
"Updated": "\/Date(1744649511115)\/"
},
{
"Info": "",
"Source": "main",
"Name": "tokei",
"Version": "12.1.2",
"Updated": "\/Date(1725947881041)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "universal-ctags",
"Version": "6.1.0",
"Updated": "\/Date(1726107509754)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "vcredist2022",
"Version": "14.42.34438.0",
"Updated": "\/Date(1740432354069)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "vscode",
"Version": "1.99.3",
"Updated": "\/Date(1745877549341)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "wezterm",
"Version": "20240203-110809-5046fc22",
"Updated": "\/Date(1725922646669)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "wireshark",
"Version": "4.4.6",
"Updated": "\/Date(1745877558973)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "xampp",
"Version": "8.2.12-0",
"Updated": "\/Date(1736311914219)\/"
},
{
"Info": "",
"Source": "main",
"Name": "yazi",
"Version": "25.4.8",
"Updated": "\/Date(1744329620044)\/"
},
{
"Info": "",
"Source": "extras",
"Name": "zebar",
"Version": "2.7.0",
"Updated": "\/Date(1740432408412)\/"
},
{
"Info": "",
"Source": "main",
"Name": "zoxide",
"Version": "0.9.7",
"Updated": "\/Date(1740432409346)\/"
}
],
"buckets": [
{
"Name": "main",
"Source": "https://github.com/ScoopInstaller/Main",
"Updated": {
"value": "\/Date(1749011444000)\/",
"DisplayHint": 2,
"DateTime": "June 4, 2025 12:30:44 AM"
},
"Manifests": 1389
},
{
"Name": "extras",
"Source": "https://github.com/ScoopInstaller/Extras",
"Updated": {
"value": "\/Date(1749011383000)\/",
"DisplayHint": 2,
"DateTime": "June 4, 2025 12:29:43 AM"
},
"Manifests": 2166
},
{
"Name": "sysinternals",
"Source": "https://github.com/niheaven/scoop-sysinternals",
"Updated": {
"value": "\/Date(1746497809000)\/",
"DisplayHint": 2,
"DateTime": "May 5, 2025 10:16:49 PM"
},
"Manifests": 75
},
{
"Name": "nerd-fonts",
"Source": "https://github.com/matthewjberger/scoop-nerd-fonts",
"Updated": {
"value": "\/Date(1748868676000)\/",
"DisplayHint": 2,
"DateTime": "June 2, 2025 8:51:16 AM"
},
"Manifests": 367
}
]
}
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" }},
}
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;
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']
# Author: David Else <12832280+David-Else@users.noreply.github.com>
# Edits: By Daniel Herrera
# SYNTAX
"attribute" = "variable"
"comment" = "dark_green"
"constant" = "constant"
"constant.builtin" = "blue2"
"constant.character" = "orange"
"constant.character.escape" = "gold"
"constant.numeric" = "pale_green"
"constructor" = "type"
"diff.delta" = "blue4"
"diff.minus" = "orange_red"
"diff.plus" = "dark_green2"
"function" = "fn_declaration"
"function.builtin" = "fn_declaration"
"function.macro" = "blue2"
"keyword" = "blue2"
"keyword.control" = "special"
"keyword.directive" = "special"
"label" = "blue2"
"module" = "type"
"namespace" = "type"
"operator" = "text"
"punctuation" = "text"
"punctuation.delimiter" = "text"
"special" = "light_blue"
"string" = "orange"
"string.regexp" = "gold"
"tag" = "blue2"
"type" = "type"
"type.builtin" = "type"
"type.enum.variant" = "constant"
"variable" = "variable"
"variable.builtin" = "blue2"
"variable.other.member" = "variable"
"variable.parameter" = "parameter"
# MARKUP
"markup.heading" = { fg = "blue2", modifiers = ["bold"] }
"markup.list" = "blue3"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"markup.link.url" = { underline.style= "line" }
"markup.link.text" = "orange"
"markup.quote" = "dark_green"
"markup.raw" = "orange"
# UI
"ui.background" = { fg = "light_gray", bg = "dark_gray2" }
"ui.window" = { bg = "widget" }
"ui.popup" = { fg = "text", bg = "widget" }
"ui.help" = { fg = "text", bg = "widget" }
"ui.menu" = { fg = "text", bg = "widget" }
"ui.menu.selected" = { bg = "dark_blue2" }
# 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", underline.style = "line" }
"ui.selection" = { bg = "#3a3d41" }
"ui.selection.primary" = { bg = "dark_blue" }
"ui.linenr" = { fg = "dark_gray" }
"ui.linenr.selected" = { fg = "light_gray2" }
"ui.cursorline.primary" = { bg = "dark_gray3" }
"ui.statusline" = { fg = "white", bg = "blue" }
"ui.statusline.inactive" = { fg = "white", bg = "widget" }
"ui.statusline.insert" = { fg = "white", bg = "yellow" }
"ui.statusline.select" = { fg = "white", bg = "magenta" }
"ui.bufferline" = { fg = "text", bg = "widget" }
"ui.bufferline.active" = { fg = "white", bg = "blue" }
"ui.bufferline.background" = { bg = "background" }
"ui.text" = { fg = "text" }
"ui.text.focus" = { fg = "white" }
"ui.text.directory" = { fg = "blue2" }
"ui.text.inactive" = { fg = "dark_gray" }
"ui.virtual.whitespace" = { fg = "#3e3e3d" }
"ui.virtual.wrap" = { fg = "#3e3e3d" }
"ui.virtual.ruler" = { bg = "borders" }
"ui.virtual.indent-guide" = { fg = "dark_gray4" }
"ui.virtual.inlay-hint" = { fg = "dark_gray5"}
"ui.virtual.jump-label" = { fg = "yellow", modifiers = ["bold"] }
"ui.highlight.frameline" = { bg = "#4b4b18" }
"ui.debug.active" = { fg = "#ffcc00" }
"ui.debug.breakpoint" = { fg = "#e51400" }
"ui.picker.header.column" = { underline.style = "line" }
"ui.picker.header.column.active" = { fg ="white", underline.style = "line" }
"warning" = { fg = "gold2" }
"error" = { fg = "red" }
"info" = { fg = "light_blue" }
"hint" = { fg = "light_gray3" }
"diagnostic.error".underline = { color = "red", style = "curl" }
"diagnostic".underline = { color = "gold", style = "curl" }
"diagnostic.unnecessary" = { modifiers = ["dim"] }
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
[palette]
white = "#ffffff"
orange = "#ce9178"
gold = "#d7ba7d"
gold2 = "#cca700"
pale_green = "#b5cea8"
dark_green = "#6A9955"
dark_green2 = "#487e02"
light_gray = "#d4d4d4"
light_gray2 = "#c6c6c6"
light_gray3 = "#eeeeee"
dark_gray = "#858585"
dark_gray2 = "#1e1e1e"
dark_gray3 = "#282828"
dark_gray4 = "#404040"
dark_gray5 = "#8b949e"
blue = "#007acc"
blue2 = "#569CD6"
blue3 = "#6796E6"
blue4 = "#1b81a8"
light_blue = "#75beff"
dark_blue = "#264f78"
dark_blue2 = "#094771"
red = "#ff1212"
orange_red = "#f14c4c"
type = "#4EC9B0"
special = "#C586C0"
variable = "#9CDCFE"
fn_declaration = "#FFDE59"
constant = "#4FC1FF"
parameter = "#CA6666"
background = "#1e1e1e"
text = "#d4d4d4"
cursor = "#a6a6a6"
widget = "#252526"
borders = "#323232"
#inherits = "dark_plus"
#"ui.background" = {}
# Language support configuration.
# See the languages documentation: https://docs.helix-editor.com/master/languages.html
[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"] }
biome = { command = "biome", args = ["lsp-proxy"] }
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"]
indent = { tab-width = 4, 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
procMacro = { ignored = { leptos_macro = [
# Optional:
# "component",
"server",
] } }
[[language]]
# hi Dani. hi -Dani
name = "rust"
scope = "source.rust"
injection-regex = "rs|rust"
file-types = ["rs"]
roots = ["Cargo.toml", "Cargo.lock"]
shebangs = ["rust-script", "cargo"]
auto-format = false
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 = [
{ name = "vscode-json-language-server", except-features = [
"format",
] },
"biome",
]
formatter = { command = "biome", args = [
"format",
"--stdin-file-path",
"test.json",
] }
auto-format = true
indent = { tab-width = 4, 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 = 4, unit = " " }
[[language]]
name = "json5"
scope = "source.json5"
injection-regex = "json5"
file-types = ["json5"]
language-servers = []
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", "h"] # TODO: ["h"]
language-servers = ["clangd"]
indent = { tab-width = 4, 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" },
]
language-servers = ["clangd"]
indent = { tab-width = 4, 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"]
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 (JS)
[[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"]
language-servers = [
{ name = "typescript-language-server", except-features = [
"format",
] },
"biome",
]
formatter = { command = "biome", args = [
"format",
"--stdin-file-path=prd.js", # no idea why a file name is needed
"--indent-style=space",
"--indent-width=4",
] }
indent = { tab-width = 4, 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"]
language-servers = [
{ name = "typescript-language-server", except-features = [
"format",
] },
"biome",
]
indent = { tab-width = 4, unit = " " }
formatter = { command = "biome", args = [
"format",
"--stdin-file-path=test.jsx", # no idea why a file name is needed
"--indent-style=space",
"--indent-width=4",
] }
grammar = "javascript"
#SVELTE
[[language]]
name = "svelte"
scope = "source.svelte"
injection-regex = "svelte"
file-types = ["svelte"]
indent = { tab-width = 4, 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"]
indent = { tab-width = 4, 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 = 4, unit = " " }
[[grammar]]
name = "jsdoc"
source = { git = "https://github.com/tree-sitter/tree-sitter-jsdoc", rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db" }
#TYPESCRIPT (TS)
[[language]]
name = "typescript"
scope = "source.ts"
injection-regex = "(ts|typescript)"
language-id = "typescript"
file-types = ["ts", "mts", "cts"]
shebangs = ["deno", "bun", "ts-node"]
language-servers = [
{ name = "typescript-language-server", except-features = [
"format",
] },
"biome",
]
formatter = { command = "biome", args = [
"format",
"--stdin-file-path=prd.ts", # no idea why a file name is needed
"--indent-style=space",
"--indent-width=4",
] }
indent = { tab-width = 4, 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"]
language-servers = [
{ name = "typescript-language-server", except-features = [
"format",
] },
"biome",
]
formatter = { command = "biome", args = [
"format",
"--stdin-file-path=prd.tsx", # no idea why a file name is needed
"--indent-style=space",
"--indent-width=4",
] }
indent = { tab-width = 4, unit = " " }
auto-format = true
[[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"]
language-servers = ["vscode-css-language-server"]
auto-format = true
indent = { tab-width = 4, 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"]
language-servers = ["vscode-css-language-server"]
auto-format = true
indent = { tab-width = 4, 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",
]
language-servers = ["vscode-html-language-server"]
auto-format = true
indent = { tab-width = 4, 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"]
indent = { tab-width = 4, unit = " " }
language-servers = ["pyright"]
formatter = { command = "black", args = [
"--line-length",
"80",
"--quiet",
"-",
] }
# [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 = 4, 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"]
language-servers = ["bash-language-server"]
indent = { tab-width = 4, 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"]
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"]
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 = 4, 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"]
indent = { tab-width = 4, 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"]
indent = { tab-width = 4, 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" }]
indent = { tab-width = 4, 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)"
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"]
indent = { tab-width = 4, unit = " " }
injection-regex = "glsl"
[[grammar]]
name = "glsl"
source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "88408ffc5e27abcffced7010fc77396ae3636d7e" }
#WGSL
[[language]]
roots = []
name = "wgsl"
scope = "source.wgsl"
file-types = ["wgsl"]
indent = { tab-width = 4, unit = " " }
language-servers = ["wgsl_analyzer"]
[[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 = 4, unit = " " }
[[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.*" },
]
indent = { tab-width = 4, 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" }]
indent = { tab-width = 4, unit = " " }
grammar = "yaml"
#GIT-COMMIT
[[language]]
name = "git-commit"
scope = "git.commitmsg"
file-types = [{ glob = "COMMIT_EDITMSG" }]
indent = { tab-width = 4, 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"
indent = { tab-width = 4, 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"
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"
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"
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"
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"]
indent = { tab-width = 4, 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"]
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"]
indent = { tab-width = 4, 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"]
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"]
indent = { tab-width = 4, 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"]
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",
]
indent = { tab-width = 4, 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"
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 = 4, unit = " " }
grammar = "xml"
[language.auto-pairs]
'(' = ')'
'{' = '}'
'[' = ']'
'"' = '"'
"'" = "'"
"<" = ">"
#NASM
[[language]]
name = "nasm"
scope = "source.nasm"
file-types = ["asm", "S", "nasm"]
injection-regex = "n?asm"
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"]
indent = { tab-width = 4, unit = " " }
[[grammar]]
name = "powershell"
source = { git = "https://github.com/airbus-cert/tree-sitter-powershell", rev = "c9316be0faca5d5b9fd3b57350de650755f42dc0" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment