about summary refs log tree commit diff stats
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
+    ];
+  };
+}