Pārlūkot izejas kodu

Allow single quotes in comments

Fixes: #36638
(cherry picked from commit ab6456d1bce80d0ff6709996d4fb399adda33834)
Dominik 'dreamsComeTrue' Jasiński 5 gadi atpakaļ
vecāks
revīzija
e590a33d45
1 mainītis faili ar 13 papildinājumiem un 1 dzēšanām
  1. 13 1
      scene/gui/text_edit.cpp

+ 13 - 1
scene/gui/text_edit.cpp

@@ -1848,6 +1848,7 @@ void TextEdit::_consume_pair_symbol(CharType ch) {
 
 	bool in_single_quote = false;
 	bool in_double_quote = false;
+	bool found_comment = false;
 
 	int c = 0;
 	while (c < line.length()) {
@@ -1857,6 +1858,9 @@ void TextEdit::_consume_pair_symbol(CharType ch) {
 			if (cursor.column == c) {
 				break;
 			}
+		} else if (!in_single_quote && !in_double_quote && line[c] == '#') {
+			found_comment = true;
+			break;
 		} else {
 			if (line[c] == '\'' && !in_double_quote) {
 				in_single_quote = !in_single_quote;
@@ -1872,7 +1876,15 @@ void TextEdit::_consume_pair_symbol(CharType ch) {
 		}
 	}
 
-	//	Disallow inserting duplicated quotes while already in string
+	// Do not need to duplicate quotes while in comments
+	if (found_comment) {
+		insert_text_at_cursor(ch_single);
+		cursor_set_column(cursor_position_to_move);
+
+		return;
+	}
+
+	// Disallow inserting duplicated quotes while already in string
 	if ((in_single_quote || in_double_quote) && (ch == '"' || ch == '\'')) {
 		insert_text_at_cursor(ch_single);
 		cursor_set_column(cursor_position_to_move);