diff --git a/UltiSnips/c_doxygen.snippets b/UltiSnips/c_doxygen.snippets index 34a0950..ab3d4be 100644 --- a/UltiSnips/c_doxygen.snippets +++ b/UltiSnips/c_doxygen.snippets @@ -1,20 +1,28 @@ -snippet "/// p" "Doxygen param tag" +snippet "/// p" "Doxygen parameter block" /// @param${1/.+/[/}$1${1/.+/]/} $0 endsnippet -snippet "/// b" "Doxygen brief tag" +snippet "/// t" "Doxygen template parameter block" +/// @tparam $0 +endsnippet + +snippet "/// b" "Doxygen brief block" /// @brief $0 endsnippet -snippet "/// r" "Doxygen return tag" +snippet "/// r" "Doxygen return block" /// @return $0 endsnippet -snippet "/// n" "Doxygen note tag" +snippet "/// n" "Doxygen note block" /// @note $0 endsnippet -snippet doxygen "Doxygen file block" b +snippet "/// a" "Doxygen attention block" +/// @attention $0 +endsnippet + +snippet file "Doxygen file block" b /// @file /// /// @brief $0 @@ -23,6 +31,25 @@ snippet doxygen "Doxygen file block" b /// Copyright (C) 2002-2016 Codeplay Software Limited. All Rights Reserved. endsnippet -snippet cp "Doxygen copydoc block" -@copydoc $0 +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 "/// d" "Doxygen dot graph block" +/// @dot${1: "${2:caption}"} +/// $3`!p snip.rv=complete(t[3], ['graph', 'digraph'])` ${4:name} { +/// $0 +/// } +/// @enddot endsnippet