Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The Haskell-Scriptable Editor
Haskell Perl Makefile

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Data
Parser
Shim
System
Yi
art
attic
doc
examples
sketches
tests
.boring
AUTHORS
Contributors.hs
HACKING
HConf.hs
HConfUtils.hs
LICENSE
Main.hs
Makefile
README
STYLE
Setup.hs
Yi.hs
activity.log
cabal-make.inc
config.sample
yi.cabal

README

Yi -- the Haskell extensible editor

<http://haskell.org/haskellwiki/Yi>

report bugs at: http://code.google.com/p/yi-editor/issues/list

------------------------------------------------------------------------



DEPENDENCIES

* Cabal 1.4

* ghc 6.10.1

* Alex (the haskell lexer generator) 
	http://www.haskell.org/alex/

* for vty frontend, vty 3.1.6
  * http://hackage.haskell.org/cgi-bin/hackage-scripts/package/vty

* for gtk frontend, gtk2hs 0.9.13.
        http://haskell.org/gtk2hs/download/

* for cocoa frontend
  * latest SVN repo version of HOC:
        # First you need to install libffi (unless you have leopard)
        svn co http://hoc.googlecode.com/svn/trunk/libffi
        cd libffi/src
        ../configure --prefix=/usr/local CFLAGS=-DMACOSX
        make
        sudo make install
        
        # Then you install the latest hoc version
        svn co http://hoc.googlecode.com/svn/trunk/hoc
        cd hoc
        runhaskell Setup configure --prefix=/usr/local
        runhaskell Setup build
        sudo runhaskell Setup install
        cd Bindings
        sudo bash make-bindings-macos.sh --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.


QUICK START:

* 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

  $(install-prefix)/yi

run

  yi --help

for a list of options.


FAQ

The FAQ is maintained on the Haskell wiki:

 http://haskell.org/haskellwiki/Yi/FAQ

CONFIGURATION

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

COMPATIBILITY

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



Notes:

  * 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.
  

HACKER'S GUIDE: 

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!


PORTABILITY

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