Compare commits

...
4 changed files with 46 additions and 11 deletions

View file

@ -5,10 +5,10 @@
... ...
}: }:
let let
-- Include packages from a category only if that category is enabled. # Include packages from a category only if that category is enabled.
-- NOTE: The package list expression is still evaluated (packages in Nix are # NOTE: Package list expressions are lazily evaluated, and derivations are
-- lazy by default, so derivations are not built), so keep side-effecting # not built until needed, so keep side-effecting expressions out of these
-- expressions out of these lists. # lists.
maybe = cat: pkgsList: maybe = cat: pkgsList:
lib.optionals (config.cats.${cat} or false) pkgsList; lib.optionals (config.cats.${cat} or false) pkgsList;
rPackages = (pkgs.baseRPackages or [ ]) ++ config.settings.lang_packages.r; rPackages = (pkgs.baseRPackages or [ ]) ++ config.settings.lang_packages.r;
@ -25,7 +25,9 @@ in
}; };
config.catPkgs = { config.catPkgs = {
always = maybe "always" (with pkgs; [ ]); always = maybe "always" (with pkgs; [
ripgrep
]);
clickhouse = maybe "clickhouse" (with pkgs; [ clickhouse-lts ]); clickhouse = maybe "clickhouse" (with pkgs; [ clickhouse-lts ]);
@ -51,7 +53,7 @@ in
marksman marksman
texlab texlab
imagemagick imagemagick
luaPackages.magick harper
]); ]);
nix = maybe "nix" (with pkgs; [ nix = maybe "nix" (with pkgs; [

View file

@ -44,7 +44,10 @@
data_table data_table
janitor janitor
styler styler
vscDebugger # vscDebugger is not on CRAN/Bioconductor, so it is not available in
# pkgs.rpkgs.rPackages. Install it manually in your R library if you
# want to use the nvim-dap R adapter (see plugin/26_dap.lua).
# vscDebugger
lintr lintr
]) ])
); );

View file

@ -36,7 +36,6 @@ let
"rnoweb" "rnoweb"
"regex" "regex"
"sql" "sql"
"stata"
"toml" "toml"
"vim" "vim"
"vimdoc" "vimdoc"
@ -190,9 +189,9 @@ in {
]; ];
}; };
-- Lazy-loaded plugins needed when the `r` cat is on. Kept separate from # Lazy-loaded plugins needed when the `r` cat is on. Kept separate from
-- `utils-lazy` so users with `r=true` and `utils=false` still get the # `utils-lazy` so users with `r=true` and `utils=false` still get the
-- R debugger (via vscDebugger) and in-buffer image rendering for plots. # nvim-dap R adapter and in-buffer image rendering for plots.
config.specs.r-lazy = lib.mkIf (config.cats.r or false) { config.specs.r-lazy = lib.mkIf (config.cats.r or false) {
lazy = true; lazy = true;
data = with pkgs.vimPlugins; [ data = with pkgs.vimPlugins; [

View file

@ -17,6 +17,37 @@ now_if_args(function()
marksman = { marksman = {
filetypes = { "markdown", "markdown_inline", "codecompanion" }, filetypes = { "markdown", "markdown_inline", "codecompanion" },
}, },
harper_ls = {
cmd = { "harper-ls", "--stdio" },
filetypes = { "markdown", "quarto", "text", "tex", "typst" },
root_markers = { ".git", ".harper" },
settings = {
["harper-ls"] = {
linters = {
SpellCheck = true,
SpelledNumbers = false,
AnA = true,
SentenceCapitalization = true,
UnclosedQuotes = true,
WrongApostrophe = false,
LongSentences = true,
RepeatedWords = true,
Spaces = true,
CorrectNumberSuffix = true,
},
codeActions = {
ForceStable = false,
},
markdown = {
IgnoreLinkTitle = false,
},
diagnosticSeverity = "hint",
isolateEnglish = false,
dialect = "American",
maxFileLength = 120000,
},
},
},
nil_ls = { nil_ls = {
settings = { settings = {
["nil"] = { ["nil"] = {