je-editor 0.0.215__py3-none-any.whl → 0.0.216__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- git_client/commit_graph.py +88 -0
- git_client/git.py +181 -0
- git_client/git_cli.py +66 -0
- git_client/github.py +50 -0
- {je_editor-0.0.215.dist-info → je_editor-0.0.216.dist-info}/METADATA +2 -1
- je_editor-0.0.216.dist-info/RECORD +127 -0
- je_editor-0.0.216.dist-info/top_level.txt +4 -0
- pyside_ui/git_ui/commit_table.py +27 -0
- pyside_ui/git_ui/git_branch_tree_widget.py +119 -0
- pyside_ui/git_ui/git_client_gui.py +292 -0
- pyside_ui/git_ui/graph_view.py +174 -0
- pyside_ui/main_ui/ai_widget/ai_config.py +19 -0
- pyside_ui/main_ui/ai_widget/ask_thread.py +17 -0
- pyside_ui/main_ui/ai_widget/chat_ui.py +130 -0
- pyside_ui/main_ui/ai_widget/langchain_interface.py +45 -0
- pyside_ui/main_ui/menu/check_style_menu/build_check_style_menu.py +81 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/dock_menu/build_dock_menu.py +2 -2
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/tab_menu/build_tab_menu.py +2 -2
- {je_editor/utils → utils}/multi_language/english.py +1 -1
- {je_editor/utils → utils}/multi_language/traditional_chinese.py +1 -1
- je_editor/__init__.py +0 -34
- je_editor/__main__.py +0 -18
- je_editor/start_editor.py +0 -17
- je_editor-0.0.215.dist-info/RECORD +0 -117
- je_editor-0.0.215.dist-info/top_level.txt +0 -1
- {je_editor/code_scan → code_scan}/__init__.py +0 -0
- {je_editor/code_scan → code_scan}/ruff_thread.py +0 -0
- {je_editor/code_scan → code_scan}/watchdog_implement.py +0 -0
- {je_editor/code_scan → code_scan}/watchdog_thread.py +0 -0
- {je_editor-0.0.215.dist-info → je_editor-0.0.216.dist-info}/WHEEL +0 -0
- {je_editor-0.0.215.dist-info → je_editor-0.0.216.dist-info}/licenses/LICENSE +0 -0
- {je_editor/pyside_ui → pyside_ui}/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/browser/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/browser/browser_download_window.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/browser/browser_serach_lineedit.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/browser/browser_view.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/browser/browser_widget.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/auto_save/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/auto_save/auto_save_manager.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/auto_save/auto_save_thread.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/code_format/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/code_format/pep8_format.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/code_process/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/code_process/code_exec.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/plaintext_code_edit/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/plaintext_code_edit/code_edit_plaintext.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/running_process_manager.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/shell_process/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/shell_process/shell_exec.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/syntax/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/syntax/python_syntax.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/syntax/syntax_setting.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/textedit_code_result/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/textedit_code_result/code_record.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/variable_inspector/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/code/variable_inspector/inspector_gui.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/ai_dialog/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/ai_dialog/set_ai_dialog.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/file_dialog/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/file_dialog/create_file_dialog.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/file_dialog/open_file_dialog.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/file_dialog/save_file_dialog.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/search_ui/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/search_ui/search_error_box.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/dialog/search_ui/search_text_box.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/console_widget/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/console_widget/console_gui.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/console_widget/qprocess_adapter.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/dock/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/dock/destroy_dock.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/editor/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/editor/editor_widget.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/editor/editor_widget_dock.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/editor/process_input.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/ipython_widget/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/ipython_widget/rich_jupyter.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/main_editor.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/dock_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/file_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/file_menu/build_file_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/help_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/help_menu/build_help_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/language_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/language_menu/build_language_server.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/python_env_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/python_env_menu/build_venv_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/build_run_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/under_run_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/under_run_menu/build_debug_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/under_run_menu/build_program_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/under_run_menu/build_shell_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/run_menu/under_run_menu/utils.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/set_menu_bar.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/style_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/style_menu/build_style_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/tab_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/text_menu/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/menu/text_menu/build_text_menu.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/save_settings/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/save_settings/setting_utils.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/save_settings/user_color_setting_file.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/save_settings/user_setting_file.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/system_tray/__init__.py +0 -0
- {je_editor/pyside_ui → pyside_ui}/main_ui/system_tray/extend_system_tray.py +0 -0
- {je_editor/utils → utils}/__init__.py +0 -0
- {je_editor/utils → utils}/encodings/__init__.py +0 -0
- {je_editor/utils → utils}/encodings/python_encodings.py +0 -0
- {je_editor/utils → utils}/exception/__init__.py +0 -0
- {je_editor/utils → utils}/exception/exception_tags.py +0 -0
- {je_editor/utils → utils}/exception/exceptions.py +0 -0
- {je_editor/utils → utils}/file/__init__.py +0 -0
- {je_editor/utils → utils}/file/open/__init__.py +0 -0
- {je_editor/utils → utils}/file/open/open_file.py +0 -0
- {je_editor/utils → utils}/file/save/__init__.py +0 -0
- {je_editor/utils → utils}/file/save/save_file.py +0 -0
- {je_editor/utils → utils}/json/__init__.py +0 -0
- {je_editor/utils → utils}/json/json_file.py +0 -0
- {je_editor/utils → utils}/json_format/__init__.py +0 -0
- {je_editor/utils → utils}/json_format/json_process.py +0 -0
- {je_editor/utils → utils}/logging/__init__.py +0 -0
- {je_editor/utils → utils}/logging/loggin_instance.py +0 -0
- {je_editor/utils → utils}/multi_language/__init__.py +0 -0
- {je_editor/utils → utils}/multi_language/multi_language_wrapper.py +0 -0
- {je_editor/utils → utils}/redirect_manager/__init__.py +0 -0
- {je_editor/utils → utils}/redirect_manager/redirect_manager_class.py +0 -0
- {je_editor/utils → utils}/venv_check/__init__.py +0 -0
- {je_editor/utils → utils}/venv_check/check_venv.py +0 -0
@@ -0,0 +1,130 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pathlib import Path
|
4
|
+
from typing import TYPE_CHECKING, Union
|
5
|
+
|
6
|
+
from PySide6.QtCore import Qt, QTimer
|
7
|
+
from PySide6.QtGui import QFontDatabase
|
8
|
+
from PySide6.QtWidgets import QWidget, QPlainTextEdit, QScrollArea, QLabel, QComboBox, QGridLayout, QPushButton, \
|
9
|
+
QMessageBox, QSizePolicy, QLineEdit
|
10
|
+
|
11
|
+
from je_editor.pyside_ui.dialog.ai_dialog.set_ai_dialog import SetAIDialog
|
12
|
+
from je_editor.pyside_ui.main_ui.ai_widget.ai_config import AIConfig, ai_config
|
13
|
+
from je_editor.pyside_ui.main_ui.ai_widget.ask_thread import AskThread
|
14
|
+
from je_editor.pyside_ui.main_ui.ai_widget.langchain_interface import LangChainInterface
|
15
|
+
from je_editor.utils.json.json_file import read_json
|
16
|
+
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
17
|
+
|
18
|
+
if TYPE_CHECKING:
|
19
|
+
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
20
|
+
|
21
|
+
|
22
|
+
class ChatUI(QWidget):
|
23
|
+
|
24
|
+
def __init__(self, main_window: EditorMain):
|
25
|
+
super().__init__()
|
26
|
+
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
27
|
+
self.main_window = main_window
|
28
|
+
# Chat panel
|
29
|
+
self.chat_panel = QPlainTextEdit()
|
30
|
+
self.chat_panel.setLineWrapMode(self.chat_panel.LineWrapMode.NoWrap)
|
31
|
+
self.chat_panel.setReadOnly(True)
|
32
|
+
self.chat_panel_scroll_area = QScrollArea()
|
33
|
+
self.chat_panel_scroll_area.setWidgetResizable(True)
|
34
|
+
self.chat_panel_scroll_area.setViewportMargins(0, 0, 0, 0)
|
35
|
+
self.chat_panel_scroll_area.setWidget(self.chat_panel)
|
36
|
+
self.chat_panel.setFont(QFontDatabase.font(self.font().family(), "", 16))
|
37
|
+
# Prompt input
|
38
|
+
self.prompt_input = QLineEdit()
|
39
|
+
self.prompt_input.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
40
|
+
self.prompt_input.returnPressed.connect(self.call_ai_model)
|
41
|
+
# Font size combobox
|
42
|
+
self.font_size_label = QLabel(language_wrapper.language_word_dict.get("font_size"))
|
43
|
+
self.font_size_combobox = QComboBox()
|
44
|
+
for font_size in range(2, 101, 2):
|
45
|
+
self.font_size_combobox.addItem(str(font_size))
|
46
|
+
self.font_size_combobox.setCurrentText("16")
|
47
|
+
self.font_size_combobox.currentTextChanged.connect(self.update_panel_text_size)
|
48
|
+
# Buttons
|
49
|
+
self.set_ai_config_button = QPushButton(language_wrapper.language_word_dict.get("chat_ui_set_ai_button"))
|
50
|
+
self.set_ai_config_button.clicked.connect(self.set_ai_config)
|
51
|
+
self.load_ai_config_button = QPushButton(language_wrapper.language_word_dict.get("chat_ui_load_ai_button"))
|
52
|
+
self.load_ai_config_button.clicked.connect(lambda: self.load_ai_config(show_load_complete=True))
|
53
|
+
self.call_ai_model_button = QPushButton(language_wrapper.language_word_dict.get("chat_ui_call_ai_model_button"))
|
54
|
+
self.call_ai_model_button.clicked.connect(self.call_ai_model)
|
55
|
+
# Add to layout
|
56
|
+
self.grid_layout = QGridLayout()
|
57
|
+
self.grid_layout.addWidget(self.chat_panel_scroll_area, 0, 0, 1, 4)
|
58
|
+
self.grid_layout.addWidget(self.call_ai_model_button, 1, 0)
|
59
|
+
self.grid_layout.addWidget(self.font_size_combobox, 1, 1)
|
60
|
+
self.grid_layout.addWidget(self.set_ai_config_button, 1, 2)
|
61
|
+
self.grid_layout.addWidget(self.load_ai_config_button, 1, 3)
|
62
|
+
self.grid_layout.addWidget(self.prompt_input, 2, 0, 1, 4)
|
63
|
+
|
64
|
+
# Variable
|
65
|
+
self.ai_config: AIConfig = ai_config
|
66
|
+
self.lang_chain_interface: Union[LangChainInterface, None] = None
|
67
|
+
self.set_ai_config_dialog = None
|
68
|
+
# Timer to pop queue
|
69
|
+
self.pull_message_timer = QTimer(self)
|
70
|
+
self.pull_message_timer.setInterval(1000)
|
71
|
+
self.pull_message_timer.timeout.connect(self.pull_message)
|
72
|
+
self.pull_message_timer.start()
|
73
|
+
|
74
|
+
# Set layout
|
75
|
+
self.setLayout(self.grid_layout)
|
76
|
+
|
77
|
+
self.load_ai_config()
|
78
|
+
|
79
|
+
def update_panel_text_size(self):
|
80
|
+
self.chat_panel.setFont(
|
81
|
+
QFontDatabase.font(self.font().family(), "", int(self.font_size_combobox.currentText())))
|
82
|
+
|
83
|
+
def load_ai_config(self, show_load_complete: bool = False):
|
84
|
+
ai_config_file = Path(str(Path.cwd()) + "/" + ".jeditor/ai_config.json")
|
85
|
+
if ai_config_file.exists():
|
86
|
+
with open(ai_config_file, "r", encoding="utf-8"):
|
87
|
+
json_data: dict = read_json(str(ai_config_file))
|
88
|
+
if json_data:
|
89
|
+
if json_data.get("AI_model") and len(json_data.get("AI_model")) == 4:
|
90
|
+
ai_info: dict = json_data.get("AI_model")
|
91
|
+
if ai_info.get("ai_base_url") and ai_info.get("chat_model"):
|
92
|
+
ai_config.choosable_ai.update(json_data)
|
93
|
+
self.lang_chain_interface = LangChainInterface(
|
94
|
+
main_window=self,
|
95
|
+
api_key=ai_info.get("ai_api_key"),
|
96
|
+
base_url=ai_info.get("ai_base_url"),
|
97
|
+
chat_model=ai_info.get("chat_model"),
|
98
|
+
prompt_template=ai_info.get("prompt_template"),
|
99
|
+
)
|
100
|
+
if show_load_complete:
|
101
|
+
load_complete = QMessageBox(self)
|
102
|
+
load_complete.setWindowTitle(language_wrapper.language_word_dict.get("load_ai_messagebox_title"))
|
103
|
+
load_complete.setText(language_wrapper.language_word_dict.get("load_ai_messagebox_text"))
|
104
|
+
load_complete.exec()
|
105
|
+
|
106
|
+
|
107
|
+
def call_ai_model(self):
|
108
|
+
if isinstance(self.lang_chain_interface, LangChainInterface):
|
109
|
+
thread = AskThread(lang_chain_interface=self.lang_chain_interface, prompt=self.prompt_input.text())
|
110
|
+
thread.start()
|
111
|
+
else:
|
112
|
+
ai_info = ai_config.choosable_ai.get('AI_model')
|
113
|
+
QMessageBox.warning(self,
|
114
|
+
language_wrapper.language_word_dict.get("call_ai_model_error_title"),
|
115
|
+
language_wrapper.language_word_dict.get(
|
116
|
+
f"ai_api_key: {ai_info.get('ai_api_key')}, \n"
|
117
|
+
f"ai_base_url: {ai_info.get('ai_base_url')}, \n"
|
118
|
+
f"chat_model: {ai_info.get('chat_model')}, \n"
|
119
|
+
f"prompt_template: {ai_info.get('prompt_template')}"))
|
120
|
+
|
121
|
+
def pull_message(self):
|
122
|
+
if not ai_config.message_queue.empty():
|
123
|
+
ai_response = ai_config.message_queue.get_nowait()
|
124
|
+
self.chat_panel.appendPlainText(ai_response)
|
125
|
+
self.chat_panel.appendPlainText("\n")
|
126
|
+
|
127
|
+
def set_ai_config(self):
|
128
|
+
# Set and output AI a config file
|
129
|
+
self.set_ai_config_dialog = SetAIDialog()
|
130
|
+
self.set_ai_config_dialog.show()
|
@@ -0,0 +1,45 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
import os
|
4
|
+
import re
|
5
|
+
from typing import Union, TYPE_CHECKING
|
6
|
+
|
7
|
+
from PySide6.QtWidgets import QMessageBox
|
8
|
+
from langchain.prompts.chat import SystemMessagePromptTemplate
|
9
|
+
from langchain_openai import ChatOpenAI
|
10
|
+
from pydantic import SecretStr
|
11
|
+
|
12
|
+
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
13
|
+
|
14
|
+
if TYPE_CHECKING:
|
15
|
+
from je_editor.pyside_ui.main_ui.ai_widget.chat_ui import ChatUI
|
16
|
+
|
17
|
+
class LangChainInterface(object):
|
18
|
+
|
19
|
+
def __init__(self, main_window: ChatUI, prompt_template: str, base_url: str, api_key: Union[SecretStr, str],
|
20
|
+
chat_model: str):
|
21
|
+
self.system_message_prompt = SystemMessagePromptTemplate.from_template(prompt_template)
|
22
|
+
self.base_url = base_url
|
23
|
+
self.api_key = api_key
|
24
|
+
self.chat_model = chat_model
|
25
|
+
self.main_window = main_window
|
26
|
+
os.environ["OPENAI_BASE_URL"] = self.base_url
|
27
|
+
os.environ["OPENAI_API_KEY"] = self.api_key
|
28
|
+
os.environ["CHAT_MODEL"] = self.chat_model
|
29
|
+
self.chat_ai = ChatOpenAI(base_url=self.base_url, api_key=self.api_key, model=self.chat_model)
|
30
|
+
|
31
|
+
def call_ai_model(self, prompt: str) -> str | None:
|
32
|
+
message = None
|
33
|
+
try:
|
34
|
+
message = self.chat_ai.invoke(prompt).text()
|
35
|
+
match = re.search(r"</think>\s*(.*)", message, re.DOTALL)
|
36
|
+
if match:
|
37
|
+
message = match.group(1).strip()
|
38
|
+
else:
|
39
|
+
message = message
|
40
|
+
|
41
|
+
except Exception as error:
|
42
|
+
QMessageBox.warning(self.main_window,
|
43
|
+
language_wrapper.language_word_dict.get("call_ai_model_error_title"),
|
44
|
+
str(error))
|
45
|
+
return message
|
@@ -0,0 +1,81 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from typing import TYPE_CHECKING
|
4
|
+
|
5
|
+
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
6
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
7
|
+
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
8
|
+
|
9
|
+
if TYPE_CHECKING:
|
10
|
+
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
11
|
+
from PySide6.QtGui import QAction, QKeySequence
|
12
|
+
from yapf.yapflib.yapf_api import FormatCode
|
13
|
+
|
14
|
+
from je_editor.utils.json_format.json_process import reformat_json
|
15
|
+
|
16
|
+
|
17
|
+
def set_check_menu(ui_we_want_to_set: EditorMain) -> None:
|
18
|
+
jeditor_logger.info(f"build_check_style_menu.py set_check_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
19
|
+
ui_we_want_to_set.check_menu = ui_we_want_to_set.menu.addMenu(
|
20
|
+
language_wrapper.language_word_dict.get("check_code_style_menu_label"))
|
21
|
+
# Yapf code check
|
22
|
+
ui_we_want_to_set.check_menu.yapf_check_python_action = QAction(
|
23
|
+
language_wrapper.language_word_dict.get("yapf_reformat_label"))
|
24
|
+
ui_we_want_to_set.check_menu.yapf_check_python_action.setShortcut(
|
25
|
+
QKeySequence("Ctrl+Shift+Y"))
|
26
|
+
ui_we_want_to_set.check_menu.yapf_check_python_action.triggered.connect(
|
27
|
+
lambda: yapf_check_python_code(
|
28
|
+
ui_we_want_to_set
|
29
|
+
)
|
30
|
+
)
|
31
|
+
ui_we_want_to_set.check_menu.addAction(ui_we_want_to_set.check_menu.yapf_check_python_action)
|
32
|
+
# Reformat JSON
|
33
|
+
ui_we_want_to_set.check_menu.reformat_json_action = QAction(
|
34
|
+
language_wrapper.language_word_dict.get("reformat_json_label"))
|
35
|
+
ui_we_want_to_set.check_menu.reformat_json_action.setShortcut("Ctrl+j")
|
36
|
+
ui_we_want_to_set.check_menu.reformat_json_action.triggered.connect(
|
37
|
+
lambda: reformat_json_text(
|
38
|
+
ui_we_want_to_set
|
39
|
+
)
|
40
|
+
)
|
41
|
+
ui_we_want_to_set.check_menu.addAction(ui_we_want_to_set.check_menu.reformat_json_action)
|
42
|
+
# Python formate check
|
43
|
+
ui_we_want_to_set.check_menu.check_python_format = QAction(
|
44
|
+
language_wrapper.language_word_dict.get("python_format_checker"))
|
45
|
+
ui_we_want_to_set.check_menu.check_python_format.setShortcut("Ctrl+Alt+p")
|
46
|
+
ui_we_want_to_set.check_menu.check_python_format.triggered.connect(
|
47
|
+
lambda: check_python_format(
|
48
|
+
ui_we_want_to_set
|
49
|
+
)
|
50
|
+
)
|
51
|
+
ui_we_want_to_set.check_menu.addAction(ui_we_want_to_set.check_menu.check_python_format)
|
52
|
+
|
53
|
+
|
54
|
+
def yapf_check_python_code(ui_we_want_to_set: EditorMain) -> None:
|
55
|
+
jeditor_logger.info(f"build_check_style_menu.py yapf_check_python_code ui_we_want_to_set: {ui_we_want_to_set}")
|
56
|
+
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
57
|
+
if isinstance(widget, EditorWidget):
|
58
|
+
code_text = widget.code_edit.toPlainText()
|
59
|
+
widget.code_result.setPlainText("")
|
60
|
+
format_code = FormatCode(
|
61
|
+
unformatted_source=code_text,
|
62
|
+
style_config="google"
|
63
|
+
)
|
64
|
+
if isinstance(format_code, tuple):
|
65
|
+
widget.code_edit.setPlainText(format_code[0])
|
66
|
+
|
67
|
+
|
68
|
+
def reformat_json_text(ui_we_want_to_set: EditorMain) -> None:
|
69
|
+
jeditor_logger.info(f"build_check_style_menu.py reformat_json_text ui_we_want_to_set: {ui_we_want_to_set}")
|
70
|
+
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
71
|
+
if isinstance(widget, EditorWidget):
|
72
|
+
code_text = widget.code_edit.toPlainText()
|
73
|
+
widget.code_result.setPlainText("")
|
74
|
+
widget.code_edit.setPlainText(reformat_json(code_text))
|
75
|
+
|
76
|
+
|
77
|
+
def check_python_format(ui_we_want_to_set: EditorMain) -> None:
|
78
|
+
jeditor_logger.info(f"build_check_style_menu.py check_python_format ui_we_want_to_set: {ui_we_want_to_set}")
|
79
|
+
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
80
|
+
if isinstance(widget, EditorWidget):
|
81
|
+
widget.check_file_format()
|
@@ -10,8 +10,8 @@ from frontengine import FrontEngineMainUI
|
|
10
10
|
|
11
11
|
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
12
12
|
from je_editor.pyside_ui.code.variable_inspector.inspector_gui import VariableInspector
|
13
|
-
from je_editor.pyside_ui.
|
14
|
-
from je_editor.pyside_ui.
|
13
|
+
from je_editor.pyside_ui.git_ui.git_branch_tree_widget import GitTreeViewGUI
|
14
|
+
from je_editor.pyside_ui.git_ui.git_client_gui import Gitgui
|
15
15
|
from je_editor.pyside_ui.main_ui.ai_widget.chat_ui import ChatUI
|
16
16
|
from je_editor.pyside_ui.main_ui.console_widget.console_gui import ConsoleWidget
|
17
17
|
from je_editor.pyside_ui.main_ui.dock.destroy_dock import DestroyDock
|
@@ -6,8 +6,8 @@ from frontengine import FrontEngineMainUI
|
|
6
6
|
|
7
7
|
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
8
8
|
from je_editor.pyside_ui.code.variable_inspector.inspector_gui import VariableInspector
|
9
|
-
from je_editor.pyside_ui.
|
10
|
-
from je_editor.pyside_ui.
|
9
|
+
from je_editor.pyside_ui.git_ui.git_branch_tree_widget import GitTreeViewGUI
|
10
|
+
from je_editor.pyside_ui.git_ui.git_client_gui import Gitgui
|
11
11
|
from je_editor.pyside_ui.main_ui.ai_widget.chat_ui import ChatUI
|
12
12
|
from je_editor.pyside_ui.main_ui.console_widget.console_gui import ConsoleWidget
|
13
13
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
@@ -169,7 +169,7 @@ please make sure that the current encoding is consistent with the default encodi
|
|
169
169
|
"err_read_diff": "Failed to read diff",
|
170
170
|
"err_stage": "Stage failed",
|
171
171
|
"info_stage_title": "Stage",
|
172
|
-
"info_stage_msg": "Executed
|
172
|
+
"info_stage_msg": "Executed git_client add -A",
|
173
173
|
"err_commit": "Commit failed",
|
174
174
|
"info_commit_title": "Commit",
|
175
175
|
"info_commit_msg": "Commit created",
|
@@ -163,7 +163,7 @@ traditional_chinese_word_dict = {
|
|
163
163
|
"err_read_diff": "讀取差異失敗",
|
164
164
|
"err_stage": "暫存失敗",
|
165
165
|
"info_stage_title": "暫存",
|
166
|
-
"info_stage_msg": "已執行
|
166
|
+
"info_stage_msg": "已執行 git_client add -A",
|
167
167
|
"err_commit": "提交失敗",
|
168
168
|
"info_commit_title": "提交",
|
169
169
|
"info_commit_msg": "已建立提交",
|
je_editor/__init__.py
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
2
|
-
from je_editor.pyside_ui.code.code_process.code_exec import ExecManager
|
3
|
-
from je_editor.pyside_ui.code.shell_process.shell_exec import ShellManager
|
4
|
-
from je_editor.pyside_ui.code.syntax.python_syntax import PythonHighlighter
|
5
|
-
from je_editor.pyside_ui.code.syntax.syntax_setting import syntax_extend_setting_dict, syntax_rule_setting_dict
|
6
|
-
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
7
|
-
from je_editor.pyside_ui.main_ui.editor.editor_widget_dock import FullEditorWidget
|
8
|
-
from je_editor.pyside_ui.main_ui.main_editor import EDITOR_EXTEND_TAB
|
9
|
-
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
10
|
-
from je_editor.pyside_ui.main_ui.save_settings.user_color_setting_file import user_setting_color_dict
|
11
|
-
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
12
|
-
from je_editor.start_editor import start_editor
|
13
|
-
from je_editor.utils.exception.exceptions import JEditorCantFindLanguageException
|
14
|
-
from je_editor.utils.exception.exceptions import JEditorContentFileException
|
15
|
-
from je_editor.utils.exception.exceptions import JEditorException
|
16
|
-
from je_editor.utils.exception.exceptions import JEditorExecException
|
17
|
-
from je_editor.utils.exception.exceptions import JEditorJsonException
|
18
|
-
from je_editor.utils.exception.exceptions import JEditorOpenFileException
|
19
|
-
from je_editor.utils.exception.exceptions import JEditorRunOnShellException
|
20
|
-
from je_editor.utils.exception.exceptions import JEditorSaveFileException
|
21
|
-
from je_editor.utils.multi_language.english import english_word_dict
|
22
|
-
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
23
|
-
from je_editor.utils.multi_language.traditional_chinese import traditional_chinese_word_dict
|
24
|
-
|
25
|
-
__all__ = [
|
26
|
-
"start_editor", "EditorMain", "EDITOR_EXTEND_TAB",
|
27
|
-
"JEditorException", "JEditorExecException", "FullEditorWidget",
|
28
|
-
"JEditorRunOnShellException", "JEditorSaveFileException", "syntax_rule_setting_dict",
|
29
|
-
"JEditorOpenFileException", "JEditorContentFileException", "syntax_extend_setting_dict",
|
30
|
-
"JEditorCantFindLanguageException", "JEditorJsonException", "PythonHighlighter",
|
31
|
-
"user_setting_dict", "user_setting_color_dict", "EditorWidget", "BrowserWidget",
|
32
|
-
"ExecManager", "ShellManager", "traditional_chinese_word_dict", "english_word_dict",
|
33
|
-
"language_wrapper"
|
34
|
-
]
|
je_editor/__main__.py
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
if __name__ == "__main__":
|
2
|
-
# argparse
|
3
|
-
import argparse
|
4
|
-
|
5
|
-
from je_editor.start_editor import start_editor
|
6
|
-
|
7
|
-
argparse_event_dict = {
|
8
|
-
"start": start_editor,
|
9
|
-
}
|
10
|
-
parser = argparse.ArgumentParser()
|
11
|
-
parser.add_argument("-s", "--start", action="store_true", help="start editor")
|
12
|
-
args = parser.parse_args()
|
13
|
-
args = vars(args)
|
14
|
-
for key, value in args.items():
|
15
|
-
if value is not None and key not in ["start"]:
|
16
|
-
argparse_event_dict.get(key)(value)
|
17
|
-
else:
|
18
|
-
argparse_event_dict.get(key)()
|
je_editor/start_editor.py
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
import sys
|
2
|
-
|
3
|
-
from PySide6.QtCore import QCoreApplication
|
4
|
-
from PySide6.QtWidgets import QApplication
|
5
|
-
from qt_material import apply_stylesheet
|
6
|
-
|
7
|
-
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
8
|
-
|
9
|
-
|
10
|
-
def start_editor(debug_mode: bool = False) -> None:
|
11
|
-
new_editor = QCoreApplication.instance()
|
12
|
-
if new_editor is None:
|
13
|
-
new_editor = QApplication(sys.argv)
|
14
|
-
window = EditorMain(debug_mode)
|
15
|
-
apply_stylesheet(new_editor, theme='dark_amber.xml')
|
16
|
-
window.showMaximized()
|
17
|
-
sys.exit(new_editor.exec())
|
@@ -1,117 +0,0 @@
|
|
1
|
-
je_editor/__init__.py,sha256=IZm-mUID0W7-smb9SYEtwcWrpr8mz6OyF4e5akHGrFU,2405
|
2
|
-
je_editor/__main__.py,sha256=2ymm4ESRcqP4K1YQyeaDbGhuK-0C1IausIiEOpbm6Ds,570
|
3
|
-
je_editor/start_editor.py,sha256=hW7JFOjBkcW7hdC7q-9JsaVTeSNCep1GsqxLmbMU4wg,543
|
4
|
-
je_editor/code_scan/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
-
je_editor/code_scan/ruff_thread.py,sha256=pQjfsaQXI2ZJ6nAGq0Fpw-k3S2V_gYQ0lPgYnNC9Re0,938
|
6
|
-
je_editor/code_scan/watchdog_implement.py,sha256=9N5TCvWQKi66DSrViUaNhUwP5TkYhmbz_ncS9KTGPx8,1313
|
7
|
-
je_editor/code_scan/watchdog_thread.py,sha256=jHJCIsDN1kcfK4dIY5MHORafV4EJNN93x4GgNnEx1G4,833
|
8
|
-
je_editor/pyside_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
je_editor/pyside_ui/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
je_editor/pyside_ui/browser/browser_download_window.py,sha256=KEO8AoZYSDuES0z5os9ziD44lS47kIo3kbd5iOUM2Go,2018
|
11
|
-
je_editor/pyside_ui/browser/browser_serach_lineedit.py,sha256=GYX6faCIxl-HtRXHZoc3EAuK6Ll41jgUV3ksawY5rsc,899
|
12
|
-
je_editor/pyside_ui/browser/browser_view.py,sha256=vH_-Xw1DE5RqTz-wYxkKl0X6tzpcFVKXQqMqay7tJiw,1661
|
13
|
-
je_editor/pyside_ui/browser/browser_widget.py,sha256=0fVnl6ye4FBz3bnxm-0SSEWW8bGlHS5DqQmMew5CKDk,3031
|
14
|
-
je_editor/pyside_ui/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
-
je_editor/pyside_ui/code/running_process_manager.py,sha256=VdfdprPNlPmMySOKDOjEEl5X9IsJVPSDb0a2KDKgiQg,1008
|
16
|
-
je_editor/pyside_ui/code/auto_save/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
je_editor/pyside_ui/code/auto_save/auto_save_manager.py,sha256=hQ03TVq-c-mGku51DrjpmLtsPkVcZv4G_jaozC06Ir0,1019
|
18
|
-
je_editor/pyside_ui/code/auto_save/auto_save_thread.py,sha256=V_A8_4JZdHdF9e2E_rYY_paS7rnJjB8_YVPxTyHZ_QE,1662
|
19
|
-
je_editor/pyside_ui/code/code_format/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
|
-
je_editor/pyside_ui/code/code_format/pep8_format.py,sha256=zrCkUdz2SG4bnMSkXfccvpHAmUOxXLedSBxL_nkdaoE,3574
|
21
|
-
je_editor/pyside_ui/code/code_process/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
22
|
-
je_editor/pyside_ui/code/code_process/code_exec.py,sha256=k0EPC2ZhC7yZTJkcezUvELIuD8AkU_GoXQcM8JL2Ptc,10686
|
23
|
-
je_editor/pyside_ui/code/plaintext_code_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
je_editor/pyside_ui/code/plaintext_code_edit/code_edit_plaintext.py,sha256=lcwmBemFenH-uDGe6fo70MS47emzPFgy9XL7cipwryY,14249
|
25
|
-
je_editor/pyside_ui/code/shell_process/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
-
je_editor/pyside_ui/code/shell_process/shell_exec.py,sha256=3x9nMRlAQdK7asoB_GD-Dx9LyrCOic8YIy0wzapmpiw,9527
|
27
|
-
je_editor/pyside_ui/code/syntax/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
je_editor/pyside_ui/code/syntax/python_syntax.py,sha256=9rK7_DYAANgf28PUdVl9xs42b76Re_SWwIpijEGBuzQ,3054
|
29
|
-
je_editor/pyside_ui/code/syntax/syntax_setting.py,sha256=oaLRF_83Oa6bcAorf7AlZG0Mrt4FmsK7b4aA-LS_bRo,2284
|
30
|
-
je_editor/pyside_ui/code/textedit_code_result/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
31
|
-
je_editor/pyside_ui/code/textedit_code_result/code_record.py,sha256=pT-CmcADEaXLZ0ih6D6rpe1XywgszrEpcJxtJYgopJE,2162
|
32
|
-
je_editor/pyside_ui/code/variable_inspector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
|
-
je_editor/pyside_ui/code/variable_inspector/inspector_gui.py,sha256=QMcwN3td5Nr01bWpUHEFJzl-wb0Ifigqx6ybfvQSzJY,4747
|
34
|
-
je_editor/pyside_ui/dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
je_editor/pyside_ui/dialog/ai_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
|
-
je_editor/pyside_ui/dialog/ai_dialog/set_ai_dialog.py,sha256=w_cku2dQthtk0TDSxEeDB-tvzdHV4vmUhFVDlb2ynO8,2392
|
37
|
-
je_editor/pyside_ui/dialog/file_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
|
-
je_editor/pyside_ui/dialog/file_dialog/create_file_dialog.py,sha256=3NvGVld_If2TsM_Xt0pgWDTcj51szS8MxG1raU-tP2A,1650
|
39
|
-
je_editor/pyside_ui/dialog/file_dialog/open_file_dialog.py,sha256=wTI4TwMfJ-960c_C0cLy2EhWbZosewSmpyWOrcf9yLE,3806
|
40
|
-
je_editor/pyside_ui/dialog/file_dialog/save_file_dialog.py,sha256=pyPfwgrDiDpMKk8T_4oBukgJLxdWnzIKSziwFt4YuUU,1781
|
41
|
-
je_editor/pyside_ui/dialog/search_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
|
-
je_editor/pyside_ui/dialog/search_ui/search_error_box.py,sha256=jSa423cQW_xQ2WAj46CCWPsCP0Gy7g-UDe5o8LQyKQk,1190
|
43
|
-
je_editor/pyside_ui/dialog/search_ui/search_text_box.py,sha256=ul-98FVByq_TNkkLZcBSF4VSwIQNBBj-4e6jYlh6YEA,1229
|
44
|
-
je_editor/pyside_ui/main_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
45
|
-
je_editor/pyside_ui/main_ui/main_editor.py,sha256=O5wiy5QW8IrxHAzBkcu7v4OmFraVxDIkoQhwWA032GU,11546
|
46
|
-
je_editor/pyside_ui/main_ui/console_widget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
-
je_editor/pyside_ui/main_ui/console_widget/console_gui.py,sha256=3H0Ocj9oDtgAoH7mT2YjDsSeFW3FphsstJqtIesS4yA,5572
|
48
|
-
je_editor/pyside_ui/main_ui/console_widget/qprocess_adapter.py,sha256=UIyIoCEyt6hMxc2oLH68ioERFyuPDnPub05_Yi_-rGs,2304
|
49
|
-
je_editor/pyside_ui/main_ui/dock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
|
-
je_editor/pyside_ui/main_ui/dock/destroy_dock.py,sha256=MTN45BykNm6FA4gMW7gI4Kr9orTdcxVTm7mch3DUhaw,604
|
51
|
-
je_editor/pyside_ui/main_ui/editor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
|
-
je_editor/pyside_ui/main_ui/editor/editor_widget.py,sha256=AnrBGoToipAtxh2XRNey3wskKns6AxJ6hwtdST3fovw,10387
|
53
|
-
je_editor/pyside_ui/main_ui/editor/editor_widget_dock.py,sha256=6oDf0pKx0sThlk_Qz0gduPIpasPqib6OYnMnQ4FRXFo,1930
|
54
|
-
je_editor/pyside_ui/main_ui/editor/process_input.py,sha256=zj29E3He5_PD23HnIaDQ1vn3LWRECXTf8P7MWsX73k0,3401
|
55
|
-
je_editor/pyside_ui/main_ui/ipython_widget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
|
-
je_editor/pyside_ui/main_ui/ipython_widget/rich_jupyter.py,sha256=LKbMbgpstsk_EiwbBSJ9Ljn7Ia3j2UNpQ_JAI6_LJ4Q,1629
|
57
|
-
je_editor/pyside_ui/main_ui/menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
|
-
je_editor/pyside_ui/main_ui/menu/set_menu_bar.py,sha256=I12DXLyRO4cKe17fQY-QDazKEIh9W36LNV1aKUw47MU,1823
|
59
|
-
je_editor/pyside_ui/main_ui/menu/dock_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
je_editor/pyside_ui/main_ui/menu/dock_menu/build_dock_menu.py,sha256=xEhtt_JITYelUvNAx0kC5pGEXfdD7Hy2knLNj9Xwl48,8402
|
61
|
-
je_editor/pyside_ui/main_ui/menu/file_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
|
-
je_editor/pyside_ui/main_ui/menu/file_menu/build_file_menu.py,sha256=YT6kvXShRbfM4Qo51VveO_IK8uDqlNrGwHZUiM6_Tes,6881
|
63
|
-
je_editor/pyside_ui/main_ui/menu/help_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
|
-
je_editor/pyside_ui/main_ui/menu/help_menu/build_help_menu.py,sha256=iy1xDpV-u4DhZp8ZsetVKwHuJCctYgCWMpkIv12u3V0,2869
|
65
|
-
je_editor/pyside_ui/main_ui/menu/language_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
|
-
je_editor/pyside_ui/main_ui/menu/language_menu/build_language_server.py,sha256=23jKdAYxN65xJMVd5NbCwhIjwh2kfXVDszN1wmIs1A0,2333
|
67
|
-
je_editor/pyside_ui/main_ui/menu/python_env_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
|
-
je_editor/pyside_ui/main_ui/menu/python_env_menu/build_venv_menu.py,sha256=Hv_UbIwlRGlcpvDVSHjNHFslYvFawLh81raWA6zoJAY,9206
|
69
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/build_run_menu.py,sha256=r1jl9FYHttRK6D09YItjVI6qsz46TA-OCV03TYOI4W8,5269
|
71
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_debug_menu.py,sha256=eTkByv3TBxYuyxNWYnohWNPo2I4COxglV_GEeTsgNvk,3329
|
73
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_program_menu.py,sha256=jfc7l6zYpRdtYdj2f0nydP41hxEkqCXFISLcTn_AU0E,3125
|
74
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_shell_menu.py,sha256=KNRNjMyqhaimjOrwuEwtVfGD90xph0VYl25_-kUGllE,2896
|
75
|
-
je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/utils.py,sha256=zk5adQ7xidJgzaO81kKxc7LI34jCplcocL6vhacHEec,858
|
76
|
-
je_editor/pyside_ui/main_ui/menu/style_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
|
-
je_editor/pyside_ui/main_ui/menu/style_menu/build_style_menu.py,sha256=OjfcjQ7fA1Z1rMwIS9oGkIkC-jy-e0jdGoYo1btTqUQ,1852
|
78
|
-
je_editor/pyside_ui/main_ui/menu/tab_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
79
|
-
je_editor/pyside_ui/main_ui/menu/tab_menu/build_tab_menu.py,sha256=5gpbzIRyk_ezlD_0qIJ8EtAPBtmLz0XBDk1pa0VCGHE,9238
|
80
|
-
je_editor/pyside_ui/main_ui/menu/text_menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
81
|
-
je_editor/pyside_ui/main_ui/menu/text_menu/build_text_menu.py,sha256=k3pOpK4i8ccs3D8VIrNx8g3kUDp1fZdqv9H5uEvNl5c,3558
|
82
|
-
je_editor/pyside_ui/main_ui/save_settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
-
je_editor/pyside_ui/main_ui/save_settings/setting_utils.py,sha256=p1gY71j_PgSdlibA0uOm1eIKvOlIH_jNIJ-At0x3iMU,600
|
84
|
-
je_editor/pyside_ui/main_ui/save_settings/user_color_setting_file.py,sha256=o0BZRHPMUEtoXaf0ihfOEzt3doLwgSmU3gQx51cCWAg,3145
|
85
|
-
je_editor/pyside_ui/main_ui/save_settings/user_setting_file.py,sha256=XkHC2BABD6xLIx7gFTy6NzjqYXFMImSngwqp9GxELdc,1034
|
86
|
-
je_editor/pyside_ui/main_ui/system_tray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
87
|
-
je_editor/pyside_ui/main_ui/system_tray/extend_system_tray.py,sha256=xrk3TEaWdYyqc2U7po928sHV_tUj5QCdOsZEDKoU3_Y,2259
|
88
|
-
je_editor/utils/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
89
|
-
je_editor/utils/encodings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
|
-
je_editor/utils/encodings/python_encodings.py,sha256=Nn_GsBZcPHcY5djoL2ki5eriKUpCI0ZgZ6XKgnEo1YI,1613
|
91
|
-
je_editor/utils/exception/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
92
|
-
je_editor/utils/exception/exception_tags.py,sha256=KjkbbqrtIuNn07657AOVEpX0RZlOpTUFxKPiHld3xgM,1104
|
93
|
-
je_editor/utils/exception/exceptions.py,sha256=4e2ivqFWgBq4L_8QgRjd79xdOAgR_tyW_hpBlQeePpw,506
|
94
|
-
je_editor/utils/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
95
|
-
je_editor/utils/file/open/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
96
|
-
je_editor/utils/file/open/open_file.py,sha256=zaqj0g87AbczCTNnVW9xPsQ2Da9pTsUwO75WIp08IPg,1211
|
97
|
-
je_editor/utils/file/save/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
98
|
-
je_editor/utils/file/save/save_file.py,sha256=j_WpSXz2M0XweuruiC332-ZXpqgPiYlZULOnEiwuUOM,998
|
99
|
-
je_editor/utils/json/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
|
-
je_editor/utils/json/json_file.py,sha256=zTzQp-VFlaXg7puxC3EgEECURuuDmfJ8I9emX0EZyfw,1699
|
101
|
-
je_editor/utils/json_format/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
102
|
-
je_editor/utils/json_format/json_process.py,sha256=tszo48OnVivVkuuPrl-FtGaaq-1YOJLKT2o2A3qQi3M,1250
|
103
|
-
je_editor/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
104
|
-
je_editor/utils/logging/loggin_instance.py,sha256=5MUuLesU_WpR_Iu1uoAATi5Bj2yMYkimZrMfiXbk5pI,881
|
105
|
-
je_editor/utils/multi_language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
106
|
-
je_editor/utils/multi_language/english.py,sha256=s4vnWDqTX2G5DiLLdJHIyhGz2ozcuJ7e9DLYfTpuEf8,9974
|
107
|
-
je_editor/utils/multi_language/multi_language_wrapper.py,sha256=_MtYrE51poQ1p_iWvT2eg_604uj6IsiBgGpifWpYLGc,1050
|
108
|
-
je_editor/utils/multi_language/traditional_chinese.py,sha256=cc_KawxqvHnBH0MthkDwgco8FuEXfT7OfU8I55nmDVs,10052
|
109
|
-
je_editor/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
|
-
je_editor/utils/redirect_manager/redirect_manager_class.py,sha256=1gICetKpohBvmxmVhnqeCRq7AQS2YWK4AURmrqnVYVw,2277
|
111
|
-
je_editor/utils/venv_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
112
|
-
je_editor/utils/venv_check/check_venv.py,sha256=oCrMdue4NYUUGrVifh_iHFwIgxVx9azYN4jz3Xiulgg,999
|
113
|
-
je_editor-0.0.215.dist-info/licenses/LICENSE,sha256=KMhUHh6pnIUvmXDW-49L_Sz63bqkOlPDqsecaqKiitU,1091
|
114
|
-
je_editor-0.0.215.dist-info/METADATA,sha256=QBFQvPWu1iCCeMr_iGtwUA8ju2KikfjQkSg0wC3N-T8,3446
|
115
|
-
je_editor-0.0.215.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
116
|
-
je_editor-0.0.215.dist-info/top_level.txt,sha256=_9YA7BgxpkmdLs-5V_UQILxClcMRgPyG1a3qaE-Bkcs,10
|
117
|
-
je_editor-0.0.215.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
je_editor
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|