/usr/share/geany-plugins/geanygendoc/filetypes/c.conf is in geany-plugin-gendoc 1.32+dfsg-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | settings = {
# [[modifier ]type ]arg[square brackets, white spaces, ...](,|EOL) with support
# of prototype as argument types (not recursive).
#
# Detailed expression:
#function_args=(?:
# matches () and (void) not to try to extract an argument for them
# ^\([ \t]*(?:void)?[ \t]*\)$
# |
# type or modifier (e.g. "char *")
# (?:[a-zA-Z0-9_]+[ \t*]+
# prototype start (e.g. "(*", start of (*arg))
# (?:\([ \t*]*)?)*
# the argument name itself (only capture)
# ([a-zA-Z0-9_.]+)
# prototype end (e.g. ")", end of (*arg))
# (?:[ \t]*\))?
# possible white-spaces
# [ \t]*
# prototype arguments: we match anything between parentheses
# (?:\([^)]*\))?
# permissive match for post-arg (e.g. array size)
# [^,]*
# , or EOL
# (?:,|$)
# )
# note that \ are escaped, so to have a \ you need to put \\
match_function_arguments = "(?:^\\([ \t]*(?:void)?[ \t]*\\)$|(?:[a-zA-Z0-9_]+[ \t*]+(?:\\([ \t*]*)?)*([a-zA-Z0-9_.]+)(?:[ \t]*\\))?[ \t]*(?:\\([^)]*\\))?[^,]*(?:,|$))";
# global env
global_environment = "doxygen_prefix = \"@\";
write_since = 0;";
}
doctypes = {
gtkdoc = {
# Forward should be before the others to match first
struct.struct.policy = FORWARD;
struct.union.policy = FORWARD;
struct.prototype.policy = FORWARD;
member.policy = FORWARD;
enumval.policy = FORWARD;
function = {
template = "/**\n * {symbol}:\n{for arg in argument_list} * @{arg}: {cursor}\n{end} * \n * {cursor}\n{if returns} * \n * Returns: \n{end}{if write_since}{if returns} * \n{end} * Since: \n{end} */\n";
position = BEFORE;
policy = KEEP;
}
macro = {
template = "/**\n * {symbol}:\n{for arg in argument_list} * @{arg}: {cursor}\n{end} * \n * {cursor}\n{if returns} * \n * Returns: \n{end} */\n";
}
struct = {
template = "/**\n * {symbol}:\n{for member in children} * @{member}: {cursor}\n{end} * \n * {cursor}\n */\n";
position = BEFORE;
policy = KEEP;
children = MERGE;
matches = member | prototype;
}
enum = {
template = "/**\n * {symbol}:\n{for enumval in enumval_list} * @{enumval}: {cursor}\n{end} * \n * {cursor}\n */\n";
}
union = {
template = "/**\n * {symbol}:\n{for member in children} * @{member}: {cursor}\n{end} * \n * {cursor}\n */\n";
children = MERGE;
}
typedef = {
template = "/**\n * {symbol}:\n * \n * {cursor}\n */\n";
}
define = {
template = "/**\n * {symbol}:\n * \n * {cursor}\n */\n";
}
}
doxygen = {
function.template = "/**\n * {doxygen_prefix}brief {cursor}\n{for a in argument_list} * {doxygen_prefix}param {a} \n{end}{if returns} * {doxygen_prefix}returns \n{end}{if write_since} * {doxygen_prefix}since \n{end} * \n * \n */\n";
macro.template = "/**\n * {doxygen_prefix}brief {cursor}\n{for a in argument_list} * {doxygen_prefix}param {a} \n{end}{if returns} * {doxygen_prefix}returns \n{end}{if write_since} * {doxygen_prefix}since \n{end} * \n * \n */\n";
struct.member = {
template = " /**< {cursor} */";
position = AFTER;
}
struct = {
template = "/**\n * {doxygen_prefix}brief {cursor}\n * \n * \n */\n";
auto_doc_children = True;
}
union.member = {
template = " /**< {cursor} */";
position = AFTER;
}
union = {
template = "/**\n * {doxygen_prefix}brief {cursor}\n * \n * \n */\n";
auto_doc_children = True;
}
enum = {
template = "/**\n * {doxygen_prefix}brief {cursor}\n * \n * \n */\n";
auto_doc_children = True;
}
enum.enumval = {
template = " /**< {cursor} */";
position = AFTER;
}
typedef.template = "/**\n * {doxygen_prefix}brief {cursor}\n * \n * \n */\n";
define.template = "/**\n * {doxygen_prefix}brief {cursor}\n * \n * \n */\n";
}
}
|