00001 /* Part of the culibs project, <http://www.eideticdew.org/culibs/>. 00002 * Copyright (C) 2008 Petter Urkedal <urkedal@nbi.dk> 00003 * 00004 * This program is free software: you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation, either version 3 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00018 #ifndef CUFO_TAGDEFS_H 00019 #define CUFO_TAGDEFS_H 00020 00021 #include <cufo/tag.h> 00022 00023 CU_BEGIN_DECLARATIONS 00024 /** \defgroup cufo_tagdefs_h cufo/tagdefs.h: Various Tag Definitions 00025 ** @{ \ingroup cufo_mod */ 00026 00027 /** \name Generic Inline Tags 00028 ** @{ */ 00029 00030 /** Delimits text to be emphasised. */ 00031 extern cufo_tag_t cufoT_emph; 00032 00033 /** Requests rendering in an italic font if available. */ 00034 extern cufo_tag_t cufoT_italic; 00035 00036 /** Requests rendering in a boldface font if available. */ 00037 extern cufo_tag_t cufoT_bold; 00038 00039 /** Requests underlining if available. */ 00040 extern cufo_tag_t cufoT_underline; 00041 00042 /** Delimits a superscript, commonly used for exponents, indices or labels. */ 00043 extern cufo_tag_t cufoT_superscript; 00044 00045 /** Delimits a subscript, commonly used for indices or labels. */ 00046 extern cufo_tag_t cufoT_subscript; 00047 00048 /** Intrusive highlighting of something invalid like mismatched parentheses or 00049 ** unprintable items. Not to be used for error messages, which merely 00050 ** describe something invalid. */ 00051 extern cufo_tag_t cufoT_invalid; 00052 00053 /** @} 00054 ** \name Generic Block Tags 00055 ** @{ */ 00056 00057 /** Delimits a block to be set out from the surrounding text. */ 00058 extern cufo_tag_t cufoT_indent; 00059 00060 /** Recursive sectioning. The depth may typically affect the rendering of \ref 00061 ** cufoT_title. */ 00062 extern cufo_tag_t cufoT_section; 00063 00064 /** Should occur as the first element of a section to indicate its title. */ 00065 extern cufo_tag_t cufoT_title; 00066 00067 /** Delimits a paragraph. */ 00068 extern cufo_tag_t cufoT_para; 00069 00070 /** @} 00071 ** \name Diagnostic Tags 00072 ** @{ */ 00073 00074 /** Delimits a single log entry, as output with \ref cufo_logf and friends. 00075 ** This also applies to \ref cu_errf and friends after \ref cufo_init have 00076 ** installed its handlers. */ 00077 extern cufo_tag_t cufoT_logentry; 00078 00079 /** Delimits the source location part of a \ref cufoT_logentry. */ 00080 extern cufo_tag_t cufoT_location; 00081 00082 /** Delimits the message part of a \ref cufoT_logentry. */ 00083 extern cufo_tag_t cufoT_message; 00084 00085 /** @} 00086 ** \name Programmig Language Tags 00087 ** @{ */ 00088 00089 /** Delimits block-level code quotation. */ 00090 extern cufo_tag_t cufoT_codepre; 00091 00092 /** Delimits inline code quotation. */ 00093 extern cufo_tag_t cufoT_code; 00094 00095 /** May be used to delimit a single declaration, statement, or similar logical 00096 ** unit of a program, depending on the language. */ 00097 extern cufo_tag_t cufoT_clause; 00098 00099 /** Delimits a comment. */ 00100 extern cufo_tag_t cufoT_comment; 00101 00102 /** Delimits a keyword. */ 00103 extern cufo_tag_t cufoT_keyword; 00104 00105 /** Delimits a label. */ 00106 extern cufo_tag_t cufoT_label; 00107 00108 /** Delimits an operator. */ 00109 extern cufo_tag_t cufoT_operator; 00110 00111 /** Delimits a program variable. */ 00112 extern cufo_tag_t cufoT_variable; 00113 00114 /** Delimits a program datatype. */ 00115 extern cufo_tag_t cufoT_type; 00116 00117 /** Delimits a literal, like a number or a string. */ 00118 extern cufo_tag_t cufoT_literal; 00119 00120 /** Used inside \ref cufoT_literal to delimit escape sequences, string 00121 ** delimiters, or other non-literal parts of literals. */ 00122 extern cufo_tag_t cufoT_special; 00123 00124 /** @} 00125 ** @} */ 00126 CU_END_DECLARATIONS 00127 00128 #endif