aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/nv/nvim/plgs/lsp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/nv/nvim/plgs/lsp')
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/default.nix3
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix19
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix4
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/zls.nix30
4 files changed, 51 insertions, 5 deletions
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/default.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/default.nix
index b6e47ca4..0e7be6e8 100644
--- a/modules/by-name/nv/nvim/plgs/lsp/servers/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/default.nix
@@ -11,13 +11,14 @@
imports = [
./servers/bashls.nix
./servers/ccls.nix
- ./servers/quick-lint-js.nix
./servers/ltex.nix
./servers/lua-ls.nix
./servers/nil-ls.nix
./servers/openscad.nix
+ ./servers/quick-lint-js.nix
./servers/ruff-lsp.nix
./servers/rust-analyzer.nix
./servers/texlab.nix
+ ./servers/zls.nix
];
}
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix
index 3d55adfa..1d516c9d 100644
--- a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix
@@ -21,10 +21,25 @@ in {
lua
*/
''
- require('lspconfig').openscad_lsp.setup{
- cmd = {"openscad-lsp", "--stdio", "--fmt-style", "WebKit"},
+ vim.lsp.config['openscad_lsp'] = {
+ cmd = {"openscad-lsp", "--stdio", "--fmt-style", "WebKit"},
}
+ vim.lsp.enable("openscad_lsp")
'';
+
+ autoCmd = [
+ {
+ command = "set filetype=openscad";
+ event = [
+ "BufRead"
+ "BufNewFile"
+ ];
+ pattern = [
+ "*.scad"
+ ];
+ }
+ ];
+
extraPackages = [
pkgs.openscad-lsp
pkgs.clang-tools # Need to satisfy `clang-format` (which is used by openscad-lsp)
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
index 404784f1..097abfbe 100644
--- a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
@@ -21,9 +21,9 @@ in {
lua
*/
''
- require('lspconfig').quick_lint_js.setup{
- }
+ vim.lsp.enable('quick_lint_js')
'';
+
extraPackages = [
pkgs.quick-lint-js
];
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/zls.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/zls.nix
new file mode 100644
index 00000000..aab7a135
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/zls.nix
@@ -0,0 +1,30 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+ lib,
+ config,
+ pkgs,
+ ...
+}: let
+ cfg = config.soispha.programs.nvim;
+in {
+ home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
+ extraConfigLuaPost =
+ /*
+ lua
+ */
+ ''
+ vim.lsp.enable("zls")
+ '';
+ extraPackages = [
+ pkgs.zls
+ ];
+ };
+}