a „oeãOã@shddlZddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z dZ ej ršz&e ej ej ej¡dd¡¡Z Wnejy˜Yn0e durÞz&e ej ej ej¡dd¡¡Z WnejyÜYn0e durðe d¡Z d d ¡Zd Zd Zd Zd ZejdZGdd„dƒZGdd„dƒZGdd„deƒZGdd„deƒZGdd„de j eƒZ!dS)éN)Údefault_scintilla_encoding)Úwindowé)Ú scintillaconzScintilla_d.DLLz Scintilla.DLLúÚasciiiKi6iOi>é7c@seZdZdd„ZdS)ÚScintillaNotificationcKs|j |¡dS©N)Ú__dict__Úupdate)ÚselfÚargs©rúBC:\Program Files\Certbot\pkgs\pythonwin\pywin\scintilla\control.pyÚ__init__6szScintillaNotification.__init__N)Ú__name__Ú __module__Ú __qualname__rrrrrr 5sr c@s€eZdZdd„Zdd„Zdždd„ZdŸd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd d(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„Zd:d;„Zdd?„Z d@dA„Z!dBdC„Z"dDdE„Z#dFdG„Z$dHdI„Z%dJdK„Z&dLdM„Z'dNdO„Z(dPdQ„Z)dRdS„Z*dTdU„Z+dVdW„Z,dXdY„Z-dZd[„Z.d¡d\d]„Z/d^d_„Z0d`da„Z1dbdc„Z2ddde„Z3dfdg„Z4dhdi„Z5djdk„Z6dldm„Z7dndo„Z8dpdq„Z9d¢drds„Z:dtdu„Z;dvdw„Zd£d|d}„Z?d~d„Z@d€d„ZAd‚dƒ„ZBd„d…„ZCd†d‡„ZDdˆd‰„ZEdŠd‹„ZFdŒd„ZGdŽd„ZHdd‘„ZId’d“„ZJd”d•„ZKd–d—„ZLd˜d™„ZMdšd›„ZNdœd„ZOdS)¤ÚScintillaControlInterfacecCsbd}t |t |¡¡}t ||¡\}}}}}} } }} } } }}}t|||||| | || | | |||dS)NZiiiiPiiiPPiiii)ÚpositionÚchÚ modifiersÚmodificationTypeÚtext_ptrÚlengthÚ linesAddedÚmsgÚwParamÚlParamÚlineÚ foldLevelNowÚ foldLevelPrevÚmargin)Úwin32uiZGetBytesÚstructÚcalcsizeÚunpackr )r rÚformatÚbytesrrrrrrrrrr r!r"r#rrrÚSCIUnpackNotifyMessage;sD ñòz0ScintillaControlInterface.SCIUnpackNotifyMessagecCs| tj| t¡¡dSr )Ú SendMessagerZ SCI_ADDTEXTÚencoder)r ÚtextrrrÚ SCIAddText_s ÿz$ScintillaControlInterface.SCIAddTextNcCs@|dur(tt|fdd„|ƒƒ}d |¡}| tj| t¡¡dS)NcSs |t|ƒSr )Úchr)ÚcharÚstylerrrÚióz.Ú)ÚlistÚmapÚjoinr+rZSCI_ADDSTYLEDTEXTr,r)r r-r1rrrÚSCIAddStyledTextds   ÿz*ScintillaControlInterface.SCIAddStyledTextéÿÿÿÿcCs,t|tƒr| t¡}| tj||t¡dSr )Ú isinstanceÚstrr,rÚ SendScintillarZSCI_INSERTTEXTÚ null_byte)r r-ÚposrrrÚ SCIInsertTextos  z'ScintillaControlInterface.SCIInsertTextcCs| tj¡dSr )r<rZSCI_SETSAVEPOINT©r rrrÚSCISetSavePointvsz)ScintillaControlInterface.SCISetSavePointcCs| tj|¡dSr )r<rZSCI_SETUNDOCOLLECTION)r Z collectFlagrrrÚSCISetUndoCollectionysz.ScintillaControlInterface.SCISetUndoCollectioncCs| tj¡dSr )r<rZSCI_BEGINUNDOACTIONr@rrrÚSCIBeginUndoAction|sz,ScintillaControlInterface.SCIBeginUndoActioncCs| tj¡dSr )r<rZSCI_ENDUNDOACTIONr@rrrÚSCIEndUndoActionsz*ScintillaControlInterface.SCIEndUndoActioncCs | tj¡Sr )r<rÚSCI_GETCURRENTPOSr@rrrÚSCIGetCurrentPos‚sz*ScintillaControlInterface.SCIGetCurrentPoscCst| tj|¡d@ƒS)Néÿ)r/r<rZ SCI_GETCHARAT©r r>rrrÚ SCIGetCharAt…sz&ScintillaControlInterface.SCIGetCharAtcCs| tj|¡dSr )r<rZ SCI_GOTOLINE©r r rrrÚ SCIGotoLine‰sz%ScintillaControlInterface.SCIGotoLinecCs| tj||¡Sr )r<rZSCI_BRACEMATCH)r r>Z maxReStylerrrÚ SCIBraceMatchŒsz'ScintillaControlInterface.SCIBraceMatchcCs| tj||¡Sr )r<rZSCI_BRACEHIGHLIGHT)r r>Z posOppositerrrÚSCIBraceHighlightsz+ScintillaControlInterface.SCIBraceHighlightcCs| tj|¡Sr )r<rZSCI_BRACEBADLIGHTrHrrrÚSCIBraceBadHighlight’sz.ScintillaControlInterface.SCIBraceBadHighlightcCs | tj¡Sr )r<rZSCI_GETENDSTYLEDr@rrrÚSCIGetEndStyled™sz)ScintillaControlInterface.SCIGetEndStyledcCs| tj||¡Sr )r<rZSCI_STYLESETFORE©r ÚnumÚvrrrÚSCIStyleSetForeœsz)ScintillaControlInterface.SCIStyleSetForecCs| tj||¡Sr )r<rZSCI_STYLESETBACKrPrrrÚSCIStyleSetBackŸsz)ScintillaControlInterface.SCIStyleSetBackcCs| tj||¡Sr )r<rZSCI_STYLESETEOLFILLEDrPrrrÚSCIStyleSetEOLFilled¢sz.ScintillaControlInterface.SCIStyleSetEOLFilledrcCs2|d t¡}| tj||¡| tj||¡dS©Nr)r,rr<rZSCI_STYLESETFONTZSCI_STYLESETCHARACTERSET)r rQÚnameZ charactersetÚbuffrrrÚSCIStyleSetFont¥sz)ScintillaControlInterface.SCIStyleSetFontcCs| tj||¡dSr )r<rZSCI_STYLESETBOLD)r rQZbBoldrrrÚSCIStyleSetBoldªsz)ScintillaControlInterface.SCIStyleSetBoldcCs| tj||¡dSr )r<rZSCI_STYLESETITALIC)r rQZbItalicrrrÚSCIStyleSetItalic­sz+ScintillaControlInterface.SCIStyleSetItaliccCs| tj||¡dSr )r<rZSCI_STYLESETSIZE)r rQÚsizerrrÚSCIStyleSetSize°sz)ScintillaControlInterface.SCIStyleSetSizecCs | tj¡Sr )r<rZ SCI_GETVIEWWSr@rrrÚ SCIGetViewWS³sz&ScintillaControlInterface.SCIGetViewWScCs | tj|dk ¡| ¡dS©Nr)r<rZ SCI_SETVIEWWSÚInvalidateRect©r ÚvalrrrÚ SCISetViewWS¶sz&ScintillaControlInterface.SCISetViewWScCs| tj|¡dSr )r<rZSCI_SETINDENTATIONGUIDESrarrrÚSCISetIndentationGuidesºsz1ScintillaControlInterface.SCISetIndentationGuidescCs | tj¡Sr )r<rZSCI_GETINDENTATIONGUIDESr@rrrÚSCIGetIndentationGuides½sz1ScintillaControlInterface.SCIGetIndentationGuidescCs| tj|¡dSr )r<rZ SCI_SETINDENTrarrrÚ SCISetIndentÀsz&ScintillaControlInterface.SCISetIndentcCs | tj¡Sr )r<rZ SCI_GETINDENTrarrrÚ SCIGetIndentÃsz&ScintillaControlInterface.SCIGetIndentcCs | tj¡Sr )r<rZSCI_GETVIEWEOLr@rrrÚ SCIGetViewEOLÆsz'ScintillaControlInterface.SCIGetViewEOLcCs | tj|dk ¡| ¡dSr_)r<rZSCI_SETVIEWEOLr`rarrrÚ SCISetViewEOLÉsz'ScintillaControlInterface.SCISetViewEOLcCs| tj|d¡dSr_)r<rZSCI_SETTABWIDTH©r ÚwidthrrrÚSCISetTabWidthÍsz(ScintillaControlInterface.SCISetTabWidthcCs| tj||¡dSr )r<rZSCI_STARTSTYLING)r r>ÚmaskrrrÚSCIStartStylingÐsz)ScintillaControlInterface.SCIStartStylingcCs| tj||¡dSr )r<rZSCI_SETSTYLING)r r>ÚattrrrrÚ SCISetStylingÓsz'ScintillaControlInterface.SCISetStylingcCs | ¡\}}| tj||¡dSr )Ú buffer_infor<rZSCI_SETSTYLINGEX)r ZrayZaddressrrrrÚSCISetStylingExÖs z)ScintillaControlInterface.SCISetStylingExcCs| tj|¡Sr )r<rZSCI_GETSTYLEATrHrrrÚ SCIGetStyleAtÚsz'ScintillaControlInterface.SCIGetStyleAtcCs| tjd|¡dS)Nr©r<rZSCI_SETMARGINWIDTHNrjrrrÚSCISetMarginWidthÝsz+ScintillaControlInterface.SCISetMarginWidthcCs| tj||¡dSr rt)r ÚnrkrrrÚSCISetMarginWidthNàsz,ScintillaControlInterface.SCISetMarginWidthNcCs| tj|¡dSr )r<rZSCI_SETFOLDFLAGS)r ÚflagsrrrÚSCISetFoldFlagsãsz)ScintillaControlInterface.SCISetFoldFlagscCs(| ||¡| ||¡| ||¡dSr )ÚSCIMarkerDefineÚSCIMarkerSetForeÚSCIMarkerSetBack)r Ú markerNumÚ markerTypeÚforeÚbackrrrÚSCIMarkerDefineAllçs  z,ScintillaControlInterface.SCIMarkerDefineAllcCs| tj||¡dSr )r<rZSCI_MARKERDEFINE)r r}r~rrrrzìsz)ScintillaControlInterface.SCIMarkerDefinecCs| tj||¡dSr )r<rZSCI_MARKERSETFORE)r r}rrrrr{ïsz*ScintillaControlInterface.SCIMarkerSetForecCs| tj||¡dSr )r<rZSCI_MARKERSETBACK)r r}r€rrrr|òsz*ScintillaControlInterface.SCIMarkerSetBackcCs| tj||¡dSr )r<rZ SCI_MARKERADD©r ÚlineNor}rrrÚ SCIMarkerAddõsz&ScintillaControlInterface.SCIMarkerAddcCs| tj||¡dSr )r<rZSCI_MARKERDELETEr‚rrrÚSCIMarkerDeleteøsz)ScintillaControlInterface.SCIMarkerDeletecCs| tj|¡dSr )r<rZSCI_MARKERDELETEALL)r r}rrrÚSCIMarkerDeleteAllûsz,ScintillaControlInterface.SCIMarkerDeleteAllcCs| tj|¡Sr )r<rZ SCI_MARKERGET)r rƒrrrÚ SCIMarkerGetþsz&ScintillaControlInterface.SCIMarkerGetcCs| tj||¡Sr )r<rZSCI_MARKERNEXTr‚rrrÚ SCIMarkerNextsz'ScintillaControlInterface.SCIMarkerNextcCs| tj¡dSr )r<rZ SCI_CANCELr@rrrÚ SCICancelsz#ScintillaControlInterface.SCICancelcCs@t|ƒtgƒtdƒfvr"d |¡}|d t¡}| tjd|¡S)Nrú rr)Útyper7r,rr<rZ SCI_AUTOCSHOW)r r-rXrrrÚ SCIAutoCShows z&ScintillaControlInterface.SCIAutoCShowcCs| tj¡dSr )r<rZSCI_AUTOCCANCELr@rrrÚSCIAutoCCancelsz(ScintillaControlInterface.SCIAutoCCancelcCs | tj¡Sr )r<rZSCI_AUTOCACTIVEr@rrrÚSCIAutoCActivesz(ScintillaControlInterface.SCIAutoCActivecCs | tj¡Sr )r<rZSCI_AUTOCCOMPLETEr@rrrÚSCIAutoCCompletesz*ScintillaControlInterface.SCIAutoCCompletecCs"|d t¡}| tjd|¡dS©Nrr)r,rr<rZSCI_AUTOCSTOPS)r ZstopsrXrrrÚ SCIAutoCStopssz'ScintillaControlInterface.SCIAutoCStopscCs| tj|¡dSr )r<rZSCI_AUTOCSETAUTOHIDE)r ÚhiderrrÚSCIAutoCSetAutoHidesz-ScintillaControlInterface.SCIAutoCSetAutoHidecCs| tj|¡dSr )r<rZSCI_AUTOCSETFILLUPS)r ZfillupsrrrÚSCIAutoCSetFillupssz,ScintillaControlInterface.SCIAutoCSetFillupscCs6|dkr| ¡d}|d t¡}| tj||¡dS)Nr9rr)ÚGetSelr,rr<rZSCI_CALLTIPSHOW)r r-r>rXrrrÚSCICallTipShow"s z(ScintillaControlInterface.SCICallTipShowcCs| tj¡dSr )r<rZSCI_CALLTIPCANCELr@rrrÚSCICallTipCancel(sz*ScintillaControlInterface.SCICallTipCancelcCs | tj¡Sr )r<rZSCI_CALLTIPACTIVEr@rrrÚSCICallTipActive+sz*ScintillaControlInterface.SCICallTipActivecCs | tj¡Sr )r<rZSCI_CALLTIPPOSSTARTr@rrrÚSCICallTipPosStart.sz,ScintillaControlInterface.SCICallTipPosStartcCs| tj¡dSr )r<rZ SCI_NEWLINEr@rrrÚ SCINewline1sz$ScintillaControlInterface.SCINewlinecCs"|d t¡}| tj||¡dSrV)r,rr<rZSCI_SETKEYWORDS)r ÚkeywordsZ kw_list_norXrrrÚSCISetKeywords5sz(ScintillaControlInterface.SCISetKeywordscCs\t d|d t¡¡}t dt|ƒd t¡¡}| ¡d}| ¡d}| tj||¡dS)NÚbrr)Úarrayr,rr;rqr<rZSCI_SETPROPERTY)r rWÚvalueZ name_buffZval_buffZaddress_name_bufferZaddress_val_bufferrrrÚSCISetProperty9sÿ  ÿz(ScintillaControlInterface.SCISetPropertycCs| tj|¡dSr )r<rZSCI_SETSTYLEBITS)r ZnbitsrrrÚSCISetStyleBitsDsz)ScintillaControlInterface.SCISetStyleBitscCs| tj|¡Sr )r<rZSCI_GETFOLDLEVEL©r ÚlinenorrrÚSCIGetFoldLevelHsz)ScintillaControlInterface.SCIGetFoldLevelcCs| tj|¡Sr )r<rZSCI_TOGGLEFOLDr¢rrrÚ SCIToggleFoldKsz'ScintillaControlInterface.SCIToggleFoldcCs| tj|¡dSr )r<rZSCI_ENSUREVISIBLEr¢rrrÚSCIEnsureVisibleNsz*ScintillaControlInterface.SCIEnsureVisiblecCs| tj|¡Sr )r<rZSCI_GETFOLDEXPANDEDr¢rrrÚSCIGetFoldExpandedQsz,ScintillaControlInterface.SCIGetFoldExpandedcCs| tj|¡dSr )r<rZSCI_SETEDGECOLUMN)r ZedgerrrÚSCISetEdgeColumnUsz*ScintillaControlInterface.SCISetEdgeColumncCs | tj¡Sr )r<rZSCI_GETEDGECOLUMNr@rrrÚSCIGetEdgeColumnXsz*ScintillaControlInterface.SCIGetEdgeColumncCs| tj|¡dSr )r<rZSCI_SETEDGEMODE©r ÚmoderrrÚSCISetEdgeMode[sz(ScintillaControlInterface.SCISetEdgeModecCs | tj¡Sr )r<rZSCI_GETEDGEMODEr@rrrÚSCIGetEdgeMode^sz(ScintillaControlInterface.SCIGetEdgeModecCs| tj|¡dSr )r<rZSCI_SETEDGECOLOUR)r ZcolorrrrÚSCISetEdgeColorasz)ScintillaControlInterface.SCISetEdgeColorcCs | tj¡Sr )r<rZSCI_GETEDGECOLORr@rrrÚSCIGetEdgeColordsz)ScintillaControlInterface.SCIGetEdgeColorcCs | tj¡Sr )r<rZSCI_GETDOCPOINTERr@rrrÚSCIGetDocPointerhsz*ScintillaControlInterface.SCIGetDocPointercCs| tjd|¡Sr_)r<rZSCI_SETDOCPOINTER)r ÚprrrÚSCISetDocPointerksz*ScintillaControlInterface.SCISetDocPointercCs| tj|¡Sr )r<rZSCI_SETWRAPMODErªrrrÚSCISetWrapModensz(ScintillaControlInterface.SCISetWrapModecCs | tj¡Sr )r<rZSCI_GETWRAPMODEr@rrrÚSCIGetWrapModeqsz(ScintillaControlInterface.SCIGetWrapMode)N)r9)r)r9)r9)r)Prrrr*r.r8r?rArBrCrDrFrIrKrLrMrNrOrSrTrUrYrZr[r]r^rcrdrerfrgrhrirlrnrprrrsrurwryrrzr{r|r„r…r†r‡rˆr‰rŒrrŽrr‘r“r”r–r—r˜r™ršrœr r¡r¤r¥r¦r§r¨r©r¬r­r®r¯r°r²r³r´rrrrr:sš$      rc@s°eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd,d d„Zdd„Z d-dd„Z dd„Z dd„Z dd„Z dd„Zd.dd„Zdd „Zd/d!d"„Zd0d$d%„Zd1d&d'„Zd(d)„Zd*d+„Zd S)2ÚCScintillaEditInterfacecCs d|_dSr )Ú colorizerr@rrrÚclosevszCScintillaEditInterface.closecCs| tj¡dSr )r<Úwin32conZWM_CLEARr@rrrÚClearyszCScintillaEditInterface.Clearc Cs„d}|d t¡}t d|¡}t ||d|d| ¡ddd¡}t d|¡}| t|| ¡d¡} t ||¡} | | d| dffS)a+LPARAM for EM_FINDTEXTEX: typedef struct _findtextex { CHARRANGE chrg; LPCTSTR lpstrText; CHARRANGE chrgText;} FINDTEXTEX; typedef struct _charrange { LONG cpMin; LONG cpMax;} CHARRANGE; ZllPllrrrréé) r,rržr%Úpackrqr<Ú EM_FINDTEXTEXr') r rxÚrangeZfindTextZfindtextex_fmtZtxt_buffZ txt_arrayZft_buffZft_arrayÚrcZ ftUnpackedrrrÚFindText|s  ÿ  z CScintillaEditInterface.FindTextcCs4| tj¡}| tj¡}||kr(||fS||fS|Sr )r<rrEZ SCI_GETANCHOR)r Z currentPosZ anchorPosrrrr•’s   zCScintillaEditInterface.GetSelcCsT| ¡\}}t dt||d¡}| ¡d}| td|¡| ¡dd… t¡S)Nrrrr9) r•ržr=rqr<Ú EM_GETSELTEXTÚtobytesÚdecoder)r ÚstartÚendZtxtBufZ addressTxtBufrrrÚ GetSelText›s   z"CScintillaEditInterface.GetSelTextrNcCsÎt|ƒtdƒkr*|dus Jdƒ‚|\}}n |dur6|}|dkrF| ¡}|dkrV| ¡}|| ¡ksvJd|| ¡fƒ‚|| ¡ks–Jd|| ¡fƒ‚t d||¡}t d|¡}| ¡d}| td|¡}dS)Nrz?If you pass a point in the first param, the second must be Nonerz$The start postion is invalid (%d/%d)z"The end postion is invalid (%d/%d)Zllr)r‹Ú GetTextLengthr%r¼ržrqr<Ú EM_EXSETSEL)r rÄrÅZcrZcrBuffZ addressCrBuffr¿rrrÚSetSelªs0ÿþ þþ  zCScintillaEditInterface.SetSelcCs | tj¡Sr )r<r¸ZEM_GETLINECOUNTr@rrrÚ GetLineCountÃsz$CScintillaEditInterface.GetLineCountr9cCsJ|dkr| ¡d}|dkr(|| ¡kssR   ÿÿÿ   =#