Cleanup
This commit is contained in:
parent
e74caf0055
commit
27031aa63d
@ -1,60 +0,0 @@
|
|||||||
import { EditorSelection, StateCommand, Transaction } from "@codemirror/state";
|
|
||||||
import { Text } from "@codemirror/state";
|
|
||||||
|
|
||||||
export function insertMarker(marker: string): StateCommand {
|
|
||||||
return ({ state, dispatch }) => {
|
|
||||||
const changes = state.changeByRange((range) => {
|
|
||||||
const isBoldBefore =
|
|
||||||
state.sliceDoc(range.from - marker.length, range.from) === marker;
|
|
||||||
const isBoldAfter =
|
|
||||||
state.sliceDoc(range.to, range.to + marker.length) === marker;
|
|
||||||
const changes = [];
|
|
||||||
|
|
||||||
changes.push(
|
|
||||||
isBoldBefore
|
|
||||||
? {
|
|
||||||
from: range.from - marker.length,
|
|
||||||
to: range.from,
|
|
||||||
insert: Text.of([""]),
|
|
||||||
}
|
|
||||||
: {
|
|
||||||
from: range.from,
|
|
||||||
insert: Text.of([marker]),
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
changes.push(
|
|
||||||
isBoldAfter
|
|
||||||
? {
|
|
||||||
from: range.to,
|
|
||||||
to: range.to + marker.length,
|
|
||||||
insert: Text.of([""]),
|
|
||||||
}
|
|
||||||
: {
|
|
||||||
from: range.to,
|
|
||||||
insert: Text.of([marker]),
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
const extendBefore = isBoldBefore ? -marker.length : marker.length;
|
|
||||||
const extendAfter = isBoldAfter ? -marker.length : marker.length;
|
|
||||||
|
|
||||||
return {
|
|
||||||
changes,
|
|
||||||
range: EditorSelection.range(
|
|
||||||
range.from + extendBefore,
|
|
||||||
range.to + extendAfter
|
|
||||||
),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
dispatch(
|
|
||||||
state.update(changes, {
|
|
||||||
scrollIntoView: true,
|
|
||||||
annotations: Transaction.userEvent.of("input"),
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -8,7 +8,7 @@ import { indentWithTab, standardKeymap } from "@codemirror/commands";
|
|||||||
import { history, historyKeymap } from "@codemirror/commands";
|
import { history, historyKeymap } from "@codemirror/commands";
|
||||||
import { bracketMatching, syntaxHighlighting } from "@codemirror/language";
|
import { bracketMatching, syntaxHighlighting } from "@codemirror/language";
|
||||||
import { searchKeymap } from "@codemirror/search";
|
import { searchKeymap } from "@codemirror/search";
|
||||||
import { Compartment, EditorSelection, EditorState } from "@codemirror/state";
|
import { EditorSelection, EditorState } from "@codemirror/state";
|
||||||
import {
|
import {
|
||||||
drawSelection,
|
drawSelection,
|
||||||
dropCursor,
|
dropCursor,
|
||||||
@ -24,7 +24,6 @@ import React, { useEffect, useReducer } from "react";
|
|||||||
import ReactDOM from "react-dom";
|
import ReactDOM from "react-dom";
|
||||||
import { createSandbox as createIFrameSandbox } from "@plugos/plugos/environments/webworker_sandbox";
|
import { createSandbox as createIFrameSandbox } from "@plugos/plugos/environments/webworker_sandbox";
|
||||||
import { AppEvent, ClickEvent } from "./app_event";
|
import { AppEvent, ClickEvent } from "./app_event";
|
||||||
import * as commands from "./commands";
|
|
||||||
import { CommandPalette } from "./components/command_palette";
|
import { CommandPalette } from "./components/command_palette";
|
||||||
import { PageNavigator } from "./components/page_navigator";
|
import { PageNavigator } from "./components/page_navigator";
|
||||||
import { TopBar } from "./components/top_bar";
|
import { TopBar } from "./components/top_bar";
|
||||||
@ -439,9 +438,6 @@ export class Editor {
|
|||||||
}
|
}
|
||||||
),
|
),
|
||||||
pasteLinkExtension,
|
pasteLinkExtension,
|
||||||
bracketMatching({
|
|
||||||
brackets: "()[]{}",
|
|
||||||
}),
|
|
||||||
closeBrackets(),
|
closeBrackets(),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user