formatting, big time
This commit is contained in:
parent
38d96c9f52
commit
509320c115
64 changed files with 1293 additions and 990 deletions
|
@ -1,213 +1,225 @@
|
|||
{config, ...}: {
|
||||
home-manager.users.jade = {
|
||||
pkgs,
|
||||
pkgs-stable,
|
||||
...
|
||||
}: {
|
||||
home = {
|
||||
sessionVariables.EDITOR = "hx";
|
||||
packages = [
|
||||
pkgs.wl-clipboard-rs
|
||||
pkgs.nil
|
||||
pkgs.vscode-langservers-extracted
|
||||
pkgs.nodePackages.typescript-language-server
|
||||
pkgs.emmet-language-server
|
||||
pkgs.jdt-language-server
|
||||
pkgs.tinymist
|
||||
pkgs.typstyle
|
||||
];
|
||||
};
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
settings = {
|
||||
theme = "gruvbox_dark_hard";
|
||||
editor = {
|
||||
line-number = "relative";
|
||||
bufferline = "multiple";
|
||||
color-modes = true;
|
||||
cursorline = true;
|
||||
auto-save = {
|
||||
after-delay.enable = true;
|
||||
after-delay.timeout = 10000;
|
||||
};
|
||||
auto-format = true;
|
||||
end-of-line-diagnostics = "hint";
|
||||
# slightly optimized based on my layout
|
||||
jump-label-alphabet = "jfkdhaslgwenuiopbcmyzqrtvx";
|
||||
clipboard-provider = "wayland";
|
||||
inline-diagnostics = {
|
||||
cursor-line = "hint";
|
||||
};
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
popup-border = "popup";
|
||||
shell = ["nu" "-c"];
|
||||
statusline.left = [
|
||||
"mode"
|
||||
"spinner"
|
||||
"spacer"
|
||||
"version-control"
|
||||
"file-name"
|
||||
"diagnostics"
|
||||
"read-only-indicator"
|
||||
"file-modification-indicator"
|
||||
"spacer"
|
||||
];
|
||||
|
||||
statusline.right = [
|
||||
"workspace-diagnostics"
|
||||
"register"
|
||||
"position"
|
||||
"selections"
|
||||
"file-encoding"
|
||||
"file-type"
|
||||
];
|
||||
idle-timeout = 50;
|
||||
completion-timeout = 100;
|
||||
indent-guides = {
|
||||
render = true;
|
||||
character = "│";
|
||||
skip-levels = 3;
|
||||
};
|
||||
soft-wrap = {
|
||||
enable = true;
|
||||
};
|
||||
whitespace = {
|
||||
render = {
|
||||
space = "none";
|
||||
tab = "all";
|
||||
newline = "none";
|
||||
};
|
||||
characters = {
|
||||
nbsp = "·";
|
||||
tab = "→";
|
||||
};
|
||||
};
|
||||
};
|
||||
keys = {
|
||||
normal = {
|
||||
space."=" = ":fmt";
|
||||
space.space = "@[<space>]<space>";
|
||||
|
||||
# smart tab++
|
||||
tab = "move_parent_node_end";
|
||||
S-tab = "move_parent_node_start";
|
||||
A-S = "@S[\\s]+<ret>";
|
||||
"'" = {
|
||||
D = "@<C-w>sgd";
|
||||
F = "@<C-w>sgy";
|
||||
d = "@<C-w>vgd";
|
||||
f = "@<C-w>vgy";
|
||||
h = ":toggle-option lsp.display-inlay-hints";
|
||||
t = ":pipe flip-bool";
|
||||
};
|
||||
};
|
||||
insert = {
|
||||
up = "no_op";
|
||||
down = "no_op";
|
||||
left = "no_op";
|
||||
right = "no_op";
|
||||
pageup = "no_op";
|
||||
pagedown = "no_op";
|
||||
home = "no_op";
|
||||
end = "no_op";
|
||||
|
||||
# smart tab ++
|
||||
S-tab = "move_parent_node_start";
|
||||
};
|
||||
select = {
|
||||
# smart tab++
|
||||
tab = "extend_parent_node_end";
|
||||
S-tab = "extend_parent_node_start";
|
||||
};
|
||||
};
|
||||
};
|
||||
languages = {
|
||||
language-server = {
|
||||
"nu-builtin-lsp" = {
|
||||
command = "${config.users.defaultUserShell}/bin/nu";
|
||||
args = ["--lsp"];
|
||||
};
|
||||
"rust-analyzer" = {
|
||||
config = {
|
||||
check.command = "check";
|
||||
completion.snippets.custom = {
|
||||
"pub fn" = {
|
||||
prefix = ["pfn" "pubfn"];
|
||||
postfix = ["pfn"];
|
||||
body = [
|
||||
"pub fn $\{receiver\}() {"
|
||||
"\\t$1"
|
||||
"}"
|
||||
];
|
||||
scope = "type";
|
||||
};
|
||||
};
|
||||
completion.termSearch.enable = true;
|
||||
diagnostics.enable = true;
|
||||
inlayHints = {
|
||||
bindingModeHints.enable = true;
|
||||
closureCaptureHints.enable = true;
|
||||
closureReturnTypeHints.enable = true;
|
||||
discriminantHints.enable = true;
|
||||
expressionAdjustmentHints = {
|
||||
hideOutsideUnsafe = true;
|
||||
};
|
||||
lifetimeElisionHints.enable = "skip_trivial";
|
||||
};
|
||||
interpret.tests = true;
|
||||
lens = {
|
||||
references = {
|
||||
adt.enable = true;
|
||||
trait.enable = true;
|
||||
};
|
||||
};
|
||||
typing.autoClosingAngleBrackets.enable = true;
|
||||
};
|
||||
};
|
||||
"emmet-language-server" = {
|
||||
command = "emmet-language-server";
|
||||
args = ["--stdio"];
|
||||
};
|
||||
"psalm" = {
|
||||
command = "psalm";
|
||||
args = ["--language-server"];
|
||||
};
|
||||
"tinymist" = {
|
||||
config = {
|
||||
exportPdf = "onType";
|
||||
formatterMode = "typstyle";
|
||||
};
|
||||
};
|
||||
};
|
||||
language = [
|
||||
{
|
||||
name = "nu";
|
||||
language-servers = ["nu-builtin-lsp"];
|
||||
}
|
||||
{
|
||||
name = "php";
|
||||
language-servers = ["psalm"];
|
||||
}
|
||||
{
|
||||
name = "nix";
|
||||
formatter = {
|
||||
command = "${pkgs.alejandra}/bin/alejandra";
|
||||
args = ["--quiet"];
|
||||
};
|
||||
auto-format = true;
|
||||
}
|
||||
{
|
||||
name = "html";
|
||||
roots = [".git"];
|
||||
language-servers = ["vscode-html-language-server" "emmet-language-server"];
|
||||
auto-format = false;
|
||||
}
|
||||
{ config, ... }:
|
||||
{
|
||||
home-manager.users.jade =
|
||||
{
|
||||
pkgs,
|
||||
pkgs-stable,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home = {
|
||||
sessionVariables.EDITOR = "hx";
|
||||
packages = [
|
||||
pkgs.wl-clipboard-rs
|
||||
pkgs.nil
|
||||
pkgs.vscode-langservers-extracted
|
||||
pkgs.nodePackages.typescript-language-server
|
||||
pkgs.emmet-language-server
|
||||
pkgs.jdt-language-server
|
||||
pkgs.tinymist
|
||||
pkgs.typstyle
|
||||
];
|
||||
};
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
settings = {
|
||||
theme = "gruvbox_dark_hard";
|
||||
editor = {
|
||||
line-number = "relative";
|
||||
bufferline = "multiple";
|
||||
color-modes = true;
|
||||
cursorline = true;
|
||||
auto-save = {
|
||||
after-delay.enable = true;
|
||||
after-delay.timeout = 10000;
|
||||
};
|
||||
auto-format = true;
|
||||
end-of-line-diagnostics = "hint";
|
||||
# slightly optimized based on my layout
|
||||
jump-label-alphabet = "jfkdhaslgwenuiopbcmyzqrtvx";
|
||||
clipboard-provider = "wayland";
|
||||
inline-diagnostics = {
|
||||
cursor-line = "hint";
|
||||
};
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
popup-border = "popup";
|
||||
shell = [
|
||||
"nu"
|
||||
"-c"
|
||||
];
|
||||
statusline.left = [
|
||||
"mode"
|
||||
"spinner"
|
||||
"spacer"
|
||||
"version-control"
|
||||
"file-name"
|
||||
"diagnostics"
|
||||
"read-only-indicator"
|
||||
"file-modification-indicator"
|
||||
"spacer"
|
||||
];
|
||||
|
||||
statusline.right = [
|
||||
"workspace-diagnostics"
|
||||
"register"
|
||||
"position"
|
||||
"selections"
|
||||
"file-encoding"
|
||||
"file-type"
|
||||
];
|
||||
idle-timeout = 50;
|
||||
completion-timeout = 100;
|
||||
indent-guides = {
|
||||
render = true;
|
||||
character = "│";
|
||||
skip-levels = 3;
|
||||
};
|
||||
soft-wrap = {
|
||||
enable = true;
|
||||
};
|
||||
whitespace = {
|
||||
render = {
|
||||
space = "none";
|
||||
tab = "all";
|
||||
newline = "none";
|
||||
};
|
||||
characters = {
|
||||
nbsp = "·";
|
||||
tab = "→";
|
||||
};
|
||||
};
|
||||
};
|
||||
keys = {
|
||||
normal = {
|
||||
space."=" = ":fmt";
|
||||
space.space = "@[<space>]<space>";
|
||||
|
||||
# smart tab++
|
||||
tab = "move_parent_node_end";
|
||||
S-tab = "move_parent_node_start";
|
||||
A-S = "@S[\\s]+<ret>";
|
||||
"'" = {
|
||||
D = "@<C-w>sgd";
|
||||
F = "@<C-w>sgy";
|
||||
d = "@<C-w>vgd";
|
||||
f = "@<C-w>vgy";
|
||||
h = ":toggle-option lsp.display-inlay-hints";
|
||||
t = ":pipe flip-bool";
|
||||
};
|
||||
};
|
||||
insert = {
|
||||
up = "no_op";
|
||||
down = "no_op";
|
||||
left = "no_op";
|
||||
right = "no_op";
|
||||
pageup = "no_op";
|
||||
pagedown = "no_op";
|
||||
home = "no_op";
|
||||
end = "no_op";
|
||||
|
||||
# smart tab ++
|
||||
S-tab = "move_parent_node_start";
|
||||
};
|
||||
select = {
|
||||
# smart tab++
|
||||
tab = "extend_parent_node_end";
|
||||
S-tab = "extend_parent_node_start";
|
||||
};
|
||||
};
|
||||
};
|
||||
languages = {
|
||||
language-server = {
|
||||
"nu-builtin-lsp" = {
|
||||
command = "${config.users.defaultUserShell}/bin/nu";
|
||||
args = [ "--lsp" ];
|
||||
};
|
||||
"rust-analyzer" = {
|
||||
config = {
|
||||
check.command = "check";
|
||||
completion.snippets.custom = {
|
||||
"pub fn" = {
|
||||
prefix = [
|
||||
"pfn"
|
||||
"pubfn"
|
||||
];
|
||||
postfix = [ "pfn" ];
|
||||
body = [
|
||||
"pub fn $\{receiver\}() {"
|
||||
"\\t$1"
|
||||
"}"
|
||||
];
|
||||
scope = "type";
|
||||
};
|
||||
};
|
||||
completion.termSearch.enable = true;
|
||||
diagnostics.enable = true;
|
||||
inlayHints = {
|
||||
bindingModeHints.enable = true;
|
||||
closureCaptureHints.enable = true;
|
||||
closureReturnTypeHints.enable = true;
|
||||
discriminantHints.enable = true;
|
||||
expressionAdjustmentHints = {
|
||||
hideOutsideUnsafe = true;
|
||||
};
|
||||
lifetimeElisionHints.enable = "skip_trivial";
|
||||
};
|
||||
interpret.tests = true;
|
||||
lens = {
|
||||
references = {
|
||||
adt.enable = true;
|
||||
trait.enable = true;
|
||||
};
|
||||
};
|
||||
typing.autoClosingAngleBrackets.enable = true;
|
||||
};
|
||||
};
|
||||
"emmet-language-server" = {
|
||||
command = "emmet-language-server";
|
||||
args = [ "--stdio" ];
|
||||
};
|
||||
"psalm" = {
|
||||
command = "psalm";
|
||||
args = [ "--language-server" ];
|
||||
};
|
||||
"tinymist" = {
|
||||
config = {
|
||||
exportPdf = "onType";
|
||||
formatterMode = "typstyle";
|
||||
};
|
||||
};
|
||||
};
|
||||
language = [
|
||||
{
|
||||
name = "nu";
|
||||
language-servers = [ "nu-builtin-lsp" ];
|
||||
}
|
||||
{
|
||||
name = "php";
|
||||
language-servers = [ "psalm" ];
|
||||
}
|
||||
{
|
||||
name = "nix";
|
||||
formatter = {
|
||||
command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
||||
args = [ "--quiet" ];
|
||||
};
|
||||
auto-format = true;
|
||||
}
|
||||
{
|
||||
name = "html";
|
||||
roots = [ ".git" ];
|
||||
language-servers = [
|
||||
"vscode-html-language-server"
|
||||
"emmet-language-server"
|
||||
];
|
||||
auto-format = false;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue