[education/rkward] rkward/windows: Allow certain models to generate completions for empty fragment (e.g. argument hints)

Thomas Friedrichsmeier null at kde.org
Sat Sep 20 12:11:13 BST 2025


Git commit 89520efc31b25e524bcbd6f4da2b1e0c5598eb80 by Thomas Friedrichsmeier.
Committed on 20/09/2025 at 11:10.
Pushed by tfry into branch 'master'.

Allow certain models to generate completions for empty fragment (e.g. argument hints)

M  +2    -2    rkward/windows/rkcodecompletion.cpp

https://invent.kde.org/education/rkward/-/commit/89520efc31b25e524bcbd6f4da2b1e0c5598eb80

diff --git a/rkward/windows/rkcodecompletion.cpp b/rkward/windows/rkcodecompletion.cpp
index c14cf9490..07462402c 100644
--- a/rkward/windows/rkcodecompletion.cpp
+++ b/rkward/windows/rkcodecompletion.cpp
@@ -134,7 +134,7 @@ void RKCompletionManager::tryCompletion() {
 	int start;
 	int end;
 	RKCommonFunctions::getCurrentSymbolOffset(current_line, cursor_pos - 1, false, &start, &end);
-	symbol_range = KTextEditor::Range(para, start, para, end);
+	symbol_range = (end == 0) ? KTextEditor::Range() : KTextEditor::Range(para, start, para, end);
 	bool is_help = (start >= 1) && (current_line.at(start - 1) == u'?');
 	// When inside a quote hint only up to cursor position, as we're frequently misdetecting symbol end (missing closing quotation mark)
 	if (style_at_cursor == KSyntaxHighlighting::Theme::TextStyle::String) {
@@ -282,7 +282,7 @@ void RKCompletionManager::updateCallHint() {
 }
 
 void RKCompletionManager::startModel(KTextEditor::CodeCompletionModel *model, bool start, const KTextEditor::Range &range) {
-	if (start && range.isValid() && !range.isEmpty()) {
+	if (start && range.isValid()) {
 		if (!started_models.contains(model)) {
 			// TODO: should merge these calls for several models at once
 			_view->startCompletion(range, {model}, user_triggered ? KTextEditor::CodeCompletionModel::ManualInvocation : KTextEditor::CodeCompletionModel::AutomaticInvocation);


More information about the rkward-tracker mailing list