Action

MD-Numbered List

Last update over 5 years ago - Unlisted

Steps

  • script

    // Markdown list to current line, or output the list prefix
    // if the current line is blank and no text is selected
    
    var mdListPrefixChar = "1.";
    var mdListPrefix = mdListPrefixChar + " ";
    
    var lnRange = editor.getSelectedLineRange();
    var ln = editor.getTextInRange(lnRange[0], lnRange[1]);
    var selRange = editor.getSelectedRange();
    
    if (ln == "") {
      editor.setSelectedText(mdListPrefix);
      editor.setSelectedRange(selRange[0] + mdListPrefix.length, 0);
    } else {
      var lines = ln.split('\n');
      var charsAdded = 0;
    
      for (var ix=0; ix < lines.length; ix++) {
        if (lines[ix].length > 0) {
          if (lines[ix][0] != mdListPrefixChar) {
            var prefix = mdListPrefixChar;
            if (lines[ix][0] != " ") {
              prefix = mdListPrefix;
            }
            lines[ix] = prefix + lines[ix];
            charsAdded = charsAdded + prefix.length;
          }
        }
      }
      editor.setTextInRange(lnRange[0], lnRange[1],lines.join("\n"));
      if (lines.length > 2) {
        editor.setSelectedRange(lnRange[0]+lnRange[1]+charsAdded, 0);
      }
      else {
        editor.setSelectedRange(selRange[0]+charsAdded, selRange[1]);
      }
    }
    
    
    

Options

  • After Success Nothing
    Notification Error
    Log Level Error
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.