
import { localize } from '../../../../../nls.js';
import { TerminalSettingId } from '../../../../../platform/terminal/common/terminal.js';

var TerminalStickyScrollSettingId;
(function(TerminalStickyScrollSettingId) {
    TerminalStickyScrollSettingId["Enabled"] = "terminal.integrated.stickyScroll.enabled";
    TerminalStickyScrollSettingId["MaxLineCount"] = "terminal.integrated.stickyScroll.maxLineCount";
    TerminalStickyScrollSettingId["IgnoredCommands"] = "terminal.integrated.stickyScroll.ignoredCommands";
})(TerminalStickyScrollSettingId || (TerminalStickyScrollSettingId = {}));
const terminalStickyScrollConfiguration = {
    [TerminalStickyScrollSettingId.Enabled]: {
        markdownDescription: ( localize(
            14119,
            "Shows the current command at the top of the terminal. This feature requires [shell integration]({0}) to be activated. See {1}.",
            "https://code.visualstudio.com/docs/terminal/shell-integration",
            `\`#${TerminalSettingId.ShellIntegrationEnabled}#\``
        )),
        type: "boolean",
        default: true
    },
    [TerminalStickyScrollSettingId.MaxLineCount]: {
        markdownDescription: ( localize(
            14120,
            "Defines the maximum number of sticky lines to show. Sticky scroll lines will never exceed 40% of the viewport regardless of this setting."
        )),
        type: "number",
        default: 5,
        minimum: 1,
        maximum: 10
    },
    [TerminalStickyScrollSettingId.IgnoredCommands]: {
        markdownDescription: ( localize(
            14121,
            "A list of commands that should not trigger sticky scroll. When a command from this list is detected, the sticky scroll overlay will be hidden."
        )),
        type: "array",
        items: {
            type: "string"
        },
        default: ["clear", "cls", "clear-host", "copilot", "claude", "codex", "gemini"]
    }
};

export { TerminalStickyScrollSettingId, terminalStickyScrollConfiguration };
