§
    G@dž  ã                   ó¼   — d Z ddlmZmZmZ ddlmZ ddlmZm	Z	 ddl
mZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ  G d„ d¦  «        Z G d„ de	¦  «        ZdS )z
Pylint Code Analysis Plugin.
é    )ÚQtÚSignalÚSlot)ÚSpyderAPIError)ÚPluginsÚSpyderDockablePlugin)Úon_plugin_availableÚon_plugin_teardown©Ú_)Úis_module_installed)ÚApplicationMenus)ÚPylintConfigPage)ÚPylintWidgetc                   ó   — e Zd ZdZdS )ÚPylintActionszrun analysisN)Ú__name__Ú
__module__Ú__qualname__ÚAnalyzeCurrentFile© ó    ú<lib/python3.11/site-packages/spyder/plugins/pylint/plugin.pyr   r      s   € € € € € Ø'ÐÐÐr   r   c                   óÀ  — e Zd ZdZeZeZeZe	j
        e	j        gZe	j        e	j        gZe	j        gZdZdZ eeee¦  «        Z	 ed„ ¦   «         Zd„ Zd„ Zd„ Z ee	j        ¬¦  «        d„ ¦   «         Z ee	j
        ¬¦  «        d	„ ¦   «         Z ee	j        ¬¦  «        d
„ ¦   «         Z  ee	j        ¬¦  «        d„ ¦   «         Z! e"e	j        ¬¦  «        d„ ¦   «         Z# e"e	j
        ¬¦  «        d„ ¦   «         Z$ e"e	j        ¬¦  «        d„ ¦   «         Z% e"e	j        ¬¦  «        d„ ¦   «         Z& e'¦   «         d„ ¦   «         Z(d„ Z)d„ Z*dd„Z+d„ Z, e'¦   «         dd„¦   «         Z-d„ Z.dS )ÚPylintÚpylintFc                  ó    — t          d¦  «        S )NzCode Analysisr   r   r   r   Úget_namezPylint.get_name:   s   € åÑ!Ô!Ð!r   c                 ó    — t          d¦  «        S )NzRun Code Analysis.r   ©Úselfs    r   Úget_descriptionzPylint.get_description>   s   € ÝÐ%Ñ&Ô&Ð&r   c                 ó,   — |                       d¦  «        S )Nr   )Úcreate_iconr    s    r   Úget_iconzPylint.get_iconA   s   € Ø×Ò Ñ)Ô)Ð)r   c           	      ó²  — |                       ¦   «         }|j                             | j        ¦  «         |j                             | j        ¦  «         |                      t          j        t          d¦  «        t          d¦  «        |  	                    d¦  «        | j        t          j        d¬¦  «        }|                     t          d¦  «        ¦  «         d S )NzRun code analysisr   T)ÚtextÚtipÚiconÚ	triggeredÚcontextÚregister_shortcut)Ú
get_widgetÚsig_edit_goto_requestedÚconnectÚsig_start_analysis_requestedÚstart_code_analysisÚcreate_actionr   r   r   r$   r   ÚApplicationShortcutÚ
setEnabledr   )r!   ÚwidgetÚ
pylint_acts      r   Úon_initializezPylint.on_initializeD   sÆ   € Ø—’Ñ"Ô"ˆð 	Ô&×.Ò.¨tÔ/KÑLÔLÐLØÔ+×3Ò3°DÔ4LÑMÔMÐMð ×'Ò'ÝÔ,ÝÐ&Ñ'Ô'ÝÐ%Ñ&Ô&Ø×!Ò! (Ñ+Ô+ØÔ.ÝÔ*Ø"ð (ñ 
ô 
ˆ
ð 	×ÒÕ1°(Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r   )Úpluginc                 óH  — |                       ¦   «         }|                      t          j        ¦  «        }|j                             |j        ¦  «         |j                             | j        ¦  «         |  	                    t          j        ¦  «        }|xj        |gz  c_        d S ©N)r-   Ú
get_pluginr   ÚEditorr.   r/   ÚloadÚsig_editor_focus_changedÚ_set_filenameÚ
get_actionr   r   Úpythonfile_dependent_actions©r!   r5   Úeditorr6   s       r   Úon_editor_availablezPylint.on_editor_availableW   s‹   € à—’Ñ"Ô"ˆØ—’¥¤Ñ0Ô0ˆð 	Ô&×.Ò.¨v¬{Ñ;Ô;Ð;ØÔ'×/Ò/°Ô0BÑCÔCÐCà—_’_¥]Ô%EÑFÔFˆ
ð 	Ð+Ô+°
¨|Ñ;Ð+Ô+Ð+Ð+r   c                 ón   — |                       t          j        ¦  «        }|                     | ¦  «         d S r:   )r;   r   ÚPreferencesÚregister_plugin_preferences©r!   Úpreferencess     r   Úon_preferences_availablezPylint.on_preferences_availablee   s0   € à—o’o¥gÔ&9Ñ:Ô:ˆØ×/Ò/°Ñ5Ô5Ð5Ð5Ð5r   c                 óÀ   — |                       t          j        ¦  «        }|j                             | j        ¦  «         |j                             | j        ¦  «         d S r:   )r;   r   ÚProjectsÚsig_project_loadedr/   Ú_set_project_dirÚsig_project_closedÚ_unset_project_dir©r!   Úprojectss     r   Úon_projects_availablezPylint.on_projects_availablej   sR   € ð —?’?¥7Ô#3Ñ4Ô4ˆàÔ#×+Ò+¨DÔ,AÑBÔBÐBØÔ#×+Ò+¨DÔ,CÑDÔDÐDÐDÐDr   c                 óÄ   — |                       t          j        ¦  «        }|                      t          j        ¦  «        }|                     |t          j        ¬¦  «         d S ©N)Úmenu_id)	r;   r   ÚMainMenur@   r   r   Úadd_item_to_application_menur   ÚSource)r!   Úmainmenur6   s      r   Úon_main_menu_availablezPylint.on_main_menu_availabler   sZ   € à—?’?¥7Ô#3Ñ4Ô4ˆà—_’_¥]Ô%EÑFÔFˆ
Ø×-Ò-ØÕ 0Ô 7ð 	.ñ 	9ô 	9ð 	9ð 	9ð 	9r   c                 ó„  — |                       ¦   «         }|                      t          j        ¦  «        }|j                             |j        ¦  «         |j                             | j        ¦  «         |  	                    t          j        ¦  «        }|                     d¦  «         |j                             |¦  «         d S )NF)r-   r;   r   r<   r.   Ú
disconnectr=   r>   r?   r@   r   r   Ú
setVisiblerA   ÚremoverB   s       r   Úon_editor_teardownzPylint.on_editor_teardownz   s    € à—’Ñ"Ô"ˆØ—’¥¤Ñ0Ô0ˆð 	Ô&×1Ò1°&´+Ñ>Ô>Ð>ØÔ'×2Ò2°4Ô3EÑFÔFÐFà—_’_¥]Ô%EÑFÔFˆ
ð 	×Ò˜eÑ$Ô$Ð$ØÔ+×2Ò2°:Ñ>Ô>Ð>Ð>Ð>r   c                 ón   — |                       t          j        ¦  «        }|                     | ¦  «         d S r:   )r;   r   rF   Úderegister_plugin_preferencesrH   s     r   Úon_preferences_teardownzPylint.on_preferences_teardown‰   s0   € à—o’o¥gÔ&9Ñ:Ô:ˆØ×1Ò1°$Ñ7Ô7Ð7Ð7Ð7r   c                 óÀ   — |                       t          j        ¦  «        }|j                             | j        ¦  «         |j                             | j        ¦  «         d S r:   )r;   r   rL   rM   r]   rN   rO   rP   rQ   s     r   Úon_projects_teardownzPylint.on_projects_teardownŽ   sR   € ð —?’?¥7Ô#3Ñ4Ô4ˆØÔ#×.Ò.¨tÔ/DÑEÔEÐEØÔ#×.Ò.¨tÔ/FÑGÔGÐGÐGÐGr   c                 óš   — |                       t          j        ¦  «        }|                     t          j        t          j        ¬¦  «         d S rU   )r;   r   rW   Ú!remove_item_from_application_menur   r   r   rY   )r!   rZ   s     r   Úon_main_menu_teardownzPylint.on_main_menu_teardown•   sI   € à—?’?¥7Ô#3Ñ4Ô4ˆØ×2Ò2ÝÔ,Ý$Ô+ð 	3ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óâ   — 	 |                       t          j        ¦  «        }|r;|                      ¦   «                              |                     ¦   «         ¦  «         dS dS # t          $ r Y dS w xY w)z5
        Set filename without code analysis.
        N)r;   r   r<   r-   Úset_filenameÚget_current_filenamer   )r!   rC   s     r   r?   zPylint._set_filenameŸ   s   € ð
	Ø—_’_¥W¤^Ñ4Ô4ˆFØð NØ—’Ñ!Ô!×.Ò.¨v×/JÒ/JÑ/LÔ/LÑMÔMÐMÐMÐMðNð Nøåð 	ð 	ð 	àˆDˆDð	øøøs   ‚AA  Á 
A.Á-A.c                 óZ   — |                       ¦   «         }|                     d|¦  «         d S ©NÚproject_dir©r-   Úset_conf)r!   Úvaluer5   s      r   rN   zPylint._set_project_dir¬   s+   € Ø—’Ñ"Ô"ˆØŠ˜ uÑ-Ô-Ð-Ð-Ð-r   c                 óZ   — |                       ¦   «         }|                     dd ¦  «         d S rm   ro   )r!   Ú_unusedr5   s      r   rP   zPylint._unset_project_dir°   s+   € Ø—’Ñ"Ô"ˆØŠ˜ tÑ,Ô,Ð,Ð,Ð,r   Nc                 óV   — |                       ¦   «                              |¬¦  «         dS )a  
        Change history maximum number of entries.

        Parameters
        ----------
        value: int or None, optional
            The valur to set  the maximum history depth. If no value is
            provided, an input dialog will be launched. Default is None.
        )rq   N)r-   Úchange_history_depth)r!   rq   s     r   ru   zPylint.change_history_depth¶   s+   € ð 	ŠÑÔ×.Ò.°UÐ.Ñ;Ô;Ð;Ð;Ð;r   c                 óN   — |                       ¦   «                              ¦   «         S )z3
        Get current filename in combobox.
        )r-   Úget_filenamer    s    r   rw   zPylint.get_filenameÂ   s    € ð ŠÑ Ô ×-Ò-Ñ/Ô/Ð/r   c                 ój  — |                       t          j        ¦  «        }|r,|                      dd¦  «        r|                     ¦   «         sdS |€&|                      ¦   «                              ¦   «         }|                      d¬¦  «         |                      ¦   «                              |¦  «         dS )zã
        Perform code analysis for given `filename`.

        If `filename` is None default to current filename in combobox.

        If this method is called while still running it will stop the code
        analysis.
        Úsave_beforeTN)Úforce_focus)	r;   r   r<   Úget_confÚsaver-   rw   Úswitch_to_pluginr1   )r!   ÚfilenamerC   s      r   r1   zPylint.start_code_analysisÈ   s¥   € ð —’¥¤Ñ0Ô0ˆØð 	Ø}Š}˜]¨DÑ1Ô1ð ¸&¿+º+¹-¼-ð ØàÐØ—’Ñ(Ô(×5Ò5Ñ7Ô7ˆHà×Ò¨$ÐÑ/Ô/Ð/ØŠÑÔ×-Ò-¨hÑ7Ô7Ð7Ð7Ð7r   c                 óR   — |                       ¦   «                              ¦   «          dS )z1
        Stop the code analysis process.
        N)r-   Ústop_code_analysisr    s    r   r€   zPylint.stop_code_analysisÝ   s&   € ð 	ŠÑÔ×,Ò,Ñ.Ô.Ð.Ð.Ð.r   r:   )/r   r   r   ÚNAMEr   ÚWIDGET_CLASSÚCONF_SECTIONr   ÚCONF_WIDGET_CLASSr   rF   r<   ÚREQUIRESrW   rL   ÚOPTIONALÚHelpÚTABIFYÚ	CONF_FILEÚDISABLE_ACTIONS_WHEN_HIDDENr   ÚstrÚintr.   Ústaticmethodr   r"   r%   r7   r	   rD   rJ   rS   r[   r
   r`   rc   re   rh   r   r?   rN   rP   ru   rw   r1   r€   r   r   r   r   r      sÂ  € € € € € à€DØ€LØ€LØ(ÐØÔ# W¤^Ð4€HØÔ  'Ô"2Ð3€HØŒlˆ^€FØ€IØ"'Ðð %˜f S¨#¨sÑ3Ô3Ððð ð"ð "ñ „\ð"ð'ð 'ð 'ð*ð *ð *ð=ð =ð =ð& Ð ¤Ð/Ñ/Ô/ð<ð <ñ 0Ô/ð<ð Ð Ô 3Ð4Ñ4Ô4ð6ð 6ñ 5Ô4ð6ð Ð Ô 0Ð1Ñ1Ô1ðEð Eñ 2Ô1ðEð Ð Ô 0Ð1Ñ1Ô1ð9ð 9ñ 2Ô1ð9ð Ð˜wœ~Ð.Ñ.Ô.ð?ð ?ñ /Ô.ð?ð Ð˜wÔ2Ð3Ñ3Ô3ð8ð 8ñ 4Ô3ð8ð Ð˜wÔ/Ð0Ñ0Ô0ðHð Hñ 1Ô0ðHð Ð˜wÔ/Ð0Ñ0Ô0ð
ð 
ñ 1Ô0ð
ð 
€TV„Vð
ð 
ñ „Vð
ð.ð .ð .ð-ð -ð -ð
<ð 
<ð 
<ð 
<ð0ð 0ð 0ð 
€TV„Vð8ð 8ð 8ñ „Vð8ð(/ð /ð /ð /ð /r   r   N)Ú__doc__Úqtpy.QtCorer   r   r   Úspyder.api.exceptionsr   Úspyder.api.pluginsr   r   Ú)spyder.api.plugin_registration.decoratorsr	   r
   Úspyder.api.translationsr   Úspyder.utils.programsr   Úspyder.plugins.mainmenu.apir   Úspyder.plugins.pylint.confpager   Ú!spyder.plugins.pylint.main_widgetr   r   r   r   r   r   ú<module>r˜      sD  ððð ð
 )Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <ð-ð -ð -ð -ð -ð -ð -ð -à %Ð %Ð %Ð %Ð %Ð %Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø :Ð :Ð :Ð :Ð :Ð :ð(ð (ð (ð (ð (ñ (ô (ð (ðC/ð C/ð C/ð C/ð C/Ð!ñ C/ô C/ð C/ð C/ð C/r   