Code Monkey home page Code Monkey logo

Comments (6)

pocco81 avatar pocco81 commented on August 18, 2024 1

Now debuggers can have "details" for storing this type of info. Here is an example with the jsnode debugger:

M.details = {
	dependencies = {"npm", "lol", "some_program", "git"}
}

Output:

image

Works well 👍

from dap-buddy.nvim.

pocco81 avatar pocco81 commented on August 18, 2024

I too had this internal conflict when writing the installers of some debuggers, because similar to how the debugger for haskell uses cabal-install or stack, the python one uses pip, the javascript one uses npm, and so on and so forth... Given this, I think the best we could do would be to add a "dependencies" section in the README for every debugger.

However, keep in mind that in the examples I gave above where DAPInstall uses dependencies such as npm for JSNode to install the debugger, they are being installed locally, because that's the whole point of DAPInstall; I personally don't know any Haskell, but if it's possible to download the debugger using stack or cabal-install locally, then feel free to PR the debugger :)

Also note that there are two types of dependencies: for installing and for the debugger. DAPInstall can handle the dependencies for the debugger (which is the case for the C debugger), but these ones like npm are expected to be on the users' machine.

from dap-buddy.nvim.

pocco81 avatar pocco81 commented on August 18, 2024

Actually this is a very good idea. I'll add this (not the haskell debugger, the dependencies thing). We could specify the dependencies for every debugger and in the moment of installation assert whether they are installed or not.

from dap-buddy.nvim.

kozer avatar kozer commented on August 18, 2024

In haskell the package is installed locally but it has the following issues:

  • Local folder is .stack and I don't know if we can change that
  • Depending on ghc (imagine it something like node version) the debugger needs to be installed accordingly. So having 2 projects with 2 ghcs (lets say v1 and v2) we need to build debugger for both of them.
    And this is a problem.

from dap-buddy.nvim.

pocco81 avatar pocco81 commented on August 18, 2024

Local folder is .stack and I don't know if we can change that

What do you mean by local folder? Local folder for what exactly?

So having 2 projects with 2 ghcs (lets say v1 and v2) we need to build debugger for both of them.

Perhaps we could ask them in the installer? Remember that the installer is nothing more than a shell script, so this is obviously possible.

And in the case of the configuration, we could use a helper function to fetch the according binary of the debugger according to the project at the CWD.

from dap-buddy.nvim.

pocco81 avatar pocco81 commented on August 18, 2024

What do you think?

from dap-buddy.nvim.

Related Issues (20)

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.