fix: Completion on first line
This commit is contained in:
parent
aa41c5c9aa
commit
3d768a183e
2 changed files with 7 additions and 7 deletions
|
@ -21,6 +21,7 @@ Changelog structure reference:
|
||||||
|
|
||||||
- Zig
|
- Zig
|
||||||
- Fixed indentation to be more consistent with zig fmt
|
- Fixed indentation to be more consistent with zig fmt
|
||||||
|
- Code completion now works correctly on the first line in a file too
|
||||||
|
|
||||||
## [14.3.0]
|
## [14.3.0]
|
||||||
|
|
||||||
|
|
|
@ -800,22 +800,21 @@ public class EditorEventManager {
|
||||||
return getCompletionPrefix(this.editor, offset).length();
|
return getCompletionPrefix(this.editor, offset).length();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final List<String> WHITESPACE_DELIMITERS = Arrays.asList(" \t\n\r".split(""));
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public String getCompletionPrefix(Editor editor, int offset) {
|
public String getCompletionPrefix(Editor editor, int offset) {
|
||||||
List<String> delimiters = new ArrayList<>(this.completionTriggers);
|
|
||||||
// add whitespace as delimiter, otherwise forced completion does not work
|
|
||||||
delimiters.addAll(Arrays.asList(" \t\n\r".split("")));
|
|
||||||
|
|
||||||
StringBuilder s = new StringBuilder();
|
StringBuilder s = new StringBuilder();
|
||||||
String documentText = editor.getDocument().getText();
|
String documentText = editor.getDocument().getText();
|
||||||
for (int i = 0; i < offset; i++) {
|
for (int i = 0; i < offset; i++) {
|
||||||
char singleLetter = documentText.charAt(offset - i - 1);
|
char singleLetter = documentText.charAt(offset - i - 1);
|
||||||
if (delimiters.contains(String.valueOf(singleLetter))) {
|
val letterString = String.valueOf(singleLetter);
|
||||||
return s.reverse().toString();
|
if (WHITESPACE_DELIMITERS.contains(letterString) || completionTriggers.contains(letterString)) {
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
s.append(singleLetter);
|
s.append(singleLetter);
|
||||||
}
|
}
|
||||||
return "";
|
return s.reverse().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
|
|
Loading…
Add table
Reference in a new issue