Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haskell/haskell-mode
Emacs mode for Haskell
https://github.com/haskell/haskell-mode
emacs haskell
Last synced: 2 days ago
JSON representation
Emacs mode for Haskell
- Host: GitHub
- URL: https://github.com/haskell/haskell-mode
- Owner: haskell
- License: gpl-3.0
- Created: 2012-03-15T01:02:13.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-10-07T13:20:08.000Z (3 months ago)
- Last Synced: 2024-10-29T17:56:09.298Z (2 months ago)
- Topics: emacs, haskell
- Language: Emacs Lisp
- Homepage: http://haskell.github.io/haskell-mode/
- Size: 7.27 MB
- Stars: 1,327
- Watchers: 52
- Forks: 342
- Open Issues: 207
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS
- Contributing: CONTRIBUTING.md
- License: COPYING
Awesome Lists containing this project
- my-awesome - haskell/haskell-mode - 11 star:1.3k fork:0.3k Emacs mode for Haskell (Emacs Lisp)
- awesome-starred - haskell-mode - Emacs mode for Haskell (Emacs Lisp)
README
Haskell Mode for Emacs
======================This is an Emacs mode for editing, developing and debugging Haskell
programs. [Home page](http://haskell.github.io/haskell-mode/).[![Build Status](https://github.com/haskell/haskell-mode/actions/workflows/test.yml/badge.svg)](https://github.com/haskell/haskell-mode/actions/workflows/test.yml)
[![Melpa Status](http://melpa.org/packages/haskell-mode-badge.svg)](http://melpa.org/#/haskell-mode)
[![Melpa Stable Status](http://stable.melpa.org/packages/haskell-mode-badge.svg)](http://stable.melpa.org/#/haskell-mode)
[![Non-GNU ELPA Status](https://elpa.nongnu.org/nongnu/haskell-mode.svg)](https://elpa.nongnu.org/nongnu/haskell-mode.html)
[![License GPL3](https://img.shields.io/badge/license-GPL3-blue.svg)](https://github.com/haskell/haskell-mode/blob/master/COPYING)> I just want to thank everybody involved in one way or another with the Haskell Emacs tooling.
> It is one of the best language experiences I had in Emacs.
> -- [cocreature, 2015-03-01](https://www.reddit.com/r/haskell/comments/2xjum3/haskellmode_february_2015_developments/cp0qa9a)> I've been using it for a long time and love it. Great work on haskell-mode! Keep up the good work!
> -- [LukeHoersten, 2015-04-02](https://www.reddit.com/r/haskell/comments/316hcm/month_in_haskell_mode_march_2015/cpyutph)> This sounds wonderful. Does anything similar exist for Vim?
> -- [earldouglas, 2015-07-02](https://www.reddit.com/r/haskell/comments/3bsa0f/month_in_haskell_mode_june_2015/cspdbb6)Users manual: [latest
version](http://haskell.github.io/haskell-mode/manual/latest/), older
versions:
[13.12](http://haskell.github.io/haskell-mode/manual/13.12/),
[13.14](http://haskell.github.io/haskell-mode/manual/13.14/),
[13.16](http://haskell.github.io/haskell-mode/manual/13.16/),
[13.18](http://haskell.github.io/haskell-mode/manual/13.18/),
[13.20](http://haskell.github.io/haskell-mode/manual/13.20/).## Quick Installation
Make sure you have this in your [init
file](http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html)
(usually `~/.emacs`). If you already have `custom-set-variables`,
merge its contents:```elisp
(require 'package)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-archives
(quote
(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")))))
(package-initialize)
```Then run emacs, and evaluate:
M-x package-refresh-contents
and then follow by
M-x package-install RET haskell-mode
Voilà! `haskell-mode` is installed! You should be able to edit Haskell
source code in color now.`Haskell-mode` has much much more to offer but the above should get
you going!## Advanced configuration
For setup instructions, please consult the integrated `haskell-mode`
Info manual which can be accessed after installation via `M-x
info-display-manual [RET] haskell-mode`. Alternatively, you can also
direct your browser to the [the online haskell-mode
manual](http://haskell.github.io/haskell-mode/manual/latest/) for
setup and user guide.## Installation - more information
`haskell-mode` supports GNU Emacs version 25.1 or later.
`haskell-mode` is available from [MELPA
Stable](http://stable.melpa.org) (releases) and
[MELPA](http://melpa.org) (git snapshots). The latter will generally
be considerably more up-to-date, and is recommended for most users.Other means of obtaining `haskell-mode` include
[el-get](https://github.com/dimitri/el-get), [Emacs
Prelude](https://github.com/bbatsov/prelude) and [Debian
package](https://packages.debian.org/search?keywords=haskell-mode).## Installation from git repository
Running `haskell-mode` directly from sources is easy but
requires a little preparation:- `git clone https://github.com/haskell/haskell-mode.git` into a
suitable directory, e.g. `~/lib/emacs/haskell-mode/` where `~`
stands for your home directory.- Assuming you have unpacked the various haskell-mode modules
(`haskell-mode.el` and the rest) in the directory
`~/lib/emacs/haskell-mode/`, you need to generate various files, the
autoloads file (`haskell-mode-autoloads.el`) is one among
them. Invoke:```bash
make EMACS=/path/to/your/emacs
```and then adding the following command to your `.emacs`:
```el
(add-to-list 'load-path "~/lib/emacs/haskell-mode/")
(require 'haskell-mode-autoloads)
(add-to-list 'Info-default-directory-list "~/lib/emacs/haskell-mode/")
```### Installation from git repository on macOS
There are a couple of things to note if you want to install directly from
git on macOS systems, as of version 10.13 High Sierra:- The version of makeinfo that is installed by
default in /usr/bin is quite old and will cause the above make
command to exit with an error. Installing the texinfo package using
[Homebrew](https://brew.sh) will fix this. Be sure to follow the post-install instructions
to add its bin directory to your shell's PATH variable.- If you are running an Emacs distribution packaged as a macOS application. such as
the one available at https://emacsformacosx.com/, you'll need to add its executable
to your PATH before the system's default Emacs version. That project's
[Tips and Tricks](https://emacsformacosx.com/tips) page has detailed instructions.## Contributing
If you followed the above you are just a couple of steps away from
contributing to `haskell-mode`.`haskell-mode` is actively seeking contributions from users of
`haskell-mode`. For more information have a look at
[the wiki page on contributing](https://github.com/haskell/haskell-mode/wiki/Contributing).