Skip to content
This repository

The Haskell-Scriptable Editor

tree: 6e2a42ae96

Fetching latest commit…

Cannot retrieve the latest commit at this time

Yi -- the Haskell extensible editor


report bugs at:



* Cabal 1.4

* ghc 6.10.1

* Alex (the haskell lexer generator)

* for vty frontend, vty 3.1.6

* for gtk frontend, gtk2hs 0.9.13.

* for cocoa frontend
  * latest SVN repo version of HOC:
        # First you need to install libffi (unless you have leopard)
        svn co
        cd libffi/src
        ../configure --prefix=/usr/local CFLAGS=-DMACOSX
        sudo make install
        # Then you install the latest hoc version
        svn co
        cd hoc
        runhaskell Setup configure --prefix=/usr/local
        runhaskell Setup build
        sudo runhaskell Setup install
        cd Bindings
        sudo bash --prefix=/usr/local
        # maybe you want to add --user arg here

* many packages shipped with GHC or found on hackage.
  see the cabal file for complete list.


* configure, compile and install yi as you would do for any other Cabal package.

  NOTE: if you get 

    Setup.hs: Package yi-<version> can't be built on this system.

  it means that you have no UI package available. See DEPENDENCIES.

* copy examples/yi.hs to ~/.yi/ and tailor to your needs

* run yi



  yi --help

for a list of options.


The FAQ is maintained on the Haskell wiki:


All configuration (bindings, colours) is done with ~/.yi/yi.hs
See examples directory for files that you can use as ~/.yi/yi.hs


        |  Vty     Gtk   Cocoa
Linux   |   X       X
OSX     |   X       X      X
Windows |           X


  * Vty library has small problems with various terminals. Some keys
    might not be well recognized. 

  * Reconfiguration does not work on windows. You'll have to compile your
    customized Yi yourself.

  * Cocoa frontend is still experimental.


To quickly check your changes to the yi tree,
you can run yi in place without installing with the usual

$ ./dist/build/yi/yi

but if you have a customized yi, the above will only launch it, 
and therefore it will still use the installed yi library code.

To use your own yi.hs file in place, copy it across to yi/HackerMain.hs and
then configure yi to run in hacker mode. So assuming you are in the yi top level
directory (ie ls shows yi.cabal):
$ cp ~/.yi/yi.hs HackerMain.hs
$ runhaskell Setup.hs configure -fhacking
$ runhaskell Setup.hs build
$ ./dist/build/yi/yi

Though obviously the configure command should also include your usual
cabal flags which may well include "--user" and "--prefix".

This is the recommended mode of operation if you're tracking the
development repository.

NOTE: You must still install Yi once so that the icons can be found!


A porting checklist:
        * you have latest GHC release
        * you have either gtk or vty support
Something went wrong with that request. Please try again.