Last active
February 21, 2024 02:44
-
-
Save Londeren/9ca190bf4197206063096531d76d469a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env node | |
// Raycast Script Command Template | |
// | |
// Dependency: This script requires Nodejs. | |
// Install Node: https://nodejs.org/en/download/ | |
// | |
// Duplicate this file and remove ".template" from the filename to get started. | |
// See full documentation here: https://github.com/raycast/script-commands | |
// | |
// Required parameters: | |
// @raycast.schemaVersion 1 | |
// @raycast.title Switch text case Upper/lower | |
// @raycast.mode silent | |
// @raycast.packageName Change Case | |
// | |
// Optional parameters: | |
// @raycast.icon 🔡 | |
// Documentation: | |
// @raycast.description Change clipboard text to lowercase | |
// @raycast.author Sergey Lebedev @londeren | |
// @raycast.authorURL t.me/londeren | |
const { exec, execSync } = require('child_process'); | |
const selectedText = execSync(`osascript -e 'tell application "System Events" to keystroke "c" using {command down}' -e 'delay 0.1' -e 'set theselectedText to the clipboard'`).toString(); | |
if (selectedText) { | |
let changedText; | |
if (selectedText === selectedText.toLowerCase()) { | |
changedText = selectedText.toUpperCase().trim(); | |
} else { | |
changedText = selectedText.toLowerCase().trim(); | |
} | |
execSync(`osascript -e 'set the clipboard to "${changedText}"' -e 'tell application "System Events" to keystroke "v" using {command down}'`); | |
} | |
// console.log() displays output in fullOutput mode. | |
// console.log(`The arguments are: \n ${process.argv.join('\n ')}\n`) | |
// console.log(`osascript -e 'set the clipboard to "${changedText}"' -e 'tell application "System Events" to keystroke "v" using {command down}' -e 'delay 0.1'`) | |
// console.log(`Your query is "${query}"`) | |
// console.log(`Your query uri encoded is "${encodeURIComponent(query)}"`) | |
// console.log(`The uri is "${uri}"`) | |
// Uncomment the exec line below to open this query in your web browser. | |
// Use double quotes around the uri to avoid processing issues. | |
// exec(`open "${uri}"`) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment