Karya, built on 2018-05-31T02:46:59 (patch 0a1a35479c514820d77330ae8a978975ba22a47a)

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
Show Status # 
Instance details

Defined in App.Repl

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.