# Haskell Debug Adapter A [debug adapter](https://microsoft.github.io/debug-adapter-protocol/) for Haskell debugging system.  Started development based on [phoityne-vscode-0.0.28.0](https://hackage.haskell.org/package/phoityne-vscode). Changed package name (because a name "phoityne-vscode" is ambiguous.), and with some refactoring. * Haskell Debugger * haskell-debug-adapter This library. * [haskell-dap](https://github.com/phoityne/haskell-dap) Haskell implementation of DAP interface data. * [ghci-dap](https://github.com/phoityne/ghci-dap) A GHCi having DAP interface. * Debug adapter clients * [phoityne-vscode](https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode)([hdx4vsc](https://github.com/phoityne/hdx4vsc)) An extension for VSCode. * [hdx4vim](https://github.com/phoityne/hdx4vim) This is just a configuration for the [vimspector](https://github.com/puremourning/vimspector) which is a debug adapter client of Vim. See a sample configuration. * [hdx4emacs](https://github.com/phoityne/hdx4emacs) This is just a configuration for dap-mode of Emacs. See a sample configuration. * [hdx4vs](https://github.com/phoityne/hdx4vs) An extension for Visual Studio. * [haskell-tools.nvim](https://github.com/mrcjkb/haskell-tools.nvim) A Neovim plugin that discovers launch configurations for [nvim-dap](https://github.com/mfussenegger/nvim-dap) from cabal and stack projects, and from Visual Studio Code launch.json files. # Requirement - haskell-dap - ghci-dap Install these libraries at once. ```console > stack install haskell-dap ghci-dap haskell-debug-adapter ``` You can also build and run this project with nix: ```console > nix build .#haskell-debug-adapter ``` or ```console > nix run .#haskell-debug-adapter ``` # Development This project can be built with stack, cabal and nix. To run all tests and checks with nix: ```console > nix flake check -L ``` To enter a development shell with nix: ```console > nix develop ``` > **Note** > > The `stack.yaml` and `cabal.project` assume that [`haskell-dap`](https://github.com/phoityne/haskell-dap) > and [`ghci-dap`](https://github.com/phoityne/ghci-dap) are checked out in the same directory as > this project. If they are not, `haskell-language-server` will fail to start. # Limitation Currently this project is an __experimental__ design and implementation. * The source file extension must be ".hs" * Can not use STDIN handle while debugging.