feat: add glsl-language-server

This commit is contained in:
Felix Schröter 2022-05-05 17:56:17 +02:00
parent de13884b85
commit cc6226d335
Signed by: felschr
GPG key ID: 671E39E6744C807D
4 changed files with 39 additions and 2 deletions

View file

@ -68,6 +68,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-glslls": {
"locked": {
"lastModified": 1649333979,
"narHash": "sha256-NN4povtqDoa8i6cWgwjOIq7M99d2+gAYzKNNqQP1h1o=",
"owner": "felschr",
"repo": "nixpkgs",
"rev": "e03c66c1ab447e03301a51b1d8b3a543658dacd0",
"type": "github"
},
"original": {
"owner": "felschr",
"ref": "glsl-language-server",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1651598969, "lastModified": 1651598969,
@ -129,6 +145,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-glslls": "nixpkgs-glslls",
"nur": "nur", "nur": "nur",
"nvim-kitty-navigator": "nvim-kitty-navigator", "nvim-kitty-navigator": "nvim-kitty-navigator",
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"

View file

@ -1,6 +1,8 @@
{ {
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixpkgs-glslls.url = "github:felschr/nixpkgs/glsl-language-server";
inputs.nixos-hardware.url = "github:NixOS/nixos-hardware/master"; inputs.nixos-hardware.url = "github:NixOS/nixos-hardware/master";
inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.flake-utils.url = "github:numtide/flake-utils";
@ -45,6 +47,10 @@
deconz = self: super: { deconz = self: super: {
deconz = self.qt5.callPackage ./pkgs/deconz { }; deconz = self.qt5.callPackage ./pkgs/deconz { };
}; };
glslls = self: super: {
glsl-language-server =
nixpkgs-glslls.legacyPackages.${self.system}.glsl-language-server;
};
}; };
nixosModules = { nixosModules = {
flakeDefaults = import ./modules/flakeDefaults.nix; flakeDefaults = import ./modules/flakeDefaults.nix;
@ -53,7 +59,7 @@
homeManagerModules = { git = import ./home/modules/git.nix; }; homeManagerModules = { git = import ./home/modules/git.nix; };
systemDefaults = { systemDefaults = {
modules = [ nixosModules.flakeDefaults ]; modules = [ nixosModules.flakeDefaults ];
overlays = [ nur.overlay overlays.neovim overlays.deconz ]; overlays = [ nur.overlay overlays.neovim overlays.deconz glslls ];
}; };
lib = rec { lib = rec {
createSystem = hostName: createSystem = hostName:

View file

@ -17,6 +17,7 @@
haskellPackages.haskell-language-server haskellPackages.haskell-language-server
rust-analyzer rust-analyzer
sumneko-lua-language-server sumneko-lua-language-server
glsl-language-server
# linters & formatters # linters & formatters
nodePackages.eslint nodePackages.eslint

View file

@ -27,8 +27,20 @@ local diagnosticls_on_attach = function(_, bufnr)
}) })
end end
local config = require("lspconfig")
local configs = require("lspconfig.configs")
if not configs.glslls then
configs.glslls = {
default_config = {
cmd = { "glslls", "--stdin" };
filetypes = { "glsl" };
root_dir = config.util.root_pattern("*.conf", ".git");
settings = {};
};
}
end
local config = require'lspconfig'
local capabilities_ = vim.lsp.protocol.make_client_capabilities() local capabilities_ = vim.lsp.protocol.make_client_capabilities()
local capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities_) local capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities_)
capabilities.textDocument.completion.completionItem.snippetSupport = true capabilities.textDocument.completion.completionItem.snippetSupport = true
@ -47,6 +59,7 @@ local servers = {
"hls", "hls",
"rust_analyzer", "rust_analyzer",
"vimls", "vimls",
"glslls",
} }
for _, lsp in ipairs(servers) do for _, lsp in ipairs(servers) do
config[lsp].setup { config[lsp].setup {