diff --git a/core/src/main/kotlin/com/falsepattern/zigbrains/project/toolchain/ui/ZigToolchainEditor.kt b/core/src/main/kotlin/com/falsepattern/zigbrains/project/toolchain/ui/ZigToolchainEditor.kt index 2ccdb4fe..123cebc8 100644 --- a/core/src/main/kotlin/com/falsepattern/zigbrains/project/toolchain/ui/ZigToolchainEditor.kt +++ b/core/src/main/kotlin/com/falsepattern/zigbrains/project/toolchain/ui/ZigToolchainEditor.kt @@ -89,6 +89,8 @@ class ZigToolchainEditor(private val sharedState: ZigProjectConfigurationProvide } override fun isModified(context: Project): Boolean { + if (isEmpty) + return false val uuid = selectedUUID if (ZigToolchainService.getInstance(context).toolchainUUID != selectedUUID) { return true diff --git a/core/src/main/kotlin/com/falsepattern/zigbrains/shared/ui/UUIDMapSelector.kt b/core/src/main/kotlin/com/falsepattern/zigbrains/shared/ui/UUIDMapSelector.kt index 2b7486e6..0aac57e1 100644 --- a/core/src/main/kotlin/com/falsepattern/zigbrains/shared/ui/UUIDMapSelector.kt +++ b/core/src/main/kotlin/com/falsepattern/zigbrains/shared/ui/UUIDMapSelector.kt @@ -82,6 +82,8 @@ abstract class UUIDMapSelector(val driver: UUIDComboBoxDriver): Disposable } } + protected val isEmpty: Boolean get() = model.isEmpty + protected open fun onSelection(uuid: UUID?) {} private fun refreshButtonState(item: ListElem<*>) { diff --git a/lsp/src/main/kotlin/com/falsepattern/zigbrains/lsp/zls/ui/ZLSEditor.kt b/lsp/src/main/kotlin/com/falsepattern/zigbrains/lsp/zls/ui/ZLSEditor.kt index a69b29da..c9de94db 100644 --- a/lsp/src/main/kotlin/com/falsepattern/zigbrains/lsp/zls/ui/ZLSEditor.kt +++ b/lsp/src/main/kotlin/com/falsepattern/zigbrains/lsp/zls/ui/ZLSEditor.kt @@ -58,6 +58,8 @@ class ZLSEditor(private val sharedState: ZigProjectConfiguratio } override fun isModified(toolchain: T): Boolean { + if (isEmpty) + return false return toolchain.zlsUUID != selectedUUID }