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

Fix an issue with alias expansion

parent 9b1e2ffb
Branches
Tags
No related merge requests found
......@@ -24,6 +24,7 @@ import com.afollestad.materialdialogs.MaterialDialog
import com.sothree.slidinguppanel.SlidingUpPanelLayout
import de.kuschku.libquassel.protocol.Message
import de.kuschku.libquassel.protocol.Message_Type
import de.kuschku.libquassel.quassel.syncables.interfaces.IAliasManager
import de.kuschku.libquassel.session.ConnectionState
import de.kuschku.libquassel.util.and
import de.kuschku.libquassel.util.or
......@@ -169,9 +170,13 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
viewModel.session { session ->
viewModel.getBuffer().let { bufferId ->
session.bufferSyncer?.bufferInfo(bufferId)?.also { bufferInfo ->
session.rpcHandler?.sendInput(
bufferInfo, ircFormatSerializer.toEscapeCodes(text)
val output = mutableListOf<IAliasManager.Command>()
session.aliasManager?.processInput(
bufferInfo, ircFormatSerializer.toEscapeCodes(text), output
)
for (command in output) {
session.rpcHandler?.sendInput(command.buffer, command.message)
}
}
}
}
......
......@@ -104,6 +104,10 @@ class IrcFormatSerializer internal constructor(private val context: Context) {
}
}
fun writeReset() {
out.append(CODE_RESET)
}
var next: Int
var foreground: Int? = null
var background: Int? = null
......@@ -195,8 +199,8 @@ class IrcFormatSerializer internal constructor(private val context: Context) {
i = next
}
if (bold || italic || underline || background != -1 || foreground != -1)
out.append(CODE_RESET)
if (bold || italic || underline || background != null || foreground != null)
writeReset()
}
companion object {
......
......@@ -89,12 +89,13 @@ class AliasManager constructor(
} else {
// check for aliases
val split = msg.split(' ', ignoreCase = true, limit = 2)
val search: String = split.firstOrNull()
?: return
val search: String? = split.firstOrNull()
if (search != null) {
val found = _aliases.firstOrNull { it.name.equals(search, true) }
?: return
if (found != null)
expand(found.expansion, info, split.getOrNull(1) ?: "", previousCommands)
}
}
previousCommands.add(IAliasManager.Command(info, msg))
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment