mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-11-18 03:24:11 +00:00
languages: convert language modules M-Z
This commit is contained in:
parent
dade4b6ed6
commit
64fbc41f29
22 changed files with 341 additions and 445 deletions
|
|
@ -4,34 +4,35 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (builtins) isList attrNames;
|
||||
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.types) either listOf package str enum;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.nvim.languages) lspOptions;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.languages.ruby;
|
||||
|
||||
defaultServer = "rubyserver";
|
||||
defaultServer = "solargraph";
|
||||
servers = {
|
||||
rubyserver = {
|
||||
solargraph = {
|
||||
package = pkgs.rubyPackages.solargraph;
|
||||
lspConfig = ''
|
||||
lspconfig.solargraph.setup {
|
||||
capabilities = capabilities,
|
||||
on_attach = attach_keymaps,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
},
|
||||
cmd = { "${pkgs.solargraph}/bin/solargraph", "stdio" }
|
||||
}
|
||||
'';
|
||||
options = {
|
||||
cmd =
|
||||
if isList cfg.lsp.package
|
||||
then toLuaObject cfg.lsp.package
|
||||
else ''{"${getExe cfg.lsp.package}", "stdio"}'';
|
||||
|
||||
flags = {
|
||||
debounce_text_changes = 150;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# testing
|
||||
|
||||
defaultFormat = "rubocop";
|
||||
formats = {
|
||||
rubocop = {
|
||||
|
|
@ -58,9 +59,8 @@ in {
|
|||
|
||||
lsp = {
|
||||
enable = mkEnableOption "Ruby LSP support" // {default = config.vim.languages.enableLSP;};
|
||||
|
||||
server = mkOption {
|
||||
type = enum (attrNames servers);
|
||||
type = listOf (enum (attrNames servers));
|
||||
default = defaultServer;
|
||||
description = "Ruby LSP server to use";
|
||||
};
|
||||
|
|
@ -74,7 +74,6 @@ in {
|
|||
|
||||
format = {
|
||||
enable = mkEnableOption "Ruby formatter support" // {default = config.vim.languages.enableFormat;};
|
||||
|
||||
type = mkOption {
|
||||
type = enum (attrNames formats);
|
||||
default = defaultFormat;
|
||||
|
|
@ -89,10 +88,7 @@ in {
|
|||
};
|
||||
|
||||
extraDiagnostics = {
|
||||
enable =
|
||||
mkEnableOption "Ruby extra diagnostics support"
|
||||
// {default = config.vim.languages.enableExtraDiagnostics;};
|
||||
|
||||
enable = mkEnableOption "extra Ruby diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;};
|
||||
types = diagnostics {
|
||||
langDesc = "Ruby";
|
||||
inherit diagnosticsProviders;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue