mirror of
https://github.com/CrystalSplitter/ghcitui.git
synced 2024-08-16 06:30:35 +03:00
A Terminal User Interface for the Glasgow Haskell Compiler Interactive Mode
13b8ad8b38
This is a massive fundamental TUI change. Because Brick Viewports are too slow to render large source files with tens of thousands of widgets, we need to use a slice-able data structure to contain this info. This is where SourceWindow comes in, which efficiently displays the source code as a custom widget. This is based on Brick.List, though slightly different because Brick.List also doesn't meet our needs. |
||
---|---|---|
.github/workflows | ||
app | ||
assets | ||
lib/Ghcitui | ||
test | ||
.gitignore | ||
cabal.project | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
fourmolu.yaml | ||
fswatch_build.sh | ||
ghcitui.cabal | ||
INSTALL.rst | ||
LICENSE | ||
MANUAL.rst | ||
README.md |
GHCiTUI: Interactive terminal interface for the Glasgow Haskell Compiler
/ ______ __ __ ______ __
// /\ ___\ /\ \_\ \ /\ ___\ /\_\
// ___\ \ \__ \_\ \ __ \_\ \ \_____\ \ \___
' , _ // \ \ \_____\ \ \_\ \_\ \ \_____\ \ \_\ \
/ \ // 7 \ \/_____/ \/_/\/_/ \/_____/ \/_/ \
" \ \ ______ __ __ __ \
a a \ /\__ _\ /\ \/\ \ /\ \ \
|_ \ \________\/_/\ \/_\ \ \_\ \_\ \ \________\
'._ ' \ \_\ \ \_____\ \ \_\
(' _ ' \/_/ \/_____/ \/_/
This is an experimental front-end terminal interface for
ghci
. It provides a source viewer, keybindings, an interactive
interpreter, and a local context viewer.
Installation
As this project is experimental, currently installing from source is the only option.
See INSTALLATION.rst for details.
Basic Usage
For detailed 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.md to see how.