Skip to content

Commit fd2b555

Browse files
committed
Convert debugHighlightTags to developer setting
1 parent db90a97 commit fd2b555

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/ide/settings.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { closeBrackets, deleteBracketPair } from "@codemirror/autocomplete";
22
import { indentUnit } from "@codemirror/language";
33
import { Compartment, EditorState, Extension } from "@codemirror/state";
44
import { EditorView, highlightSpecialChars, highlightTrailingWhitespace, highlightWhitespace, keymap } from "@codemirror/view";
5+
import { debugHighlightTagsTooltip } from "./views/debug";
56
import { insertTabKeymap, spacesSpacesKeymap } from "./views/tabs";
67

78
declare var bootbox;
@@ -13,6 +14,7 @@ export const highlightTrailingWhitespaceCompartment = new Compartment();
1314
export const tabSizeCompartment = new Compartment();
1415
export const closeBracketsCompartment = new Compartment();
1516
export const tabsToSpacesCompartment = new Compartment();
17+
export const debugHighlightTagsCompartment = new Compartment();
1618

1719
export interface EditorSettings {
1820
tabSize: number;
@@ -21,6 +23,7 @@ export interface EditorSettings {
2123
highlightWhitespace: boolean;
2224
highlightTrailingWhitespace: boolean;
2325
closeBrackets: boolean;
26+
debugHighlightTags: boolean;
2427
}
2528

2629
const SETTINGS_KEY = "8bitworkshop/editorSettings";
@@ -32,6 +35,7 @@ const defaultSettings: EditorSettings = {
3235
highlightWhitespace: true,
3336
highlightTrailingWhitespace: true,
3437
closeBrackets: true,
38+
debugHighlightTags: false,
3539
};
3640

3741
export function loadSettings(): EditorSettings {
@@ -55,6 +59,7 @@ const compartmentValues: [Compartment, (s: EditorSettings) => Extension][] = [
5559
[highlightWhitespaceCompartment, s => s.highlightWhitespace ? highlightWhitespace() : []],
5660
[highlightTrailingWhitespaceCompartment, s => s.highlightTrailingWhitespace ? highlightTrailingWhitespace() : []],
5761
[closeBracketsCompartment, s => s.closeBrackets ? [closeBrackets(), keymap.of([{ key: "Backspace", run: deleteBracketPair }])] : []],
62+
[debugHighlightTagsCompartment, s => s.debugHighlightTags ? debugHighlightTagsTooltip : []],
5863
];
5964

6065
export function settingsExtensions(settings: EditorSettings): Extension[] {
@@ -84,12 +89,16 @@ export function openSettings() {
8489
bootbox.dialog({
8590
title: "Settings",
8691
message: `<form id="settingsForm" onsubmit="return false">
92+
<h5>Editor preferences</h5>
8793
<div class="form-group"><label>Tab size: <input type="number" id="setting_tabSize" min="1" max="40" value="${settings.tabSize}" style="width:4em"></label></div>
8894
<div class="checkbox"><label><input type="checkbox" id="setting_tabsToSpaces" ${settings.tabsToSpaces ? 'checked' : ''}> Insert spaces when pressing TAB</label></div>
8995
<div class="checkbox"><label><input type="checkbox" id="setting_highlightSpecialChars" ${settings.highlightSpecialChars ? 'checked' : ''}> Highlight special characters</label></div>
9096
<div class="checkbox"><label><input type="checkbox" id="setting_highlightWhitespace" ${settings.highlightWhitespace ? 'checked' : ''}> Highlight whitespace</label></div>
9197
<div class="checkbox"><label><input type="checkbox" id="setting_highlightTrailingWhitespace" ${settings.highlightTrailingWhitespace ? 'checked' : ''}> Highlight unwanted trailing whitespace</label></div>
9298
<div class="checkbox"><label><input type="checkbox" id="setting_closeBrackets" ${settings.closeBrackets ? 'checked' : ''}> Automatically add and remove closing brackets</label></div>
99+
<hr>
100+
<h5>8bitworkshop IDE internal settings</h5>
101+
<div class="checkbox"><label><input type="checkbox" id="setting_debugHighlightTags" ${settings.debugHighlightTags ? 'checked' : ''}> Debug editor syntax highlighting tags</label></div>
93102
</form>`,
94103
buttons: {
95104
cancel: {
@@ -106,6 +115,7 @@ export function openSettings() {
106115
settings.highlightWhitespace = $('#setting_highlightWhitespace').is(':checked');
107116
settings.highlightTrailingWhitespace = $('#setting_highlightTrailingWhitespace').is(':checked');
108117
settings.closeBrackets = $('#setting_closeBrackets').is(':checked');
118+
settings.debugHighlightTags = $('#setting_debugHighlightTags').is(':checked');
109119
saveSettings(settings);
110120
applySettingsToAll(settings);
111121
}

src/ide/views/editors.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,10 @@ import { mbo } from "../../themes/mbo";
2323
import { loadSettings, registerEditor, settingsExtensions } from "../settings";
2424
import { clearBreakpoint, current_project, lastDebugState, platform, qs, runToPC } from "../ui";
2525
import { isMobileDevice, ProjectView } from "./baseviews";
26-
import { debugHighlightTagsTooltip } from "./debug";
2726
import { createTextTransformFilterEffect, textTransformFilterCompartment } from "./filters";
2827
import { breakpointMarkers, bytes, clock, currentPcMarker, errorMarkers, offset, statusMarkers } from "./gutter";
2928
import { currentPc, errorMessages, errorSpans, highlightLines, showValue } from "./visuals";
3029

31-
// TODO: make this an easily toggleable debug setting.
32-
// Debug syntax highlighting. Useful when developing new parsers and themes.
33-
const debugHighlightTags = false;
34-
35-
36-
/////
37-
3830
// look ahead this many bytes when finding source lines for a PC
3931
export const PC_LINE_LOOKAHEAD = 64;
4032

@@ -185,7 +177,6 @@ export class SourceEditor implements ProjectView {
185177
parser || [],
186178
theme,
187179
editorTheme,
188-
debugHighlightTags ? debugHighlightTagsTooltip : [],
189180
lineWrap ? EditorView.lineWrapping : [],
190181

191182
currentPc.field,
@@ -593,7 +584,6 @@ export class DisassemblerView implements ProjectView {
593584
drawSelection(),
594585
highlightActiveLine(),
595586
highlightSelectionMatches(),
596-
debugHighlightTags ? debugHighlightTagsTooltip : [],
597587
disassemblyTheme,
598588
cobalt,
599589
currentPc.field,

0 commit comments

Comments
 (0)