helix all options

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-01-19 22:08:46 +01:00
parent 132c169e24
commit 7324904db9

View File

@@ -6,6 +6,7 @@
# nil # nix language server # nil # nix language server
# nixd # specified in nixd.nix # nixd # specified in nixd.nix
gopls gopls
delve
python311Packages.python-lsp-server python311Packages.python-lsp-server
jdt-language-server jdt-language-server
ruff ruff
@@ -33,45 +34,175 @@
# theme = "base16_terminal"; # theme = "base16_terminal";
theme = "base16"; theme = "base16";
editor = { editor = {
scrolloff = 5;
mouse = true;
# default-yank-register = "\"";
middle-click-paste = false;
scroll-lines = 3;
shell = ["sh" "-c"];
line-number = "relative";
cursorline = true;
cursorcolumn = true;
# continue-comments = false;
auto-completion = true;
path-completion = true;
auto-format = false;
idle-timeout = 250;
completion-timeout = 5;
preview-completion-insert = true;
completion-trigger-len = 1;
auto-info = true;
true-color = false; # is detected automatically if set to false
undercurl = false; # is detected automatically if set to false
rulers = [];
bufferline = "always";
color-modes = true;
text-width = 120;
workspace-lsp-roots = [];
default-line-ending = "native";
insert-final-newline = false;
popup-border = "all";
indent-heuristic = "hybrid";
jump-label-alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
# clip-board-provider = # selected automatically
end-of-line-diagnostics = "hint";
statusline = {
left = [ "mode"
"spinner"
"file-name"
"read-only-indicator"
"file-type"
"version-control"
];
center = [
"position-percentage"
"total-line-numbers"
"register"
];
right = [
"spinner"
"diagnostics"
"selections"
"primary-selection-length"
"register"
"position"
"file-encoding"
];
# separator = " ";
mode = {
normal = "NORMAL";
insert = "INSERT";
select = "SELECT";
};
};
lsp = {
enable = true;
display-messages = false;
auto-signature-help = true;
display-inlay-hints = true;
};
cursor-shape = { cursor-shape = {
normal = "block"; normal = "block";
insert = "bar"; insert = "bar";
select = "underline"; select = "underline";
}; };
soft-wrap = { file-picker = {
enable = true; hidden = false; # Enables ignoring hidden files
follow-symlinks = true; # Follow symlinks instead of ignoring them
deduplicate-links = true; # Ignore symlinks that point at files already shown in the picker
parents = true; # Enables reading ignore files from parent directories
ignore = true; # Enables reading .ignore files
git-ignore = true; # Enables reading .gitignore files
git-global = true; # Enables reading global .gitignore, whose path is specified in git's config: core.excludesfile option
git-exclude = true; # Enables reading .git/info/exclude files
# max-depth unset = ; # Set with an integer value for maximum depth to recurse
};
auto-pairs = {
"(" = ")";
"{" = "}";
"[" = "]";
"\"" = "\"";
"`" = "`";
"<" = ">";
# "/* " = " */";
};
auto-save = {
focus-lost = false;
after-delay = {
enable = false;
timeout = 3000;
};
};
search = {
smart-case = true;
wrap-around = true;
};
whitespace = {
render = {
skip-levels = "none";
space = "none";
nbsp = "none";
nnbsp = "none";
tab = "none";
newline = "none";
tabpad = "none";
};
characters = {
skip-levels = 1;
space = "·";
nbsp = "";
nnbsp = "";
tab = "";
newline = "";
tabpad = "·";
};
}; };
line-number = "relative";
color-modes = true;
bufferline = "always";
popup-border = "all";
completion-trigger-len = 1;
completion-timeout = 5;
file-picker.hidden = false;
middle-click-paste = false;
cursorline = true;
indent-guides = { indent-guides = {
render = true; render = true;
character = ""; character = "";
skip-levels = 0;
}; };
lsp.display-inlay-hints = true; gutters = [
statusline.center = [ "position-percentage" ]; "diagnostics"
true-color = true; "spacer"
whitespace.characters = { "line-numbers"
newline = ""; "spacer"
tab = ""; "diff"
skip-levels = 1; ];
# line-numbers = {};
# layout.minwidth = 3;
# diagnostics = {};
# diff = {};
# spacer = {};
soft-wrap = {
enable = true;
max-wrap = 20;
max-indent-retain = 40;
wrap-indicator = "";
wrap-at-text-width = false;
};
smart-tab = {
enable = false;
supersend-menu = false;
};
inline-diagnostics = {
cursor-line = "hint";
other-lines = "disable";
prefix-len = 1;
# max-wrap = set above
max-diagnostics = 20;
}; };
}; };
keys.normal = { keys = {
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ]; normal = {
"A-`" = [ "no_op" ]; "C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
"`" = [ "no_op" ]; "A-`" = [ "no_op" ];
}; "`" = [ "no_op" ];
keys.normal."ö" = { "ö" = { "s" = [ "switch_case" ]; "u" = [ "switch_to_uppercase" ]; "l" = [ "switch_to_lowercase" ]; };
"s" = [ "switch_case" ]; };
"u" = [ "switch_to_uppercase" ]; select = {
"l" = [ "switch_to_lowercase" ]; "ö" = { "s" = [ "switch_case" ]; "u" = [ "switch_to_uppercase" ]; "l" = [ "switch_to_lowercase" ]; };
};
}; };
}; };
languages = { languages = {
@@ -94,7 +225,6 @@
file-types = [ "md" "MD" ]; file-types = [ "md" "MD" ];
scope = "text.<name>"; scope = "text.<name>";
} }
{ {
name = "python"; name = "python";
language-servers = [ "pyright" "ruff" ]; language-servers = [ "pyright" "ruff" ];
@@ -173,7 +303,7 @@
base16 = with rice.color; { base16 = with rice.color; {
"attributes" = foreground; "attributes" = foreground;
"comment" = { "comment" = {
"fg" = white.dark; "fg" = black.bright;
"modifiers" = [ "italic" ]; "modifiers" = [ "italic" ];
}; };
"constant" = accent.bright; "constant" = accent.bright;
@@ -319,8 +449,8 @@
"fg" = black.bright; "fg" = black.bright;
}; };
"ui.virtual.inlay-hint" = { "ui.virtual.inlay-hint" = {
"fg" = weird.bright; "fg" = weird.dark;
"bg" = weird.dark; "bg" = weird.base;
}; };
"ui.virtual.ruler" = { "ui.virtual.ruler" = {
"bg" = background; "bg" = background;