From 77d83a2fdc6e30311527cba8d72db60b98ca6ccf Mon Sep 17 00:00:00 2001
From: catloversg <152669316+catloversg@users.noreply.github.com>
Date: Mon, 16 Feb 2026 01:56:01 +0700
Subject: [PATCH] UI: Add option to disable minimap in script editor (#2504)
---
src/ScriptEditor/ui/Options.ts | 2 ++
src/ScriptEditor/ui/OptionsModal.tsx | 8 ++++++++
src/ScriptEditor/ui/ScriptEditorContext.tsx | 2 ++
src/Settings/Settings.ts | 4 +++-
4 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/ScriptEditor/ui/Options.ts b/src/ScriptEditor/ui/Options.ts
index f2a430776..59a2e8351 100644
--- a/src/ScriptEditor/ui/Options.ts
+++ b/src/ScriptEditor/ui/Options.ts
@@ -5,6 +5,7 @@ export type WordWrapOptions = "on" | "off" | "bounded" | "wordWrapColumn";
export type CursorStyle = editor.IEditorOptions["cursorStyle"];
export type CursorBlinking = editor.IEditorOptions["cursorBlinking"];
export type StickyScroll = editor.IEditorOptions["stickyScroll"];
+export type Minimap = editor.IEditorOptions["minimap"];
export interface Options {
theme: string;
@@ -19,4 +20,5 @@ export interface Options {
cursorBlinking: CursorBlinking;
beautifyOnSave: boolean;
stickyScroll: StickyScroll;
+ minimap: Minimap;
}
diff --git a/src/ScriptEditor/ui/OptionsModal.tsx b/src/ScriptEditor/ui/OptionsModal.tsx
index 0851fd5c5..f0eb8aecb 100644
--- a/src/ScriptEditor/ui/OptionsModal.tsx
+++ b/src/ScriptEditor/ui/OptionsModal.tsx
@@ -158,6 +158,14 @@ export function OptionsModal(props: OptionsModalProps): ReactElement {
checked={props.options.stickyScroll?.enabled}
/>
+
+
+ Enable Minimap:
+ props.onOptionChange("minimap", { enabled: e.target.checked })}
+ checked={props.options.minimap?.enabled}
+ />
+
);
}
diff --git a/src/ScriptEditor/ui/ScriptEditorContext.tsx b/src/ScriptEditor/ui/ScriptEditorContext.tsx
index aa915eb01..4b2a538f6 100644
--- a/src/ScriptEditor/ui/ScriptEditorContext.tsx
+++ b/src/ScriptEditor/ui/ScriptEditorContext.tsx
@@ -93,6 +93,7 @@ export function ScriptEditorContextProvider({ children }: { children: React.Reac
cursorBlinking: Settings.MonacoCursorBlinking,
beautifyOnSave: Settings.MonacoBeautifyOnSave,
stickyScroll: Settings.MonacoStickyScroll,
+ minimap: Settings.MonacoMinimap,
});
function saveOptions(options: Options) {
@@ -109,6 +110,7 @@ export function ScriptEditorContextProvider({ children }: { children: React.Reac
Settings.MonacoWordWrap = options.wordWrap;
Settings.MonacoBeautifyOnSave = options.beautifyOnSave;
Settings.MonacoStickyScroll = options.stickyScroll;
+ Settings.MonacoMinimap = options.minimap;
}
return (
diff --git a/src/Settings/Settings.ts b/src/Settings/Settings.ts
index 8f4673e34..8b7cd621d 100644
--- a/src/Settings/Settings.ts
+++ b/src/Settings/Settings.ts
@@ -1,7 +1,7 @@
import { OwnedAugmentationsOrderSetting, PurchaseAugmentationsOrderSetting } from "./SettingEnums";
import { defaultTheme } from "../Themes/Themes";
import { defaultStyles } from "../Themes/Styles";
-import { CursorStyle, CursorBlinking, WordWrapOptions, StickyScroll } from "../ScriptEditor/ui/Options";
+import type { CursorStyle, CursorBlinking, WordWrapOptions, StickyScroll, Minimap } from "../ScriptEditor/ui/Options";
import { defaultMonacoTheme } from "../ScriptEditor/ui/themes";
import { assertObject } from "../utils/TypeAssertion";
import type { Result } from "@nsdefs";
@@ -186,6 +186,8 @@ export const Settings = {
MonacoCursorBlinking: "blink" as CursorBlinking,
/** Toggle use of Sticky Scroll in the Script Editor */
MonacoStickyScroll: { enabled: false } as StickyScroll,
+ /** Whether to show minimap in the script editor */
+ MonacoMinimap: { enabled: true } as Minimap,
/** Whether to hide trailing zeroes on fractional part of decimal */
hideTrailingDecimalZeros: false,
/** Whether to hide thousands separators. */