leksah: Haskell IDE written in Haskell

[ development, editor, ide, library, program ] [ Propose Tags ]

An Integrated Development Environment for Haskell written in Haskell.


[Skip to Readme]

Modules

[Last Documentation]

  • IDE
    • IDE.BufferMode
    • IDE.Build
    • IDE.Command
      • IDE.Command.Print
      • IDE.Command.VCS
        • IDE.Command.VCS.Common
          • IDE.Command.VCS.Common.GUI
          • IDE.Command.VCS.Common.Helper
          • IDE.Command.VCS.Common.Workspaces
        • IDE.Command.VCS.GIT
        • IDE.Command.VCS.Mercurial
        • IDE.Command.VCS.SVN
        • IDE.Command.VCS.Types
    • IDE.Completion
    • Core
      • IDE.Core.State
      • IDE.Core.Types
    • IDE.Debug
    • IDE.Find
    • IDE.GUIHistory
    • IDE.HLint
    • IDE.ImportTool
    • IDE.Keymap
    • IDE.LPaste
    • IDE.Leksah
    • IDE.LogRef
    • Metainfo
      • IDE.Metainfo.Provider
    • IDE.NotebookFlipper
    • IDE.OSX
    • IDE.Package
    • Pane
      • IDE.Pane.Breakpoints
      • IDE.Pane.Errors
      • IDE.Pane.Files
      • IDE.Pane.Grep
      • IDE.Pane.HLint
      • IDE.Pane.Info
      • IDE.Pane.Log
      • IDE.Pane.Modules
      • IDE.Pane.PackageEditor
      • IDE.Pane.PackageFlags
      • IDE.Pane.Search
      • IDE.Pane.SourceBuffer
      • IDE.Pane.Trace
      • IDE.Pane.Variables
      • WebKit
        • IDE.Pane.WebKit.Documentation
        • IDE.Pane.WebKit.Inspect
        • IDE.Pane.WebKit.Output
      • IDE.Pane.Workspace
    • IDE.PaneGroups
    • IDE.Preferences
    • IDE.Session
    • IDE.SourceCandy
    • IDE.Statusbar
    • IDE.SymbolNavigation
    • IDE.TextEditor
      • IDE.TextEditor.Class
      • IDE.TextEditor.CodeMirror
      • IDE.TextEditor.GtkSourceView
      • IDE.TextEditor.Yi
        • IDE.TextEditor.Yi.Config
    • Utils
      • IDE.Utils.CabalUtils
      • IDE.Utils.DirectoryUtils
      • IDE.Utils.ExternalTool
      • IDE.Utils.GUIUtils
      • IDE.Utils.ServerConnection
    • IDE.Workspaces
      • IDE.Workspaces.Writer

Flags

Automatic Flags
NameDescriptionDefault
webkit2

Use WebKit 2 version of WebKitGTK+

Enabled
yi

Experimental Yi support

Disabled
codemirror

Experimental codemirror editor

Disabled
dyre

Experimental Yi support

Enabled
threaded

Build with support for multithreaded execution

Enabled
loc

Experimental localization support

Disabled
network-uri

Get Network.URI from the network-uri package

Enabled
gtk-318

GTK+ is 3.18 or later

Enabled
gtk-320

GTK+ is 3.20 or later

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.4, 0.4.0.1, 0.4.0.2, 0.4.0.3, 0.4.1, 0.4.2, 0.4.2.1, 0.4.3, 0.4.4, 0.4.4.1, 0.6.0, 0.6.1, 0.8, 0.8.0.1, 0.8.0.3, 0.8.0.4, 0.8.0.6, 0.8.0.8, 0.10.0.0, 0.10.0.1, 0.10.0.3, 0.10.0.4, 0.12.0.3, 0.12.1.0, 0.12.1.2, 0.12.1.3, 0.13.3.0, 0.13.4.0, 0.13.4.1, 0.13.4.2, 0.13.4.3, 0.14.0.0, 0.14.0.1, 0.14.1.0, 0.14.1.1, 0.14.2.0, 0.14.3.0, 0.14.4.0, 0.15.0.1, 0.15.0.2, 0.15.0.3, 0.15.0.4, 0.15.0.5, 0.15.0.6, 0.15.1.0, 0.15.1.1, 0.15.1.2, 0.15.1.3, 0.15.1.4, 0.15.2.0, 0.16.2.2 (info)
Dependencies array (>=0.2.0.0 && <0.6), base (>=4.0.0.0 && <4.11), base-compat (>=0.9.0 && <0.10), binary (>=0.5.0.0 && <0.9), binary-shared (>=0.8 && <0.9), blaze-html, bytestring (>=0.9.0.1 && <0.11), Cabal (>=1.24.0.0 && <2.1), conduit (>=1.0.8 && <1.3), containers (>=0.2.0.0 && <0.6), cpphs (>=1.19 && <1.21), deepseq (>=1.1.0.0 && <1.5), directory (>=1.0.0.2 && <1.4), dyre (>=0.8.3 && <0.9), executable-path (>=0.0.3 && <0.1), filepath (>=1.1.0.1 && <1.5), fsnotify (>=0.2.1 && <0.3), ghc (>=6.10.1 && <8.3), ghcjs-codemirror, gi-cairo (>=1.0.6 && <1.1), gi-gdk (>=3.0.6 && <3.1), gi-gdkpixbuf (>=2.0.6 && <2.1), gi-gio (>=2.0.6 && <2.1), gi-glib (>=2.0.6 && <2.1), gi-gobject (>=2.0.6 && <2.1), gi-gtk (>=3.0.13 && <3.1), gi-gtk-hs (>=0.3.1.0 && <0.4), gi-gtkosxapplication (>=2.0.2 && <2.1), gi-gtksource (>=3.0.6 && <3.1), gi-pango (>=1.0.6 && <1.1), gi-webkit (>=3.0.6 && <3.1), gi-webkit2 (>=4.0.6 && <4.1), haskell-gi-base (>=0.18 && <0.21), haskell-gi-overloading (>=0.0 && <0.1), haskell-src-exts (>=1.13.5 && <1.19), hgettext, hlint (>=1.9.21 && <2.1), hslogger (>=1.0.7 && <1.3), HTTP (>=4000.3.3), jsaddle (>=0.4.0.0 && <0.5), leksah, leksah-server, lens, ltk (>=0.16.0.0 && <0.17), mtl (>=1.1.0.2 && <2.3), network (>=2.2 && <2.7), network-uri (>=2.6 && <2.7), old-time (>=1.0.0.1 && <1.2), parsec (>=2.1.0.1 && <3.2), pretty (>=1.0.1.0 && <1.2), pretty-show (>=1.6.3 && <1.7), QuickCheck (>=2.4.2 && <2.10), regex-base (>=0.93 && <0.94), regex-tdfa (>=1.1 && <1.3), regex-tdfa-text, setlocale, shakespeare (>=2.0.0.1 && <2.1), split (>=0.2.3.1), stm (>=2.4.4 && <2.5), strict (>=0.3.2 && <0.4), text (>=0.11.1.5 && <1.3), time (>=0.1 && <1.9), transformers (>=0.2.2.0 && <0.6), unix (>=2.3.1.0 && <2.8), utf8-string (>=0.3.1.1 && <1.1), vado (>=0.0.1 && <0.1), vcsgui (>=0.2.0 && <0.3), vcswrapper (>=0.1.0 && <0.2), Win32 (>=2.2.0.0 && <2.4), yi (>=0.12.4 && <0.13), yi-language (>=0.2.0 && <0.3), yi-rope (>=0.7.0.1 && <0.8) [details]
License LicenseRef-GPL
Copyright 2007-2016 Juergen Nicklisch-Franken, Hamish Mackenzie, Jacco Krijnen, JP Moresmau
Author Juergen Nicklisch-Franken, Hamish Mackenzie, Jacco Krijnen, JP Moresmau
Maintainer maintainer@leksah.org
Category Development, IDE, Editor
Home page http://www.leksah.org
Bug tracker https://github.com/leksah/leksah/issues
Source repo head: git clone https://github.com/leksah/leksah
Uploaded by HamishMackenzie at 2017-08-14T23:22:06Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables leksah
Downloads 36787 total (66 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-08-15 [all 3 reports]

Readme for leksah-0.16.2.2

[back to package description]

Leksah, an Integrated Development Environment for Haskell

Build Status

Leksah aims to integrate various Haskell development tools to provide a practical and pleasant development environment. The user interface is a mix of GTK+ and WebKit based components.

Documentation can be found on leksah.org.

Getting Leksah

Installation

Leksah requires ghc --version >=7.10.3 and cabal --version >=1.24. To get them go to haskell.og/download and choose the Minimal GHC or Haskell Platform.

Building from source

We have completed a port of Leksah from Gtk2Hs to haskell-gi. Not all of the code is in Hackage yet so to build it you can either use Xobl or follow the instructions below.

Step 1: Install C libraries

Fedora
sudo dnf install gobject-introspection-devel webkitgtk4-devel gtksourceview3-devel
Ubuntu/Debian
sudo apt-get install libgirepository1.0-dev libwebkit2gtk-4.0-dev libgtksourceview-3.0-dev
Arch Linux
sudo pacman -S gobject-introspection gobject-introspection-runtime gtksourceview3 webkit2gtk
OS X MacPorts
sudo port install gobject-introspection webkit2-gtk gtksourceview3 gtk-osx-application-gtk3 adwaita-icon-theme`

You will also need to build a MacPorts compatible of GHC. First install GHC some other way then unpack the source for the GHC version you want to use and run:

sudo port install libxslt gmp ncurses libiconv llvm-3.5 libffi
./configure --prefix=$HOME/ghc-8.0.1 --with-iconv-includes=/opt/local/include --with-iconv-libraries=/opt/local/lib --with-gmp-includes=/opt/local/include --with-gmp-libraries=/opt/local/lib --with-system-libffi --with-ffi-includes=/opt/local/lib/libffi-3.2.1/include --with-ffi-libraries=/opt/local/lib --with-nm=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm-classic
make
make install
echo 'PATH: '"$PATH"

Make sure the $HOME/ghc-8.0.1/bin is present in PATH.

OS X Homebrew

It might be possible to build Leksah using Homebrew now we have switched to WebKit 2. If you can figure it out please send us the details or better yet a pull request to update this file. Raise an issue if you try and it does not work.

Windows MSYS2

Install:

Then in Bash shell with administrator privileges execute:

choco install ghc
pacman -S mingw64/mingw-w64-x86_64-pkg-config mingw64/mingw-w64-x86_64-gobject-introspection mingw64/mingw-w64-x86_64-gtksourceview3 mingw64/mingw-w64-x86_64-webkitgtk3

Set the following environment variables:

SET PATH=%APPDATA%\cabal\bin;C:\msys64\mingw64\bin;C:\msys64\usr\bin;C:\ProgramData\chocolatey\lib\ghc\tools\ghc-8.0.2\bin;C:\ProgramData\chocolatey\lib\cabal\tools;%PATH%
SET PKG_CONFIG_PATH=C:\msys64\mingw64\lib\pkgconfig
SET XDG_DATA_DIRS=C:\msys64\mingw64\share

(change C:\ProgramData\chocolatey\lib\ghc\tools\ghc-8.0.2\bin if a newer version is installed)

FreeBSD
pkg install devel/gobject-introspection x11-toolkits/gtksourceview3 www/webkit2-gtk3

Step 2: Clone repository and its submodules

git clone --recursive https://github.com/leksah/leksah.git
cd leksah

(Cabal variant) Step 3.a: Build

Step 3.a.1: Install extra tools
cabal update
cabal install alex happy
cabal install haskell-gi

Make sure ~/.cabal/bin is present in the PATH (Windows: Make sure %APPDATA%\cabal\bin is present in the PATH).

Step 3.a.2: Build and run Leksah
OS X using MacPorts
XDG_DATA_DIRS=/opt/local/share ./leksah.sh
All other OS'es
./leksah.sh

(Stack variant) Step 3.b: Build

Step 3.b.1: Install extra tools
stack setup --upgrade-cabal
stack install alex happy
stack install haskell-gi
stack install gtk2hs-buildtools
Step 3.b.2: Build and run Leksah
For Mac OS
stack install --stack-yaml stack.osx.yaml
stack exec leksah
All other OS'es
stack install
stack exec leksah