File tree Expand file tree Collapse file tree 2 files changed +21
-11
lines changed Expand file tree Collapse file tree 2 files changed +21
-11
lines changed Original file line number Diff line number Diff line change 66
66
67
67
config =
68
68
let
69
- enabledServers = lib . filterAttrs ( _ : v : v . enable ) cfg . servers ;
70
- in
71
- {
72
- extraPackages = lib . pipe enabledServers [
69
+ enabledServers = lib . pipe cfg . servers [
73
70
builtins . attrValues
74
- ( builtins . catAttrs "package" )
71
+ ( builtins . filter ( server : server . enable ) )
75
72
] ;
73
+ in
74
+ {
75
+ extraPackages = builtins . catAttrs "package" enabledServers ;
76
76
77
77
lsp . luaConfig . content =
78
78
let
79
79
mkServerConfig =
80
- name : props :
80
+ server :
81
81
let
82
- luaName = toLuaObject name ;
82
+ luaName = toLuaObject server . name ;
83
+ luaCfg = toLuaObject server . config ;
83
84
in
84
85
''
85
- vim.lsp.config(${ luaName } , ${ toLuaObject props . config } )
86
+ vim.lsp.config(${ luaName } , ${ luaCfg } )
86
87
''
87
- + lib . optionalString props . activate ''
88
+ + lib . optionalString server . activate ''
88
89
vim.lsp.enable(${ luaName } )
89
90
'' ;
90
91
in
91
92
lib . mkMerge (
92
93
lib . optional cfg . inlayHints . enable "vim.lsp.inlay_hint.enable(true)"
93
- ++ lib . mapAttrsToList mkServerConfig enabledServers
94
+ ++ builtins . map mkServerConfig enabledServers
94
95
) ;
95
96
96
97
extraConfigLua = lib . mkIf ( cfg . luaConfig . content != "" ) ''
Original file line number Diff line number Diff line change 1
- { lib , ... } :
1
+ { lib , name , ... } :
2
2
let
3
3
inherit ( lib ) types ;
4
4
in
5
5
{
6
6
options = {
7
7
enable = lib . mkEnableOption "the language server" ;
8
8
9
+ name = lib . mkOption {
10
+ type = types . maybeRaw types . str ;
11
+ description = ''
12
+ The name of the language server, supplied to functions like `vim.lsp.enable()`.
13
+ '' ;
14
+ default = name ;
15
+ defaultText = lib . literalMD "the attribute name" ;
16
+ } ;
17
+
9
18
activate = lib . mkOption {
10
19
type = types . bool ;
11
20
description = ''
You can’t perform that action at this time.
0 commit comments