Synced with gtksourceview upstream

master
Yevgen Muntyan 2007-05-27 15:08:41 -05:00
parent abc379d1bc
commit 7bf97f16df
21 changed files with 1134 additions and 343 deletions

View File

@ -34,12 +34,12 @@
</configure>
</optimized>
</configurations>
<file_selector_dir>/home/muntyan/projects/moo/moo/mooapp/</file_selector_dir>
<file_selector_dir>/home/muntyan/projects/moo/moo/mooutils/</file_selector_dir>
<run>
<args>--new-app --mode=project</args>
<exe>medit/medit</exe>
<vars>
<var name="LANGUAGEE">zh_CN</var>
<var name="LANGUAGE">ru.KOI8-R</var>
</vars>
</run>
</medit-project>

View File

@ -19,9 +19,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* FIXME adjacent invalid segments: is it a problem? it should be taken care of,
* but need to check anyway (it's really impossible to *test*) */
#include "gtksourceview-i18n.h"
#include "gtksourcecontextengine.h"
#include "gtktextregion.h"

View File

@ -597,11 +597,11 @@ parseTag (GtkSourceLanguage *language,
}
else
{
xmlChar *tmp = xmlStrdup (BAD_CAST dgettext (
language->priv->translation_domain,
(gchar *)name));
gchar *tmp1 = _gtk_source_language_translate_string (language, (gchar*) name);
xmlChar *tmp2 = xmlStrdup (BAD_CAST tmp1);
id = name;
name = tmp;
name = tmp2;
g_free (tmp1);
}
if (name == NULL)

View File

@ -1368,10 +1368,12 @@ parse_style (ParserState *parser_state,
/* FIXME: actually use this name somehow */
if (name != NULL)
{
tmp = xmlStrdup (BAD_CAST dgettext (parser_state->language->priv->translation_domain,
(gchar*) name));
gchar *tmp2 = _gtk_source_language_translate_string (parser_state->language,
(gchar*) name);
tmp = xmlStrdup (BAD_CAST tmp2);
xmlFree (name);
name = tmp;
g_free (tmp2);
}
else
{

View File

@ -56,7 +56,10 @@ GtkSourceLanguage *_gtk_source_language_new_from_file (const gchar *filename,
GtkSourceLanguageManager *lm);
GtkSourceLanguageManager *_gtk_source_language_get_language_manager (GtkSourceLanguage *language);
const char *_gtk_source_language_manager_get_rng_file (GtkSourceLanguageManager *lm);
const gchar *_gtk_source_language_manager_get_rng_file (GtkSourceLanguageManager *lm);
gchar *_gtk_source_language_translate_string (GtkSourceLanguage *language,
const gchar *string);
void _gtk_source_language_define_language_styles (GtkSourceLanguage *language);
gboolean _gtk_source_language_file_parse_version1 (GtkSourceLanguage *language,

View File

@ -233,10 +233,7 @@ process_language_node (xmlTextReaderPtr reader, const gchar *filename)
lang->priv->lang_file_name = g_strdup (filename);
tmp = xmlTextReaderGetAttribute (reader, BAD_CAST "translation-domain");
if (tmp != NULL)
lang->priv->translation_domain = g_strdup ((gchar*) tmp);
else
lang->priv->translation_domain = g_strdup (GETTEXT_PACKAGE);
lang->priv->translation_domain = g_strdup ((gchar*) tmp);
xmlFree (tmp);
tmp = xmlTextReaderGetAttribute (reader, BAD_CAST "hidden");
@ -278,7 +275,7 @@ process_language_node (xmlTextReaderPtr reader, const gchar *filename)
}
else
{
lang->priv->name = g_strdup (dgettext (lang->priv->translation_domain, (gchar*) tmp));
lang->priv->name = _gtk_source_language_translate_string (lang, (gchar*) tmp);
untranslated_name = tmp;
}
@ -308,7 +305,7 @@ process_language_node (xmlTextReaderPtr reader, const gchar *filename)
}
else
{
lang->priv->section = g_strdup (dgettext (lang->priv->translation_domain, (gchar*) tmp));
lang->priv->section = _gtk_source_language_translate_string (lang, (gchar*) tmp);
xmlFree (tmp);
}
@ -347,6 +344,14 @@ process_language_node (xmlTextReaderPtr reader, const gchar *filename)
return lang;
}
gchar *
_gtk_source_language_translate_string (GtkSourceLanguage *language,
const gchar *string)
{
g_return_val_if_fail (string != NULL, NULL);
return GD_(language->priv->translation_domain, string);
}
/**
* gtk_source_language_get_id:
* @language: a #GtkSourceLanguage.

View File

@ -48,10 +48,13 @@ langs1 = \
boo.lang \
check.sh \
d.lang \
docbook.lang \
lua.lang \
msil.lang \
nemerle.lang \
ocaml.lang \
R.lang \
spec.lang \
vbnet.lang \
verilog.lang \
vhdl.lang

View File

@ -16,76 +16,53 @@
<metadata>
<property name="mimetypes">text/css</property>
<property name="globs">*.css;*.CSSL</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="error" _name="Error" map-to="def:error"/>
<style id="others-2" _name="Others 2"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="base-n-integer" _name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="color" _name="Color" map-to="def:base-n-integer"/>
<style id="others-3" _name="Others 3"/>
<style id="function" _name="Function" map-to="def:function"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="specials" _name="Specials" map-to="def:specials"/>
<style id="dimension" _name="Dimension" map-to="def:floating-point"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
</styles>
<definitions>
<context id="string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string-2" style-ref="string">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="block-comment" style-ref="comment">
<context id="comment" style-ref="comment">
<start>\/\*</start>
<end>\*\/</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
<context style-ref="error" extend-parent="false">
<match>\/\*</match>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>\/\/</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
<context id="close-comment-outside-comment" style-ref="error">
<match>\*\/(?!\*)</match>
</context>
<context id="unicode-character-reference" style-ref="others-2">
<match>\\([a-fA-F0-9]{1,5}[ \t]|[a-fA-F0-9]{6})</match>
</context>
<context id="punctuators" style-ref="others-3">
<match>[{}();,]</match>
</context>
<context id="attribute-value-delimiters" style-ref="others-2">
<match>(\[|\])</match>
</context>
<context id="operators" style-ref="function">
<match>[@%~|!=]</match>
</context>
<context id="selector-grammar" style-ref="others-3">
<match>[*#.&gt;+]</match>
</context>
<context id="selector-pseudo-elements" style-ref="function">
<keyword>first-line</keyword>
<keyword>first-letter</keyword>
<keyword>before</keyword>
<keyword>after</keyword>
</context>
<context id="selector-pseudo-classes" style-ref="function">
<keyword>first-child</keyword>
<keyword>link</keyword>
@ -95,6 +72,7 @@
<keyword>focus</keyword>
<keyword>lang</keyword>
</context>
<context id="at-rules" style-ref="preprocessor">
<prefix>^[ \t]*@</prefix>
<keyword>charset</keyword>
@ -103,9 +81,11 @@
<keyword>page</keyword>
<keyword>import</keyword>
</context>
<context id="hexadecimal-color" style-ref="base-n-integer">
<match>#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})</match>
<context id="hexadecimal-color" style-ref="color">
<match>#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})</match>
</context>
<context id="function" style-ref="function">
<start>[a-zA-Z][a-z0-9-]+\(</start>
<end>\)</end>
@ -114,48 +94,53 @@
<context ref="def:line-continue"/>
</include>
</context>
<context id="dimension" style-ref="floating-point">
<context id="dimension" style-ref="dimension">
<match>[\+-]?([0-9]+|[0-9]*\.[0-9]+)(%|e(m|x)|p(x|t|c)|in|ft|(m|c)m|k?Hz|deg|g?rad|m?s)</match>
</context>
<context id="number" style-ref="decimal">
<match>\b(0|[\+-]?[1-9][0-9]*)</match>
</context>
<context id="unicode-range" style-ref="others-2">
<match>[uU]\+[a-fA-F0-9]{1,6}(-[a-fA-F0-9]{1,6})?</match>
</context>
<context id="importance-modifier" style-ref="specials">
<context id="importance-modifier" style-ref="keyword">
<match>\![ \t]*important</match>
</context>
<context id="property-names" style-ref="keyword">
<keyword>azimuth</keyword>
<keyword>background</keyword>
<keyword>background-attachment</keyword>
<keyword>background-color</keyword>
<keyword>background-image</keyword>
<keyword>background-position</keyword>
<keyword>background-repeat</keyword>
<keyword>border</keyword>
<keyword>background</keyword>
<keyword>border-bottom-color</keyword>
<keyword>border-bottom-style</keyword>
<keyword>border-bottom-width</keyword>
<keyword>border-bottom</keyword>
<keyword>border-collapse</keyword>
<keyword>border-color</keyword>
<keyword>border-left-color</keyword>
<keyword>border-left-style</keyword>
<keyword>border-left-width</keyword>
<keyword>border-left</keyword>
<keyword>border-right-color</keyword>
<keyword>border-right-style</keyword>
<keyword>border-right-width</keyword>
<keyword>border-right</keyword>
<keyword>border-spacing</keyword>
<keyword>border-style</keyword>
<keyword>border-top</keyword>
<keyword>border-right</keyword>
<keyword>border-bottom</keyword>
<keyword>border-left</keyword>
<keyword>border-top-color</keyword>
<keyword>border-right-color</keyword>
<keyword>border-bottom-color</keyword>
<keyword>border-left-color</keyword>
<keyword>border-top-style</keyword>
<keyword>border-right-style</keyword>
<keyword>border-bottom-style</keyword>
<keyword>border-left-style</keyword>
<keyword>border-top-width</keyword>
<keyword>border-right-width</keyword>
<keyword>border-bottom-width</keyword>
<keyword>border-left-width</keyword>
<keyword>border-top</keyword>
<keyword>border-width</keyword>
<keyword>border</keyword>
<keyword>bottom</keyword>
<keyword>caption-side</keyword>
<keyword>clear</keyword>
@ -164,35 +149,35 @@
<keyword>content</keyword>
<keyword>counter-increment</keyword>
<keyword>counter-reset</keyword>
<keyword>cue</keyword>
<keyword>cue-after</keyword>
<keyword>cue-before</keyword>
<keyword>cue</keyword>
<keyword>cursor</keyword>
<keyword>direction</keyword>
<keyword>display</keyword>
<keyword>elevation</keyword>
<keyword>empty-cells</keyword>
<keyword>float</keyword>
<keyword>font</keyword>
<keyword>font-family</keyword>
<keyword>font-size</keyword>
<keyword>font-size-adjust</keyword>
<keyword>font-size</keyword>
<keyword>font-style</keyword>
<keyword>font-variant</keyword>
<keyword>font-weight</keyword>
<keyword>font</keyword>
<keyword>height</keyword>
<keyword>left</keyword>
<keyword>letter-spacing</keyword>
<keyword>line-height</keyword>
<keyword>list-style</keyword>
<keyword>list-style-image</keyword>
<keyword>list-style-position</keyword>
<keyword>list-style-type</keyword>
<keyword>margin</keyword>
<keyword>margin-top</keyword>
<keyword>margin-right</keyword>
<keyword>list-style</keyword>
<keyword>margin-bottom</keyword>
<keyword>margin-left</keyword>
<keyword>margin-right</keyword>
<keyword>margin-top</keyword>
<keyword>margin</keyword>
<keyword>marker-offset</keyword>
<keyword>marks</keyword>
<keyword>max-height</keyword>
@ -200,35 +185,35 @@
<keyword>min-height</keyword>
<keyword>min-width</keyword>
<keyword>orphans</keyword>
<keyword>outline</keyword>
<keyword>outline-color</keyword>
<keyword>outline-style</keyword>
<keyword>outline-width</keyword>
<keyword>outline</keyword>
<keyword>overflow</keyword>
<keyword>padding</keyword>
<keyword>padding-top</keyword>
<keyword>padding-right</keyword>
<keyword>padding-bottom</keyword>
<keyword>padding-left</keyword>
<keyword>page</keyword>
<keyword>padding-right</keyword>
<keyword>padding-top</keyword>
<keyword>padding</keyword>
<keyword>page-break-after</keyword>
<keyword>page-break-before</keyword>
<keyword>page-break-inside</keyword>
<keyword>pause</keyword>
<keyword>page</keyword>
<keyword>pause-after</keyword>
<keyword>pause-before</keyword>
<keyword>pitch</keyword>
<keyword>pause</keyword>
<keyword>pitch-range</keyword>
<keyword>pitch</keyword>
<keyword>play-during</keyword>
<keyword>position</keyword>
<keyword>quotes</keyword>
<keyword>richness</keyword>
<keyword>right</keyword>
<keyword>size</keyword>
<keyword>speak</keyword>
<keyword>speak-header</keyword>
<keyword>speak-numerical</keyword>
<keyword>speak-punctuation</keyword>
<keyword>speak</keyword>
<keyword>speech-rate</keyword>
<keyword>stress</keyword>
<keyword>table-layout</keyword>
@ -249,226 +234,239 @@
<keyword>word-spacing</keyword>
<keyword>z-index</keyword>
</context>
<context id="known-property-values" style-ref="data-type">
<keyword>above</keyword>
<keyword>absolute</keyword>
<keyword>always</keyword>
<keyword>aqua</keyword>
<keyword>armenian</keyword>
<keyword>auto</keyword>
<keyword>none</keyword>
<keyword>inherit</keyword>
<keyword>transparent</keyword>
<keyword>hidden</keyword>
<keyword>left</keyword>
<keyword>right</keyword>
<keyword>top</keyword>
<keyword>avoid</keyword>
<keyword>baseline</keyword>
<keyword>behind</keyword>
<keyword>below</keyword>
<keyword>bidi-override</keyword>
<keyword>black</keyword>
<keyword>blink</keyword>
<keyword>block</keyword>
<keyword>blue</keyword>
<keyword>bolder</keyword>
<keyword>bold</keyword>
<keyword>bottom</keyword>
<keyword>center</keyword>
<keyword>left-side</keyword>
<keyword>far-left</keyword>
<keyword>capitalize</keyword>
<keyword>center-left</keyword>
<keyword>center-right</keyword>
<keyword>far-right</keyword>
<keyword>right-side</keyword>
<keyword>behind</keyword>
<keyword>leftwards</keyword>
<keyword>rightwards</keyword>
<keyword>aqua</keyword>
<keyword>black</keyword>
<keyword>blue</keyword>
<keyword>fuchsia</keyword>
<keyword>gray</keyword>
<keyword>green</keyword>
<keyword>lime</keyword>
<keyword>maroon</keyword>
<keyword>navy</keyword>
<keyword>olive</keyword>
<keyword>purple</keyword>
<keyword>red</keyword>
<keyword>silver</keyword>
<keyword>teal</keyword>
<keyword>white</keyword>
<keyword>yellow</keyword>
<keyword>repeat</keyword>
<keyword>repeat-x</keyword>
<keyword>repeat-y</keyword>
<keyword>no-repeat</keyword>
<keyword>scroll</keyword>
<keyword>fixed</keyword>
<keyword>thin</keyword>
<keyword>medium</keyword>
<keyword>thick</keyword>
<keyword>dotted</keyword>
<keyword>dashed</keyword>
<keyword>solid</keyword>
<keyword>double</keyword>
<keyword>groove</keyword>
<keyword>ridge</keyword>
<keyword>inset</keyword>
<keyword>outset</keyword>
<keyword>collapse</keyword>
<keyword>separate</keyword>
<keyword>open-quote</keyword>
<keyword>close-quote</keyword>
<keyword>no-open-quote</keyword>
<keyword>no-close-quote</keyword>
<keyword>cue-before</keyword>
<keyword>cue-after</keyword>
<keyword>crosshair</keyword>
<keyword>default</keyword>
<keyword>pointer</keyword>
<keyword>move</keyword>
<keyword>e-resize</keyword>
<keyword>ne-resize</keyword>
<keyword>nw-resize</keyword>
<keyword>n-resize</keyword>
<keyword>se-resize</keyword>
<keyword>sw-resize</keyword>
<keyword>s-resize</keyword>
<keyword>w-resize</keyword>
<keyword>text</keyword>
<keyword>wait</keyword>
<keyword>help</keyword>
<keyword>ltr</keyword>
<keyword>rlt</keyword>
<keyword>inline</keyword>
<keyword>block</keyword>
<keyword>list-item</keyword>
<keyword>run-in</keyword>
<keyword>compact</keyword>
<keyword>marker</keyword>
<keyword>table</keyword>
<keyword>inline-table</keyword>
<keyword>table-row-group</keyword>
<keyword>table-header-group</keyword>
<keyword>table-footer-group</keyword>
<keyword>table-row</keyword>
<keyword>table-column-group</keyword>
<keyword>table-column</keyword>
<keyword>table-cell</keyword>
<keyword>table-caption</keyword>
<keyword>below</keyword>
<keyword>level</keyword>
<keyword>above</keyword>
<keyword>higher</keyword>
<keyword>lower</keyword>
<keyword>show</keyword>
<keyword>hide</keyword>
<keyword>normal</keyword>
<keyword>italic</keyword>
<keyword>oblique</keyword>
<keyword>small-caps</keyword>
<keyword>bold</keyword>
<keyword>bolder</keyword>
<keyword>lighter</keyword>
<keyword>wider</keyword>
<keyword>narrower</keyword>
<keyword>ultra-condensed</keyword>
<keyword>extra-condensed</keyword>
<keyword>condensed</keyword>
<keyword>semi-condensed</keyword>
<keyword>semi-expanded</keyword>
<keyword>expanded</keyword>
<keyword>extra-expanded</keyword>
<keyword>ultra-expanded</keyword>
<keyword>inside</keyword>
<keyword>outside</keyword>
<keyword>disc</keyword>
<keyword>center</keyword>
<keyword>circle</keyword>
<keyword>square</keyword>
<keyword>cjk-ideographic</keyword>
<keyword>close-quote</keyword>
<keyword>code</keyword>
<keyword>collapse</keyword>
<keyword>compact</keyword>
<keyword>condensed</keyword>
<keyword>continuous</keyword>
<keyword>crop</keyword>
<keyword>crosshair</keyword>
<keyword>cross</keyword>
<keyword>cue-after</keyword>
<keyword>cue-before</keyword>
<keyword>cursive</keyword>
<keyword>dashed</keyword>
<keyword>decimal</keyword>
<keyword>decimal-leading-zero</keyword>
<keyword>lower-roman</keyword>
<keyword>upper-roman</keyword>
<keyword>lower-greek</keyword>
<keyword>lower-alpha</keyword>
<keyword>lower-latin</keyword>
<keyword>upper-alpha</keyword>
<keyword>upper-latin</keyword>
<keyword>hebrew</keyword>
<keyword>armenian</keyword>
<keyword>georgian</keyword>
<keyword>cjk-ideographic</keyword>
<keyword>hiragana</keyword>
<keyword>katakana</keyword>
<keyword>hiragana-iroha</keyword>
<keyword>katakana-iroha</keyword>
<keyword>crop</keyword>
<keyword>cross</keyword>
<keyword>invert</keyword>
<keyword>visible</keyword>
<keyword>scroll</keyword>
<keyword>always</keyword>
<keyword>avoid</keyword>
<keyword>x-low</keyword>
<keyword>low</keyword>
<keyword>medium</keyword>
<keyword>high</keyword>
<keyword>x-high</keyword>
<keyword>mix</keyword>
<keyword>repeat</keyword>
<keyword>static</keyword>
<keyword>relative</keyword>
<keyword>absolute</keyword>
<keyword>fixed</keyword>
<keyword>portait</keyword>
<keyword>landscape</keyword>
<keyword>spell-out</keyword>
<keyword>once</keyword>
<keyword>default</keyword>
<keyword>digits</keyword>
<keyword>continuous</keyword>
<keyword>code</keyword>
<keyword>x-slow</keyword>
<keyword>slow</keyword>
<keyword>fast</keyword>
<keyword>x-fast</keyword>
<keyword>faster</keyword>
<keyword>slower</keyword>
<keyword>justify</keyword>
<keyword>underline</keyword>
<keyword>overline</keyword>
<keyword>line-through</keyword>
<keyword>blink</keyword>
<keyword>capitalize</keyword>
<keyword>uppercase</keyword>
<keyword>lowercase</keyword>
<keyword>disc</keyword>
<keyword>dotted</keyword>
<keyword>double</keyword>
<keyword>embed</keyword>
<keyword>bidi-override</keyword>
<keyword>baseline</keyword>
<keyword>e-resize</keyword>
<keyword>expanded</keyword>
<keyword>extra-condensed</keyword>
<keyword>extra-expanded</keyword>
<keyword>fantasy</keyword>
<keyword>far-left</keyword>
<keyword>far-right</keyword>
<keyword>faster</keyword>
<keyword>fast</keyword>
<keyword>fixed</keyword>
<keyword>fixed</keyword>
<keyword>fuchsia</keyword>
<keyword>georgian</keyword>
<keyword>gray</keyword>
<keyword>green</keyword>
<keyword>groove</keyword>
<keyword>hebrew</keyword>
<keyword>help</keyword>
<keyword>hidden</keyword>
<keyword>hide</keyword>
<keyword>higher</keyword>
<keyword>high</keyword>
<keyword>hiragana-iroha</keyword>
<keyword>hiragana</keyword>
<keyword>inherit</keyword>
<keyword>inline</keyword>
<keyword>inline-table</keyword>
<keyword>inset</keyword>
<keyword>inside</keyword>
<keyword>invert</keyword>
<keyword>italic</keyword>
<keyword>justify</keyword>
<keyword>katakana-iroha</keyword>
<keyword>katakana</keyword>
<keyword>landscape</keyword>
<keyword>large</keyword>
<keyword>larger</keyword>
<keyword>left</keyword>
<keyword>left-side</keyword>
<keyword>leftwards</keyword>
<keyword>level</keyword>
<keyword>lighter</keyword>
<keyword>lime</keyword>
<keyword>line-through</keyword>
<keyword>list-item</keyword>
<keyword>loud</keyword>
<keyword>lower-alpha</keyword>
<keyword>lowercase</keyword>
<keyword>lower-greek</keyword>
<keyword>lower-latin</keyword>
<keyword>lower-roman</keyword>
<keyword>lower</keyword>
<keyword>low</keyword>
<keyword>ltr</keyword>
<keyword>marker</keyword>
<keyword>maroon</keyword>
<keyword>medium</keyword>
<keyword>medium</keyword>
<keyword>middle</keyword>
<keyword>mix</keyword>
<keyword>monospace</keyword>
<keyword>move</keyword>
<keyword>narrower</keyword>
<keyword>navy</keyword>
<keyword>ne-resize</keyword>
<keyword>no-close-quote</keyword>
<keyword>none</keyword>
<keyword>no-open-quote</keyword>
<keyword>no-repeat</keyword>
<keyword>normal</keyword>
<keyword>nowrap</keyword>
<keyword>n-resize</keyword>
<keyword>nw-resize</keyword>
<keyword>oblique</keyword>
<keyword>olive</keyword>
<keyword>once</keyword>
<keyword>open-quote</keyword>
<keyword>outset</keyword>
<keyword>outside</keyword>
<keyword>overline</keyword>
<keyword>pointer</keyword>
<keyword>portait</keyword>
<keyword>pre</keyword>
<keyword>purple</keyword>
<keyword>red</keyword>
<keyword>relative</keyword>
<keyword>repeat-x</keyword>
<keyword>repeat-y</keyword>
<keyword>repeat</keyword>
<keyword>ridge</keyword>
<keyword>right-side</keyword>
<keyword>right</keyword>
<keyword>rightwards</keyword>
<keyword>rlt</keyword>
<keyword>run-in</keyword>
<keyword>sans-serif</keyword>
<keyword>scroll</keyword>
<keyword>scroll</keyword>
<keyword>semi-condensed</keyword>
<keyword>semi-expanded</keyword>
<keyword>separate</keyword>
<keyword>se-resize</keyword>
<keyword>serif</keyword>
<keyword>show</keyword>
<keyword>silent</keyword>
<keyword>silver</keyword>
<keyword>slower</keyword>
<keyword>slow</keyword>
<keyword>small-caps</keyword>
<keyword>smaller</keyword>
<keyword>small</keyword>
<keyword>soft</keyword>
<keyword>solid</keyword>
<keyword>spell-out</keyword>
<keyword>square</keyword>
<keyword>s-resize</keyword>
<keyword>static</keyword>
<keyword>sub</keyword>
<keyword>super</keyword>
<keyword>top</keyword>
<keyword>text-top</keyword>
<keyword>middle</keyword>
<keyword>sw-resize</keyword>
<keyword>table-caption</keyword>
<keyword>table-cell</keyword>
<keyword>table-column-group</keyword>
<keyword>table-column</keyword>
<keyword>table-footer-group</keyword>
<keyword>table-header-group</keyword>
<keyword>table-row-group</keyword>
<keyword>table-row</keyword>
<keyword>table</keyword>
<keyword>teal</keyword>
<keyword>text-bottom</keyword>
<keyword>silent</keyword>
<keyword>x-soft</keyword>
<keyword>soft</keyword>
<keyword>loud</keyword>
<keyword>x-loud</keyword>
<keyword>pre</keyword>
<keyword>nowrap</keyword>
<keyword>smaller</keyword>
<keyword>larger</keyword>
<keyword>xx-small</keyword>
<keyword>x-small</keyword>
<keyword>small</keyword>
<keyword>large</keyword>
<keyword>text</keyword>
<keyword>text-top</keyword>
<keyword>thick</keyword>
<keyword>thin</keyword>
<keyword>top</keyword>
<keyword>top</keyword>
<keyword>transparent</keyword>
<keyword>ultra-condensed</keyword>
<keyword>ultra-expanded</keyword>
<keyword>underline</keyword>
<keyword>upper-alpha</keyword>
<keyword>uppercase</keyword>
<keyword>upper-latin</keyword>
<keyword>upper-roman</keyword>
<keyword>visible</keyword>
<keyword>wait</keyword>
<keyword>white</keyword>
<keyword>wider</keyword>
<keyword>w-resize</keyword>
<keyword>x-fast</keyword>
<keyword>x-high</keyword>
<keyword>x-large</keyword>
<keyword>x-loud</keyword>
<keyword>x-low</keyword>
<keyword>x-slow</keyword>
<keyword>x-small</keyword>
<keyword>x-soft</keyword>
<keyword>xx-large</keyword>
<keyword>serif</keyword>
<keyword>sans-serif</keyword>
<keyword>cursive</keyword>
<keyword>fantasy</keyword>
<keyword>monospace</keyword>
<keyword>xx-small</keyword>
<keyword>yellow</keyword>
</context>
<context id="punctuators" style-ref="others-3">
<match>[{}();,]</match>
</context>
<context id="attribute-value-delimiters" style-ref="others-2">
<match>(\[|\])</match>
</context>
<context id="operators" style-ref="function">
<match>[@%~|!=]</match>
</context>
<context id="selector-grammar" style-ref="others-3">
<match>[*#.&gt;+]</match>
</context>
<context id="css">
<include>
<context ref="string"/>
<context ref="string-2"/>
<context ref="block-comment"/>
<context ref="line-comment"/>
<context ref="def:string"/>
<context ref="def:single-quoted-string"/>
<context ref="comment"/>
<context ref="close-comment-outside-comment"/>
<context ref="unicode-character-reference"/>
<context ref="punctuators"/>
<context ref="attribute-value-delimiters"/>
<context ref="operators"/>
<context ref="selector-grammar"/>
<context ref="selector-pseudo-elements"/>
<context ref="selector-pseudo-classes"/>
<context ref="at-rules"/>
@ -480,7 +478,12 @@
<context ref="importance-modifier"/>
<context ref="property-names"/>
<context ref="known-property-values"/>
<context ref="punctuators"/>
<context ref="attribute-value-delimiters"/>
<context ref="operators"/>
<context ref="selector-grammar"/>
</include>
</context>
</definitions>
</language>

View File

@ -61,6 +61,7 @@
<match>\%{float}</match>
</context>
<!-- FIXME no \n in patterns! -->
<define-regex id="net-address" extended="true" case-insensitive="true">
\%[ # separator
(https?|ftp|nntp|news|javascript|about): # protocol

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="DocBook" version="1.0" _section="Markup" mimetypes="application/docbook+xml">
<block-comment _name="Block Comment" style="Comment">
<start-regex>&lt;!--</start-regex>
<end-regex>--&gt;</end-regex>
</block-comment>
<syntax-item name="DOCTYPE" style="String">
<start-regex>&lt;!DOCTYPE</start-regex>
<end-regex>(\[.*\])?&gt;</end-regex>
</syntax-item>
<syntax-item name="Entity definition" style="String">
<start-regex>&lt;!ENTITY</start-regex>
<end-regex>"&gt;</end-regex>
</syntax-item>
<pattern-item _name="Entity" style="Keyword">
<regex>(&amp;|%)[a-zA-Z0-9#][a-zA-Z0-9]*;</regex>
</pattern-item>
<syntax-item name="CDATA" style="String">
<start-regex>&lt;!\[CDATA\[</start-regex>
<end-regex>\]\]&gt;</end-regex>
</syntax-item>
<pattern-item _name="String" style="String">
<regex>(&quot;[^&lt;&quot;]*&quot;)|(&apos;[^&lt;&apos;]*&apos;)</regex>
</pattern-item>
<pattern-item _name="Closing Bracket" style="Others 2">
<regex>\??&gt;</regex>
</pattern-item>
<keyword-list _name="Header Elements" style="Keyword" case-sensitive="FALSE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex="&lt;/?"
end-regex="(\b|&gt;)">
<keyword>abstract</keyword>
<keyword>article</keyword>
<keyword>articleinfo</keyword>
<keyword>bookinfo</keyword>
<keyword>author</keyword>
<keyword>authorgroup</keyword>
<keyword>affiliation</keyword>
<keyword>copyright</keyword>
<keyword>date</keyword>
<keyword>email</keyword>
<keyword>firstname</keyword>
<keyword>orgname</keyword>
<keyword>publisher</keyword>
<keyword>publishername</keyword>
<keyword>pubdate</keyword>
<keyword>pubsnumber</keyword>
<keyword>releaseinfo</keyword>
<keyword>surname</keyword>
<keyword>revdescription</keyword>
<keyword>revhistory</keyword>
<keyword>revision</keyword>
<keyword>revnumber</keyword>
</keyword-list>
<keyword-list _name="Formatting Elements" style="Keyword" case-sensitive="FALSE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex="&lt;/?"
end-regex="(\b|&gt;)">
<keyword>caution</keyword>
<keyword>command</keyword>
<keyword>computeroutput</keyword>
<keyword>filename</keyword>
<keyword>firstterm</keyword>
<keyword>link</keyword>
<keyword>note</keyword>
<keyword>option</keyword>
<keyword>para</keyword>
<keyword>remark</keyword>
<keyword>replaceable</keyword>
<keyword>tip</keyword>
<keyword>ulink</keyword>
<keyword>variablelist</keyword>
<keyword>varlistentry</keyword>
<keyword>warning</keyword>
<keyword>xref</keyword>
</keyword-list>
<keyword-list _name="GUI Elements" style="Keyword" case-sensitive="FALSE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex="&lt;/?"
end-regex="(\b|&gt;)">
<keyword>accel</keyword>
<keyword>application</keyword>
<keyword>guibutton</keyword>
<keyword>guiicon</keyword>
<keyword>guilabel</keyword>
<keyword>guimenuitem</keyword>
<keyword>guimenu</keyword>
<keyword>guisubmenu</keyword>
<keyword>interface</keyword>
<keyword>keycap</keyword>
<keyword>keycombo</keyword>
<keyword>keysym</keyword>
<keyword>menuchoice</keyword>
</keyword-list>
<keyword-list _name="Structural Elements" style="Keyword" case-sensitive="FALSE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex="&lt;/?"
end-regex="(\b|&gt;)">
<keyword>appendix</keyword>
<keyword>book</keyword>
<keyword>chapter</keyword>
<keyword>anchor</keyword>
<keyword>citetitle</keyword>
<keyword>colspec</keyword>
<keyword>emphasis</keyword>
<keyword>entry</keyword>
<keyword>figure</keyword>
<keyword>glossary</keyword>
<keyword>glossdef</keyword>
<keyword>glossentry</keyword>
<keyword>glossterm</keyword>
<keyword>sect1</keyword>
<keyword>sect2</keyword>
<keyword>sect3</keyword>
<keyword>sect4</keyword>
<keyword>section</keyword>
<keyword>highlights</keyword>
<keyword>holder</keyword>
<keyword>imagedata</keyword>
<keyword>imageobject</keyword>
<keyword>indexterm</keyword>
<keyword>informaltable</keyword>
<keyword>inlinemediaobject</keyword>
<keyword>itemizedlist</keyword>
<keyword>literal</keyword>
<keyword>legalnotice</keyword>
<keyword>listitem</keyword>
<keyword>mediaobject</keyword>
<keyword>orderedlist</keyword>
<keyword>phrase</keyword>
<keyword>primary</keyword>
<keyword>programlisting</keyword>
<keyword>row</keyword>
<keyword>screen</keyword>
<keyword>screenshot</keyword>
<keyword>secondary</keyword>
<keyword>see</keyword>
<keyword>shortcut</keyword>
<keyword>table</keyword>
<keyword>tbody</keyword>
<keyword>term</keyword>
<keyword>tertiary</keyword>
<keyword>textobject</keyword>
<keyword>tgroup</keyword>
<keyword>thead</keyword>
<keyword>title</keyword>
<keyword>titleabbrev</keyword>
<keyword>uri</keyword>
<keyword>userinput</keyword>
<keyword>year</keyword>
<keyword>ackno</keyword>
<keyword>acronym</keyword>
<keyword>action</keyword>
<keyword>address</keyword>
<keyword>answer</keyword>
<keyword>appendixinfo</keyword>
<keyword>area</keyword>
<keyword>areaset</keyword>
<keyword>areaspec</keyword>
<keyword>arg</keyword>
<keyword>artpagenums</keyword>
<keyword>attribution</keyword>
<keyword>audiodata</keyword>
<keyword>audioobject</keyword>
<keyword>authorblurb</keyword>
<keyword>authorinitials</keyword>
<keyword>beginpage</keyword>
<keyword>bibliocoverage</keyword>
<keyword>bibliodiv</keyword>
<keyword>biblioentry</keyword>
<keyword>bibliography</keyword>
<keyword>bibliographyinfo</keyword>
<keyword>biblioid</keyword>
<keyword>bibliomisc</keyword>
<keyword>bibliomixed</keyword>
<keyword>bibliomset</keyword>
<keyword>bibliorelation</keyword>
<keyword>biblioset</keyword>
<keyword>bibliosource</keyword>
<keyword>blockinfo</keyword>
<keyword>blockquote</keyword>
<keyword>bridgehead</keyword>
<keyword>callout</keyword>
<keyword>calloutlist</keyword>
<keyword>caption</keyword>
<keyword>chapterinfo</keyword>
<keyword>citation</keyword>
<keyword>citebiblioid</keyword>
<keyword>citerefentry</keyword>
<keyword>city</keyword>
<keyword>classname</keyword>
<keyword>classsynopsis</keyword>
<keyword>classsynopsisinfo</keyword>
<keyword>cmdsynopsis</keyword>
<keyword>code</keyword>
<keyword>colgroup</keyword>
<keyword>collab</keyword>
<keyword>collabname</keyword>
<keyword>colophon</keyword>
<keyword>confdates</keyword>
<keyword>confgroup</keyword>
<keyword>confnum</keyword>
<keyword>confsponsor</keyword>
<keyword>conftitle</keyword>
<keyword>constant</keyword>
<keyword>constraint</keyword>
<keyword>constraintdef</keyword>
<keyword>constructorsynopsis</keyword>
<keyword>contractnum</keyword>
<keyword>contractsponsor</keyword>
<keyword>contrib</keyword>
<keyword>coref</keyword>
<keyword>corpauthor</keyword>
<keyword>corpcredit</keyword>
<keyword>corpname</keyword>
<keyword>country</keyword>
<keyword>database</keyword>
<keyword>dedication</keyword>
<keyword>destructorsynopsis</keyword>
<keyword>edition</keyword>
<keyword>editor</keyword>
<keyword>entrytbl</keyword>
<keyword>envar</keyword>
<keyword>epigraph</keyword>
<keyword>equation</keyword>
<keyword>errorcode</keyword>
<keyword>errorname</keyword>
<keyword>errortext</keyword>
<keyword>errortype</keyword>
<keyword>example</keyword>
<keyword>exceptionname</keyword>
<keyword>fax</keyword>
<keyword>fieldsynopsis</keyword>
<keyword>footnote</keyword>
<keyword>footnoteref</keyword>
<keyword>foreignphrase</keyword>
<keyword>formalpara</keyword>
<keyword>funcdef</keyword>
<keyword>funcparams</keyword>
<keyword>funcprototype</keyword>
<keyword>funcsynopsis</keyword>
<keyword>funcsynopsisinfo</keyword>
<keyword>function</keyword>
<keyword>glossaryinfo</keyword>
<keyword>glossdiv</keyword>
<keyword>glosslist</keyword>
<keyword>glosssee</keyword>
<keyword>glossseealso</keyword>
<keyword>graphic</keyword>
<keyword>graphicco</keyword>
<keyword>hardware</keyword>
<keyword>honorific</keyword>
<keyword>imageobjectco</keyword>
<keyword>important</keyword>
<keyword>indexdiv</keyword>
<keyword>indexentry</keyword>
<keyword>indexinfo</keyword>
<keyword>informalequation</keyword>
<keyword>informalexample</keyword>
<keyword>informalfigure</keyword>
<keyword>initializer</keyword>
<keyword>inlineequation</keyword>
<keyword>inlinegraphic</keyword>
<keyword>interfacename</keyword>
<keyword>invpartnumber</keyword>
<keyword>isbn</keyword>
<keyword>issn</keyword>
<keyword>issuenum</keyword>
<keyword>itermset</keyword>
<keyword>jobtitle</keyword>
<keyword>keycode</keyword>
<keyword>keyword</keyword>
<keyword>keywordset</keyword>
<keyword>lhs</keyword>
<keyword>lineage</keyword>
<keyword>lineannotation</keyword>
<keyword>literallayout</keyword>
<keyword>lot</keyword>
<keyword>lotentry</keyword>
<keyword>manvolnum</keyword>
<keyword>markup</keyword>
<keyword>medialabel</keyword>
<keyword>mediaobjectco</keyword>
<keyword>member</keyword>
<keyword>methodname</keyword>
<keyword>methodparam</keyword>
<keyword>methodsynopsis</keyword>
<keyword>modespec</keyword>
<keyword>modifier</keyword>
<keyword>mousebutton</keyword>
<keyword>msg</keyword>
<keyword>msgaud</keyword>
<keyword>msgentry</keyword>
<keyword>msgexplan</keyword>
<keyword>msginfo</keyword>
<keyword>msglevel</keyword>
<keyword>msgmain</keyword>
<keyword>msgorig</keyword>
<keyword>msgrel</keyword>
<keyword>msgset</keyword>
<keyword>msgsub</keyword>
<keyword>msgtext</keyword>
<keyword>nonterminal</keyword>
<keyword>objectinfo</keyword>
<keyword>olink</keyword>
<keyword>ooclass</keyword>
<keyword>ooexception</keyword>
<keyword>oointerface</keyword>
<keyword>optional</keyword>
<keyword>orgdiv</keyword>
<keyword>otheraddr</keyword>
<keyword>othercredit</keyword>
<keyword>othername</keyword>
<keyword>pagenums</keyword>
<keyword>paramdef</keyword>
<keyword>parameter</keyword>
<keyword>part</keyword>
<keyword>partinfo</keyword>
<keyword>partintro</keyword>
<keyword>personblurb</keyword>
<keyword>personname</keyword>
<keyword>phone</keyword>
<keyword>pob</keyword>
<keyword>postcode</keyword>
<keyword>preface</keyword>
<keyword>prefaceinfo</keyword>
<keyword>primaryie</keyword>
<keyword>printhistory</keyword>
<keyword>procedure</keyword>
<keyword>production</keyword>
<keyword>productionrecap</keyword>
<keyword>productionset</keyword>
<keyword>productname</keyword>
<keyword>productnumber</keyword>
</keyword-list>
<!-- This split keeps each keyword-list under 250 elements.
See bug #110991 for further details.
-->
<keyword-list _name="Structural Elements 2" style="Keyword" case-sensitive="FALSE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex="&lt;/?"
end-regex="(\b|&gt;)">
<keyword>programlistingco</keyword>
<keyword>prompt</keyword>
<keyword>property</keyword>
<keyword>qandadiv</keyword>
<keyword>qandaentry</keyword>
<keyword>qandaset</keyword>
<keyword>question</keyword>
<keyword>quote</keyword>
<keyword>refclass</keyword>
<keyword>refdescriptor</keyword>
<keyword>refentry</keyword>
<keyword>refentryinfo</keyword>
<keyword>refentrytitle</keyword>
<keyword>reference</keyword>
<keyword>referenceinfo</keyword>
<keyword>refmeta</keyword>
<keyword>refmiscinfo</keyword>
<keyword>refname</keyword>
<keyword>refnamediv</keyword>
<keyword>refpurpose</keyword>
<keyword>refsect1</keyword>
<keyword>refsect1info</keyword>
<keyword>refsect2</keyword>
<keyword>refsect2info</keyword>
<keyword>refsect3</keyword>
<keyword>refsect3info</keyword>
<keyword>refsection</keyword>
<keyword>refsectioninfo</keyword>
<keyword>refsynopsisdiv</keyword>
<keyword>refsynopsisdivinfo</keyword>
<keyword>returnvalue</keyword>
<keyword>revremark</keyword>
<keyword>rhs</keyword>
<keyword>sbr</keyword>
<keyword>screenco</keyword>
<keyword>screeninfo</keyword>
<keyword>secondaryie</keyword>
<keyword>sect1info</keyword>
<keyword>sect2info</keyword>
<keyword>sect3info</keyword>
<keyword>sect4info</keyword>
<keyword>sect5</keyword>
<keyword>sect5info</keyword>
<keyword>sectioninfo</keyword>
<keyword>seealso</keyword>
<keyword>seealsoie</keyword>
<keyword>seeie</keyword>
<keyword>seg</keyword>
<keyword>seglistitem</keyword>
<keyword>segmentedlist</keyword>
<keyword>segtitle</keyword>
<keyword>seriesvolnums</keyword>
<keyword>set</keyword>
<keyword>setindex</keyword>
<keyword>setindexinfo</keyword>
<keyword>setinfo</keyword>
<keyword>sgmltag</keyword>
<keyword>shortaffil</keyword>
<keyword>sidebar</keyword>
<keyword>sidebarinfo</keyword>
<keyword>simpara</keyword>
<keyword>simplelist</keyword>
<keyword>simplemsgentry</keyword>
<keyword>simplesect</keyword>
<keyword>spanspec</keyword>
<keyword>state</keyword>
<keyword>step</keyword>
<keyword>stepalternatives</keyword>
<keyword>street</keyword>
<keyword>structfield</keyword>
<keyword>structname</keyword>
<keyword>subject</keyword>
<keyword>subjectset</keyword>
<keyword>subjectterm</keyword>
<keyword>subscript</keyword>
<keyword>substeps</keyword>
<keyword>subtitle</keyword>
<keyword>superscript</keyword>
<keyword>symbol</keyword>
<keyword>synopfragment</keyword>
<keyword>synopfragmentref</keyword>
<keyword>synopsis</keyword>
<keyword>systemitem</keyword>
<keyword>task</keyword>
<keyword>taskprerequisites</keyword>
<keyword>taskrelated</keyword>
<keyword>tasksummary</keyword>
<keyword>td</keyword>
<keyword>tertiaryie</keyword>
<keyword>textdata</keyword>
<keyword>tfoot</keyword>
<keyword>toc</keyword>
<keyword>tocback</keyword>
<keyword>tocchap</keyword>
<keyword>tocentry</keyword>
<keyword>tocfront</keyword>
<keyword>toclevel</keyword>
<keyword>tocpart</keyword>
<keyword>token</keyword>
<keyword>trademark</keyword>
<keyword>type</keyword>
<keyword>varargs</keyword>
<keyword>varname</keyword>
<keyword>videodata</keyword>
<keyword>videoobject</keyword>
<keyword>void</keyword>
<keyword>volumenum</keyword>
<keyword>wordasword</keyword>
</keyword-list>
<pattern-item _name="Attribute" style = "Others">
<regex>[ \t][a-zA-Z_:][a-zA-Z0-9_:-]*\b[ \t]*=</regex>
</pattern-item>
<pattern-item _name ="Hexadecimal" style = "Base-N Integer">
<regex>#[a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]</regex>
</pattern-item>
</language>

View File

@ -33,6 +33,7 @@
<keyword>function</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>infinity</keyword>
<keyword>local</keyword>
<keyword>not</keyword>
<keyword>od</keyword>

View File

@ -4,10 +4,13 @@
<property name="mimetypes">text/x-java</property>
<property name="globs">*.java</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="error" _name="Error" map-to="def:error"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
@ -17,21 +20,36 @@
</styles>
<definitions>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
</context>
<context id="string-2" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>\/\/</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="block-comment" style-ref="comment">
<start>\/\*</start>
<end>\*\/</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="close-comment-outside-comment" style-ref="error">
<match>\*\/(?!\*)</match>
</context>
<context id="declarations" style-ref="keyword">
<keyword>class</keyword>
<keyword>enum</keyword>
@ -45,6 +63,7 @@
<keyword>volatile</keyword>
<keyword>throws</keyword>
</context>
<context id="primitives" style-ref="data-type">
<keyword>boolean</keyword>
<keyword>byte</keyword>
@ -55,6 +74,7 @@
<keyword>long</keyword>
<keyword>short</keyword>
</context>
<context id="flow" style-ref="keyword">
<keyword>assert</keyword>
<keyword>break</keyword>
@ -74,6 +94,7 @@
<keyword>try</keyword>
<keyword>while</keyword>
</context>
<context id="modifiers" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>final</keyword>
@ -84,6 +105,7 @@
<keyword>strictfp</keyword>
<keyword>transient</keyword>
</context>
<context id="memory" style-ref="others">
<keyword>false</keyword>
<keyword>new</keyword>
@ -93,19 +115,23 @@
<keyword>true</keyword>
<keyword>void</keyword>
</context>
<context id="future-reserved-words" style-ref="specials">
<keyword>const</keyword>
<keyword>goto</keyword>
</context>
<context id="numeric" style-ref="decimal">
<match>(\b([0-9]+|0[xX][0-9a-fA-F]+)[Ll]?\b|\b(([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFdD]?|[0-9]+[FfDd]))</match>
</context>
<context id="java">
<include>
<context ref="string"/>
<context ref="string-2"/>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="close-comment-outside-comment"/>
<context ref="declarations"/>
<context ref="primitives"/>
<context ref="flow"/>
@ -115,5 +141,6 @@
<context ref="numeric"/>
</include>
</context>
</definitions>
</language>

View File

@ -43,6 +43,7 @@
<start>\/\/</start>
<end>$</end>
<include>
<!-- FIXME no \n in patterns! -->
<context id="comment-continue">
<match>\\\n</match>
</context>
@ -63,6 +64,7 @@
<start>"</start>
<end>"</end>
<include>
<!-- FIXME no \n in patterns! -->
<context id="string-continue" style-ref="escape">
<match>\\\n</match>
</context>

View File

@ -69,57 +69,7 @@
<style name="scheme:parens" use-style="def:keyword"/>
<style name="scheme:any-function" use-style="def:keyword"/>
<!-- <style name="m4:quote" background="grey"/>-->
<style name="sh:dollar" foreground="#008000" bold="true"/>
<!-- <style name="sh:single-quote" background="pink"/>
<style name="sh:double-quote" background="lightgrey"/>
<style name="sh:escape" use-style="def:escape"/>
<style name="sh:dollar" background="green"/>
<style name="sh:backquote" background="lightblue"/>
<style name="sh:operator" background="darkgrey" bold="true"/>
<style name="sh:compound-list" background="darkgrey" bold="true"/>-->
<style name="makefile:trailing-tab" background="pink"/>
<!-- <style name="makefile:assignment-rhs" background="red"/>-->
<!-- <style name="makefile:assignment-lhs" background="blue"/>-->
<!-- <style name="makefile:prereq" background="yellow"/>-->
<!-- <style name="makefile:command" background="green"/>-->
<!-- <style name="html:comment" background="grey"/>
<style name="html:tag" background="blue"/>
<style name="html:attrib-name" background="green"/>
<style name="html:attrib-value" background="yellow"/>
<style name="html:dtd" background="red"/>
<style name="html:entity" background="purple"/>
<style name="html:error" background="red" strikethrough="true"/>-->
<style name="test:red" foreground="red"/>
<style name="test:orange" foreground="orange"/>
<style name="test:yellow" foreground="yellow"/>
<style name="test:green" foreground="green"/>
<style name="test:blue" foreground="blue"/>
<style name="test:violet" foreground="violet"/>
<style name="test:_red" background="red"/>
<style name="test:_orange" background="orange"/>
<style name="test:_yellow" background="yellow"/>
<style name="test:_green" background="green"/>
<style name="test:_blue" background="blue"/>
<style name="test:_violet" background="violet"/>
<style name="test:red-bold" foreground="red" bold="true"/>
<style name="test:orange-bold" foreground="orange" bold="true"/>
<style name="test:yellow-bold" foreground="yellow" bold="true"/>
<style name="test:green-bold" foreground="green" bold="true"/>
<style name="test:blue-bold" foreground="blue" bold="true"/>
<style name="test:violet-bold" foreground="violet" bold="true"/>
<style name="test:_red-bold" background="red" bold="true"/>
<style name="test:_orange-bold" background="orange" bold="true"/>
<style name="test:_yellow-bold" background="yellow" bold="true"/>
<style name="test:_green-bold" background="green" bold="true"/>
<style name="test:_blue-bold" background="blue" bold="true"/>
<style name="test:_violet-bold" background="violet" bold="true"/>
<style name="test:underline" underline="true"/>
<style name="test:bold" bold="true"/>
<style name="test:italic" italic="true"/>
</style-scheme>

View File

@ -29,6 +29,10 @@
</attribute>
</optional>
<optional>
<attribute name="translation-domain"/>
</optional>
<optional>
<ref name="metadata"/>
</optional>

View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Objective Caml" version="1.0" _section="Sources" mimetypes="text/x-ocaml">
<escape-char>\</escape-char>
<block-comment _name = "Comment" style = "Comment">
<start-regex>\(\*</start-regex>
<end-regex>\*\)</end-regex>
</block-comment>
<pattern-item _name = "Decimal" style = "Decimal">
<regex>\b[-]?[0-9][0-9_]*[lLn]?\b</regex>
</pattern-item>
<pattern-item _name = "Hex Number" style = "Base-N Integer">
<regex>\b[-]?0[xX][0-9A-Fa-f][0-9A-Fa-f_]*[lL]?\b</regex>
</pattern-item>
<pattern-item _name = "Octal Number" style = "Base-N Integer">
<regex>\b[-]?0[oO][0-7][0-7_]*[lL]?\b</regex>
</pattern-item>
<pattern-item _name = "Binary Number" style = "Base-N Integer">
<regex>\b[-]?0[bB][01][01_]*[lL]?\b</regex>
</pattern-item>
<pattern-item _name = "Floating Point Number" style = "Floating Point">
<regex>\b[-]?[0-9][0-9_]*(\.[0-9_]*)?([Ee][+-]?[0-9][0-9_]*)?</regex>
</pattern-item>
<string _name = "Character Constant" style = "String" end-at-line-end = "TRUE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<string _name = "String" style = "String" end-at-line-end = "FALSE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<keyword-list _name = "Boolean Constant" style = "String" case-sensitive="FALSE">
<keyword>true</keyword>
<keyword>false</keyword>
</keyword-list>
<pattern-item _name = "Module" style = "Data Type">
<regex>\b[A-Z][A-Za-z0-9_']*</regex>
</pattern-item>
<pattern-item _name = "Label" style = "Data Type">
<regex>[~?][a-z][A-Za-z0-9_']*</regex>
</pattern-item>
<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="TRUE">
<keyword>and</keyword>
<keyword>as</keyword>
<keyword>assert</keyword>
<keyword>asr</keyword>
<keyword>begin</keyword>
<keyword>class</keyword>
<keyword>constraint</keyword>
<keyword>do</keyword>
<keyword>done</keyword>
<keyword>downto</keyword>
<keyword>else</keyword>
<keyword>end</keyword>
<keyword>exception</keyword>
<keyword>external</keyword>
<keyword>for</keyword>
<keyword>fun</keyword>
<keyword>function</keyword>
<keyword>functor</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>include</keyword>
<keyword>inherit</keyword>
<keyword>initializer</keyword>
<keyword>land</keyword>
<keyword>lazy</keyword>
<keyword>let</keyword>
<keyword>lor</keyword>
<keyword>lsl</keyword>
<keyword>lsr</keyword>
<keyword>lxor</keyword>
<keyword>match</keyword>
<keyword>method</keyword>
<keyword>mod</keyword>
<keyword>module</keyword>
<keyword>mutable</keyword>
<keyword>new</keyword>
<keyword>object</keyword>
<keyword>of</keyword>
<keyword>open</keyword>
<keyword>or</keyword>
<keyword>private</keyword>
<keyword>rec</keyword>
<keyword>sig</keyword>
<keyword>struct</keyword>
<keyword>then</keyword>
<keyword>to</keyword>
<keyword>try</keyword>
<keyword>type</keyword>
<keyword>val</keyword>
<keyword>virtual</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
<keyword>with</keyword>
</keyword-list>
</language>

View File

@ -36,6 +36,7 @@
<context ref="def:line-continue"/>
</include>
</context>
<!-- FIXME no \n in patterns! -->
<context id="comment" style-ref="comment" end-at-line-end="true">
<start>^#$|^#[^:,\n]</start>
<include>

View File

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
RPM .spec support for gtksourceview
Created by: Konstantin Ryabitsev <icon@fedoraproject.org>
License: LGPL
-->
<language _name="RPM spec" version="1.0" _section="Others" mimetypes="text/x-rpm-spec">
<escape-char>\</escape-char>
<line-comment _name="Line Comment" style="Comment">
<start-regex>#</start-regex>
</line-comment>
<string _name="Define" style="Preprocessor" end-at-line-end="TRUE">
<start-regex>%define</start-regex>
<end-regex>$</end-regex>
</string>
<string _name="Conditional Define" style="Preprocessor" end-at-line-end="TRUE">
<start-regex>%\{\!\?.*%define</start-regex>
<end-regex>\}$</end-regex>
</string>
<keyword-list _name="Header" style="Keyword"
case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="^" end-regex=":">
<keyword>Name</keyword>
<keyword>Version</keyword>
<keyword>Release</keyword>
<keyword>Epoch</keyword>
<keyword>Summary</keyword>
<keyword>Group</keyword>
<keyword>License</keyword>
<keyword>Packager</keyword>
<keyword>Vendor</keyword>
<keyword>Icon</keyword>
<keyword>URL</keyword>
<keyword>Patch[0-9]*</keyword>
<keyword>Source[0-9]*</keyword>
<keyword>Requires\(?[a-z]*\)?</keyword>
<keyword>[A-Za-z]+Req</keyword>
<keyword>Obsoletes</keyword>
<keyword>Provides</keyword>
<keyword>Conflicts</keyword>
<keyword>Build[A-Za-z]+</keyword>
<keyword>[A-Za-z]+Arch</keyword>
<keyword>Auto[A-Za-z]+</keyword>
</keyword-list>
<keyword-list _name="Section" style="Others"
case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
beginning-regex="^%">
<keyword>description</keyword>
<keyword>package</keyword>
<keyword>prep</keyword>
<keyword>build</keyword>
<keyword>install</keyword>
<keyword>clean</keyword>
<keyword>check</keyword>
<keyword>pre[a-z]*</keyword>
<keyword>post[a-z]*</keyword>
<keyword>trigger[a-z]*</keyword>
<keyword>files</keyword>
<keyword>changelog</keyword>
</keyword-list>
<keyword-list _name="Spec Macro" style="Keyword"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="%">
<keyword>defattr</keyword>
<keyword>doc</keyword>
<keyword>setup</keyword>
<keyword>config</keyword>
<keyword>configure</keyword>
<keyword>make</keyword>
<keyword>makeinstall</keyword>
<keyword>dir</keyword>
<keyword>ghost</keyword>
<keyword>patch[0-9]+</keyword>
<keyword>find_lang</keyword>
<keyword>exclude</keyword>
</keyword-list>
<pattern-item _name="Directory Macro" style="Others 2">
<regex>%\{?_([a-z_]+dir|[a-z_]+path|prefix)\}?</regex>
</pattern-item>
<pattern-item _name="Command Macro" style="Others 3">
<regex>%\{?__[a-z_]+\}?</regex>
</pattern-item>
<pattern-item _name="Conditional Macro" style="Preprocessor">
<regex>%\{\?[A-Za-z0-9_]+\}</regex>
</pattern-item>
<string _name="Other Macro" style="String">
<start-regex>%\{[a-zA-Z][a-zA-Z0-9_]+</start-regex>
<end-regex>\}</end-regex>
</string>
<pattern-item _name="Switch" style="String">
<regex>[ \t]+-?-[A-Za-z0-9_-]+</regex>
</pattern-item>
<pattern-item _name="RPM Variable" style="Preprocessor">
<regex>\$\{?RPM_[A-Z0-9_]+\}?</regex>
</pattern-item>
<keyword-list _name="Flow Conditional" style="Preprocessor"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="%">
<keyword>if</keyword>
<keyword>elif</keyword>
<keyword>endif</keyword>
</keyword-list>
<keyword-list _name="Date" style="String" case-sensitive="FALSE">
<keyword>[0-9]{1,2} +[0-9]{4}</keyword>
<keyword>jan</keyword>
<keyword>feb</keyword>
<keyword>mar</keyword>
<keyword>apr</keyword>
<keyword>may</keyword>
<keyword>jun</keyword>
<keyword>jul</keyword>
<keyword>aug</keyword>
<keyword>sep</keyword>
<keyword>oct</keyword>
<keyword>nov</keyword>
<keyword>dec</keyword>
<keyword>mon</keyword>
<keyword>tue</keyword>
<keyword>wed</keyword>
<keyword>thu</keyword>
<keyword>fri</keyword>
<keyword>sat</keyword>
<keyword>sun</keyword>
</keyword-list>
<pattern-item _name="Email" style="Comment">
<regex>&lt;[A-Za-z0-9._:+-]+@[A-Za-z0-9._:+-]+\.[A-Za-z0-9]{2,4}&gt;</regex>
</pattern-item>
</language>

View File

@ -40,6 +40,7 @@
<keyword>DATE</keyword>
<keyword>TIMESTAMP</keyword>
<keyword>INTERVAL</keyword>
<!-- FIXME no \n in patterns! -->
<keyword>(LONG[ \t\n]+)?RAW</keyword>
<keyword>U?ROWID</keyword>
<keyword>N?CHAR</keyword>
@ -48,14 +49,18 @@
<keyword>BINARY_(FLOAT|DOUBLE)</keyword>
</context>
<context id="ansi-datatypes" style-ref="data-type">
<!-- FIXME no \n in patterns! -->
<keyword>(NATIONAL[ \t\n]+)?CHAR(ACTER)?([ \t\n]+VARYING)?</keyword>
<!-- FIXME no \n in patterns! -->
<keyword>NCHAR([ \t\n]+VARYING)?</keyword>
<keyword>NUMERIC|DECIMAL</keyword>
<keyword>INTEGER|INT|SMALLINT</keyword>
<!-- FIXME no \n in patterns! -->
<keyword>FLOAT|DOUBLE[ \t\n]+PRECISION|REAL</keyword>
</context>
<context id="sql-ds-and-db2-datatypes" style-ref="data-type">
<keyword>CHARACTER</keyword>
<!-- FIXME no \n in patterns! -->
<keyword>(LONG[ \t\n]+)?VARCHAR</keyword>
<keyword>DECIMAL</keyword>
<keyword>INTEGER|SMALLINT</keyword>

View File

@ -38,3 +38,35 @@ moo_gettext (const char *string)
return string;
#endif /* !ENABLE_NLS */
}
char *
_moo_dgettext (const char *domain, const char *string)
{
#ifdef ENABLE_NLS
gchar *tmp;
const gchar *translated;
g_return_val_if_fail (string != NULL, NULL);
if (domain == NULL)
return g_strdup (moo_gettext (string));
translated = dgettext (domain, string);
g_print ("translated %s to %s in domain %s\n", string, translated, domain);
if (strcmp (translated, string) == 0)
return g_strdup (moo_gettext (string));
if (g_utf8_validate (translated, -1, NULL))
return g_strdup (translated);
tmp = g_locale_to_utf8 (translated, -1, NULL, NULL, NULL);
if (tmp == NULL)
return g_strdup (string);
else
return tmp;
#else
return g_strdup (string);
#endif /* !ENABLE_NLS */
}

View File

@ -28,6 +28,7 @@ G_BEGIN_DECLS
#define N_(String) (String)
#define D_(String,Domain) dgettext (Domain, String)
#define QD_(String,Domain) g_strip_context ((String), D_ (String, Domain))
#define GD_(Domain,String) _moo_dgettext (Domain, String)
#else /* !ENABLE_NLS */
@ -43,6 +44,7 @@ G_BEGIN_DECLS
#define Q_(String) g_strip_context ((String), (String))
#define D_(String,Domain) (String)
#define QD_(String,Domain) g_strip_context ((String), (String))
#define GD_(String,Domain) (String)
#define textdomain(String) (String)
#define gettext(String) (String)
#define dgettext(Domain,String) (String)
@ -56,6 +58,7 @@ G_BEGIN_DECLS
const char *moo_gettext (const char *string);
char *_moo_dgettext (const char *domain, const char *string);
G_END_DECLS