add user setting for sticky scroll

This commit is contained in:
Evan Simkowitz
2024-09-04 23:08:56 -07:00
parent 292a9ae1e5
commit e1a19a0b80
4 changed files with 12 additions and 2 deletions
+8 -1
View File
@@ -82,10 +82,16 @@ const minimapEnabledAtom = atom((get) => {
return settings["editor:minimapenabled"] ?? false;
});
const stickyScrollEnabledAtom = atom((get) => {
const settings = get(atoms.settingsAtom);
return settings["editor:stickyscrollenabled"] ?? false;
});
export function CodeEditor({ text, language, filename, onChange, onMount }: CodeEditorProps) {
const divRef = useRef<HTMLDivElement>(null);
const unmountRef = useRef<() => void>(null);
const minimapEnabled = useAtomValue(minimapEnabledAtom);
const stickyScrollEnabled = useAtomValue(stickyScrollEnabledAtom);
const theme = "wave-theme-dark";
React.useEffect(() => {
@@ -112,8 +118,9 @@ export function CodeEditor({ text, language, filename, onChange, onMount }: Code
const editorOpts = useMemo(() => {
const opts = defaultEditorOptions();
opts.minimap.enabled = minimapEnabled;
opts.stickyScroll.enabled = stickyScrollEnabled;
return opts;
}, [minimapEnabled]);
}, [minimapEnabled, stickyScrollEnabled]);
return (
<div className="code-editor-wrapper">
+1
View File
@@ -396,6 +396,7 @@ declare global {
"term:fontfamily"?: string;
"term:disablewebgl"?: boolean;
"editor:minimapenabled"?: boolean;
"editor:stickyscrollenabled"?: boolean;
"web:*"?: boolean;
"web:openlinksinternally"?: boolean;
"blockheader:*"?: boolean;