MyNixOS website logo
Description

A Terminal User Interface (TUI) for GHCi.

A terminal user interface for GHCi debug mode.

Features:

  • A source view window, with debug keybindings.

  • Live variable bindings.

  • Live loaded modules.

  • Visible trace history.

  • An GHCi session in the current context.

GHCiTUI: Interactive terminal interface for the Glasgow Haskell Compiler

          /       ______    __  __    ______    __
        //       /\  ___\  /\ \_\ \  /\  ___\  /\_\
       //     ___\ \ \__ \_\ \  __ \_\ \ \_____\ \ \___
' , _ //      \   \ \_____\ \ \_\ \_\ \ \_____\ \ \_\  \
 / \ // 7      \   \/_____/  \/_/\/_/  \/_____/  \/_/   \
    "   \       \           ______   __  __    __        \
    a   a        \         /\__  _\ /\ \/\ \  /\ \        \
 |_      \        \________\/_/\ \/_\ \ \_\ \_\ \ \________\
   '._    '                   \ \_\  \ \_____\ \ \_\
     (' _ '                    \/_/   \/_____/  \/_/

GitHub Actions Workflow Status Hackage Version

This is an experimental front-end terminal interface for ghci. It provides a source viewer, keybindings, an interactive interpreter, and a local context viewer.

Splash Image For GHCiTUI

Installation

You can install this project from Hackage using cabal or from source. See INSTALLATION for details.

Basic Usage

For full usage, please see the manual.

Starting the TUI

GHCiTUI runs a repl in the current directory by default.

$ cd your/cabal/project/root/directory
$ ghcitui

You can specify another directory with the -C <DIR> flag.

$ ghcitui -C some/other/directory

Quitting the TUI

Press <ESC> or q while in the code viewport panel to quit. While not in the code viewport panel, you may press <ESC> to get to the viewport panel.

Contributing

Contributors are welcome! Please see CONTRIBUTING to see how.

Metadata

Version

0.3.0.0

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows