:Get it from Hackage. Configure, compile and install Yi as you would do for any other Cabal package. See also above-mentioned (2.3 Platform Support).

:Get it from Hackage. Configure, compile and install Yi as you would do for any other Cabal package. See also above-mentioned (2.3 Platform Support).

−

*Setup configure fails with

+

*Setup configure fails with

Setup.hs: Package yi-0.4 can't be built on this system.

Setup.hs: Package yi-0.4 can't be built on this system.

:It means that you have no UI package available. You need VTY or GTK2hs installed. Get them from Hackage.

:It means that you have no UI package available. You need VTY or GTK2hs installed. Get them from Hackage.

Line 31:

Line 31:

* I can't install <tt>yi-gtk</tt> or <tt>yi-vty</tt>! It wants <tt>sourceview</tt> or something.

* I can't install <tt>yi-gtk</tt> or <tt>yi-vty</tt>! It wants <tt>sourceview</tt> or something.

−

: As the Hackage descriptions say, yi-gtk and yi-vty are ''only'' for versions of older than Yi 0.3. You really should be running the latest development (Darcs) or stable (Hackage) versions of Yi, so ''don't'' try to install these two packages. Yi supports VTY and Gtk2hs directly in the <tt>yi</tt> package now.

+

: As the Hackage descriptions say, yi-gtk and yi-vty are ''only'' for versions of older than Yi 0.3. You really should be running the latest development (GitHub) or stable (Hackage) versions of Yi, so ''don't'' try to install these two packages. Yi supports VTY and Gtk2hs directly in the <tt>yi</tt> package now.

Note that more recent versions of Yi (e.g. from the darcs repo) no longer simply display the anonymous GError but instead provide a more detailed error message (making the above code snippet unnecessary).

+

Note that more recent versions of Yi (e.g. from the GitHub repo) no longer simply display the anonymous GError but instead provide a more detailed error message (making the above code snippet unnecessary).

If you want GHC API special capabilities, you have to download, configure, build and copy separately:

cd yi
cabal configure -fghcAPI
cabal build
cabal copy

Compilation fails with a message about alex not being available?

Currently, Cabal doesn't track programs, just libraries, so it won't warn you if you are missing Alex (as many people are). The solution here is to just cabal install alex first. (Yi uses Alex to generate code for parsing stuff with syntax, like Haskell source.)

I can't install yi-gtk or yi-vty! It wants sourceview or something.

As the Hackage descriptions say, yi-gtk and yi-vty are only for versions of older than Yi 0.3. You really should be running the latest development (GitHub) or stable (Hackage) versions of Yi, so don't try to install these two packages. Yi supports VTY and Gtk2hs directly in the yi package now.

2.3.9 C, C++ and Java Modes

3 Development

Fork the repository on GitHub, then clone your version to your machine. Push to your repo on GitHub, and then make merge requests.

What are some of the dependancies?

There is a rather long list of dependencies for Yi, check the yi.cabal file for a list.

If you are on Mac OS X and are using MacPorts, then these will not be included in the GHC in that distribution. Many of the dependancies are in MacPorts (for example: ghc, ghc-devel, alex, and gtk2hs). However, you may have some trouble building with Cabal-1.5.2, since it is a development version of Cabal. To work around these issues, you might have to add the line "Build-Type: Simple" to the .cabal files in the above required packages.

A good way to start is to copy yi.hs in your $XDG_CONFIG_HOME/yi directory (create it if needed), and hack as needed.

5 Usage

5.1 GError on startup

I get the error message "yi.exe: <<System.Glib.GError.GError>>" when I try to run yi.

Sometimes this is a result of yi not being able to find the contents of the art directory when trying to start in graphical mode (e.g. Gtk or Pango). Check that the install has be done correctly or use the VTY mode ($ yi -f vty).

For more detail on the error, modify main in Yi/Main.hs to catch GError:

Note that more recent versions of Yi (e.g. from the GitHub repo) no longer simply display the anonymous GError but instead provide a more detailed error message (making the above code snippet unnecessary).