Note that ScPL has not been updated to support the new iOS 13/14+ actions. If you are looking for a text shortcuts language, consider Jellycuts.
ScPL is a programming language for writing iOS Shortcuts in text.
ScPL is a programming language for Shortcuts that allows you to write shortcuts in text instead of dragging and dropping blocks. ScPL lets you work with large shortcuts easily by letting you copy and paste actions, view long shortcuts without scrolling, and type actions instead of dragging them in. Get Started
ShowResult "Hello ScPL"
ChooseFromMenu prompt="ScPL" items=["Getting Started", "View Documentation"]
Case "Getting Started"
URL "https://docs.scpl.dev/gettingstarted"
Case "View Documentation"
URL "https://docs.scpl.dev/"
End Menu
OpenURLs
See what your shortcut looks like in ScPL by uploading it in the ScPL Editor.
ScPL lets you write shortcuts in text. Instead of dragging actions
around on a small screen in a slow app, you can write text like
ShowResult "My shortcut"
to build long and complex
shortcuts.
The ScPL Web Editor (editor.scpl.dev) is the easiest way to write ScPL.
ScPL has a plugin for Visual Studio Code with autocompletion, error messages, and hover documentation. VSCode Extension.
To compile your ScPL code you can use the scpl-cli npm package.
npm install --global scpl-cli
. Then you can run
scpl <filename.scpl> -o <outputfile.shortcut>
npm install --save scpl
or yarn add scpl
const {parse, inverse} = require("scpl");
const {shortcutjson, shortcutplist} = parse("text 'hello scpl'", {make: ["shortcutjson", "shortcutplist"]});
// shortcutjson is a json object containing the shortcut file.
// shortcutplist is a buffer containing the shortcut file bplist.
const inverted = inverse(shortcutplist);
// text "hello scpl"
ScPL uses yarn for package management. Install Yarn
git clone https://github.com/pfgithub/scpl.git
cd scpl
yarn install
The ScPL repository does not have any tools for converting ScPL code to .shortcut files. That can be found in the scpl-editor or the scpl-cli projects.
yarn test
ScPL tests using Jest and automatically generates coverage reports. You can use the coverage report lcov file in coverage/lcov.info
to set your editor to show test coverage.
yarn prepublishOnly
prepublishOnly will automatically format your code using prettier and make sure tests pass.
- xAlien95 for finding the actions plist file within the shortcuts ipa and manually making lists of all the variable types and aggrandizements.
- Shortcuts JS for the complete shortcut glyph and color list.