about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/language-servers/zls
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/language-servers/zls')
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/zls/default.nix37
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/zls/deps.nix27
2 files changed, 64 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
new file mode 100644
index 000000000000..b8ef6ec8988d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, zig_0_11
+, callPackage
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "zls";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "zigtools";
+    repo = "zls";
+    rev = finalAttrs.version;
+    fetchSubmodules = true;
+    hash = "sha256-WrbjJyc4pj7R4qExdzd0DOQ9Tz3TFensAfHdecBA8UI=";
+  };
+
+  nativeBuildInputs = [
+    zig_0_11.hook
+  ];
+
+  postPatch = ''
+    ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
+  '';
+
+  meta = {
+    description = "Zig LSP implementation + Zig Language Server";
+    mainProgram = "zls";
+    changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}";
+    homepage = "https://github.com/zigtools/zls";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ figsoda moni ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/nixpkgs/pkgs/development/tools/language-servers/zls/deps.nix b/nixpkgs/pkgs/development/tools/language-servers/zls/deps.nix
new file mode 100644
index 000000000000..5c1b2ce89d3c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/language-servers/zls/deps.nix
@@ -0,0 +1,27 @@
+# generated by zon2nix (https://github.com/figsoda/zon2nix)
+
+{ linkFarm, fetchzip }:
+
+linkFarm "zig-packages" [
+  {
+    name = "1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5";
+    path = fetchzip {
+      url = "https://gist.github.com/antlilja/8372900fcc09e38d7b0b6bbaddad3904/archive/6c3321e0969ff2463f8335da5601986cf2108690.tar.gz";
+      hash = "sha256-m/kr4kmkG2rLkAj5YwvM0HmXTd+chAiQHzYK6ozpWlw=";
+    };
+  }
+  {
+    name = "122048992ca58a78318b6eba4f65c692564be5af3b30fbef50cd4abeda981b2e7fa5";
+    path = fetchzip {
+      url = "https://github.com/ziglibs/known-folders/archive/fa75e1bc672952efa0cf06160bbd942b47f6d59b.tar.gz";
+      hash = "sha256-U/h4bVarq8CFKbFyNXKl3vBRPubYooLxA1xUz3qMGPE=";
+    };
+  }
+  {
+    name = "122089a8247a693cad53beb161bde6c30f71376cd4298798d45b32740c3581405864";
+    path = fetchzip {
+      url = "https://github.com/ziglibs/diffz/archive/90353d401c59e2ca5ed0abe5444c29ad3d7489aa.tar.gz";
+      hash = "sha256-3CdYo6WevT0alRwKmbABahjhFKz7V9rdkDUZ43VtDeU=";
+    };
+  }
+]