Comments (6)
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:
Works well 👍
from dap-buddy.nvim.
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.
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.
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.
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.
What do you think?
from dap-buddy.nvim.
Related Issues (20)
- Typescript is not supported for nodejs HOT 3
- Use system package in debugpy HOT 5
- Synchronous adapter installation HOT 1
- `ccppr_lldb` insists I do not need to install it HOT 1
- how to use iwth rust-tools.nvim?
- Error occur in using codelldb
- cannot step_into python library code [justMyCode option maybe] HOT 1
- DIInstall crashes nvim
- `:DIInstall ccppr_vsc` complains wget is missing URL HOT 4
- How do you actually run the debugger 😅 HOT 3
- nodejs configuration is not working
- No configuration found for 'c'
- Bash debugger implementation discussion
- Multi-install debuggers 🦆🦆🦆🦆
- require "dap_install" doesn't find anything HOT 3
- Add firefox debugger
- Migration from DAPInstall.nvim HOT 12
- Can not find the dependencies. HOT 2
- Beginner's documentation needed HOT 2
- attempt to index field 'info_window' (a nil value)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dap-buddy.nvim.