about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2022-10-20 22:09:13 +0200
committerGitHub <noreply@github.com>2022-10-20 22:09:13 +0200
commit919545242e3f59d4a4dbb0329a299e856825766c (patch)
tree3ae5efdb37b33b91f6d3cfda73a6918dcc182bed /pkgs/applications
parentab509d5dca5197b2df4e5fb9c9a013887a9d70e5 (diff)
parent614c3e5dc4f50ced1996137132205b7c8baeb387 (diff)
Merge pull request #195186 from lblasc/vscode-sumneko-lua
vscode-extensions.sumneko.lua: init at 3.5.6
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix2
-rw-r--r--pkgs/applications/editors/vscode/extensions/lua/default.nix27
-rw-r--r--pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch16
3 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index e866c25e29d0c..bb71c78f19acd 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -2375,6 +2375,8 @@ let
         };
       };
 
+      sumneko.lua = callPackage ./lua { };
+
       svelte.svelte-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "svelte-vscode";
diff --git a/pkgs/applications/editors/vscode/extensions/lua/default.nix b/pkgs/applications/editors/vscode/extensions/lua/default.nix
new file mode 100644
index 0000000000000..529428de6702f
--- /dev/null
+++ b/pkgs/applications/editors/vscode/extensions/lua/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, vscode-utils
+, sumneko-lua-language-server
+}:
+
+vscode-utils.buildVscodeMarketplaceExtension {
+  mktplcRef = {
+    name = "lua";
+    publisher = "sumneko";
+    version = "3.5.6";
+    sha256 = "sha256-Unzs9rX/0MlQprSvScdBCCFMeLCaGzWsMbcFqSKY2XY=";
+  };
+
+  patches = [ ./remove-chmod.patch ];
+
+  postInstall = ''
+    ln -sf ${sumneko-lua-language-server}/bin/lua-language-server \
+      $out/$installPrefix/server/bin/lua-language-server
+  '';
+
+  meta = with lib; {
+    description = "The Lua language server provides various language features for Lua to make development easier and faster.";
+    homepage = "https://marketplace.visualstudio.com/items?itemName=sumneko.lua";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lblasc ];
+  };
+}
diff --git a/pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch b/pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch
new file mode 100644
index 0000000000000..8b9028625aa8e
--- /dev/null
+++ b/pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch
@@ -0,0 +1,16 @@
+diff --git a/client/out/languageserver.js b/client/out/languageserver.js
+index 6c7429c..6f53aa4 100644
+--- a/client/out/languageserver.js
++++ b/client/out/languageserver.js
+@@ -79,11 +79,9 @@ class LuaClient {
+                     break;
+                 case "linux":
+                     command = this.context.asAbsolutePath(path.join('server', binDir ? binDir : 'bin-Linux', 'lua-language-server'));
+-                    yield fs.promises.chmod(command, '777');
+                     break;
+                 case "darwin":
+                     command = this.context.asAbsolutePath(path.join('server', binDir ? binDir : 'bin-macOS', 'lua-language-server'));
+-                    yield fs.promises.chmod(command, '777');
+                     break;
+             }
+             let serverOptions = {