Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Emacs mode for Haskell
Emacs Lisp

Merge pull request #587 from geraldus/gman-tmp

Add `run` to cabal's commands list
latest commit 7100354a16
@gracjan gracjan authored
Failed to load latest commit information.
examples Clean up examples directory
snippets Another attempt at removing EOF newline.
tests Add tests/haskell-indentation-tests.el
.gitignore Add support for embedding git version in texinfo manual
.travis.yml Update emacs-snapshot source to ppa:ubuntu-elisp/ppa.
CONTRIBUTING.md Add CONTRIBUTING.md file
Makefile MELPA compatible version info.
NEWS Write NEWS for 13.12 release.
README.md Update instructions in README.md.
ghc-core.el Add missing autoload cookies
ghci-script-mode.el Add missing autoload cookies
haskell-align-imports.el Update all unicode counterparts
haskell-bot.el Fix incorrect comment.
haskell-cabal.el Add `run` to cabal's commands list
haskell-checkers.el Use setq instead of setf.
haskell-collapse.el Use syntax-ppss to detect when in a string or comment
haskell-commands.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-compat.el Upgrade to outline-(show|hide)-levels.
haskell-compile.el Use && instead of ; because this works on Windows, too (refs #232)
haskell-complete-module.el Accept anything on RET when there's no match in module completion
haskell-customize.el Merge pull request #433 from ikirill/haskell-doc-interaction
haskell-debug.el Add trace function
haskell-decl-scan.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-doc.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-font-lock.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-indent.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-indentation.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-interactive-mode.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-load.el Support running cabal commands w/o running process
haskell-menu.el Fix keymap in haskell-menu
haskell-mode-pkg.el MELPA compatible version info.
haskell-mode.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-mode.texi Typo in docs.
haskell-modules.el Remove all mentions of cabal-dev.
haskell-move-nested.el Fix indentation in all .el files
haskell-navigate-imports.el Make navigate-imports a bit more useful in absense of import list
haskell-package.el Remove all mentions of cabal-dev.
haskell-presentation-mode.el Fix buffer popping in presentation mode
haskell-process.el let error say how to get complete support (#460)
haskell-repl.el Fix evil-mode results,
haskell-sandbox.el Import completion mapping and sandboxes
haskell-session.el Use string-prefix-p instead of haskell-is-prefix-of.
haskell-show.el Clean up haskell-string.el utiliy module.
haskell-simple-indent.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-sort-imports.el Revert "use more efficient looking-at-p instead of looking-at in most…
haskell-string.el Clean up haskell-string.el utiliy module.
haskell-unicode-input-method.el Fix indentation in all .el files
haskell-utils.el Allow _ (underscore) in module names.
haskell-yas.el Don't use buffer-file-name when locating yasnippets dir
haskell.el Revert "use more efficient looking-at-p instead of looking-at in most…
highlight-uses-mode.el Implement simple buffer-local name refactoring
inf-haskell.el Add xref-(push|pop)-marker support for Emacs25.
logo.svg Use notifications.el rather than notify.el (as it ships with Emacs)
w3m-haddock.el Fix w3m-haddock in the case of no local files

README.md

Haskell Mode for Emacs

Build Status Melpa Status Melpa Stable Status

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

Installation

haskell-mode is best installed as a package.

To install haskell-mode you need to add a package archive repository that distributes haskell-mode. Execute

M-x customize-option RET package-archives

and add

Archive name: melpa-stable
URL or directory name: http://stable.melpa.org/packages/

Fetch list of packages with

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.

You need to enable indentation as this does not happen automatically currently. Add this line to your ~/.emacs file:

(add-hook 'haskell-mode-hook 'haskell-indentation-mode)

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 versions 23, 24 and upcoming 25 (snapshot).

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

Other means of obtaining haskell-mode include el-get, Marmalade, 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 activelly seeking contributions from users of haskell-mode. For more information have a look at the wiki page on contributing.

Getting in contact

Have fun!

Something went wrong with that request. Please try again.