diff --git a/INSTALL.rst b/INSTALL.rst index 70228da..7f3c08c 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -15,14 +15,14 @@ Getting the source Currently the source code is hosted on https://github.com. You can check out the source code using ``git`` with SSH: -.. code:: shell +.. code-block:: shell # SSH (for contributors, requires SSH set up) git clone git@github.com:CrystalSplitter/ghcitui.git Or HTTPS: -.. code:: shell +.. code-block:: shell # HTTPS git clone https://github.com/CrystalSplitter/ghcitui.git @@ -34,7 +34,7 @@ Building The GHCiTUI cabal configurations defaults to release builds in the `cabal.project`_. Therefore, we can just run... -.. code:: shell +.. code-block:: shell cabal build # Build library and executable (release mode) cabal test # Run tests (optional) diff --git a/MANUAL.rst b/MANUAL.rst index eda58fa..a0ea745 100644 --- a/MANUAL.rst +++ b/MANUAL.rst @@ -1,11 +1,59 @@ -====== -MANUAL -====== +============== +GHCiTUI MANUAL +============== ------------ -INTRODUCTION +CLI Synopsis ------------ +.. code-block:: + + Usage: ghcitui [-d|--debug-console] [-c|--cmd CMD] [-C|--workdir DIR] [TARGET] + + ghcitui: A TUI interface for GHCi + + Available options: + -h,--help Show this help text + -d,--debug-console Display the debug console + -c,--cmd CMD Command to start the internal interpreter + -C,--workdir DIR Set working dir + +--------------------- +Starting and Stopping +--------------------- + +******** +Starting +******** + +GHCiTUI runs a REPL in the current directory by default. By default, it +launches ``cabal repl``. + +.. code-block:: bash + + $ cd your/cabal/project/root/directory + $ ghcitui + +You can specify another starting directory with the ``-C `` flag. + + +.. code-block:: bash + + $ ghcitui -C some/other/directory + + +******** +Stopping +******** + +To quit, press ```` or ``q`` while in the code viewport panel to quit. +While not in the code viewport panel, you may press ```` to get to the +viewport panel. + +------ +Layout +------ + GHCiTUI is an in-terminal viewer for GHCi. The TUI is broken up into three primary panels, with some additional auxiliary panels for special use cases: @@ -27,30 +75,29 @@ primary panels, with some additional auxiliary panels for special use cases: and toggle breakpoints among other operations in this panel. **Live Interpreter:** This panel shows the GHCi/REPL passthrough. You can -enter expressions and GHCi commands here like you would normally. +enter expressions and GHCi commands here like you would normally, with some +additional keybindings. **Info:** This panel displays miscellaneous info about whatever is -currently running. For example, it can display the current bindings and loaded -modules. +currently running. For example, it can display the current bindings, loaded +modules, and the current program trace. ----------- -Navigation ----------- +----------- +Keybindings +----------- ------------------- -Keybinds Reference ------------------- +At this time, keybindings are hardcoded. This will hopefully change in the +future with a keybinding configuration file. ************* Source Viewer ************* -- ``Ctrl+x``: to toggle between the Source Viewer and the Live Interpreter +- ``Ctrl+x``: Toggle between the Source Viewer and the Live Interpreter panels. - ````, ``q``: Quit. -- ``Up``, ``k``: Move the selected line up. (``j`` and ``k`` from Vim keybinds) -- ``Down``, ``j``: Move the selected line down. (``j`` and ``k`` from Vim - keybinds). +- ``Up``, ``k``: Move the cursor up. (``j`` and ``k`` from Vim keybinds) +- ``Down``, ``j``: Move the cursor down. (``j`` and ``k`` from Vim keybinds). - ``PgUp``: Move the source viewer one page up. - ``PgDown``: Move the source viewer one page down. - ``b``: Toggle breakpoint at current line. Not every line in a source file can @@ -58,4 +105,18 @@ Source Viewer - ``s``: Advance execution by one step. Same as the ``:step`` in GHCi. - ``c``: Advance execution until next breakpoint. Same as ``:continue`` in GHCi. +- ``t``: Advance execution until next breakpoint under tracing. Same as + ``:trace`` in GHCi. +**************** +Live Interpreter +**************** + +- ``Ctrl+x``: Toggle between the Source Viewer and the Live Interpreter + panels. +- ````: Switch to Source Viewer. +- ``Up``: Scroll back in time through the REPL command history. +- ``Down``: Scroll forward in time through the REPL command history. +- ``PgUp``: Scroll the Live Interpreter window one page up. +- ``PgDown``: Scroll the Live Interpreter window one page down. +- ````: Enter a command to the REPL. diff --git a/README.md b/README.md index 631c913..908f391 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@ See [INSTALLATION.rst](./INSTALL.rst) for details. ## Basic Usage +For detailed usage, please see the [manual](./MANUAL.rst). + ### Starting the TUI GHCiTUI runs a repl in the current directory by default.