Tue, 07 Nov 2023 16:45:04 +0100
Added the plugin function to determine the interfaced executable version information.
--- a/PluginCheckerPyright.epj Tue Nov 07 15:30:32 2023 +0100 +++ b/PluginCheckerPyright.epj Tue Nov 07 16:45:04 2023 +0100 @@ -158,9 +158,13 @@ ".jedi", ".ropeproject" ], + "ignoreFilePatterns": [ + "Ui_*.py" + ], "outputDirectory": "PyrightChecker/Documentation/Source", "qtHelpEnabled": false, - "startDirectory": "" + "startDirectory": "", + "useRecursion": true } }, "EMAIL": "detlev@die-offenbachs.de", @@ -346,4 +350,4 @@ "VCSOTHERDATA": {}, "VERSION": "" } -} \ No newline at end of file +}
--- a/PluginPyright.py Tue Nov 07 15:30:32 2023 +0100 +++ b/PluginPyright.py Tue Nov 07 16:45:04 2023 +0100 @@ -10,12 +10,13 @@ import contextlib import os -from PyQt6.QtCore import QObject, QTranslator, pyqtSlot +from PyQt6.QtCore import QCoreApplication, QObject, QTranslator, pyqtSlot from eric7 import Preferences from eric7.EricGui.EricAction import EricAction from eric7.EricWidgets.EricApplication import ericApp from eric7.Project.ProjectBrowserModel import ProjectBrowserFileItem +from eric7.SystemUtilities import PythonUtilities # Start-Of-Header __header__ = { @@ -36,6 +37,31 @@ error = "" # noqa: U200 +def exeDisplayData(): + """ + Public method to support the display of some executable info. + + @return dictionary containing the data to query the presence of + the executable + @rtype dict + """ + data = { + "programEntry": True, + "header": QCoreApplication.translate( + "PyrightPlugin", "Checkers - Pyright" + ), + "exe": PythonUtilities.getPythonExecutable(), + "versionCommand": "--version", + "versionStartsWith": "pyright", + "versionPosition": -1, + "version": "", + "versionCleanup": None, + "exeModule": ["-m", "pyright"] + } + + return data + + def prepareUninstall(): """ Module function to prepare for an uninstallation.
--- a/PyrightChecker/Documentation/Source/Plugin_Checker_Pyright.PluginPyright.html Tue Nov 07 15:30:32 2023 +0100 +++ b/PyrightChecker/Documentation/Source/Plugin_Checker_Pyright.PluginPyright.html Tue Nov 07 16:45:04 2023 +0100 @@ -30,6 +30,10 @@ <table> <tr> +<td><a href="#exeDisplayData">exeDisplayData</a></td> +<td>Public method to support the display of some executable info.</td> +</tr> +<tr> <td><a href="#installDependencies">installDependencies</a></td> <td>Function to install dependencies of this plug-in.</td> </tr> @@ -290,6 +294,29 @@ <div align="right"><a href="#top">Up</a></div> <hr /> <hr /> +<a NAME="exeDisplayData" ID="exeDisplayData"></a> +<h2>exeDisplayData</h2> +<b>exeDisplayData</b>(<i></i>) + +<p> + Public method to support the display of some executable info. +</p> +<dl> +<dt>Return:</dt> +<dd> +dictionary containing the data to query the presence of + the executable +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +dict +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +<hr /> <a NAME="installDependencies" ID="installDependencies"></a> <h2>installDependencies</h2> <b>installDependencies</b>(<i>pipInstall</i>)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PyrightChecker/Documentation/Source/Plugin_Checker_Pyright.PyrightChecker.PyrightCheckerDialog.html Tue Nov 07 16:45:04 2023 +0100 @@ -0,0 +1,432 @@ +<!DOCTYPE html> +<html><head> +<title>Plugin_Checker_Pyright.PyrightChecker.PyrightCheckerDialog</title> +<meta charset="UTF-8"> +<link rel="stylesheet" href="styles.css"> +</head> +<body> +<a NAME="top" ID="top"></a> +<h1>Plugin_Checker_Pyright.PyrightChecker.PyrightCheckerDialog</h1> + +<p> +Module implementing the pyright type checker dialog. +</p> +<h3>Global Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> + +<table> + +<tr> +<td><a href="#PyrightCheckerDialog">PyrightCheckerDialog</a></td> +<td>Class documentation goes here.</td> +</tr> +</table> +<h3>Functions</h3> + +<table> +<tr><td>None</td></tr> +</table> +<hr /> +<hr /> +<a NAME="PyrightCheckerDialog" ID="PyrightCheckerDialog"></a> +<h2>PyrightCheckerDialog</h2> + +<p> + Class documentation goes here. +</p> +<h3>Derived from</h3> +QDialog, Ui_PyrightCheckerDialog +<h3>Class Attributes</h3> + +<table> +<tr><td>endRole</td></tr><tr><td>filenameRole</td></tr><tr><td>severityRole</td></tr><tr><td>startRole</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#PyrightCheckerDialog.__init__">PyrightCheckerDialog</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__clear">__clear</a></td> +<td>Private method to clear the dialog.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__clearEditorErrors">__clearEditorErrors</a></td> +<td>Private method to clear all warning markers of an editor.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__clearErrors">__clearErrors</a></td> +<td>Private method to clear all warning markers of open editors to be checked.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__createResultItem">__createResultItem</a></td> +<td>Private method to create an entry in the result list.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__getConfigurationDict">__getConfigurationDict</a></td> +<td>Private method to assemble and return a dictionary containing the entered non-default configuration parameters.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__processResult">__processResult</a></td> +<td>Private method to process the pyright result.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__pyrightProcessFinished">__pyrightProcessFinished</a></td> +<td>Private slot to process the pyright result.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__readError">__readError</a></td> +<td>Private slot to get the output of the error channel and show it to the user.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__resort">__resort</a></td> +<td>Private method to resort the tree.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.__updateSummary">__updateSummary</a></td> +<td>Private method to update the summary data of the dialog.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.getDefaults">getDefaults</a></td> +<td>Public method to get a dictionary containing the default values.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_loadDefaultButton_clicked">on_loadDefaultButton_clicked</a></td> +<td>Private slot to load the default configuration values.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_resetDefaultButton_clicked">on_resetDefaultButton_clicked</a></td> +<td>Private slot to reset the configuration values to their default values.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_restartButton_clicked">on_restartButton_clicked</a></td> +<td>Private slot to restart the configured check.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_resultList_itemActivated">on_resultList_itemActivated</a></td> +<td>Private slot to handle the activation of an item.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_showButton_clicked">on_showButton_clicked</a></td> +<td>Private slot to handle the "Show" button press.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_startButton_clicked">on_startButton_clicked</a></td> +<td>Private slot to start the pyright type checking run.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_storeDefaultButton_clicked">on_storeDefaultButton_clicked</a></td> +<td>Private slot to store the current configuration values as default values.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.on_tomlButton_clicked">on_tomlButton_clicked</a></td> +<td>Private slot to generate a TOML snippet of the current configuration.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.prepare">prepare</a></td> +<td>Public method to prepare the dialog with a list of filenames.</td> +</tr> +<tr> +<td><a href="#PyrightCheckerDialog.start">start</a></td> +<td>Public method to start a pyright type checking run.</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="PyrightCheckerDialog.__init__" ID="PyrightCheckerDialog.__init__"></a> +<h4>PyrightCheckerDialog (Constructor)</h4> +<b>PyrightCheckerDialog</b>(<i>plugin, parent=None</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>plugin</i> (PyrightPlugin)</dt> +<dd> +reference to the plugin object +</dd> +<dt><i>parent</i> (QWidget (optional))</dt> +<dd> +reference to the parent widget (defaults to None) +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__clear" ID="PyrightCheckerDialog.__clear"></a> +<h4>PyrightCheckerDialog.__clear</h4> +<b>__clear</b>(<i></i>) + +<p> + Private method to clear the dialog. +</p> +<a NAME="PyrightCheckerDialog.__clearEditorErrors" ID="PyrightCheckerDialog.__clearEditorErrors"></a> +<h4>PyrightCheckerDialog.__clearEditorErrors</h4> +<b>__clearEditorErrors</b>(<i>editor</i>) + +<p> + Private method to clear all warning markers of an editor. +</p> +<dl> + +<dt><i>editor</i> (Editor)</dt> +<dd> +reference to the editor to be cleared +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__clearErrors" ID="PyrightCheckerDialog.__clearErrors"></a> +<h4>PyrightCheckerDialog.__clearErrors</h4> +<b>__clearErrors</b>(<i>files=None</i>) + +<p> + Private method to clear all warning markers of open editors to be + checked. +</p> +<dl> + +<dt><i>files</i> (list of str (optional)</dt> +<dd> +list of files to be checked (defaults to None +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__createResultItem" ID="PyrightCheckerDialog.__createResultItem"></a> +<h4>PyrightCheckerDialog.__createResultItem</h4> +<b>__createResultItem</b>(<i>result</i>) + +<p> + Private method to create an entry in the result list. +</p> +<dl> + +<dt><i>result</i> (dict)</dt> +<dd> +dictionary containing check result data +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__getConfigurationDict" ID="PyrightCheckerDialog.__getConfigurationDict"></a> +<h4>PyrightCheckerDialog.__getConfigurationDict</h4> +<b>__getConfigurationDict</b>(<i></i>) + +<p> + Private method to assemble and return a dictionary containing the entered + non-default configuration parameters. +</p> +<p> + The configuration dictionary is amended with some common parameters not + accessible via the configuration tab. +</p> +<dl> +<dt>Return:</dt> +<dd> +dictionary containing the non-default configuration parameters +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +dict +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__processResult" ID="PyrightCheckerDialog.__processResult"></a> +<h4>PyrightCheckerDialog.__processResult</h4> +<b>__processResult</b>(<i>result</i>) + +<p> + Private method to process the pyright result. +</p> +<dl> + +<dt><i>result</i> (dict)</dt> +<dd> +dictionary containing the type checking result. +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__pyrightProcessFinished" ID="PyrightCheckerDialog.__pyrightProcessFinished"></a> +<h4>PyrightCheckerDialog.__pyrightProcessFinished</h4> +<b>__pyrightProcessFinished</b>(<i>exitCode, exitStatus</i>) + +<p> + Private slot to process the pyright result. +</p> +<dl> + +<dt><i>exitCode</i> (int)</dt> +<dd> +exit code of the pyright process +</dd> +<dt><i>exitStatus</i> (QProcess.ExitStatus)</dt> +<dd> +exit status +</dd> +</dl> +<a NAME="PyrightCheckerDialog.__readError" ID="PyrightCheckerDialog.__readError"></a> +<h4>PyrightCheckerDialog.__readError</h4> +<b>__readError</b>(<i></i>) + +<p> + Private slot to get the output of the error channel and show it to the user. +</p> +<a NAME="PyrightCheckerDialog.__resort" ID="PyrightCheckerDialog.__resort"></a> +<h4>PyrightCheckerDialog.__resort</h4> +<b>__resort</b>(<i></i>) + +<p> + Private method to resort the tree. +</p> +<a NAME="PyrightCheckerDialog.__updateSummary" ID="PyrightCheckerDialog.__updateSummary"></a> +<h4>PyrightCheckerDialog.__updateSummary</h4> +<b>__updateSummary</b>(<i>summary</i>) + +<p> + Private method to update the summary data of the dialog. +</p> +<dl> + +<dt><i>summary</i> (dict)</dt> +<dd> +dictionary containing the summary data +</dd> +</dl> +<a NAME="PyrightCheckerDialog.getDefaults" ID="PyrightCheckerDialog.getDefaults"></a> +<h4>PyrightCheckerDialog.getDefaults</h4> +<b>getDefaults</b>(<i></i>) + +<p> + Public method to get a dictionary containing the default values. +</p> +<dl> +<dt>Return:</dt> +<dd> +dictionary containing the default values +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +dict +</dd> +</dl> +<a NAME="PyrightCheckerDialog.on_loadDefaultButton_clicked" ID="PyrightCheckerDialog.on_loadDefaultButton_clicked"></a> +<h4>PyrightCheckerDialog.on_loadDefaultButton_clicked</h4> +<b>on_loadDefaultButton_clicked</b>(<i></i>) + +<p> + Private slot to load the default configuration values. +</p> +<a NAME="PyrightCheckerDialog.on_resetDefaultButton_clicked" ID="PyrightCheckerDialog.on_resetDefaultButton_clicked"></a> +<h4>PyrightCheckerDialog.on_resetDefaultButton_clicked</h4> +<b>on_resetDefaultButton_clicked</b>(<i></i>) + +<p> + Private slot to reset the configuration values to their default values. +</p> +<a NAME="PyrightCheckerDialog.on_restartButton_clicked" ID="PyrightCheckerDialog.on_restartButton_clicked"></a> +<h4>PyrightCheckerDialog.on_restartButton_clicked</h4> +<b>on_restartButton_clicked</b>(<i></i>) + +<p> + Private slot to restart the configured check. +</p> +<a NAME="PyrightCheckerDialog.on_resultList_itemActivated" ID="PyrightCheckerDialog.on_resultList_itemActivated"></a> +<h4>PyrightCheckerDialog.on_resultList_itemActivated</h4> +<b>on_resultList_itemActivated</b>(<i>item, column</i>) + +<p> + Private slot to handle the activation of an item. +</p> +<dl> + +<dt><i>item</i> (QTreeWidgetItem)</dt> +<dd> +reference to the activated item +</dd> +<dt><i>column</i> (int)</dt> +<dd> +column the item was activated in +</dd> +</dl> +<a NAME="PyrightCheckerDialog.on_showButton_clicked" ID="PyrightCheckerDialog.on_showButton_clicked"></a> +<h4>PyrightCheckerDialog.on_showButton_clicked</h4> +<b>on_showButton_clicked</b>(<i></i>) + +<p> + Private slot to handle the "Show" button press. +</p> +<a NAME="PyrightCheckerDialog.on_startButton_clicked" ID="PyrightCheckerDialog.on_startButton_clicked"></a> +<h4>PyrightCheckerDialog.on_startButton_clicked</h4> +<b>on_startButton_clicked</b>(<i></i>) + +<p> + Private slot to start the pyright type checking run. +</p> +<a NAME="PyrightCheckerDialog.on_storeDefaultButton_clicked" ID="PyrightCheckerDialog.on_storeDefaultButton_clicked"></a> +<h4>PyrightCheckerDialog.on_storeDefaultButton_clicked</h4> +<b>on_storeDefaultButton_clicked</b>(<i></i>) + +<p> + Private slot to store the current configuration values as + default values. +</p> +<a NAME="PyrightCheckerDialog.on_tomlButton_clicked" ID="PyrightCheckerDialog.on_tomlButton_clicked"></a> +<h4>PyrightCheckerDialog.on_tomlButton_clicked</h4> +<b>on_tomlButton_clicked</b>(<i></i>) + +<p> + Private slot to generate a TOML snippet of the current configuration. +</p> +<p> + Note: Only non-default values are included in this snippet. +</p> +<p> + The code snippet is copied to the clipboard and may be placed inside the + 'pyproject.toml' file. +</p> +<a NAME="PyrightCheckerDialog.prepare" ID="PyrightCheckerDialog.prepare"></a> +<h4>PyrightCheckerDialog.prepare</h4> +<b>prepare</b>(<i>project</i>) + +<p> + Public method to prepare the dialog with a list of filenames. +</p> +<dl> + +<dt><i>project</i> (Project)</dt> +<dd> +reference to the project object +</dd> +</dl> +<a NAME="PyrightCheckerDialog.start" ID="PyrightCheckerDialog.start"></a> +<h4>PyrightCheckerDialog.start</h4> +<b>start</b>(<i>files=None, save=False</i>) + +<p> + Public method to start a pyright type checking run. +</p> +<dl> + +<dt><i>files</i> (list of str (optional))</dt> +<dd> +list of files to be checked (defaults to None) +</dd> +<dt><i>save</i> (bool)</dt> +<dd> +flag indicating to save the given file/file list/directory +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PyrightChecker/Documentation/Source/index-Plugin_Checker_Pyright.PyrightChecker.html Tue Nov 07 16:45:04 2023 +0100 @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html><head> +<title>Plugin_Checker_Pyright.PyrightChecker</title> +<meta charset="UTF-8"> +<link rel="stylesheet" href="styles.css"> +</head> +<body> +<h1>Plugin_Checker_Pyright.PyrightChecker</h1> + +<p> +Package containing the pyright dialog, supporting functions and data. +</p> + + +<h3>Modules</h3> +<table> + +<tr> +<td><a href="Plugin_Checker_Pyright.PyrightChecker.PyrightCheckerDialog.html">PyrightCheckerDialog</a></td> +<td>Module implementing the pyright type checker dialog.</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- a/PyrightChecker/Documentation/Source/index-Plugin_Checker_Pyright.html Tue Nov 07 15:30:32 2023 +0100 +++ b/PyrightChecker/Documentation/Source/index-Plugin_Checker_Pyright.html Tue Nov 07 16:45:04 2023 +0100 @@ -11,6 +11,14 @@ Package implementing the pyright plug-in. </p> +<h3>Packages</h3> +<table> + +<tr> +<td><a href="index-Plugin_Checker_Pyright.PyrightChecker.html">PyrightChecker</a></td> +<td>Package containing the pyright dialog, supporting functions and data.</td> +</tr> +</table> <h3>Modules</h3> <table>
--- a/PyrightChecker/i18n/pyright_de.ts Tue Nov 07 15:30:32 2023 +0100 +++ b/PyrightChecker/i18n/pyright_de.ts Tue Nov 07 16:45:04 2023 +0100 @@ -1,304 +1,309 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.1" language="de_DE"> - <context> +<context> <name>PyrightCheckerDialog</name> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Static Type Checker</source> - <translation>Checker für statische Typisierung</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Static Type Checker</source> + <translation>Checker für statische Typisierung</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Configure</source> - <translation>Konfiguration</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Configure</source> + <translation>Konfiguration</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Python Platform:</source> - <translation>Python Plattform:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Python Platform:</source> + <translation>Python Plattform:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Select the Python platform to check for (empty for current platform).</source> - <translation>Wähle die Python Plattform, für die geprüft werden soll (leer für aktuelle Plattform).</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Select the Python platform to check for (empty for current platform).</source> + <translation>Wähle die Python Plattform, für die geprüft werden soll (leer für aktuelle Plattform).</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Python Version:</source> - <translation>Python Version:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Python Version:</source> + <translation>Python Version:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Select the Python version to check against (empty for current version).</source> - <translation>Wähle die Python Version, gegen die geprüft werden soll (leer für aktuelle Version).</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Select the Python version to check against (empty for current version).</source> + <translation>Wähle die Python Version, gegen die geprüft werden soll (leer für aktuelle Version).</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Select to skip files without type annotations.</source> - <translation>Auswählen, um Dateien ohne Typannotationen zu überspringen.</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Select to skip files without type annotations.</source> + <translation>Auswählen, um Dateien ohne Typannotationen zu überspringen.</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Skip unannotated files</source> - <translation>Nicht annotierte Dateien überspringen</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Skip unannotated files</source> + <translation>Nicht annotierte Dateien überspringen</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Press to start the type check run</source> - <translation>Drücken, um die Typisierungsprüfung zu starten</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Press to start the type check run</source> + <translation>Drücken, um die Typisierungsprüfung zu starten</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>&Start</source> - <translation>&Starten</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>&Start</source> + <translation>&Starten</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Place a code snippet for 'pyproject.toml' into the clipboard.</source> - <translation>Legt einen Codeschnipsel für 'pyproject.toml' in die Zwischenablage.</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Place a code snippet for 'pyproject.toml' into the clipboard.</source> + <translation>Legt einen Codeschnipsel für 'pyproject.toml' in die Zwischenablage.</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Generate &TOML</source> - <translation>&TOML erzeugen</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Generate &TOML</source> + <translation>&TOML erzeugen</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Press to load the default values</source> - <translation>Drücken, um Standarwerte zu laden</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Press to load the default values</source> + <translation>Drücken, um Standarwerte zu laden</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>&Load Defaults</source> - <translation>Standards &laden</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>&Load Defaults</source> + <translation>Standards &laden</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Press to store the current values as defaults</source> - <translation>Drücken, um die aktuellen Werte als Standard zu speichern</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Press to store the current values as defaults</source> + <translation>Drücken, um die aktuellen Werte als Standard zu speichern</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>St&ore Defaults</source> - <translation>Standards s&peichern</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>St&ore Defaults</source> + <translation>Standards s&peichern</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Press to reset the default values</source> - <translation>Drücken, um die Standardeinstellungen zurückzusetzen</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Press to reset the default values</source> + <translation>Drücken, um die Standardeinstellungen zurückzusetzen</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>&Reset Defaults</source> - <translation>Standards lösc&hen</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>&Reset Defaults</source> + <translation>Standards lösc&hen</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Results</source> - <translation>Ergebnisse</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Results</source> + <translation>Ergebnisse</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source><b>Result List</b> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source><b>Result List</b> <p>This list shows the results of the typing check. Activating an entry will open this entry in an editor window and position the cursor at the respective line and position.</p></source> - <translation><b>Resultatliste</b> + <translation><b>Resultatliste</b> <p>Diese Liste zeigt die Resultate der Typprüfung. Die Aktivierung eines Eintrages öffnet ein Editorfenster und positioniert den Cursor auf die entsprechende Zeile und Position.</p></translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>File/Line</source> - <translation>Datei/Zeile</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>File/Line</source> + <translation>Datei/Zeile</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Severity</source> - <translation>Schweregrad</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Severity</source> + <translation>Schweregrad</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Message</source> - <translation>Meldung</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Message</source> + <translation>Meldung</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Summary</source> - <translation>Zusammenfassung</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Summary</source> + <translation>Zusammenfassung</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Files analyzed:</source> - <translation>Analysierte Dateien:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Files analyzed:</source> + <translation>Analysierte Dateien:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>pyright Version:</source> - <translation>pyright Version:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>pyright Version:</source> + <translation>pyright Version:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Error Count:</source> - <translation>Anzahl Fehler:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Error Count:</source> + <translation>Anzahl Fehler:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Warning Count:</source> - <translation>Anzahl Warnungen:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Warning Count:</source> + <translation>Anzahl Warnungen:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Info Count:</source> - <translation>Anzahl Infos:</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Info Count:</source> + <translation>Anzahl Infos:</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Press to restart the type check run</source> - <translation>Drücken, um die Typprüfung neu zu starten</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Press to restart the type check run</source> + <translation>Drücken, um die Typprüfung neu zu starten</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>&Restart</source> - <translation>Neu &starten</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>&Restart</source> + <translation>Neu &starten</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Press to show all files containing an issue</source> - <translation>Drücken, um alle Dateien mit Problemen anzuzeigen</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Press to show all files containing an issue</source> + <translation>Drücken, um alle Dateien mit Problemen anzuzeigen</translation> </message> <message> - <location filename="../PyrightCheckerDialog.ui" line="0" /> - <source>Show</source> - <translation>Zeige</translation> + <location filename="../PyrightCheckerDialog.ui" line="0"/> + <source>Show</source> + <translation>Zeige</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="56" /> - <source>Error</source> - <translation>Fehler</translation> + <location filename="../PyrightCheckerDialog.py" line="56"/> + <source>Error</source> + <translation>Fehler</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="57" /> - <source>Warning</source> - <translation>Warnung</translation> + <location filename="../PyrightCheckerDialog.py" line="57"/> + <source>Warning</source> + <translation>Warnung</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="58" /> - <source>Information</source> - <translation>Information</translation> + <location filename="../PyrightCheckerDialog.py" line="58"/> + <source>Information</source> + <translation>Information</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="72" /> - <source>No issues detected</source> - <translation>Keine Probleme gefunden</translation> + <location filename="../PyrightCheckerDialog.py" line="72"/> + <source>No issues detected</source> + <translation>Keine Probleme gefunden</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="73" /> - <source>Issues detected</source> - <translation>Probleme gefunden</translation> + <location filename="../PyrightCheckerDialog.py" line="73"/> + <source>Issues detected</source> + <translation>Probleme gefunden</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="74" /> - <source>Fatal error occurred with no errors or warnings reported</source> - <translation>Es gab einen fatalen Fehler ohne dass Fehler oder Warnungen gemeldet wurden</translation> + <location filename="../PyrightCheckerDialog.py" line="74"/> + <source>Fatal error occurred with no errors or warnings reported</source> + <translation>Es gab einen fatalen Fehler ohne dass Fehler oder Warnungen gemeldet wurden</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="75" /> - <source>Config file could not be read or parsed</source> - <translation>Konfigurationsdatei konnte nicht gefunden oder gelesen werden</translation> + <location filename="../PyrightCheckerDialog.py" line="75"/> + <source>Config file could not be read or parsed</source> + <translation>Konfigurationsdatei konnte nicht gefunden oder gelesen werden</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="76" /> - <source>Illegal command-line parameters specified</source> - <translation>Ungültiger Kommandozeilenparameter angegeben</translation> + <location filename="../PyrightCheckerDialog.py" line="76"/> + <source>Illegal command-line parameters specified</source> + <translation>Ungültiger Kommandozeilenparameter angegeben</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="207" /> - <source>unknown</source> - <translation>unbekannt</translation> + <location filename="../PyrightCheckerDialog.py" line="207"/> + <source>unknown</source> + <translation>unbekannt</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="375" /> - <location filename="../PyrightCheckerDialog.py" line="362" /> - <location filename="../PyrightCheckerDialog.py" line="337" /> - <location filename="../PyrightCheckerDialog.py" line="298" /> - <source>pyright Type Checking</source> - <translation>pyright Typprüfung</translation> + <location filename="../PyrightCheckerDialog.py" line="375"/> + <location filename="../PyrightCheckerDialog.py" line="362"/> + <location filename="../PyrightCheckerDialog.py" line="337"/> + <location filename="../PyrightCheckerDialog.py" line="298"/> + <source>pyright Type Checking</source> + <translation>pyright Typprüfung</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="299" /> - <source>pyright type checking has to be performed for individual files or a project but neither was given. Aborting...</source> - <translation>Die Typprüfung mit pyright muss für einzelne Dateien oder ein Projekt durchgeführt werden, doch nichts wurde angegeben. Abbruch...</translation> + <location filename="../PyrightCheckerDialog.py" line="299"/> + <source>pyright type checking has to be performed for individual files or a project but neither was given. Aborting...</source> + <translation>Die Typprüfung mit pyright muss für einzelne Dateien oder ein Projekt durchgeführt werden, doch nichts wurde angegeben. Abbruch...</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="338" /> - <source><p>The pyright type checking run failed.</p><p>Reason: {0}</p></source> - <translation><p>Die pyright Typprüfung ist fehlgeschlagen</p><p>Ursache: {0}</p></translation> + <location filename="../PyrightCheckerDialog.py" line="338"/> + <source><p>The pyright type checking run failed.</p><p>Reason: {0}</p></source> + <translation><p>Die pyright Typprüfung ist fehlgeschlagen</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="363" /> - <source><p>The pyright type checking process did not end normally.</p></source> - <translation><p>Der pyright Typprüfungsprozess wurde nicht normal beendet.</p></translation> + <location filename="../PyrightCheckerDialog.py" line="363"/> + <source><p>The pyright type checking process did not end normally.</p></source> + <translation><p>Der pyright Typprüfungsprozess wurde nicht normal beendet.</p></translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="376" /> - <source><p>The pyright type checking process did not return valid JSON data.</p><p>Issue: {0}</p></source> - <translation><p>Der pyright Typprüfungsprozess gab keine gültigen JSON Daten zurück.</p><p>Fehler: {0}</p></translation> + <location filename="../PyrightCheckerDialog.py" line="376"/> + <source><p>The pyright type checking process did not return valid JSON data.</p><p>Issue: {0}</p></source> + <translation><p>Der pyright Typprüfungsprozess gab keine gültigen JSON Daten zurück.</p><p>Fehler: {0}</p></translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="635" /> - <location filename="../PyrightCheckerDialog.py" line="613" /> - <source>Create TOML snippet</source> - <translation>TOML Schnipsel erzeugen</translation> + <location filename="../PyrightCheckerDialog.py" line="635"/> + <location filename="../PyrightCheckerDialog.py" line="613"/> + <source>Create TOML snippet</source> + <translation>TOML Schnipsel erzeugen</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="614" /> - <source>The creation of a 'pyproject.toml' snippet is only available when in project mode. Aborting...</source> - <translation>Die Erzeugung eines 'pyproject.toml' Schnipsels ist nur im Projektmodus verfügbar. Abbruch...</translation> + <location filename="../PyrightCheckerDialog.py" line="614"/> + <source>The creation of a 'pyproject.toml' snippet is only available when in project mode. Aborting...</source> + <translation>Die Erzeugung eines 'pyproject.toml' Schnipsels ist nur im Projektmodus verfügbar. Abbruch...</translation> </message> <message> - <location filename="../PyrightCheckerDialog.py" line="636" /> - <source>The 'pyproject.toml' snippet was copied to the clipboard.</source> - <translation>Der 'pyproject.toml' Schnipsel wurde in die Zwischenablage kopiert.</translation> + <location filename="../PyrightCheckerDialog.py" line="636"/> + <source>The 'pyproject.toml' snippet was copied to the clipboard.</source> + <translation>Der 'pyproject.toml' Schnipsel wurde in die Zwischenablage kopiert.</translation> </message> - </context> - <context> +</context> +<context> <name>PyrightPlugin</name> <message> - <location filename="../../PluginPyright.py" line="217" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="92" /> - <source>Static Type Check</source> - <translation>Statische Typprüfung</translation> + <location filename="../../PluginPyright.py" line="49"/> + <source>Checkers - Pyright</source> + <translation>Prüfer - Pyright</translation> + </message> + <message> + <location filename="../../PluginPyright.py" line="242"/> + <location filename="../../PluginPyright.py" line="136"/> + <location filename="../../PluginPyright.py" line="117"/> + <source>Static Type Check</source> + <translation>Statische Typprüfung</translation> </message> <message> - <location filename="../../PluginPyright.py" line="218" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="93" /> - <source>Static &Typing...</source> - <translation>Statische &Typprüfung...</translation> + <location filename="../../PluginPyright.py" line="243"/> + <location filename="../../PluginPyright.py" line="136"/> + <location filename="../../PluginPyright.py" line="118"/> + <source>Static &Typing...</source> + <translation>Statische &Typprüfung...</translation> </message> <message> - <location filename="../../PluginPyright.py" line="99" /> - <source>Check for typing issues</source> - <translation>Prüfung auf Typisierungsprobleme</translation> + <location filename="../../PluginPyright.py" line="124"/> + <source>Check for typing issues</source> + <translation>Prüfung auf Typisierungsprobleme</translation> </message> <message> - <location filename="../../PluginPyright.py" line="101" /> - <source><b>Static Type Check...</b><p>This checks a Python project for static typing issues.</p></source> - <translation><b>Statische Typprüfung...</b><p>Dies überprüft ein Python-Projekt auf statische Typisierungsprobleme.</p></translation> + <location filename="../../PluginPyright.py" line="126"/> + <source><b>Static Type Check...</b><p>This checks a Python project for static typing issues.</p></source> + <translation><b>Statische Typprüfung...</b><p>Dies überprüft ein Python-Projekt auf statische Typisierungsprobleme.</p></translation> </message> <message> - <location filename="../../PluginPyright.py" line="114" /> - <source><b>Static Type Check...</b><p>This checks a Python file for static typing issues.</p></source> - <translation><b>Statische Typprüfung...</b><p>Dies überprüft eine Python-Datei auf statische Typisierungsprobleme.</p></translation> + <location filename="../../PluginPyright.py" line="139"/> + <source><b>Static Type Check...</b><p>This checks a Python file for static typing issues.</p></source> + <translation><b>Statische Typprüfung...</b><p>Dies überprüft eine Python-Datei auf statische Typisierungsprobleme.</p></translation> </message> <message> - <location filename="../../PluginPyright.py" line="225" /> - <source><b>Static Type Check...</b><p>This checks Python files for static typing issues.</p></source> - <translation><b>Statische Typprüfung...</b><p>Dies überprüft Python-Dateien auf statische Typisierungsprobleme.</p></translation> + <location filename="../../PluginPyright.py" line="250"/> + <source><b>Static Type Check...</b><p>This checks Python files for static typing issues.</p></source> + <translation><b>Statische Typprüfung...</b><p>Dies überprüft Python-Dateien auf statische Typisierungsprobleme.</p></translation> </message> - </context> +</context> </TS>
--- a/PyrightChecker/i18n/pyright_en.ts Tue Nov 07 15:30:32 2023 +0100 +++ b/PyrightChecker/i18n/pyright_en.ts Tue Nov 07 16:45:04 2023 +0100 @@ -264,36 +264,41 @@ <context> <name>PyrightPlugin</name> <message> - <location filename="../../PluginPyright.py" line="217" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="92" /> + <location filename="../../PluginPyright.py" line="49" /> + <source>Checkers - Pyright</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginPyright.py" line="242" /> + <location filename="../../PluginPyright.py" line="136" /> + <location filename="../../PluginPyright.py" line="117" /> <source>Static Type Check</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="218" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="93" /> + <location filename="../../PluginPyright.py" line="243" /> + <location filename="../../PluginPyright.py" line="136" /> + <location filename="../../PluginPyright.py" line="118" /> <source>Static &Typing...</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="99" /> + <location filename="../../PluginPyright.py" line="124" /> <source>Check for typing issues</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="101" /> + <location filename="../../PluginPyright.py" line="126" /> <source><b>Static Type Check...</b><p>This checks a Python project for static typing issues.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="114" /> + <location filename="../../PluginPyright.py" line="139" /> <source><b>Static Type Check...</b><p>This checks a Python file for static typing issues.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="225" /> + <location filename="../../PluginPyright.py" line="250" /> <source><b>Static Type Check...</b><p>This checks Python files for static typing issues.</p></source> <translation type="unfinished" /> </message>
--- a/PyrightChecker/i18n/pyright_es.ts Tue Nov 07 15:30:32 2023 +0100 +++ b/PyrightChecker/i18n/pyright_es.ts Tue Nov 07 16:45:04 2023 +0100 @@ -264,36 +264,41 @@ <context> <name>PyrightPlugin</name> <message> - <location filename="../../PluginPyright.py" line="217" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="92" /> + <location filename="../../PluginPyright.py" line="49" /> + <source>Checkers - Pyright</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginPyright.py" line="242" /> + <location filename="../../PluginPyright.py" line="136" /> + <location filename="../../PluginPyright.py" line="117" /> <source>Static Type Check</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="218" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="93" /> + <location filename="../../PluginPyright.py" line="243" /> + <location filename="../../PluginPyright.py" line="136" /> + <location filename="../../PluginPyright.py" line="118" /> <source>Static &Typing...</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="99" /> + <location filename="../../PluginPyright.py" line="124" /> <source>Check for typing issues</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="101" /> + <location filename="../../PluginPyright.py" line="126" /> <source><b>Static Type Check...</b><p>This checks a Python project for static typing issues.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="114" /> + <location filename="../../PluginPyright.py" line="139" /> <source><b>Static Type Check...</b><p>This checks a Python file for static typing issues.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="225" /> + <location filename="../../PluginPyright.py" line="250" /> <source><b>Static Type Check...</b><p>This checks Python files for static typing issues.</p></source> <translation type="unfinished" /> </message>
--- a/PyrightChecker/i18n/pyright_ru.ts Tue Nov 07 15:30:32 2023 +0100 +++ b/PyrightChecker/i18n/pyright_ru.ts Tue Nov 07 16:45:04 2023 +0100 @@ -264,36 +264,41 @@ <context> <name>PyrightPlugin</name> <message> - <location filename="../../PluginPyright.py" line="217" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="92" /> + <location filename="../../PluginPyright.py" line="49" /> + <source>Checkers - Pyright</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginPyright.py" line="242" /> + <location filename="../../PluginPyright.py" line="136" /> + <location filename="../../PluginPyright.py" line="117" /> <source>Static Type Check</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="218" /> - <location filename="../../PluginPyright.py" line="111" /> - <location filename="../../PluginPyright.py" line="93" /> + <location filename="../../PluginPyright.py" line="243" /> + <location filename="../../PluginPyright.py" line="136" /> + <location filename="../../PluginPyright.py" line="118" /> <source>Static &Typing...</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="99" /> + <location filename="../../PluginPyright.py" line="124" /> <source>Check for typing issues</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="101" /> + <location filename="../../PluginPyright.py" line="126" /> <source><b>Static Type Check...</b><p>This checks a Python project for static typing issues.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="114" /> + <location filename="../../PluginPyright.py" line="139" /> <source><b>Static Type Check...</b><p>This checks a Python file for static typing issues.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginPyright.py" line="225" /> + <location filename="../../PluginPyright.py" line="250" /> <source><b>Static Type Check...</b><p>This checks Python files for static typing issues.</p></source> <translation type="unfinished" /> </message>