From 947cefd59c04ec06c5444200d39b319bc62b3725 Mon Sep 17 00:00:00 2001 From: DCP-arce <127241088+DCP-arca@users.noreply.github.com> Date: Wed, 26 Jun 2024 09:52:50 +0900 Subject: [PATCH] =?UTF-8?q?ctrl+z=EA=B0=80=20=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8D=98=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- completer.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/completer.py b/completer.py index b86e9f5..4c76977 100644 --- a/completer.py +++ b/completer.py @@ -1,6 +1,9 @@ from PyQt5.QtWidgets import QCompleter, QTextEdit from PyQt5.QtGui import QTextCursor, QTextCharFormat, QFont, QColor from PyQt5.QtCore import Qt, QStringListModel +import string + +complete_target_stringset = string.ascii_letters + string.digits + "~!#$%^&*_+?.-=" class CustomCompleter(QCompleter): @@ -45,11 +48,6 @@ def highlightBrackets(self): cursor = self.textCursor() text = self.toPlainText() - # Clear previous formatting - cursor.select(cursor.Document) - clear_format = QTextCharFormat() - cursor.setCharFormat(clear_format) - # Stack to keep track of open brackets stack = [] bracket_pairs = {'(': ')', '{': '}', '[': ']', '<': '>'} @@ -74,13 +72,14 @@ def highlightBrackets(self): fmt = QTextCharFormat() fmt.setFontWeight(QFont.Bold) fmt.setForeground(QColor("red")) - cursor.beginEditBlock() + + cursor.beginEditBlock() # Undo block 시작 for pos, matching_pos in bracket_positions.items(): if matching_pos == -1: cursor.setPosition(pos) cursor.movePosition(cursor.NextCharacter, cursor.KeepAnchor) cursor.setCharFormat(fmt) - cursor.endEditBlock() + cursor.endEditBlock() # Undo block 종료 self.blockSignals(False) # 텍스트 변경 후 신호 활성화 def start_complete_mode(self, tag_list): @@ -127,7 +126,7 @@ def keyPressEvent(self, event): if ctrlOrShift and event.text() == '': return - if event.text(): + if event.text() in complete_target_stringset: # eow = "~!@#$%^&*()_+{}|:\"<>?,./;'[]\\-=" eow = "{},<>|@" hasModifier = (event.modifiers() !=