Action
Change Case...
Change case of selected text. Options for lower, UPPER and Title Case, as well as destination for output.
Steps
-
script
// Adapted from sample originally posted /* * To Title Case 2.1 – http://individed.com/code/to-title-case/ * Copyright © 2008–2013 David Gouch. Licensed under the MIT License. */ String.prototype.toTitleCase = function(){ var smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i; return this.replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g, function(match, index, title){ if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ":" && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\s-]/) < 0) { return match.toLowerCase(); } if (match.substr(1).search(/[A-Z]|\../) > -1) { return match; } return match.charAt(0).toUpperCase() + match.substr(1); }); }; // Convert selected text to title case. var s = editor.getSelectedText(); editor.setSelectedText(s.toTitleCase());
-
script
// prompt for case change type and run let f = () => { let p = Prompt.create(); p.title = "Change Case"; p.message = "Change case of text selection"; p.addSelect("op", "Operation", ["UPPER", "lower", "Title"], ["UPPER"], false); p.addSelect("output", "Output", ["Replace selection", "Clipboard", "New draft"], ["Replace selection"], false); p.addButton("Change"); if (!p.show()) { return false; } let op = p.fieldValues["op"][0]; let selection = editor.getSelectedText(); switch(op) { case "UPPER": selection = selection.toUpperCase(); break; case "lower": selection = selection.toLowerCase(); break; case "Title": selection = selection.toLowerCase().toTitleCase(); break; } const output = p.fieldValues["output"][0]; switch(output) { case "Replace selection": editor.setSelectedText(selection); break; case "Clipboard": app.setClipboard(selection); break; case "New draft": let d = Draft.create(); d.content = selection; d.update(); editor.load(d); break; } return true; } if (!f()) { context.cancel(); }
Options
-
After Success Default Notification Error Log Level Error
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.