mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 10:02:59 +08:00
feat(backend_log): disable some editor features to increase performance
This commit is contained in:
parent
9133aab6ad
commit
7c1b13a2e7
@ -1,6 +1,7 @@
|
||||
import server from "../../../services/server.js";
|
||||
import AbstractCodeTypeWidget from "../abstract_code_type_widget.js";
|
||||
import type { EventData } from "../../../components/app_context.js";
|
||||
import type { EditorConfig } from "@triliumnext/codemirror";
|
||||
|
||||
const TPL = /*html*/`<div style="height: 100%; display: flex; flex-direction: column;">
|
||||
<style>
|
||||
@ -38,9 +39,10 @@ export default class BackendLogWidget extends AbstractCodeTypeWidget {
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
getExtraOpts(): Partial<CodeMirrorOpts> {
|
||||
getExtraOpts(): Partial<EditorConfig> {
|
||||
return {
|
||||
readOnly: true
|
||||
readOnly: true,
|
||||
preferPerformance: true
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,7 @@
|
||||
* Slight organization in Appearance settings: code block themes are now in "Text Notes", added a "Related settings" section in Appearance.
|
||||
* [Added support for opening and activating a note in a new tab using Ctrl+Shift+click on notes in the launcher pane, note tree, or note images](https://github.com/TriliumNext/Notes/pull/1854) by @SiriusXT
|
||||
* [Style and footnote improvements](https://github.com/TriliumNext/Notes/pull/1913) by @SiriusXT
|
||||
* Backend log: disable some editor features in order to increase performance for large logs (syntax highlighting, folding, etc.).
|
||||
|
||||
## 📖 Documentation
|
||||
|
||||
|
@ -20,6 +20,8 @@ export interface EditorConfig {
|
||||
lineWrapping?: boolean;
|
||||
vimKeybindings?: boolean;
|
||||
readOnly?: boolean;
|
||||
/** Disables some of the nice-to-have features (bracket matching, syntax highlighting, indentation markers) in order to improve performance. */
|
||||
preferPerformance?: boolean;
|
||||
tabIndex?: number;
|
||||
onContentChanged?: ContentChangedListener;
|
||||
}
|
||||
@ -51,19 +53,10 @@ export default class CodeMirror extends EditorView {
|
||||
...extensions,
|
||||
languageCompartment.of([]),
|
||||
lineWrappingCompartment.of(config.lineWrapping ? EditorView.lineWrapping : []),
|
||||
themeCompartment.of([
|
||||
syntaxHighlighting(defaultHighlightStyle, { fallback: true })
|
||||
]),
|
||||
|
||||
searchMatchHighlightTheme,
|
||||
searchHighlightCompartment.of([]),
|
||||
|
||||
highlightActiveLine(),
|
||||
highlightSelectionMatches(),
|
||||
bracketMatching(),
|
||||
lineNumbers(),
|
||||
foldGutter(),
|
||||
indentationMarkers(),
|
||||
indentUnit.of(" ".repeat(4)),
|
||||
keymap.of([
|
||||
...defaultKeymap,
|
||||
@ -72,6 +65,19 @@ export default class CodeMirror extends EditorView {
|
||||
])
|
||||
]
|
||||
|
||||
if (!config.preferPerformance) {
|
||||
extensions = [
|
||||
...extensions,
|
||||
themeCompartment.of([
|
||||
syntaxHighlighting(defaultHighlightStyle, { fallback: true })
|
||||
]),
|
||||
highlightSelectionMatches(),
|
||||
bracketMatching(),
|
||||
foldGutter(),
|
||||
indentationMarkers(),
|
||||
];
|
||||
}
|
||||
|
||||
if (!config.readOnly) {
|
||||
// Logic specific to editable notes
|
||||
if (config.placeholder) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user