You can make your snippets and AI commands dynamic with placeholders. The supported placeholders are:
Name | Placeholder | Description |
---|---|---|
Clipboard Text | {clipboard} |
Inserts your last copied text. The placeholder will be removed from the snippet when you use it if you have not copied any text recently. |
Snippets | {snippet name="…"} |
Inserts the content of the referenced snippet. |
Only snippets which aren’t referencing other snippets can be inserted. | ||
Cursor Position$^1$ | {cursor} |
Moves cursor to the position when pasted directly into an app or injected. Please note that a snippet can contain only one placeholder of this type. |
Date$^1$$^3$ | {date} |
Inserts only the current date like 1 Jun 2022. |
Time$^1$$^3$ | {time} |
Inserts only the current time like 3:05 pm. |
Date & Time$^1$$^3$ | {datetime} |
Inserts both date and time like 1 Jun 2022 at 6:45 pm. |
Weekday$^1$$^3$ | {day} |
Inserts the day of the week like Monday. |
UUID$^1$$^3$ | {uuid} |
Inserts a universally unique value, such as “E621E1F8-C36C-495A-93FC-0C247A3E6E5F”. |
Selected Text$^2$$^3$ | {selection} |
Inserts the selected text from the frontmost application. In the context of the AI Chat , the previous message will be inserted instead. |
Argument | {argument} |
Add an input in the search bar. The placeholder will be replaced by the argument’s value. |
You can add a maximum of 3 different arguments. | ||
Focused Browser Tab$^2$$^4$ | {browser-tab} |
Inserts the content of the focused browser tab. |
$^1$ Only available in Snippets $^2$ Only available in AI Commands $^3$ Only available in Quicklinks $^4$ Only available when the Browser Extension is installed
Using modifiers, you can change the value of a dynamic placeholder using the {clipboard | uppercase}
syntax. It works on all placeholders.
There are four different modifiers:
uppercase
→ transforms Foo
into FOO
.lowercase
→ transforms Foo
into foo
.trim
→ transforms Foo Bar
into Foo Bar
. It removes the white spaces at the beginning and the end of the value.percent-encode
→ transforms Foo Bar
into Foo%20Bar
. It replaces special characters with their percent-encoded equivalent.json-stringify
→ transforms Foo "Bar"
into "Foo \\"Bar\\""
. It makes sure that the value can be used as a JSON string.You can specify multiple modifiers in a row: {clipboard | trim | uppercase}
.
Depending on where the dynamic placeholder is used (eg. Snippet, AI Commands, or Quicklinks), Raycast might apply some default formatting to its value*:*
"""
to make sure the AI understand third delimitationIf you do not want this default formatting to apply to a placeholder, you can use the special raw
modifier (eg. {clipboard | raw}
).
By default, if you use a date/time placeholder, its value will be set to the current date/time when you insert the snippet. To display a different date/time, you can do offsets using modifiers like +2d
, -3M
etc. This will change the value from the current date/time to the defined offset.