• ${NN}
    • ${NN:default text}

    These place markers in text, marker index NN is 0 to 40.After snippet insertion, tab-key goes to markers (and deletes them).

    • Markers can be in any order in snippet (e.g. marker 4 can be between 1 and 2)
    • Tab-key goes first to marker 1, 2, 3… and marker 0 is always last by tab-key.
    • Markers with the same index will place multi-carets, when tab-key goes to them.
    • Macro ${NN:…} with def-text can take n lines (ending "}" on next lines, so selection will be multi-line).

    The following macros are allowed in snippets text:

    • ${sel} - Replaced with text selected before snippet insertion. (If snippet called with Tab key, it's empty string.)
    • ${cp} - Replaced with clipboard text.
    • ${fname} - Replaced with current file name (w/out path and extension).
    • ${date:nnnnnn} - Replaced with current date/time formatted by string nnnnnn. See .
    • ${cmt_start} - Replaced with current lexer's "block comment" start symbols (or empty string).
    • ${cmt_end} - Replaced with current lexer's "block comment" end symbols (or empty string).
    • ${cmt_line} - Replaced with current lexer's "line comment" symbols (or empty string).
    • .cuda-snippet or .synw-snippet: main format.

    Encoding is UTF-8, no BOM. Files can be placed in any subfolder of "data/snippets" folder, file/folder names have no meaning, but it's recommented to name subfolders like AuthorName.SyntaxName, so users can easily find newly installed snippets.

    First lines have format "key=value" (no spaces around "="), where "key" is one of strings:

    • "name": snippet full name, shown in dialog.
    • "id": snippet short alias for Tab-key (latin letters, digits, "_.$"), line is optional.
    • "lex": lexers list, comma-separated, for which snippet is active, line is optional, empty means snippet always active.
    • Trailing blank lines are discarded.
    • Use tab-chars in text indents, they are auto replaced to spaces if current editor configured so.

    File contains one or several lines, one snippet per line. Empty lines, lines starting with "#" or space, are ignored. Format of lines:

    • id text
    • /N=name text
    • id /N=name text
    • id /L=lexers text
    • id /L="lexers" /N="name" text

    Here "id" is short alias for Tab-key, "name" (if not set, it's the same as "id") is full name for dialog, "lexers" is comma-separated lexer list, "text" is snippet contents. Contents can have escaped special chars: "\n", "\r", "\t" (tab-char), "\" (backslash).