dK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred*-The system-default color of the engine used. L e.g. in Gtk this should pick whatever the user has chosen as default color < (background or forground depending on usage) for the text. BA StyleName determines what style to use, taking into account the ) set of rendering preferences given by a . Typically, style  names will be "-valued field names of .  The UI type #ground attributes for the modeline $transformation of modeline in focus !ground attributes for the tabbar %a tab that currently holds the focus +a tab that does not have the current focus *ground attributes for the main text views the selected portion empty file marker colours indicates errors in text search matches paren matches other hints current search match  all comments #additional only for block comments applied to language keywords numbers /preprocessor directive (often in Haskell or C) constant strings "additional style for long strings ,type name (such as class in an OO language) data constructor style of import names )builtin things, e.g. Array in JavaScript regular expressions #any standard variable (identifier) infix operators 0Style of a quotation (e.g. in template haskell)  stuff that'$s passed to the shell in a Makefile !makefile rule headers "7The style is used to transform attributes by modifying . one or more of the visual text attributes. #4Visual text attributes to be applied during layout. 'The text should be show as active or selected. ; This can be implemented by reverse video on the terminal. ,"A style that sets the foreground. -"A style that sets the background. .#A style that sets the font to bold /'A style that sets the style to italics 0*A style that sets the style to underlined 1*A style that sets the style to underlined 2The identity transform. 3LConvert a color to its text specification, as to be accepted by XParseColor E  !"#$%&'()*+,-./0123456789:;<=>?@ABCDE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDE#$%&'()*+"  !,-.10/234<;:98765=DCBA@?>  !"#$%&'()*+,-./0123456789:;<=>?@ABCD Safe-InferredF.Abstract theme that provides useful defaults. G5A Theme inspired by the darkblue colorscheme of Vim. EFGEFGEFGEFGportable experimentalyi-devel@googlegroups.comNonePAs  ", but with O(n*log(n)) behaviour. Q?As Map.adjust, but the combining function is applied strictly. RGeneralisation of  to arbitrary foldables. SAlternative to groupBy.  9 groupBy' (\a b -> abs (a - b) <= 1) [1,2,3] = [[1,2,3]] whereas  : groupBy (\a b -> abs (a - b) <= 1) [1,2,3] = [[1,2],[3]] 5TODO: Check in ghc 6.12 release if groupBy == groupBy'. U4Return the longest common prefix of a set of lists. 1 P(xs) === all (isPrefixOf (commonPrefix xs)) xs E length s > length (commonPrefix xs) --> not (all (isPrefixOf s) xs) VWFinds the first element satisfying the predicate, and returns a zipper pointing at it. WGiven a function which moves the focus from index A to index B, return a function which swaps the elements at indexes A and B and then moves the focus. See Yi.Editor.swapWinWithFirstE for an example. HIJKLMNOPQRSTUVWXYZHIJKLMNOPQRSTUVWXYZLMNOHIJKPQRSTUVWXYZHIJKLMNOPQRSTUVWXYZNone[&Direction of movement inside a buffer ^Window references aSize of a buffer region dA point in a buffer gReference to a buffer. iA mark in a buffer mreverse if Backward n direction is in the same style of  or  functions, D It takes one argument per direction (backward, then forward) and a ! direction to select the output. [\]^_`abcdefghijklmn[\]^_`abcdefghijklmn[]\lmnijkghdefabc^_`[]\^_`abcdefghijklmnNonepFTreat the input not as a regex but as a literal string to search for. q)Compile for newline-insensitive matching r,Compile for matching that ignores char case |>Return an escaped (for parseRegex use) version of the string. ,Return a pattern that matches its argument. FReverse a pattern. Note that the submatches will be reversed as well. ~-The regular expression that matches nothing. opqrstuvwxyz{|}~Q     opqrstuvwxyz{|}~orqp{stuvwxyz}~|orqpstuvwxyz{|}~None The region data type. zThe region is semi open: it includes the start but not the end bound. This allows simpler region-manipulation algorithms.  Invariant : regionStart r <= regionEnd r %Take the intersection of two regions ?Take the union of two regions (including what is between them) ECreate a region from ordered bounds. If 2nd argument is greater than % 1st, then the region will be empty. 1Construct a region from its bounds, emacs style:  the right bound is excluded The empty region 4True if the given point is inside the given region. HTrue if the given point is inside the given region or at the end of it. @Returns if a region (1st arg) is included in another (2nd arg)  !" !"portable experimentalyi-devel@googlegroups.comNoneInitial state AHow far did the scanner look to produce this intermediate state? G The state can be reused as long as nothing changes before that point. <Running function returns a list of results and intermediate & states. Note: the state is the state before producing the ! result in the second component. EThe main type of syntax highlighters. This record type combines all I the required functions, and is parametrized on the type of the internal  state. %The start state for the highlighter. :focus at a given point, and return the coresponding node. : (hint -- the root can always be returned, at the cost of  performance.) /This takes as input a scanner that returns the full result at ? each element in the list; perhaps in a different form for the # purpose of incremental-lazy eval. #$ abcdef defabc #$portable experimentalyi-devel@googlegroups.comNone over .  Just like , but also knows how to turn its tokens into  s. >Generalises lexers. This allows us to easily use lexers which  don'=t want to be cornered into the types we have predefined here  and use in  common.hsinc.  Handy alias :Function to (possibly) lex a single token and give us the  remaining input.  Lexer state CEncode a Haskell String to a list of Word8 values, in UTF8 format. Return a constant token 4Return a constant token, and modify the lexer state (Convert the parsed string into a token, # and also modify the lexer state 'Convert the parsed string into a token  Defines a  for $. This exists to make using the new   easier if you' re using  as all our lexers do  today, 23-08-2014. <Combine a character scanner with a lexer to produce a token $ scanner. May be used together with  mkHighlighter to produce a   , or with linearSyntaxMode to produce a Mode. Eunfold lexer into a function that returns a stream of (state, token) J%&'(LIKabcLIKabc3%&'( None)8Scan one token. Return (maybe) a token and a new state. Q*+,-./0123456789:;<=>  ?@ )ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_      4*-,+.10/26543789:;<=>  ?@ )ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ None`8Scan one token. Return (maybe) a token and a new state. Babcdefghijklmnopqrstuvwxyz{ `|}~  5abgfedchkjilponmqrstuvwxyz{ `|}~ None8Scan one token. Return (maybe) a token and a new state. -      None8Scan one token. Return (maybe) a token and a new state. Y      !G      ! None"8Scan one token. Return (maybe) a token and a new state. T#$%&'()*+,-./0123456789:;<=>?@AB"CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsA#$)('&%*-,+.210/345;:9876<=>?@AB"CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsNoneP8Scan one token. Return (maybe) a token and a new state. tuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP= !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP=MPIJONKL#"! HCGFED/BA@?>=<;:9876543210$.-,+*)('&%btuzyxwv{~}|#"! $ .-,+*)('&%/BA@?>=<;:9876543210CGFEDHIJKLMNOPNone8Scan one token. Return (maybe) a token and a new state. .QRQRRQ#QRNone SThe different tokens. ^HlStateC is 0 when outside of a multi-line comment and -1 when inside one. _The constructors for Operator( have an apostrophe as a suffix because  e.g. LT is already used by Prelude. The constructors for Reserved( have an apostrophe as a suffix because  Default" is already used. Also note that  Undefined' is not intended as  some sort of backup reserved word for things we don't care about -- it  really means the  undefined built-in in JavaScript. The Line0 constructor represents a single-line comment. Start and End G represent the start and end of a multi-line comment, respectively. Text 0 represents the text in a multi-line comment. Prefix operators. NOTE: Add', is also a valid prefix operator, but since  it'.s completely useless in the real world, we don't care about it here. / Doing this makes parsing much, much easier. Postfix operators. Infix operators. Takes a S8 and returns a style to be used for that type of token.  TODO: The : check is potentially unnecessarily slow. We could split O the Const constructor into two different ones, one for builtins and one for  others. Given a String& representing an operator, returns an _ with the  appropriate constructor. Given a String) representing a reserved word, returns a  with  the appropriate constructor. 8Scan one token. Return (maybe) a token and a new state.      STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RS]\[ZYXWVUT_~}|{zyxwvutsrqponmlkjihgfedcba`^=     S ]\[ZYXWVUT^_ ~}|{zyxwvutsrqponmlkjihgfedcba` !"#$%&'()*+,-./0123456789:;<=>?@ABNone8Scan one token. Return (maybe) a token and a new state. 8CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn  &CFEDGJIHKONMLPQRSTUVWXYZ[\]^_`abcdefghijklmnNone8Scan one token. Return (maybe) a token and a new state. opqrstuvwxyz{|}~roputsrqvyxwz~}|{None8Scan one token. Return (maybe) a token and a new state. F      !"#$%&'/       !"#$%&'None(8Scan one token. Return (maybe) a token and a new state. D)*+,-./0123456789:;<=>?@(ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij9),+*-0/.154326789:;<=>?@(ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijNonek8Scan one token. Return (maybe) a token and a new state. :lmnopqrstuvwxyz{|}~k+lmrqponsvutw{zyx|}~kNone8Scan one token. Return (maybe) a token and a new state. .#None8Scan one token. Return (maybe) a token and a new state. =    2    None 8Scan one token. Return (maybe) a token and a new state. < !"#$% &'()*+,-./0123456789:;<=>?@ABCDEFG1 !"#$% &'()*+,-./0123456789:;<=>?@ABCDEFGNoneH8Scan one token. Return (maybe) a token and a new state. <IJKLMNOPQRSTUVWXYZ[\]^_`Habcdefghijklmnopqrstuvwxyz{|}~1ILKJMPONQUTSRVWXYZ[\]^_`Habcdefghijklmnopqrstuvwxyz{|}~None8Scan one token. Return (maybe) a token and a new state. <1None8Scan one token. Return (maybe) a token and a new state.       !"#$%&'()*+,-./0123456789:;<=>?@ABCDp       !"#$%&'()*+,-./0123456789:;<=>?@ABCDNoneE8Scan one token. Return (maybe) a token and a new state. 3FGHIJKLMNOPQRSTUVWXYZ[\]E^_`abcdefghijklmnopqrstuv(FIHGJMLKNRQPOSTUVWXYZ[\]E^_`abcdefghijklmnopqrstuvNonew8Scan one token. Return (maybe) a token and a new state. 8xyz{|}~w-x{zy|~}wNone8Scan one token. Return (maybe) a token and a new state. 5*!"#$%%&'()*+,-./0123456789:;<=>?@ABCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}}~                                   !"   #$ %&'()*+,-./0123456789:;<=>?@ABCDEFGHI "JKLMN OPQRSTUVWXYZ[\]^_`abcdefghijklmn opqrstuvwxyz{|}~DG"DGDG !"   #$  G                       D                            ! " # $ G %  & %                       D        '                     ! " ( ) * + , # $ G                       D        '      ! " # $ G %  & %                 - . / 0 1       D        2 3 4 5 '                 6 7 8 9 : ; < = > ? @ A B C     ! " ( ) * + , # $ G %  & %                D E F G H I       D        J K L M N '                 6 7 8 9 : ; <     ! " ( ) * + , # $%&%    O 6789:;<=>?@ABCPQRSTUVWXYZ[\]^_`abcdef !"()*+,#$GD    '  !"#$?ghijk@l    mn 679: !"#$    '  !"#$%&%opqrs    tuO 6789:;<=>?@ABCPQRSTUVWXYZ[\]^_abcdefvwxyz{|}~ !"()*+,#$GD    O  !"#$GD    O689:;=>?A !"#$G%&%D    '  !"()*+,#$GD    '  !"#$GD    O' 678 !"#$GD    O' 6 !"#$GD    O' 67 !"#$GD    O' 6 !"#$G%&%D    ' 6789:;<=>?@ABCPQRSTUVWXYZ[\]^_`abcdefvwxyz{|}~ !"()*+,#$GD    '  !"#$GD    '  !"#$GD    '  !"#$yi-language-0.1.0.8Yi.StyleYi.Style.LibraryYi.UtilsYi.Buffer.BasicYi.Regex Yi.Region Yi.Syntax Yi.Lexer.AlexYi.Lexer.AbellaYi.Lexer.CabalYi.Lexer.CompilationYi.Lexer.GNUMakeYi.Lexer.GitCommitYi.Lexer.Haskell Yi.Lexer.JSONYi.Lexer.JavaScriptYi.Lexer.LatexYi.Lexer.LiterateHaskellYi.Lexer.OCaml Yi.Lexer.OttYi.Lexer.SVNCommitYi.Lexer.Whitespace Yi.Lexer.CYi.Lexer.Cplusplus Yi.Lexer.JavaYi.Lexer.ObjectiveC Yi.Lexer.PerlYi.Lexer.Python Yi.Lexer.Ruby Yi.Lexer.SrmcPreludenubColorDefaultRGB StyleNameUIStylemodelineAttributesmodelineFocusStyletabBarAttributestabInFocusStyletabNotFocusedStylebaseAttributes selectedStyleeofStyle errorStyle hintStylestrongHintStyle commentStyleblockCommentStyle keywordStyle numberStylepreprocessorStyle stringStylelongStringStyle typeStyledataConstructorStyle importStyle builtinStyle regexStyle variableStyle operatorStyle quoteStylemakeFileActionmakeFileRuleHeadStyle Attributes foreground background reverseAttrbolditalic underlineemptyAttributeswithFgwithBgwithBdwithItlc withUnderline withReverse defaultStyle colorToTextblackgrey lightGreydarkredred darkgreengreenbrownyellowdarkbluebluepurplemagentadarkcyancyanwhite brightwhiteTheme defaultTheme darkBlueThemeSemiNum+~-~~-iofst3snd3trd3nubSet mapAdjust'mapFromFoldablegroupBy'chain commonPrefixfindPL swapFocusmakeClassyWithSuffix addSuffixmakeLensesWithSuffix DirectionForwardBackward WindowRef unWindowRefSizefromSizePoint fromPoint BufferRefMarkmarkId reverseDir mayReverse directionElim SearchOption QuoteRegex NoNewLine IgnoreCase SearchExpseInput seCompiledseBackCompiled seOptions searchString searchRegexmakeSearchOptsMregexEscapeString emptySearch emptyRegexRegionregionDirection regionStart regionEnd regionFirst regionLast fmapRegion regionSizeintersectRegion unionRegionmkRegion mkRegion' mkSizeRegion emptyRegioninRegion nearRegionincludedRegion regionIsEmptyregionsOverlapCacheScannerscanInit scanLooked scanEmptyscanRunExtHL HighlighterSynHL hlStartStatehlRun hlGetTreehlFocusSpan spanBegin spanContentsspanEndStrokeLength skipScanner emptyFileScan mkHighlighter noHighlighter StyleLexerASI StyleLexer _tokenToStyle _styleLexerLexer_step _starting _withChars_looked _statePosn _lexEmpty_startingState CharScanner TokenLexerASIPosnposnOfsposnLineposnColToktokTtokLentokPosn AlexStatestLexer lookedOffsetstPosnAction AlexInput IndexedStrByte utf8Encode tokToSpantokFromTtokBegintokEnd startPosnmoveStrmoveCh alexGetChar alexGetBytealexCollectCharalexInputPrevChar actionConstactionAndModifyactionStringAndModifyactionStringConst commonLexer lexScanner unfoldLexerposnColA posnLineAposnOfsAtokLenAtokPosnAtokTAlexEmptylookedstarting startingState statePosnstep withChars styleLexer tokenToStyleTTToken UnrecognizedSkip CommentLine ReservedOpReserved ConsIdentVarIdentNumberOtherOpDotDoubleRightArrow RightArrow BackSlashAndOrOtherExistsForallHlState tokenToText isCommentlexerTextReport CppDirectiveTHQuoteCommentOperator ConsOperatorSpecial StringTokCharTokOpTypeTildaArobase DoubleDot DoubleColon LeftArrowEqualPipe ReservedTypeInstanceClassModuleDeriving OtherLayoutOfDoInLetWhereTypeNewTypeDataImportAs QualifiedHiding CommentTypeLineCloseOpen startsLayout initState isSpecial isErrorTok alexScanTokenConst ValidNameOpRexStrResUnknownQualify'BitNot' RightShiftZ' RightShift' LeftShift'BitXor'BitOr'BitAnd'Not'Or'And'NotEqualsType' EqualsType'LTE'LT'GTE'GT' NotEquals'Equals' ModuloAssign' DivideAssign'MultiplyAssign'SubtractAssign' AddAssign'Assign' Decrement' Increment'Modulo'Divide' Multiply' Subtract'Add' Undefined'Null'False'True'With'While'Void'Var'TypeOf'Try'Throw'This'Switch'Return'New' InstanceOf'In'If' Function'For'Finally'Else'Do'Delete'Default' Continue'Catch'Case'Break'prefixOperatorspostfixOperatorsinfixOperators NewCommandEndBeginCommandIndentReservedcontainers-0.5.0.0 Data.Map.BasefromList$fBinaryHashMapbase Data.Maybemaybe Data.Eithereither$fDefaultWindowRef$fSemiNumPointSize $fShowPoint$fShowBufferRef$fBinaryDirectionliteralPatternreversePattern searchOptmapLeftliteralPattern'$fPlatedPattern$fBinarySearchExp$fBinarySearchOptionregex-base-0.93.2Text.Regex.BasegetVersion_Text_Regex_BaseText.Regex.Base.RegexLike MatchOffset MatchLength MatchArray MatchTextmrSubs mrSubListmrAftermrMatchmrBeforeMR MatchResult getExecOpts setExecOptsdefaultExecOptdefaultCompOpt blankExecOpt blankCompOpt RegexOptionsmakeRegexOptsM makeRegexM makeRegexOpts makeRegex RegexMaker matchOnceText matchAllText matchTest matchCountmatchAll matchOnce RegexLikematchMmatch RegexContextextractemptyafterbeforeExtractgetAllSubmatches AllSubmatchesgetAllTextSubmatchesAllTextSubmatches getAllMatches AllMatchesgetAllTextMatchesAllTextMatchesregex-tdfa-1.2.0Text.Regex.TDFA=~~=~getVersion_Text_Regex_TDFAText.Regex.TDFA.CommonlastStarGreedy newSyntax rightAssoc multiline caseSensitive CompOption captureGroups ExecOptionRegex ordRegion $fShowRegion$fBinaryRegion$fFunctorScanner $fShowPosn $fOrdPosn $fShowTok$fEqTokAlexAcc AlexAccSkip AlexAccNone AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA# alex_base alex_table alex_check alex_deflt alex_accept stateToInit alexScan' alexScanUser'alex_scan_tkn'cmmscs alex_action_1 alex_action_2 alex_action_3 alex_action_4 alex_action_5 alex_action_6 alex_action_7 alex_action_8 alex_action_9alex_action_10alex_action_11alex_action_12alex_action_13alex_action_14alex_action_15alex_action_16alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkniUnbox$fFunctorAlexLastAcc AlexAccPredAlexAccSkipPred alex_action_0 alexAndPredalexPrevCharIsalexPrevCharMatchesalexPrevCharIsOneOfalexRightContext RuleCommandComplexExpansionIncludeDirective InCommentTopLevelcommentcomplexExpansionincludeDirective ruleCommandalex_action_17alex_action_18alex_action_19alex_action_20alex_action_21alex_action_22alex_action_23alex_action_24alex_action_25alex_action_26alex_action_27alex_action_28alex_action_29alex_action_30DiffDeclaration LineComment MessageLineKeyword SecondLineDigestbodydiffkeyword lineComment secondLinenestcommalex_action_31alex_action_32alex_action_33alex_action_34alex_action_35alex_action_36alex_action_37alex_action_38alex_action_39alex_action_40alex_action_41alex_action_42alex_action_43alex_action_44alex_action_45alex_action_46alex_action_47alex_action_48alex_action_49alex_action_50alex_action_51alex_action_52alex_action_53GHC.ListelemopToOpresToResStartbuiltinConstructorshtmlcomm multicomm LaTeXBlock CommentBlock unCommentCodeLine CodeBlock codeBlockcodeLinealex_action_54alex_action_55alex_action_56alex_action_57alex_action_58alex_action_59alex_action_60alex_action_61alex_action_62alex_action_63alex_action_64alex_action_65alex_action_66alex_action_67alex_action_68alex_action_69alex_action_70alex_action_71alex_action_72alex_action_73alex_action_74alex_action_75alex_action_76alex_action_77alex_action_78alex_action_79alex_action_80alex_action_81beginHombindspechomspliceHlCommitSummaryHlCommitMessage commitSummary spaceStyletabStyle HlInVariableHlInSubstRegex HlInPerldoc HlInHeredocHlInInterpHeredocNoIdentHlInInterpHeredocHlCollectHeredocIdentHlStartCollectHeredocIdent HlInStringHlInInterpStringHlInCodefromQuoteStateincreaseVarCastDepthdecreaseVarCastDepthexitVarIfZeroDepthcollectHeredocIdentheredoc interpHeredocinterpHeredocNoIdent interpStringperldocstartCollectHeredocIdentstringvariable