當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript Editor.formatLine方法代碼示例

本文整理匯總了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);
     }
   }
 });
開發者ID:jacwright,項目名稱:typewriter,代碼行數:12,代碼來源:input.ts

示例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;
    }
開發者ID:jacwright,項目名稱:typewriter,代碼行數:27,代碼來源:input.ts

示例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;
   }
 }
開發者ID:jacwright,項目名稱:typewriter,代碼行數:11,代碼來源:input.ts

示例4:

 const change = editor.getChange(() => {
   editor.formatLine(index, attributes);
   editor.deleteText(index - prefix.length, index);
 });
開發者ID:jacwright,項目名稱:typewriter,代碼行數:4,代碼來源:smart-entry.ts


注:本文中的@typewriter/editor.Editor.formatLine方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。