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 "/// a" "Doxygen attention block" /// @attention $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