
    %
i-                         d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ ddl	m
Z
 dZdZ ej        d          Z ej        d	          Zej        Z G d
 de          Z G d d          Z G d d          ZdS )    N)default_scintilla_encoding)docview   )scintillacons   
   
s   coding[:=]\s*([-\w.]+)zcoding[:=]\s*([-\w.]+)c                       e Zd ZdZd Zd Zd ZddZd Zd Z	dd	Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )CScintillaDocumentzA SyntEdit document.c                 F    d | _         d | _        t          j        | g|R   d S N)bomsource_encodingParentScintillaDocument__init__)selfargss     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\pythonwin/pywin/scintilla/document.pyr   zCScintillaDocument.__init__   s2      $(5555555    c                     d S r    r   s    r   DeleteContentsz!CScintillaDocument.DeleteContents#       r   c                    |                      |           	 t          |d          }	 |                     |           |                                 n# |                                 w xY wn# t          $ r t          j        d|z  dt          j        t          j	        z            }|t          j
        k    rY dS |t          j        k    s
J |            	 t          |d          }	 |                     |           |                                 n# |                                 w xY wn.# t          $ r!}t          j        d|z            }Y d }~nd }~ww xY wY nw xY wdS )NrbzBCould not load the file from %s

Do you want to create a new file?	Pythonwinr   zwb+zCannot create the file %sr   )SetPathNameopen_LoadTextFromFilecloseOSErrorwin32ui
MessageBoxwin32conMB_YESNOMB_ICONWARNINGIDNOIDYES)r   filenamefrces        r   OnOpenDocumentz!CScintillaDocument.OnOpenDocument&   s    	"""	P Xt$$A&&q)))									 	P 	P 	P#V!H$;;	 B X]""qq''''''P5))**1---GGIIIIAGGIIIII P P P'(Ch(NOOP!	P$ qsp   A, A A, A((A, ,A
E9ED)%D:D)D%%D)(E)
E3E
EEEENc                     |                                  }|                    ||          }|r|                                 |S )N)encoding)GetFirstViewSaveTextFileSCISetSavePoint)r   fileNamer.   viewoks        r   SaveFilezCScintillaDocument.SaveFileF   sJ      ""x(;; 	#  """	r   c                 0    |                      d           d S )NApplyFormattingStyles)_ApplyOptionalToViewsr   s    r   r7   z(CScintillaDocument.ApplyFormattingStylesM   s    ""#:;;;;;r   c                    |                                 }|                                 }|                    t                    s|                    t                    st          j        }nt          j        }t          j        dft          j	        dft          j
        dffD ]A\  }}|                    |          r'|| _        || _        |t          |          d          } nSB||fD ]M}t                              |          }|/|                    d                              d          | _         nN||z   |                                z   }	| j        }
|
d}
	 |	                    |
          }ni# t(          $ r* t+          d|
z             |	                    d          }Y n6t,          $ r* t+          d	|
z             |	                    d          }Y nw xY w|                    t0                    }	|                                 }|                                r|                    t          j        d
d
           |                    d
           |                    t          j                   |                    t          j         |	           |                    t          j        dd
           |                    tB          j"        d
d
           |                    t          j#        |           d S d S )Nutf8	utf_16_le	utf_16_ber   asciiutf-8zGWARNING: Failed to decode bytes from '%s' encoding - treating as latin1latin1z=WARNING: Invalid encoding '%s' specified - treating as latin1r   )$readlineendswith
crlf_byteslf_bytesr   SC_EOL_CRLF	SC_EOL_LFcodecsBOM_UTF8BOM_UTF16_LEBOM_UTF16_BE
startswithr   r   lenre_encoding_bytessearchgroupdecodereadUnicodeErrorprintLookupErrorencoder   r/   IsWindowSendScintillaSCI_SETUNDOCOLLECTIONSetReadOnlySCI_CLEARALLSendMessageSCI_ADDTEXTr#   EM_EMPTYUNDOBUFFERSCI_SETEOLMODE)r   r)   ll2eol_moder   r.   lookmatchtextr   decr3   s                r   r   z$CScintillaDocument._LoadTextFromFileS   s    JJLLZZ\\::j!! 	.H)=)= 	.#/HH#-H
 _f% +. +.
 	 	MC
 ||C   '/$c#hhjjM	 B   *0066$+0;;q>>+@+@+I+ID(E % 2v  . "%O	(++o..CC 	( 	( 	(Y!"   ++h''CCC 	( 	( 	(O!"   ++h''CCC	( zz455  ""==?? 
	F|A1aHHHQ|8999\5t<<<|A1aHHHx:AqAAA|:HEEEEE
	F 
	Fs   E/ /1G"0GGc                 T   |                                 }|}|p| j        r| j        }n]t          j        d|d          }|d d         D ]<}t
                              |          }||                    d          }|| _         n=|d}|                    |          }	t          |d          }
	 | j        r|

                    | j                   |

                    |	           |
                                 n# |
                                 w xY w|                     d           d S )Nz[\r\n]+   r   r>   wbr   )GetTextRanger   r   resplitre_encoding_textrM   rN   rT   r   writer   SetModifiedFlag)r   r3   r(   r.   sr   bitsra   rb   file_contentsr)   s              r   _SaveTextToFilez"CScintillaDocument._SaveTextToFile   s9   ""x 
"&"6 x
Aq11 "I  D,33D99E(*/++a../>, )
 &") 11 4  	x "!!!GGM"""GGIIIIAGGIIIIQs   /6C: :Dc                     d S r   r   )r   r3   s     r   FinalizeViewCreationz'CScintillaDocument.FinalizeViewCreation   r   r   c                 @   |                                 }|                    t          | d          t          j                   |                    t          | d          t          j                   |                    t          | d          t          j                   |                    t          | d          t          j                   |                    t          | d          t          j	                   |                    t          | d          t          j
                   |                    t          j        dz              ||                                 k    r;|                    |                                                                            d S d S )NOnBraceMatchOnMarginClickOnNeedShownOnSavePointReachedOnSavePointLeftOnModifyAttemptROz()[]:;+-/*=\?'!#@$%^&,<>"'|)GetParentFrame
HookNotifyViewNotifyDelegater   SCN_UPDATEUISCN_MARGINCLICKSCN_NEEDSHOWNDocumentNotifyDelegateSCN_SAVEPOINTREACHEDSCN_SAVEPOINTLEFTSCN_MODIFYATTEMPTROSCIAutoCStopsstring
whitespacer/   SCISetDocPointerSCIGetDocPointer)r   r3   parents      r   HookViewNotificationsz(CScintillaDocument.HookViewNotifications   s   $$&&t^44l6O	
 	
 	
 	t_55|7S	
 	
 	
 	t]33\5O	
 	
 	
 	"4)=>>-	
 	
 	
 	"4):;;*	
 	
 	
 	"4)<==,	
 	
 	

 	6,/NNOOO4$$&&&&!!$"3"3"5"5"F"F"H"HIIIII '&r   c                 0    |                      d           d S )Nr   rn   r   stdextras      r   ry   z%CScintillaDocument.OnSavePointReached       Qr   c                 0    |                      d           d S Nr   r   r   s      r   rz   z"CScintillaDocument.OnSavePointLeft   r   r   c                 .    |                                   d S r   )MakeDocumentWritabler   s      r   r{   z$CScintillaDocument.OnModifyAttemptRO   s    !!#####r   c                 \    |                                                      |dz
  |           d S r   )GetEditorViewSCIMarkerAddr   lineNomarkers      r   	MarkerAddzCScintillaDocument.MarkerAdd   s.    ))&1*f=====r   c                 v    |                                  }|dz  }|                    |          }|d|z  z  dk    S )Nr   r   r   SCIMarkerGet)r   r   r   vmarkerStates        r   MarkerCheckzCScintillaDocument.MarkerCheck   sA      !nnV,,a6k*a//r   c                     |                                  }|                     ||          r|                    |dz
  |           d S |                    |dz
  |           d S r   )r   r   SCIMarkerDeleter   )r   r   r   r   s       r   MarkerTogglezCScintillaDocument.MarkerToggle   si      FF++ 	/fqj&11111NN6A:v.....r   c                 \    |                                                      |dz
  |           d S r   )r   r   r   s      r   MarkerDeletezCScintillaDocument.MarkerDelete   s.    ,,VaZ@@@@@r   c                 T    |                                                      |           d S r   )r   SCIMarkerDeleteAll)r   r   s     r   MarkerDeleteAllz"CScintillaDocument.MarkerDeleteAll  s(    //77777r   c                 d    |                                                      |dz
  d|z            dz   S r   )r   SCIMarkerNextr   s      r   MarkerGetNextz CScintillaDocument.MarkerGetNext  s1    !!##11&1*a6kJJQNNr   c                 f    |                                                      |dz
            }|d|z  z  S r   r   )r   r   r   r   s       r   MarkerAtLinezCScintillaDocument.MarkerAtLine  s4    ((**77
CCa6k**r   c                 ^    |                                  D ]}t          ||          } ||  d S r   GetAllViewsgetattrr   funcNamer   r3   funcs        r   _ApplyToViewsz CScintillaDocument._ApplyToViews  sC    $$&& 	 	D4**DD$KKK	 	r   c                 d    |                                  D ]}t          ||d           }| ||  d S r   r   r   s        r   r8   z(CScintillaDocument._ApplyOptionalToViews  sJ    $$&& 	 	D4400Dd	 	r   c                     	 |                                                                  j        }n$# t          $ r |                                  cY S w xY w |            S r   )r/   r|   r   AttributeError)r   	frame_gevs     r   r   z CScintillaDocument.GetEditorView  sh    	'))++::<<JII 	' 	' 	'$$&&&&&	'y{{s   +. AAr   )__name__
__module____qualname____doc__r   r   r,   r5   r7   r   rr   rt   r   ry   rz   r{   r   r   r   r   r   r   r   r   r8   r   r   r   r   r	   r	      s       6 6 6    @   < < <NF NF NF`       @  J J J<          $ $ $> > >0 0 0/ / /A A A8 8 8O O O+ + +
  
      r   r	   c                       e Zd Zd Zd ZdS )r~   c                 "    || _         || _        d S r   )docnamer   r   r   s      r   r   zViewNotifyDelegate.__init__$  s    			r   c                     |\  }}}| j                                         D ]6}|                                |k    r t          || j                  ||f c S 7d S r   )r   r   GetSafeHwndr   r   )r   r   r   hwndFromidFromcoder   s          r   __call__zViewNotifyDelegate.__call__(  sp    #& 64%%'' 	< 	<A}}(**,wq$),,sEl;;;; +	< 	<r   Nr   r   r   r   r   r   r   r   r~   r~   #  s2          < < < < <r   r~   c                       e Zd Zd Zd ZdS )r   c                 >    || _         t          ||          | _        d S r   )r   r   delegater   s      r   r   zDocumentNotifyDelegate.__init__1  s    T**r   c                     |\  }}}|| j                                                                         k    r | j        ||f  d S d S r   )r   r   r   r   )r   r   r   r   r   r   s         r   r   zDocumentNotifyDelegate.__call__5  sT    #& 64tx--//;;====DMC<(((( >=r   Nr   r   r   r   r   r   0  s2        + + +) ) ) ) )r   r   )rF   rj   r   r#   r!   pywinr   	pywin.mfcr    r   rB   rC   compilerL   rl   Documentr   r	   r~   r   r   r   r   <module>r      s1    				    , , , , , ,            
 BJ9:: 2:788 !* I I I I I0 I I IZ	< 	< 	< 	< 	< 	< 	< 	<) ) ) ) ) ) ) ) ) )r   