本文整理匯總了TypeScript中@typewriter/editor.Editor.formatLine方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Editor.formatLine方法的具體用法?TypeScript Editor.formatLine怎麽用?TypeScript Editor.formatLine使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@typewriter/editor.Editor
的用法示例。
在下文中一共展示了Editor.formatLine方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
lines.forEach(line => {
const block = paper.blocks.findByAttributes(line.attributes, true);
if (block.indentable) {
const indent = (line.attributes.indent || 0) + direction;
if (indent < 0) {
editor.formatLine(line.start, {});
} else {
const attributes = { ...line.attributes, indent };
editor.formatLine(line.start, attributes);
}
}
});
示例2: onEnter
function onEnter(event: KeyboardEvent) {
if (event.defaultPrevented) return;
event.preventDefault();
let [ from, to ] = editor.getSelectedRange();
const line = editor.contents.getLine(from);
let attributes = line.attributes;
const block = paper.blocks.findByAttributes(attributes, true);
const isDefault = block === paper.blocks.getDefault();
const length = line.end - line.start - 1;
const atEnd = to === line.end - 1;
if (atEnd && !isDefault && block.defaultFollows) {
attributes = {};
} else if (typeof block.getNextLineAttributes === 'function') {
attributes = block.getNextLineAttributes(attributes);
}
const activeFormats = editor.activeFormats;
if (!length && !isDefault && !block.defaultFollows && from === to) {
editor.formatLine(from, to, {}, SOURCE_USER);
} else {
const selection = from + 1;
// Insert the newline after the current newline, not before it
if (atEnd && from === to) from = to = from + 1;
editor.insertText(from, to, '\n', attributes, SOURCE_USER, selection);
}
editor.activeFormats = activeFormats;
}
示例3: flattenBlock
function flattenBlock(line, force?: boolean) {
const block = paper.blocks.findByAttributes(line.attributes, true);
if (block.indentable && line.attributes.indent) {
onTab(new CustomEvent('shortcut', { detail: 'Shift+Tab' }));
return true;
}
if (block && (force || block !== paper.blocks.getDefault() && !block.defaultFollows)) {
editor.formatLine(from, {}, SOURCE_USER);
return true;
}
}
示例4:
const change = editor.getChange(() => {
editor.formatLine(index, attributes);
editor.deleteText(index - prefix.length, index);
});