Skip to content
Snippets Groups Projects
Commit 9d322ef4 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fix enter and autocomplete bugs

parent 79e26fe2
Branches
Tags
No related merge requests found
...@@ -155,6 +155,7 @@ class ChatlineFragment : ServiceBoundFragment() { ...@@ -155,6 +155,7 @@ class ChatlineFragment : ServiceBoundFragment() {
chatline.setText("") chatline.setText("")
} }
editorHelper.setOnEnterListener(::send)
send.setOnClickListener { send() } send.setOnClickListener { send() }
tabComplete.visibleIf(autoCompleteSettings.button) tabComplete.visibleIf(autoCompleteSettings.button)
......
...@@ -48,13 +48,10 @@ class EditorHelper( ...@@ -48,13 +48,10 @@ class EditorHelper(
val previous = autoCompleteHelper.autoCompletionState val previous = autoCompleteHelper.autoCompletionState
val next = if (previous != null && s != null) { val next = if (previous != null && s != null) {
val suffix = if (previous.range.start == 0) ": " else " " val suffix = if (previous.range.start == 0) ": " else " "
val end = Math.min( val sequence = if (s.length < previous.range.start) ""
s.length, previous.range.start + previous.completion.name.length + suffix.length else s.substring(previous.range.start)
)
val sequence = if (end < previous.range.start) ""
else s.substring(previous.range.start, end)
if (sequence == previous.completion.name + suffix) { if (sequence == previous.completion.name + suffix) {
previous.originalWord to (previous.range.start until end) previous.originalWord to (previous.range.start until s.length)
} else { } else {
autoCompleteHelper.autoCompletionState = null autoCompleteHelper.autoCompletionState = null
s.lastWordIndices(editText.selectionStart, onlyBeforeCursor = true)?.let { indices -> s.lastWordIndices(editText.selectionStart, onlyBeforeCursor = true)?.let { indices ->
...@@ -167,6 +164,10 @@ class EditorHelper( ...@@ -167,6 +164,10 @@ class EditorHelper(
}.fold(0, Int::or) }.fold(0, Int::or)
} }
fun setOnEnterListener(listener: (() -> Unit)?) {
this.enterListener = listener
}
fun setMultiLine(enabled: Boolean) = editText.setMultiLine(enabled) fun setMultiLine(enabled: Boolean) = editText.setMultiLine(enabled)
fun replaceText(text: CharSequence?) = editText.replace(text) fun replaceText(text: CharSequence?) = editText.replace(text)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment