@21epub/epub-thirdparty
Version:
epub-thirdparty
30 lines (29 loc) • 1.26 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { StopWatch } from '../../../base/common/stopwatch.js';
import { EditorAction, registerEditorAction } from '../../browser/editorExtensions.js';
import * as nls from '../../../nls.js';
class ForceRetokenizeAction extends EditorAction {
constructor() {
super({
id: 'editor.action.forceRetokenize',
label: nls.localize('forceRetokenize', "Developer: Force Retokenize"),
alias: 'Developer: Force Retokenize',
precondition: undefined
});
}
run(accessor, editor) {
if (!editor.hasModel()) {
return;
}
const model = editor.getModel();
model.resetTokenization();
const sw = new StopWatch(true);
model.forceTokenization(model.getLineCount());
sw.stop();
console.log(`tokenization took ${sw.elapsed()}`);
}
}
registerEditorAction(ForceRetokenizeAction);