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

Safe HaskellNone




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.



data Status Source #


Command !Text

Skip the next prompt and send this as a QCommand.


Blow this popsicle stand.

Show Status # 
Instance details

Defined in App.Repl

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

Colorize the prompt to make it stand out.


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.