`:M9      !"#$%&'()*+,-./012345678,9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd,9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd,9:;<:;<=>>?@AB@ABCEDDEFGGHIJKLIJKLMNNOPPQRSTRSTUVWXYZ[\]^_`abcd=efghijklmnopqrstuvwxyz{|}~6efgijkmnopqrstuvwxyz{|}~6effgijjkmmn trpousuquuopqrstuvyxwwxyz ~}|{{|}~     #$ of visible chars to left of cursor    +    9Keep track of all of the output capabilities we can use. We''ll be frequently using the (automatic)  instance for  Actions -> TermOutput.  !"#$%&'()*+,-./012345 & & 666 3When listing completion alternatives, only display ( one screen of possibilities at a time. 'If more than this number of completion 2 possibilities are found, then ask before listing  them. If 7*, completions with multiple possibilities 6 will ring the bell and only display them if the user  presses TAB again. 8The default preferences which may be overwritten in the  .haskeline file: 0 defaultPrefs = Prefs {bellStyle = AudibleBell, 0 maxHistorySize = Nothing, ( editMode = Emacs, 7 completionType = ListCompletion, / completionPaging = True, 8 completionPromptLimit = Just 100, 8 listCompletionsImmediately = True  } Read < from a given file. If there is an error reading the file,  the  will be returned.        !Text to insert in line. "Text to display when listing  alternatives. #%Performs completions from a reversed 8.  The output 8 is also reversed.  Use % to build these functions. $Disable completion altogether. %(The following function creates a custom # for use in the  'Settings.' An optional escape character -List of characters which count as whitespace 3Function to produce a list of possible completions &?Adds a space after the word when inserting it after expansion. '(9:;<=>  !"#$%&'( # !"%&$('  !" !"#$%&'(?)@A monad transformer which carries all of the state and settings ) relevant to a line-reading application. @A*;Application-specific customizations to the user interface. +,Custom tab completion -. Throw an  Interrupt & exception if the user presses Ctrl-C /Because , is the only field of +* depending on m,  the expression $defaultSettings {completionFunc = f} leads to a type error P from being too general. This function may become unnecessary if another field  depending on m is added. BC01-Run a line-reading application, reading user  from  ~/ .haskeline DRead  from ~/ .haskeline.* If there is an error reading the file,  the  will be returned. ?)@A*+,-./BC01D?)@A@A*+,-.+,-./BC01D EF Create a g for word completion. GHIJKLMNOPQ#FFRSTUVWXYZ[\]^_`abcdefgRSTUVWXYZ[\]^_`abcdefgRSTUVWXYZ[\]^_`abcdefghijklhijklhijkl234"A useful default. In particular:   defaultSettings = Settings { ( complete = completeFilename, " historyFile = Nothing,  handleSigINT = False  } mn5HWrite a string to the console output. Allows cross-platform display of  Unicode characters. 6EWrite a string to the console output, followed by a newline. Allows / cross-platform display of Unicode characters. 7?Read one line of input from the user, with a rich line-editing user interface. Returns o+ if the user presses Ctrl-D when the input Ltext is empty. Otherwise, it returns the input line with the final newline  removed. If p9 is not connected to a terminal (for example, piped from 6another process), then this function is equivalent to q, except that  it returns o4 if an EOF is encountered before any characters are read. %If signal handling is enabled in the +*, then 7 will  throw an 32) exception when the user presses Ctrl-C. The input prompt rs8&Catch and handle an exception of type 32. $Handler to run if Ctrl-C is pressed Computation to run tuvw9  !"#$%&'()*+,-./012345678)10756*+,-.4/23823345678x !"#$$%&'()*+,-./00123456789::;<=>?@AABCDEFGGHIJJKKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoppqqrrsstuvwxyz{|}~                                             ! " # $ % & ' (  ) * + ,  - . / 0 1 2 3456789:;<=>?9@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefQghijklmnopqrstuvwxy haskeline-0.2'System.Console.Haskeline.MonadExceptionSystem.Console.Haskeline.Prefs#System.Console.Haskeline.CompletionSystem.Console.Haskeline"System.Console.Haskeline.LineState System.Console.Haskeline.CommandSystem.Console.Haskeline.Monads(System.Console.Haskeline.Command.HistorySystem.Console.Haskeline.Term&System.Console.Haskeline.Backend.Posix)System.Console.Haskeline.Backend.DumbTerm)System.Console.Haskeline.Backend.Terminfo System.Console.Haskeline.BackendSystem.Console.Haskeline.InputT+System.Console.Haskeline.Command.CompletionSystem.Console.Haskeline.ViSystem.Console.Haskeline.EmacsMonadExceptioncatchblockunblockhandlefinallythrowIObracketEditModeEmacsVi BellStyle AudibleBell VisualBellNoBellCompletionTypeMenuCompletionListCompletionPrefs bellStyleeditModemaxHistorySizecompletionTypecompletionPagingcompletionPromptLimitlistCompletionsImmediately defaultPrefsmkSettorsettors readPrefs Completion replacementdisplayCompletionFunc noCompletion completeWordsimpleCompletionfilenameWordBreakCharscompleteFilenameInputTSettingscomplete historyFile handleSigINT setCompleterunInputTWithPrefs runInputT InterruptdefaultSettings outputStr outputStrLn getInputLinehandleInterruptMessage messageState messageTextClearedArgModeargargState CommandModeCEmptyCMode InsertModeIModeMovegoLeft moveToEnd moveToStartgoRight FromString fromStringResulttoResult LineState beforeCursor afterCursor isTemporary lengthToEndemptyIM insertChar insertString deleteNext deletePrevskipLeft skipRight deleteChar replaceCharenterCommandModeinsertFromCommandModeappendFromCommandModestartArgaddNumapplyArg CmdActionCommand KeyActionKeyMaplookupKMEffectRingBellRedrawshouldClearScreen PrintLines linesToPrintChange effectStateEventSigIntKeyInput WindowResizeKeyKillLine DeleteForward BackspaceKeyDownKeyUpKeyRightKeyLeftKeyMetaKeyCharLayoutwidthheight controlKeyuseKeynullKMorKMchoiceKM runCommandcontinue>|>>+>>=> acceptKey acceptKeyM acceptKeyFullacceptKeyOrFail loopUntiltryfinishfailCmd simpleCommand charCommandchangechangeFromCharchangeWithoutKeyclearScreenCmd+> choiceCmd MonadStategetput MonadReaderasklocalasksmodifyupdate runReaderT' evalStateT' mtl-1.1.1.0Control.Monad.State.Lazy runStateTStateTControl.Monad.Reader runReaderTReaderTControl.Monad.Translift MonadTransliftIOMonadIO SearchMode searchTerm foundHistoryHistLog pastHistory futureHistoryHistory historyLines prevHistoryM prevHistorieshistLogrunHistoryFromFile addHistory runHistLog prevHistory historyBackhistoryForward histUpdate reverseHiststartSearchModeaddCharsearchHistories findInLine prepSearch searchHistory MonadLayoutRunTerm getLayout withGetEventrunTerm putStrTermTermwithRepositionmoveToNextLine printLines drawLineDiff clearLayoutringBell matchInit keyEventLoop tryReadTChanioctlTreeMapgetPosixLayoutgetKeySequencesansiKeys terminfoKeyssttyKeys emptyTreeMapinsertIntoTree listToTreemapLineslexKeys lookupCharswithPosixGetEvent wrapKeypadwithWindowHandlerwithSigIntHandler withHandlergetEventDumbTerm unDumbTermWindowpos initWindow runDumbTerm printTextcrlfcrbacksspaces clearLayoutDmaxWidth drawLineDiff' refitLine clearDeadTextDrawunDrawTermPostermRowtermColActionsbase Data.MonoidMonoidleftArightAupAclearToLineEndnl bellAudible bellVisualclearAllwrapLine getActionstext getWrapLineleftrightup mreplicate initTermPosrunTerminfoDrawoutput changeRight changeLeftfillLine drawLineDiffT linesLeft lsLinesLeft clearLayoutTmoveToNextLineT posFromLength posToLength repositionwithRepositionT myRunTermghc-primGHC.BoolFalseGHC.BaseString completionsetReplacementquotedFilenamesappendIfNotDir findFilesfixPath InputCmdTunInputT runInputCmdTliftCmdTreadPrefsFromHomemakeCompletion completionCmdpagingCompletionaskFirst printOneLine printPagepagingCommandsprintAll makeLinespadWordssplitIntoGroupsceilDivmenuCompletionInputCmd viActionsinsertionCommandssimpleInsertions eofIfEmpty startCommandviCommandActionsexitingCommandssimpleCmdActions replaceOnce loopReplacerepeated movements useMovements deleteOnce deleteIOncedeleteAndInsertdeleteAndInsertR foreachDigitdeleteFromMovedeleteFromRepeatedMovedeleteFromDiff emacsCommands simpleActionscontrolActionsdeleteCharOrEOFwrapTerminalOps bracketSet Data.MaybeNothingGHC.IO.Handle.FDstdin System.IOgetLinegetInputCmdLinerepeatTillFinish drawEffectdrawLine clearLineactBell