snippetexpander(1)

1980-01-01

NAME

snippetexpander - Snippet Expander CLI

DESCRIPTION

Save your often used text snippets and then expand them whenever you type their abbreviation.

For example:- "ser`" expands to "Snippet Expander rules!"

SYNOPSIS

snippetexpander --start

snippetexpander --stop

snippetexpander --status

snippetexpander --autostart={on|off|status}

snippetexpander --autoexpand={on|off|status}

snippetexpander -e|--export filename

snippetexpander -i|--import filename [--force]

snippetexpander -v|--version

snippetexpander -h|--help

snippetexpander help [-c|--command] command

snippetexpander add [-a|--abbreviation] abbreviation [-b|--body] body

snippetexpander autoexpand [--on|--off]

snippetexpander autostart [--on|--off]

snippetexpander copy [-u|--skip-last-used] [-a|--abbreviation] abbreviation

snippetexpander expand [-u|--skip-last-used] [-a|--abbreviation] abbreviation

snippetexpander export [[-f|--filename filename] | [filename]] [-v|--version int]

snippetexpander import [-f|--filename] filename [-u|--update]

snippetexpander list [-a|--abbreviation] [-b|--body] [-d|--delimiter delimiter] [-i|--id] [-l|--last-used] [-r|--recent] [[-s|--search string] | [string]]

snippetexpander ping [-r|--response response] [response]

snippetexpander remove [-a|--abbreviation] abbreviation

OPTIONS

--start

Start the daemon.

--stop

Stop the daemon.

--status

Get status of the daemon, exits with status 0 if running, 1 if not.

--autoexpand={on|off|status}

Turn auto expand of snippets, "on", "off", or show "status" of setting.

--autostart={on|off|status}

Turn auto start of Snippet Expander on login, "on", "off", or show "status" of setting.

-e, --export=filename

Export snippets to file.

-i, --import=filename

Import snippets from file, skips snippets where abbreviation already exists.

--force

If used in conjunction with import flag, existing snippets with same abbreviation are updated.

-v, --version

Display version number.

-h, --help

Display help.

COMMANDS

help command

Display help for a given command.
-c, --command command Optional sub command to display help for if not given as positional argument.

add abbreviation body

Create a new snippet for a given abbreviation and body.
-a, --abbreviation abbreviation
Optional flag to specify the abbreviation for the new snippet if not using positional arguments.
-b, --body body
Optional flag to specify the body for the new snippet if not using positional arguments.

autoexpand

Control or get status for whether snippets should auto expand. Calling the autoexpand command without any flags returns whether autoexpander is "on" or "off".
--off
Turn off auto expand of snippets.
--on
Turn on auto expand of snippets.

autostart

Control or get status for whether daemon should auto start on login. Calling the autostart command without any flags returns whether autostart is "on" or "off".
--off
Turn off auto start of Snippet Expander on login.
--on
Turn on auto start of Snippet Expander on login.

copy abbreviation

Copy to the pasteboard the snippet's body with evaluated placeholders for the given abbreviation.
-a, --abbreviation abbreviation
Optional abbreviation for the snippet to be expanded and copied into the pasteboard if not given as a positional argument.
-u, --skip-last-used
Do not update last used date for the snippet.

expand abbreviation

Output the snippet's body with evaluated placeholders for the given abbreviation.
-a, --abbreviation abbreviation
Optional abbreviation for the snippet to be expanded if not given as a positional argument.
-u, --skip-last-used
Do not update last used date for the snippet.

export filename

Save snippets to a file.
-f, --filename filename
Optional filename to be created, if not using the default, or positional argument. If not used, the default of "snippets-YYYY-MM-DD.json" will be used, where YYYY is the current year, MM the current month (01-12), and DD the day of the current month.
-v, --version int
Optional legacy format version number. Currently, only 101 is supported, which is compatible with Snippet Pixie.

import filename

Import snippets from file.
-f, --filename filename
Optional filename to be imported if not given as a positional argument.
-u, --update
Update existing snippets with same abbreviation. If this flag is not used, if an imported abbreviation already exists, it will not be altered, and the version in the file will not be imported.

list search_string

Search and output a formatted list of snippets. All snippets will be output if no search string is supplied.
-a, --abbreviation
Include abbreviation field (on by default if no fields specified).
-b, --body
Include body field (on by default if no fields specified).
-d, --delimiter delimiter
Change the delimiter used to separate the displayed fields (default " ").
-i, --id
Include id field.
-l, --last-used
Include lastUsed datetime field.
-r, --recent
Order by most recently used.
-s, --search string
List snippets where abbreviation or body includes search string, if not given as positional argument.

ping response

Ping the daemon for expected response string. If no response string given, "pong" will be used by default.
-r, --response response
Optional response string to be returned, if not given as positional argument, or not using default "pong".

remove abbreviation

Delete a snippet.
-a, --abbreviation abbreviation
Optional abbreviation for the snippet to be removed if not given as positional argument.

NOTES

Abbreviations should be short, easy to remember and hard to trigger accidentally.

It helps if an abbreviation includes either a key word from the fully expanded text, or an initialization or acronym that is part of it.

For example, if you regularly wrote "Snippet Expander" 😉 you might use "se".

However, there are a lot of words that include the letter combination "se", (see https://www.wordfind.com/contains/se/), so there's a reasonably high chance that Snippet Expander would expand that abbreviation when you didn't want it to.

So instead it's common to add a "trigger character" to the end of the abbreviation. This is commonly a character that isn't found in normal sentences such as "`" or "~" that is easy to find on your keyboard. Often just appending a space is enough, or doubling up characters.

I personally use "`" (commonly known as grav or backtick) a lot as it's a single keystroke on my British layout keyboard just below my Escape key. So for me "se`" is a natural abbreviation for "Snippet Expander".

However, I could see using "se " or "se~" for the abbreviation.

If you do use a trailing space as your trigger character you might find it useful to include a trailing space in the text that is expanded, e.g. "se " expands to "Snippet Expander " as it's more natural when typing.

LIMITATIONS

  • The cursor placeholder is not supported when using the CLI rather than auto-expansion.

SEE ALSO

snippetexpanderd(1) snippetexpanderx(1) snippetexpandergui(1) snippetexpander-placeholders(5)

AUTHORS

Created and maintained by Ian Jones <ian@ianmjones.com>. Up-to-date sources can be found at https://git.sr.ht/~ianmjones/snippetexpander. Information on how to contribute and where bug reports and feature requests may be submitted can be found on the project page at https://snippetexpander.org.