Action

「」

Last update over 7 years ago - Unlisted

Script key

Steps

  • script

    // Smart doublr bracket key
    // Based on tbe smart parentheses key by AgileTortoise
    //
    // If a selection is present, wrap the text in brackets
    //
    // If no selection, scan text for last bracket and
    // close it if last one was an open bracket, or
    // insert open bracket if not.
    
    var open = "「";
    var close = "」";
    
    var range = editor.getSelectedRange();
    var priorText = editor.getTextInRange(0, range[0]);
    
    if (range[1] > 0) { 
     //text selected, wrap it!
     editor.setSelectedText(open + editor.getSelectedText() + close);
     editor.setSelectedRange(range[0] + range[1] + open.length + close.length, 0);
    }
    else {
     // no selection, find last 
     var lastOpen = priorText.lastIndexOf(open);
     var lastClose = priorText.lastIndexOf(close);
     
     if	(lastOpen == -1 || lastClose > lastOpen) { // no close, use open
       editor.setSelectedText(open);
       editor.setSelectedRange(range[0]+open.length, 0);
     }
     else { // close last open
       editor.setSelectedText(close);
       editor.setSelectedRange(range[0]+close.length, 0);
     }
    }

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.