docxviewer/src/main/kotlin/com/deflatedpickle/docxviewer/DocXViewerPlugin.kt
/* Copyright (c) 2021 DeflatedPickle under the MIT license */
@file:Suppress("UNCHECKED_CAST")
package com.deflatedpickle.docxviewer
import com.deflatedpickle.haruhi.api.Registry
import com.deflatedpickle.haruhi.api.plugin.Plugin
import com.deflatedpickle.haruhi.api.plugin.PluginType
import com.deflatedpickle.haruhi.event.EventProgramFinishSetup
import com.deflatedpickle.haruhi.util.RegistryUtil
import com.deflatedpickle.quiver.filepanel.api.Viewer
import org.apache.logging.log4j.LogManager
@Suppress("unused")
@Plugin(
value = "$[name]",
author = "$[author]",
version = "$[version]",
description = """
<br>
A viewer for DocX files
""",
type = PluginType.OTHER,
dependencies = [
"deflatedpickle@file_panel#>=1.0.0"
]
)
object DocXViewerPlugin {
internal val logger = LogManager.getLogger()
private val extensionSet = setOf(
"docx"
)
init {
EventProgramFinishSetup.addListener {
val registry = RegistryUtil.get("viewer") as Registry<String, MutableList<Viewer<Any>>>?
if (registry != null) {
for (i in this.extensionSet) {
registry.getOrRegister(i, ::mutableListOf)?.let { it += DocXViewer as Viewer<Any> }
}
}
}
}
}