![]() ![]() If you wish to choose another builder afterwards, you can do this by running ide-haskell-cabal:set-active-builder command. You can select one you’d like to use then. When you first try building your project (by running ide-haskell-cabal:build command from command palette, for example), you will be asked to specify a builder to use: It also provides support for build target selection by reading and parsing the cabalfile and extracting the available targets (it uses a thin ghcjs-compiled wrapper around the Cabal library to read the. The build directory (cabal -builddir parameter).The sandbox file (cabal CABAL_SANDBOX_CONFIG environment variable).The path (either adding to your system path or replacing it completely).It supports easy switching between multiple versions of GHC by having a set of configuration settings for each version of GHC, plus a drop-down box to pick a GHC version. The fact that we're using GHCi makes it fast, but I'm sure there's loads of wrinkles to iron out still.The ide-haskell-cabal package provides a build backend for ide-haskell You can build, run tests and benchmarks, and I've just added ":info" support. On the server, there is a GHCi session for each cabal component in your project, and any change causes a reload, and you can see the errors/warnings in a menu and in the editor's annotations. There is no save button, any change is automatically saved to disk (you use source version control, right?). The functionality is fairly simple yet: there is a file browser on the left, and the editor (I'm using the ACE web editor) on the right. I still use ghcid for the backend, maybe one day when haskell-ide-engine is released I can use that instead. I also use a web socket to send back GHCi results from the back end to the browser. ![]() Now I use Scotty for the back end, with a REST API, and I use a pure Javascript front-end, with the Polymer library providing the web component framework and material design. I started another little effort that I call "reload", both because it's another take on something I had started before and of course because it issues ":reload" commands to ghci when you change files. ![]() So I thought again at my efforts last year to have a web based IDE for Haskell, because using the browser as the UI saves users a lot of pain, no UI libraries to install or update! Hours of fun followed to get back to a working system. ![]() But at some point, I tried to update the GTK libraries on my Ubuntu machine to get leksah to run, and broke my whole desktop. After giving up on EclipseFP, I've worked a bit on haskell-ide-engine and leksah, contributing little things here and there to try to make the Haskell IDE ecosystem a little bit better. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |