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
|
||||
- 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]
|
||||
|
||||
|
|
|
@ -800,22 +800,21 @@ public class EditorEventManager {
|
|||
return getCompletionPrefix(this.editor, offset).length();
|
||||
}
|
||||
|
||||
private static final List<String> WHITESPACE_DELIMITERS = Arrays.asList(" \t\n\r".split(""));
|
||||
|
||||
@NotNull
|
||||
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();
|
||||
String documentText = editor.getDocument().getText();
|
||||
for (int i = 0; i < offset; i++) {
|
||||
char singleLetter = documentText.charAt(offset - i - 1);
|
||||
if (delimiters.contains(String.valueOf(singleLetter))) {
|
||||
return s.reverse().toString();
|
||||
val letterString = String.valueOf(singleLetter);
|
||||
if (WHITESPACE_DELIMITERS.contains(letterString) || completionTriggers.contains(letterString)) {
|
||||
break;
|
||||
}
|
||||
s.append(singleLetter);
|
||||
}
|
||||
return "";
|
||||
return s.reverse().toString();
|
||||
}
|
||||
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
|
|
Loading…
Add table
Reference in a new issue