Git Product home page Git Product logo

dap-go.nvim's Introduction

dap-go.nvim

Golang with Delve over Debug Adapter Protocol for Neovim (>= 0.5)

What is DAP Go

dap-go.nvim is an extension for nvim-dap to configurate Go with Delve debugger.

Table of Content

Features

  • Load dap configurations from a file.

Getting Started

This section should guide you on how to add the extension to nvim-dap.

Dependencies

Suggested Dependencies

Installation

Using vim-plug

Plug 'nvim-lua/plenary.nvim'
Plug 'yriveiro/dap-go.nvim'

Using dein

call dein#add('nvim-lua/plenary.nvim')
call dein#add('yriveiro/dap-go.nvim')

Using packer.nvim

use {
  'yriveiro/dap-go.nvim',
  requires = { {'nvim-lua/plenary.nvim'} }
}

Usage

require('dap-go').setup()

Default options

See config.lua

Custom Configurations

If you want to use a json file to hold configurations for the debugger you need to enable the external config feature.

require('dap-go').setup({
  external_config = {
    enabled = true,
  }
})

An example of the dap-go.json file. This file can be used for custom configurations. The default path to search for is the current directory or git (if the current project is using git) root.

{
  "Custom config": {
    "type": "go",
    "name": "Debug custom",
    "request": "launch",
    "program": "${file}",
    "args": [
      "--foo",
      "bar"
    ],
    "options": {
      "env": {
        "FOO": "bar"
      }
    }
  }
}

Contributing

All contributions are welcome! Just open a pull request. Please read CONTRIBUTING.md

Acknowledgement

License

Licensed under the MIT License. Check the LICENSE file for details.

dap-go.nvim's People

Contributors

dundargoc avatar jhchabran avatar yriveiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dap-go.nvim's Issues

Feature request: "envFile" attribute

Feature request

Implement envFile attribute in launch.json dap configuration.

Possible profits

A more convenient way to manage dotenvs while debugging complex projects.

Description

According to VSCode debugger config there is a very useful attribute envFile that helps manage big Dotenv files while debugging complex projects. Without this attribute, there is only one way to use .env files โ€“ env attribute.
Now it works properly, but after editing variables, we should constantly reload nvim-dap. A workflow like this is painful in my opinion.

Possible solutions

It would be possible to support envFile in a nvim-dap extension by using the enrich_config hook supported for adapters. See :h dap-adapter
It would need to check if there is a envFile property on the config, if so replace it with env with the content from the file and then call on_config with the modified configuration.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.