[terminal] IJPL-200186 Report non-default terminal engine state to FUS

(cherry picked from commit 38f5706c62bf7baef0ab98e836c9a44c6b480e92)

IJ-CR-171656

GitOrigin-RevId: df4a50e965a286c7e27c7bfc2596852574e8b5cd
This commit is contained in:
Konstantin Hudyakov
2025-08-05 12:18:52 +03:00
committed by intellij-monorepo-bot
parent 1b8e36bab3
commit c89562891d
2 changed files with 13 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ package org.jetbrains.plugins.terminal
import org.jetbrains.annotations.Nls
/** [org.jetbrains.plugins.terminal.fus.TerminalSettingsStateCollector.GROUP] must be updated if any new value added or renamed. */
enum class TerminalEngine(val presentableName: @Nls String) {
REWORKED(TerminalBundle.message("terminal.engine.reworked")),
CLASSIC(TerminalBundle.message("terminal.engine.classic")),

View File

@@ -15,7 +15,7 @@ import org.jetbrains.plugins.terminal.block.prompt.TerminalPromptStyle
import org.jetbrains.plugins.terminal.settings.TerminalLocalOptions
internal class TerminalSettingsStateCollector : ApplicationUsagesCollector() {
private val GROUP = EventLogGroup("terminalShell.settings", 3)
private val GROUP = EventLogGroup("terminalShell.settings", 4)
private val NON_DEFAULT_OPTIONS = GROUP.registerEvent(
"non.default.options",
@@ -24,6 +24,10 @@ internal class TerminalSettingsStateCollector : ApplicationUsagesCollector() {
)
private val NON_DEFAULT_SHELL = GROUP.registerEvent("non.default.shell", "User modified the default shell path")
private val NON_DEFAULT_TAB_NAME = GROUP.registerEvent("non.default.tab.name", "User modified the default terminal tab name")
private val NON_DEFAULT_ENGINE = GROUP.registerEvent(
"non.default.engine",
EventFields.Enum<TerminalEngine>("engine")
)
private val NON_DEFAULT_CURSOR_SHAPE = GROUP.registerEvent(
"non.default.cursor.shape",
EventFields.Enum<TerminalUiSettingsManager.CursorShape>("shape")
@@ -58,6 +62,13 @@ internal class TerminalSettingsStateCollector : ApplicationUsagesCollector() {
addIfNotDefault(metrics, NON_DEFAULT_SHELL, TerminalLocalOptions.getInstance().shellPath, null)
addIfNotDefault(metrics, NON_DEFAULT_TAB_NAME, TerminalOptionsProvider.instance.tabName, TerminalOptionsProvider.State().myTabName)
addIfNotDefault(
metrics,
NON_DEFAULT_ENGINE,
curValue = TerminalOptionsProvider.instance.terminalEngine,
defaultValue = TerminalOptionsProvider.State().terminalEngine
)
addIfNotDefault(
metrics,
NON_DEFAULT_CURSOR_SHAPE,