vim/UltiSnips/c_doxygen.snippets

86 lines
1.5 KiB
Plaintext

snippet "/// p" "Doxygen parameter block"
/// @param${1/.+/[/}$1${1/.+/]/} $0
endsnippet
snippet "/// t" "Doxygen template parameter block"
/// @tparam $0
endsnippet
snippet "/// b" "Doxygen brief block"
/// @brief $0
endsnippet
snippet "/// d" "Doxygen define block"
/// @def $1
/// $0
endsnippet
snippet "/// r" "Doxygen return block"
/// @return $0
endsnippet
snippet "/// n" "Doxygen note block"
/// @note $0
endsnippet
snippet copydoc "Doxygen copydoc block"
/// @copydoc $0
endsnippet
snippet "/// s" "Doxygen see block"
/// @see $0
endsnippet
snippet "/// a" "Doxygen attention block"
/// @attention $0
endsnippet
snippet "/// g" "Doxygen addtogroup"
/// @addtogroup ${1:group}
endsnippet
snippet "/// {" "Doxygen group scope"
/// @{
$0/// @}
endsnippet
snippet header "Header noise" b
$1
/// @file
///
/// @brief $2
///
/// @copyright
/$1
#ifndef ${4/([A-Za-z_]){1}([A-Za-z0-9_]+).*/$1$2/}$3
#define $4${3:`!p import string
snip.rv = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper()`_INCLUDED}
$0
#endif // ${4/([A-Za-z_]){1}([A-Za-z0-9_]+).*/$1$2/}$3
endsnippet
snippet "/// cp" "Doxygen copydoc block"
/// @copydoc $0
endsnippet
global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
elif len(opts) == 0:
return ""
return '|'.join(opts)
endglobal
snippet "/// dot" "Doxygen dot graph block"
/// @dot${1: "${2:caption}"}
/// $3`!p snip.rv=complete(t[3], ['graph', 'digraph'])` ${4:name} {
/// $0
/// }
/// @enddot
endsnippet