sponsor Vim development Vim logo Vim Book Ad

Superior Haskell Interaction Mode (SHIM) : GHCi integration for VIM

 script karma  Rating 157/59, Downloaded by 6891  Comments, bugs, improvements  Vim wiki

created by
Lars Kotthoff
script type
Superior Haskell Interaction Mode (SHIM) integrates GHCi with VIM, allowing you to quickly load files or individual lines into the interpreter, interact with the interpreter like you would in a normal terminal, and quickly pinpoint error locations. It was inspired by Emacs' Haskell mode.

The script uses Ruby to spawn a GHCi process and communicate with it through pipes, reading from VIM and writing the output into a dedicated GHCi window. It is integrated with quickfix to allow you to maintain a list of errors and move among them.

Requires VIM with Ruby support, Ruby with pty extension (Unix), and GHCi.
install details
Put shim.vim into your VIM plugins directory or source the file manually. That's it.

You can map the functions "GhciFile", "GhciRange <range>", and "GhciReload" to key combinations of your preference for faster acess. Take a look at the source file for the options you may want to customize.

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
shim.vim 0.3.7 2013-06-20 7.0 Lars Kotthoff Update to work with Ruby versions >1.8.
shim.vim 0.3.6 2011-02-14 7.0 Lars Kotthoff Work around a bug in more recent versions of Vim where the buffer number can't be determined.
shim.vim 0.3.5 2010-08-04 7.0 Lars Kotthoff fixed requirements
shim.vim 0.3.4 2009-12-01 7.0 Lars Kotthoff Allowing for digits in module names.
shim.vim 0.3.3 2009-11-14 7.0 Lars Kotthoff Fixed a bug in the previous release and exposed GhciInit command to set up the buffer, window, and GHCi.
shim.vim 0.3.2 2009-11-07 7.0 Lars Kotthoff Changes to the GHCi arguments are now taken into account when GHCi is reloaded.
shim.vim 0.3.1 2009-07-24 7.0 Lars Kotthoff Added option to specify any extra arguments to GHCi.
shim.vim 0.3 2009-04-19 7.0 Lars Kotthoff SHIM now deals with GHCi having gone away (restarts it) and the ghci buffer not being visible when e.g. loading a file.
shim.vim 0.2 2009-03-27 7.0 Lars Kotthoff Tweaked the regular expression to match the GHCi prompt again and added a function to kill and restart GHCi if something goes wrong.
shim.vim 0.1.1 2008-12-20 7.0 Lars Kotthoff Changing regular expression to match ghci prompt. For some error messages it would incorrectly match part of the error message as the prompt.
shim.vim 0.1 2008-08-25 7.0 Lars Kotthoff Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.