Update helix

This commit is contained in:
Antun Krasic
2025-01-15 13:49:50 +00:00
parent 7aa87e4eb8
commit 2d14723733
6 changed files with 555 additions and 6 deletions

View File

@@ -1,11 +1,11 @@
theme = "monokai_pro" theme = "tokyonight_moon"
[editor] [editor]
bufferline = "always" bufferline = "multiple"
true-color = true true-color = true
[editor.statusline] [editor.statusline]
left = ["mode", "spinner"] left = ["mode", "spinner", "file-name", "file-modification-indicator"]
center = ["file-name"] center = ["file-name"]
# right = ["diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"] # right = ["diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"]
right = ["version-control", "diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"] right = ["version-control", "diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"]
@@ -17,9 +17,31 @@ mode.select = "SELECT"
[editor.gutters] [editor.gutters]
layout = ["line-numbers", "diff", "diagnostics", "spacer"] layout = ["line-numbers", "diff", "diagnostics", "spacer"]
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
[editor.inline-diagnostics]
# cursor-line = "hint"
other-lines = "error"
[editor.whitespace.characters]
space = "·"
nbsp = "⍽"
tab = "→"
newline = "⏎"
tabpad = "·" # Tabs will look like "→···" (depending on tab width)
[editor.soft-wrap]
enable = true
max-wrap = 25 # increase value to reduce forced mid-word wrapping
max-indent-retain = 0
wrap-indicator = "" # set wrap-indicator to "" to hide it
[editor.lsp] [editor.lsp]
display-messages = true display-messages = true
display-inlay-hints = true display-inlay-hints = false
[editor.indent-guides] [editor.indent-guides]
render = true render = true
@@ -27,8 +49,14 @@ character = "╎" # Some characters that work well: "▏", "┆", "┊", "⸽"
skip-levels = 1 skip-levels = 1
[keys.normal] [keys.normal]
C-g = ":sh tmux popup -d \"#{pane_current_path}\" -xC -yC -w80% -h80% -E lazygit" C-c = "normal_mode"
C-g = ":sh zellij run -f -x 10% -y 10% --width 80% --height 80% -- gitui"
C-y = ":sh zellij run -f -x 10% -y 10% --width 80% --height 80% -- bash ~/.config/helix/yazi-picker.sh"
[keys.insert] [keys.insert]
C-c = "normal_mode" C = "normal_mode"
A-c = "toggle_comments" A-c = "toggle_comments"
j = { k = "normal_mode" }
[keys.normal.space]
l = ":toggle lsp.display-inlay-hints"

View File

@@ -4,3 +4,37 @@ file-types = ["yaml", "yml"]
language-servers = [ "yaml-language-server" ] language-servers = [ "yaml-language-server" ]
auto-format = true auto-format = true
formatter = { command = "prettier", args = ["--parser", "yaml"] } formatter = { command = "prettier", args = ["--parser", "yaml"] }
[language-server.yaml-language-server.config.yaml.schemas]
"https://json.schemastore.org/github-workflow.json" = ".github/workflows/*.{yml,yaml}"
"https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible-tasks.json" = "roles/{tasks,handlers}/*.{yml,yaml}"
[[language]]
name = "rust"
language-servers = ["rust-analyzer" ]
auto-format = true
indent = { tab-width = 4, unit = "t" }
[language-server.rust-analyzer]
command = "rust-analyzer"
[language-server.rust-analyzer.config]
check.command = "clippy"
[[language]]
name = "markdown"
# https://github.com/executablebooks/mdformat
formatter = { command = "mdformat", args = ["-"] }
[language-server.solargraph]
command = "/home/akrasic/.asdf/shims/solargraph"
args = ["stdio"]
config = { diagnostics = false, formatting = false }
[language-server.rubocop]
command = "/home/akrasic/.asdf/shims/rubocop"
args = ["--lsp", "--stderr", "--fail-level", "fatal"]
timeout = 3
[[language]]
name = "ruby"
language-servers = ["rubocop", { name = "solargraph", except-features = [ "format", "diagnostics" ] }]
auto-format = true

View File

@@ -0,0 +1,157 @@
# Syntax highlighting
# -------------------
"attribute" = "yellow"
"type" = "yellow"
"type.enum.variant" = "teal"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "pink"
"string.special" = "blue"
"string.special.symbol" = "red"
"comment" = { fg = "overlay2", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "blue"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.macro" = "mauve"
"tag" = "blue"
"namespace" = { fg = "yellow", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "blue"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
"ui.bufferline.background" = { bg = "crust" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "overlay1" }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
[palette]
rosewater = "#f5e0dc"
flamingo = "#f2cdcd"
pink = "#f5c2e7"
mauve = "#cba6f7"
red = "#f38ba8"
maroon = "#eba0ac"
peach = "#fab387"
yellow = "#f9e2af"
green = "#a6e3a1"
teal = "#94e2d5"
sky = "#89dceb"
sapphire = "#74c7ec"
blue = "#89b4fa"
lavender = "#b4befe"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"
cursorline = "#2a2b3c"
secondary_cursor = "#b5a6a8"
secondary_cursor_normal = "#878ec0"
secondary_cursor_insert = "#7ea87f"

View File

@@ -0,0 +1,122 @@
## Original Author
# URL: https://github.com/sainnhe/gruvbox-material
# Author: sainnhe
# License: MIT License
"type" = "yellow"
"constant" = "purple"
"constant.numeric" = "purple"
"constant.character.escape" = "orange"
"string" = "green"
"string.regexp" = "blue"
"comment" = "grey0"
"variable" = "fg0"
"variable.builtin" = "blue"
"variable.parameter" = "fg0"
"variable.other.member" = "fg0"
"label" = "aqua"
"punctuation" = "grey2"
"punctuation.delimiter" = "grey2"
"punctuation.bracket" = "fg0"
"keyword" = "red"
"keyword.directive" = "aqua"
"operator" = "orange"
"function" = "green"
"function.builtin" = "blue"
"function.macro" = "aqua"
"tag" = "yellow"
"namespace" = "aqua"
"attribute" = "aqua"
"constructor" = "yellow"
"module" = "blue"
"special" = "orange"
"markup.heading.marker" = "grey2"
"markup.heading.1" = { fg = "red", modifiers = ["bold"] }
"markup.heading.2" = { fg = "orange", modifiers = ["bold"] }
"markup.heading.3" = { fg = "yellow", modifiers = ["bold"] }
"markup.heading.4" = { fg = "green", modifiers = ["bold"] }
"markup.heading.5" = { fg = "blue", modifiers = ["bold"] }
"markup.heading.6" = { fg = "fg", modifiers = ["bold"] }
"markup.list" = "red"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
"markup.link.text" = "purple"
"markup.quote" = "grey2"
"markup.raw" = "green"
"diff.plus" = "green"
"diff.delta" = "orange"
"diff.minus" = "red"
"ui.background" = { bg = "bg0" }
"ui.background.separator" = "grey0"
"ui.cursor" = { fg = "bg0", bg = "fg0" }
"ui.cursor.match" = { fg = "orange", bg = "bg_visual_yellow" }
"ui.cursor.insert" = { fg = "bg0", bg = "grey2" }
"ui.cursor.select" = { fg = "bg0", bg = "blue" }
"ui.cursorline.primary" = { bg = "bg1" }
"ui.cursorline.secondary" = { bg = "bg1" }
"ui.selection" = { bg = "bg3" }
"ui.linenr" = "grey0"
"ui.linenr.selected" = "fg0"
"ui.statusline" = { fg = "fg0", bg = "bg3" }
"ui.statusline.inactive" = { fg = "grey0", bg = "bg1" }
"ui.statusline.normal" = { fg = "bg0", bg = "fg0", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "bg0", bg = "yellow", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "bg0", bg = "blue", modifiers = ["bold"] }
"ui.popup" = { fg = "grey2", bg = "bg2" }
"ui.window" = { fg = "grey0", bg = "bg0" }
"ui.help" = { fg = "fg0", bg = "bg1" }
"ui.text" = "fg0"
"ui.text.focus" = "fg0"
"ui.menu" = { fg = "fg0", bg = "bg2" }
"ui.menu.selected" = { fg = "bg0", bg = "blue", modifiers = ["bold"] }
"ui.virtual.whitespace" = { fg = "bg4" }
"ui.virtual.indent-guide" = { fg = "bg4" }
"ui.virtual.ruler" = { bg = "bg3" }
"hint" = "blue"
"info" = "aqua"
"warning" = "yellow"
"error" = "red"
"diagnostic" = { modifiers = ["underlined"] }
[palette]
bg0 = "#1d2021"
bg1 = "#282828"
bg2 = "#282828"
bg3 = "#3c3836"
bg4 = "#3c3836"
bg5 = "#504945"
bg_statusline1 = "#282828"
bg_statusline2 = "#32302f"
bg_statusline3 = "#504945"
bg_diff_green = "#32361a"
bg_visual_green = "#333e34"
bg_diff_red = "#3c1f1e"
bg_visual_red = "#442e2d"
bg_diff_blue = "#0d3138"
bg_visual_blue = "#2e3b3b"
bg_visual_yellow = "#473c29"
bg_current_word = "#32302f"
fg0 = "#e2cca9"
fg1 = "#e2cca9"
red = "#f2594b"
orange = "#f28534"
yellow = "#e9b143"
green = "#b0b846"
aqua = "#8bba7f"
blue = "#80aa9e"
purple = "#d3869b"
bg_red = "#db4740"
bg_green = "#b0b846"
bg_yellow = "#e9b143"
grey0 = "#7c6f64"
grey1 = "#928374"
grey2 = "#a89984"

195
themes/rose_pine.toml Normal file
View File

@@ -0,0 +1,195 @@
# Author: Rosé Pine <hi@rosepinetheme.com>
# Upstream: https://github.com/rose-pine/helix
# Contributing:
# Please submit changes to https://github.com/rose-pine/helix.
# The Rosé Pine team will update Helix, including you as a co-author.
"ui.background" = { bg = "base" }
"ui.background.separator" = { bg = "base" }
"ui.cursor" = { fg = "text", bg = "highlight_high" }
# "ui.cursor.select" = {}
"ui.cursor.match" = { fg = "text", bg = "highlight_med" }
"ui.cursor.primary" = { fg = "text", bg = "muted" }
# "ui.gutter" = {}
# "ui.gutter.selected" = {}
"ui.linenr" = { fg = "muted" }
"ui.linenr.selected" = { fg = "text" }
"ui.bufferline" = { fg = "muted", bg = "base" }
"ui.bufferline.active" = { fg = "text", bg = "overlay" }
"ui.statusline" = { fg = "subtle", bg = "surface" }
"ui.statusline.inactive" = { fg = "muted", bg = "surface" }
"ui.statusline.normal" = { fg = "rose", bg = "rose_10" }
"ui.statusline.insert" = { fg = "foam", bg = "foam_10" }
"ui.statusline.select" = { fg = "iris", bg = "iris_10" }
# "ui.statusline.separator" = {}
"ui.popup" = { bg = "surface" }
"ui.popup.info" = { bg = "surface" }
"ui.picker.header" = { fg = "iris", modifiers = ["bold"] }
"ui.window" = { fg = "overlay", bg = "base" }
"ui.help" = { fg = "subtle", bg = "overlay" }
"ui.text" = { fg = "text" }
"ui.text.focus" = { bg = "overlay" }
"ui.text.info" = { fg = "subtle" }
"ui.virtual.jump-label" = { fg = "love", modifiers = ["bold"] }
"ui.virtual.ruler" = { bg = "overlay" }
"ui.virtual.whitespace" = { fg = "highlight_high" }
"ui.virtual.indent-guide" = { fg = "muted" }
"ui.virtual.inlay-hint" = { fg = "subtle" }
"ui.menu" = { fg = "subtle", bg = "surface" }
"ui.menu.selected" = { fg = "text" }
"ui.menu.scroll" = { fg = "muted", bg = "highlight_med" }
"ui.selection" = { bg = "overlay" }
"ui.selection.primary" = { bg = "highlight_med" }
"ui.cursorline.primary" = { bg = "highlight_low" }
"ui.cursorline.secondary" = { bg = "surface" }
"warning" = "gold"
"error" = "love"
"info" = "foam"
"hint" = "iris"
"debug" = "rose"
"diagnostic" = { underline = { color = "subtle", style = "curl" } }
"diagnostic.hint" = { underline = { color = "iris", style = "curl" } }
"diagnostic.info" = { underline = { color = "foam", style = "curl" } }
"diagnostic.warning" = { underline = { color = "gold", style = "curl" } }
"diagnostic.error" = { underline = { color = "love", style = "curl" } }
"special" = "rose"
"attribute" = "iris"
"type" = "foam"
# "type.builtin" = ""
"constructor" = "foam"
"constant" = "foam"
"constant.builtin" = "love"
"constant.builtin.boolean" = "rose"
"constant.character" = "gold"
"constant.character.escape" = "pine"
"constant.numeric" = "gold"
# "constant.numeric.integer" = ""
# "constant.numeric.float" = ""
"string" = "gold"
# "string.regexp" = ""
# "string.special" = ""
# "string.special.path" = ""
# "string.special.url" = ""
# "string.special.symbol" = ""
"comment" = { fg = "muted", modifiers = ["italic"] }
# "comment.line" = ""
# "comment.block" = ""
# "comment.block.documentation" = ""
"variable" = "text"
"variable.builtin" = "love"
"variable.parameter" = "iris"
# "variable.other" = ""
"variable.other.member" = "foam"
"label" = "foam"
"punctuation" = "subtle"
# "punctuation.delimiter" = ""
# "punctuation.bracket" = ""
# "punctuation.special" = ""
"keyword" = "pine"
# "keyword.control" = ""
# "keyword.control.conditional" = ""
# "keyword.control.repeat" = ""
# "keyword.control.import" = ""
# "keyword.control.return" = ""
# "keyword.control.exception" = ""
"keyword.operator" = "subtle"
# "keyword.directive" = ""
# "keyword.function" = ""
# "keyword.storage" = ""
# "keyword.storage.type" = ""
# "keyword.storage.modifier" = ""
"operator" = "subtle"
"function" = "rose" # maybe pine
"function.builtin" = "love"
# "function.method" = ""
# "function.macro" = ""
# "function.special" = ""
"tag" = "foam"
"namespace" = "text"
"markup.heading.marker" = "muted"
"markup.heading" = { fg = "iris", modifiers = ["bold"] }
"markup.heading.1" = { fg = "iris", modifiers = ["bold"] }
"markup.heading.2" = { fg = "foam", modifiers = ["bold"] }
"markup.heading.3" = { fg = "rose", modifiers = ["bold"] }
"markup.heading.4" = { fg = "gold", modifiers = ["bold"] }
"markup.heading.5" = { fg = "pine", modifiers = ["bold"] }
"markup.heading.6" = { fg = "foam", modifiers = ["bold"] }
# "markup.heading.completion" = ""
# "markup.heading.hover" = ""
"markup.list" = "muted"
# "markup.list.unnumbered" = ""
# "markup.list.numbered" = ""
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"markup.link" = "iris"
"markup.link.url" = { fg = "iris", underline = { color = "iris", style = "line" } }
"markup.link.label" = "subtle"
"markup.link.text" = "foam"
"markup.quote" = "subtle"
"markup.raw" = "subtle"
"markup.raw.inline" = "gold"
# "markup.raw.inline.completion" = {}
# "markup.raw.inline.hover" = {}
"markup.raw.block" = "gold"
# "markup.normal" = ""
# "markup.normal.completion" = ""
# "markup.normal.hover" = ""
"diff" = "overlay"
"diff.plus" = "foam"
"diff.minus" = "love"
"diff.delta" = "highlight_high"
# "diff.delta.moved" = ""
[palette]
base = "#191724"
surface = "#1f1d2e"
overlay = "#26233a"
muted = "#6e6a86"
subtle = "#908caa"
text = "#e0def4"
love = "#eb6f92"
love_10 = "#311f30"
gold = "#f6c177"
gold_10 = "#30282c"
rose = "#ebbcba"
rose_10 = "#2f2834"
pine = "#31748f"
pine_10 = "#1a2030"
foam = "#9ccfd8"
foam_10 = "#252937"
iris = "#c4a7e7"
iris_10 = "#2b2539"
highlight_low = "#21202e"
highlight_med = "#403d52"
highlight_high = "#524f67"

13
yazi-picker.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
paths=$(yazi --chooser-file=/dev/stdout | while read -r; do printf "%q " "$REPLY"; done)
if [[ -n "$paths" ]]; then
zellij action toggle-floating-panes
zellij action write 27 # send <Escape> key
zellij action write-chars ":open $paths"
zellij action write 13 # send <Enter> key
zellij action toggle-floating-panes
fi
zellij action close-pane