diff --git a/src/main/java/de/bixilon/minosoft/config/profile/profiles/connection/skin/SkinC.kt b/src/main/java/de/bixilon/minosoft/config/profile/profiles/connection/skin/SkinC.kt index c01f0681d..4629e4d82 100644 --- a/src/main/java/de/bixilon/minosoft/config/profile/profiles/connection/skin/SkinC.kt +++ b/src/main/java/de/bixilon/minosoft/config/profile/profiles/connection/skin/SkinC.kt @@ -1,6 +1,6 @@ /* * Minosoft - * Copyright (C) 2020-2022 Moritz Zwerger + * Copyright (C) 2020-2023 Moritz Zwerger * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * diff --git a/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt b/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt index 18a442acd..d34ef8599 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/cli/CLI.kt @@ -70,11 +70,14 @@ object CLI { this::connection.observe(this) { register() } + reader.pollLines() + } + private fun LineReader.pollLines() { while (true) { - var line = "" + val line: String try { - line = reader.readLine().trimWhitespaces() + line = readLine().trimWhitespaces() terminal.flush() } catch (exception: EndOfFileException) { Log.log(LogMessageType.GENERAL, LogLevels.VERBOSE) { exception.printStackTrace() } @@ -87,16 +90,19 @@ object CLI { exception.printStackTrace() continue } - try { - if (line.isBlank()) { - continue - } - ROOT_NODE.execute(line, connection) - } catch (error: ReaderError) { - Log.log(LogMessageType.OTHER, LogLevels.WARN) { error.message } - } catch (error: Throwable) { - error.printStackTrace() - } + if (line.isBlank()) continue + + processLine(line) + } + } + + private fun processLine(line: String) { + try { + ROOT_NODE.execute(line, connection) + } catch (error: ReaderError) { + Log.log(LogMessageType.OTHER, LogLevels.WARN) { error.message } + } catch (error: Throwable) { + error.printStackTrace() } }