File tree Expand file tree Collapse file tree 3 files changed +66
-0
lines changed
modules/plugins/languages Expand file tree Collapse file tree 3 files changed +66
-0
lines changed Original file line number Diff line number Diff line change 394394[ oil-git-status ] : https://github.com/refractalize/oil-git-status.nvim
395395[ neocmakelsp ] : https://github.com/neocmakelsp/neocmakelsp
396396[ arduino-language-server ] : https://github.com/arduino/arduino-language-server
397+ [ glsl_analyzer ] : https://github.com/nolanderc/glsl_analyzer
397398
398399- Fix gitsigns null-ls issue.
399400- Add [ everforest] theme support.
400401- Add [ oil-git-status] support to [ oil] module.
401402- Add CMake support with [ neocmakelsp] .
402403- Add Arduino support with [ arduino-language-server] .
404+ - Add GLSL support with [ glsl_analyzer] .
403405
404406[ Haskex] ( https://github.com/haskex ) :
405407
Original file line number Diff line number Diff line change 1616 ./elixir.nix
1717 ./fsharp.nix
1818 ./gleam.nix
19+ ./glsl.nix
1920 ./go.nix
2021 ./hcl.nix
2122 ./helm.nix
Original file line number Diff line number Diff line change 1+ {
2+ config ,
3+ lib ,
4+ pkgs ,
5+ ...
6+ } : let
7+ inherit ( builtins ) attrNames ;
8+ inherit ( lib . modules ) mkIf mkMerge ;
9+ inherit ( lib . nvim . types ) mkGrammarOption ;
10+ inherit ( lib . options ) mkEnableOption mkOption ;
11+ inherit ( lib . types ) enum listOf ;
12+ inherit ( lib . meta ) getExe ;
13+ inherit ( lib . nvim . attrsets ) mapListToAttrs ;
14+
15+ cfg = config . vim . languages . glsl ;
16+
17+ defaultServers = [ "glsl_analyzer" ] ;
18+ servers = {
19+ glsl_analyzer = {
20+ enable = true ;
21+ cmd = [ ( getExe pkgs . glsl_analyzer ) ] ;
22+ filetypes = [ "glsl" "vert" "tesc" "tese" "frag" "geom" "comp" ] ;
23+ root_markers = [ ".git" ] ;
24+ } ;
25+ } ;
26+ in {
27+ options . vim . languages . glsl = {
28+ enable = mkEnableOption "GLSL language support" ;
29+
30+ treesitter = {
31+ enable = mkEnableOption "GLSL treesitter" // { default = config . vim . languages . enableTreesitter ; } ;
32+ package = mkGrammarOption pkgs "glsl" ;
33+ } ;
34+
35+ lsp = {
36+ enable = mkEnableOption "GLSL LSP support" // { default = config . vim . lsp . enable ; } ;
37+
38+ servers = mkOption {
39+ type = listOf ( enum ( attrNames servers ) ) ;
40+ default = defaultServers ;
41+ description = "GLSL LSP server to use" ;
42+ } ;
43+ } ;
44+ } ;
45+
46+ config = mkIf cfg . enable ( mkMerge [
47+ ( mkIf cfg . treesitter . enable {
48+ vim . treesitter = {
49+ enable = true ;
50+ grammars = [ cfg . treesitter . package ] ;
51+ } ;
52+ } )
53+
54+ ( mkIf cfg . lsp . enable {
55+ vim . lsp . servers =
56+ mapListToAttrs ( n : {
57+ name = n ;
58+ value = servers . ${ n } ;
59+ } )
60+ cfg . lsp . servers ;
61+ } )
62+ ] ) ;
63+ }
You can’t perform that action at this time.
0 commit comments