Skip to content
This repository has been archived by the owner on Nov 8, 2021. It is now read-only.

Commit

Permalink
Update ‘README.md’
Browse files Browse the repository at this point in the history
  • Loading branch information
mrkkrp committed Sep 28, 2017
1 parent 790ec4f commit 00ec792
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 12 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
* Renamed `hasky-stack-project-action-popup` to
`hasky-stack-package-action-popup`.

* Updated `README.md` to reflect current state of the package.

## Hasky Stack 0.5.0

* Added a variable that allows to make Hasky Stack open generated Haddocks
Expand Down
42 changes: 33 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,15 @@
[![MELPA](https://melpa.org/packages/hasky-stack-badge.svg)](https://melpa.org/#/hasky-stack)
[![Build Status](https://travis-ci.org/hasky-mode/hasky-stack.svg?branch=master)](https://travis-ci.org/hasky-mode/hasky-stack)

This is an interface to the [Stack](https://haskellstack.org) Haskell
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
Expand All @@ -17,29 +23,47 @@ hasky-stack</kbd>.

## Usage

Bind just two commands, like this:
Bind the following useful commands:

```emacs-lisp
(global-set-key (kbd "<next> h e") #'hasky-stack-execute)
(global-set-key (kbd "<next> h h") #'hasky-stack-package-action)
(global-set-key (kbd "<next> 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 popups like in Magit.
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 are a number of customization options that are available via <kbd>M-x
There is a number of customization options that are available via <kbd>M-x
customize-group hasky-stack</kbd>.

One especially useful feature not enabled by default is
`hasky-stack-auto-target`. When it's not `nil`, `hasky-stack` won't ask you
build/test target using the default automatically (this is what you almost
always want anyway).

## License

Copyright © 2017 Mark Karpov
Expand Down
10 changes: 7 additions & 3 deletions hasky-stack.el
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,18 @@

;;; Commentary:

;; This is an Interface to the Stack Haskell development tool. Bind just
;; two commands, like this:
;; This is an Emacs interface to the Stack Haskell development tool. Bind
;; the following useful commands:
;;
;; (global-set-key (kbd "<next> h e") #'hasky-stack-execute)
;; (global-set-key (kbd "<next> h h") #'hasky-stack-package-action)
;; (global-set-key (kbd "<next> 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 popups like in Magit.
;; 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.
Expand Down

0 comments on commit 00ec792

Please sign in to comment.