mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-04 12:42:21 +00:00 
			
		
		
		
	languages/go: use dap-go for dap configurations (#319)
		
	* deps: add nvim-dap-go * go: use dap-go plugin for dap configurations * docs: update release notes --------- Co-authored-by: Pei Yang Ching <pei.ching@check24.de>
This commit is contained in:
		
					parent
					
						
							
								9c4aabd0a6
							
						
					
				
			
			
				commit
				
					
						3f5ed9e979
					
				
			
		
					 4 changed files with 38 additions and 37 deletions
				
			
		| 
						 | 
					@ -29,6 +29,7 @@ Release notes for release 0.7
 | 
				
			||||||
- Fix broken treesitter-context keybinds in visual mode
 | 
					- Fix broken treesitter-context keybinds in visual mode
 | 
				
			||||||
- Deprecate use of `__empty` to define empty tables in lua. Empty attrset are no
 | 
					- Deprecate use of `__empty` to define empty tables in lua. Empty attrset are no
 | 
				
			||||||
  longer filtered and thus should be used instead.
 | 
					  longer filtered and thus should be used instead.
 | 
				
			||||||
 | 
					- Add dap-go for better dap configurations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[jacekpoz](https://github.com/jacekpoz):
 | 
					[jacekpoz](https://github.com/jacekpoz):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -1069,6 +1069,22 @@
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "plugin-nvim-dap-go": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1716775637,
 | 
				
			||||||
 | 
					        "narHash": "sha256-B8A+ven18YgePLxAN3Q/j5NFb0FeTHCQak1uzaNDX9c=",
 | 
				
			||||||
 | 
					        "owner": "leoluz",
 | 
				
			||||||
 | 
					        "repo": "nvim-dap-go",
 | 
				
			||||||
 | 
					        "rev": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "leoluz",
 | 
				
			||||||
 | 
					        "repo": "nvim-dap-go",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "plugin-nvim-dap-ui": {
 | 
					    "plugin-nvim-dap-ui": {
 | 
				
			||||||
      "flake": false,
 | 
					      "flake": false,
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
| 
						 | 
					@ -1823,6 +1839,7 @@
 | 
				
			||||||
        "plugin-nvim-colorizer-lua": "plugin-nvim-colorizer-lua",
 | 
					        "plugin-nvim-colorizer-lua": "plugin-nvim-colorizer-lua",
 | 
				
			||||||
        "plugin-nvim-cursorline": "plugin-nvim-cursorline",
 | 
					        "plugin-nvim-cursorline": "plugin-nvim-cursorline",
 | 
				
			||||||
        "plugin-nvim-dap": "plugin-nvim-dap",
 | 
					        "plugin-nvim-dap": "plugin-nvim-dap",
 | 
				
			||||||
 | 
					        "plugin-nvim-dap-go": "plugin-nvim-dap-go",
 | 
				
			||||||
        "plugin-nvim-dap-ui": "plugin-nvim-dap-ui",
 | 
					        "plugin-nvim-dap-ui": "plugin-nvim-dap-ui",
 | 
				
			||||||
        "plugin-nvim-docs-view": "plugin-nvim-docs-view",
 | 
					        "plugin-nvim-docs-view": "plugin-nvim-docs-view",
 | 
				
			||||||
        "plugin-nvim-lightbulb": "plugin-nvim-lightbulb",
 | 
					        "plugin-nvim-lightbulb": "plugin-nvim-lightbulb",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -216,6 +216,11 @@
 | 
				
			||||||
      flake = false;
 | 
					      flake = false;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    plugin-nvim-dap-go = {
 | 
				
			||||||
 | 
					      url = "github:leoluz/nvim-dap-go";
 | 
				
			||||||
 | 
					      flake = false;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Filetrees
 | 
					    # Filetrees
 | 
				
			||||||
    plugin-nvim-tree-lua = {
 | 
					    plugin-nvim-tree-lua = {
 | 
				
			||||||
      url = "github:nvim-tree/nvim-tree.lua";
 | 
					      url = "github:nvim-tree/nvim-tree.lua";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,7 @@
 | 
				
			||||||
  inherit (lib.types) bool enum either listOf package str;
 | 
					  inherit (lib.types) bool enum either listOf package str;
 | 
				
			||||||
  inherit (lib.nvim.types) mkGrammarOption;
 | 
					  inherit (lib.nvim.types) mkGrammarOption;
 | 
				
			||||||
  inherit (lib.nvim.lua) expToLua;
 | 
					  inherit (lib.nvim.lua) expToLua;
 | 
				
			||||||
 | 
					  inherit (lib.nvim.dag) entryAfter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  cfg = config.vim.languages.go;
 | 
					  cfg = config.vim.languages.go;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,40 +38,6 @@
 | 
				
			||||||
  debuggers = {
 | 
					  debuggers = {
 | 
				
			||||||
    delve = {
 | 
					    delve = {
 | 
				
			||||||
      package = pkgs.delve;
 | 
					      package = pkgs.delve;
 | 
				
			||||||
      dapConfig = ''
 | 
					 | 
				
			||||||
        dap.adapters.delve = {
 | 
					 | 
				
			||||||
          type = "server",
 | 
					 | 
				
			||||||
          port = "''${port}",
 | 
					 | 
				
			||||||
          executable = {
 | 
					 | 
				
			||||||
            command = "${getExe cfg.dap.package}",
 | 
					 | 
				
			||||||
            args = { "dap", "-l", "127.0.0.1:''${port}" },
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        dap.configurations.go = {
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            type = "delve",
 | 
					 | 
				
			||||||
            name = "Debug",
 | 
					 | 
				
			||||||
            request = "launch",
 | 
					 | 
				
			||||||
            program = "''${file}",
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            type = "delve",
 | 
					 | 
				
			||||||
            name = "Debug test", -- configuration for debugging test files
 | 
					 | 
				
			||||||
            request = "launch",
 | 
					 | 
				
			||||||
            mode = "test",
 | 
					 | 
				
			||||||
            program = "''${file}",
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          -- works with go.mod packages and sub packages
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            type = "delve",
 | 
					 | 
				
			||||||
            name = "Debug test (go.mod)",
 | 
					 | 
				
			||||||
            request = "launch",
 | 
					 | 
				
			||||||
            mode = "test",
 | 
					 | 
				
			||||||
            program = "./''${relativeFileDirname}",
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      '';
 | 
					 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
in {
 | 
					in {
 | 
				
			||||||
| 
						 | 
					@ -102,15 +69,17 @@ in {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dap = {
 | 
					    dap = {
 | 
				
			||||||
      enable = mkOption {
 | 
					      enable = mkOption {
 | 
				
			||||||
        description = "Enable Go Debug Adapter";
 | 
					        description = "Enable Go Debug Adapter via nvim-dap-go plugin";
 | 
				
			||||||
        type = bool;
 | 
					        type = bool;
 | 
				
			||||||
        default = config.vim.languages.enableDAP;
 | 
					        default = config.vim.languages.enableDAP;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      debugger = mkOption {
 | 
					      debugger = mkOption {
 | 
				
			||||||
        description = "Go debugger to use";
 | 
					        description = "Go debugger to use";
 | 
				
			||||||
        type = enum (attrNames debuggers);
 | 
					        type = enum (attrNames debuggers);
 | 
				
			||||||
        default = defaultDebugger;
 | 
					        default = defaultDebugger;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      package = mkOption {
 | 
					      package = mkOption {
 | 
				
			||||||
        description = "Go debugger package.";
 | 
					        description = "Go debugger package.";
 | 
				
			||||||
        type = package;
 | 
					        type = package;
 | 
				
			||||||
| 
						 | 
					@ -131,8 +100,17 @@ in {
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (mkIf cfg.dap.enable {
 | 
					    (mkIf cfg.dap.enable {
 | 
				
			||||||
      vim.debugger.nvim-dap.enable = true;
 | 
					      vim = {
 | 
				
			||||||
      vim.debugger.nvim-dap.sources.go-debugger = debuggers.${cfg.dap.debugger}.dapConfig;
 | 
					        startPlugins = ["nvim-dap-go"];
 | 
				
			||||||
 | 
					        luaConfigRC.nvim-dap-go = entryAfter ["nvim-dap"] ''
 | 
				
			||||||
 | 
					          require('dap-go').setup {
 | 
				
			||||||
 | 
					            delve = {
 | 
				
			||||||
 | 
					              path = '${getExe cfg.dap.package}',
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					        debugger.nvim-dap.enable = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  ]);
 | 
					  ]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue