Action

Modify Selection

Posted by agiletortoise, Last update 1 day ago

Prompt for text transformations description, and apply that transformation to the selected text in the editor, replacing the selection with the result.

The change will be undoable after the update is applied.

This action is meant as an example action to demonstrate the use of SystemLanguageModel scripting. (docs)

(requires iOS/macOS 26 + Apple Intelligence)

Steps

  • script

    let [st, len] = editor.getSelectedRange()
    let text = editor.getSelectedText()
    
    let p = new Prompt()
    p.title = "Modify Selection"
    p.message = "Rewrite the text selected in the editor, requesting the transformations below."
    p.addTextView("prompt", "Transformations")
    p.addButton("Modify")
    
    if (p.show()) {
    	let mods = p.fieldValues["prompt"]
    	let prompt = `Rewrite the text below using the transformations "${mods}", and returning only the rewritten text:
    	
    	${text}}`
    
    	// CREATE MODEL OBJECT
    	let m = new SystemLanguageModel()
    	let response = m.respond(prompt)
    	
    	// IF TAGS RETURNED, PROMPT TO SELECT AND ASSIGN
    	if (response) {
    		editor.setSelectedText(response)
    		editor.setSelectedRange(st, response.length)
    	}
    	else {
    		alert(m.lastError)
    		context.fail()
    	}
    }
    
    
    
    

Options

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