SF.net SVN: geany-plugins:[1333] trunk/geanygendoc
colombanw at users.sourceforge.net
colombanw at xxxxx
Tue May 4 20:48:20 UTC 2010
Revision: 1333
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1333&view=rev
Author: colombanw
Date: 2010-05-04 20:48:19 +0000 (Tue, 04 May 2010)
Log Message:
-----------
GeanyGenDoc: Add and install documentation
Add a manual and install it (and other missing documentation files).
Modified Paths:
--------------
trunk/geanygendoc/Makefile.am
trunk/geanygendoc/README.in
trunk/geanygendoc/configure.ac
Added Paths:
-----------
trunk/geanygendoc/docs/
trunk/geanygendoc/docs/Makefile.am
trunk/geanygendoc/docs/help/
trunk/geanygendoc/docs/help/Makefile.am
trunk/geanygendoc/docs/help/html4css1.css
trunk/geanygendoc/docs/help/manual.css
trunk/geanygendoc/docs/help/manual.rst
Modified: trunk/geanygendoc/Makefile.am
===================================================================
--- trunk/geanygendoc/Makefile.am 2010-05-03 22:53:23 UTC (rev 1332)
+++ trunk/geanygendoc/Makefile.am 2010-05-04 20:48:19 UTC (rev 1333)
@@ -1,5 +1,5 @@
-SUBDIRS = src data po
+SUBDIRS = src data po docs
ACLOCAL_AMFLAGS = -I build/m4
@@ -7,6 +7,10 @@
README \
po/LINGUAS
+doc_DATA = AUTHORS \
+ COPYING \
+ README
+
sign:
if test -f $(PACKAGE)-$(VERSION).tar.gz; then \
gpg --detach-sign --digest-algo SHA512 $(PACKAGE)-$(VERSION).tar.gz; fi
Modified: trunk/geanygendoc/README.in
===================================================================
--- trunk/geanygendoc/README.in 2010-05-03 22:53:23 UTC (rev 1332)
+++ trunk/geanygendoc/README.in 2010-05-04 20:48:19 UTC (rev 1333)
@@ -17,7 +17,11 @@
- A working make implementation (GNU make is recommended,
http://www.gnu.org/software/make/)
+You may also want the following packages that enables extra features:
+ - Docutils (http://docutils.sourceforge.net/) -- or another implementation of
+ rst2html -- is needed to (re)generate the HTML manual.
+
Installation
============
Modified: trunk/geanygendoc/configure.ac
===================================================================
--- trunk/geanygendoc/configure.ac 2010-05-03 22:53:23 UTC (rev 1332)
+++ trunk/geanygendoc/configure.ac 2010-05-04 20:48:19 UTC (rev 1333)
@@ -18,6 +18,10 @@
LT_INIT([disable-static])
AC_PROG_INSTALL
+AC_PATH_PROG([RST2HTML], [rst2html], [no])
+AC_SUBST([RST2HTML])
+AM_CONDITIONAL([BUILD_RST], [test "x$RST2HTML" != "xno"])
+
# checking for Geany
PKG_CHECK_MODULES(GEANY, [geany >= 0.18.1])
PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.12])
@@ -57,6 +61,8 @@
# same for the data, since we use geany->app->datadir
plugindatadir="`$PKG_CONFIG --variable=datadir geany`/geany/plugins/${PACKAGE_TARNAME}"
AC_SUBST([plugindatadir])
+# docdir
+docdir="`$PKG_CONFIG --variable=prefix geany`/share/doc/geany-plugins/${PACKAGE_TARNAME}/"
AC_CONFIG_FILES([
@@ -66,6 +72,8 @@
data/Makefile
data/filetypes/Makefile
po/Makefile.in
+ docs/Makefile
+ docs/help/Makefile
])
AC_OUTPUT
Added: trunk/geanygendoc/docs/Makefile.am
===================================================================
--- trunk/geanygendoc/docs/Makefile.am (rev 0)
+++ trunk/geanygendoc/docs/Makefile.am 2010-05-04 20:48:19 UTC (rev 1333)
@@ -0,0 +1 @@
+SUBDIRS = help
Added: trunk/geanygendoc/docs/help/Makefile.am
===================================================================
--- trunk/geanygendoc/docs/help/Makefile.am (rev 0)
+++ trunk/geanygendoc/docs/help/Makefile.am 2010-05-04 20:48:19 UTC (rev 1333)
@@ -0,0 +1,14 @@
+EXTRA_DIST = manual.rst \
+ manual.css \
+ html4css1.css
+
+doc_DATA =
+
+if BUILD_RST
+doc_DATA += manual.html
+
+EXTRA_DIST += manual.html
+
+manual.html: manual.rst manual.css
+ $(AM_V_GEN) $(RST2HTML) -d --strict --stylesheet-path manual.css $< $@
+endif BUILD_RST
Added: trunk/geanygendoc/docs/help/html4css1.css
===================================================================
--- trunk/geanygendoc/docs/help/html4css1.css (rev 0)
+++ trunk/geanygendoc/docs/help/html4css1.css 2010-05-04 20:48:19 UTC (rev 1333)
@@ -0,0 +1,293 @@
+/*
+:Author: David Goodger (goodger at python.org)
+:Id: $Id: html4css1.css 5951 2009-05-18 18:03:10Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0 }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 ! important }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 ! important }
+
+.last, .with-subtitle {
+ margin-bottom: 0 ! important }
+
+.hidden {
+ display: none }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+ font-weight: bold }
+*/
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+ compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+ margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+ margin-top: 0.5em }
+*/
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+div.footer, div.header {
+ clear: both;
+ font-size: smaller }
+
+div.line-block {
+ display: block ;
+ margin-top: 1em ;
+ margin-bottom: 1em }
+
+div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-left: 1.5em }
+
+div.sidebar {
+ margin: 0 0 0.5em 1em ;
+ border: medium outset ;
+ padding: 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+ margin-top: 0.4em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr.docutils {
+ width: 75% }
+
+img.align-left, .figure.align-left{
+ clear: left ;
+ float: left ;
+ margin-right: 1em }
+
+img.align-right, .figure.align-right {
+ clear: right ;
+ float: right ;
+ margin-left: 1em }
+
+.align-left {
+ text-align: left }
+
+.align-center {
+ clear: both ;
+ text-align: center }
+
+.align-right {
+ text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+ text-align: left }
+
+/* div.align-center * { */
+/* text-align: left } */
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font: inherit }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80% }
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.docutils {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.footnote {
+ border-left: solid 1px black;
+ margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap ;
+ padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+ font-size: 100% }
+
+ul.auto-toc {
+ list-style-type: none }
Added: trunk/geanygendoc/docs/help/manual.css
===================================================================
--- trunk/geanygendoc/docs/help/manual.css (rev 0)
+++ trunk/geanygendoc/docs/help/manual.css 2010-05-04 20:48:19 UTC (rev 1333)
@@ -0,0 +1,68 @@
+/*
+:Author: Colomban Wendling
+:Contact: ban at herbesfolles.org
+:Copyright: This stylesheet has been placed in the public domain.
+
+Stylesheet for use with Docutils.
+*/
+
+ at import url(html4css1.css);
+
+html {
+ background-color: #eeeeec;
+ color: #2e3436;
+ font-family: bitstream vera sans, sans-serif;
+ margin: 0 1em;
+}
+
+
+h1, h2, h3, h4, h5, h6, p.topic-title {
+ font-family: georgia, times new roman, times, serif;
+}
+
+h2.subtitle {
+ font-style: italic;
+ font-weight: normal;
+}
+
+p, dd {
+ text-align: justify;
+}
+
+.literal-block,
+.literal {
+ background: #fff;
+}
+.literal-block {
+ border: 1px solid #babdb6;
+ padding: 1px 2px;
+}
+h1 .literal, h2 .literal, h3 .literal, h4 .literal, h5 .literal, h6 .literal
+p.topic-title .literal {
+ background: inherit;
+ text-align: left;
+}
+
+
+.footnote-reference {
+ vertical-align: super;
+ font-size: 75%;
+}
+
+
+a { text-decoration: none; }
+a:hover { text-decoration: underline }
+a:link { color: #204a87; }
+a:visited { color: #5c3566; }
+
+h1 a, h1 a:hover, h1 a:link, h1 a:visited,
+h2 a, h2 a:hover, h2 a:link, h2 a:visited,
+h3 a, h3 a:hover, h3 a:link, h3 a:visited,
+h4 a, h4 a:hover, h4 a:link, h4 a:visited,
+h5 a, h5 a:hover, h5 a:link, h5 a:visited,
+h6 a, h6 a:hover, h6 a:link, h6 a:visited,
+p.topic-title a, p.topic-title a:hover, p.topic-title a:link, p.topic-title a:visited
+{
+ text-decoration: none;
+ color: inherit;
+}
Added: trunk/geanygendoc/docs/help/manual.rst
===================================================================
--- trunk/geanygendoc/docs/help/manual.rst (rev 0)
+++ trunk/geanygendoc/docs/help/manual.rst 2010-05-04 20:48:19 UTC (rev 1333)
@@ -0,0 +1,452 @@
+=======================
+GeanyGenDoc User Manual
+=======================
+-------------------------------------------------
+A handy hand guide for the lazy documenter in you
+-------------------------------------------------
+
+
+Introduction
+============
+
+First of all, welcome to this manual. Then, what is GeanyGenDoc? It is a
+plug-in for Geany as you might have noticed; but what is it meant to do?
+Basically, it generates and inserts text chunks, particularly from document's
+symbols. Its goal is to ease writing documentation for the good.
+
+
+.. contents::
+
+
+Design
+======
+
+GeanyGenDoc has an extensible design based on three points: file type,
+documentation type and rules.
+
+`File type`_
+ The file type determines which configuration applies to which document. For
+ example, the "c" file type corresponds to C source, and so on.
+
+`Documentation type`_
+ A documentation type is an arbitrary name for a set of rules. The goal of
+ documentation types is to allow different set of rules to be defined for each
+ file type.
+ One might want to have separate rules to generate for example `Doxygen`_
+ and `Gtk-Doc`_ documentation from C sources. She should then create two
+ documentation types in the C `file type configuration file`_, such as
+ "doxygen" and "gtkdoc".
+
+`Rule`_
+ A rule is a group of settings controlling how a documentation comment is
+ generated. For example, it can define a template, describe how to handle
+ particular imbrications and so on.
+
+
+Syntax
+======
+
+Key-Value pairs
+---------------
+
+The syntax is an extended key-value tree definition based on common concepts
+(trees, string literals, semicolon-ended values, etc.).
+
+The key-value syntax is as follows::
+
+ key = value
+
+where value is either a semicolon-ended single value::
+
+ value;
+
+or a brace-surrounded list of key-value pairs that use the same syntax again::
+
+ {
+ key1 = value1
+ key2 = value2
+ }
+
+Here a little example of the *syntax* (not any actual configuration example)::
+
+ key1 = value1;
+ key2 = {
+ sub-key1 = sub-value1;
+ sub-key2 = {
+ sub-sub-key1 = sub-sub-value1;
+ }
+ }
+
+
+Naming
+------
+
+Key-value pairs are often referred as *group* when they are meant to have
+multiple values and as *setting* when they have a single value.
+
+
+Comments
+--------
+
+Is considered as comment (and therefore ignored) everything between a number
+sign (``#``) and the following end of line, unless the ``#`` occurs as part of
+another syntactic element (such as a string literal).
+
+A short example::
+
+ # This is a comment
+ key = value; # This is also a comment
+ string = "A string. # This isn't a comment but a string";
+
+
+Value types
+-----------
+
+string
+ A string literal. String literals are surrounded by either single (``'``) or
+ double (``"``) quotes.
+
+ Some special characters can be inserted in a string with an escape sequence:
+
+ ``\t``
+ A tabulation.
+ ``\n``
+ A new line.
+ ``\r``
+ A carriage return.
+ ``\\``
+ A backslash.
+ ``\'``
+ A single quote (escaping only needed in single-quotes surrounded strings).
+ ``\"``
+ A double quote (escaping only needed in double-quotes surrounded strings).
+
+ Note that backslashes are used as the escaping character, which means that it
+ must be escaped to be treated as a simple backslash character.
+
+ A simple example::
+
+ "This is a string with \"special\" characters.\nThis is another line!"
+
+boolean
+ A boolean. It can take one of the two symbolic values ``True`` and ``False``.
+
+enumeration
+ An enumeration. It consists of a named constant, generally in capital letters.
+ The possible values depend on the setting that use this type.
+
+flags
+ A logical OR of named constants. This is like enumerations but can combine
+ different values.
+
+ The syntax is common for such types and uses the pipe (``|``) as
+ combination character. Considering the ``A``, ``B`` and ``C`` constants, a
+ valid value could be ``A | C``, which represents both ``A`` and ``C`` but
+ not ``B``.
+
+list
+ A list of values (often referred as array).
+
+
+File types
+==========
+
+The file type determines which configuration applies to which document.
+*File type identifiers* are the lowercased name of the Geany's file type, for
+example "c" or "python".
+
+Configuration for a particular file type goes in a file named
+``file-type-identifier.conf`` in the ``filetypes`` sub-directory of a
+`configuration directory`_.
+
+A file type configuration can contain two type of things: file-type-wide
+settings and any number of `documentation types`_.
+
+
+The ``settings`` group
+----------------------
+
+This group contains the file-type-wide settings.
+
+``match_function_arguments`` (string)
+ A regular expression used to extract arguments from a function-style argument
+ list (functions, methods, macros, etc.). This regular expression should match
+ one argument at a time and capture only the argument's name.
+ This setting is a little odd but currently needed to extract argument list
+ from function definitions.
+
+``global_environment`` (string)
+ A description of a CTPL_ environment to add when parsing rule_'s templates.
+
+
+The ``doctypes`` group
+----------------------
+
+This group contains a list of `documentation types`_.
+
+
+Documentation types
+===================
+
+A documentation type is a named set of rules_ for a `file type`_, describing how
+to generate a particular type of documentation (i.e. Doxygen_, `Gtk-Doc`_,
+Valadoc_ or whatever).
+
+A documentation type is identified by its name and must therefore be unique
+in a file type. But of course, different file types can define the same
+documentation type. It is even recommended for a better consistency to use the
+same identifier in different file types when they generate the same type of
+documentation (even though it is completely up to you).
+
+
+Short example
+-------------
+
+::
+
+ doxygen = {
+ struct.member = {
+ template = " /**< {cursor} */";
+ position = AFTER;
+ }
+ struct.template = "/**\n * @brief: {cursor}\n * \n * \n */\n";
+ }
+
+
+Rules: the cool thing
+=====================
+
+Rules are the actual definition of how documentation is generated. A rule
+applies to a symbol type and hierarchy, allowing fine control over which and
+how symbols are documented.
+
+A rule is represented as a group of `settings`_ in a `documentation type`_.
+The name of this group is the `type hierarchy`_ to which the settings applies.
+
+
+Type hierarchy
+--------------
+
+A type hierarchy is a hierarchy of the types that a symbol must have to match
+this rule.
+
+In the symbol side, the type hierarchy is the types of the symbol's parents,
+terminated by the symbol's own type. For example, a method in a class would
+have a hierarchy like ``class -> method``; and if the class is itself in a
+namespace, the hierarchy would the look like ``namespace -> class -> method``,
+and so on.
+
+For a rule to apply, its type hierarchy must match *the end* of the symbol
+type hierarchy. For example a rule with the type hierarchy ``class`` will match
+a symbol with the type hierarchy ``namespace -> class`` but not one with
+``class -> method``.
+
+A type hierarchy uses dots (``.``) to separate types and build the hierarchy.
+For example, the type hierarchy representing ``namespace -> class`` would be
+written ``namespace.class``.
+
+
+Known types
+~~~~~~~~~~~
+
+``class``
+ A class.
+``enum``
+ An enumeration.
+``enumval``
+ An enumeration value.
+``field``
+ A field (of a class for example).
+``function``
+ A function.
+``interface``
+ An interface.
+``member``
+ A member (of a structure for example).
+``method``
+ A method.
+``namespace``
+ A namespace.
+``package``
+ A package.
+``prototype``
+ A prototype.
+``struct``
+ A structure.
+``typedef``
+ A type alias definition (*typedef* in C).
+``union``
+ An union.
+``variable``
+ A variable.
+``extern``
+ `???`
+``define``
+ A definition (like the *define* C preprocessor macro).
+``macro``
+ A macro.
+``file``
+ A file (will never match).
+
+
+Rule settings
+-------------
+
+``template`` (string)
+ A CTPL_ template that can include references to the following predefined
+ variables in addition to the file-type-wide and the global environment:
+
+ ``argument_list`` (string list)
+ A list of the arguments of the currently documented symbol.
+
+ ``returns`` (boolean)
+ Indicates whether the currently documented symbol returns a value
+ (makes sense only for symbols that may return a value).
+
+ ``children`` (string list)
+ A list of the current symbol's first-level children. This is only set if
+ the rule's setting ``children`` is set to ``MERGE``.
+
+ **[...]**
+
+ ``cursor`` (special, described below)
+ This can be used to mark in the template the position where the editor's
+ cursor should be moved to after comment insertion.
+ This mark will be removed from the generated documentation.
+ Note that even if this mark may occur as many times as you want in a
+ template, only the first will be actually honored, the latter being
+ only removed.
+
+``position`` (enumeration)
+ The position where the documentation should be inserted. Possible values are:
+
+ ``BEFORE`` [default]_
+ Inserts the documentation just before the symbol.
+
+ ``AFTER``
+ Inserts the documentation just after the symbol (currently quite limited, it
+ inserts the documentation at the end of the symbol's first line).
+
+ ``CURSOR``
+ Inserts the documentation at the current cursor position.
+
+``policy`` (enumeration)
+ How the symbol is documented. Possible values are:
+
+ ``KEEP`` [default]_
+ The symbol documents itself.
+
+ ``FORWARD``
+ Forward the documentation request to the parent. This is useful for symbols
+ that are documented by their parent, such as `Gtk-Doc`_'s enumerations.
+
+``children`` (enumeration)
+ How the symbol's children can be used in the template. Possible values are:
+
+ ``SPLIT`` [default]_
+ The symbol's children are provided as per-type lists.
+
+ ``MERGE``
+ The symbol's children are provided as a single list named ``children``.
+
+``matches`` (flags)
+ List of the children types that should be provided. Only useful if the
+ ``children`` setting is set to ``MERGE``.
+ Defaults to all.
+ **FIXME: check the exactitude of this description**
+
+``auto_doc_children`` (boolean)
+ Whether to also document symbol's children (according to their own rules).
+
+
+Miscellaneous
+=============
+
+Configuration directories
+-------------------------
+
+Configuration directories hold GeanyGenDoc's configuration. They are the
+following:
+
+*
+ The user-specific configuration directory, containing the user-defined
+ settings is ``$GEANY_USER_CONFIG/plugins/geanygendoc/``.
+ ``$GEANY_USER_CONFIG`` is generally ``~/.config/geany/`` on UNIX systems.
+*
+ The system-wide configuration directory containing the default and
+ pre-installed configuration is ``$GEANY_SYS_CONFIG/plugins/geanygendoc/``.
+ ``$GEANY_SYS_CONFIG`` is generally ``/usr/share/geany/`` or
+ ``/usr/local/share/geany`` on UNIX systems.
+
+When searching for configuration, GeanyGenDoc will first look in the
+user's configuration directory, and if it wasn't successful, in the system
+configuration directory. If both failed, it assumes that there is no
+configuration at all.
+
+
+Appendix
+========
+
+Configuration syntax summary
+----------------------------
+
+::
+
+ string ::= ( """ .* """ | "'" .* "'" )
+ constant ::= [_A-Z][_A-Z0-9]+
+ integer ::= [0-9]+
+ boolean ::= ( "True" | "False" )
+ setting_value ::= ( string | constant | integer )
+ setting ::= "setting-name" "=" setting_value ";"
+ setting_list ::= ( "{" setting* "}" | setting )
+ setting_section ::= "settings" "=" setting_list
+
+ position ::= ( "BEFORE" | "AFTER" | "CURSOR" )
+ policy ::= ( "KEEP" | "FORWARD" )
+ children ::= ( "SPLIT" | "MERGE" )
+ type ::= ( "class" | "enum" | "enumval" | "field" |
+ "function" | "interface" | "member" | "method" |
+ "namespace" | "package" | "prototype" | "struct" |
+ "typedef" | "union" | "variable" | "extern" |
+ "define" | "macro" | "file" )
+ matches ::= type ( "|" type )*
+ doctype_subsetting ::= ( "template" "=" string |
+ "position" "=" position |
+ "policy" "=" policy |
+ "children" "=" children |
+ "matches" "=" matches |
+ "auto_doc_children" "=" boolean ) ";"
+ match ::= type ( "." type )*
+ doctype_setting ::= ( match "=" "{" doctype_subsetting* "}" |
+ match "." doctype_subsetting )
+ doctype_setting_list ::= ( "{" doctype_setting* "}" | doctype_setting )
+ doctype ::= "doctype-name" "=" doctype_setting_list
+ doctype_list ::= ( "{" doctype* "}" | doctype )
+ doctype_section ::= "doctypes" "=" doctype_list
+
+ document ::= ( setting_section? doctype_section? |
+ doctype_section? setting_section? )
+
+
+.. Content end, begin references
+
+.. External links
+..
+.. _Doxygen: http://www.doxygen.org
+.. _Gtk-Doc: http://www.gtk.org/gtk-doc/
+.. _Valadoc: http://www.valadoc.org/
+.. _CTPL: http://ctpl.tuxfamily.org/
+
+.. Internal links
+..
+.. _file type: `File types`_
+.. _file type configuration file: `File types`_
+.. _documentation type: `Documentation types`_
+.. _rule: `Rules: the cool thing`_
+.. _rules: `Rules: the cool thing`_
+.. _settings: `Rule settings`_
+.. _configuration directory: `Configuration directories`_
+
+-------------------
+
+.. [default] This is the default value of the setting
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list