Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hasky-mode/hasky-stack
Interface to the Stack Haskell development tool
https://github.com/hasky-mode/hasky-stack
emacs haskell haskell-stack
Last synced: 3 months ago
JSON representation
Interface to the Stack Haskell development tool
- Host: GitHub
- URL: https://github.com/hasky-mode/hasky-stack
- Owner: hasky-mode
- Archived: true
- Created: 2017-04-26T23:02:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-18T18:53:09.000Z (over 4 years ago)
- Last Synced: 2024-04-26T01:32:24.492Z (6 months ago)
- Topics: emacs, haskell, haskell-stack
- Language: Emacs Lisp
- Homepage:
- Size: 233 KB
- Stars: 27
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Hasky Stack
*This project is in “limited-maintenance” mode. I will not spend any of my
time supporting it. You can still open PRs if you must, or you can take over
if you wish. I'll mark the project as deprecated and stop supporting it
altogether in some months.*[![License GPL 3](https://img.shields.io/badge/license-GPL_3-green.svg)](http://www.gnu.org/licenses/gpl-3.0.txt)
[![MELPA](https://melpa.org/packages/hasky-stack-badge.svg)](https://melpa.org/#/hasky-stack)
[![CircleCI](https://circleci.com/gh/hasky-mode/hasky-stack/tree/master.svg?style=svg)](https://circleci.com/gh/hasky-mode/hasky-stack/tree/master)This is an Emacs interface to the [Stack](https://haskellstack.org) Haskell
development tool.![Root menu](https://raw.githubusercontent.com/hasky-mode/hasky-stack/gh-pages/hasky-stack-root-menu.png)
![Build sub-menu](https://raw.githubusercontent.com/hasky-mode/hasky-stack/gh-pages/hasky-stack-build-menu.png)
![Package action menu](https://raw.githubusercontent.com/hasky-mode/hasky-stack/gh-pages/hasky-stack-package-action-menu.png)
## Installation
Download this package and place it somewhere, so Emacs can see it. Then put
`(require 'hasky-stack)` into your configuration file. Done!It's available via MELPA, so you can just M-x package-install RET
hasky-stack.## Usage
Bind the following useful commands:
```emacs-lisp
(global-set-key (kbd " h e") #'hasky-stack-execute)
(global-set-key (kbd " h h") #'hasky-stack-package-action)
(global-set-key (kbd " h i") #'hasky-stack-new)
```* `hasky-stack-execute` opens a popup with a collection of stack commands
you can run. Many commands have their own sub-popups like in Magit.* `hasky-stack-package-action` allows to perform actions on package that the
user selects from the list of all available packages.* `hasky-stack-new` allows to create a new project in current directory
using a Stack template.## Switchable variables
There is a number of variables that control various aspects of the package.
They can be set with `setq` or via the customization mechanisms. This way
one can change their default values. However, sometimes it's desirable to
quickly toggle the variables and it's possible to do directly from the popup
menus: just hit the key displayed under the “variables” section.Switchable variables include:
* `hasky-stack-auto-target`—whether to automatically select the default
build target (build sub-popup).
* `hasky-stack-auto-open-coverage-reports`—whether to attempt to
automatically open coverage report in browser (build sub-popup).
* `hasky-stack-auto-open-haddocks`—whether to attempt to automatically open
Haddocks in browser (build sub-popup).
* `hasky-stack-auto-newest-version`—whether to install newest version of
package without asking (package action popup).## Customization
There is a number of customization options that are available via M-x
customize-group hasky-stack.## License
Copyright © 2017–2019 Mark Karpov
Distributed under GNU GPL, version 3.