Karya, built on Mon Jul 24 11:39:07 PDT 2017 (patch 33511aca01257b76b88de7c7a2763b7a965c084e)

Safe HaskellNone

App.Repl

Contents

Description

Simple repl to talk to seq.

Type a command to send it to the sequencer. Everything in Cmd.Repl.Environ and Cmd.Repl.Global is in scope.

The prompt will have the name of the currently loaded score, and history will be written to (and read from) a name.repl file. Unfortunately you have to hit enter to update it if it changed. TODO bring back async notification like before?

Tab completion should work for function names, and filename completion within quotes.

:r or :R will reload modified modules, but only modify "surface" modules, since the GHC API tends to crash if you make it reload too much. Maybe crashes if it has to reload something with a C dependency.

:h or :H will open an editor on the history. You can find a line, edit it, and use ZZ to write it back.

Synopsis

Documentation

data Status Source #

Constructors

Continue 
Command !Text

Skip the next prompt and send this as a QCommand.

Quit

Blow this popsicle stand.

Instances

prompt :: Bool -> Maybe IO.FilePath -> String Source #

Colorize the prompt to make it stand out.

editor

edit :: ReplProtocol.Editor -> IO.IO () Source #

Open an editor as requested by ReplProtocol.Editor.

with_temp :: IO.FilePath -> Text -> (IO.FilePath -> IO.IO a) -> IO.IO a Source #

Run the action with a temp file, and delete it afterwards.

edit_line :: IO.FilePath -> IO.IO (Maybe Text) Source #

Open the given file, and return the selected line.