Skip to content

Commit

Permalink
harden TextPlugin functions (save, delete), cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
hg42 committed Aug 25, 2024
1 parent c5d5a5b commit eb921e4
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import java.io.File
class InternalRegexPlugin(file: File) : TextPlugin(file) {

init {
tracePlugin { ("${this.javaClass.simpleName} $name <- ${file.name}") } //TODO hg42
tracePlugin { "${this.javaClass.simpleName} $name <- ${file.name}" } //TODO hg42
}

fun getExtendedLineRegex(replacements: Map<String, String> = mapOf()) = Regex(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import java.io.File
class InternalShellScriptPlugin(file: File) : TextPlugin(file) {

init {
tracePlugin { ("${this::class.simpleName} $name <- ${file.name}") } //TODO hg42
tracePlugin { "${this::class.simpleName} $name <- ${file.name}" } //TODO hg42
}

companion object : PluginCompanion {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/machiav3lli/backup/plugins/Plugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ abstract class Plugin(val name: String, var file: File) {
pluginCompanion: PluginCompanion,
extensions: List<String>,
): Boolean {
tracePlugin { ("register ${pluginCompanion.name()} type: $type, extensions: $extensions") }
tracePlugin { "register ${pluginCompanion.name()} type: $type, extensions: $extensions" }
pluginTypes[type] = pluginCompanion
pluginExtension[type] = extensions.first()
extensions.forEach {
Expand Down
31 changes: 23 additions & 8 deletions src/main/java/com/machiav3lli/backup/plugins/TextPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,14 @@ fun TextEditor(
placeholder: String = "",
onChanged: (String) -> Unit = {},
) {
var input by remember { mutableStateOf(TextFieldValue(text = text, selection = TextRange(text.length))) }
var input by remember {
mutableStateOf(
TextFieldValue(
text = text,
selection = TextRange(text.length)
)
)
}
val textFieldFocusRequester = remember { FocusRequester() }

LaunchedEffect(Unit) {
Expand Down Expand Up @@ -60,22 +67,30 @@ open class TextPlugin(file: File) : Plugin(name = file.nameWithoutExtension, fil
init {
try {
text = file.readText()
tracePlugin { ("${this.javaClass.simpleName} $name loaded <- ${file.name}") }
tracePlugin { "${this.javaClass.simpleName} $name loaded <- ${file.name}" }
} catch (e: Throwable) {
text = ""
tracePlugin { ("${this.javaClass.simpleName} $name created -> ${file.name}") }
tracePlugin { "${this.javaClass.simpleName} $name created -> ${file.name}" }
}
}

override fun save() {
file.parentFile?.mkdirs()
file.writeText(text)
tracePlugin { ("${this.javaClass.simpleName} $name saved -> ${file.name}") }
try {
file.parentFile?.mkdirs()
file.writeText(text)
tracePlugin { "${this.javaClass.simpleName} $name saved -> ${file.name}" }
} catch (e: Throwable) {
tracePlugin { "${this.javaClass.simpleName} $name failed to save -> ${file.name}" }
}
}

override fun delete() {
file.delete()
tracePlugin { ("${this.javaClass.simpleName} $name deleted -> ${file.name}") }
try {
file.delete()
tracePlugin { "${this.javaClass.simpleName} $name deleted -> ${file.name}" }
} catch (e: Throwable) {
tracePlugin { "${this.javaClass.simpleName} $name failed to delete -> ${file.name}" }
}
}

@Composable
Expand Down

0 comments on commit eb921e4

Please sign in to comment.