Emacs Lisp Makefile
Latest commit 7ef94dd Aug 20, 2016 @gracjan gracjan committed on GitHub Merge pull request #1410 from aplanas/master
Makefile: Remove extra quote that breaks the build
Failed to load latest commit information.
doc Improve haskell-gifcast.el Aug 16, 2016
images Add star history 700 stars Apr 1, 2016
tests Fix auto add dependencies in cabal Aug 19, 2016
.gitignore Add support for embedding git version in texinfo manual Jul 3, 2013
.travis.yml Check some packages depending on haskell-mode Aug 18, 2016
CONTRIBUTING.md Update CONTRIBUTING.md Jan 16, 2016
COPYING Add GNU GPL text file Jun 10, 2015
Makefile Makefile: Remove extra quote that breaks the build Aug 19, 2016
NEWS Write NEWS for 13.12 release. Mar 11, 2015
README.md Add Appveyor build status badge Jul 12, 2016
appveyor.yml Use local relative path to emacs.exe Jul 19, 2016
ghc-core.el Defcustoms should not be autoloaded Jan 3, 2016
ghci-script-mode.el Use setq-local and defvar-local Apr 9, 2016
haskell-align-imports.el Defcustoms should not be autoloaded Jan 3, 2016
haskell-c2hs.el get rid of haskell--rx-let macro Mar 15, 2016
haskell-cabal.el Fix auto add dependencies in cabal Aug 19, 2016
haskell-collapse.el globally: turn on lexical bindings Aug 23, 2015
haskell-commands.el Make stylish-haskell keep the point position Jul 18, 2016
haskell-compat.el Update xref-push-marker-stack May 6, 2016
haskell-compile.el Remove references to info nodes Jul 19, 2016
haskell-complete-module.el Defcustoms should not be autoloaded Jan 3, 2016
haskell-completions.el Show completion suggestions after operator Jun 5, 2016
haskell-customize.el Add basic prompt2 support May 27, 2016
haskell-debug.el Move haskell-interactive-prompt-state stuff to utils package Mar 21, 2016
haskell-decl-scan.el Make going forward defun work correctly with comments Jun 21, 2016
haskell-doc.el Fix typo in haskell-process-get-type May 16, 2016
haskell-font-lock.el Skip over comments in font-lock Aug 12, 2016
haskell-ghc-support.el Add ghc-8 supported options and languages May 31, 2016
haskell-hoogle.el Move haskell-interactive-prompt-state stuff to utils package Mar 21, 2016
haskell-indent.el Document `defun haskell-indent-mode`'s arg Jun 3, 2016
haskell-indentation.el Merge pull request #1401 from gracjan/pr-indentation-operators Aug 12, 2016
haskell-interactive-mode.el Use haskell-mode syntax table in interactive mode Aug 16, 2016
haskell-lexeme.el Support full complexity of backtick syntax Aug 12, 2016
haskell-load.el Fix logic for running cabal directly. May 3, 2016
haskell-menu.el Use setq-local and defvar-local Apr 9, 2016
haskell-mode-pkg.el Officially support only Emacs 24.3 and later Apr 9, 2016
haskell-mode.el Map haskell-mode-format-imports to C-c C-, to avoid conflict with has… Aug 16, 2016
haskell-modules.el Ignore warnings from ghc-pkg Jul 19, 2016
haskell-move-nested.el globally: turn on lexical bindings Aug 23, 2015
haskell-navigate-imports.el Convert all tabs to spaces Mar 15, 2016
haskell-presentation-mode.el Use setq-local and defvar-local Apr 9, 2016
haskell-process.el Use window-point-insertion-type Jul 19, 2016
haskell-repl.el Clean up multi-line in haskell-interactive a bit May 27, 2016
haskell-sandbox.el fix typos in documentation strings Jan 10, 2016
haskell-session.el Use setq-local and defvar-local Apr 9, 2016
haskell-sort-imports.el Convert all tabs to spaces Mar 15, 2016
haskell-string.el fix typos in documentation strings Jan 10, 2016
haskell-unicode-input-method.el Remove references to info nodes Jul 19, 2016
haskell-utils.el Use setq-local and defvar-local Apr 9, 2016
haskell.el Remove controversial keybindings Jul 19, 2016
highlight-uses-mode.el Use setq-local and defvar-local Apr 9, 2016
inf-haskell.el Use setq-local and defvar-local Apr 9, 2016
logo.svg Use notifications.el rather than notify.el (as it ships with Emacs) Aug 8, 2012
w3m-haddock.el Add check-declare to Makefile Jun 11, 2016

README.md

Haskell Mode for Emacs

This is an Emacs mode for editing, debugging and developing Haskell programs. Home page.

Coverage Status Build Status Build status Melpa Status Melpa Stable Status License GPL3 Twitter Follow

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

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

This sounds wonderful. Does anything similar exist for Vim? -- earldouglas, 2015-07-02

Users manual: latest version, older versions: 13.12, 13.14, 13.16, 13.18, 13.20.

Quick Installation

Make sure you have this in your init file (usually ~/.emacs). If you already have custom-set-variables, merge its contents:

(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" . "http://elpa.gnu.org/packages/")
     ("melpa-stable" . "http://stable.melpa.org/packages/")))))

Then run emacs, and evaluate:

M-x package-refresh-contents

and then follow by

M-x package-install RET haskell-mode

Voila! haskell-mode is installed! You should be able to edit Haskell source code in color now.

Haskell-mode has much 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 for setup and user guide.

Installation - more information

haskell-mode supports GNU Emacs version 24.3 or later.

haskell-mode is available from melpa-stable (releases) and melpa (git snapshots).

Other means of obtaining haskell-mode include el-get, Emacs Prelude and Debian package.

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:

make EMACS=/path/to/your/emacs

and then adding the following command to your .emacs:

(add-to-list 'load-path "~/lib/emacs/haskell-mode/")
(require 'haskell-mode-autoloads)
(add-to-list 'Info-default-directory-list "~/lib/emacs/haskell-mode/")

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.

Getting in contact

Have fun!