mirror of
https://github.com/traxys/Nixfiles.git
synced 2026-05-15 23:35:08 +02:00
neovim: Use mesonlsp instead of muon
This commit is contained in:
parent
a2ca7b7802
commit
1e1501215b
2 changed files with 58 additions and 50 deletions
65
flake.nix
65
flake.nix
|
|
@ -306,20 +306,23 @@
|
|||
}
|
||||
// (nixpkgs.legacyPackages."${system}".callPackage ./_sources/generated.nix {});
|
||||
|
||||
pkgList = system: callPackage:
|
||||
(import ./pkgs/default.nix {
|
||||
inherit callPackage;
|
||||
sources = sources system;
|
||||
naersk = inputs.naersk.lib."${system}";
|
||||
})
|
||||
// {
|
||||
glaurung = inputs.glaurung.defaultPackage."${system}";
|
||||
raclette = inputs.raclette.defaultPackage."${system}";
|
||||
roaming_proxy = inputs.roaming_proxy.defaultPackage."${system}";
|
||||
pkgList = system: callPackage: let
|
||||
packages =
|
||||
(import ./pkgs/default.nix {
|
||||
inherit callPackage;
|
||||
sources = sources system;
|
||||
naersk = inputs.naersk.lib."${system}";
|
||||
})
|
||||
// {
|
||||
glaurung = inputs.glaurung.defaultPackage."${system}";
|
||||
raclette = inputs.raclette.defaultPackage."${system}";
|
||||
roaming_proxy = inputs.roaming_proxy.defaultPackage."${system}";
|
||||
|
||||
inherit (nixpkgs-traxys.legacyPackages."${system}") groovy-language-server;
|
||||
inherit (inputs.mujmap.packages."${system}") mujmap;
|
||||
}
|
||||
inherit (nixpkgs-traxys.legacyPackages."${system}") groovy-language-server;
|
||||
inherit (inputs.mujmap.packages."${system}") mujmap;
|
||||
};
|
||||
in
|
||||
packages
|
||||
// (
|
||||
let
|
||||
inputsMatching = with builtins;
|
||||
|
|
@ -334,25 +337,27 @@
|
|||
(name: _: (match "${prefix}:.*" name) != null)
|
||||
inputs);
|
||||
|
||||
neovimPlugins = final: prev: {
|
||||
vimPlugins = prev.vimPlugins.extend (final': prev':
|
||||
(nixpkgs.lib.mapAttrs (
|
||||
pname: src:
|
||||
prev'."${pname}".overrideAttrs (old: {
|
||||
version = src.shortRev;
|
||||
inherit src;
|
||||
})
|
||||
) (inputsMatching "plugin"))
|
||||
// (
|
||||
nixpkgs.lib.mapAttrs (
|
||||
neovimPlugins = final: prev:
|
||||
{
|
||||
vimPlugins = prev.vimPlugins.extend (final': prev':
|
||||
(nixpkgs.lib.mapAttrs (
|
||||
pname: src:
|
||||
prev.vimUtils.buildVimPlugin {
|
||||
inherit pname src;
|
||||
prev'."${pname}".overrideAttrs (old: {
|
||||
version = src.shortRev;
|
||||
}
|
||||
) (inputsMatching "new-plugin")
|
||||
));
|
||||
};
|
||||
inherit src;
|
||||
})
|
||||
) (inputsMatching "plugin"))
|
||||
// (
|
||||
nixpkgs.lib.mapAttrs (
|
||||
pname: src:
|
||||
prev.vimUtils.buildVimPlugin {
|
||||
inherit pname src;
|
||||
version = src.shortRev;
|
||||
}
|
||||
) (inputsMatching "new-plugin")
|
||||
));
|
||||
}
|
||||
// packages;
|
||||
|
||||
nixvim' = inputs.nixvim.legacyPackages."${system}";
|
||||
neovimNightly = inputs.neovim-flake.packages."${system}".neovim;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,29 @@
|
|||
|
||||
autoGroups.BigFileOptimizer = {};
|
||||
autoCmd = [
|
||||
{
|
||||
event = ["BufNewFile" "BufRead"];
|
||||
pattern = ["meson.build" "meson_options.txt" "meson.options"];
|
||||
callback = let
|
||||
settings = {
|
||||
};
|
||||
in
|
||||
helpers.mkRaw ''
|
||||
function(args)
|
||||
local match = vim.fs.find(
|
||||
{"meson_options.txt", "meson.options", ".git"},
|
||||
{path = args.file, upward = true}
|
||||
)[1]
|
||||
local root_dir = match and vim.fn.fnamemodify(match, ":p:h") or nil
|
||||
vim.lsp.start({
|
||||
name = "mesonlsp",
|
||||
cmd = {"${lib.getExe pkgs.mesonlsp}", "--lsp"},
|
||||
root_dir = root_dir,
|
||||
settings = ${helpers.toLuaObject settings},
|
||||
})
|
||||
end
|
||||
'';
|
||||
}
|
||||
{
|
||||
event = "BufReadPost";
|
||||
pattern = [
|
||||
|
|
@ -492,26 +515,6 @@
|
|||
};
|
||||
settings = {
|
||||
logLevel = 1;
|
||||
languages.meson = [
|
||||
(helpers.mkRaw (helpers.toLuaObject {
|
||||
prefix = "muon-fmt";
|
||||
formatCommand = "muon fmt -";
|
||||
formatStdin = true;
|
||||
}))
|
||||
(helpers.mkRaw (helpers.toLuaObject {
|
||||
prefix = "muon-analyze";
|
||||
lintSource = "efm/muon-analyze";
|
||||
lintCommand = "muon analyze -l";
|
||||
lintWorkspace = true;
|
||||
lintStdin = false;
|
||||
LintIgnoreExitCode = true;
|
||||
rootMarkers = ["meson_options.txt" ".git"];
|
||||
lintFormats = [
|
||||
"%f:%l:%c: %trror %m"
|
||||
"%f:%l:%c: %tarning %m"
|
||||
];
|
||||
}))
|
||||
];
|
||||
};
|
||||
};
|
||||
taplo.enable = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue