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.