New installers: 2020-07-15

This commit is contained in:
Tom Schoonjans 2020-07-15 09:14:15 +01:00
parent d5e9dc5286
commit d401405d87
763 changed files with 112903 additions and 19 deletions

View File

@ -10,7 +10,7 @@ My efforts here will focus on creating a **64-bit version** of the GTK+-2 runtim
The installers can be found in the [releases section](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases).
The current releases ([gtk2-runtime-2.24.32-2020-05-19-ts-win64.exe](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases/download/2020-05-19/gtk2-runtime-2.24.32-2020-05-19-ts-win64.exe) and [gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases/download/2020-05-19/gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe)) were obtained entirely from the excellent [MSYS2 project](https://www.msys2.org), and were **not** compiled by myself, as was the case for releases made before 2017. Users who want to compile against this runtime are strongly encouraged to set up a MSYS2 installation themselves, and install the required packages (compiled with the mingw-w64-x86\_64 toolchain!!!).
The current releases ([gtk2-runtime-2.24.32-2020-07-15-ts-win64.exe](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases/download/2020-07-15/gtk2-runtime-2.24.32-2020-07-15-ts-win64.exe) and [gtk3-runtime-3.24.20-2020-07-15-ts-win64.exe](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases/download/2020-07-15/gtk3-runtime-3.24.20-2020-07-15-ts-win64.exe)) were obtained entirely from the excellent [MSYS2 project](https://www.msys2.org), and were **not** compiled by myself, as was the case for releases made before 2017. Users who want to compile against this runtime are strongly encouraged to set up a MSYS2 installation themselves, and install the required packages (compiled with the mingw-w64-x86\_64 toolchain!!!).
The following packages are included in the current GTK+-2/3 installers
@ -19,23 +19,24 @@ The following packages are included in the current GTK+-2/3 installers
* [atkmm](http://ftp.gnome.org/pub/GNOME/sources/atkmm/) (2.28.0)
* [cairo](http://cairographics.org/releases/) (1.16.0)
* [cairomm](http://cairographics.org/releases/) (1.12.2)
* [fontconfig](http://www.freedesktop.org/software/fontconfig/release/) (2.13.1)
* [fontconfig](http://www.freedesktop.org/software/fontconfig/release/) (2.13.92)
* [freetype](http://www.freetype.org/download.html) (2.10.2)
* [gdk-pixbuf](http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/) (2.40.0)
* [gettext](http://ftp.gnu.org/pub/gnu/gettext/) (0.19.8.1)
* [glib](http://ftp.gnome.org/pub/GNOME/sources/glib/) (2.64.2)
* [glib](http://ftp.gnome.org/pub/GNOME/sources/glib/) (2.64.3)
* [glib-networking](http://ftp.gnome.org/pub/GNOME/sources/glib-networking/) (2.64.2)
* [glibmm](http://ftp.gnome.org/pub/GNOME/sources/glibmm/) (2.64.2)
* [gobject-introspection](http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/) (1.64.1)
* [gtk2](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (2.24.32)
* [gtk3](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (3.24.18)
* [gtk3](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (3.24.20)
* [gtkmm2](http://ftp.gnome.org/pub/GNOME/sources/gtkmm) (2.24.5)
* [gtkmm3](http://ftp.gnome.org/pub/GNOME/sources/gtkmm) (3.24.2)
* [gtksourceview2](http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/) (2.10.5)
* [gtksourceview3](http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/) (3.24.11)
* [gtksourceview4](http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/) (4.6.0)
* ~~[gtksourceviewmm2](http://ftp.gnome.org/pub/GNOME/sources/gtksourceviewmm/) (2.10.3)~~ (currently unavailable)
* [gtksourceviewmm3](http://ftp.gnome.org/pub/GNOME/sources/gtksourceviewmm/) (3.21.3)
* [harfbuzz](http://www.freedesktop.org/software/harfbuzz/release/) (2.6.6)
* [harfbuzz](http://www.freedesktop.org/software/harfbuzz/release/) (2.6.8)
* [hicolor-icon-theme](http://icon-theme.freedesktop.org/releases/) (0.17)
* [json-glib](http://ftp.gnome.org/pub/gnome/sources/json-glib/) (1.4.4)
* [libepoxy](https://github.com/anholt/libepoxy) (1.5.4)
@ -43,7 +44,7 @@ The following packages are included in the current GTK+-2/3 installers
* [libiconv](https://ftp.gnu.org/pub/gnu/libiconv/) (1.16)
* [libpeas](http://ftp.gnome.org/pub/gnome/sources/libpeas/) (1.26.0)
* [libpng](http://sourceforge.net/project/showfiles.php?group_id=5624) (1.6.37)
* [librsvg](http://ftp.gnome.org/pub/GNOME/sources/librsvg/) (2.48.4)
* [librsvg](http://ftp.gnome.org/pub/GNOME/sources/librsvg/) (2.48.7)
* [libsigc++](http://ftp.gnome.org/pub/GNOME/sources/libsigc++/) (2.10.3)
* [libsoup](http://ftp.gnome.org/pub/GNOME/sources/libsoup/) (2.70.0)
* [libxml2](http://xmlsoft.org/sources/) (2.9.10)
@ -54,7 +55,7 @@ The following packages are included in the current GTK+-2/3 installers
* [pangomm](http://ftp.gnome.org/pub/GNOME/sources/pangomm/) (2.42.1)
* [pcre](ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/) (8.44)
* [pixman](http://cairographics.org/releases/) (0.40.0)
* [sqlite](https://www.sqlite.org) (3.31.1)
* [sqlite](https://www.sqlite.org) (3.32.3)
* [zlib](http://www.zlib.net) (1.2.11)
For all other information regarding how to use the installer, the reader is kindly referred to [Alexander Shaduri's website](http://gtk-win.sourceforge.net) of the GTK for Windows runtime environment installer. The only difference with the installers found at his website is that mine DO NOT have the `compatdlls` option, but this should present no problems to any user.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -43,6 +43,7 @@ cp $INSTALL_SRC_MSYS2_BIN/libcairo-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairo-gobject-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairo-script-interpreter-2.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libcairomm-1.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libssp-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libepoxy-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libexslt-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libffi-7.dll $INSTALL_SRC_BIN
@ -70,6 +71,7 @@ cp $INSTALL_SRC_MSYS2_BIN/libgthread-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtk-3-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtk-win32-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtksourceview-3.0-1.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtksourceview-4-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtksourceview-2.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtksourceviewmm-3.0-0.dll $INSTALL_SRC_BIN
cp $INSTALL_SRC_MSYS2_BIN/libgtkmm-3.0-1.dll $INSTALL_SRC_BIN
@ -180,6 +182,12 @@ cd $INSTALL_SRC_MSYS2_LIB/girepository-1.0
mkdir -p $INSTALL_SRC_LIB/girepository-1.0
cp -r *typelib $INSTALL_SRC_LIB/girepository-1.0/
# copy gtksourceview data files
rm -rf $INSTALL_SRC_DIR/share/gtksourceview-3.0
rm -rf $INSTALL_SRC_DIR/share/gtksourceview-4
cp -r $INSTALL_SRC_MSYS2/share/gtksourceview-3.0 $INSTALL_SRC_DIR/share/
cp -r $INSTALL_SRC_MSYS2/share/gtksourceview-4 $INSTALL_SRC_DIR/share/
# Copy /share/locale/locale.alias
rm -r $INSTALL_SRC_DIR/share/locale
cp -r $INSTALL_SRC_MSYS2/share/locale $INSTALL_SRC_DIR/share/

View File

@ -233,4 +233,104 @@
<default><family>cursive</family></default>
</alias>
<!--
system-ui
-->
<alias>
<family>Noto Sans Arabic UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Bengali UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Devanagari UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Gujarati UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Gurmukhi UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Kannada UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Khmer UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Lao UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Malayalam UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Myanmar UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Oriya UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Sinhala UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Tamil UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Telugu UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans Thai UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Leelawadee UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Nirmala UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Yu Gothic UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Meiryo UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>MS UI Gothic</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Khmer UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Lao UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Microsoft JhengHei UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Microsoft YaHei UI</family>
<default><family>system-ui</family></default>
</alias>
</fontconfig>

View File

@ -274,5 +274,28 @@
<family>Zapfino</family>
<default><family>cursive</family></default>
</alias>
<!--
system-ui
-->
<alias>
<family>Cantarell</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Noto Sans UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Segoe UI</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Segoe UI Historic</family>
<default><family>system-ui</family></default>
</alias>
<alias>
<family>Segoe UI Symbol</family>
<default><family>system-ui</family></default>
</alias>
</fontconfig>

View File

@ -75,5 +75,18 @@
<family>Comic Sans MS</family>
</prefer>
</alias>
<!--
system-ui
-->
<alias>
<family>system-ui</family>
<prefer>
<family>Cantarell</family>
<family>Noto Sans UI</family>
<family>Segoe UI</family>
<family>Segoe UI Historic</family>
<family>Segoe UI Symbol</family>
</prefer>
</alias>
</fontconfig>

View File

@ -63,7 +63,7 @@
<family>Lohit Sindhi</family>
<family>Lohit Punjabi</family>
<family>Lohit Tamil</family>
<family>Meera</family>
<family>Rachana</family>
<family>Lohit Malayalam</family>
<family>Lohit Kannada</family>
<family>Lohit Telugu</family>
@ -175,7 +175,6 @@
<family>TlwgTypewriter</family> <!-- thai -->
<family>TlwgMono</family> <!-- thai -->
<family>Hasida</family> <!-- hebrew -->
<family>Mitra Mono</family> <!-- bengali -->
<family>GF Zemen Unicode</family> <!-- ethiopic -->
<family>Hapax Berbère</family> <!-- tifinagh -->
<family>Lohit Bengali</family>
@ -197,4 +196,37 @@
<family>LKLUG</family>
</prefer>
</alias>
<!--
system-ui
-->
<alias>
<family>system-ui</family>
<prefer>
<family>Noto Sans Arabic UI</family><!-- ar -->
<family>Noto Sans Bengali UI</family><!-- bn -->
<family>Noto Sans Devanagari UI</family><!-- hi, mai, mr -->
<family>Noto Sans Gujarati UI</family><!-- gu -->
<family>Noto Sans Gurmukhi UI</family><!-- pa -->
<family>Noto Sans Kannada UI</family><!-- kn -->
<family>Noto Sans Khmer UI</family><!-- km -->
<family>Noto Sans Lao UI</family><!-- lo -->
<family>Noto Sans Malayalam UI</family><!-- ml -->
<family>Noto Sans Myanmar UI</family><!-- my -->
<family>Noto Sans Oriya UI</family><!-- or -->
<family>Noto Sans Sinhala UI</family><!-- si -->
<family>Noto Sans Tamil UI</family><!-- ta -->
<family>Noto Sans Telugu UI</family><!-- te -->
<family>Noto Sans Thai UI</family><!-- th -->
<family>Leelawadee UI</family><!-- bug, th, jv, km, lo -->
<family>Nirmala UI</family><!-- Indic -->
<family>Yu Gothic UI</family><!-- han (ja) -->
<family>Meiryo UI</family><!-- han (ja) -->
<family>MS UI Gothic</family><!-- han (ja) -->
<family>Khmer UI</family><!-- km -->
<family>Lao UI</family><!-- lo -->
<family>Microsoft YaHei UI</family><!-- han (zh-cn) -->
<family>Microsoft JhengHei UI</family><!-- han (zh-tw) -->
</prefer>
</alias>
</fontconfig>

View File

@ -69,6 +69,17 @@
<string>sans-serif</string>
</edit>
</match>
<!--
Accept alternate 'system ui' spelling, replacing it with 'system-ui'
-->
<match target="pattern">
<test qual="any" name="family">
<string>system ui</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>system-ui</string>
</edit>
</match>
<!--
Load local system customization file

View File

@ -14,7 +14,7 @@
!define GTK_VERSION "2.24.32"
!define GTK_BIN_VERSION "2.10.0"
!define PRODUCT_VERSION "${GTK_VERSION}-2020-05-19-ts-win64"
!define PRODUCT_VERSION "${GTK_VERSION}-2020-07-15-ts-win64"
!define PRODUCT_NAME "GTK2-Runtime Win64"
!define PRODUCT_PUBLISHER "Tom Schoonjans"
!define PRODUCT_WEB_SITE "https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer"
@ -234,6 +234,7 @@ SectionIn 1 2 RO
File bin\libatk-1.0-0.dll ; atk
File bin\libatkmm-1.6-1.dll ; atk
File bin\libssp-0.dll ; needed by cairo
File bin\libcairo-2.dll ; cairo, needed by gtk
File bin\libcairo-gobject-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
File bin\libcairo-script-interpreter-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
@ -603,6 +604,7 @@ Function un.DeleteDlls
Delete $LIB_INSTDIR\libcairo-gobject-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
Delete $LIB_INSTDIR\libcairo-script-interpreter-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
Delete $LIB_INSTDIR\libcairomm-1.0-1.dll
Delete $LIB_INSTDIR\libssp-0.dll
Delete $LIB_INSTDIR\libexslt-0.dll
Delete $LIB_INSTDIR\libffi-7.dll ; libffi is required by glib
Delete $LIB_INSTDIR\libfontconfig-1.dll ; fontconfig is needed for ft2 pango backend

View File

@ -11,9 +11,9 @@
; Directory and package names: gtk3-runtime.
!define GTK_VERSION "3.24.18"
!define GTK_VERSION "3.24.20"
!define GTK_BIN_VERSION "3.0.0"
!define PRODUCT_VERSION "${GTK_VERSION}-2020-05-19-ts-win64"
!define PRODUCT_VERSION "${GTK_VERSION}-2020-07-15-ts-win64"
!define PRODUCT_NAME "GTK3-Runtime Win64"
!define PRODUCT_PUBLISHER "Tom Schoonjans"
!define PRODUCT_WEB_SITE "https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer"
@ -233,6 +233,7 @@ SectionIn 1 2 RO
File bin\libatk-1.0-0.dll ; atk
File bin\libatkmm-1.6-1.dll ; atk
File bin\libssp-0.dll ; needed by cairo
File bin\libcairo-2.dll ; cairo, needed by gtk
File bin\libcairo-gobject-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
File bin\libcairo-script-interpreter-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
@ -260,6 +261,7 @@ SectionIn 1 2 RO
File bin\libgthread-2.0-0.dll ; from glib
File bin\libgtk-3-0.dll ; gtk
File bin\libgtksourceview-3.0-1.dll
File bin\libgtksourceview-4-0.dll
File bin\libgtksourceviewmm-3.0-0.dll
File bin\libgtkmm-3.0-1.dll
File bin\libharfbuzz-0.dll ; required by pango
@ -382,6 +384,12 @@ SectionIn 1 2 RO
SetOutPath "$INSTDIR\share"
File /r share\icons
SetOutPath "$INSTDIR\share"
File /r share\gtksourceview-3.0
SetOutPath "$INSTDIR\share"
File /r share\gtksourceview-4
SetOutPath "$INSTDIR\gtk3-runtime"
; File gtk-postinstall.bat ; this file is generated now
File license.txt
@ -636,6 +644,7 @@ Function un.DeleteDlls
Delete $LIB_INSTDIR\libcairo-gobject-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
Delete $LIB_INSTDIR\libcairo-script-interpreter-2.dll ; cairo. Doesn't seem to be required, but since we're distributing cairo...
Delete $LIB_INSTDIR\libcairomm-1.0-1.dll
Delete $LIB_INSTDIR\libssp-0.dll
Delete $LIB_INSTDIR\libepoxy-0.dll
Delete $LIB_INSTDIR\libexslt-0.dll
Delete $LIB_INSTDIR\libffi-7.dll ; libffi is required by glib
@ -659,6 +668,7 @@ Function un.DeleteDlls
Delete $LIB_INSTDIR\libgthread-2.0-0.dll ; from glib
Delete $LIB_INSTDIR\libgtk-3-0.dll ; gtk
Delete $LIB_INSTDIR\libgtksourceview-3.0-1.dll ; gtk
Delete $LIB_INSTDIR\libgtksourceview-4-0.dll ; gtk
Delete $LIB_INSTDIR\libgtksourceviewmm-3.0-0.dll ; gtk
Delete $LIB_INSTDIR\libgtkmm-3.0-1.dll
Delete $LIB_INSTDIR\libharfbuzz-0.dll
@ -912,6 +922,8 @@ Section Uninstall
RMDir /r "$INSTDIR\share\themes\Emacs"
RMDir /r "$INSTDIR\share\glib-2.0"
RMDir /r "$INSTDIR\share\icons"
RMDir /r "$INSTDIR\share\gtksourceview-3.0"
RMDir /r "$INSTDIR\share\gtksourceview-4"
RMDir "$INSTDIR\share\themes" ; not forced
RMDir "$INSTDIR\share" ; not forced

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Philip Withnall <philip@tecnocode.co.uk>
Copyright (C) 2016 Philip Withnall <philip@tecnocode.co.uk>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<!--
References:
https://en.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_form
https://tools.ietf.org/html/rfc5234
https://tools.ietf.org/html/rfc7405
-->
<language id="abnf" name="ABNF" version="2.0" _section="Source">
<metadata>
<property name="globs">*.abnf</property>
<property name="line-comment-start">;</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="rulename" name="Rule Name" map-to="def:type"/>
<style id="binary" name="Binary number" map-to="def:base-n-integer"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
<style id="string" name="String" map-to="def:string"/>
</styles>
<definitions>
<define-regex id="rulename">([a-zA-Z][a-zA-Z0-9-]*|&lt;[a-zA-Z][a-zA-Z0-9-]*&gt;)</define-regex>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>;</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="rulename">
<match>(\%{rulename})</match>
<include>
<context sub-pattern="1" style-ref="rulename"/>
</include>
</context>
<context id="terminal-binary" style-ref="binary">
<match>%b[0-1]+(\-[0-1]+|(\.[0-1]+)*)</match>
</context>
<context id="terminal-decimal" style-ref="decimal">
<match>%d[0-9]+(\-[0-9]+|(\.[0-9]+)*)</match>
</context>
<context id="terminal-hexadecimal" style-ref="hexadecimal">
<match>%x[0-9a-fA-F]+(\-[0-9a-fA-F]+|(\.[0-9a-fA-F]+)*)</match>
</context>
<context id="terminal-string" style-ref="string">
<match>"[ !#$%&amp;'\(\)\*\+,\-\./0-9:;&lt;=&gt;\?@A-Z\[\\\]\^_`a-z\{\|\}~]*"</match>
</context>
<context id="terminal">
<include>
<context ref="terminal-binary"/>
<context ref="terminal-decimal"/>
<context ref="terminal-hexadecimal"/>
<context ref="terminal-string"/>
</include>
</context>
<context id="element">
<include>
<context ref="rulename"/>
<context ref="terminal"/>
</include>
</context>
<context id="abnf">
<include>
<context ref="line-comment"/>
<context id="rule">
<start>^\s*(\%{rulename})\s*=/?</start>
<end>^(?!\s)</end>
<include>
<context sub-pattern="1" where="start" style-ref="rulename"/>
<context ref="element"/>
<context ref="line-comment"/>
</include>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Julien Castelain, Markus Johnsson
Copyright (C) 2008 Julien Castelain <jcastelain@gmail.com>
Copyright (C) 2008 Markus Johnsson <markus.johnsson.84@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="actionscript" name="ActionScript" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-actionscript</property>
<property name="globs">*.as</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="external" name="External" map-to="def:preprocessor"/>
<style id="declaration" name="Declaration" map-to="def:type"/>
<style id="storage-class" name="Storage Class" map-to="def:type"/>
<style id="scope-declaration" name="Scope Declaration" map-to="def:type"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="null-value" name="Null Value" map-to="def:special-constant"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="number" name="Number" map-to="def:decimal"/>
<style id="reserved" name="Future Reserved Keywords" map-to="def:error"/>
<style id="type" name="Data Type" map-to="def:type"/>
</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="externals" style-ref="external">
<keyword>import</keyword>
<keyword>include</keyword>
<keyword>package</keyword>
</context>
<context id="declarations" style-ref="declaration">
<keyword>class</keyword>
<keyword>extends</keyword>
<keyword>function</keyword>
<keyword>implements</keyword>
<keyword>instanceof</keyword>
<keyword>interface</keyword>
<keyword>is</keyword>
<keyword>namespace</keyword>
<keyword>throws</keyword>
<keyword>var</keyword>
<keyword>const</keyword>
</context>
<context id="primitive-types" style-ref="type">
<keyword>arguments</keyword>
<keyword>Array</keyword>
<keyword>Boolean</keyword>
<keyword>Class</keyword>
<keyword>Bitmap</keyword>
<keyword>BitmapData</keyword>
<keyword>BitmapDataChannel</keyword>
<keyword>ByteArray</keyword>
<keyword>Camera</keyword>
<keyword>Capabilities</keyword>
<keyword>CapsStyle</keyword>
<keyword>ColorTransform</keyword>
<keyword>ContextMenu</keyword>
<keyword>Dictionary</keyword>
<keyword>DisplayObject</keyword>
<keyword>DisplayObjectContainer</keyword>
<keyword>Endian</keyword>
<keyword>Error</keyword>
<keyword>Event</keyword>
<keyword>EventDispatcher</keyword>
<keyword>ExternalInterface</keyword>
<keyword>FileFilter</keyword>
<keyword>FileReference</keyword>
<keyword>FileReferenceList</keyword>
<keyword>Function</keyword>
<keyword>Graphics</keyword>
<keyword>int</keyword>
<keyword>IBitmapDrawable</keyword>
<keyword>IEventDispatcher</keyword>
<keyword>IOError</keyword>
<keyword>Keyboard</keyword>
<keyword>KeyboardEvent</keyword>
<keyword>KeyLocation</keyword>
<keyword>Loader</keyword>
<keyword>LocalConnection</keyword>
<keyword>Math</keyword>
<keyword>Matrix</keyword>
<keyword>Microphone</keyword>
<keyword>Mouse</keyword>
<keyword>MovieClip</keyword>
<keyword>Namespace</keyword>
<keyword>NetConnection</keyword>
<keyword>NetStream</keyword>
<keyword>Number</keyword>
<keyword>Object</keyword>
<keyword>Point</keyword>
<keyword>PrintJob</keyword>
<keyword>Proxy</keyword>
<keyword>QName</keyword>
<keyword>Rectangle</keyword>
<keyword>RegExp</keyword>
<keyword>Responder</keyword>
<keyword>Scene</keyword>
<keyword>Security</keyword>
<keyword>Shape</keyword>
<keyword>SharedObject</keyword>
<keyword>Socket</keyword>
<keyword>Sound</keyword>
<keyword>SoundChannel</keyword>
<keyword>SoundTransform</keyword>
<keyword>Sprite</keyword>
<keyword>Stage</keyword>
<keyword>String</keyword>
<keyword>StyleSheet</keyword>
<keyword>SWFVersion</keyword>
<keyword>System</keyword>
<keyword>TextField</keyword>
<keyword>TextFormat</keyword>
<keyword>Timer</keyword>
<keyword>uint</keyword>
<keyword>Video</keyword>
<keyword>XML</keyword>
<keyword>XMLDocument</keyword>
<keyword>XMLList</keyword>
<keyword>XMLNode</keyword>
<keyword>XMLNodeType</keyword>
<keyword>XMLSocket</keyword>
</context>
<context id="storage-class" style-ref="storage-class">
<keyword>dynamic</keyword>
<keyword>internal</keyword>
<keyword>final</keyword>
<keyword>static</keyword>
</context>
<context id="scope-declarations" style-ref="scope-declaration">
<keyword>flash_proxy</keyword>
<keyword>internal</keyword>
<keyword>override</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>set</keyword>
<keyword>get</keyword>
</context>
<context id="flow" style-ref="keyword">
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>is</keyword>
<keyword>return</keyword>
<keyword>throw</keyword>
<keyword>switch</keyword>
<keyword>try</keyword>
<keyword>while</keyword>
</context>
<context id="memory" style-ref="keyword">
<keyword>new</keyword>
<keyword>super</keyword>
<keyword>this</keyword>
<keyword>void</keyword>
</context>
<context id="future-reserved-words" style-ref="reserved">
<keyword>goto</keyword>
</context>
<context id="null-value" style-ref="null-value">
<keyword>null</keyword>
</context>
<context id="boolean" style-ref="boolean">
<keyword>false</keyword>
<keyword>true</keyword>
</context>
<context id="numeric" style-ref="number">
<match extended="true">
(\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="actionscript">
<include>
<context ref="string"/>
<context ref="string-2"/>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="close-comment-outside-comment"/>
<context ref="externals"/>
<context ref="declarations"/>
<context ref="primitive-types"/>
<context ref="storage-class"/>
<context ref="scope-declarations"/>
<context ref="flow"/>
<context ref="memory"/>
<context ref="future-reserved-words"/>
<context ref="null-value"/>
<context ref="boolean"/>
<context ref="numeric"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Gustavo Giráldez <gustavo.giraldez@gmx.net>
Copyright (C) 2003 Gustavo Giráldez <gustavo.giraldez@gmx.net>
Copyright (C) 2003 Michael Terry <mike@mterry.name>
Copyright (C) 2004 Benoît Dejean <tazforever@dlfp.org>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="ada" name="Ada" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-ada;text/x-adasrc</property>
<property name="globs">*.adb;*.ads</property>
<property name="line-comment-start">--</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="string" name="String" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="storage-class" name="Storage Class" map-to="def:type"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="base-n-number" name="Arbitrary base number" map-to="def:base-n-integer"/>
<style id="real" name="Real number" map-to="def:floating-point"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>--</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<!-- no escapes possible except for "" = literal " -->
<include>
<context id="string-esc" style-ref="escaped-character" extend-parent="true">
<match>""</match>
</context>
</include>
</context>
<context id="character-constant" style-ref="string">
<match>'.'</match>
</context>
<context id="preprocessor-keyword" style-ref="preprocessor">
<keyword>package</keyword>
<keyword>pragma</keyword>
<keyword>use</keyword>
<keyword>with</keyword>
</context>
<context id="function" style-ref="keyword">
<keyword>function</keyword>
<keyword>procedure</keyword>
<keyword>return</keyword>
</context>
<context id="keyword" style-ref="keyword">
<keyword>abort</keyword>
<keyword>abs</keyword>
<keyword>accept</keyword>
<keyword>all</keyword>
<keyword>and</keyword>
<keyword>begin</keyword>
<keyword>body</keyword>
<keyword>case</keyword>
<keyword>declare</keyword>
<keyword>delay</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>elsif</keyword>
<keyword>end</keyword>
<keyword>entry</keyword>
<keyword>exception</keyword>
<keyword>exit</keyword>
<keyword>for</keyword>
<keyword>generic</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>is</keyword>
<keyword>loop</keyword>
<keyword>mod</keyword>
<keyword>new</keyword>
<keyword>not</keyword>
<keyword>null</keyword>
<keyword>or</keyword>
<keyword>others</keyword>
<keyword>out</keyword>
<keyword>protected</keyword>
<keyword>raise</keyword>
<keyword>record</keyword>
<keyword>rem</keyword>
<keyword>renames</keyword>
<keyword>requeue</keyword>
<keyword>reverse</keyword>
<keyword>select</keyword>
<keyword>separate</keyword>
<keyword>subtype</keyword>
<keyword>task</keyword>
<keyword>terminate</keyword>
<keyword>then</keyword>
<keyword>type</keyword>
<keyword>until</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
<keyword>xor</keyword>
</context>
<context id="storage-class" style-ref="storage-class">
<keyword>abstract</keyword>
<keyword>access</keyword>
<keyword>aliased</keyword>
<keyword>array</keyword>
<keyword>at</keyword>
<keyword>constant</keyword>
<keyword>delta</keyword>
<keyword>digits</keyword>
<keyword>interface</keyword>
<keyword>limited</keyword>
<keyword>of</keyword>
<keyword>private</keyword>
<keyword>range</keyword>
<keyword>tagged</keyword>
<keyword>synchronized</keyword>
</context>
<context id="type" style-ref="type">
<keyword>boolean</keyword>
<keyword>character</keyword>
<keyword>count</keyword>
<keyword>duration</keyword>
<keyword>float</keyword>
<keyword>integer</keyword>
<keyword>long_float</keyword>
<keyword>long_integer</keyword>
<keyword>priority</keyword>
<keyword>short_float</keyword>
<keyword>short_integer</keyword>
<keyword>string</keyword>
</context>
<define-regex id="hexnum">[0-9a-f][0-9a-f_]*</define-regex>
<define-regex id="exponent">[Ee][+-]?[0-9][0-9_]*</define-regex>
<context id="based-numeral" style-ref="base-n-number">
<match extended="true">
(?&lt;![\w\.])
[0-9][0-9_]*\#\%{hexnum}(\.\%{hexnum})?\#\%{exponent}?
(?![\w\.])
</match>
</context>
<context id="real" style-ref="real">
<match extended="true">
(?&lt;![\w\.])
[0-9][0-9_]*\.[0-9][0-9_]*\%{exponent}?
(?![\w\.])
</match>
</context>
<context id="number" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[0-9][0-9_]*(E[+]?[0-9][0-9_]*)?
(?![\w\.])
</match>
</context>
<context id="boolean" style-ref="boolean">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="ada" class="no-spell-check">
<include>
<context ref="line-comment"/>
<context ref="string"/>
<context ref="character-constant"/>
<context ref="preprocessor-keyword"/>
<context ref="function"/>
<context ref="keyword"/>
<context ref="storage-class"/>
<context ref="type"/>
<context ref="based-numeral"/>
<context ref="real"/>
<context ref="number"/>
<context ref="boolean"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,728 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Mark Corbin <mark@dibsco.co.uk>
Copyright (C) 2014 Mark Corbin
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="ansforth94" name="ANS-Forth94" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-forth</property>
<property name="globs">*.4th;*.forth</property>
<property name="line-comment-start">\\</property>
<property name="block-comment-start">\(</property>
<property name="block-comment-end">\)</property>
</metadata>
<styles>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="obs-keyword" name="Obsolete Keyword" map-to="def:keyword"/>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="alert" name="Alert" map-to="def:note"/>
<style id="character" name="Character" map-to="def:character"/>
<style id="word" name="Word" map-to="def:function"/>
<style id="string" name="String" map-to="def:string"/>
<style id="constant" name="Constant" map-to="def:constant"/>
<style id="variable" name="Variable" map-to="def:type"/>
<style id="local-variable" name="Local Variable" map-to="def:type"/>
<style id="single-number" name="Single Number" map-to="def:base-n-integer"/>
<style id="double-number" name="Double Number" map-to="def:base-n-integer"/>
<style id="float" name="Float" map-to="def:floating-point"/>
</styles>
<default-regex-options case-sensitive="false"/>
<keyword-char-class>(\S)</keyword-char-class>
<definitions>
<context id="core-keywords" style-ref="keyword">
<keyword>!</keyword>
<keyword>#</keyword>
<keyword>#&gt;</keyword>
<keyword>#S</keyword>
<keyword>&apos;</keyword>
<keyword>\(</keyword>
<keyword>\*</keyword>
<keyword>\*/</keyword>
<keyword>\*/MOD</keyword>
<keyword>\+</keyword>
<keyword>\+!</keyword>
<keyword>\+LOOP</keyword>
<keyword>,</keyword>
<keyword>-</keyword>
<keyword>\.</keyword>
<keyword>\.&quot;</keyword>
<keyword>/</keyword>
<keyword>/MOD</keyword>
<keyword>0&lt;</keyword>
<keyword>0=</keyword>
<keyword>1\+</keyword>
<keyword>1-</keyword>
<keyword>2!</keyword>
<keyword>2\*</keyword>
<keyword>2/</keyword>
<keyword>2@</keyword>
<keyword>2DROP</keyword>
<keyword>2DUP</keyword>
<keyword>2OVER</keyword>
<keyword>2SWAP</keyword>
<keyword>:</keyword>
<keyword>;</keyword>
<keyword>&lt;</keyword>
<keyword>&lt;#</keyword>
<keyword>=</keyword>
<keyword>&gt;</keyword>
<keyword>&gt;BODY</keyword>
<keyword>&gt;IN</keyword>
<keyword>&gt;NUMBER</keyword>
<keyword>&gt;R</keyword>
<keyword>\?DUP</keyword>
<keyword>@</keyword>
<keyword>ABORT</keyword>
<keyword>ABORT&quot;</keyword>
<keyword>ABS</keyword>
<keyword>ACCEPT</keyword>
<keyword>ALIGN</keyword>
<keyword>ALIGNED</keyword>
<keyword>ALLOT</keyword>
<keyword>AND</keyword>
<keyword>BASE</keyword>
<keyword>BEGIN</keyword>
<keyword>BL</keyword>
<keyword>C!</keyword>
<keyword>C,</keyword>
<keyword>C@</keyword>
<keyword>CELL\+</keyword>
<keyword>CELLS</keyword>
<keyword>CHAR</keyword>
<keyword>CHAR\+</keyword>
<keyword>CHARS</keyword>
<keyword>CONSTANT</keyword>
<keyword>COUNT</keyword>
<keyword>CR</keyword>
<keyword>CREATE</keyword>
<keyword>DECIMAL</keyword>
<keyword>DEPTH</keyword>
<keyword>DO</keyword>
<keyword>DOES&gt;</keyword>
<keyword>DROP</keyword>
<keyword>DUP</keyword>
<keyword>ELSE</keyword>
<keyword>EMIT</keyword>
<keyword>ENVIRONMENT\?</keyword>
<keyword>EVALUATE</keyword>
<keyword>EXECUTE</keyword>
<keyword>EXIT</keyword>
<keyword>FILL</keyword>
<keyword>FIND</keyword>
<keyword>FM/MOD</keyword>
<keyword>HERE</keyword>
<keyword>HOLD</keyword>
<keyword>I</keyword>
<keyword>IF</keyword>
<keyword>IMMEDIATE</keyword>
<keyword>INVERT</keyword>
<keyword>J</keyword>
<keyword>KEY</keyword>
<keyword>LEAVE</keyword>
<keyword>LITERAL</keyword>
<keyword>LOOP</keyword>
<keyword>LSHIFT</keyword>
<keyword>M\*</keyword>
<keyword>MAX</keyword>
<keyword>MIN</keyword>
<keyword>MOD</keyword>
<keyword>MOVE</keyword>
<keyword>NEGATE</keyword>
<keyword>OR</keyword>
<keyword>OVER</keyword>
<keyword>POSTPONE</keyword>
<keyword>QUIT</keyword>
<keyword>R&gt;</keyword>
<keyword>R@</keyword>
<keyword>RECURSE</keyword>
<keyword>REPEAT</keyword>
<keyword>ROT</keyword>
<keyword>RSHIFT</keyword>
<keyword>S&quot;</keyword>
<keyword>S&gt;D</keyword>
<keyword>SIGN</keyword>
<keyword>SM/REM</keyword>
<keyword>SOURCE</keyword>
<keyword>SPACE</keyword>
<keyword>SPACES</keyword>
<keyword>STATE</keyword>
<keyword>SWAP</keyword>
<keyword>THEN</keyword>
<keyword>TYPE</keyword>
<keyword>U\.</keyword>
<keyword>U&lt;</keyword>
<keyword>UM\*</keyword>
<keyword>UM/MOD</keyword>
<keyword>UNLOOP</keyword>
<keyword>UNTIL</keyword>
<keyword>VARIABLE</keyword>
<keyword>WHILE</keyword>
<keyword>WORD</keyword>
<keyword>XOR</keyword>
<keyword>\[</keyword>
<keyword>\[&apos;\]</keyword>
<keyword>\[CHAR\]</keyword>
<keyword>\]</keyword>
</context>
<context id="core-ext-keywords" style-ref="keyword">
<keyword>\.\(</keyword>
<keyword>\.R</keyword>
<keyword>0&lt;&gt;</keyword>
<keyword>0&gt;</keyword>
<keyword>2&gt;R</keyword>
<keyword>2R&gt;</keyword>
<keyword>2R@</keyword>
<keyword>:NONAME</keyword>
<keyword>&lt;&gt;</keyword>
<keyword>\?DO</keyword>
<keyword>AGAIN</keyword>
<keyword>C&quot;</keyword>
<keyword>CASE</keyword>
<keyword>COMPILE,</keyword>
<keyword>ENDCASE</keyword>
<keyword>ENDOF</keyword>
<keyword>ERASE</keyword>
<keyword>FALSE</keyword>
<keyword>HEX</keyword>
<keyword>MARKER</keyword>
<keyword>NIP</keyword>
<keyword>OF</keyword>
<keyword>PAD</keyword>
<keyword>PARSE</keyword>
<keyword>PICK</keyword>
<keyword>REFILL</keyword>
<keyword>RESTORE-INPUT</keyword>
<keyword>ROLL</keyword>
<keyword>SAVE-INPUT</keyword>
<keyword>SOURCE-ID</keyword>
<keyword>TO</keyword>
<keyword>TRUE</keyword>
<keyword>TUCK</keyword>
<keyword>U\.R</keyword>
<keyword>U&gt;</keyword>
<keyword>UNUSED</keyword>
<keyword>VALUE</keyword>
<keyword>WITHIN</keyword>
<keyword>\[COMPILE\]</keyword>
<keyword>\\</keyword>
</context>
<context id="obsolete-core-ext-keywords" style-ref="obs-keyword">
<keyword>#TIB</keyword>
<keyword>CONVERT</keyword>
<keyword>EXPECT</keyword>
<keyword>QUERY</keyword>
<keyword>SPAN</keyword>
<keyword>TIB</keyword>
</context>
<context id="block-keywords" style-ref="keyword">
<keyword>BLK</keyword>
<keyword>BLOCK</keyword>
<keyword>BUFFER</keyword>
<keyword>EVALUATE</keyword>
<keyword>FLUSH</keyword>
<keyword>LOAD</keyword>
<keyword>SAVE-BUFFERS</keyword>
<keyword>UPDATE</keyword>
</context>
<context id="block-ext-keywords" style-ref="keyword">
<keyword>EMPTY-BUFFERS</keyword>
<keyword>LIST</keyword>
<keyword>REFILL</keyword>
<keyword>SCR</keyword>
<keyword>THRU</keyword>
<keyword>\\</keyword>
</context>
<context id="double-keywords" style-ref="keyword">
<keyword>2CONSTANT</keyword>
<keyword>2LITERAL</keyword>
<keyword>2VARIABLE</keyword>
<keyword>D\+</keyword>
<keyword>D-</keyword>
<keyword>D\.</keyword>
<keyword>D\.R</keyword>
<keyword>D0&lt;</keyword>
<keyword>D0=</keyword>
<keyword>D2\*</keyword>
<keyword>D2/</keyword>
<keyword>D&lt;</keyword>
<keyword>D=</keyword>
<keyword>D&gt;S</keyword>
<keyword>DABS</keyword>
<keyword>DMAX</keyword>
<keyword>DMIN</keyword>
<keyword>DNEGATE</keyword>
<keyword>M\*/</keyword>
<keyword>M\+</keyword>
</context>
<context id="double-ext-keywords" style-ref="keyword">
<keyword>2ROT</keyword>
<keyword>DU&lt;</keyword>
</context>
<context id="exception-keywords" style-ref="keyword">
<keyword>CATCH</keyword>
<keyword>THROW</keyword>
</context>
<context id="exception-ext-keywords" style-ref="keyword">
<keyword>ABORT</keyword>
<keyword>ABORT&quot;</keyword>
</context>
<context id="facility-keywords" style-ref="keyword">
<keyword>AT-XY</keyword>
<keyword>KEY\?</keyword>
<keyword>PAGE</keyword>
</context>
<context id="facility-ext-keywords" style-ref="keyword">
<keyword>EKEY</keyword>
<keyword>EKEY&gt;CHAR</keyword>
<keyword>EKEY\?</keyword>
<keyword>EMIT\?</keyword>
<keyword>MS</keyword>
<keyword>TIME&amp;DATE</keyword>
</context>
<context id="file-keywords" style-ref="keyword">
<keyword>\(</keyword>
<keyword>BIN</keyword>
<keyword>CLOSE-FILE</keyword>
<keyword>CREATE-FILE</keyword>
<keyword>DELETE-FILE</keyword>
<keyword>FILE-POSITION</keyword>
<keyword>FILE-SIZE</keyword>
<keyword>INCLUDE-FILE</keyword>
<keyword>INCLUDED</keyword>
<keyword>OPEN-FILE</keyword>
<keyword>R/O</keyword>
<keyword>R/W</keyword>
<keyword>READ-FILE</keyword>
<keyword>READ-LINE</keyword>
<keyword>REPOSITION-FILE</keyword>
<keyword>RESIZE-FILE</keyword>
<keyword>S&quot;</keyword>
<keyword>SOURCE-ID</keyword>
<keyword>W/O</keyword>
<keyword>WRITE-FILE</keyword>
<keyword>WRITE-LINE</keyword>
</context>
<context id="file-ext-keywords" style-ref="keyword">
<keyword>FILE-STATUS</keyword>
<keyword>FLUSH-FILE</keyword>
<keyword>REFILL</keyword>
<keyword>RENAME-FILE</keyword>
</context>
<context id="floating-keywords" style-ref="keyword">
<keyword>&gt;FLOAT</keyword>
<keyword>D&gt;F</keyword>
<keyword>F!</keyword>
<keyword>F\*</keyword>
<keyword>F\+</keyword>
<keyword>F-</keyword>
<keyword>F/</keyword>
<keyword>F0&lt;</keyword>
<keyword>F0=</keyword>
<keyword>F&lt;</keyword>
<keyword>F&gt;D</keyword>
<keyword>F@</keyword>
<keyword>FALIGN</keyword>
<keyword>FALIGNED</keyword>
<keyword>FCONSTANT</keyword>
<keyword>FDEPTH</keyword>
<keyword>FDROP</keyword>
<keyword>FDUP</keyword>
<keyword>FLITERAL</keyword>
<keyword>FLOAT\+</keyword>
<keyword>FLOATS</keyword>
<keyword>FLOOR</keyword>
<keyword>FMAX</keyword>
<keyword>FMIN</keyword>
<keyword>FNEGATE</keyword>
<keyword>FOVER</keyword>
<keyword>FROT</keyword>
<keyword>FROUND</keyword>
<keyword>FSWAP</keyword>
<keyword>FVARIABLE</keyword>
<keyword>REPRESENT</keyword>
</context>
<context id="floating-ext-keywords" style-ref="keyword">
<keyword>DF!</keyword>
<keyword>DF@</keyword>
<keyword>DFALIGN</keyword>
<keyword>DFALIGNED</keyword>
<keyword>DFLOAT\+</keyword>
<keyword>DFLOATS</keyword>
<keyword>F\*\*</keyword>
<keyword>F\.</keyword>
<keyword>FABS</keyword>
<keyword>FACOS</keyword>
<keyword>FACOSH</keyword>
<keyword>FALOG</keyword>
<keyword>FASIN</keyword>
<keyword>FASINH</keyword>
<keyword>FATAN</keyword>
<keyword>FATAN2</keyword>
<keyword>FATANH</keyword>
<keyword>FCOS</keyword>
<keyword>FCOSH</keyword>
<keyword>FE\.</keyword>
<keyword>FEXP</keyword>
<keyword>FEXPM1</keyword>
<keyword>FLN</keyword>
<keyword>FLNP1</keyword>
<keyword>FLOG</keyword>
<keyword>FS\.</keyword>
<keyword>FSIN</keyword>
<keyword>FSINCOS</keyword>
<keyword>FSINH</keyword>
<keyword>FSQRT</keyword>
<keyword>FTAN</keyword>
<keyword>FTANH</keyword>
<keyword>F~</keyword>
<keyword>PRECISION</keyword>
<keyword>SET-PRECISION</keyword>
<keyword>SF!</keyword>
<keyword>SF@</keyword>
<keyword>SFALIGN</keyword>
<keyword>SFALIGNED</keyword>
<keyword>SFLOAT\+</keyword>
<keyword>SFLOATS</keyword>
</context>
<context id="local-keywords" style-ref="keyword">
<keyword>\(LOCAL\)</keyword>
<keyword>TO</keyword>
</context>
<context id="local-ext-keywords" style-ref="keyword">
<keyword>LOCALS\|</keyword>
</context>
<context id="memory-keywords" style-ref="keyword">
<keyword>ALLOCATE</keyword>
<keyword>FREE</keyword>
<keyword>RESIZE</keyword>
</context>
<context id="tools-keywords" style-ref="keyword">
<keyword>\.S</keyword>
<keyword>\?</keyword>
<keyword>DUMP</keyword>
<keyword>SEE</keyword>
<keyword>WORDS</keyword>
</context>
<context id="tools-ext-keywords" style-ref="keyword">
<keyword>;CODE</keyword>
<keyword>AHEAD</keyword>
<keyword>ASSEMBLER</keyword>
<keyword>BYE</keyword>
<keyword>CODE</keyword>
<keyword>CS-PICK</keyword>
<keyword>CS-ROLL</keyword>
<keyword>EDITOR</keyword>
<keyword>STATE</keyword>
<keyword>\[ELSE\]</keyword>
<keyword>\[IF\]</keyword>
<keyword>\[THEN\]</keyword>
</context>
<context id="obsolete-tools-ext-keywords" style-ref="obs-keyword">
<keyword>FORGET</keyword>
</context>
<context id="search-keywords" style-ref="keyword">
<keyword>DEFINITIONS</keyword>
<keyword>FIND</keyword>
<keyword>FORTH-WORDLIST</keyword>
<keyword>GET-CURRENT</keyword>
<keyword>GET-ORDER</keyword>
<keyword>SEARCH-WORDLIST</keyword>
<keyword>SET-CURRENT</keyword>
<keyword>SET-ORDER</keyword>
<keyword>WORDLIST</keyword>
</context>
<context id="search-ext-keywords" style-ref="keyword">
<keyword>ALSO</keyword>
<keyword>FORTH</keyword>
<keyword>ONLY</keyword>
<keyword>ORDER</keyword>
<keyword>PREVIOUS</keyword>
</context>
<context id="string-keywords" style-ref="keyword">
<keyword>-TRAILING</keyword>
<keyword>/STRING</keyword>
<keyword>BLANK</keyword>
<keyword>CMOVE</keyword>
<keyword>CMOVE&gt;</keyword>
<keyword>COMPARE</keyword>
<keyword>SEARCH</keyword>
<keyword>SLITERAL</keyword>
</context>
<context id="comment-multiline" style-ref="comment" class-disabled="no-spell-check">
<start>\%[\(\%]</start>
<end>\)</end>
<include>
<context sub-pattern="0" where="start" style-ref="keyword"/>
<context sub-pattern="0" where="end" style-ref="keyword"/>
<context ref="def:in-comment"/>
</include>
</context>
<context id="comment-single" style-ref="comment" end-at-line-end="true" class-disabled="no-spell-check">
<start>\%[\\\%]</start>
<include>
<context sub-pattern="0" where="start" style-ref="keyword"/>
<context ref="def:in-comment"/>
</include>
</context>
<context id="character-single" style-ref="keyword">
<match>\%[(CHAR|\[CHAR\])\s+(.)\%]</match>
<include>
<context sub-pattern="4" style-ref="character"/>
</include>
</context>
<context id="word-core" style-ref="keyword">
<match>\%[(:|[']|CREATE|POSTPONE)\s+(\S*)\%]</match>
<include>
<context sub-pattern="4" style-ref="word"/>
</include>
</context>
<context id="string-core" style-ref="string">
<start>\%[([.]&quot;|ABORT&quot;|S&quot;)\%]</start>
<end>&quot;</end>
<include>
<context sub-pattern="0" where="start" style-ref="keyword"/>
<context sub-pattern="0" where="end" style-ref="keyword"/>
</include>
</context>
<context id="parse-string-core" style-ref="keyword">
<match>\%[WORD\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="string"/>
</include>
</context>
<context id="constant-core" style-ref="keyword">
<match>\%[CONSTANT\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="constant"/>
</include>
</context>
<context id="variable-core" style-ref="keyword">
<match>\%[VARIABLE\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="variable"/>
</include>
</context>
<context id="word-core-ext" style-ref="keyword">
<match>\%[(MARKER|\[COMPILE\])\s+(\S*)\%]</match>
<include>
<context sub-pattern="4" style-ref="word"/>
</include>
</context>
<context id="string-core-ext" style-ref="string">
<start>\%[C&quot;\%]</start>
<end>&quot;</end>
<include>
<context sub-pattern="0" where="start" style-ref="keyword"/>
<context sub-pattern="0" where="end" style-ref="keyword"/>
</include>
</context>
<context id="parse-string-core-ext" style-ref="keyword">
<match>\%[PARSE\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="string"/>
</include>
</context>
<context id="display-string-core-ext" style-ref="string">
<start>\%[[.]\(\%]</start>
<end>\)</end>
<include>
<context sub-pattern="0" where="start" style-ref="keyword"/>
<context sub-pattern="0" where="end" style-ref="keyword"/>
</include>
</context>
<context id="variable-core-ext" style-ref="keyword">
<match>\%[(TO|VALUE)\s+(\S*)\%]</match>
<include>
<context sub-pattern="4" style-ref="variable"/>
</include>
</context>
<context id="constant-double" style-ref="keyword">
<match>\%[2CONSTANT\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="constant"/>
</include>
</context>
<context id="variable-double" style-ref="keyword">
<match>\%[2VARIABLE\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="variable"/>
</include>
</context>
<context id="constant-floating" style-ref="keyword">
<match>\%[FCONSTANT\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="constant"/>
</include>
</context>
<context id="variable-floating" style-ref="keyword">
<match>\%[FVARIABLE\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="variable"/>
</include>
</context>
<context id="variable-local-ext" style-ref="local-variable">
<start>\%[LOCALS\|\%]</start>
<end>\|</end>
<include>
<context sub-pattern="0" where="start" style-ref="keyword"/>
<context sub-pattern="0" where="end" style-ref="keyword"/>
</include>
</context>
<context id="word-tools" style-ref="keyword">
<match>\%[SEE\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="word"/>
</include>
</context>
<context id="word-tools-ext" style-ref="keyword">
<match>\%[CODE\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="word"/>
</include>
</context>
<context id="word-obs-tools-ext" style-ref="obs-keyword">
<match>\%[FORGET\s+(\S*)\%]</match>
<include>
<context sub-pattern="3" style-ref="word"/>
</include>
</context>
<context id="number-single" style-ref="single-number">
<match>\%[[-]?[0-9]+\%]</match>
</context>
<context id="number-double" style-ref="double-number">
<match>\%[[-]?[0-9]+[.][0-9]*\%]</match>
</context>
<context id="number-float" style-ref="float">
<match>\%[([+]|[-])?([0-9]+[.]?[0-9]*)(E|e)([+]|[-])?([0-9]*)\%]</match>
</context>
<context id="ansforth94" class="no-spell-check">
<include>
<context ref="comment-multiline"/>
<context ref="comment-single"/>
<context ref="character-single"/>
<context ref="word-core"/>
<context ref="string-core"/>
<context ref="parse-string-core"/>
<context ref="constant-core"/>
<context ref="variable-core"/>
<context ref="comment-single"/>
<context ref="word-core-ext"/>
<context ref="string-core-ext"/>
<context ref="parse-string-core-ext"/>
<context ref="display-string-core-ext"/>
<context ref="variable-core-ext"/>
<context ref="constant-double"/>
<context ref="variable-double"/>
<context ref="constant-floating"/>
<context ref="variable-floating"/>
<context ref="variable-local-ext"/>
<context ref="word-tools"/>
<context ref="word-tools-ext"/>
<context ref="word-obs-tools-ext"/>
<context ref="core-keywords"/>
<context ref="core-ext-keywords"/>
<context ref="obsolete-core-ext-keywords"/>
<context ref="block-keywords"/>
<context ref="block-ext-keywords"/>
<context ref="double-keywords"/>
<context ref="double-ext-keywords"/>
<context ref="exception-keywords"/>
<context ref="exception-ext-keywords"/>
<context ref="facility-keywords"/>
<context ref="facility-ext-keywords"/>
<context ref="file-keywords"/>
<context ref="file-ext-keywords"/>
<context ref="floating-keywords"/>
<context ref="floating-ext-keywords"/>
<context ref="local-keywords"/>
<context ref="local-ext-keywords"/>
<context ref="memory-keywords"/>
<context ref="tools-keywords"/>
<context ref="tools-ext-keywords"/>
<context ref="obsolete-tools-ext-keywords"/>
<context ref="search-keywords"/>
<context ref="search-ext-keywords"/>
<context ref="string-keywords"/>
<context ref="number-single"/>
<context ref="number-double"/>
<context ref="number-float"/>
</include>
</context>
</definitions>
</language>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: P. F. Chimento <philip.chimento@gmail.com>
Copyright (C) 2011 P. F. Chimento <philip.chimento@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="automake" name="Automake" version="2.0" _section="Source">
<metadata>
<property name="globs">Makefile.am;GNUmakefile.am</property>
<property name="line-comment-start">#</property>
</metadata>
<!--
Early versions of this were based on Vim's Automake syntax highlighting
file. This language definition is for Automake's Makefile.am files. It is
based on the definition of Makefile, except it highlights Makefile variables
which are significant to Automake, as well as Autoconf-style @variable@
substitutions.
-->
<styles>
<style id="lhs" name="Automake Variable" map-to="def:identifier"/>
<style id="primary" name="Primary" map-to="def:type"/>
<style id="secondary" name="Secondary" map-to="def:statement"/>
<style id="prefix" name="Prefix" map-to="def:statement"/>
<style id="target" name="Optional Target" map-to="def:statement"/>
<style id="dirname" name="Built-in Target" map-to="def:statement"/>
<style id="keyword" name="Other Keyword" map-to="def:statement"/>
<style id="subst" name="Substitution" map-to="def:preprocessor"/>
</styles>
<definitions>
<!-- Allow substitutions on RHS of assignment -->
<replace id="makefile:assignment-rhs" ref="assignment-rhs"/>
<!-- Also allow substitutions in makefile's shell code -->
<replace id="makefile:command" ref="command"/>
<!-- Also allow substitutions in automake variable names, that's why the
@ is in here; as in libfoobar_@VERSION@_SOURCES -->
<define-regex id="variable">[A-Za-z0-9_@]+</define-regex>
<!-- What is allowed on a line before an Automake variable - no tabs! -->
<define-regex id="space">^ *</define-regex>
<!-- What must come after an Automake variable - one of the assignment
operators =, +=, ?=, := (Not sure what := does, but Webkit's GNUmakefile.am
uses it, for example -->
<define-regex id="operator">\s*[\+\?:]?=</define-regex>
<!-- Prefixes for primaries and secondaries -->
<define-regex id="prefix">(?:no)?dist|no(?:base|trans)</define-regex>
<!-- "Primaries", or the last component of Product List Variables -->
<define-regex id="primary" extended="true">
PROGRAMS|
(?:LT)?LIBRARIES|
LISP|
PYTHON|
JAVA|
SCRIPTS|
DATA|
HEADERS|
MANS|
TEXINFOS
</define-regex>
<!-- Non-directory installation targets -->
<define-regex id="target">noinst|check|EXTRA</define-regex>
<!-- The list of things that can go before "FLAGS" -->
<define-regex id="flags" extended="true">
C|
CCAS|
CPP|
CXX|
F|
GCJ|
JAVAC|
L|
LD|
LIBTOOL|
(?:[A-Z]+_)?LOG|
MAKEINFO(?:HTML)?|
OBJC|
R|
UPC|
VALA|
Y
</define-regex>
<!-- "Secondaries", or the last component of Product Source Variables -->
<define-regex id="secondary" extended="true">
AR|
DEPENDENCIES|
LDADD|
LIBADD|
LINK|
SHORTNAME|
SOURCES|
\%{flags}FLAGS
</define-regex>
<!-- Names of other Automake variables that aren't primaries, secondaries,
flags, or target directories -->
<define-regex id="keyword" extended="true">
ACLOCAL_AMFLAGS|
AM_DEFAULT_SOURCE_EXT|
AUTOMAKE_OPTIONS|
BUILT_SOURCES|
CC|
CLASSPATH_ENV|
(?:DIST|MAINTAINER|MOSTLY)?CLEANFILES|
COMPILE|
(?:CXX|FC|OBJC|UPC)(?:COMPILE|LINK)?|
DEFAULT_INCLUDES|
DEFS|
DISTCHECK_CONFIGURE_FLAGS|
DVIPS|
ETAGS_ARGS|
EXTRA_DIST|
F77(?:COMPILE)?|
FLINK|
INCLUDE|
JAVAC|
JAVAROOT|
LIBS|
LINK|
(?:[A-Z]+_)?LOG_COMPILER|
MAKEINFO(?:HTML)?|
(?:OMIT|TAGS)_DEPENDENCIES|
(?:DIST_)?SUBDIRS|
SUFFIXES|
(?:AM_)?TESTS_ENVIRONMENT|
TESTS|
TEXI2(?:DVI|PDF)|
TEXINFO_TEX|
VALAC
</define-regex>
<!-- Predefined directory targets -->
<define-regex id="dirname" extended="true">
s?bin|
(?:pkg)?lib(?:exec)?|
(?:pkg)?data|
(?:pkg|old)?include|
dataroot|
sysconf|
(?:shared|local)state|
doc|
info|
html|
dvi|
pdf|
ps|
lisp|
locale|
man[1-8]?(?:ext)?|
src|
(?:pkg)?python|
(?:pkg)?pyexec
</define-regex>
<!-- Substitutions from AC_SUBST -->
<context id="subst" style-ref="subst">
<match>@\%{variable}@</match>
</context>
<!-- Lines starting with ## are not copied into Makefile.in, and no
substitutions are performed -->
<context id="nosubcomment" end-at-line-end="true" class-disabled="no-spell-check">
<start>^##</start>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<!-- Copy of def:shell-like-comment, except it includes substitutions -->
<context id="comment" end-at-line-end="true" class-disabled="no-spell-check">
<start>#</start>
<include>
<context ref="subst"/>
<context ref="def:in-comment"/>
</include>
</context>
<!-- Assignment to a FLAGS variable -->
<context id="flags-assignment" end-at-line-end="true">
<start>\%{space}((?:AM_)?\%{flags}FLAGS)\%{operator}</start>
<include>
<context sub-pattern="1" where="start" style-ref="keyword"/>
<context ref="assignment-rhs"/>
</include>
</context>
<!-- Assignment to a non-primary, secondary, flags, or dir variable -->
<context id="keyword-assignment" end-at-line-end="true">
<start>\%{space}(\%{keyword})\%{operator}</start>
<include>
<context sub-pattern="1" where="start" style-ref="keyword"/>
<context ref="assignment-rhs"/>
</include>
</context>
<!-- Assignment to a primary. The subpatterns are named. Subpattern names
must not conflict subpattern names in other expressions, so some are
prefixed with a 'p' -->
<context id="primary-assignment" end-at-line-end="true">
<start extended="true">
\%{space} # beginning of line
(?P&lt;pprefix&gt;(?:\%{prefix}_)*) # any number of prefixes_
(?: # either...
(?P&lt;target&gt;\%{target})| # ...a nondir target (e.g. noinst),
(?P&lt;dirname&gt;\%{dirname})| # ...a dir target (e.g. bin)
(?P&lt;pvariable&gt;\%{variable}) # ...or a user-defined dir
)
(?P&lt;primary&gt;_\%{primary}) # and a _PRIMARY
\%{operator} # an assignment operator
</start>
<include>
<context sub-pattern="primary" where="start" style-ref="primary"/>
<context sub-pattern="pprefix" where="start" style-ref="prefix"/>
<context sub-pattern="target" where="start" style-ref="target"/>
<context sub-pattern="dirname" where="start" style-ref="dirname"/>
<context sub-pattern="pvariable" where="start" style-ref="lhs"/>
<context ref="assignment-rhs"/>
</include>
</context>
<!-- Assignment to a secondary. Again, some subpatterns have to be prefixed
with an 's' -->
<context id="secondary-assignment" end-at-line-end="true">
<start extended="true">
\%{space} # beginning of line
(?P&lt;sprefix&gt;
(?:(?:\%{prefix}|EXTRA)_)*) # any number of prefix_ or EXTRA_
(?P&lt;svariable&gt;\%{variable}) # the canonicalized_program_name
(?P&lt;secondary&gt;_\%{secondary}) # and a _SECONDARY
\%{operator} # an assignment operator
</start>
<include>
<context sub-pattern="sprefix" where="start" style-ref="prefix"/>
<context sub-pattern="svariable" where="start" style-ref="lhs"/>
<context sub-pattern="secondary" where="start" style-ref="secondary"/>
<context ref="assignment-rhs"/>
</include>
</context>
<!-- Assignment to a directory variable (e.g. foobardir) -->
<context id="dir-assignment" end-at-line-end="true">
<start>\%{space}(\%{variable})(dir)\%{operator}</start>
<include>
<context id="dir-lhs" sub-pattern="1" where="start" style-ref="lhs"/>
<context id="dir" sub-pattern="2" where="start" style-ref="keyword"/>
<context ref="assignment-rhs"/>
</include>
</context>
<!-- What is allowed on the right-hand side of an assignment -->
<context id="assignment-rhs" end-at-line-end="true">
<start></start>
<include>
<context ref="def:line-continue"/>
<context ref="def:shell-like-comment"/>
<context ref="makefile:variable"/>
<context ref="makefile:string"/>
<context ref="def:single-quoted-string"/>
<context ref="sh:backtick-subshell"/>
<context ref="subst"/>
</include>
</context>
<!-- Copy of makefile:command, except it includes substitutions -->
<context id="command" extend-parent="false" end-at-line-end="true">
<start></start>
<include>
<context ref="def:line-continue"/>
<context ref="subst"/>
<context ref="sh:sh" original="true"/>
</include>
</context>
<!-- All the contexts listed here represent an assignment to a variable
(Automake variable or otherwise), and they all contain the "assignment-rhs"
context -->
<context id="assignment">
<include>
<context ref="flags-assignment"/>
<context ref="keyword-assignment"/>
<context ref="primary-assignment"/>
<context ref="secondary-assignment"/>
<context ref="dir-assignment"/>
<context ref="makefile:assignment"/>
</include>
</context>
<!-- The main context -->
<context id="automake">
<include>
<context ref="makefile:directives" style-ref="def:keyword"/>
<context ref="makefile:functions" style-ref="def:function"/>
<context ref="subst" style-ref="subst"/>
<!-- Must come before 'comment' -->
<context ref="nosubcomment" style-ref="def:comment"/>
<context ref="comment" style-ref="def:comment"/>
<context ref="assignment"/>
<!-- Must come after 'comment', otherwise we can get rules starting
with #; must also come after 'assignment' because of := operator -->
<context ref="makefile:rule"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Paolo Borelli <pborelli@gnome.org>
Copyright (C) 2007 Paolo Borelli
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="awk" name="awk" version="2.0" _section="Script">
<metadata>
<property name="mimetypes">application/x-awk</property>
<property name="globs">*.awk</property>
<property name="line-comment-start">#</property>
</metadata>
<styles>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="pattern" name="Pattern" map-to="def:preprocessor"/>
<style id="variable" name="Variable" map-to="def:identifier"/>
<style id="builtin-function" name="Builtin Function" map-to="def:builtin"/>
</styles>
<definitions>
<context id="keywords" style-ref="keyword">
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>do</keyword>
<keyword>delete</keyword>
<keyword>else</keyword>
<keyword>exit</keyword>
<keyword>for</keyword>
<keyword>function</keyword>
<keyword>getline</keyword>
<keyword>if</keyword>
<keyword>next</keyword>
<keyword>nextfile</keyword>
<keyword>print</keyword>
<keyword>printf</keyword>
<keyword>return</keyword>
<keyword>while</keyword>
</context>
<context id="patterns" style-ref="pattern">
<keyword>BEGIN</keyword>
<keyword>END</keyword>
</context>
<context id="variables" style-ref="variable">
<keyword>ARGC</keyword>
<keyword>ARGV</keyword>
<keyword>FILENAME</keyword>
<keyword>FNR</keyword>
<keyword>FS</keyword>
<keyword>NF</keyword>
<keyword>NR</keyword>
<keyword>OFMT</keyword>
<keyword>OFS</keyword>
<keyword>ORS</keyword>
<keyword>RLENGTH</keyword>
<keyword>RS</keyword>
<keyword>RSTART</keyword>
<keyword>SUBSEP</keyword>
<keyword>ARGIND</keyword>
<keyword>BINMODE</keyword>
<keyword>CONVFMT</keyword>
<keyword>ENVIRON</keyword>
<keyword>ERRNO</keyword>
<keyword>FIELDWIDTHS</keyword>
<keyword>IGNORECASE</keyword>
<keyword>LINT</keyword>
<keyword>PROCINFO</keyword>
<keyword>RT</keyword>
<keyword>RLENGTH</keyword>
<keyword>TEXTDOMAIN</keyword>
</context>
<context id="built-in-functions" style-ref="builtin-function">
<keyword>gsub</keyword>
<keyword>index</keyword>
<keyword>length</keyword>
<keyword>match</keyword>
<keyword>split</keyword>
<keyword>sprintf</keyword>
<keyword>sub</keyword>
<keyword>substr</keyword>
<keyword>tolower</keyword>
<keyword>toupper</keyword>
</context>
<context id="arithmetic-functions" style-ref="builtin-function">
<keyword>atan2</keyword>
<keyword>cos</keyword>
<keyword>exp</keyword>
<keyword>int</keyword>
<keyword>log</keyword>
<keyword>rand</keyword>
<keyword>sin</keyword>
<keyword>sqrt</keyword>
<keyword>srand</keyword>
</context>
<context id="field-variable" style-ref="variable">
<match>\$\d+</match>
</context>
<context id="awk">
<include>
<context ref="def:shebang"/>
<context ref="def:shell-like-comment"/>
<context ref="def:string"/>
<context ref="keywords"/>
<context ref="patterns"/>
<context ref="variables"/>
<context ref="field-variable"/>
<context ref="built-in-functions"/>
<context ref="arithmetic-functions"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,266 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Authors: Oscar Torrent Artero, Joseba García Etxebarria
Copyright (C) 2009 Oscar Torrent Artero <q2dg@yahoo.es>
Copyright (C) 2010 Joseba García Etxebarria <joseba.gar@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="bennugd" name="BennuGD" version="2.0" _section="Source">
<metadata>
<property name="globs">*.prg</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="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="identifier" name="Identifier" map-to="def:identifier"/>
<style id="operator" name="Operator" map-to="def:operator"/>
<style id="keywords" name="Keyword" map-to="def:keyword"/>
<style id="types" name="Data Type" map-to="def:type"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
</styles>
<default-regex-options case-sensitive="false" />
<definitions>
<!--regexs-->
<define-regex id="symbolchar">[-!+\\|=:&amp;&gt;&lt;]</define-regex>
<define-regex id="preproc-start">^\s*#\s*</define-regex>
<!--Preprocessor -->
<context id="preprocessor" style-ref="preprocessor" end-at-line-end="true">
<start extended="true">
\%{preproc-start}
(define|if(n?def)?|else|elsif|endif)
\b
</start>
<include>
<context ref="def:line-continue" ignore-style="true"/>
<context ref="c:string" ignore-style="true"/>
<context ref="def:c-like-comment"/>
<context ref="def:c-like-comment-multiline"/>
</include>
</context>
<context id="boolean" style-ref="boolean">
<keyword>false</keyword>
<keyword>true</keyword>
</context>
<context id="float" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
([0-9]+[Ee][+-]?[0-9]+ |
([0-9]*\.[0-9]+ | [0-9]+\.[0-9]*)([Ee][+-]?[0-9]+)?)
(?![\w\.])
</match>
</context>
<context id="decimal-number" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[+-]?([1-9][0-9]*|0)
(?![\w\.])
</match>
</context>
<context id="hexadecimal-number" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
[+-]?0x[0-9a-fA-F]+
(?![\w\.])
</match>
</context>
<!--Keywords -->
<context id="keywords" style-ref="keywords">
<keyword>begin</keyword>
<keyword>break</keyword>
<keyword>call</keyword>
<keyword>case</keyword>
<keyword>clone</keyword>
<keyword>const</keyword>
<keyword>continue</keyword>
<keyword>debug</keyword>
<keyword>declare</keyword>
<keyword>default</keyword>
<keyword>dup</keyword>
<keyword>elif</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>elsif</keyword>
<keyword>end</keyword>
<keyword>error</keyword>
<keyword>exit</keyword>
<keyword>for</keyword>
<keyword>frame</keyword>
<keyword>from</keyword>
<keyword>function</keyword>
<keyword>global</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>import</keyword>
<keyword>include</keyword>
<keyword>jmp</keyword>
<keyword>local</keyword>
<keyword>loop</keyword>
<keyword>mod</keyword>
<keyword>mouse</keyword>
<keyword>next</keyword>
<keyword>offset</keyword>
<keyword>on</keyword>
<keyword>onerror</keyword>
<keyword>onexit</keyword>
<keyword>private</keyword>
<keyword>process</keyword>
<keyword>program</keyword>
<keyword>public</keyword>
<keyword>repeat</keyword>
<keyword>resume</keyword>
<keyword>return</keyword>
<keyword>sizeof</keyword>
<keyword>step</keyword>
<keyword>switch</keyword>
<keyword>to</keyword>
<keyword>until</keyword>
<keyword>while</keyword>
</context>
<context id="globals" style-ref="keywords">
<keyword>argc</keyword>
<keyword>argv</keyword>
<keyword>os_id</keyword>
</context>
<context id="locals" style-ref="keywords">
<keyword>bigbro</keyword>
<keyword>father</keyword>
<keyword>frame_percent</keyword>
<keyword>id</keyword>
<keyword>process_type</keyword>
<keyword>reserved</keyword>
<keyword>reserved.frame_percent</keyword>
<keyword>reserved.process_type</keyword>
<keyword>reserved.saved_priority</keyword>
<keyword>reserved.saved_status</keyword>
<keyword>reserved.status</keyword>
<keyword>saved_priority</keyword>
<keyword>saved_status</keyword>
<keyword>smallbro</keyword>
<keyword>status</keyword>
<keyword>son</keyword>
</context>
<context id="operators" style-ref="operator" extend-parent="false">
<prefix>(?&lt;!\%{symbolchar})</prefix>
<suffix>(?!\%{symbolchar})</suffix>
<keyword>==</keyword>
<keyword>!=</keyword>
<keyword>!</keyword>
<keyword>&lt;</keyword>
<keyword>&gt;</keyword>
<keyword>&lt;=</keyword>
<keyword>&gt;=</keyword>
<keyword>&amp;&amp;</keyword>
<keyword>&amp;</keyword>
<keyword>=</keyword>
<keyword>||</keyword>
<keyword>|</keyword>
<keyword>^^</keyword>
<keyword>^</keyword>
</context>
<context id="types" style-ref="types">
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>dword</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>pointer</keyword>
<keyword>short</keyword>
<keyword>signed</keyword>
<keyword>string</keyword>
<keyword>struct</keyword>
<keyword>type</keyword>
<keyword>unsigned</keyword>
<keyword>word</keyword>
</context>
<context id="commonmacros" style-ref="preprocessor">
<keyword>COMPILER_VERSION</keyword>
<keyword>__DATE__</keyword>
<keyword>__FILE__</keyword>
<keyword>__LINE__</keyword>
<keyword>max_byte</keyword>
<keyword>max_dword</keyword>
<keyword>max_int</keyword>
<keyword>max_sbyte</keyword>
<keyword>max_short</keyword>
<keyword>max_word</keyword>
<keyword>min_byte</keyword>
<keyword>min_dword</keyword>
<keyword>min_int</keyword>
<keyword>min_sbyte</keyword>
<keyword>min_short</keyword>
<keyword>min_word</keyword>
<keyword>null</keyword>
<keyword>os_beos</keyword>
<keyword>os_bsd</keyword>
<keyword>os_dc</keyword>
<keyword>os_gp32</keyword>
<keyword>os_linux</keyword>
<keyword>os_macos</keyword>
<keyword>os_win32</keyword>
<keyword>status_dead</keyword>
<keyword>status_frozen</keyword>
<keyword>status_killed</keyword>
<keyword>status_running</keyword>
<keyword>status_sleeping</keyword>
<keyword>status_waiting</keyword>
<keyword>__TIME__ </keyword>
<keyword>__VERSION__</keyword>
</context>
<context id="bennugd" class="no-spell-check">
<include>
<context ref="def:c-like-comment"/>
<context ref="def:c-like-comment-multiline"/>
<context ref="def:c-like-close-comment-outside-comment"/>
<context ref="preprocessor"/>
<context ref="c:string"/>
<context ref="c:char"/>
<context ref="boolean"/>
<context ref="float"/>
<context ref="decimal-number"/>
<context ref="hexadecimal-number"/>
<context ref="keywords"/>
<context ref="globals"/>
<context ref="locals"/>
<context ref="operators"/>
<context ref="types"/>
<context ref="commonmacros"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,120 @@
<?xml version="1.0"?>
<!--
This file is part of GtkSourceView
Author: Søren Hauberg <hauberg@gmail.com>
Copyright (C) 2009 Søren Hauberg <hauberg@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="bibtex" name="BibTeX" version="2.0" _section="Markup">
<metadata>
<property name="mimetypes">text/x-bibtex</property>
<property name="globs">*.bib</property>
<property name="line-comment-start">%</property>
</metadata>
<styles>
<style id="entry-type" name="Entries" map-to="def:keyword"/>
<style id="field" name="Field" map-to="def:identifier"/>
<style id="string" name="String" map-to="def:string"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<context id="entry-type" style-ref="entry-type" class="no-spell-check">
<prefix>@</prefix>
<keyword>article</keyword>
<keyword>book</keyword>
<keyword>booklet</keyword>
<keyword>conference</keyword>
<keyword>inbook</keyword>
<keyword>incollection</keyword>
<keyword>inproceedings</keyword>
<keyword>lambda</keyword>
<keyword>manual</keyword>
<keyword>mastersthesis</keyword>
<keyword>misc</keyword>
<keyword>online</keyword>
<keyword>phdthesis</keyword>
<keyword>proceedings</keyword>
<keyword>report</keyword>
<keyword>techreport</keyword>
<keyword>unpublished</keyword>
</context>
<context id="field" style-ref="field" class="no-spell-check">
<keyword>address</keyword>
<keyword>author</keyword>
<keyword>booktitle</keyword>
<keyword>chapter</keyword>
<keyword>crossref</keyword>
<keyword>doi</keyword>
<keyword>edition</keyword>
<keyword>editor</keyword>
<keyword>eprint</keyword>
<keyword>eprinttype</keyword>
<keyword>howpublished</keyword>
<keyword>institution</keyword>
<keyword>isbn</keyword>
<keyword>issn</keyword>
<keyword>journal</keyword>
<keyword>key</keyword>
<keyword>keywords</keyword>
<keyword>language</keyword>
<keyword>location</keyword>
<keyword>month</keyword>
<keyword>note</keyword>
<keyword>number</keyword>
<keyword>numpages</keyword>
<keyword>organization</keyword>
<keyword>pages</keyword>
<keyword>publisher</keyword>
<keyword>school</keyword>
<keyword>series</keyword>
<keyword>subtitle</keyword>
<keyword>title</keyword>
<keyword>type</keyword>
<keyword>url</keyword>
<keyword>urldate</keyword>
<keyword>volume</keyword>
<keyword>year</keyword>
</context>
<context id="string" class-disabled="no-spell-check">
<match extended="true">
=\s*(\{.*?\})|(".*?")
</match>
<include>
<context sub-pattern="1" style-ref="string" class="string"/>
<context sub-pattern="2" style-ref="string" class="string"/>
</include>
</context>
<context id="bibtex">
<include>
<context ref="latex:latex"/>
<context ref="entry-type"/>
<context ref="field"/>
<context ref="string"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Author: Philip Withnall
Copyright (C) 2012 Philip Withnall
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="bluespec" name="Bluespec SystemVerilog" version="2.0" _section="Source">
<metadata>
<property name="globs">*.bsv</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="system-task" name="System Task" map-to="def:keyword"/>
<style id="annotation" name="Annotation" map-to="def:function"/>
<style id="attribute" name="Attribute" map-to="def:type"/>
<style id="import-bvi" name="Import BVI" map-to="def:keyword"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="type" name="Type" map-to="def:type"/>
</styles>
<definitions>
<context id="system-task" style-ref="system-task">
<prefix>\$</prefix>
<keyword>display</keyword>
<keyword>dumpoff</keyword>
<keyword>dumpon</keyword>
<keyword>dumpvars</keyword>
<keyword>fclose</keyword>
<keyword>fdisplay</keyword>
<keyword>fflush</keyword>
<keyword>fgetc</keyword>
<keyword>finish</keyword>
<keyword>fopen</keyword>
<keyword>fwrite</keyword>
<keyword>stime</keyword>
<keyword>stop</keyword>
<keyword>test\$plusargs</keyword>
<keyword>time</keyword>
<keyword>ungetc</keyword>
<keyword>write</keyword>
</context>
<define-regex id="attributes-names" extended="true">
always_enabled|
always_ready|
CLK|
descending_urgency|
doc|
enable|
fire_when_enabled|
no_implicit_conditions|
noinline|
port|
preempts|
prefix|
ready|
result|
RST_N|
synthesize
</define-regex>
<context id="annotation" style-ref="annotation">
<start>\(\*\s*(\%{attributes-names})</start>
<end>\*\)</end>
<include>
<context sub-pattern="1" where="start" style-ref="attribute"/>
<context ref="verilog:string"/>
</include>
</context>
<context id="import-bvi" style-ref="import-bvi">
<keyword>ancestor</keyword>
<keyword>clocked_by</keyword>
<keyword>default_clock</keyword>
<keyword>default_reset</keyword>
<keyword>enable</keyword>
<keyword>input_clock</keyword>
<keyword>input_reset</keyword>
<keyword>method</keyword>
<keyword>no_reset</keyword>
<keyword>output_clock</keyword>
<keyword>output_reset</keyword>
<keyword>parameter</keyword>
<keyword>path</keyword>
<keyword>port</keyword>
<keyword>ready</keyword>
<keyword>reset_by</keyword>
<keyword>same_family</keyword>
<keyword>schedule</keyword>
</context>
<context id="keyword" style-ref="keyword">
<keyword>action</keyword>
<keyword>clocked_by</keyword>
<keyword>deriving</keyword>
<keyword>endaction</keyword>
<keyword>endfunction</keyword>
<keyword>endinterface</keyword>
<keyword>endmethod</keyword>
<keyword>endmodule</keyword>
<keyword>endpackage</keyword>
<keyword>endrule</keyword>
<keyword>endrules</keyword>
<keyword>enum</keyword>
<keyword>function</keyword>
<keyword>if</keyword>
<keyword>import</keyword>
<keyword>interface</keyword>
<keyword>let</keyword>
<keyword>match</keyword>
<keyword>method</keyword>
<keyword>module</keyword>
<keyword>numeric</keyword>
<keyword>package</keyword>
<keyword>provisos</keyword>
<keyword>reset_by</keyword>
<keyword>rule</keyword>
<keyword>rules</keyword>
<keyword>struct</keyword>
<keyword>tagged</keyword>
<keyword>type</keyword>
<keyword>typedef</keyword>
<keyword>union</keyword>
</context>
<context id="type" style-ref="type">
<keyword>Action</keyword>
<keyword>ActionValue</keyword>
<keyword>Bit</keyword>
<keyword>Bool</keyword>
<keyword>int</keyword>
<keyword>Int</keyword>
<keyword>Integer</keyword>
<keyword>Maybe</keyword>
<keyword>Nat</keyword>
<keyword>Rules</keyword>
<keyword>String</keyword>
<keyword>Tuple[2-7]</keyword>
<keyword>UInt</keyword>
</context>
<context id="standard-interface" style-ref="type">
<keyword>Client</keyword>
<keyword>ClientServer</keyword>
<keyword>Connectable</keyword>
<keyword>FIFO</keyword>
<keyword>FIFOF</keyword>
<keyword>Get</keyword>
<keyword>GetPut</keyword>
<keyword>PulseWire</keyword>
<keyword>Put</keyword>
<keyword>Reg</keyword>
<keyword>Server</keyword>
<keyword>Wire</keyword>
</context>
<context id="bluespec" class="no-spell-check">
<include>
<context ref="system-task"/>
<context ref="annotation"/>
<context ref="import-bvi"/>
<context ref="keyword"/>
<context ref="type"/>
<context ref="standard-interface"/>
<!-- Bluespec includes Verilog as a subset -->
<context ref="verilog:verilog"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,256 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Sebastian Dröge <slomo@circular-chaos.org>
Copyright (C) 2006 Sebastian Dröge <slomo@circular-chaos.org>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="boo" name="Boo" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-boo</property>
<property name="globs">*.boo</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="multiline-string" name="Multiline string" map-to="def:string"/>
<style id="string" name="String" map-to="def:string"/>
<style id="regex" name="Regular Expression" map-to="def:string"/>
<style id="namespace" name="Namespace" map-to="def:preprocessor"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="definition" name="Definition" map-to="def:keyword"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="special-variable" name="Special Variable" map-to="def:identifier"/>
<style id="null-value" name="Null Value" map-to="def:special-constant"/>
<style id="boolean" name="Boolean" map-to="def:boolean"/>
<style id="number" name="Number" map-to="def:number"/>
<style id="builtin" name="Builtin Function" map-to="def:builtin"/>
</styles>
<definitions>
<context id="c-style-line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="block-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="multiline-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
<start>"""</start>
<end>"""</end>
<include>
<context ref="def:escape"/>
</include>
</context>
<context id="double-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="regex" style-ref="regex" end-at-line-end="true">
<start>/(?!/)</start>
<end>/</end>
</context>
<context id="namespace" style-ref="namespace">
<keyword>as</keyword>
<keyword>from</keyword>
<keyword>import</keyword>
<keyword>namespace</keyword>
</context>
<context id="primitives" style-ref="type">
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>date</keyword>
<keyword>decimal</keyword>
<keyword>double</keyword>
<keyword>duck</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>object</keyword>
<keyword>operator</keyword>
<keyword>regex</keyword>
<keyword>sbyte</keyword>
<keyword>short</keyword>
<keyword>single</keyword>
<keyword>string</keyword>
<keyword>timespan</keyword>
<keyword>uint</keyword>
<keyword>ulong</keyword>
<keyword>ushort</keyword>
</context>
<context id="definitions" style-ref="definition">
<keyword>abstract</keyword>
<keyword>callable</keyword>
<keyword>class</keyword>
<keyword>constructor</keyword>
<keyword>def</keyword>
<keyword>destructor</keyword>
<keyword>do</keyword>
<keyword>enum</keyword>
<keyword>event</keyword>
<keyword>final</keyword>
<keyword>get</keyword>
<keyword>interface</keyword>
<keyword>internal</keyword>
<keyword>of</keyword>
<keyword>override</keyword>
<keyword>partial</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>return</keyword>
<keyword>set</keyword>
<keyword>static</keyword>
<keyword>struct</keyword>
<keyword>transient</keyword>
<keyword>virtual</keyword>
<keyword>yield</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>and</keyword>
<keyword>break</keyword>
<keyword>cast</keyword>
<keyword>continue</keyword>
<keyword>elif</keyword>
<keyword>else</keyword>
<keyword>ensure</keyword>
<keyword>except</keyword>
<keyword>for</keyword>
<keyword>given</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>isa</keyword>
<keyword>is</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>otherwise</keyword>
<keyword>pass</keyword>
<keyword>raise</keyword>
<keyword>ref</keyword>
<keyword>try</keyword>
<keyword>unless</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
</context>
<context id="special-variables" style-ref="special-variable">
<keyword>self</keyword>
<keyword>super</keyword>
</context>
<context id="null-value" style-ref="null-value">
<keyword>null</keyword>
</context>
<context id="boolean" style-ref="boolean">
<keyword>false</keyword>
<keyword>true</keyword>
</context>
<context id="numbers" style-ref="number">
<match extended="true">
(?&lt;![\w\.])
[0-9][0-9\.]*(m|ms|d|h|s|f|F|l|L)?
(?![\w\.])
</match>
</context>
<context id="builtins" style-ref="builtin">
<keyword>array</keyword>
<keyword>assert</keyword>
<keyword>checked</keyword>
<keyword>enumerate</keyword>
<keyword>__eval__</keyword>
<keyword>filter</keyword>
<keyword>getter</keyword>
<keyword>len</keyword>
<keyword>lock</keyword>
<keyword>map</keyword>
<keyword>matrix</keyword>
<keyword>max</keyword>
<keyword>min</keyword>
<keyword>normalArrayIndexing</keyword>
<keyword>print</keyword>
<keyword>property</keyword>
<keyword>range</keyword>
<keyword>rawArrayIndexing</keyword>
<keyword>required</keyword>
<keyword>__switch__</keyword>
<keyword>typeof</keyword>
<keyword>unchecked</keyword>
<keyword>using</keyword>
<keyword>yieldAll</keyword>
<keyword>zip</keyword>
</context>
<context id="boo" class="no-spell-check">
<include>
<context ref="def:shell-like-comment"/>
<context ref="c-style-line-comment"/>
<context ref="block-comment"/>
<context ref="multiline-string"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="regex"/>
<context ref="namespace"/>
<context ref="primitives"/>
<context ref="definitions"/>
<context ref="keywords"/>
<context ref="special-variables"/>
<context ref="null-value"/>
<context ref="boolean"/>
<context ref="numbers"/>
<context ref="builtins"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,343 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Marco Barisione, Emanuele Aina
Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
Copyright (C) 2005-2007 Emanuele Aina
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="c" name="C" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-c;text/x-csrc;image/x-xpixmap</property>
<property name="globs">*.c</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="string" name="String" map-to="def:string"/>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="common-defines" name="Common Defines" map-to="def:special-constant"/>
<style id="included-file" name="Included File" map-to="def:string"/>
<style id="char" name="Character" map-to="def:character"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="operator" name="Operator" map-to="def:operator"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="storage-class" name="Storage Class" map-to="def:type"/>
<style id="printf" name="printf Conversion" map-to="def:special-char"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="octal" name="Octal number" map-to="def:base-n-integer"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="standard-stream" name="Standard stream" map-to="def:constant"/>
<style id="signal-name" name="Signal name" map-to="def:constant"/>
<style id="error" name="Error" map-to="def:error"/>
</styles>
<definitions>
<!--regexs-->
<define-regex id="preproc-start">^\s*#\s*</define-regex>
<define-regex id="escaped-character" extended="true">
\\( # leading backslash
[\\\"\'nrbtfav\?] | # escaped character
[0-7]{1,3} | # one, two, or three octal digits
x[0-9A-Fa-f]+ # 'x' followed by hex digits
)
</define-regex>
<!--contexts NOT used on the main context-->
<!-- TODO: what about scanf ? -->
<!-- man 3 printf -->
<context id="printf" style-ref="printf" extend-parent="false">
<match extended="true">
\%\%|\%
(?:[1-9][0-9]*\$)? # argument
[#0\-\ \+\'I]* # flags
(?:[1-9][0-9]*|\*)? # width
(?:\.\-?(?:[0-9]+|\*))? # precision
(?:hh|ll|[hlLqjzt])? # length modifier
[diouxXeEfFgGaAcsCSpnm] # conversion specifier
</match>
</context>
<!--contexts used on the main context-->
<!-- Preprocessor -->
<context id="if0-comment" style-ref="comment">
<start>\%{preproc-start}if\b\s*0\b</start>
<end>\%{preproc-start}(endif|else|elif)\b</end>
<include>
<context id="if-in-if0">
<start>\%{preproc-start}if(n?def)?\b</start>
<end>\%{preproc-start}endif\b</end>
<include>
<context ref="if-in-if0"/>
<context ref="def:in-comment"/>
</include>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="include" style-ref="preprocessor">
<match extended="true">
\%{preproc-start}
(include|import)\s*
(".*?"|&lt;.*&gt;)
</match>
<include>
<context id="included-file" sub-pattern="2" style-ref="included-file" class="path"/>
</include>
</context>
<context id="preprocessor" style-ref="preprocessor" end-at-line-end="true">
<start extended="true">
\%{preproc-start}
(define|undef|error|pragma|ident|if(n?def)?|else|elif|endif|line|warning)
\b
</start>
<include>
<context ref="def:line-continue" ignore-style="true"/>
<context ref="string" ignore-style="true"/>
<context ref="def:c-like-comment"/>
<context ref="def:c-like-comment-multiline"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>L?"</start>
<end>"</end>
<include>
<context ref="printf"/>
<context id="escaped-character" style-ref="escaped-character">
<match>\%{escaped-character}</match>
</context>
<context ref="def:line-continue"/>
</include>
</context>
<context id="char" style-ref="char" class="string">
<match>L?'(\%{escaped-character}|.)'</match>
</context>
<!-- http://www.lysator.liu.se/c/ANSI-C-grammar-l.html -->
<context id="float" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]*)? |
([0-9]+[Ee][+-]?[0-9]*))
[fFlL]?
(?![\w\.])
</match>
</context>
<context id="hexadecimal" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
0[xX][a-fA-F0-9]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="invalid-hexadecimal" style-ref="error">
<match extended="true">
(?&lt;![\w\.])
0[xX][a-fA-F0-9]*[g-zG-Z][a-zA-Z0-9]*[uUlL]*
(?![\w\.])
</match>
</context>
<context id="octal" style-ref="octal">
<match extended="true">
(?&lt;![\w\.])
0[0-7]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="invalid-octal" style-ref="error">
<match extended="true">
(?&lt;![\w\.])
0[0-7]*[89][0-9]*[uUlL]*
(?![\w\.])
</match>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
(0|[1-9][0-9]*)[uUlL]*
(?![\w\.])
</match>
</context>
<context id="keywords" style-ref="keyword">
<keyword>asm</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>enum</keyword>
<keyword>for</keyword>
<keyword>fortran</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>return</keyword>
<keyword>struct</keyword>
<keyword>switch</keyword>
<keyword>typedef</keyword>
<keyword>union</keyword>
<keyword>while</keyword>
</context>
<context id="operators" style-ref="operator">
<keyword>(_A|a)lignof</keyword>
<keyword>_Generic</keyword>
<keyword>offsetof</keyword>
<keyword>(_S|s)tatic_assert</keyword>
<keyword>sizeof</keyword>
<keyword>typeof</keyword>
</context>
<context id="types" style-ref="type">
<keyword>_Bool</keyword>
<keyword>_Complex</keyword>
<keyword>_Imaginary</keyword>
<keyword>bool</keyword>
<keyword>char</keyword>
<keyword>char(16|32)_t</keyword>
<keyword>double(_t)?</keyword>
<keyword>float(_t)?</keyword>
<keyword>int</keyword>
<keyword>(u)?int(_least|_fast)?(8|16|32|64)_t</keyword>
<keyword>(u)?intmax_t</keyword>
<keyword>(u)?intptr_t</keyword>
<keyword>long</keyword>
<keyword>ptrdiff_t</keyword>
<keyword>off(64)?_t</keyword>
<keyword>short</keyword>
<keyword>signed</keyword>
<keyword>size_t</keyword>
<keyword>ssize_t</keyword>
<keyword>unsigned</keyword>
<keyword>void</keyword>
<keyword>wchar_t</keyword>
<keyword>wint_t</keyword>
</context>
<context id="storage-class" style-ref="storage-class">
<keyword>(_A|a)lignas</keyword>
<keyword>_Atomic</keyword>
<keyword>(_N|n)oreturn</keyword>
<keyword>(_T|t)hread_local</keyword>
<keyword>auto</keyword>
<keyword>const</keyword>
<keyword>extern</keyword>
<keyword>inline</keyword>
<keyword>register</keyword>
<keyword>restrict</keyword>
<keyword>static</keyword>
<keyword>volatile</keyword>
</context>
<!-- C99 booleans -->
<context id="boolean" style-ref="boolean">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="common-defines" style-ref="common-defines">
<keyword>NULL</keyword>
<keyword>MAX</keyword>
<keyword>MIN</keyword>
<keyword>TRUE</keyword>
<keyword>FALSE</keyword>
<keyword>__LINE__</keyword>
<keyword>__DATA__</keyword>
<keyword>__FILE__</keyword>
<keyword>__func__</keyword>
<keyword>__TIME__</keyword>
<keyword>__STDC__</keyword>
</context>
<context id="standard-streams" style-ref="standard-stream">
<keyword>stdin</keyword>
<keyword>stdout</keyword>
<keyword>stderr</keyword>
</context>
<context id="signals" style-ref="signal-name">
<keyword>SIGABRT</keyword>
<keyword>SIGALRM</keyword>
<keyword>SIGCHLD</keyword>
<keyword>SIGCONT</keyword>
<keyword>SIGFPE</keyword>
<keyword>SIGHUP</keyword>
<keyword>SIGILL</keyword>
<keyword>SIGINT</keyword>
<keyword>SIGKILL</keyword>
<keyword>SIGPIPE</keyword>
<keyword>SIGQUIT</keyword>
<keyword>SIGSEGV</keyword>
<keyword>SIGSTOP</keyword>
<keyword>SIGTERM</keyword>
<keyword>SIGTRAP</keyword>
<keyword>SIGTSTP</keyword>
<keyword>SIGTTIN</keyword>
<keyword>SIGTTOU</keyword>
<keyword>SIGUSR1</keyword>
<keyword>SIGUSR2</keyword>
</context>
<!--Main context-->
<context id="c" class="no-spell-check">
<include>
<context ref="gtk-doc:inline-docs-section"/>
<context ref="def:c-like-comment" style-ref="comment"/>
<context ref="def:c-like-comment-multiline" style-ref="comment"/>
<context ref="def:c-like-close-comment-outside-comment" style-ref="comment"/>
<context ref="if0-comment"/>
<context ref="include"/>
<context ref="preprocessor"/>
<context ref="string"/>
<context ref="char"/>
<context ref="float"/>
<context ref="hexadecimal"/>
<context ref="invalid-hexadecimal"/>
<context ref="octal"/>
<context ref="invalid-octal"/>
<context ref="decimal"/>
<context ref="keywords"/>
<context ref="operators"/>
<context ref="types"/>
<context ref="storage-class"/>
<context ref="boolean"/>
<context ref="common-defines"/>
<context ref="standard-streams"/>
<context ref="signals"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Jesse van den Kieboom <jessevdk@gnome.org>
Copyright (C) 2010 Jesse van den Kieboom <jessevdk@gnome.org>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="cg" _name="CG Shader Language" version="2.0" _section="Source">
<metadata>
<property name="globs">*.cg</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="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="bindings" name="Bindings" map-to="def:special-constant"/>
<style id="included-file" name="Included File" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="storage-class" name="Storage Class" map-to="def:builtin"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="octal" name="Octal number" map-to="def:base-n-integer"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="swizzle" name="Swizzle operator" map-to="def:operator"/>
<style id="function" name="Function" map-to="def:function"/>
<style id="builtin" name="Builtin" map-to="def:preprocessor"/>
</styles>
<definitions>
<!-- http://en.wikipedia.org/wiki/C_syntax#Strings -->
<define-regex id="escaped-character" extended="true">
\\( # leading backslash
[\\\"\'nrtfav\?e] | # escaped character
[0-7]{1,3} | # one, two, or three octal digits
x[0-9A-Fa-f]{0,2} # 'x' followed by zero, one, or two hex digits
)
</define-regex>
<context id="cg" class="no-spell-check">
<include>
<!-- Comments -->
<context id="comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="comment-multiline" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="close-comment-outside-comment" style-ref="error">
<match>\*/(?!\*)</match>
</context>
<!-- Preprocessor -->
<define-regex id="preproc-start">^\s*#\s*</define-regex>
<context id="include" style-ref="preprocessor">
<match extended="true">
\%{preproc-start}
(include|import)\s*
(".*?"|&lt;.*&gt;)
</match>
<include>
<context id="included-file" sub-pattern="2" style-ref="included-file"/>
</include>
</context>
<!-- http://www.lysator.liu.se/c/ANSI-C-grammar-l.html -->
<context id="float" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]*)? |
([0-9]+[Ee][+-]?[0-9]*))
[fFlL]?
(?![\w\.])
</match>
</context>
<context id="hexadecimal" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
0[xX][a-fA-F0-9]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="octal" style-ref="octal">
<match extended="true">
(?&lt;![\w\.])
0[0-7]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[0-9]+[uUlL]*
(?![\w\.])
</match>
</context>
<!-- Keywords -->
<context id="keywords" style-ref="keyword">
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>else</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>return</keyword>
<keyword>struct</keyword>
<keyword>switch</keyword>
<keyword>while</keyword>
</context>
<context id="types" style-ref="type">
<keyword>bool</keyword>
<keyword>float</keyword>
<keyword>float2</keyword>
<keyword>float3</keyword>
<keyword>float4</keyword>
<keyword>float2x2</keyword>
<keyword>float3x3</keyword>
<keyword>float4x4</keyword>
<keyword>int</keyword>
<keyword>half</keyword>
<keyword>fixed</keyword>
<keyword>void</keyword>
<keyword>sampler1D</keyword>
<keyword>sampler2D</keyword>
<keyword>sampler3D</keyword>
<keyword>samplerRECT</keyword>
<keyword>samplerCUBE</keyword>
</context>
<context id="storage-class" style-ref="storage-class">
<keyword>uniform</keyword>
<keyword>out</keyword>
<keyword>inout</keyword>
<keyword>in</keyword>
<keyword>varying</keyword>
</context>
<context id="bindings" style-ref="bindings">
<keyword>POSITION</keyword>
<keyword>NORMAL</keyword>
</context>
<context id="color-bindings" style-ref="bindings">
<match extended="true">COLOR[0-3]?</match>
</context>
<context id="texunit-bindings" style-ref="bindings">
<match extended="true">TEXUNIT([0-9]|1[0-5])?</match>
</context>
<context id="texcoord-bindings" style-ref="bindings">
<match extended="true">TEXCOORD[0-7]?</match>
</context>
<context id="swizzle">
<match extended="true">\.([xyzw]+|[rgba]+)</match>
<include>
<context id="swizzle-operator" sub-pattern="1" style-ref="swizzle"/>
</include>
</context>
<!-- C99 booleans -->
<context id="boolean" style-ref="boolean">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="builtin">
<match extended="true">
(mul|lit|lerp|saturate|abs|cos|acos|sin|asin|tan|atan|all|any|ceil|clamp|
cosh|cross|degress|determinant|dot|exp|exp2|floor|fmod|frac|frexp|isfinite|
isinf|isnan|ldexp|log|log2|log10|max|min|modf|noise|pow|radians|round|
rsqrt|sign|sincos|sinh|smoothstep|step|sqrt|tanh|transpose|distance|
faceforward|length|normalize|reflect|refract|tex1D|tex2D|tex3D|
tex1Dproj|tex2Dproj|tex3Dproj|texRECT|texRECTproj|texCUBE|texCUBEproj|
ddx|ddy|debug)\s*\(
</match>
<include>
<context id="builtin-name" sub-pattern="1" style-ref="builtin"/>
</include>
</context>
<context id="function">
<match extended="true">
([a-zA-Z_][a-zA-Z_0-9]*)\s*\(
</match>
<include>
<context id="function-name" sub-pattern="1" style-ref="function"/>
</include>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Jacob Ilsø Christensen, Paolo Borelli
Copyright (C) 2005 Jacob Ilsø Christensen <jacobilsoe@gmail.com>
Copyright (C) 2005 Paolo Borelli <pborelli@katamail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="changelog" name="ChangeLog" version="2.0" _section="Other">
<metadata>
<property name="mimetypes">text/x-changelog</property>
<property name="globs">ChangeLog*</property>
</metadata>
<styles>
<style id="date" name="Date" map-to="def:number"/>
<style id="name" name="Name" map-to="def:statement"/>
<style id="email" name="E-mail address" map-to="def:identifier"/>
<style id="file" name="File" map-to="def:comment"/>
<style id="bullet" name="Bullet" map-to="def:type"/>
<style id="function" name="Function" map-to="def:function"/>
<style id="release" name="Release" map-to="def:statement"/>
</styles>
<definitions>
<define-regex id="identifier">[A-Za-z_][A-Za-z0-9_]*</define-regex>
<define-regex id="weekday">Mon|Tue|Wed|Thu|Fri|Sat|Sun</define-regex>
<define-regex id="month">Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec</define-regex>
<define-regex id="date" extended="true">
\%{weekday}\s+\%{month}\s+\d{1,2}\s+(\d{1,2}:\d{1,2}:\d{1,2}\s+)?([aApP][mM]\s+)?(\w{3}\s+)?\d{4} | # Wed Jun 27 13:27:21 2007
\d{4}-\d{2}-\d{2} # 2007-06-28
</define-regex>
<context id="changelog">
<include>
<context id="date-and-stuff" class="no-spell-check">
<!-- FIXME: how to match date here? The date and name line is
something like (DATE) (NAME) <EMAIL>, where DATE and NAME may
be quite arbitrary. -->
<match extended="true">
^(?P&lt;date&gt;\%{date})\s+
(?P&lt;name&gt;.*)\s*
(?P&lt;email&gt;\&lt;[^\&lt;]+\&gt;)\s*$
</match>
<include>
<context sub-pattern="date" style-ref="date"/>
<context sub-pattern="name" style-ref="name"/>
<context sub-pattern="email" style-ref="email"/>
</include>
</context>
<context id="release" style-ref="release" class="no-spell-check">
<match>^\s*\=.*\=\s*$</match>
</context>
<context id="file" style-ref="file" class="no-spell-check">
<start>^\s+(\*)</start>
<!-- end at blank lines if there's no colon -->
<end>\:|^(?!\S)</end>
<include>
<context sub-pattern="1" where="start" style-ref="bullet"/>
</include>
</context>
<context id="function" style-ref="function" class="no-spell-check">
<match>\(\s*\%{identifier}\s*\)</match>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Marco Barisione, Emanuele Aina
Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
Copyright (C) 2005-2007 Emanuele Aina
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="chdr" _name="C/ObjC Header" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-chdr</property>
<property name="globs">*.h</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<!--
We include C++ and ObjC contexts since the .h extension
is also used for those languages. If you use .hh
or similar, we will use cpphdr.lang which is
basically the same thing, but having a separate lang file
allows a program to apply a language specific behavior,
for instance a different style for C++ headers.
-->
<definitions>
<context id="chdr">
<include>
<context ref="objc:objc-header"/>
<context ref="cpp:cpp-proper"/>
<context ref="c:c"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,817 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Yevgen Muntyan <muntyan@tamu.edu>
Copyright (C) 2008 Yevgen Muntyan
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="cmake" name="CMake" version="2.0" _section="Other">
<metadata>
<property name="globs">CMakeLists.txt;*.cmake;*.cmake.in;*.ctest;*.ctest.in</property>
<property name="line-comment-start">#</property>
<property name="block-comment-start">#[[</property>
<property name="block-comment-end">]]</property>
</metadata>
<styles>
<style id="builtin-command" name="Builtin Command" map-to="def:function"/>
<style id="deprecated-builtin-command" name="Deprecated Builtin Command" map-to="def:warning"/>
<style id="builtin-variable" name="Builtin Variable" map-to="def:builtin"/>
<style id="constant" name="Constant" map-to="def:constant"/>
<style id="operator" name="Operator" map-to="def:operator"/>
<style id="control" name="Control Keyword" map-to="def:keyword"/>
<style id="variable" name="Variable" map-to="makefile:variable"/>
<style id="quoted-argument" name="Quoted Argument" map-to="def:string"/>
<style id="bracket-argument" name="Bracket Argument" map-to="def:string"/>
<style id="legacy-syntax" name="Legacy Syntax" map-to="def:warning"/>
</styles>
<definitions>
<context id="builtin-command" style-ref="builtin-command">
<prefix>(?i)\b</prefix> <!-- case insensitive -->
<keyword>ADD_COMPILE_OPTIONS</keyword>
<keyword>ADD_CUSTOM_COMMAND</keyword>
<keyword>ADD_CUSTOM_TARGET</keyword>
<keyword>ADD_DEFINITIONS</keyword>
<keyword>ADD_DEPENDENCIES</keyword>
<keyword>ADD_EXECUTABLE</keyword>
<keyword>ADD_LIBRARY</keyword>
<keyword>ADD_SUBDIRECTORY</keyword>
<keyword>ADD_TEST</keyword>
<keyword>AUX_SOURCE_DIRECTORY</keyword>
<keyword>BUILD_COMMAND</keyword>
<keyword>CMAKE_HOST_SYSTEM_INFORMATION</keyword>
<keyword>CMAKE_MINIMUM_REQUIRED</keyword>
<keyword>CMAKE_PARSE_ARGUMENTS</keyword>
<keyword>CMAKE_POLICY</keyword>
<keyword>CONFIGURE_FILE</keyword>
<keyword>CREATE_TEST_SOURCELIST</keyword>
<keyword>CTEST_BUILD</keyword>
<keyword>CTEST_CONFIGURE</keyword>
<keyword>CTEST_COVERAGE</keyword>
<keyword>CTEST_EMPTY_BINARY_DIRECTORY</keyword>
<keyword>CTEST_MEMCHECK</keyword>
<keyword>CTEST_READ_CUSTOM_FILES</keyword>
<keyword>CTEST_RUN_SCRIPT</keyword>
<keyword>CTEST_SLEEP</keyword>
<keyword>CTEST_START</keyword>
<keyword>CTEST_SUBMIT</keyword>
<keyword>CTEST_TEST</keyword>
<keyword>CTEST_UPDATE</keyword>
<keyword>CTEST_UPLOAD</keyword>
<keyword>DEFINE_PROPERTY</keyword>
<keyword>ENABLE_LANGUAGE</keyword>
<keyword>ENABLE_TESTING</keyword>
<keyword>EXECUTE_PROCESS</keyword>
<keyword>EXPORT</keyword>
<keyword>FILE</keyword>
<keyword>FIND_FILE</keyword>
<keyword>FIND_LIBRARY</keyword>
<keyword>FIND_PACKAGE</keyword>
<keyword>FIND_PATH</keyword>
<keyword>FIND_PROGRAM</keyword>
<keyword>FLTK_WRAP_UI</keyword>
<keyword>GET_CMAKE_PROPERTY</keyword>
<keyword>GET_DIRECTORY_PROPERTY</keyword>
<keyword>GET_FILENAME_COMPONENT</keyword>
<keyword>GET_PROPERTY</keyword>
<keyword>GET_SOURCE_FILE_PROPERTY</keyword>
<keyword>GET_TARGET_PROPERTY</keyword>
<keyword>GET_TEST_PROPERTY</keyword>
<keyword>INCLUDE</keyword>
<keyword>INCLUDE_DIRECTORIES</keyword>
<keyword>INCLUDE_EXTERNAL_MSPROJECT</keyword>
<keyword>INCLUDE_GUARD</keyword>
<keyword>INCLUDE_REGULAR_EXPRESSION</keyword>
<keyword>INSTALL</keyword>
<keyword>LINK_DIRECTORIES</keyword>
<keyword>LINK_LIBRARIES</keyword>
<keyword>LIST</keyword>
<keyword>LOAD_CACHE</keyword>
<keyword>MARK_AS_ADVANCED</keyword>
<keyword>MATH</keyword>
<keyword>MESSAGE</keyword>
<keyword>OPTION</keyword>
<keyword>PROJECT</keyword>
<keyword>QT_WRAP_CPP</keyword>
<keyword>QT_WRAP_UI</keyword>
<keyword>REMOVE_DEFINITIONS</keyword>
<keyword>SEPARATE_ARGUMENTS</keyword>
<keyword>SET</keyword>
<keyword>SET_DIRECTORY_PROPERTIES</keyword>
<keyword>SET_PROPERTY</keyword>
<keyword>SET_SOURCE_FILES_PROPERTIES</keyword>
<keyword>SET_TARGET_PROPERTIES</keyword>
<keyword>SET_TESTS_PROPERTIES</keyword>
<keyword>SITE_NAME</keyword>
<keyword>SOURCE_GROUP</keyword>
<keyword>STRING</keyword>
<keyword>TARGET_COMPILE_DEFINITIONS</keyword>
<keyword>TARGET_COMPILE_FEATURES</keyword>
<keyword>TARGET_COMPILE_OPTIONS</keyword>
<keyword>TARGET_INCLUDE_DIRECTORIES</keyword>
<keyword>TARGET_LINK_LIBRARIES</keyword>
<keyword>TARGET_SOURCES</keyword>
<keyword>TRY_COMPILE</keyword>
<keyword>TRY_RUN</keyword>
<keyword>UNSET</keyword>
<keyword>VARIABLE_WATCH</keyword>
</context>
<context id="deprecated-builtin-command" style-ref="deprecated-builtin-command">
<prefix>(?i)\b</prefix> <!-- case insensitive -->
<keyword>BUILD_NAME</keyword>
<keyword>EXEC_PROGRAM</keyword>
<keyword>EXPORT_LIBRARY_DEPENDENCIES</keyword>
<keyword>INSTALL_FILES</keyword>
<keyword>INSTALL_PROGRAMS</keyword>
<keyword>INSTALL_TARGETS</keyword>
<keyword>LOAD_COMMAND</keyword>
<keyword>MAKE_DIRECTORY</keyword>
<keyword>OUTPUT_REQUIRED_FILES</keyword>
<keyword>REMOVE</keyword>
<keyword>SUBDIR_DEPENDS</keyword>
<keyword>SUBDIRS</keyword>
<keyword>USE_MANGLED_MESA</keyword>
<keyword>UTILITY_SOURCE</keyword>
<keyword>VARIABLE_REQUIRES</keyword>
<keyword>WRITE_FILE</keyword>
</context>
<context id="constant" style-ref="constant">
<prefix>(?i)\b</prefix> <!-- case insensitive -->
<keyword>FALSE</keyword>
<keyword>IGNORE</keyword>
<keyword>N</keyword>
<keyword>NO</keyword>
<keyword>(\w+-)?NOTFOUND</keyword>
<keyword>OFF</keyword>
<keyword>ON</keyword>
<keyword>TRUE</keyword>
<keyword>Y</keyword>
<keyword>YES</keyword>
</context>
<context id="builtin-variable" style-ref="builtin-variable">
<keyword>\w+_BINARY_DIR</keyword>
<keyword>\w+_SOURCE_DIR</keyword>
<keyword>\w+_VERSION</keyword>
<keyword>\w+_VERSION_MAJOR</keyword>
<keyword>\w+_VERSION_MINOR</keyword>
<keyword>\w+_VERSION_PATCH</keyword>
<keyword>\w+_VERSION_TWEAK</keyword>
<keyword>ANDROID</keyword>
<keyword>APPLE</keyword>
<keyword>BORLAND</keyword>
<keyword>BUILD_SHARED_LIBS</keyword>
<keyword>CMAKE_\w+_POSTFIX</keyword>
<keyword>CMAKE_\w+_ANDROID_TOOLCHAIN_MACHINE</keyword>
<keyword>CMAKE_\w+_ANDROID_TOOLCHAIN_PREFIX</keyword>
<keyword>CMAKE_\w+_ANDROID_TOOLCHAIN_SUFFIX</keyword>
<keyword>CMAKE_\w+_ARCHIVE_APPEND</keyword>
<keyword>CMAKE_\w+_ARCHIVE_CREATE</keyword>
<keyword>CMAKE_\w+_ARCHIVE_FINISH</keyword>
<keyword>CMAKE_\w+_CLANG_TIDY</keyword>
<keyword>CMAKE_\w+_COMPILER</keyword>
<keyword>CMAKE_\w+_COMPILER_ABI</keyword>
<keyword>CMAKE_\w+_COMPILER_AR</keyword>
<keyword>CMAKE_\w+_COMPILER_ARCHITECTURE_ID</keyword>
<keyword>CMAKE_\w+_COMPILER_EXTERNAL_TOOLCHAIN</keyword>
<keyword>CMAKE_\w+_COMPILER_ID</keyword>
<keyword>CMAKE_\w+_COMPILER_LAUNCHER</keyword>
<keyword>CMAKE_\w+_COMPILER_LOADED</keyword>
<keyword>CMAKE_\w+_COMPILER_PREDEFINES_COMMAND</keyword>
<keyword>CMAKE_\w+_COMPILER_RANLIB</keyword>
<keyword>CMAKE_\w+_COMPILER_TARGET</keyword>
<keyword>CMAKE_\w+_COMPILER_VERSION</keyword>
<keyword>CMAKE_\w+_COMPILER_VERSION_INTERNAL</keyword>
<keyword>CMAKE_\w+_COMPILE_OBJECT</keyword>
<keyword>CMAKE_\w+_CPPCHECK</keyword>
<keyword>CMAKE_\w+_CPPLINT</keyword>
<keyword>CMAKE_\w+_CREATE_SHARED_LIBRARY</keyword>
<keyword>CMAKE_\w+_CREATE_SHARED_MODULE</keyword>
<keyword>CMAKE_\w+_CREATE_STATIC_LIBRARY</keyword>
<keyword>CMAKE_\w+_FLAGS</keyword>
<keyword>CMAKE_\w+_FLAGS_DEBUG</keyword>
<keyword>CMAKE_\w+_FLAGS_DEBUG_INIT</keyword>
<keyword>CMAKE_\w+_FLAGS_INIT</keyword>
<keyword>CMAKE_\w+_FLAGS_MINSIZEREL</keyword>
<keyword>CMAKE_\w+_FLAGS_MINSIZEREL_INIT</keyword>
<keyword>CMAKE_\w+_FLAGS_RELEASE</keyword>
<keyword>CMAKE_\w+_FLAGS_RELEASE_INIT</keyword>
<keyword>CMAKE_\w+_FLAGS_RELWITHDEBINFO</keyword>
<keyword>CMAKE_\w+_FLAGS_RELWITHDEBINFO_INIT</keyword>
<keyword>CMAKE_\w+_GHS_KERNEL_FLAGS_DEBUG</keyword>
<keyword>CMAKE_\w+_GHS_KERNEL_FLAGS_MINSIZEREL</keyword>
<keyword>CMAKE_\w+_GHS_KERNEL_FLAGS_RELEASE</keyword>
<keyword>CMAKE_\w+_GHS_KERNEL_FLAGS_RELWITHDEBINFO</keyword>
<keyword>CMAKE_\w+_IGNORE_EXTENSIONS</keyword>
<keyword>CMAKE_\w+_IMPLICIT_INCLUDE_DIRECTORIES</keyword>
<keyword>CMAKE_\w+_IMPLICIT_LINK_DIRECTORIES</keyword>
<keyword>CMAKE_\w+_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES</keyword>
<keyword>CMAKE_\w+_IMPLICIT_LINK_LIBRARIES</keyword>
<keyword>CMAKE_\w+_INCLUDE_WHAT_YOU_USE</keyword>
<keyword>CMAKE_\w+_LIBRARY_ARCHITECTURE</keyword>
<keyword>CMAKE_\w+_LINKER_PREFERENCE</keyword>
<keyword>CMAKE_\w+_LINKER_PREFERENCE_PROPAGATES</keyword>
<keyword>CMAKE_\w+_LINK_EXECUTABLE</keyword>
<keyword>CMAKE_\w+_OUTPUT_EXTENSION</keyword>
<keyword>CMAKE_\w+_PLATFORM_ID</keyword>
<keyword>CMAKE_\w+_SIMULATE_ID</keyword>
<keyword>CMAKE_\w+_SIMULATE_VERSION</keyword>
<keyword>CMAKE_\w+_SIZEOF_DATA_PTR</keyword>
<keyword>CMAKE_\w+_SOURCE_FILE_EXTENSIONS</keyword>
<keyword>CMAKE_\w+_STANDARD_INCLUDE_DIRECTORIES</keyword>
<keyword>CMAKE_\w+_STANDARD_LIBRARIES</keyword>
<keyword>CMAKE_\w+_VISIBILITY_PRESET</keyword>
<keyword>CMAKE_ABSOLUTE_DESTINATION_FILES</keyword>
<keyword>CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS</keyword>
<keyword>CMAKE_ANDROID_API</keyword>
<keyword>CMAKE_ANDROID_API_MIN</keyword>
<keyword>CMAKE_ANDROID_ARCH</keyword>
<keyword>CMAKE_ANDROID_ARCH_ABI</keyword>
<keyword>CMAKE_ANDROID_ARM_MODE</keyword>
<keyword>CMAKE_ANDROID_ARM_NEON</keyword>
<keyword>CMAKE_ANDROID_ASSETS_DIRECTORIES</keyword>
<keyword>CMAKE_ANDROID_GUI</keyword>
<keyword>CMAKE_ANDROID_JAR_DEPENDENCIES</keyword>
<keyword>CMAKE_ANDROID_JAR_DIRECTORIES</keyword>
<keyword>CMAKE_ANDROID_JAVA_SOURCE_DIR</keyword>
<keyword>CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES</keyword>
<keyword>CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES</keyword>
<keyword>CMAKE_ANDROID_NDK</keyword>
<keyword>CMAKE_ANDROID_NDK_DEPRECATED_HEADERS</keyword>
<keyword>CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG</keyword>
<keyword>CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION</keyword>
<keyword>CMAKE_ANDROID_PROCESS_MAX</keyword>
<keyword>CMAKE_ANDROID_PROGUARD</keyword>
<keyword>CMAKE_ANDROID_PROGUARD_CONFIG_PATH</keyword>
<keyword>CMAKE_ANDROID_SECURE_PROPS_PATH</keyword>
<keyword>CMAKE_ANDROID_SKIP_ANT_STEP</keyword>
<keyword>CMAKE_ANDROID_STANDALONE_TOOLCHAIN</keyword>
<keyword>CMAKE_ANDROID_STL_TYPE</keyword>
<keyword>CMAKE_APPBUNDLE_PATH</keyword>
<keyword>CMAKE_AR</keyword>
<keyword>CMAKE_ARCHIVE_OUTPUT_DIRECTORY</keyword>
<keyword>CMAKE_ARCHIVE_OUTPUT_DIRECTORY_\w+</keyword>
<keyword>CMAKE_ARGC</keyword>
<keyword>CMAKE_ARGV0</keyword>
<keyword>CMAKE_AUTOMOC</keyword>
<keyword>CMAKE_AUTOMOC_COMPILER_PREDEFINES</keyword>
<keyword>CMAKE_AUTOMOC_DEPEND_FILTERS</keyword>
<keyword>CMAKE_AUTOMOC_MACRO_NAMES</keyword>
<keyword>CMAKE_AUTOMOC_MOC_OPTIONS</keyword>
<keyword>CMAKE_AUTOMOC_RELAXED_MODE</keyword>
<keyword>CMAKE_AUTORCC</keyword>
<keyword>CMAKE_AUTORCC_OPTIONS</keyword>
<keyword>CMAKE_AUTOUIC</keyword>
<keyword>CMAKE_AUTOUIC_OPTIONS</keyword>
<keyword>CMAKE_AUTOUIC_SEARCH_PATHS</keyword>
<keyword>CMAKE_BACKWARDS_COMPATIBILITY</keyword>
<keyword>CMAKE_BINARY_DIR</keyword>
<keyword>CMAKE_BUILD_RPATH</keyword>
<keyword>CMAKE_BUILD_TOOL</keyword>
<keyword>CMAKE_BUILD_TYPE</keyword>
<keyword>CMAKE_BUILD_WITH_INSTALL_NAME_DIR</keyword>
<keyword>CMAKE_BUILD_WITH_INSTALL_RPATH</keyword>
<keyword>CMAKE_CACHEFILE_DIR</keyword>
<keyword>CMAKE_CACHE_MAJOR_VERSION</keyword>
<keyword>CMAKE_CACHE_MINOR_VERSION</keyword>
<keyword>CMAKE_CACHE_PATCH_VERSION</keyword>
<keyword>CMAKE_CFG_INTDIR</keyword>
<keyword>CMAKE_CL_64</keyword>
<keyword>CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES</keyword>
<keyword>CMAKE_CODELITE_USE_TARGETS</keyword>
<keyword>CMAKE_COLOR_MAKEFILE</keyword>
<keyword>CMAKE_COMMAND</keyword>
<keyword>CMAKE_COMPILER_2005</keyword>
<keyword>CMAKE_COMPILER_IS_GNUCC</keyword>
<keyword>CMAKE_COMPILER_IS_GNUCXX</keyword>
<keyword>CMAKE_COMPILER_IS_GNUG77</keyword>
<keyword>CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY</keyword>
<keyword>CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_\w+</keyword>
<keyword>CMAKE_CONFIGURATION_TYPES</keyword>
<keyword>CMAKE_CROSSCOMPILING</keyword>
<keyword>CMAKE_CROSSCOMPILING_EMULATOR</keyword>
<keyword>CMAKE_CTEST_COMMAND</keyword>
<keyword>CMAKE_CUDA_EXTENSIONS</keyword>
<keyword>CMAKE_CUDA_HOST_COMPILER</keyword>
<keyword>CMAKE_CUDA_STANDARD</keyword>
<keyword>CMAKE_CUDA_STANDARD_REQUIRED</keyword>
<keyword>CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES</keyword>
<keyword>CMAKE_CURRENT_BINARY_DIR</keyword>
<keyword>CMAKE_CURRENT_LIST_DIR</keyword>
<keyword>CMAKE_CURRENT_LIST_FILE</keyword>
<keyword>CMAKE_CURRENT_LIST_LINE</keyword>
<keyword>CMAKE_CURRENT_SOURCE_DIR</keyword>
<keyword>CMAKE_CXX_COMPILE_FEATURES</keyword>
<keyword>CMAKE_CXX_EXTENSIONS</keyword>
<keyword>CMAKE_CXX_STANDARD</keyword>
<keyword>CMAKE_CXX_STANDARD_REQUIRED</keyword>
<keyword>CMAKE_C_COMPILE_FEATURES</keyword>
<keyword>CMAKE_C_EXTENSIONS</keyword>
<keyword>CMAKE_C_STANDARD</keyword>
<keyword>CMAKE_C_STANDARD_REQUIRED</keyword>
<keyword>CMAKE_DEBUG_POSTFIX</keyword>
<keyword>CMAKE_DEBUG_TARGET_PROPERTIES</keyword>
<keyword>CMAKE_DEPENDS_IN_PROJECT_ONLY</keyword>
<keyword>CMAKE_DIRECTORY_LABELS</keyword>
<keyword>CMAKE_DISABLE_FIND_PACKAGE_\w+</keyword>
<keyword>CMAKE_DL_LIBS</keyword>
<keyword>CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES</keyword>
<keyword>CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT</keyword>
<keyword>CMAKE_ECLIPSE_MAKE_ARGUMENTS</keyword>
<keyword>CMAKE_ECLIPSE_VERSION</keyword>
<keyword>CMAKE_EDIT_COMMAND</keyword>
<keyword>CMAKE_ENABLE_EXPORTS</keyword>
<keyword>CMAKE_ERROR_DEPRECATED</keyword>
<keyword>CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION</keyword>
<keyword>CMAKE_EXECUTABLE_SUFFIX</keyword>
<keyword>CMAKE_EXE_LINKER_FLAGS</keyword>
<keyword>CMAKE_EXE_LINKER_FLAGS_\w+</keyword>
<keyword>CMAKE_EXE_LINKER_FLAGS_\w+_INIT</keyword>
<keyword>CMAKE_EXE_LINKER_FLAGS_INIT</keyword>
<keyword>CMAKE_EXPORT_COMPILE_COMMANDS</keyword>
<keyword>CMAKE_EXPORT_NO_PACKAGE_REGISTRY</keyword>
<keyword>CMAKE_EXTRA_GENERATOR</keyword>
<keyword>CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES</keyword>
<keyword>CMAKE_FIND_APPBUNDLE</keyword>
<keyword>CMAKE_FIND_FRAMEWORK</keyword>
<keyword>CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX</keyword>
<keyword>CMAKE_FIND_LIBRARY_PREFIXES</keyword>
<keyword>CMAKE_FIND_LIBRARY_SUFFIXES</keyword>
<keyword>CMAKE_FIND_NO_INSTALL_PREFIX</keyword>
<keyword>CMAKE_FIND_PACKAGE_NAME</keyword>
<keyword>CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY</keyword>
<keyword>CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY</keyword>
<keyword>CMAKE_FIND_PACKAGE_SORT_DIRECTION</keyword>
<keyword>CMAKE_FIND_PACKAGE_SORT_ORDER</keyword>
<keyword>CMAKE_FIND_PACKAGE_WARN_NO_MODULE</keyword>
<keyword>CMAKE_FIND_ROOT_PATH</keyword>
<keyword>CMAKE_FIND_ROOT_PATH_MODE_INCLUDE</keyword>
<keyword>CMAKE_FIND_ROOT_PATH_MODE_LIBRARY</keyword>
<keyword>CMAKE_FIND_ROOT_PATH_MODE_PACKAGE</keyword>
<keyword>CMAKE_FIND_ROOT_PATH_MODE_PROGRAM</keyword>
<keyword>CMAKE_FRAMEWORK_PATH</keyword>
<keyword>CMAKE_Fortran_FORMAT</keyword>
<keyword>CMAKE_Fortran_MODDIR_DEFAULT</keyword>
<keyword>CMAKE_Fortran_MODDIR_FLAG</keyword>
<keyword>CMAKE_Fortran_MODOUT_FLAG</keyword>
<keyword>CMAKE_Fortran_MODULE_DIRECTORY</keyword>
<keyword>CMAKE_GENERATOR</keyword>
<keyword>CMAKE_GENERATOR_PLATFORM</keyword>
<keyword>CMAKE_GENERATOR_TOOLSET</keyword>
<keyword>CMAKE_GNUtoMS</keyword>
<keyword>CMAKE_HOME_DIRECTORY</keyword>
<keyword>CMAKE_HOST_APPLE</keyword>
<keyword>CMAKE_HOST_SOLARIS</keyword>
<keyword>CMAKE_HOST_SYSTEM</keyword>
<keyword>CMAKE_HOST_SYSTEM_NAME</keyword>
<keyword>CMAKE_HOST_SYSTEM_PROCESSOR</keyword>
<keyword>CMAKE_HOST_SYSTEM_VERSION</keyword>
<keyword>CMAKE_HOST_UNIX</keyword>
<keyword>CMAKE_HOST_WIN32</keyword>
<keyword>CMAKE_IGNORE_PATH</keyword>
<keyword>CMAKE_IMPORT_LIBRARY_PREFIX</keyword>
<keyword>CMAKE_IMPORT_LIBRARY_SUFFIX</keyword>
<keyword>CMAKE_INCLUDE_CURRENT_DIR</keyword>
<keyword>CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE</keyword>
<keyword>CMAKE_INCLUDE_DIRECTORIES_BEFORE</keyword>
<keyword>CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE</keyword>
<keyword>CMAKE_INCLUDE_PATH</keyword>
<keyword>CMAKE_INSTALL_DEFAULT_COMPONENT_NAME</keyword>
<keyword>CMAKE_INSTALL_MESSAGE</keyword>
<keyword>CMAKE_INSTALL_NAME_DIR</keyword>
<keyword>CMAKE_INSTALL_PREFIX</keyword>
<keyword>CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT</keyword>
<keyword>CMAKE_INSTALL_RPATH</keyword>
<keyword>CMAKE_INSTALL_RPATH_USE_LINK_PATH</keyword>
<keyword>CMAKE_INTERNAL_PLATFORM_ABI</keyword>
<keyword>CMAKE_INTERPROCEDURAL_OPTIMIZATION</keyword>
<keyword>CMAKE_INTERPROCEDURAL_OPTIMIZATION_\w+</keyword>
<keyword>CMAKE_IOS_INSTALL_COMBINED</keyword>
<keyword>CMAKE_JOB_POOL_COMPILE</keyword>
<keyword>CMAKE_JOB_POOL_LINK</keyword>
<keyword>CMAKE_LIBRARY_ARCHITECTURE</keyword>
<keyword>CMAKE_LIBRARY_ARCHITECTURE_REGEX</keyword>
<keyword>CMAKE_LIBRARY_OUTPUT_DIRECTORY</keyword>
<keyword>CMAKE_LIBRARY_OUTPUT_DIRECTORY_\w+</keyword>
<keyword>CMAKE_LIBRARY_PATH</keyword>
<keyword>CMAKE_LIBRARY_PATH_FLAG</keyword>
<keyword>CMAKE_LINK_DEF_FILE_FLAG</keyword>
<keyword>CMAKE_LINK_DEPENDS_NO_SHARED</keyword>
<keyword>CMAKE_LINK_INTERFACE_LIBRARIES</keyword>
<keyword>CMAKE_LINK_LIBRARY_FILE_FLAG</keyword>
<keyword>CMAKE_LINK_LIBRARY_FLAG</keyword>
<keyword>CMAKE_LINK_LIBRARY_SUFFIX</keyword>
<keyword>CMAKE_LINK_SEARCH_END_STATIC</keyword>
<keyword>CMAKE_LINK_SEARCH_START_STATIC</keyword>
<keyword>CMAKE_LINK_WHAT_YOU_USE</keyword>
<keyword>CMAKE_MACOSX_BUNDLE</keyword>
<keyword>CMAKE_MACOSX_RPATH</keyword>
<keyword>CMAKE_MAJOR_VERSION</keyword>
<keyword>CMAKE_MAKE_PROGRAM</keyword>
<keyword>CMAKE_MAP_IMPORTED_CONFIG_\w+</keyword>
<keyword>CMAKE_MATCH_\d+</keyword>
<keyword>CMAKE_MATCH_COUNT</keyword>
<keyword>CMAKE_MFC_FLAG</keyword>
<keyword>CMAKE_MINIMUM_REQUIRED_VERSION</keyword>
<keyword>CMAKE_MINOR_VERSION</keyword>
<keyword>CMAKE_MODULE_LINKER_FLAGS</keyword>
<keyword>CMAKE_MODULE_LINKER_FLAGS_\w+</keyword>
<keyword>CMAKE_MODULE_LINKER_FLAGS_\w+_INIT</keyword>
<keyword>CMAKE_MODULE_LINKER_FLAGS_INIT</keyword>
<keyword>CMAKE_MODULE_PATH</keyword>
<keyword>CMAKE_MSVCIDE_RUN_PATH</keyword>
<keyword>CMAKE_NINJA_OUTPUT_PATH_PREFIX</keyword>
<keyword>CMAKE_NOT_USING_CONFIG_FLAGS</keyword>
<keyword>CMAKE_NO_BUILTIN_CHRPATH</keyword>
<keyword>CMAKE_NO_SYSTEM_FROM_IMPORTED</keyword>
<keyword>CMAKE_OBJECT_PATH_MAX</keyword>
<keyword>CMAKE_OSX_ARCHITECTURES</keyword>
<keyword>CMAKE_OSX_DEPLOYMENT_TARGET</keyword>
<keyword>CMAKE_OSX_SYSROOT</keyword>
<keyword>CMAKE_PARENT_LIST_FILE</keyword>
<keyword>CMAKE_PATCH_VERSION</keyword>
<keyword>CMAKE_PDB_OUTPUT_DIRECTORY</keyword>
<keyword>CMAKE_PDB_OUTPUT_DIRECTORY_\w+</keyword>
<keyword>CMAKE_POLICY_DEFAULT_CMP\d{4}</keyword>
<keyword>CMAKE_POLICY_WARNING_CMP\d{4}</keyword>
<keyword>CMAKE_POSITION_INDEPENDENT_CODE</keyword>
<keyword>CMAKE_PREFIX_PATH</keyword>
<keyword>CMAKE_PROGRAM_PATH</keyword>
<keyword>CMAKE_PROJECT_\w+_INCLUDE</keyword>
<keyword>CMAKE_PROJECT_DESCRIPTION</keyword>
<keyword>CMAKE_PROJECT_NAME</keyword>
<keyword>CMAKE_RANLIB</keyword>
<keyword>CMAKE_ROOT</keyword>
<keyword>CMAKE_RUNTIME_OUTPUT_DIRECTORY</keyword>
<keyword>CMAKE_RUNTIME_OUTPUT_DIRECTORY_\w+</keyword>
<keyword>CMAKE_SCRIPT_MODE_FILE</keyword>
<keyword>CMAKE_SHARED_LIBRARY_PREFIX</keyword>
<keyword>CMAKE_SHARED_LIBRARY_SUFFIX</keyword>
<keyword>CMAKE_SHARED_LINKER_FLAGS</keyword>
<keyword>CMAKE_SHARED_LINKER_FLAGS_\w+</keyword>
<keyword>CMAKE_SHARED_LINKER_FLAGS_\w+_INIT</keyword>
<keyword>CMAKE_SHARED_LINKER_FLAGS_INIT</keyword>
<keyword>CMAKE_SHARED_MODULE_PREFIX</keyword>
<keyword>CMAKE_SHARED_MODULE_SUFFIX</keyword>
<keyword>CMAKE_SIZEOF_VOID_P</keyword>
<keyword>CMAKE_SKIP_BUILD_RPATH</keyword>
<keyword>CMAKE_SKIP_INSTALL_ALL_DEPENDENCY</keyword>
<keyword>CMAKE_SKIP_INSTALL_RPATH</keyword>
<keyword>CMAKE_SKIP_INSTALL_RULES</keyword>
<keyword>CMAKE_SKIP_RPATH</keyword>
<keyword>CMAKE_SOURCE_DIR</keyword>
<keyword>CMAKE_STAGING_PREFIX</keyword>
<keyword>CMAKE_STATIC_LIBRARY_PREFIX</keyword>
<keyword>CMAKE_STATIC_LIBRARY_SUFFIX</keyword>
<keyword>CMAKE_STATIC_LINKER_FLAGS</keyword>
<keyword>CMAKE_STATIC_LINKER_FLAGS_\w+</keyword>
<keyword>CMAKE_STATIC_LINKER_FLAGS_\w+_INIT</keyword>
<keyword>CMAKE_STATIC_LINKER_FLAGS_INIT</keyword>
<keyword>CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS</keyword>
<keyword>CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE</keyword>
<keyword>CMAKE_SYSROOT</keyword>
<keyword>CMAKE_SYSROOT_COMPILE</keyword>
<keyword>CMAKE_SYSROOT_LINK</keyword>
<keyword>CMAKE_SYSTEM</keyword>
<keyword>CMAKE_SYSTEM_APPBUNDLE_PATH</keyword>
<keyword>CMAKE_SYSTEM_FRAMEWORK_PATH</keyword>
<keyword>CMAKE_SYSTEM_IGNORE_PATH</keyword>
<keyword>CMAKE_SYSTEM_INCLUDE_PATH</keyword>
<keyword>CMAKE_SYSTEM_LIBRARY_PATH</keyword>
<keyword>CMAKE_SYSTEM_NAME</keyword>
<keyword>CMAKE_SYSTEM_PREFIX_PATH</keyword>
<keyword>CMAKE_SYSTEM_PROCESSOR</keyword>
<keyword>CMAKE_SYSTEM_PROGRAM_PATH</keyword>
<keyword>CMAKE_SYSTEM_VERSION</keyword>
<keyword>CMAKE_Swift_LANGUAGE_VERSION</keyword>
<keyword>CMAKE_TOOLCHAIN_FILE</keyword>
<keyword>CMAKE_TRY_COMPILE_CONFIGURATION</keyword>
<keyword>CMAKE_TRY_COMPILE_PLATFORM_VARIABLES</keyword>
<keyword>CMAKE_TRY_COMPILE_TARGET_TYPE</keyword>
<keyword>CMAKE_TWEAK_VERSION</keyword>
<keyword>CMAKE_USER_MAKE_RULES_OVERRIDE</keyword>
<keyword>CMAKE_USER_MAKE_RULES_OVERRIDE_\w+</keyword>
<keyword>CMAKE_USE_RELATIVE_PATHS</keyword>
<keyword>CMAKE_VERBOSE_MAKEFILE</keyword>
<keyword>CMAKE_VERSION</keyword>
<keyword>CMAKE_VISIBILITY_INLINES_HIDDEN</keyword>
<keyword>CMAKE_VS_DEVENV_COMMAND</keyword>
<keyword>CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD</keyword>
<keyword>CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD</keyword>
<keyword>CMAKE_VS_INTEL_Fortran_PROJECT_VERSION</keyword>
<keyword>CMAKE_VS_MSBUILD_COMMAND</keyword>
<keyword>CMAKE_VS_NsightTegra_VERSION</keyword>
<keyword>CMAKE_VS_PLATFORM_NAME</keyword>
<keyword>CMAKE_VS_PLATFORM_TOOLSET</keyword>
<keyword>CMAKE_VS_PLATFORM_TOOLSET_CUDA</keyword>
<keyword>CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE</keyword>
<keyword>CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION</keyword>
<keyword>CMAKE_WARN_DEPRECATED</keyword>
<keyword>CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION</keyword>
<keyword>CMAKE_WIN32_EXECUTABLE</keyword>
<keyword>CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS</keyword>
<keyword>CMAKE_XCODE_ATTRIBUTE_\w+</keyword>
<keyword>CMAKE_XCODE_GENERATE_SCHEME</keyword>
<keyword>CMAKE_XCODE_PLATFORM_TOOLSET</keyword>
<keyword>CPACK_ABSOLUTE_DESTINATION_FILES</keyword>
<keyword>CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY</keyword>
<keyword>CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION</keyword>
<keyword>CPACK_INCLUDE_TOPLEVEL_DIRECTORY</keyword>
<keyword>CPACK_INSTALL_SCRIPT</keyword>
<keyword>CPACK_PACKAGING_INSTALL_PREFIX</keyword>
<keyword>CPACK_SET_DESTDIR</keyword>
<keyword>CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION</keyword>
<keyword>CTEST_BINARY_DIRECTORY</keyword>
<keyword>CTEST_BUILD_COMMAND</keyword>
<keyword>CTEST_BUILD_NAME</keyword>
<keyword>CTEST_BZR_COMMAND</keyword>
<keyword>CTEST_BZR_UPDATE_OPTIONS</keyword>
<keyword>CTEST_CHANGE_ID</keyword>
<keyword>CTEST_CHECKOUT_COMMAND</keyword>
<keyword>CTEST_CONFIGURATION_TYPE</keyword>
<keyword>CTEST_CONFIGURE_COMMAND</keyword>
<keyword>CTEST_COVERAGE_COMMAND</keyword>
<keyword>CTEST_COVERAGE_EXTRA_FLAGS</keyword>
<keyword>CTEST_CURL_OPTIONS</keyword>
<keyword>CTEST_CUSTOM_COVERAGE_EXCLUDE</keyword>
<keyword>CTEST_CUSTOM_ERROR_EXCEPTION</keyword>
<keyword>CTEST_CUSTOM_ERROR_MATCH</keyword>
<keyword>CTEST_CUSTOM_ERROR_POST_CONTEXT</keyword>
<keyword>CTEST_CUSTOM_ERROR_PRE_CONTEXT</keyword>
<keyword>CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE</keyword>
<keyword>CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS</keyword>
<keyword>CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS</keyword>
<keyword>CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE</keyword>
<keyword>CTEST_CUSTOM_MEMCHECK_IGNORE</keyword>
<keyword>CTEST_CUSTOM_POST_MEMCHECK</keyword>
<keyword>CTEST_CUSTOM_POST_TEST</keyword>
<keyword>CTEST_CUSTOM_PRE_MEMCHECK</keyword>
<keyword>CTEST_CUSTOM_PRE_TEST</keyword>
<keyword>CTEST_CUSTOM_TEST_IGNORE</keyword>
<keyword>CTEST_CUSTOM_WARNING_EXCEPTION</keyword>
<keyword>CTEST_CUSTOM_WARNING_MATCH</keyword>
<keyword>CTEST_CVS_CHECKOUT</keyword>
<keyword>CTEST_CVS_COMMAND</keyword>
<keyword>CTEST_CVS_UPDATE_OPTIONS</keyword>
<keyword>CTEST_DROP_LOCATION</keyword>
<keyword>CTEST_DROP_METHOD</keyword>
<keyword>CTEST_DROP_SITE</keyword>
<keyword>CTEST_DROP_SITE_CDASH</keyword>
<keyword>CTEST_DROP_SITE_PASSWORD</keyword>
<keyword>CTEST_DROP_SITE_USER</keyword>
<keyword>CTEST_EXTRA_COVERAGE_GLOB</keyword>
<keyword>CTEST_GIT_COMMAND</keyword>
<keyword>CTEST_GIT_INIT_SUBMODULES</keyword>
<keyword>CTEST_GIT_UPDATE_CUSTOM</keyword>
<keyword>CTEST_GIT_UPDATE_OPTIONS</keyword>
<keyword>CTEST_HG_COMMAND</keyword>
<keyword>CTEST_HG_UPDATE_OPTIONS</keyword>
<keyword>CTEST_LABELS_FOR_SUBPROJECTS</keyword>
<keyword>CTEST_MEMORYCHECK_COMMAND</keyword>
<keyword>CTEST_MEMORYCHECK_COMMAND_OPTIONS</keyword>
<keyword>CTEST_MEMORYCHECK_SANITIZER_OPTIONS</keyword>
<keyword>CTEST_MEMORYCHECK_SUPPRESSIONS_FILE</keyword>
<keyword>CTEST_MEMORYCHECK_TYPE</keyword>
<keyword>CTEST_NIGHTLY_START_TIME</keyword>
<keyword>CTEST_P4_CLIENT</keyword>
<keyword>CTEST_P4_COMMAND</keyword>
<keyword>CTEST_P4_OPTIONS</keyword>
<keyword>CTEST_P4_UPDATE_OPTIONS</keyword>
<keyword>CTEST_SCP_COMMAND</keyword>
<keyword>CTEST_SITE</keyword>
<keyword>CTEST_SOURCE_DIRECTORY</keyword>
<keyword>CTEST_SVN_COMMAND</keyword>
<keyword>CTEST_SVN_OPTIONS</keyword>
<keyword>CTEST_SVN_UPDATE_OPTIONS</keyword>
<keyword>CTEST_TEST_LOAD</keyword>
<keyword>CTEST_TEST_TIMEOUT</keyword>
<keyword>CTEST_TRIGGER_SITE</keyword>
<keyword>CTEST_UPDATE_COMMAND</keyword>
<keyword>CTEST_UPDATE_OPTIONS</keyword>
<keyword>CTEST_UPDATE_VERSION_ONLY</keyword>
<keyword>CTEST_USE_LAUNCHERS</keyword>
<keyword>CYGWIN</keyword>
<keyword>EXECUTABLE_OUTPUT_PATH</keyword>
<keyword>GHS-MULTI</keyword>
<keyword>LIBRARY_OUTPUT_PATH</keyword>
<keyword>MINGW</keyword>
<keyword>MSVC</keyword>
<keyword>MSVC10</keyword>
<keyword>MSVC11</keyword>
<keyword>MSVC12</keyword>
<keyword>MSVC14</keyword>
<keyword>MSVC60</keyword>
<keyword>MSVC70</keyword>
<keyword>MSVC71</keyword>
<keyword>MSVC80</keyword>
<keyword>MSVC90</keyword>
<keyword>MSVC_IDE</keyword>
<keyword>MSVC_VERSION</keyword>
<keyword>PROJECT_BINARY_DIR</keyword>
<keyword>PROJECT_DESCRIPTION</keyword>
<keyword>PROJECT_NAME</keyword>
<keyword>PROJECT_SOURCE_DIR</keyword>
<keyword>PROJECT_VERSION</keyword>
<keyword>PROJECT_VERSION_MAJOR</keyword>
<keyword>PROJECT_VERSION_MINOR</keyword>
<keyword>PROJECT_VERSION_PATCH</keyword>
<keyword>PROJECT_VERSION_TWEAK</keyword>
<keyword>UNIX</keyword>
<keyword>WIN32</keyword>
<keyword>WINCE</keyword>
<keyword>WINDOWS_PHONE</keyword>
<keyword>WINDOWS_STORE</keyword>
<keyword>XCODE</keyword>
<keyword>XCODE_VERSION</keyword>
</context>
<context id="operator" style-ref="operator">
<keyword>AND</keyword>
<keyword>BOOL</keyword>
<keyword>CACHE</keyword>
<keyword>COMMAND</keyword>
<keyword>DEFINED</keyword>
<keyword>DOC</keyword>
<keyword>EQUAL</keyword>
<keyword>EXISTS</keyword>
<keyword>GREATER</keyword>
<keyword>INTERNAL</keyword>
<keyword>LESS</keyword>
<keyword>MATCHES</keyword>
<keyword>NAME</keyword>
<keyword>NAMES</keyword>
<keyword>NAME_WE</keyword>
<keyword>NOT</keyword>
<keyword>OR</keyword>
<keyword>PATH</keyword>
<keyword>PATHS</keyword>
<keyword>PROGRAM</keyword>
<keyword>STREQUAL</keyword>
<keyword>STRGREATER</keyword>
<keyword>STRING</keyword>
<keyword>STRLESS</keyword>
</context>
<context id="control" style-ref="control">
<prefix>(?i)\b</prefix> <!-- case insensitive -->
<keyword>BREAK</keyword>
<keyword>CONTINUE</keyword>
<keyword>ELSE</keyword>
<keyword>ELSEIF</keyword>
<keyword>ENDFOREACH</keyword>
<keyword>ENDFUNCTION</keyword>
<keyword>ENDIF</keyword>
<keyword>ENDMACRO</keyword>
<keyword>ENDWHILE</keyword>
<keyword>FOREACH</keyword>
<keyword>FUNCTION</keyword>
<keyword>IF</keyword>
<keyword>MACRO</keyword>
<keyword>RETURN</keyword>
<keyword>WHILE</keyword>
</context>
<context id="escape-sequence">
<match>(\\([trn;]|[^A-Za-z0-9;]))|(\\(.|$))</match>
<include>
<context sub-pattern="1" style-ref="def:special-char"/>
<context sub-pattern="3" style-ref="def:error"/>
</include>
</context>
<context id="disallowed-variable-reference-char" style-ref="def:error" extend-parent="false">
<match>[^A-Za-z0-9_./+-]</match>
</context>
<context id="variable-reference" style-ref="variable"
style-inside="true" end-at-line-end="true"
>
<start>\$\{</start>
<end>\}</end>
<include>
<context sub-pattern="0" where="start" style-ref="def:special-char"/>
<context sub-pattern="0" where="end" style-ref="def:special-char"/>
<context ref="builtin-variable"/>
<context ref="variable-reference"/>
<context ref="env-variable-reference"/>
<context ref="escape-sequence"/>
<context ref="disallowed-variable-reference-char"/>
</include>
</context>
<context id="env-variable-reference" style-ref="variable"
style-inside="true" end-at-line-end="true">
<start>\$ENV\{</start>
<end>\}</end>
<include>
<context sub-pattern="0" where="start" style-ref="def:special-char"/>
<context sub-pattern="0" where="end" style-ref="def:special-char"/>
<context ref="variable-reference"/>
<context ref="env-variable-reference"/>
<context ref="escape-sequence"/>
<context ref="disallowed-variable-reference-char"/>
</include>
</context>
<context id="quoted-argument" style-ref="quoted-argument">
<start>(?&lt;=[()"]|\s|^)"</start>
<end>"</end>
<include>
<context ref="variable-reference"/>
<context ref="env-variable-reference"/>
<context style-ref="def:special-char">
<match>\\$</match> <!-- quoted_continuation from the grammar -->
</context>
<context ref="escape-sequence"/>
</include>
</context>
<context id="bracket-argument" style-ref="bracket-argument">
<start>\[(=*)\[</start>
<end>\]\%{1@start}\]</end>
</context>
<context id="bracket-comment" style-ref="def:comment" class="comment" class-disabled="no-spell-check">
<start>#\[(=*)\[</start>
<end>\]\%{1@start}\]</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="in-unquoted-argument">
<include>
<context ref="constant"/>
<context ref="variable-reference"/>
<context ref="env-variable-reference"/>
<context ref="escape-sequence"/>
<context style-ref="legacy-syntax" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="escape-sequence"/>
</include>
</context>
<context style-ref="legacy-syntax">
<match>\$\(\w+\)</match>
</context>
</include>
</context>
<context id="arguments">
<start>\(</start>
<end>\)</end>
<include>
<context ref="quoted-argument"/>
<context ref="bracket-argument"/>
<context ref="in-unquoted-argument"/>
<context ref="operator"/>
<context ref="arguments"/>
<context ref="bracket-comment"/>
<context ref="def:shell-like-comment"/>
</include>
</context>
<context id="variable-assignment">
<start>\b((?i)SET|UNSET)\b\s*\(\s*([\w_][\w\d_]*)</start>
<end>\)</end>
<include>
<context sub-pattern="1" where="start" style-ref="builtin-command"/>
<context sub-pattern="2" where="start" style-ref="variable"/>
<context ref="arguments:*"/>
</include>
</context>
<context id="cmake">
<include>
<context ref="variable-assignment"/>
<context ref="builtin-command"/>
<context ref="deprecated-builtin-command"/>
<context ref="control"/>
<context ref="arguments"/>
<context ref="bracket-comment"/>
<context ref="def:shell-like-comment"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,646 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2010 - Fernando Brito <email@fernandobrito.com>
Copyright (C) 2011 - Daniel Bader <bugs.bader@googlemail.com>
Credits:
Based on prolog.lang by Ignacio Casal Quinteiro <icq@gnome.org>
Cobol keywords taken from cobol.vim by Tim Pope <vimNOSPAM@tpope.info>
and the COBOL2000 (BS2000) V1.2 compiler description by Fujitsu Siemens.
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="cobol" name="COBOL" version="2.0" _section="Source">
<metadata>
<property name="mimetype">text/x-cobol</property>
<property name="globs">*.cbl;*.cob;*.cbd;*.cdb;*.cdc</property>
<property name="line-comment-start">*</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="statement" name="Statement" map-to="def:statement"/>
<style id="variable" name="Variable" map-to="def:type"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="constant" name="Constant" map-to="def:constant"/>
<style id="string" name="String" map-to="def:string"/>
<style id="number" name="Number" map-to="def:decimal"/>
<style id="operator" name="Operator" map-to="def:operator"/>
<style id="error" name="Error" map-to="def:error"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>^\s{0,6}\*</start>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<!-- everything must start at the 8th column, except the line comment, that is indicated ONLY by a * in the 7th -->
<context id="bad-ident" style-ref="error" end-at-line-end="true" class="error" class-disabled="no-spell-check">
<start>^\s{0,6}\w</start>
</context>
<!-- http://docs.hp.com/en/65/books/lrintr.htm -->
<context id="bad-long-line" style-ref="error">
<match>.{74,}</match>
</context>
<!-- Credits: http://stackoverflow.com/questions/632475/regex-to-pick-commas-outside-of-quotes -->
<context id="bad-comment-line" style-ref="error" end-at-line-end="true" class="error" class-disabled="no-spell-check">
<start>(\*)(?=(?:[^"']|["|'][^"']*")*$)</start>
</context>
<context id="variable" style-ref="variable">
<match>\b([A-Za-z0-9_]*)\b</match>
</context>
<context id="string-double-quote" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
</context>
<context id="string-single-quote" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>'</start>
<end>'</end>
</context>
<context id="number" style-ref="number">
<match extended="true">
\b[0-9]+(\.[0-9]+)?\b
</match>
</context>
<context id="constant" style-ref="constant">
<keyword>space</keyword>
<keyword>spaces</keyword>
<keyword>null</keyword>
<keyword>zero</keyword>
<keyword>zeroes</keyword>
<keyword>zeros</keyword>
<keyword>low-values</keyword>
<keyword>low-value</keyword>
<keyword>high-values</keyword>
<keyword>high-value</keyword>
<keyword>quotes</keyword>
<keyword>quote</keyword>
</context>
<context id="keyword" style-ref="keyword">
<keyword>accept</keyword>
<keyword>access</keyword>
<keyword>active-class</keyword>
<keyword>add</keyword>
<keyword>address</keyword>
<keyword>advancing</keyword>
<keyword>after</keyword>
<keyword>all</keyword>
<keyword>allocate</keyword>
<keyword>alphabet</keyword>
<keyword>alphabetic-lower</keyword>
<keyword>alphabetic-upper</keyword>
<keyword>alphabetic</keyword>
<keyword>alphanumeric-edited</keyword>
<keyword>alphanumeric</keyword>
<keyword>also</keyword>
<keyword>alter</keyword>
<keyword>alternate</keyword>
<keyword>and</keyword>
<keyword>any</keyword>
<keyword>anycase</keyword>
<keyword>are</keyword>
<keyword>area</keyword>
<keyword>areas</keyword>
<keyword>as</keyword>
<keyword>ascending</keyword>
<keyword>assign</keyword>
<keyword>at</keyword>
<keyword>author</keyword>
<keyword>b-and</keyword>
<keyword>b-not</keyword>
<keyword>b-or</keyword>
<keyword>b-xor</keyword>
<keyword>based</keyword>
<keyword>before</keyword>
<keyword>beginning</keyword>
<keyword>binary-char</keyword>
<keyword>binary-double</keyword>
<keyword>binary-long</keyword>
<keyword>binary-short</keyword>
<keyword>binary</keyword>
<keyword>bit</keyword>
<keyword>blank</keyword>
<keyword>block</keyword>
<keyword>boolean</keyword>
<keyword>bottom</keyword>
<keyword>by</keyword>
<keyword>case</keyword>
<keyword>cbl-ctr</keyword>
<keyword>cf</keyword>
<keyword>ch</keyword>
<keyword>character</keyword>
<keyword>characters</keyword>
<keyword>checking</keyword>
<keyword>class-id</keyword>
<keyword>class-units</keyword>
<keyword>class</keyword>
<keyword>close</keyword>
<keyword>code</keyword>
<keyword>code-set</keyword>
<keyword>col</keyword>
<keyword>collating</keyword>
<keyword>cols</keyword>
<keyword>column</keyword>
<keyword>columns</keyword>
<keyword>comma</keyword>
<keyword>commit</keyword>
<keyword>common</keyword>
<keyword>communication</keyword>
<keyword>comp-1</keyword>
<keyword>comp-2</keyword>
<keyword>comp-3</keyword>
<keyword>comp-5</keyword>
<keyword>comp</keyword>
<keyword>computational-1</keyword>
<keyword>computational-2</keyword>
<keyword>computational-3</keyword>
<keyword>computational-5</keyword>
<keyword>computational</keyword>
<keyword>compute</keyword>
<keyword>condition</keyword>
<keyword>connect</keyword>
<keyword>console</keyword>
<keyword>constant</keyword>
<keyword>contains</keyword>
<keyword>content</keyword>
<keyword>continue</keyword>
<keyword>control</keyword>
<keyword>controls</keyword>
<keyword>converting</keyword>
<keyword>copy</keyword>
<keyword>corr</keyword>
<keyword>corresponding</keyword>
<keyword>count</keyword>
<keyword>creating</keyword>
<keyword>crt</keyword>
<keyword>currency</keyword>
<keyword>current</keyword>
<keyword>cursor</keyword>
<keyword>data-pointer</keyword>
<keyword>database-exception</keyword>
<keyword>database-key-long</keyword>
<keyword>database-key</keyword>
<keyword>date-compiled</keyword>
<keyword>date-written</keyword>
<keyword>date</keyword>
<keyword>day</keyword>
<keyword>day-of-week</keyword>
<keyword>db</keyword>
<keyword>de</keyword>
<keyword>debug-contents</keyword>
<keyword>debug-item</keyword>
<keyword>debug-line</keyword>
<keyword>debug-name</keyword>
<keyword>debug-sub-1</keyword>
<keyword>debug-sub-2</keyword>
<keyword>debug-sub-3</keyword>
<keyword>debugging</keyword>
<keyword>decimal-point</keyword>
<keyword>declaratives</keyword>
<keyword>default</keyword>
<keyword>delete</keyword>
<keyword>delimited</keyword>
<keyword>delimiter</keyword>
<keyword>depending</keyword>
<keyword>descending</keyword>
<keyword>detail</keyword>
<keyword>disable</keyword>
<keyword>disc</keyword>
<keyword>disconnect</keyword>
<keyword>display</keyword>
<keyword>divide</keyword>
<keyword>division</keyword>
<keyword>down</keyword>
<keyword>duplicate</keyword>
<keyword>duplicates</keyword>
<keyword>dynamic</keyword>
<keyword>ebcdic</keyword>
<keyword>ec</keyword>
<keyword>else</keyword>
<keyword>empty</keyword>
<keyword>enable</keyword>
<keyword>end-accept</keyword>
<keyword>end-add</keyword>
<keyword>end-compute</keyword>
<keyword>end-delete</keyword>
<keyword>end-display</keyword>
<keyword>end-divide</keyword>
<keyword>end-evaluate</keyword>
<keyword>end-invoke</keyword>
<keyword>end-multiply</keyword>
<keyword>end-of-page</keyword>
<keyword>end-read</keyword>
<keyword>end-receive</keyword>
<keyword>end-return</keyword>
<keyword>end-rewrite</keyword>
<keyword>end-search</keyword>
<keyword>end-start</keyword>
<keyword>end-string</keyword>
<keyword>end-subtract</keyword>
<keyword>end-unstring</keyword>
<keyword>end-write</keyword>
<keyword>end</keyword>
<keyword>ending</keyword>
<keyword>entry</keyword>
<keyword>eo</keyword>
<keyword>eop</keyword>
<keyword>equal</keyword>
<keyword>equals</keyword>
<keyword>erase</keyword>
<keyword>error</keyword>
<keyword>escape</keyword>
<keyword>evaluate</keyword>
<keyword>every</keyword>
<keyword>exception-object</keyword>
<keyword>exception</keyword>
<keyword>exclusive</keyword>
<keyword>exit</keyword>
<keyword>extend</keyword>
<keyword>extended</keyword>
<keyword>external</keyword>
<keyword>factory</keyword>
<keyword>false</keyword>
<keyword>fd</keyword>
<keyword>fetch</keyword>
<keyword>file-control</keyword>
<keyword>filler</keyword>
<keyword>final</keyword>
<keyword>find</keyword>
<keyword>finish</keyword>
<keyword>first</keyword>
<keyword>float-extended</keyword>
<keyword>float-long</keyword>
<keyword>float-short</keyword>
<keyword>footing</keyword>
<keyword>for</keyword>
<keyword>format</keyword>
<keyword>free</keyword>
<keyword>from</keyword>
<keyword>function-id</keyword>
<keyword>function</keyword>
<keyword>generate</keyword>
<keyword>get</keyword>
<keyword>giving</keyword>
<keyword>global</keyword>
<keyword>go</keyword>
<keyword>greater</keyword>
<keyword>group-usage</keyword>
<keyword>group</keyword>
<keyword>heading</keyword>
<keyword>i-o-control</keyword>
<keyword>i-o</keyword>
<keyword>id</keyword>
<keyword>ignoring</keyword>
<keyword>in</keyword>
<keyword>including</keyword>
<keyword>index</keyword>
<keyword>indexed</keyword>
<keyword>indicate</keyword>
<keyword>inherits</keyword>
<keyword>initial</keyword>
<keyword>initialize</keyword>
<keyword>initiate</keyword>
<keyword>input</keyword>
<keyword>inspect</keyword>
<keyword>installation</keyword>
<keyword>interface</keyword>
<keyword>interface-id</keyword>
<keyword>into</keyword>
<keyword>invalid</keyword>
<keyword>is</keyword>
<keyword>just</keyword>
<keyword>justified</keyword>
<keyword>keep</keyword>
<keyword>key</keyword>
<keyword>label</keyword>
<keyword>last</keyword>
<keyword>leading</keyword>
<keyword>left</keyword>
<keyword>length</keyword>
<keyword>less</keyword>
<keyword>limit</keyword>
<keyword>limited</keyword>
<keyword>limits</keyword>
<keyword>linage</keyword>
<keyword>line</keyword>
<keyword>line-counter</keyword>
<keyword>lines</keyword>
<keyword>locale</keyword>
<keyword>lock</keyword>
<keyword>mask</keyword>
<keyword>matching</keyword>
<keyword>member</keyword>
<keyword>members</keyword>
<keyword>membership</keyword>
<keyword>memory</keyword>
<keyword>merge</keyword>
<keyword>message</keyword>
<keyword>method</keyword>
<keyword>method-id</keyword>
<keyword>minus</keyword>
<keyword>mode</keyword>
<keyword>modify</keyword>
<keyword>modules</keyword>
<keyword>more-labels</keyword>
<keyword>move</keyword>
<keyword>multiple</keyword>
<keyword>multiply</keyword>
<keyword>national-edited</keyword>
<keyword>national</keyword>
<keyword>native</keyword>
<keyword>negative</keyword>
<keyword>nested</keyword>
<keyword>next</keyword>
<keyword>no</keyword>
<keyword>not</keyword>
<keyword>number</keyword>
<keyword>numeric-edited</keyword>
<keyword>numeric</keyword>
<keyword>object-computer</keyword>
<keyword>object-reference</keyword>
<keyword>object</keyword>
<keyword>occurence</keyword>
<keyword>occurs</keyword>
<keyword>of</keyword>
<keyword>off</keyword>
<keyword>omitted</keyword>
<keyword>on</keyword>
<keyword>open</keyword>
<keyword>optional</keyword>
<keyword>options</keyword>
<keyword>or</keyword>
<keyword>order</keyword>
<keyword>organization</keyword>
<keyword>other</keyword>
<keyword>output</keyword>
<keyword>overflow</keyword>
<keyword>override</keyword>
<keyword>owner</keyword>
<keyword>packed-decimal</keyword>
<keyword>padding</keyword>
<keyword>page-counter</keyword>
<keyword>page</keyword>
<keyword>permanent</keyword>
<keyword>pf</keyword>
<keyword>ph</keyword>
<keyword>pic</keyword>
<keyword>picture</keyword>
<keyword>plus</keyword>
<keyword>pointer</keyword>
<keyword>position</keyword>
<keyword>positive</keyword>
<keyword>present</keyword>
<keyword>print-switch</keyword>
<keyword>printing</keyword>
<keyword>prior</keyword>
<keyword>proceed</keyword>
<keyword>program-begin</keyword>
<keyword>program-done</keyword>
<keyword>program-id</keyword>
<keyword>program-pointer</keyword>
<keyword>program</keyword>
<keyword>property</keyword>
<keyword>protected</keyword>
<keyword>prototype</keyword>
<keyword>purge</keyword>
<keyword>raise</keyword>
<keyword>raising</keyword>
<keyword>random</keyword>
<keyword>rd</keyword>
<keyword>read</keyword>
<keyword>ready</keyword>
<keyword>realm-name</keyword>
<keyword>realm</keyword>
<keyword>receive</keyword>
<keyword>record</keyword>
<keyword>recording</keyword>
<keyword>records</keyword>
<keyword>redefines</keyword>
<keyword>reel</keyword>
<keyword>reference</keyword>
<keyword>relative</keyword>
<keyword>release</keyword>
<keyword>remainder</keyword>
<keyword>removal</keyword>
<keyword>renames</keyword>
<keyword>repeated</keyword>
<keyword>replace</keyword>
<keyword>replacing</keyword>
<keyword>report</keyword>
<keyword>reporting</keyword>
<keyword>reports</keyword>
<keyword>repository</keyword>
<keyword>rerun</keyword>
<keyword>reserve</keyword>
<keyword>reset</keyword>
<keyword>result</keyword>
<keyword>resume</keyword>
<keyword>retaining</keyword>
<keyword>retrieval</keyword>
<keyword>retry</keyword>
<keyword>return</keyword>
<keyword>returning</keyword>
<keyword>reversed</keyword>
<keyword>rewind</keyword>
<keyword>rewrite</keyword>
<keyword>rf</keyword>
<keyword>rh</keyword>
<keyword>right</keyword>
<keyword>rollback</keyword>
<keyword>rounded</keyword>
<keyword>run</keyword>
<keyword>same</keyword>
<keyword>screen</keyword>
<keyword>sd</keyword>
<keyword>search</keyword>
<keyword>section</keyword>
<keyword>security</keyword>
<keyword>segment-limit</keyword>
<keyword>select</keyword>
<keyword>selective</keyword>
<keyword>self</keyword>
<keyword>send</keyword>
<keyword>sentence</keyword>
<keyword>separate</keyword>
<keyword>sequence</keyword>
<keyword>sequential</keyword>
<keyword>set-selection</keyword>
<keyword>set</keyword>
<keyword>sets</keyword>
<keyword>sharing</keyword>
<keyword>sign</keyword>
<keyword>size</keyword>
<keyword>sort-merge</keyword>
<keyword>sort-tape</keyword>
<keyword>sort-tapes</keyword>
<keyword>sort</keyword>
<keyword>sorted</keyword>
<keyword>source-computer</keyword>
<keyword>source</keyword>
<keyword>sources</keyword>
<keyword>special-names</keyword>
<keyword>standard-1</keyword>
<keyword>standard-2</keyword>
<keyword>standard</keyword>
<keyword>start</keyword>
<keyword>status</keyword>
<keyword>stop</keyword>
<keyword>store</keyword>
<keyword>string</keyword>
<keyword>sub-schema</keyword>
<keyword>subtract</keyword>
<keyword>sum</keyword>
<keyword>super</keyword>
<keyword>suppress</keyword>
<keyword>suppressing</keyword>
<keyword>symbolic</keyword>
<keyword>sync</keyword>
<keyword>synchronized</keyword>
<keyword>system-default</keyword>
<keyword>system</keyword>
<keyword>table</keyword>
<keyword>tally</keyword>
<keyword>tallying</keyword>
<keyword>tape</keyword>
<keyword>tapes</keyword>
<keyword>tenant</keyword>
<keyword>terminal</keyword>
<keyword>terminate</keyword>
<keyword>test</keyword>
<keyword>than</keyword>
<keyword>then</keyword>
<keyword>through</keyword>
<keyword>thru</keyword>
<keyword>time</keyword>
<keyword>times</keyword>
<keyword>to</keyword>
<keyword>top</keyword>
<keyword>trailing</keyword>
<keyword>true</keyword>
<keyword>try</keyword>
<keyword>type</keyword>
<keyword>typedef</keyword>
<keyword>unit</keyword>
<keyword>units</keyword>
<keyword>universal</keyword>
<keyword>unlock</keyword>
<keyword>unstring</keyword>
<keyword>until</keyword>
<keyword>up</keyword>
<keyword>update</keyword>
<keyword>upon</keyword>
<keyword>usage-mode</keyword>
<keyword>usage</keyword>
<keyword>use</keyword>
<keyword>user-default</keyword>
<keyword>using</keyword>
<keyword>val-status</keyword>
<keyword>valid</keyword>
<keyword>validate-status</keyword>
<keyword>validate</keyword>
<keyword>value</keyword>
<keyword>values</keyword>
<keyword>varying</keyword>
<keyword>via</keyword>
<keyword>when</keyword>
<keyword>with</keyword>
<keyword>within</keyword>
<keyword>words</keyword>
<keyword>write</keyword>
</context>
<context id="section-name" style-ref="keyword">
<keyword>configuration</keyword>
<keyword>input-output</keyword>
<keyword>file</keyword>
<keyword>working-storage</keyword>
<keyword>local-storage</keyword>
<keyword>linkage</keyword>
</context>
<context id="division-name" style-ref="keyword">
<keyword>identification</keyword>
<keyword>environment</keyword>
<keyword>data</keyword>
<keyword>procedure</keyword>
</context>
<context id="call" style-ref="statement">
<keyword>end-call</keyword>
<keyword>call</keyword>
<keyword>cancel</keyword>
<keyword>goback</keyword>
<keyword>end-perform</keyword>
<keyword>perform</keyword>
<keyword>invoke</keyword>
<keyword>end-if</keyword>
<keyword>if</keyword>
</context>
<context id="cobol" class="no-spell-check">
<include>
<context ref="constant"/>
<context ref="keyword"/>
<context ref="call"/>
<context ref="division-name"/>
<context ref="section-name"/>
<context ref="line-comment"/>
<context ref="bad-ident"/>
<context ref="bad-comment-line"/>
<context ref="bad-long-line"/>
<context ref="string-double-quote"/>
<context ref="string-single-quote"/>
<context ref="number"/>
<context ref="variable"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Marco Barisione, Emanuele Aina, Ole Christian Eidheim
Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
Copyright (C) 2005-2007 Emanuele Aina
Copyright (C) 2018 Ole Christian Eidheim <eidheim@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="cpp" name="C++" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-c++;text/x-cpp;text/x-c++src</property>
<property name="globs">*.cpp;*.cxx;*.cc;*.C;*.c++;*.tpp</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="raw-string" name="Raw String" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="c:keyword"/>
<style id="type" name="Data Type" map-to="c:type"/>
<style id="common-defines" name="Common Defines" map-to="c:common-defines"/>
</styles>
<definitions>
<!-- C++-specific stuff (i.e. stuff which is not C) -->
<context id="cpp-proper">
<include>
<context id="raw-string" style-ref="raw-string" class="string" class-disabled="no-spell-check">
<start>R"([^\(\)\\ ]*)\(</start>
<end>\)\%{1@start}"</end>
</context>
<context id="keywords" style-ref="keyword">
<keyword>alignas</keyword>
<keyword>alignof</keyword>
<keyword>and</keyword>
<keyword>and_eq</keyword>
<keyword>bitand</keyword>
<keyword>bitor</keyword>
<keyword>catch</keyword>
<keyword>compl</keyword>
<keyword>constexpr</keyword>
<keyword>const_cast</keyword>
<keyword>decltype</keyword>
<keyword>delete</keyword>
<keyword>dynamic_cast</keyword>
<keyword>false</keyword>
<keyword>final</keyword>
<keyword>friend</keyword>
<keyword>new</keyword>
<keyword>noexcept</keyword>
<keyword>not</keyword>
<keyword>not_eq</keyword>
<keyword>nullptr</keyword>
<keyword>operator</keyword>
<keyword>or</keyword>
<keyword>or_eq</keyword>
<keyword>override</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>reinterpret_cast</keyword>
<keyword>static_assert</keyword>
<keyword>static_cast</keyword>
<keyword>this</keyword>
<keyword>thread_local</keyword>
<keyword>throw</keyword>
<keyword>true</keyword>
<keyword>try</keyword>
<keyword>typeid</keyword>
<keyword>using</keyword>
<keyword>xor</keyword>
<keyword>xor_eq</keyword>
<keyword>class</keyword>
<keyword>namespace</keyword>
<keyword>typename</keyword>
<keyword>template</keyword>
<keyword>virtual</keyword>
</context>
<context id="types" style-ref="type">
<keyword>bool</keyword>
<keyword>char16_t</keyword>
<keyword>char32_t</keyword>
<keyword>explicit</keyword>
<keyword>export</keyword>
<keyword>inline</keyword>
<keyword>mutable</keyword>
<keyword>nullptr_t</keyword>
<keyword>wchar_t</keyword>
</context>
<context id="common-defines" style-ref="common-defines">
<keyword>__STDC__</keyword>
<keyword>__cplusplus</keyword>
</context>
</include>
</context>
<!-- actual language definition: C++-specific stuff plus everything from C -->
<context id="cpp" class="no-spell-check">
<include>
<context ref="cpp-proper"/>
<context ref="c:c"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Marco Barisione, Emanuele Aina
Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
Copyright (C) 2005-2007 Emanuele Aina
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="cpphdr" _name="C++ Header" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-c++hdr</property>
<property name="globs">*.hh;*.hp;*.hpp;*.h++</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<definitions>
<context id="cpphdr">
<include>
<context ref="cpp:cpp-proper"/>
<context ref="c:c"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,285 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: John Luke <jluke@cfl.rr.com>
Copyright (C) 2003 John Luke <jluke@cfl.rr.com>
Copyright (C) 2004 Jeroen Zwartepoorte <jeroen@xs4all.nl>
Copyright (C) 2004 Alessio Frusciante <algol@firenze.linux.it>
Copyright (C) 2005 Brion Vibber <brion@pobox.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="c-sharp" name="C#" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-csharpsrc;text/x-csharp</property>
<property name="globs">*.cs</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="type" name="Data Type" map-to="def:type"/>
<style id="string" name="String" map-to="def:string"/>
<style id="char" name="Character" map-to="def:character"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
<style id="format" name="String Format" map-to="def:special-char"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="null-value" name="Null Value" map-to="def:special-constant"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
<style id="real" name="Real number" map-to="def:floating-point"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="multiline-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="close-comment-outside-comment" style-ref="error">
<match>\*/(?!\*)</match>
</context>
<define-regex id="preproc-start">^\s*#\s*</define-regex>
<context id="if-false-comment" style-ref="comment">
<start>\%{preproc-start}if\s*false\b</start>
<end>\%{preproc-start}(endif|else|elif)\b</end>
<include>
<context id="if-in-if-false">
<start>\%{preproc-start}if(n?def)?\b</start>
<end>\%{preproc-start}endif\b</end>
<include>
<context ref="if-in-if-false"/>
<context ref="def:in-comment"/>
</include>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="preprocessor" style-ref="preprocessor" end-at-line-end="true">
<start extended="true">
\%{preproc-start}
(define|undef|if(n?def)?|else|elif|endif|line|error|warning|region|endregion)
\b
</start>
<include>
<context ref="line-comment"/>
<context ref="multiline-comment"/>
</include>
</context>
<context id="multiline-string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>@"</start>
<end>"</end>
</context>
<context id="keywords" style-ref="keyword">
<keyword>async</keyword>
<keyword>await</keyword>
<keyword>class</keyword>
<keyword>delegate</keyword>
<keyword>enum</keyword>
<keyword>event</keyword>
<keyword>interface</keyword>
<keyword>namespace</keyword>
<keyword>struct</keyword>
<keyword>using</keyword>
<keyword>abstract</keyword>
<keyword>const</keyword>
<keyword>explicit</keyword>
<keyword>extern</keyword>
<keyword>fixed</keyword>
<keyword>implicit</keyword>
<keyword>internal</keyword>
<keyword>lock</keyword>
<keyword>out</keyword>
<keyword>override</keyword>
<keyword>params</keyword>
<keyword>partial</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>ref</keyword>
<keyword>sealed</keyword>
<keyword>static</keyword>
<keyword>readonly</keyword>
<keyword>unsafe</keyword>
<keyword>virtual</keyword>
<keyword>volatile</keyword>
<keyword>add</keyword>
<keyword>as</keyword>
<keyword>assembly</keyword>
<keyword>base</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>checked</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>get</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>is</keyword>
<keyword>nameof</keyword>
<keyword>new</keyword>
<keyword>remove</keyword>
<keyword>return</keyword>
<keyword>set</keyword>
<keyword>sizeof</keyword>
<keyword>stackalloc</keyword>
<keyword>super</keyword>
<keyword>switch</keyword>
<keyword>this</keyword>
<keyword>throw</keyword>
<keyword>try</keyword>
<keyword>typeof</keyword>
<keyword>unchecked</keyword>
<keyword>value</keyword>
<keyword>var</keyword>
<keyword>void</keyword>
<keyword>while</keyword>
<keyword>yield</keyword>
</context>
<context id="primitives" style-ref="type">
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>decimal</keyword>
<keyword>double</keyword>
<keyword>dynamic</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>object</keyword>
<keyword>operator</keyword>
<keyword>sbyte</keyword>
<keyword>short</keyword>
<keyword>string</keyword>
<keyword>uint</keyword>
<keyword>ulong</keyword>
<keyword>ushort</keyword>
</context>
<context id="null-value" style-ref="null-value">
<keyword>null</keyword>
</context>
<context id="boolean" style-ref="boolean">
<keyword>false</keyword>
<keyword>true</keyword>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[0-9]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="hexadecimal" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
0[xX][a-fA-F0-9]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="real" style-ref="real">
<match extended="true">
(?&lt;![\w\.])
((\.[0-9]+|[0-9]+\.[0-9]*)([Ee][+-]?[0-9]*)?[FfDdMm]?|
([0-9]+[Ee][+-]?[0-9]*)[FfDdMm]? |
([0-9]+)[FfDdMm])
(?![\w\.])
</match>
</context>
<!-- FIXME Taken from C, is it right? -->
<define-regex id="escaped-character" extended="true">
\\( # leading backslash
[\\\"\'nrbtfav\?] | # escaped character
[0-7]{1,3} | # one, two, or three octal digits
x[0-9A-Fa-f]+ # 'x' followed by hex digits
)
</define-regex>
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context id="csharp-format" style-ref="format">
<match>{[0-9][0-9:\#\%,./cdefgnrxtsuDTFGMY]*}</match>
</context>
<context id="escaped-character" style-ref="escaped-character">
<match>\%{escaped-character}</match>
</context>
<context ref="def:line-continue"/>
</include>
</context>
<context id="char" style-ref="char">
<!-- FIXME I don't know C# syntax -->
<match>'(\%{escaped-character}|.)'</match>
</context>
<context id="c-sharp" class="no-spell-check">
<include>
<context ref="multiline-string"/>
<context ref="string"/>
<context ref="char"/>
<context ref="line-comment"/>
<context ref="multiline-comment"/>
<context ref="close-comment-outside-comment"/>
<context ref="if-false-comment"/>
<context ref="preprocessor"/>
<context ref="keywords"/>
<context ref="primitives"/>
<context ref="null-value"/>
<context ref="boolean"/>
<context ref="decimal"/>
<context ref="hexadecimal"/>
<context ref="real"/>
</include>
</context>
</definitions>
</language>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Martin Blanchard <tchaik@gmx.com>
Copyright (C) 2015 Martin Blanchard <tchaik@gmx.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="csv" name="CSV" version="2.0" _section="Other">
<metadata>
<property name="mimetypes">text/csv</property>
<property name="globs">*.csv</property>
</metadata>
<styles>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="escaped-character" name="Escaped character" map-to="def:special-char"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="string" name="String" map-to="def:string"/>
</styles>
<definitions>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[0-9]+
(?![\w\.])
</match>
</context>
<context id="floating-point" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]*)? | ([0-9]+[Ee][+-]?[0-9]*))
(?![\w\.])
</match>
</context>
<context id="string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context id="escaped-character" style-ref="escaped-character">
<match extended="true">
\"\" # escaped double-quote
</match>
</context>
</include>
</context>
<context id="csv" class="no-spell-check">
<include>
<context ref="decimal"/>
<context ref="floating-point"/>
<context ref="string"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,281 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Hüseyin Temucin <htemucin@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="cuda" name="CUDA" version="2.0" _section="Source">
<metadata>
<property name="globs">*.cu;*.cuh</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="data-type" name="Data Type" map-to="def:type"/>
<style id="cuda-global" name="Global Functions" map-to="def:function"/>
<style id="cuda-device" name="Device Functions" map-to="def:function"/>
<style id="global-var" name="Global Variables" map-to="def:identifier"/>
</styles>
<definitions>
<context id="cuda-keywords" style-ref="keyword">
<keyword>__global__</keyword>
<keyword>__host__</keyword>
<keyword>__device__</keyword>
<keyword>__constant__</keyword>
<keyword>__shared__</keyword>
</context>
<context id="cuda-types" style-ref="data-type">
<keyword>uint</keyword>
<keyword>int1 </keyword>
<keyword>uint1</keyword>
<keyword>int2</keyword>
<keyword>uint2</keyword>
<keyword>int3</keyword>
<keyword>uint3</keyword>
<keyword>int4</keyword>
<keyword>uint4</keyword>
<keyword>float1</keyword>
<keyword>float2</keyword>
<keyword>float3</keyword>
<keyword>float4</keyword>
<keyword>char1</keyword>
<keyword>char2</keyword>
<keyword>char3</keyword>
<keyword>char4</keyword>
<keyword>uchar1</keyword>
<keyword>uchar2</keyword>
<keyword>uchar3</keyword>
<keyword>uchar4</keyword>
<keyword>short1</keyword>
<keyword>short2</keyword>
<keyword>short3</keyword>
<keyword>short4</keyword>
<keyword>dim1</keyword>
<keyword>dim2</keyword>
<keyword>dim3</keyword>
<keyword>dim4</keyword>
</context>
<context id="cudaglobal" style-ref="global-var">
<keyword>gridDim</keyword>
<keyword>blockIdx</keyword>
<keyword>blockDim</keyword>
<keyword>threadIdx</keyword>
</context>
<context id="kernel-call" style-ref="latex:display-math">
<start>&lt;&lt;&lt;</start>
<end>&gt;&gt;&gt;</end>
</context>
<context id="cudaatom" style-ref="cuda-device">
<keyword>atomicAdd</keyword>
<keyword>atomicAnd</keyword>
<keyword>atomicCAS</keyword>
<keyword>atomicDec</keyword>
<keyword>atomicExch</keyword>
<keyword>atomicInc</keyword>
<keyword>atomicMax</keyword>
<keyword>atomicMin</keyword>
<keyword>atomicOr</keyword>
<keyword>atomicSub</keyword>
<keyword>atomicXor</keyword>
</context>
<context id="cudadev" style-ref="cuda-device">
<keyword>tex1D</keyword>
<keyword>tex1Dfetch</keyword>
<keyword>tex2D</keyword>
<keyword>__float_as_int</keyword>
<keyword>__int_as_float</keyword>
<keyword>__float2int_rn</keyword>
<keyword>__float2int_rz</keyword>
<keyword>__float2int_ru</keyword>
<keyword>__float2int_rd</keyword>
<keyword>__float2uint_rn</keyword>
<keyword>__float2uint_rz</keyword>
<keyword>__float2uint_ru</keyword>
<keyword>__float2uint_rd</keyword>
<keyword>__int2float_rn</keyword>
<keyword>__int2float_rz</keyword>
<keyword>__int2float_ru</keyword>
<keyword>__int2float_rd</keyword>
<keyword>__uint2float_rn</keyword>
<keyword>__uint2float_rz</keyword>
<keyword>__uint2float_ru</keyword>
<keyword>__uint2float_rd</keyword>
<keyword>__fadd_rz</keyword>
<keyword>__fmul_rz</keyword>
<keyword>__fdividef</keyword>
<keyword>__mul24</keyword>
<keyword>__umul24</keyword>
<keyword>__mulhi</keyword>
<keyword>__umulhi</keyword>
<keyword>__mul64hi</keyword>
<keyword>__umul64hi</keyword>
<keyword>min</keyword>
<keyword>umin</keyword>
<keyword>fminf</keyword>
<keyword>fmin</keyword>
<keyword>max</keyword>
<keyword>umax</keyword>
<keyword>fmaxf</keyword>
<keyword>fmax</keyword>
<keyword>abs</keyword>
<keyword>fabsf</keyword>
<keyword>fabs</keyword>
<keyword>sqrtf</keyword>
<keyword>sqrt</keyword>
<keyword>sinf</keyword>
<keyword>__sinf</keyword>
<keyword>sin</keyword>
<keyword>cosf</keyword>
<keyword>__cosf</keyword>
<keyword>cos</keyword>
<keyword>sincosf</keyword>
<keyword>__sincosf</keyword>
<keyword>expf</keyword>
<keyword>__expf</keyword>
<keyword>exp</keyword>
<keyword>logf</keyword>
<keyword>__logf</keyword>
<keyword>log</keyword>
</context>
<context id="cuda-runtime" style-ref="cuda-global">
<keyword>cudaBindTexture</keyword>
<keyword>cudaBindTextureToArray</keyword>
<keyword>cudaChooseDevice</keyword>
<keyword>cudaConfigureCall</keyword>
<keyword>cudaCreateChannelDesc</keyword>
<keyword>cudaD3D10GetDevice</keyword>
<keyword>cudaD3D10MapResources</keyword>
<keyword>cudaD3D10RegisterResource</keyword>
<keyword>cudaD3D10ResourceGetMappedArray</keyword>
<keyword>cudaD3D10ResourceGetMappedPitch</keyword>
<keyword>cudaD3D10ResourceGetMappedPointer</keyword>
<keyword>cudaD3D10ResourceGetMappedSize</keyword>
<keyword>cudaD3D10ResourceGetSurfaceDimensions</keyword>
<keyword>cudaD3D10ResourceSetMapFlags</keyword>
<keyword>cudaD3D10SetDirect3DDevice</keyword>
<keyword>cudaD3D10UnmapResources</keyword>
<keyword>cudaD3D10UnregisterResource</keyword>
<keyword>cudaD3D9GetDevice</keyword>
<keyword>cudaD3D9GetDirect3DDevice</keyword>
<keyword>cudaD3D9MapResources</keyword>
<keyword>cudaD3D9RegisterResource</keyword>
<keyword>cudaD3D9ResourceGetMappedArray</keyword>
<keyword>cudaD3D9ResourceGetMappedPitch</keyword>
<keyword>cudaD3D9ResourceGetMappedPointer</keyword>
<keyword>cudaD3D9ResourceGetMappedSize</keyword>
<keyword>cudaD3D9ResourceGetSurfaceDimensions</keyword>
<keyword>cudaD3D9ResourceSetMapFlags</keyword>
<keyword>cudaD3D9SetDirect3DDevice</keyword>
<keyword>cudaD3D9UnmapResources</keyword>
<keyword>cudaD3D9UnregisterResource</keyword>
<keyword>cudaEventCreate</keyword>
<keyword>cudaEventDestroy</keyword>
<keyword>cudaEventElapsedTime</keyword>
<keyword>cudaEventQuery</keyword>
<keyword>cudaEventRecord</keyword>
<keyword>cudaEventSynchronize</keyword>
<keyword>cudaFree</keyword>
<keyword>cudaFreeArray</keyword>
<keyword>cudaFreeHost </keyword>
<keyword>cudaGetChannelDesc</keyword>
<keyword>cudaGetDevice</keyword>
<keyword>cudaGetDeviceCount</keyword>
<keyword>cudaGetDeviceProperties</keyword>
<keyword>cudaGetErrorString</keyword>
<keyword>cudaGetLastError</keyword>
<keyword>cudaGetSymbolAddress</keyword>
<keyword>cudaGetSymbolSize</keyword>
<keyword>cudaGetTextureAlignmentOffset</keyword>
<keyword>cudaGetTextureReference</keyword>
<keyword>cudaGLMapBufferObject</keyword>
<keyword>cudaGLRegisterBufferObject</keyword>
<keyword>cudaGLSetGLDevice</keyword>
<keyword>cudaGLUnmapBufferObject</keyword>
<keyword>cudaGLUnregisterBufferObject</keyword>
<keyword>cudaLaunch</keyword>
<keyword>cudaMalloc</keyword>
<keyword>cudaMalloc3D</keyword>
<keyword>cudaMalloc3DArray</keyword>
<keyword>cudaMallocArray</keyword>
<keyword>cudaMallocHost</keyword>
<keyword>cudaMallocPitch</keyword>
<keyword>cudaMemcpy</keyword>
<keyword>cudaMemcpy2D</keyword>
<keyword>cudaMemcpy2DArrayToArray</keyword>
<keyword>cudaMemcpy2DFromArray</keyword>
<keyword>cudaMemcpy2DToArray</keyword>
<keyword>cudaMemcpy3D</keyword>
<keyword>cudaMemcpyArrayToArray</keyword>
<keyword>cudaMemcpyFromArray</keyword>
<keyword>cudaMemcpyFromSymbol</keyword>
<keyword>cudaMemcpyToArray</keyword>
<keyword>cudaMemcpyToSymbol</keyword>
<keyword>cudaMemset</keyword>
<keyword>cudaMemset2D</keyword>
<keyword>cudaMemset3D</keyword>
<keyword>cudaSetDevice</keyword>
<keyword>cudaSetupArgument</keyword>
<keyword>cudaStreamCreate</keyword>
<keyword>cudaStreamDestroy</keyword>
<keyword>cudaStreamQuery</keyword>
<keyword>cudaStreamSynchronize</keyword>
<keyword>cudaThreadExit</keyword>
<keyword>cudaThreadSynchronize</keyword>
<keyword>cudaUnbindTexture</keyword>
</context>
<context id="cuda">
<include>
<context ref="def:c-like-comment"/>
<context ref="c:string"/>
<context ref="c:escaped-character"/>
<context ref="c:storage-class"/>
<context ref="def:c-like-comment-multiline"/>
<context ref="def:c-like-close-comment-outside-comment"/>
<context ref="c:char"/>
<context ref="def:decimal"/>
<context ref="def:float"/>
<context ref="c:hexadecimal"/>
<context ref="c:octal"/>
<context ref="c:keywords"/>
<context ref="cuda-keywords"/>
<context ref="c:types"/>
<context ref="cuda-types"/>
<context ref="cudaglobal"/>
<context ref="kernel-call"/>
<context ref="cudaatom"/>
<context ref="cudadev"/>
<context ref="cuda-runtime"/>
<context ref="c:preprocessor"/>
<context ref="c:include"/>
<context ref="c:if0-comment"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,317 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Martin Szulecki <compiz@sukimashita.com>
Copyright (C) 2006 Martin Szulecki <compiz@sukimashita.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<!--
D Language specification
Reference:
http://dlang.org/type.html
-->
<language id="d" name="D" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-dsrc</property>
<property name="globs">*.d</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="type" name="Data Type" map-to="def:type"/>
<style id="special-token" name="Special Token" map-to="def:preprocessor"/>
<style id="null-value" name="Null Value" map-to="def:special-constant"/>
<style id="boolean" name="Boolean" map-to="def:boolean"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="binary" name="Binary number" map-to="def:base-n-integer"/>
<style id="octal" name="Octal number" map-to="def:base-n-integer"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="block-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<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="nesting-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>/\+</start>
<end>\+/</end>
<include>
<context ref="nesting-comment"/>
<context ref="def:in-comment"/>
</include>
</context>
<context id="double-quoted-string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="backtick-quoted-string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>`</start>
<end>`</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>align</keyword>
<keyword>asm</keyword>
<keyword>assert</keyword>
<keyword>body</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>cast</keyword>
<keyword>catch</keyword>
<keyword>continue</keyword>
<keyword>debug</keyword>
<keyword>default</keyword>
<keyword>delegate</keyword>
<keyword>delete</keyword>
<keyword>deprecated</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>final</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>function</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>import</keyword>
<keyword>in</keyword>
<keyword>inout</keyword>
<keyword>is</keyword>
<keyword>mixin</keyword>
<keyword>new</keyword>
<keyword>out</keyword>
<keyword>override</keyword>
<keyword>pragma</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>ref</keyword>
<keyword>return</keyword>
<keyword>scope</keyword>
<keyword>super</keyword>
<keyword>switch</keyword>
<keyword>synchronized</keyword>
<keyword>this</keyword>
<keyword>throw</keyword>
<keyword>try</keyword>
<keyword>typeid</keyword>
<keyword>typeof</keyword>
<keyword>unittest</keyword>
<keyword>version</keyword>
<keyword>while</keyword>
<keyword>with</keyword>
<!-- added in D2 -->
<keyword>lazy</keyword>
<keyword>pure</keyword>
<keyword>nothrow</keyword>
</context>
<context id="types" style-ref="type">
<keyword>alias</keyword>
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>cdouble</keyword>
<keyword>cent</keyword>
<keyword>cfloat</keyword>
<keyword>char</keyword>
<keyword>class</keyword>
<keyword>creal</keyword>
<keyword>dchar</keyword>
<keyword>double</keyword>
<keyword>enum</keyword>
<keyword>export</keyword>
<keyword>float</keyword>
<keyword>idouble</keyword>
<keyword>ifloat</keyword>
<keyword>int</keyword>
<keyword>interface</keyword>
<keyword>invariant</keyword>
<keyword>ireal</keyword>
<keyword>long</keyword>
<keyword>module</keyword>
<keyword>package</keyword>
<keyword>ptrdiff_t</keyword>
<keyword>real</keyword>
<keyword>short</keyword>
<keyword>size_t</keyword>
<keyword>struct</keyword>
<keyword>template</keyword>
<keyword>typedef</keyword>
<keyword>ubyte</keyword>
<keyword>ucent</keyword>
<keyword>uint</keyword>
<keyword>ulong</keyword>
<keyword>union</keyword>
<keyword>ushort</keyword>
<keyword>void</keyword>
<keyword>wchar</keyword>
<!-- split these ones? -->
<keyword>auto</keyword>
<keyword>const</keyword>
<keyword>extern</keyword>
<keyword>static</keyword>
<keyword>volatile</keyword>
<!-- added in D2 -->
<keyword>__gshared</keyword>
<keyword>__traits</keyword>
<keyword>__vector</keyword>
<keyword>__parameters</keyword>
<keyword>shared</keyword>
<keyword>string</keyword>
<keyword>dstring</keyword>
<keyword>wstring</keyword>
<keyword>immutable</keyword>
</context>
<context id="special-tokens" style-ref="special-token">
<keyword>#line</keyword>
<keyword>__DATE__</keyword>
<keyword>__FILE__</keyword>
<keyword>__FUNCTION__</keyword>
<keyword>__LINE__</keyword>
<keyword>__MODULE__</keyword>
<keyword>__PRETTY_FUNCTION__</keyword>
<keyword>__TIME__</keyword>
<keyword>__TIMESTAMP__</keyword>
<keyword>__VENDOR__</keyword>
<keyword>__VERSION__</keyword>
</context>
<context id="null-value" style-ref="null-value">
<keyword>null</keyword>
</context>
<context id="boolean" style-ref="boolean">
<keyword>false</keyword>
<keyword>true</keyword>
</context>
<context id="float" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
([0-9_]+[Ee][-]?[0-9_]+|([0-9_]*\.[0-9_]+|[0-9_]+\.)([Ee][-]?[0-9_]+)?)[fFLi]?
(?![\w\.])
</match>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
([1-9][0-9_]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?
(?![\w\.])
</match>
</context>
<context id="binary" style-ref="binary">
<match extended="true">
(?&lt;![\w\.])
0[bB][01_]*
(?![\w\.])
</match>
</context>
<context id="octal" style-ref="octal">
<match extended="true">
(?&lt;![\w\.])
0[0-7_]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?
(?![\w\.])
</match>
</context>
<context id="hexadecimal" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
0[xX][0-9a-fA-F_]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?
(?![\w\.])
</match>
</context>
<context id="d" class="no-spell-check">
<include>
<context ref="def:shebang"/>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="close-comment-outside-comment"/>
<context ref="nesting-comment"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="backtick-quoted-string"/>
<context ref="keywords"/>
<context ref="types"/>
<context ref="special-tokens"/>
<context ref="null-value"/>
<context ref="boolean"/>
<context ref="float"/>
<context ref="binary"/>
<context ref="octal"/>
<context ref="decimal"/>
<context ref="hexadecimal"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,261 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Marco Barisione, Emanuele Aina
Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
Copyright (C) 2005-2007 Emanuele Aina
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="def" name="Defaults" hidden="true" version="2.0">
<styles>
<!-- styles defined here are all the styles that
a language can use as default for its styles.
The styles are defined in logical groups.
A style scheme has to at least define the style
for the first item of each group and if desired
define the style for the other items to achieve a
more finegrained control on the apperance.
Finally a style scheme may also define language
specific styles. -->
<!-- Comment group -->
<!-- Any comment -->
<style id="comment" name="Comment"/>
<!-- A shebang: #!/bin/sh -->
<style id="shebang" name="Shebang" map-to="def:comment"/>
<!-- A special comment containing documentation like in javadoc or
gtk-doc -->
<style id="doc-comment" name="Documentation comment" map-to="def:comment"/>
<!-- A element inside a documentation comment: @author -->
<!-- This style doesn't map to anything since it must be used as an additional
style for text which is already styled as a "doc-comment" -->
<style id="doc-comment-element" name="Documentation comment element" />
<!-- Constant group -->
<!-- Any constant -->
<style id="constant" name="Constant"/>
<!-- A character constant: 'c' -->
<style id="character" name="Character" map-to="def:constant"/>
<!-- A string constant: "this is a string" -->
<style id="string" name="String" map-to="def:constant"/>
<!-- Special character in a string constant: "%s", "\t" -->
<!-- This style doesn't map to anything since it must be used as an additional
style for text which is already styled as a "string" -->
<style id="special-char" name="Special character (inside a string)" />
<!-- A generic number constant -->
<style id="number" name="Number" map-to="def:constant"/>
<!-- A floating point constant: 2.3e10 -->
<style id="floating-point" name="Floating point number" map-to="def:number"/>
<!-- A decimal number: 1234 -->
<style id="decimal" name="Decimal number" map-to="def:number"/>
<!-- A base-N number: 0xFFFF -->
<style id="base-n-integer" name="Base-N number" map-to="def:number"/>
<!-- A complex number -->
<style id="complex" name="Complex number" map-to="def:number"/>
<!-- A special constant like NULL in C or null in Java -->
<style id="special-constant" name="Special constant" map-to="def:constant"/>
<!-- A boolean constant: TRUE, false -->
<style id="boolean" name="Boolean value" map-to="def:special-constant"/>
<!-- Identifier group -->
<!-- Any variable name -->
<style id="identifier" name="Identifier" />
<!-- A function name (also: methods for classes) -->
<style id="function" name="Function" map-to="def:identifier"/>
<!-- A builtin name: like __import__, abs in Python
(see http://docs.python.org/lib/built-in-funcs.html) -->
<style id="builtin" name="Built-in identifier" map-to="def:identifier"/>
<!-- Statement group -->
<!-- Any statement -->
<style id="statement" name="Statement"/>
<!-- Operators: "+", "*", etc. -->
<style id="operator" name="Operator" map-to="def:statement" />
<!-- keywords: "if", "for", "while", etc. -->
<style id="keyword" name="Keyword" map-to="def:statement" />
<!-- Type group -->
<!--A primitive data type: int, long, char, etc. -->
<style id="type" name="Data type"/>
<!-- Others -->
<!-- This one is for '#include <foo.h>' and "#pragma blah", or 'use foobar', etc.. -->
<style id="preprocessor" name="Preprocessor directive"/>
<!-- Any erroneous construct -->
<style id="error" name="Error"/>
<!-- to mark possibily errors or unrecommended syntax -->
<style id="warning" name="Warning"/>
<!--Reserved keywords: like "const" and "goto" in Java -->
<style id="reserved" name="Reserved keyword" map-to="def:error" />
<!-- Anything that needs extra attention; mostly the keywords TODO, FIXME and XXX -->
<style id="note" name="Note (FIXME, TODO, XXX, etc.)"/>
<!-- Text that stands out, HTML links, e-mail addresses, etc. -->
<style id="underlined" name="Underlined"/>
<!-- Text that acts as some kind of heading, such as h1, h2, ... in html. -->
<style id="heading0" name="Heading 0"/>
<style id="heading1" name="Heading 1"/>
<style id="heading2" name="Heading 2"/>
<style id="heading3" name="Heading 3"/>
<style id="heading4" name="Heading 4"/>
<style id="heading5" name="Heading 5"/>
<style id="heading6" name="Heading 6"/>
</styles>
<definitions>
<!-- An empty string always matches. -->
<define-regex id="always-match"></define-regex>
<!-- $^ never matches. -->
<define-regex id="never-match">$^</define-regex>
<define-regex id="decimal" extended="true">
(?&lt;![\w\.]) ([1-9][0-9]* | 0) (?![\w\.])
</define-regex>
<define-regex id="octal" extended="true">
(?&lt;![\w\.]) 0 [0-7]+ (?![\w\.])
</define-regex>
<define-regex id="hexadecimal" extended="true">
(?&lt;![\w\.]) 0 [xX] [0-9a-fA-F]+ (?![\w\.])
</define-regex>
<define-regex id="float" extended="true" case-sensitive="false">
\b
([0-9]+ e [-+]? [0-9]+ |
([0-9]* \. [0-9]+ | [0-9]+ \.)
(e [-+]? [0-9]+)?) [fl]?
\b
</define-regex>
<context id="decimal" style-ref="decimal">
<match>\%{decimal}</match>
</context>
<context id="octal" style-ref="base-n-integer">
<match>\%{octal}</match>
</context>
<context id="hexadecimal" style-ref="base-n-integer">
<match>\%{hexadecimal}</match>
</context>
<context id="float" style-ref="floating-point">
<match>\%{float}</match>
</context>
<!-- FIXME is it working at line end? -->
<define-regex id="net-address" extended="true" case-sensitive="false">
\%[ # separator
(https?|ftp|nntp|news|javascript|about): # protocol
[^\ \\]* [^\ \\.:;,?&gt;&lt;)] # address
(?![a-z0-9_.-]) # separator
</define-regex>
<define-regex id="email-address" extended="true" case-sensitive="false">
\%[ # separator
(mailto:)? # optional "mailto:"
[a-z0-9_.+-]+ # user name
@ # at
[a-z0-9_.+-]+ # domain
\%] # separator
</define-regex>
<context id="in-comment" class-disabled="no-spell-check">
<include>
<context id="net-address" extend-parent="false" style-ref="underlined" class="no-spell-check">
<match>\%{net-address}</match>
</context>
<context id="email-address" extend-parent="false" style-ref="underlined" class="no-spell-check">
<match>\%{email-address}</match>
</context>
<context id="comment-note" extend-parent="false" style-ref="note" class="no-spell-check comment-note">
<match>\b(FIXME|TODO|XXX)\b</match>
</context>
</include>
</context>
<!-- A line comment starting with # -->
<context id="shell-like-comment" style-ref="comment" end-at-line-end="true" class-disabled="no-spell-check" class="comment">
<start>#</start>
<include>
<context ref="in-comment"/>
</include>
</context>
<!-- C style comments -->
<context id="c-like-comment" style-ref="comment" end-at-line-end="true" class-disabled="no-spell-check" class="comment" >
<start>//</start>
<include>
<context ref="in-line-comment"/>
</include>
</context>
<context id="c-like-comment-multiline" style-ref="comment" class-disabled="no-spell-check" class="comment" >
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="in-comment"/>
</include>
</context>
<context id="c-like-close-comment-outside-comment" style-ref="error">
<match>\*/(?!\*)</match>
</context>
<context id="line-continue" style-ref="preprocessor">
<start>\\$</start>
<end>^</end>
</context>
<!-- this is intended to be used from line comments
that can continue on a different line after "\" -->
<context id="in-line-comment" class-disabled="no-spell-check" class="comment">
<include>
<context ref="line-continue" ignore-style="true"/>
<context ref="in-comment"/>
</include>
</context>
<context id="shebang" style-ref="shebang" first-line-only="true" class="no-spell-check">
<start>^#!</start>
<end>$</end>
</context>
<context id="escape" style-ref="special-char">
<match>\\.</match>
</context>
<!-- usual quoted string, ends at line end, \ is an escape char -->
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context ref="escape"/>
<context ref="line-continue"/>
</include>
</context>
<!-- same thing but with single quote marks -->
<context id="single-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>'</start>
<end>'</end>
<include>
<context ref="escape"/>
<context ref="line-continue"/>
</include>
</context>
<!-- Dummy context, needed to load the style mappings when parsing v1 files -->
<context id="def"/>
</definitions>
</language>

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Paolo Maggi <paolo.maggi@polito.it>
Copyright (C) 2003 Paolo Maggi <paolo.maggi@polito.it>
Copyright (C) 2006 Luca Cavalli <lcavalli@cvs.gnome.org>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="desktop" name=".desktop" version="2.0" _section="Other">
<metadata>
<property name="mimetypes">application/x-gnome-app-info;application/x-desktop</property>
<property name="globs">*.desktop;*.kdelnk</property>
<property name="line-comment-start">#</property>
</metadata>
<styles>
<style id="group" name="Group" map-to="def:keyword"/>
<style id="key" name="Key" map-to="def:type"/>
<style id="language" name="Translation" map-to="def:decimal"/>
<style id="number" name="Number" map-to="def:floating-point"/>
<style id="boolean" name="Boolean" map-to="def:floating-point"/>
<style id="exec-parameter" name="Exec parameter" map-to="def:floating-point"/>
<style id="encoding" name="Encoding" map-to="def:floating-point"/>
<style id="category-main" name="Main Category" map-to="def:reserved"/>
<style id="category-additional" name="Additional Category" map-to="def:identifier"/>
<style id="category-reserved" name="Reserved Category" map-to="def:note"/>
</styles>
<definitions>
<define-regex id="language">\[[a-zA-Z_]+@?[a-zA-Z_]*\]</define-regex>
<define-regex id="key-suffix">(?=(\%{language})?\s*=\s*)</define-regex>
<context id="group" style-ref="group">
<start>^\[</start>
<end>\]$</end>
</context>
<context id="boolean" style-ref="boolean">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="exec-parameter" style-ref="exec-parameter">
<match>%[fFuUdDnNimckv%]</match>
</context>
<context id="encoding" style-ref="encoding">
<keyword>UTF\-8</keyword>
<keyword>Legacy\-Mixed</keyword>
</context>
<context id="number" style-ref="number">
<match>(.\b[0-9]+([Ll]?|[Ff]?)\b)|(b[0-9]*\.\W)</match>
</context>
<context id="standard-key" style-ref="key">
<prefix>^_?</prefix>
<suffix>\%{key-suffix}</suffix>
<keyword>Actions</keyword>
<keyword>BinaryPattern</keyword>
<keyword>Categories</keyword>
<keyword>Comment</keyword>
<keyword>DBusActivatable</keyword>
<keyword>DefaultApp</keyword>
<keyword>Dev</keyword>
<keyword>Encoding</keyword>
<keyword>Exec</keyword>
<keyword>Extensions</keyword>
<keyword>FilePattern</keyword>
<keyword>FSType</keyword>
<keyword>GenericName</keyword>
<keyword>Hidden</keyword>
<keyword>Icon</keyword>
<keyword>Implements</keyword>
<keyword>Keywords</keyword>
<keyword>MapNotify</keyword>
<keyword>MimeType</keyword>
<keyword>MiniIcon</keyword>
<keyword>MountPoint</keyword>
<keyword>Name</keyword>
<keyword>NoDisplay</keyword>
<keyword>NotShowIn</keyword>
<keyword>OnlyShowIn</keyword>
<keyword>Path</keyword>
<keyword>Patterns</keyword>
<keyword>Protocols</keyword>
<keyword>ReadOnly</keyword>
<keyword>SortOrder</keyword>
<keyword>StartupNotify</keyword>
<keyword>StartupWMClass</keyword>
<keyword>SwallowExec</keyword>
<keyword>SwallowTitle</keyword>
<keyword>Terminal</keyword>
<keyword>TerminalOptions</keyword>
<keyword>TryExec</keyword>
<keyword>Type</keyword>
<keyword>UnmountIcon</keyword>
<keyword>URL</keyword>
<keyword>Version</keyword>
</context>
<context id="non-standard-key" style-ref="key">
<match>^_?X\-[a-zA-Z\-]+\%{key-suffix}</match>
</context>
<context id="key-categories" end-at-line-end="true">
<start>^(_?Categories)\%{key-suffix}</start>
<include>
<context sub-pattern="1" where="start" style-ref="key"/>
<context style-ref="category-main">
<keyword>AudioVideo</keyword>
<keyword>Audio</keyword>
<keyword>Video</keyword>
<keyword>Shell</keyword>
<keyword>Development</keyword>
<keyword>Education</keyword>
<keyword>Game</keyword>
<keyword>Graphics</keyword>
<keyword>Network</keyword>
<keyword>Office</keyword>
<keyword>Settings</keyword>
<keyword>System</keyword>
<keyword>Utility</keyword>
</context>
<context style-ref="category-additional">
<keyword>2DGraphics</keyword>
<keyword>3DGraphics</keyword>
<keyword>Accessibility</keyword>
<keyword>ActionGame</keyword>
<keyword>AdventureGame</keyword>
<keyword>Amusement</keyword>
<keyword>ArcadeGame</keyword>
<keyword>Archiving</keyword>
<keyword>ArtificialIntelligence</keyword>
<keyword>Art</keyword>
<keyword>Astronomy</keyword>
<keyword>AudioVideoEditing</keyword>
<keyword>Biology</keyword>
<keyword>BlocksGame</keyword>
<keyword>BoardGame</keyword>
<keyword>Building</keyword>
<keyword>Calculator</keyword>
<keyword>Calendar</keyword>
<keyword>CardGame</keyword>
<keyword>Chart</keyword>
<keyword>Chat</keyword>
<keyword>Chemistry</keyword>
<keyword>Clock</keyword>
<keyword>Compression</keyword>
<keyword>ComputerScience</keyword>
<keyword>ConsoleOnly</keyword>
<keyword>Construction</keyword>
<keyword>ContactManagement</keyword>
<keyword>Core</keyword>
<keyword>Database</keyword>
<keyword>DataVisualization</keyword>
<keyword>Debugger</keyword>
<keyword>DesktopSettings</keyword>
<keyword>Dialup</keyword>
<keyword>Dictionary</keyword>
<keyword>DiscBurning</keyword>
<keyword>Documentation</keyword>
<keyword>Economy</keyword>
<keyword>Electricity</keyword>
<keyword>Electronics</keyword>
<keyword>Email</keyword>
<keyword>Emulator</keyword>
<keyword>Engineering</keyword>
<keyword>FileManager</keyword>
<keyword>Filesystem</keyword>
<keyword>FileTools</keyword>
<keyword>FileTransfer</keyword>
<keyword>Finance</keyword>
<keyword>FlowChart</keyword>
<keyword>Geography</keyword>
<keyword>Geology</keyword>
<keyword>Geoscience</keyword>
<keyword>GNOME</keyword>
<keyword>GTK</keyword>
<keyword>GUIDesigner</keyword>
<keyword>HamRadio</keyword>
<keyword>HardwareSettings</keyword>
<keyword>History</keyword>
<keyword>IDE</keyword>
<keyword>ImageProcessing</keyword>
<keyword>InstantMessaging</keyword>
<keyword>IRCClient</keyword>
<keyword>Java</keyword>
<keyword>KDE</keyword>
<keyword>KidsGame</keyword>
<keyword>Languages</keyword>
<keyword>Literature</keyword>
<keyword>LogicGame</keyword>
<keyword>Math</keyword>
<keyword>MedicalSoftware</keyword>
<keyword>Midi</keyword>
<keyword>Mixer</keyword>
<keyword>Monitor</keyword>
<keyword>Motif</keyword>
<keyword>Music</keyword>
<keyword>News</keyword>
<keyword>NumericalAnalysis</keyword>
<keyword>OCR</keyword>
<keyword>P2P</keyword>
<keyword>PackageManager</keyword>
<keyword>ParallelComputing</keyword>
<keyword>PDA</keyword>
<keyword>Photography</keyword>
<keyword>Physics</keyword>
<keyword>Player</keyword>
<keyword>Presentation</keyword>
<keyword>Printing</keyword>
<keyword>Profiling</keyword>
<keyword>ProjectManagement</keyword>
<keyword>Publishing</keyword>
<keyword>Qt</keyword>
<keyword>RasterGraphics</keyword>
<keyword>Recorder</keyword>
<keyword>RemoteAccess</keyword>
<keyword>RevisionControl</keyword>
<keyword>Robotics</keyword>
<keyword>RolePlaying</keyword>
<keyword>Scanning</keyword>
<keyword>Science</keyword>
<keyword>Security</keyword>
<keyword>Sequencer</keyword>
<keyword>Simulation</keyword>
<keyword>SportsGame</keyword>
<keyword>Sports</keyword>
<keyword>Spreadsheet</keyword>
<keyword>StrategyGame</keyword>
<keyword>Telephony</keyword>
<keyword>TelephonyTools</keyword>
<keyword>TerminalEmulator</keyword>
<keyword>TextEditor</keyword>
<keyword>TextTools</keyword>
<keyword>Translation</keyword>
<keyword>Tuner</keyword>
<keyword>TV</keyword>
<keyword>VectorGraphics</keyword>
<keyword>VideoConference</keyword>
<keyword>Viewer</keyword>
<keyword>WebBrowser</keyword>
<keyword>WebDevelopment</keyword>
<keyword>WordProcessor</keyword>
</context>
<context style-ref="category-reserved">
<keyword>Screensaver</keyword>
<keyword>TrayIcon</keyword>
<keyword>Applet</keyword>
<keyword>Shell</keyword>
</context>
</include>
</context>
<context id="key">
<include>
<context ref="key-categories"/>
<context ref="standard-key"/>
<context ref="non-standard-key"/>
</include>
</context>
<context id="desktop">
<include>
<context ref="def:shell-like-comment"/>
<context ref="group"/>
<context ref="key"/>
<context id="lang-and-value" end-at-line-end="true">
<start>(\%{language})?\s*=\s*</start>
<include>
<context sub-pattern="1" where="start" style-ref="language"/>
<context ref="boolean"/>
<context ref="exec-parameter"/>
<context ref="encoding"/>
<context ref="number"/>
</include>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Paolo Maggi <paolo.maggi@polito.it>
Copyright (C) 2003 Paolo Maggi <paolo.maggi@polito.it>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="diff" name="Diff" version="2.0" _section="Other">
<metadata>
<property name="mimetypes">text/x-diff;text/x-patch;text/x-reject</property>
<property name="globs">*.diff;*.patch;*.rej</property>
</metadata>
<styles>
<style id="added-line" name="Added line"/> <!--Others 2-->
<style id="removed-line" name="Removed line"/> <!--Others 3-->
<style id="changed-line" name="Changed line"/> <!--Preprocessor-->
<style id="special-case" name="Special case"/> <!--String-->
<style id="location" name="Location"/> <!--Keyword-->
<style id="ignore" name="Ignore" map-to="def:comment"/>
<style id="diff-file" name=""/> <!--Data Type-->
</styles>
<definitions>
<define-regex id="diff-file">^(diff |\+\+\+ |Index: |==== |\*\*\* |--- )</define-regex>
<context id="diff">
<include>
<context id="diff-file" style-ref="diff-file" end-at-line-end="true">
<start>\%{diff-file}</start>
</context>
<context id="removed-line" style-ref="removed-line">
<match>^(&lt;|-).*$</match>
</context>
<context id="added-line" style-ref="added-line">
<match>^(\+|&gt;).*$</match>
</context>
<context id="changed-line" style-ref="changed-line">
<match>^\! .*$</match>
</context>
<context id="location" style-ref="location" end-at-line-end="true">
<start>^((@@)|[0-9]|\*\*\*\*)</start>
<include>
<context ref="def:escape"/>
</include>
</context>
<context id="special-case" style-ref="special-case">
<prefix>^</prefix>
<suffix>\b</suffix>
<keyword>Only in .*</keyword>
<keyword>Files .* and .* are identical$</keyword>
<keyword>Files .* and .* differ$</keyword>
<keyword>Binary files .* and .* differ$</keyword>
<keyword>File .* is a .* while file .* is a .*</keyword>
<keyword>No newline at end of file .*</keyword>
</context>
<context style-ref="ignore" end-at-line-end="true">
<start>^\S</start>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,475 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Joachim Noreiko <jnoreiko@yahoo.com>
Copyright (C) 2006, 2007 Joachim Noreiko <jnoreiko@yahoo.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="docbook" name="DocBook" version="2.0" _section="Markup">
<metadata>
<property name="mimetypes">application/docbook+xml</property>
<property name="globs">*.docbook</property>
<property name="block-comment-start">&lt;!--</property>
<property name="block-comment-end">--&gt;</property>
</metadata>
<styles>
<style id="header-elements" name="Header Elements" map-to="def:keyword"/>
<style id="formatting-elements" name="Formatting Elements" map-to="def:keyword"/>
<style id="gui-elements" name="GUI Elements" map-to="def:keyword"/>
<style id="structural-elements" name="Structural Elements" map-to="def:keyword"/>
</styles>
<definitions>
<context id="header-elements" once-only="true" style-ref="header-elements">
<suffix>\b(?!\s*=)</suffix>
<keyword>abstract</keyword>
<keyword>articleinfo</keyword>
<keyword>article</keyword>
<keyword>bookinfo</keyword>
<keyword>authorgroup</keyword>
<keyword>author</keyword>
<keyword>affiliation</keyword>
<keyword>copyright</keyword>
<keyword>date</keyword>
<keyword>email</keyword>
<keyword>firstname</keyword>
<keyword>orgname</keyword>
<keyword>publishername</keyword>
<keyword>publisher</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>
</context>
<context id="formatting-elements" once-only="true" style-ref="formatting-elements">
<suffix>\b(?!\s*=)</suffix>
<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>
</context>
<context id="gui-elements" once-only="true" style-ref="gui-elements">
<suffix>\b(?!\s*=)</suffix>
<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>
</context>
<context id="structural-elements" once-only="true" style-ref="structural-elements">
<suffix>\b(?!\s*=)</suffix>
<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>titleabbrev</keyword>
<keyword>title</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>areaset</keyword>
<keyword>areaspec</keyword>
<keyword>area</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>calloutlist</keyword>
<keyword>callout</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>collabname</keyword>
<keyword>collab</keyword>
<keyword>colophon</keyword>
<keyword>confdates</keyword>
<keyword>confgroup</keyword>
<keyword>confnum</keyword>
<keyword>confsponsor</keyword>
<keyword>conftitle</keyword>
<keyword>constant</keyword>
<keyword>constraintdef</keyword>
<keyword>constraint</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>footnoteref</keyword>
<keyword>footnote</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>graphicco</keyword>
<keyword>graphic</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>keywordset</keyword>
<keyword>keyword</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>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>msg</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>partinfo</keyword>
<keyword>partintro</keyword>
<keyword>part</keyword>
<keyword>personblurb</keyword>
<keyword>personname</keyword>
<keyword>phone</keyword>
<keyword>pob</keyword>
<keyword>postcode</keyword>
<keyword>prefaceinfo</keyword>
<keyword>preface</keyword>
<keyword>primaryie</keyword>
<keyword>printhistory</keyword>
<keyword>procedure</keyword>
<keyword>productionrecap</keyword>
<keyword>productionset</keyword>
<keyword>production</keyword>
<keyword>productname</keyword>
<keyword>productnumber</keyword>
<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>refentryinfo</keyword>
<keyword>refentrytitle</keyword>
<keyword>refentry</keyword>
<keyword>referenceinfo</keyword>
<keyword>reference</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>refsynopsisdivinfo</keyword>
<keyword>refsynopsisdiv</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>sect5info</keyword>
<keyword>sect5</keyword>
<keyword>sectioninfo</keyword>
<keyword>seealsoie</keyword>
<keyword>seealso</keyword>
<keyword>seeie</keyword>
<keyword>seglistitem</keyword>
<keyword>segmentedlist</keyword>
<keyword>segtitle</keyword>
<keyword>seg</keyword>
<keyword>seriesvolnums</keyword>
<keyword>setindexinfo</keyword>
<keyword>setindex</keyword>
<keyword>setinfo</keyword>
<keyword>set</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>stepalternatives</keyword>
<keyword>step</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>taskprerequisites</keyword>
<keyword>taskrelated</keyword>
<keyword>tasksummary</keyword>
<keyword>task</keyword>
<keyword>td</keyword>
<keyword>tertiaryie</keyword>
<keyword>textdata</keyword>
<keyword>tfoot</keyword>
<keyword>tocback</keyword>
<keyword>tocchap</keyword>
<keyword>tocentry</keyword>
<keyword>tocfront</keyword>
<keyword>toclevel</keyword>
<keyword>tocpart</keyword>
<keyword>toc</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>
</context>
<context id="docbook-tags">
<include>
<context ref="header-elements"/>
<context ref="formatting-elements"/>
<context ref="gui-elements"/>
<context ref="structural-elements"/>
<context ref="xml:element-name" original="true"/>
</include>
</context>
<replace id="xml:element-name" ref="docbook-tags"/>
<context id="docbook">
<include>
<context ref="xml:xml"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Paolo Borelli <pborelli@gnome.org>
Copyright (C) 2009 Paolo Borelli
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="dosbatch" _name="DOS Batch" version="2.0" _section="Script">
<metadata>
<property name="globs">*.bat;*.cmd;*.sys</property>
<property name="line-comment-start">rem</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="string" name="String" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="commands" name="Command" map-to="def:keyword"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<context id="comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>^\s*(rem\b|:\s*:)</start>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
</context>
<context id="keywords" style-ref="keyword">
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>exist</keyword>
<keyword>exit</keyword>
<keyword>for</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>not</keyword>
<keyword>return</keyword>
<keyword>say</keyword>
<keyword>select</keyword>
<keyword>then</keyword>
<keyword>when</keyword>
</context>
<context id="commands" style-ref="keyword">
<keyword>ansi</keyword>
<keyword>append</keyword>
<keyword>assign</keyword>
<keyword>assoc</keyword>
<keyword>attrib</keyword>
<keyword>at</keyword>
<keyword>autofail</keyword>
<keyword>backup</keyword>
<keyword>basedev</keyword>
<keyword>boot</keyword>
<keyword>break</keyword>
<keyword>buffers</keyword>
<keyword>cache</keyword>
<keyword>call</keyword>
<keyword>cacls</keyword>
<keyword>cd</keyword>
<keyword>chcp</keyword>
<keyword>chdir</keyword>
<keyword>chkdsk</keyword>
<keyword>chkntfs</keyword>
<keyword>cls</keyword>
<keyword>cmd</keyword>
<keyword>codepage</keyword>
<keyword>color</keyword>
<keyword>command</keyword>
<keyword>compact</keyword>
<keyword>comp</keyword>
<keyword>convert</keyword>
<keyword>copy</keyword>
<keyword>date</keyword>
<keyword>del</keyword>
<keyword>dir</keyword>
<keyword>diskcomp</keyword>
<keyword>diskcopy</keyword>
<keyword>doskey</keyword>
<keyword>echo</keyword>
<keyword>endlocal</keyword>
<keyword>erase</keyword>
<keyword>fc</keyword>
<keyword>find</keyword>
<keyword>findstr</keyword>
<keyword>format</keyword>
<keyword>ftype</keyword>
<keyword>graftabl</keyword>
<keyword>help</keyword>
<keyword>keyb</keyword>
<keyword>label</keyword>
<keyword>md</keyword>
<keyword>mkdir</keyword>
<keyword>mode</keyword>
<keyword>more</keyword>
<keyword>move</keyword>
<keyword>path</keyword>
<keyword>pause</keyword>
<keyword>popd</keyword>
<keyword>print</keyword>
<keyword>prompt</keyword>
<keyword>pushd</keyword>
<keyword>rd</keyword>
<keyword>recover</keyword>
<keyword>rename</keyword>
<keyword>ren</keyword>
<keyword>replace</keyword>
<keyword>restore</keyword>
<keyword>rmdir</keyword>
<keyword>run</keyword>
<keyword>set</keyword>
<keyword>setboot</keyword>
<keyword>setlocal</keyword>
<keyword>shift</keyword>
<keyword>sort</keyword>
<keyword>start</keyword>
<keyword>subst</keyword>
<keyword>time</keyword>
<keyword>title</keyword>
<keyword>trapdump</keyword>
<keyword>tree</keyword>
<keyword>type</keyword>
<keyword>undelete</keyword>
<keyword>unpack</keyword>
<keyword>use</keyword>
<keyword>verify</keyword>
<keyword>ver</keyword>
<keyword>vol</keyword>
<keyword>xcopy</keyword>
</context>
<context id="dosbatch" class="no-spell-check">
<include>
<context ref="comment"/>
<context ref="string"/>
<context ref="keywords"/>
<context ref="commands"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Paolo Borelli <pborelli@gnome.org>
Copyright (C) 2008 Paolo Borelli
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="dot" name="Graphviz Dot" version="2.0" _section="Other">
<metadata>
<property name="mimetypes">text/vnd.graphviz</property>
<property name="globs">*.dot;*.gv</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="keyword" name="Keyword" map-to="def:keyword"/>
<style id="attribute" name="Attribute name" map-to="def:type"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="block-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<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="keywords" style-ref="keyword">
<keyword>digraph</keyword>
<keyword>edge</keyword>
<keyword>node</keyword>
<keyword>subgraph</keyword>
</context>
<context id="attributes" style-ref="attribute">
<keyword>arrowhead</keyword>
<keyword>arrowsize</keyword>
<keyword>arrowtail</keyword>
<keyword>bgcolor</keyword>
<keyword>center</keyword>
<keyword>color</keyword>
<keyword>constraint</keyword>
<keyword>decorateP</keyword>
<keyword>dir</keyword>
<keyword>distortion</keyword>
<keyword>fillcolor</keyword>
<keyword>fontcolor</keyword>
<keyword>fontname</keyword>
<keyword>fontsize</keyword>
<keyword>headclip</keyword>
<keyword>headlabel</keyword>
<keyword>height</keyword>
<keyword>labelangle</keyword>
<keyword>labeldistance</keyword>
<keyword>labelfontcolor</keyword>
<keyword>labelfontname</keyword>
<keyword>labelfontsize</keyword>
<keyword>label</keyword>
<keyword>layers</keyword>
<keyword>layer</keyword>
<keyword>margin</keyword>
<keyword>mclimit</keyword>
<keyword>minlen</keyword>
<keyword>name</keyword>
<keyword>nodesep</keyword>
<keyword>nslimit</keyword>
<keyword>ordering</keyword>
<keyword>orientation</keyword>
<keyword>pagedir</keyword>
<keyword>page</keyword>
<keyword>peripheries</keyword>
<keyword>port_label_distance</keyword>
<keyword>rankdir</keyword>
<keyword>ranksep</keyword>
<keyword>rank</keyword>
<keyword>ratio</keyword>
<keyword>regular</keyword>
<keyword>rotate</keyword>
<keyword>samehead</keyword>
<keyword>sametail</keyword>
<keyword>shapefile</keyword>
<keyword>shape</keyword>
<keyword>sides</keyword>
<keyword>size</keyword>
<keyword>skew</keyword>
<keyword>style</keyword>
<keyword>tailclip</keyword>
<keyword>taillabel</keyword>
<keyword>URL</keyword>
<keyword>weight</keyword>
<keyword>width</keyword>
</context>
<context id="dot" class="no-spell-check">
<include>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="close-comment-outside-comment"/>
<context ref="keywords"/>
<context ref="attributes"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Yevgen Muntyan <muntyan@tamu.edu>
Copyright (C) 2006-2007 Yevgen Muntyan <muntyan@tamu.edu>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="dpatch" name="DPatch" version="2.0" _section="Other">
<metadata>
<property name="mimetypes">text/x-dpatch</property>
<property name="globs">*.dpatch</property>
</metadata>
<styles>
<style id="patch-start" name="Patch Start" map-to="def:keyword"/>
</styles>
<definitions>
<context id="dpatch">
<include>
<context ref="sh:sh"/>
<context id="patch">
<start>^(\@DPATCH\@).*</start>
<include>
<context sub-pattern="1" where="start" style-ref="patch-start"/>
<context ref="diff:diff"/>
</include>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Yevgen Muntyan <muntyan@tamu.edu>
Copyright (C) 2006-2007 Yevgen Muntyan <muntyan@tamu.edu>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="dtd" name="DTD" version="2.0" _section="Markup">
<metadata>
<property name="mimetypes">text/x-dtd</property>
<property name="globs">*.dtd</property>
<property name="block-comment-start">&lt;!--</property>
<property name="block-comment-end">--&gt;</property>
</metadata>
<styles>
<style id="entity" name="entity" map-to="xml:entity"/>
<style id="decl" name="decl" map-to="xml:doctype"/>
<style id="error" name="error" map-to="xml:error"/>
<style id="quoted-value" name="Quoted Value" map-to="xml:attribute-value"/>
</styles>
<definitions>
<define-regex id="prefix">[a-zA-Z_][a-zA-Z0-9._-]*</define-regex>
<define-regex id="name">[a-zA-Z_][a-zA-Z0-9.:_-]*</define-regex>
<context id="entity" style-ref="entity">
<match>%\%{name};</match>
</context>
<context id="decl-element">
<start>&lt;!ELEMENT\b</start>
<end>&gt;</end>
<include>
<context sub-pattern="0" where="start" style-ref="decl"/>
<context sub-pattern="0" where="end" style-ref="decl"/>
<context ref="entity"/>
<context ref="quoted-value"/>
</include>
</context>
<context id="quoted-value" style-ref="quoted-value">
<start>"</start>
<end>"</end>
<include>
<context style-ref="entity">
<match>[%&amp;]\%{name};</match>
</context>
<context style-ref="error" extend-parent="false">
<match>[%&amp;]\S*</match>
</context>
</include>
</context>
<context id="NDATA" extend-parent="false">
<start>\bNDATA\b</start>
<include>
<context sub-pattern="0" where="start" style-ref="decl"/>
<context>
<match>\%{name}</match>
</context>
<context ref="error"/>
</include>
</context>
<context id="decl-entity">
<start>&lt;!ENTITY\s+(%\s+)?\%{name}\b</start>
<end>&gt;</end>
<include>
<context sub-pattern="0" where="start" style-ref="decl"/>
<context sub-pattern="0" where="end" style-ref="decl"/>
<context ref="quoted-value"/>
<context extend-parent="false">
<start>(SYSTEM|PUBLIC)(?=\s|$)</start>
<include>
<context sub-pattern="0" where="start" style-ref="decl"/>
<context ref="quoted-value"/>
<context ref="NDATA"/>
<context ref="error"/>
</include>
</context>
<context ref="error"/>
</include>
</context>
<context id="decl-attlist">
<start>&lt;!ATTLIST\b</start>
<end>&gt;</end>
<include>
<context sub-pattern="0" where="start" style-ref="decl"/>
<context sub-pattern="0" where="end" style-ref="decl"/>
<context ref="entity"/>
<context ref="quoted-value"/>
</include>
</context>
<context id="decl-notation">
<start>&lt;!NOTATION\b</start>
<end>&gt;</end>
<include>
<context sub-pattern="0" where="start" style-ref="decl"/>
<context sub-pattern="0" where="end" style-ref="decl"/>
<context ref="entity"/>
<context ref="quoted-value"/>
</include>
</context>
<context id="error" style-ref="error" extend-parent="false">
<match>\S+</match>
</context>
<context id="dtd">
<include>
<context ref="xml:comment"/>
<context ref="decl-element"/>
<context ref="decl-entity"/>
<context ref="decl-attlist"/>
<context ref="decl-notation"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Copyright (C) 2008 Emmanuel Vaïsse <evaisse@gmail.com>
Copyright (C) 2010 Patryk Zawadzki <patrys@pld-linux.org
Copyright (C) 2015 Tobias Schönberg <tobias47n9e@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-->
<language id="dtl" _name="Django Template" version="2.0" _section="Markup">
<metadata>
<property name="globs">*.dtl</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="escape" name="Escaped Character" map-to="def:special-char"/>
<style id="string" name="String" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="filters" name="Null Value" map-to="def:function"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="octal" name="Octal number" map-to="def:base-n-integer"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
</styles>
<definitions>
<context id="comment" style-ref="comment">
<start>&lt;!--</start>
<end>--\s*&gt;</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="close-comment-outside-comment" style-ref="error">
<match>\*/(?!\*)</match>
</context>
<context id="double-quoted-string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string">
<start>'</start>
<end>'</end>
<include>
<context style-ref="def:special-char">
<match>\\['\\]</match>
</context>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<prefix>\s</prefix>
<suffix>\b</suffix>
<keyword>and</keyword>
<keyword>as</keyword>
<keyword>autoescape</keyword>
<keyword>block</keyword>
<keyword>blocktrans</keyword>
<keyword>closeblock</keyword>
<keyword>closebrace</keyword>
<keyword>closecomment</keyword>
<keyword>closevariable</keyword>
<keyword>comment</keyword>
<keyword>csrf_token</keyword>
<keyword>cycle</keyword>
<keyword>debug</keyword>
<keyword>elif</keyword>
<keyword>else</keyword>
<keyword>empty</keyword>
<keyword>endautoescape</keyword>
<keyword>endblock</keyword>
<keyword>endblocktrans</keyword>
<keyword>endcomment</keyword>
<keyword>endfilter</keyword>
<keyword>endfor</keyword>
<keyword>endif</keyword>
<keyword>endifchanged</keyword>
<keyword>endifequal</keyword>
<keyword>endifnotequal</keyword>
<keyword>endspaceless</keyword>
<keyword>endverbatim</keyword>
<keyword>endwith</keyword>
<keyword>extends</keyword>
<keyword>filter</keyword>
<keyword>firstof</keyword>
<keyword>for</keyword>
<keyword>from</keyword>
<keyword>get_media_prefix</keyword>
<keyword>get_static_prefix</keyword>
<keyword>if</keyword>
<keyword>ifchanged</keyword>
<keyword>ifequal</keyword>
<keyword>ifnotequal</keyword>
<keyword>in</keyword>
<keyword>include</keyword>
<keyword>load</keyword>
<keyword>lorem</keyword>
<keyword>not</keyword>
<keyword>now</keyword>
<keyword>on</keyword>
<keyword>off</keyword>
<keyword>openblock</keyword>
<keyword>openbrace</keyword>
<keyword>opencomment</keyword>
<keyword>openvariable</keyword>
<keyword>or</keyword>
<keyword>regroup</keyword>
<keyword>spaceless</keyword>
<keyword>ssi</keyword>
<keyword>static</keyword>
<keyword>staticfiles</keyword>
<keyword>templatetag</keyword>
<keyword>trans</keyword>
<keyword>url</keyword>
<keyword>verbatim</keyword>
<keyword>widthratio</keyword>
<keyword>with</keyword>
</context>
<context id="filters" style-ref="filters">
<prefix>\|</prefix>
<keyword>add</keyword>
<keyword>addslashes</keyword>
<keyword>apnumber</keyword>
<keyword>capfirst</keyword>
<keyword>center</keyword>
<keyword>cut</keyword>
<keyword>date</keyword>
<keyword>default</keyword>
<keyword>default_if_none</keyword>
<keyword>dictsort</keyword>
<keyword>dictsortreversed</keyword>
<keyword>divisibleby</keyword>
<keyword>escape</keyword>
<keyword>escapejs</keyword>
<keyword>filesizeformat</keyword>
<keyword>first</keyword>
<keyword>fix_ampersands</keyword>
<keyword>floatformat</keyword>
<keyword>force_escape</keyword>
<keyword>get_digit</keyword>
<keyword>intcomma</keyword>
<keyword>intword</keyword>
<keyword>iriencode</keyword>
<keyword>join</keyword>
<keyword>last</keyword>
<keyword>length</keyword>
<keyword>length_is</keyword>
<keyword>linebreaks</keyword>
<keyword>linebreaksbr</keyword>
<keyword>linenumbers</keyword>
<keyword>ljust</keyword>
<keyword>lower</keyword>
<keyword>make_list</keyword>
<keyword>markdown</keyword>
<keyword>naturalday</keyword>
<keyword>ordinal</keyword>
<keyword>phone2numeric</keyword>
<keyword>pluralize</keyword>
<keyword>pprint</keyword>
<keyword>random</keyword>
<keyword>removetags</keyword>
<keyword>restructuredtext</keyword>
<keyword>rjust</keyword>
<keyword>safe</keyword>
<keyword>safeseq</keyword>
<keyword>slice</keyword>
<keyword>slugify</keyword>
<keyword>stringformat</keyword>
<keyword>striptags</keyword>
<keyword>textile</keyword>
<keyword>time</keyword>
<keyword>timesince</keyword>
<keyword>timeuntil</keyword>
<keyword>title</keyword>
<keyword>truncatechars</keyword>
<keyword>truncatechars_html</keyword>
<keyword>truncatewords</keyword>
<keyword>truncatewords_html</keyword>
<keyword>unordered_list</keyword>
<keyword>upper</keyword>
<keyword>urlencode</keyword>
<keyword>urlize</keyword>
<keyword>urlizetrunc</keyword>
<keyword>wordcount</keyword>
<keyword>wordwrap</keyword>
<keyword>yesno</keyword>
</context>
<context id="boolean" style-ref="boolean">
<prefix>\b</prefix>
<suffix>\b</suffix>
<keyword>False</keyword>
<keyword>True</keyword>
</context>
<context id="float" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
([0-9]+[Ee][+-]?[0-9]+ |
([0-9]*\.[0-9]+ | [0-9]+\.[0-9]*)([Ee][+-]?[0-9]+)?)
(?![\w\.])
</match>
</context>
<context id="decimal-number" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[+-]?([1-9][0-9]*|0)
(?![\w\.])
</match>
</context>
<context id="octal-number" style-ref="octal">
<match extended="true">
(?&lt;![\w\.])
[+-]?0[0-7]+
(?![\w\.])
</match>
</context>
<context id="hexadecimal-number" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
[+-]?0x[0-9a-fA-F]+
(?![\w\.])
</match>
</context>
<context id="dtl-block" end-at-line-end="true">
<start>&#123;(&#123;|&#37;)(/?)</start>
<end>(&#125;|&#37;)&#125;</end>
<include>
<context sub-pattern="0" where="start" style-ref="boolean"/>
<context sub-pattern="0" where="end" style-ref="boolean"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="keywords"/>
<context ref="filters"/>
<context ref="boolean"/>
<context ref="float"/>
<context ref="decimal-number"/>
<context ref="octal-number"/>
<context ref="hexadecimal-number"/>
</include>
</context>
<context id="dtl-comment-block" style-ref="comment" end-at-line-end="true">
<start>&#123;(&#35;)(/?)</start>
<end>(&#35;)&#125;</end>
<include>
<context sub-pattern="0" where="start" style-ref="comment"/>
<context sub-pattern="0" where="end" style-ref="comment"/>
</include>
</context>
<replace id="html:embedded-lang-hook" ref="dtl-block"/>
<context id="dtl">
<include>
<context ref="dtl-comment-block"/>
<context ref="dtl-block"/>
<context ref="html:html"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Hasan Karahan <hasan.karahan81@gmail.com>, updated by Remi Meier
Copyright (C) 2008 Hasan Karahan <hasan.karahan81@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="eiffel" name="Eiffel" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-eiffel</property>
<property name="globs">*.e;*.eif</property>
<property name="line-comment-start">--</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="string" name="String" map-to="def:string"/>
<style id="debug" name="Debug" map-to="def:preprocessor"/>
<style id="assertion" name="Assertion" map-to="def:preprocessor"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="design-by-contract" name="Design by Contract" map-to="def:keyword"/>
<style id="exception-handling" name="Exception Handling" map-to="def:keyword"/>
<style id="predefined-variable" name="Predefined Variable" map-to="def:builtin"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
<style id="void" name="Void Value" map-to="def:special-constant"/>
<style id="boolean" name="Boolean Value" map-to="def:boolean"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
</styles>
<default-regex-options case-sensitive="true"/>
<definitions>
<context id="single-quoted-string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>'</start>
<end>'</end>
</context>
<context id="multi-line-string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>"\[</start>
<end>\]"</end>
</context>
<context id="double-quoted-string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context id="escaped-character" style-ref="escaped-character">
<match extended="true">
(\%\"|\%N|\%\%)
</match>
</context>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>--</start>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="debug" style-ref="debug">
<start>(^|\s)debug(\s|$)</start>
<end>(^|\s)end(\s|$)</end>
</context>
<context id="assertion" style-ref="assertion">
<start>(^|\s)check(\s|$)</start>
<end>(^|\s)end(\s|$)</end>
</context>
<context id="keywords" style-ref="keyword">
<!-- class declaration -->
<keyword>indexing</keyword>
<keyword>deferred</keyword>
<keyword>expanded</keyword>
<keyword>class</keyword>
<keyword>obsolete</keyword>
<keyword>inherit</keyword>
<keyword>insert</keyword>
<!-- parent list -->
<keyword>rename</keyword>
<keyword>as</keyword>
<keyword>export</keyword>
<keyword>all</keyword>
<keyword>undefine</keyword>
<keyword>redefine</keyword>
<keyword>select</keyword>
<keyword>end</keyword>
<keyword>(create|creation)</keyword>
<keyword>feature</keyword>
<!-- feature declaration -->
<keyword>frozen</keyword>
<keyword>prefix</keyword>
<keyword>infix</keyword>
<keyword>is</keyword>
<!-- routine -->
<keyword>obsolete</keyword>
<keyword>require\s*(else)?</keyword>
<keyword>local</keyword>
<!-- routine body -->
<keyword>deferred</keyword>
<keyword>do</keyword>
<keyword>once</keyword>
<keyword>external</keyword>
<keyword>alias</keyword>
<keyword>ensure\s*(then)?</keyword>
<keyword>rescue</keyword>
<keyword>end</keyword>
<keyword>unique</keyword>
<keyword>invariant</keyword>
<keyword>end</keyword>
<!-- binary -->
<keyword>and\s*(then)?</keyword>
<keyword>or\s*(else)?</keyword>
<keyword>xor</keyword>
<keyword>implies</keyword>
<!-- unary -->
<keyword>not</keyword>
<!-- instruction -->
<keyword>retry</keyword>
<keyword>if</keyword>
<keyword>then</keyword>
<keyword>elseif</keyword>
<keyword>else</keyword>
<keyword>end</keyword>
<keyword>inspect</keyword>
<keyword>when</keyword>
<keyword>end</keyword>
<!-- loop -->
<keyword>from</keyword>
<keyword>invariant</keyword>
<keyword>variant</keyword>
<keyword>until</keyword>
<keyword>loop</keyword>
<keyword>do</keyword>
<keyword>end</keyword>
<!-- expression -->
<keyword>strip</keyword>
<keyword>old</keyword>
<!-- type -->
<keyword>separate</keyword>
<keyword>expanded</keyword>
<keyword>like</keyword>
</context>
<context id="predefined-variables" style-ref="predefined-variable">
<keyword>Current</keyword>
<keyword>Precursor</keyword>
<keyword>Result</keyword>
</context>
<context id="void-value" style-ref="void">
<keyword>Void</keyword>
</context>
<context id="boolean" style-ref="boolean">
<keyword>False</keyword>
<keyword>True</keyword>
</context>
<context id="class-types" style-ref="type">
<match extended="true">
[A-Z_][A-Z0-9_]+
</match>
</context>
<context id="number" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
(([0-9]+)|([0-9]+\.[0-9]+([Ee][-]?[0-9]+)?))
(?![\w\.])
</match>
</context>
<context id="hexadecimal" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
\$[0-9a-fA-F]*
(?![\w\.])
</match>
</context>
<context id="eiffel" class="no-spell-check">
<include>
<context ref="single-quoted-string"/>
<context ref="multi-line-string"/>
<context ref="double-quoted-string"/>
<context ref="line-comment"/>
<context ref="debug"/>
<context ref="assertion"/>
<context ref="keywords"/>
<context ref="predefined-variables"/>
<context ref="class-types"/>
<context ref="void-value"/>
<context ref="boolean"/>
<context ref="number"/>
<context ref="hexadecimal"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Paolo Borelli <pborelli@gnome.org>
Copyright (C) 2007 Paolo Borelli
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="erlang" name="Erlang" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-erlang</property>
<property name="globs">*.erl;*.hrl</property>
<property name="line-comment-start">%</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="operator" name="Operator" map-to="def:operator"/>
<style id="atom" name="Atom" map-to="def:type"/>
<style id="string" name="String" map-to="def:string"/>
<style id="character" name="Character" map-to="def:character"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="base-n-integer" name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="builtin" name="Builtin" map-to="def:builtin"/>
<style id="compiler-directive" name="Compiler Directive" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>%</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>after</keyword>
<keyword>begin</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>cond</keyword>
<keyword>end</keyword>
<keyword>fun</keyword>
<keyword>if</keyword>
<keyword>let</keyword>
<keyword>of</keyword>
<keyword>query</keyword>
<keyword>receive</keyword>
<keyword>when</keyword>
</context>
<context id="operators" style-ref="operator">
<keyword>and</keyword>
<keyword>band</keyword>
<keyword>bnot</keyword>
<keyword>bor</keyword>
<keyword>bsl</keyword>
<keyword>bsr</keyword>
<keyword>bxor</keyword>
<keyword>div</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>rem</keyword>
<keyword>xor</keyword>
</context>
<context id="atom" style-ref="atom">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
</include>
</context>
<context id="string" style-ref="string" class="string" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
</include>
</context>
<context id="character" style-ref="character" class="character" class-disabled="no-spell-check">
<match>\$(?:(\\.)|.)</match>
<include>
<context sub-pattern="1" style-ref="def:special-char"/>
</include>
</context>
<context id="float" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
[0-9]+\.[0-9]+([Ee][+-]?[0-9]+)?
(?![\w\.])
</match>
</context>
<context id="base-n-number" style-ref="base-n-integer">
<match extended="true">
(?&lt;![\w\.])
[1-9]([0-9])?#[0-9a-fA-F]+
(?![\w\.])
</match>
</context>
<context id="decimal-number" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[0-9]+
(?![\w\.])
</match>
</context>
<context id="builtins" style-ref="builtin">
<keyword>abs</keyword>
<keyword>alive</keyword>
<keyword>apply</keyword>
<keyword>atom_to_list</keyword>
<keyword>atom</keyword>
<keyword>binary_to_list</keyword>
<keyword>binary_to_ter</keyword>
<keyword>binary</keyword>
<keyword>check_process_code</keyword>
<keyword>concat_binary</keyword>
<keyword>constant</keyword>
<keyword>date</keyword>
<keyword>delete_module</keyword>
<keyword>disconnect_node</keyword>
<keyword>element</keyword>
<keyword>erase</keyword>
<keyword>exit</keyword>
<keyword>float</keyword>
<keyword>float_to_list</keyword>
<keyword>function</keyword>
<keyword>get_cookie</keyword>
<keyword>get_keys</keyword>
<keyword>get</keyword>
<keyword>group_leader</keyword>
<keyword>halt</keyword>
<keyword>hash</keyword>
<keyword>hd</keyword>
<keyword>integer_to_list</keyword>
<keyword>integer</keyword>
<keyword>is_alive</keyword>
<keyword>length</keyword>
<keyword>link</keyword>
<keyword>list_to_atom</keyword>
<keyword>list_to_binary</keyword>
<keyword>list_to_float</keyword>
<keyword>list_to_integer</keyword>
<keyword>list_to_pid</keyword>
<keyword>list_to_tuple</keyword>
<keyword>list</keyword>
<keyword>load_module</keyword>
<keyword>make_ref</keyword>
<keyword>math</keyword>
<keyword>module_loaded</keyword>
<keyword>monitor_node</keyword>
<keyword>node</keyword>
<keyword>nodes</keyword>
<keyword>now</keyword>
<keyword>number</keyword>
<keyword>open_port</keyword>
<keyword>pid_to_list</keyword>
<keyword>pid</keyword>
<keyword>ports</keyword>
<keyword>port_close</keyword>
<keyword>port_info</keyword>
<keyword>preloaded</keyword>
<keyword>processes</keyword>
<keyword>process_flag</keyword>
<keyword>process_info</keyword>
<keyword>process</keyword>
<keyword>purge_module</keyword>
<keyword>put</keyword>
<keyword>record</keyword>
<keyword>reference</keyword>
<keyword>registered</keyword>
<keyword>register</keyword>
<keyword>round</keyword>
<keyword>self</keyword>
<keyword>setelement</keyword>
<keyword>set_cookie</keyword>
<keyword>set_node</keyword>
<keyword>size</keyword>
<keyword>spawn_link</keyword>
<keyword>spawn</keyword>
<keyword>split_binary</keyword>
<keyword>statistics</keyword>
<keyword>term_to_binary</keyword>
<keyword>throw</keyword>
<keyword>time</keyword>
<keyword>tl</keyword>
<keyword>trunc</keyword>
<keyword>tuple_to_list</keyword>
<keyword>unlink</keyword>
<keyword>unregister</keyword>
<keyword>whereis</keyword>
</context>
<context id="compiler-directives" style-ref="compiler-directive">
<prefix>-</prefix>
<keyword>author</keyword>
<keyword>behaviour</keyword>
<keyword>compile</keyword>
<keyword>copyright</keyword>
<keyword>define</keyword>
<keyword>doc</keyword>
<keyword>else</keyword>
<keyword>endif</keyword>
<keyword>error</keyword>
<keyword>export</keyword>
<keyword>file</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>import</keyword>
<keyword>include_lib</keyword>
<keyword>include</keyword>
<keyword>module</keyword>
<keyword>on_load</keyword>
<keyword>record</keyword>
<keyword>undef</keyword>
<keyword>vsn</keyword>
<keyword>warning</keyword>
</context>
<context id="erlang" class="no-spell-check">
<include>
<context ref="line-comment"/>
<context ref="keywords"/>
<context ref="operators"/>
<context ref="atom"/>
<context ref="string"/>
<context ref="character"/>
<context ref="float"/>
<context ref="base-n-number"/>
<context ref="decimal-number"/>
<context ref="builtins"/>
<context ref="compiler-directives"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Søren Hauberg
Copyright (C) 2009 Søren Hauberg <soren@hauberg.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="fcl" name="FCL" version="2.0" _section="Scientific">
<metadata>
<property name="globs">*.fcl</property>
<property name="line-comment-start">//</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="floating-point" name="Floating Point" map-to="def:floating-point"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="block" name="Block" map-to="def:function"/>
<style id="decimal" name="Decimal" map-to="def:decimal"/>
<style id="reserved-constant" name="Reserved Constant" map-to="def:special-constant"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<context id="keyword" style-ref="keyword">
<keyword>ACCU</keyword>
<keyword>ACT</keyword>
<keyword>AND</keyword>
<keyword>ASUM</keyword>
<keyword>BDIF</keyword>
<keyword>BSUM</keyword>
<keyword>COA</keyword>
<keyword>COG</keyword>
<keyword>COGS</keyword>
<keyword>DEFAULT</keyword>
<keyword>IF</keyword>
<keyword>IS</keyword>
<keyword>LM</keyword>
<keyword>MAX</keyword>
<keyword>METHOD</keyword>
<keyword>MIN</keyword>
<keyword>NC</keyword>
<keyword>NOT</keyword>
<keyword>NSUM</keyword>
<keyword>OR</keyword>
<keyword>PROD</keyword>
<keyword>RANGE</keyword>
<keyword>RM</keyword>
<keyword>RULE</keyword>
<keyword>TERM</keyword>
<keyword>THEN</keyword>
<keyword>WITH</keyword>
</context>
<context id="block" style-ref="block">
<keyword>DEFUZZIFY</keyword>
<keyword>END_DEFUZZIFY</keyword>
<keyword>END_FUNCTION_BLOCK</keyword>
<keyword>END_FUZZIFY</keyword>
<keyword>END_OPTIONS</keyword>
<keyword>END_RULEBLOCK</keyword>
<keyword>END_VAR</keyword>
<keyword>FUNCTION_BLOCK</keyword>
<keyword>FUZZIFY</keyword>
<keyword>OPTIONS</keyword>
<keyword>RULEBLOCK</keyword>
<keyword>VAR</keyword>
<keyword>VAR_INPUT</keyword>
<keyword>VAR_OUTPUT</keyword>
</context>
<context id="decimal" style-ref="decimal">
<match>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="floating-point-number" style-ref="floating-point">
<match>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</match>
</context>
<context id="fcl" class="no-spell-check">
<include>
<context ref="line-comment"/>
<context ref="keyword"/>
<context ref="block"/>
<context ref="decimal"/>
<context ref="floating-point-number"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Jens-Hanno Schwalm <hanno@schwalm-bremen.de>
Copyright (C) 2007 Jens-Hanno Schwalm; <hanno@schwalm-bremen.de>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="forth" name="Forth" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-forth</property>
<property name="globs">*.frt;*.fs</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="string" name="String" map-to="def:string"/>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="keyword" name="Keyword" map-to="def:statement"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="number" name="Number" map-to="def:decimal"/>
<style id="debugs" name="Debug Code" map-to="def:comment"/>
<style id="error" name="Error Text" map-to="def:error"/>
<style id="compiler" name="Compiler Directive" map-to="def:identifier"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<context id="forth" class="no-spell-check">
<include>
<!-- single line comments \ \G -->
<context id="comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>(?&lt;![^\s])(\\|--|\\G)(?![^\s])</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<!-- multiline comments ending with ")" ( (S (F -->
<context id="comment-multiline" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>(?&lt;![^\s])(\(|\(S|\(F)(?![^\s])</start>
<end>\)</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<!-- multiline comment (* ....*) -->
<context id="comment-multiline2" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>(?&lt;![^\s])\(\*(?![^\s])</start>
<end>\*\)(?![^\s])</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<!-- multiline comment DOC ... ENDDOC -->
<context id="comment-multiline3" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>(?&lt;![^\s])DOC(?![^\s])</start>
<end>(?&lt;![^\s])ENDDOC(?![^\s])</end>
<include>
<context ref="def:in-comment"/>
</include>
</context>
<!-- preprocessor instructions followed by a string -->
<context id="preproc1" style-ref="preprocessor">
<match extended="true">
(?&lt;![^\s])
(NEEDS|INCLUDE|IN|MARKER)\s+[^\s]*
(?![^\s])
</match>
</context>
<!-- REVISION instruction is followed by a filename plus a string between "..." -->
<context id="preproc2" style-ref="preprocessor">
<match extended="true">
(?&lt;![^\s])
(REVISION)\s+[^\s]*\s*".*"
(?![^\s])
</match>
</context>
<!-- preprocessor instructions -->
<context id="preproc3" style-ref="preprocessor">
<match extended="true">
(?&lt;![^\s])
(INCLUDED|INCLUDE-FILE)
(?![^\s])
</match>
</context>
<!-- all defining or compiler extension words are followed by another whitespace delinited word -->
<context id="definers" style-ref="type">
<match extended="true">
(?&lt;![^\s])
(POSTPONE|\[COMPILE\]|\[CHAR\]|\['\]|COMPILE|CHAR|[DFT]?VALUE|[2FT]?VARIABLE|[DS]?FVARIABLE|[T]?USER|[T]?CODE|[DZFT]?LOCAL|
[2FT]?CONSTANT|TCONSTANT-|TSUB|=\:|==\:|DEFER|HC\:|[VHTM]?\:)\s+[^\s]+
(?![^\s])
</match>
</context>
<!-- the grouped local words like LOCALS| read words until a last | -->
<context id="locals" style-ref="type">
<match extended="true">
(?&lt;![^\s])
([DFZ]?LOCALS)\|\s+[^\|]+[\|]
(?![^\s])
</match>
</context>
<!-- strings ended by a " S" ." EVAL" C" Z" -->
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>(?&lt;![^\s])(S|[.]|EVAL|C|Z|,)"\s</start>
<end>"</end>
</context>
<!-- strings ended by a ~ character when " is inside a string: .~ -->
<context id="string2" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>(?&lt;![^\s])(.~)\s</start>
<end>~</end>
</context>
<!-- comment string .( ..) -->
<context id="string3" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>(?&lt;![^\s])[.]\(\s</start>
<end>\)</end>
</context>
<!-- error strings ending with " ABORT" ?ERROR" -->
<context id="errorstring" style-ref="error" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>(?&lt;![^\s])(ABORT|\?ERROR)"\s</start>
<end>"</end>
</context>
<!-- represent numbers including the hex, decimal and binary prefixes, also short characters -->
<context id="number" style-ref="number">
<match extended="true">
(?&lt;![^\s])
([$][-+]?[A-F0-9.]+ |
[#][-+]?[0-9.]+ |
[%][-+]?[0-1.]+ |
[-+]?[0-9.]+ |
[-+]?[0-9]+[.]?[0-9]*[eE][0-9]* |
'[^\s]' |
[\^][A-Za-z] |
TRUE |
FALSE)
(?![^\s])
</match>
</context>
<!-- Control flow Keywords -->
<context id="keywords" style-ref="keyword">
<match extended="true">
(?&lt;![^\s])
(\[IF\]|\[ELSE\]|\[THEN\]|\[DEFINED\]|\[UNDEFINED\]|\?DEF|\?UNDEF|THROW|CASE|ENDCASE|OF|ENDOF|FOR|NEXT|
IF[,]?|ELSE[,]?|THEN[,]?|ENDIF[,]?|BEGIN[,]?|WHILE[,]?|REPEAT[,]?|UNTIL[,]?|AGAIN[,]?|DO|LOOP|\?DO|\+LOOP|LEAVE|\?LEAVE|UNLOOP|EXIT|\?EXIT|
PAR|ENDPAR|STARTP|ENDP)
(?![^\s])
</match>
</context>
<!-- Compiler modifications -->
<context id="keywords2" style-ref="compiler">
<match extended="true">
(?&lt;![^\s])
(PRIVATE|PRIVATES|DEPRIVE|FORGET|IMMEDIATE|ALSO|ONLY|FORTH|DEFINITIONS|HEADERLESS)
(?![^\s])
</match>
</context>
<!-- Defining keywords without displaying the following word -->
<context id="keywords3" style-ref="type">
<match extended="true">
(?&lt;![^\s])
(\:ABOUT|DOES>|FORGET>|CREATE|\:NONAME)
(?![^\s])
</match>
</context>
<!-- <<DEBUG ..... DEBUG>> -->
<context id="comment-debug" extend-parent="false" style-ref="debugs">
<start>(?&lt;![^\s])(&lt;&lt;DEBUG)(?![^\s])</start>
<end>(?&lt;![^\s])(DEBUG>>)(?![^\s])</end>
<include>
<context ref="keywords"/>
<context ref="keywords2"/>
<context ref="keywords3"/>
<context ref="number"/>
<context ref="comment"/>
<context ref="string" />
<context ref="string2" />
<context ref="string3" />
<context ref="errorstring" />
<context ref="locals" />
<context ref="definers" />
<context ref="comment-multiline"/>
</include>
</context>
<!-- [ ... ] is displayed as a preprocessor structure -->
<context id="preproc4" extend-parent="true" style-ref="preprocessor">
<start>(?&lt;![^\s])(\[)(?![^\s])</start>
<end>(?&lt;![^\s])(\])(?![^\s])</end>
<include>
<context ref="keywords"/>
<context ref="number"/>
<context ref="comment"/>
<context ref="comment-multiline"/>
</include>
</context>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,710 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: John Spray <jcspray@icculus.org>
Copyright (C) 2004, 2005, 2006 John Spray <jcs116@york.ac.uk>
Copyright (C) 2005 Jerry DeLisle <jvdelisle@verizon.net>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="fortran" name="Fortran 95" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-fortran</property>
<property name="globs">*.f;*.f90;*.f95;*.for;*.F;*.F90</property>
<property name="line-comment-start">!</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="string" name="String" map-to="def:string"/>
<style id="floating-point" name="Floating Point" map-to="def:floating-point"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="intrinsic" name="Intrinsic function" map-to="def:builtin"/>
<style id="boz-literal" name="BOZ Literal" map-to="def:base-n-integer"/>
<style id="decimal" name="Decimal" map-to="def:decimal"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="openmp-directives" name="OpenMP directives" map-to="def:preprocessor"/>
<style id="included-file" name="Included File" map-to="def:string"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<!-- regexs -->
<define-regex id="preproc-start">^#</define-regex>
<define-regex id="escaped-character" extended="true">
\\( # leading backslash
[\\\"\'nrbtfav\?] | # escaped character
[0-7]{1,3} | # one, two, or three octal digits
x[0-9A-Fa-f]+ # 'x' followed by hex digits
)
</define-regex>
<!-- Preprocessor -->
<context id="if0-comment" style-ref="comment">
<start>\%{preproc-start}if\b\s*0\b</start>
<end>\%{preproc-start}(endif|else|elif)\b</end>
<include>
<context id="if-in-if0">
<start>\%{preproc-start}if(n?def)?\b</start>
<end>\%{preproc-start}endif\b</end>
<include>
<context ref="if-in-if0"/>
<context ref="def:in-comment"/>
</include>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="include" style-ref="preprocessor">
<match extended="true">
\%{preproc-start}
(include|import)\s*
(".*?"|&lt;.*&gt;)
</match>
<include>
<context id="included-file" sub-pattern="2" style-ref="included-file" class="path"/>
</include>
</context>
<context id="preprocessor" style-ref="preprocessor" end-at-line-end="true">
<start extended="true">
\%{preproc-start}
(define|undef|error|pragma|ident|if(n?def)?|else|elif|endif|line|warning)
\b
</start>
</context>
<context id="openmp-directives" style-ref="openmp-directives" end-at-line-end="true">
<start extended="true">
((^[Cc])|^\s*!)\$
</start>
</context>
<!--
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<match>(L?'[^']*')|(L?"[^"]*")</match>
</context>
-->
<context id="string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
<start>L?"</start>
<end>"</end>
<include>
<context id="escaped-character" style-ref="escaped-character">
<match>\%{escaped-character}</match>
</context>
<context ref="def:line-continue"/>
</include>
</context>
<!-- Note: contains an hack to avoid considering ^COMMON or ^CHARACTER a comment -->
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>(![^$])|(^[Cc](\s|[^$OoAaYyHh]))|(^[Cc]$)</start>
<include>
<context ref="def:escape"/>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="operators" style-ref="keyword">
<prefix>\.</prefix>
<suffix>\.</suffix>
<keyword>true</keyword>
<keyword>false</keyword>
<keyword>not</keyword>
<keyword>and</keyword>
<keyword>or</keyword>
<keyword>xor</keyword>
<keyword>eqv</keyword>
<keyword>neqv</keyword>
<keyword>eq</keyword>
<keyword>ne</keyword>
<keyword>gt</keyword>
<keyword>ge</keyword>
<keyword>lt</keyword>
<keyword>le</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>allocate</keyword>
<keyword>assign</keyword>
<keyword>assignment</keyword>
<keyword>associate</keyword>
<keyword>bind</keyword>
<keyword>block</keyword>
<keyword>call</keyword>
<keyword>case</keyword>
<keyword>class</keyword>
<keyword>common</keyword>
<keyword>contains</keyword>
<keyword>continue</keyword>
<keyword>critical</keyword>
<keyword>cycle</keyword>
<keyword>data</keyword>
<keyword>deallocate</keyword>
<keyword>default</keyword>
<keyword>do concurrent</keyword>
<keyword>do</keyword>
<keyword>elemental</keyword>
<keyword>elseif</keyword>
<keyword>else</keyword>
<keyword>elsewhere</keyword>
<keyword>endassociate</keyword>
<keyword>endblock</keyword>
<keyword>endcritical</keyword>
<keyword>enddo</keyword>
<keyword>endenum</keyword>
<keyword>endfunction</keyword>
<keyword>endif</keyword>
<keyword>endinterface</keyword>
<keyword>endmodule</keyword>
<keyword>endprocedure</keyword>
<keyword>endprogram</keyword>
<keyword>endselect</keyword>
<keyword>endsubmodule</keyword>
<keyword>endsubroutine</keyword>
<keyword>end</keyword>
<keyword>enum</keyword>
<keyword>entry</keyword>
<keyword>equivalence</keyword>
<keyword>error stop</keyword>
<keyword>exit</keyword>
<keyword>extends</keyword>
<keyword>external</keyword>
<keyword>final</keyword>
<keyword>forall</keyword>
<keyword>function</keyword>
<keyword>generic</keyword>
<keyword>go to</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>implicit none</keyword>
<keyword>implicit</keyword>
<keyword>import</keyword>
<keyword>impure</keyword>
<keyword>in</keyword>
<keyword>[^#]include</keyword>
<keyword>inout</keyword>
<keyword>interface</keyword>
<keyword>intrinsic</keyword>
<keyword>kind</keyword>
<keyword>len</keyword>
<keyword>lock</keyword>
<keyword>module</keyword>
<keyword>namelist</keyword>
<keyword>nullify</keyword>
<keyword>only</keyword>
<keyword>operator</keyword>
<keyword>out</keyword>
<keyword>pause</keyword>
<keyword>private</keyword>
<keyword>program</keyword>
<keyword>public</keyword>
<keyword>pure</keyword>
<keyword>recursive</keyword>
<keyword>result</keyword>
<keyword>return</keyword>
<keyword>save</keyword>
<keyword>select</keyword>
<keyword>stop</keyword>
<keyword>submodule</keyword>
<keyword>subroutine</keyword>
<keyword>sync all</keyword>
<keyword>sync images</keyword>
<keyword>sync memory</keyword>
<keyword>then</keyword>
<keyword>type</keyword>
<keyword>unlock</keyword>
<keyword>use</keyword>
<keyword>where</keyword>
<keyword>while</keyword>
</context>
<context id="read-write" style-ref="keyword">
<keyword>backspace</keyword>
<keyword>close</keyword>
<keyword>endfile</keyword>
<keyword>format</keyword>
<keyword>inquire</keyword>
<keyword>open</keyword>
<keyword>print</keyword>
<keyword>read</keyword>
<keyword>rewind</keyword>
<keyword>wait</keyword>
<keyword>write</keyword>
</context>
<context id="input-output" style-ref="keyword">
<keyword>access</keyword>
<keyword>action</keyword>
<keyword>advance</keyword>
<keyword>blank</keyword>
<keyword>delim</keyword>
<keyword>direct</keyword>
<keyword>end</keyword>
<keyword>eor</keyword>
<keyword>err</keyword>
<keyword>exist</keyword>
<keyword>file</keyword>
<keyword>fmt</keyword>
<keyword>form</keyword>
<keyword>formatted</keyword>
<keyword>iolength</keyword>
<keyword>iostat</keyword>
<keyword>name</keyword>
<keyword>named</keyword>
<keyword>newunit</keyword>
<keyword>nextrec</keyword>
<keyword>nml</keyword>
<keyword>number</keyword>
<keyword>opened</keyword>
<keyword>pad</keyword>
<keyword>position</keyword>
<keyword>readwrite</keyword>
<keyword>rec</keyword>
<keyword>recl</keyword>
<keyword>sequential</keyword>
<keyword>status</keyword>
<keyword>unformatted</keyword>
<keyword>unit</keyword>
<keyword>write</keyword>
</context>
<context id="intrinsics" style-ref="intrinsic">
<keyword>abs</keyword>
<keyword>achar</keyword>
<keyword>acosh</keyword>
<keyword>acos</keyword>
<keyword>adjustl</keyword>
<keyword>adjustr</keyword>
<keyword>aimag</keyword>
<keyword>aint</keyword>
<keyword>algama</keyword>
<keyword>allocated</keyword>
<keyword>all</keyword>
<keyword>alog10</keyword>
<keyword>alog</keyword>
<keyword>amax0</keyword>
<keyword>amax1</keyword>
<keyword>amin0</keyword>
<keyword>amin1</keyword>
<keyword>amod</keyword>
<keyword>anint</keyword>
<keyword>any</keyword>
<keyword>asinh</keyword>
<keyword>asin</keyword>
<keyword>associated</keyword>
<keyword>atan2</keyword>
<keyword>atanh</keyword>
<keyword>atan</keyword>
<keyword>atomic_define</keyword>
<keyword>atomic_ref</keyword>
<keyword>bessel_j0</keyword>
<keyword>bessel_j1</keyword>
<keyword>bessel_jn</keyword>
<keyword>bessel_y0</keyword>
<keyword>bessel_y1</keyword>
<keyword>bessel_yn</keyword>
<keyword>bge</keyword>
<keyword>bgt</keyword>
<keyword>ble</keyword>
<keyword>blt</keyword>
<keyword>bit_size</keyword>
<keyword>btest</keyword>
<keyword>c_associated</keyword>
<keyword>c_loc</keyword>
<keyword>c_funloc</keyword>
<keyword>c_f_pointer</keyword>
<keyword>c_f_procpointer</keyword>
<keyword>cabs</keyword>
<keyword>ccos</keyword>
<keyword>cdabs</keyword>
<keyword>cdcos</keyword>
<keyword>cdexp</keyword>
<keyword>cdlog</keyword>
<keyword>cdsin</keyword>
<keyword>cdsqrt</keyword>
<keyword>ceiling</keyword>
<keyword>cexp</keyword>
<keyword>char</keyword>
<keyword>clog</keyword>
<keyword>cmplx</keyword>
<keyword>command_argument_count</keyword>
<keyword>compiler_options</keyword>
<keyword>compiler_version</keyword>
<keyword>conjg</keyword>
<keyword>cosh</keyword>
<keyword>cos</keyword>
<keyword>count</keyword>
<keyword>cpu_time</keyword>
<keyword>cqabs</keyword>
<keyword>cqcos</keyword>
<keyword>cqexp</keyword>
<keyword>cqlog</keyword>
<keyword>cqsin</keyword>
<keyword>cqsqrt</keyword>
<keyword>cshift</keyword>
<keyword>csin</keyword>
<keyword>csqrt</keyword>
<keyword>dabs</keyword>
<keyword>dacos</keyword>
<keyword>dasin</keyword>
<keyword>datan2</keyword>
<keyword>datan</keyword>
<keyword>date_and_time</keyword>
<keyword>dble</keyword>
<keyword>dcmplx</keyword>
<keyword>dconjg</keyword>
<keyword>dcosh</keyword>
<keyword>dcos</keyword>
<keyword>ddim</keyword>
<keyword>derf</keyword>
<keyword>derfc</keyword>
<keyword>dexp</keyword>
<keyword>dfloat</keyword>
<keyword>dgamma</keyword>
<keyword>digits</keyword>
<keyword>dim</keyword>
<keyword>dimag</keyword>
<keyword>dint</keyword>
<keyword>dlgama</keyword>
<keyword>dlog10</keyword>
<keyword>dlog</keyword>
<keyword>dmax1</keyword>
<keyword>dmin1</keyword>
<keyword>dmod</keyword>
<keyword>dnint</keyword>
<keyword>dot_product</keyword>
<keyword>dprod</keyword>
<keyword>dshiftl</keyword>
<keyword>dshiftr</keyword>
<keyword>dsign</keyword>
<keyword>dsinh</keyword>
<keyword>dsin</keyword>
<keyword>dsqrt</keyword>
<keyword>dtanh</keyword>
<keyword>dtan</keyword>
<keyword>eoshift</keyword>
<keyword>epsilon</keyword>
<keyword>erfc_scaled</keyword>
<keyword>erfc</keyword>
<keyword>erf</keyword>
<keyword>execute_command_line</keyword>
<keyword>exp</keyword>
<keyword>exponent</keyword>
<keyword>findloc</keyword>
<keyword>float</keyword>
<keyword>floor</keyword>
<keyword>flush</keyword>
<keyword>fraction</keyword>
<keyword>gamma</keyword>
<keyword>getarg</keyword>
<keyword>get_command</keyword>
<keyword>get_command_argument</keyword>
<keyword>get_environment_variable</keyword>
<keyword>huge</keyword>
<keyword>hypot</keyword>
<keyword>iabs</keyword>
<keyword>iachar</keyword>
<keyword>iall</keyword>
<keyword>iand</keyword>
<keyword>iany</keyword>
<keyword>iargc</keyword>
<keyword>ibclr</keyword>
<keyword>ibits</keyword>
<keyword>ibset</keyword>
<keyword>ichar</keyword>
<keyword>idim</keyword>
<keyword>idint</keyword>
<keyword>idnint</keyword>
<keyword>ieee_class</keyword>
<keyword>ieee_copy_sign</keyword>
<keyword>ieee_get_flag</keyword>
<keyword>ieee_get_halting_mode</keyword>
<keyword>ieee_get_rounding_mode</keyword>
<keyword>ieee_get_status</keyword>
<keyword>ieee_is_finite</keyword>
<keyword>ieee_is_nan</keyword>
<keyword>ieee_is_negative</keyword>
<keyword>ieee_is_normal</keyword>
<keyword>ieee_logb</keyword>
<keyword>ieee_next_after</keyword>
<keyword>ieee_rem</keyword>
<keyword>ieee_rint</keyword>
<keyword>ieee_scalb</keyword>
<keyword>ieee_selected_real_kind</keyword>
<keyword>ieee_set_flag</keyword>
<keyword>ieee_set_halting_mode</keyword>
<keyword>ieee_set_rounding_mode</keyword>
<keyword>ieee_set_status</keyword>
<keyword>ieee_support_datatype</keyword>
<keyword>ieee_support_denormal</keyword>
<keyword>ieee_support_divide</keyword>
<keyword>ieee_support_flag</keyword>
<keyword>ieee_support_halting</keyword>
<keyword>ieee_support_inf</keyword>
<keyword>ieee_support_nan</keyword>
<keyword>ieee_support_rounding</keyword>
<keyword>ieee_support_sqrt</keyword>
<keyword>ieee_support_standard</keyword>
<keyword>ieee_unordered</keyword>
<keyword>ieee_value</keyword>
<keyword>ieor</keyword>
<keyword>ifix</keyword>
<keyword>image_index</keyword>
<keyword>index</keyword>
<keyword>int</keyword>
<keyword>ior</keyword>
<keyword>iparity</keyword>
<keyword>iqint</keyword>
<keyword>is_contiguous</keyword>
<keyword>is_iostat_end</keyword>
<keyword>is_iostat_eor</keyword>
<keyword>ishftc</keyword>
<keyword>ishft</keyword>
<keyword>isign</keyword>
<keyword>kind</keyword>
<keyword>lbound</keyword>
<keyword>lcobound</keyword>
<keyword>leadz</keyword>
<keyword>len_trim</keyword>
<keyword>len</keyword>
<keyword>lge</keyword>
<keyword>lgt</keyword>
<keyword>lle</keyword>
<keyword>llt</keyword>
<keyword>loc</keyword>
<keyword>log_gamma</keyword>
<keyword>log10</keyword>
<keyword>log</keyword>
<keyword>logical</keyword>
<keyword>maskl</keyword>
<keyword>maskr</keyword>
<keyword>matmul</keyword>
<keyword>max0</keyword>
<keyword>max1</keyword>
<keyword>maxexponent</keyword>
<keyword>maxloc</keyword>
<keyword>maxval</keyword>
<keyword>max</keyword>
<keyword>merge_bits</keyword>
<keyword>merge</keyword>
<keyword>min0</keyword>
<keyword>min1</keyword>
<keyword>minexponent</keyword>
<keyword>minloc</keyword>
<keyword>minval</keyword>
<keyword>min</keyword>
<keyword>mod</keyword>
<keyword>modulo</keyword>
<keyword>move_alloc</keyword>
<keyword>mvbits</keyword>
<keyword>nearest</keyword>
<keyword>new_line</keyword>
<keyword>nint</keyword>
<keyword>norm2</keyword>
<keyword>not</keyword>
<keyword>null</keyword>
<keyword>num_images</keyword>
<keyword>or</keyword>
<keyword>pack</keyword>
<keyword>parity</keyword>
<keyword>popcnt</keyword>
<keyword>poppar</keyword>
<keyword>precision</keyword>
<keyword>present</keyword>
<keyword>product</keyword>
<keyword>qabs</keyword>
<keyword>qacos</keyword>
<keyword>qasin</keyword>
<keyword>qatan2</keyword>
<keyword>qatan</keyword>
<keyword>qcmplx</keyword>
<keyword>qconjg</keyword>
<keyword>qcosh</keyword>
<keyword>qcos</keyword>
<keyword>qdim</keyword>
<keyword>qerf</keyword>
<keyword>qerfc</keyword>
<keyword>qexp</keyword>
<keyword>qgamma</keyword>
<keyword>qimag</keyword>
<keyword>qlgama</keyword>
<keyword>qlog10</keyword>
<keyword>qlog</keyword>
<keyword>qmax1</keyword>
<keyword>qmin1</keyword>
<keyword>qmod</keyword>
<keyword>qnint</keyword>
<keyword>qsign</keyword>
<keyword>qsinh</keyword>
<keyword>qsin</keyword>
<keyword>qsqrt</keyword>
<keyword>qtanh</keyword>
<keyword>qtan</keyword>
<keyword>radix</keyword>
<keyword>random_number</keyword>
<keyword>random_seed</keyword>
<keyword>range</keyword>
<keyword>real</keyword>
<keyword>repeat</keyword>
<keyword>reshape</keyword>
<keyword>rrspacing</keyword>
<keyword>scale</keyword>
<keyword>scan</keyword>
<keyword>selected_char_kind</keyword>
<keyword>selected_int_kind</keyword>
<keyword>selected_real_kind</keyword>
<keyword>set_exponent</keyword>
<keyword>shape</keyword>
<keyword>shifta</keyword>
<keyword>shiftl</keyword>
<keyword>shiftr</keyword>
<keyword>sign</keyword>
<keyword>sinh</keyword>
<keyword>sin</keyword>
<keyword>size</keyword>
<keyword>sngl</keyword>
<keyword>spacing</keyword>
<keyword>spread</keyword>
<keyword>sqrt</keyword>
<keyword>storage_size</keyword>
<keyword>sum</keyword>
<keyword>system_clock</keyword>
<keyword>tanh</keyword>
<keyword>tan</keyword>
<keyword>this_image</keyword>
<keyword>tiny</keyword>
<keyword>trailz</keyword>
<keyword>transfer</keyword>
<keyword>transpose</keyword>
<keyword>trim</keyword>
<keyword>ubound</keyword>
<keyword>ucobound</keyword>
<keyword>unpack</keyword>
<keyword>verify</keyword>
<keyword>zabs</keyword>
<keyword>zcos</keyword>
<keyword>zexp</keyword>
<keyword>zlog</keyword>
<keyword>zsin</keyword>
<keyword>zsqrt</keyword>
</context>
<context id="types" style-ref="type">
<keyword>byte</keyword>
<keyword>character</keyword>
<keyword>complex</keyword>
<keyword>double complex</keyword>
<keyword>double precision</keyword>
<keyword>enumerator</keyword>
<keyword>integer</keyword>
<keyword>logical</keyword>
<keyword>procedure</keyword>
<keyword>real</keyword>
</context>
<context id="type-attributes" style-ref="type">
<keyword>allocatable</keyword>
<keyword>asynchronous</keyword>
<keyword>codimension</keyword>
<keyword>contiguous</keyword>
<keyword>deferred</keyword>
<keyword>dimension</keyword>
<keyword>external</keyword>
<keyword>intent</keyword>
<keyword>intrinsic</keyword>
<keyword>non_overridable</keyword>
<keyword>nopass</keyword>
<keyword>optional</keyword>
<keyword>parameter</keyword>
<keyword>pass</keyword>
<keyword>pointer</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>save</keyword>
<keyword>synchronous</keyword>
<keyword>target</keyword>
<keyword>value</keyword>
<keyword>volatile</keyword>
</context>
<context id="attributes">
<start>,\s*\%[</start>
<end>\%[</end>
<include>
<context ref="type-attributes"/>
</include>
</context>
<context id="floating-point-number" style-ref="floating-point">
<match extended="true">
(?&lt;![\w\.])
[+-]?
((\.[0-9]+ | [0-9]+\.[0-9]*) ([ed][+-]?[0-9]*)? |
([0-9]+[ed][+-]?[0-9]*))
([_]([0-9]+|[a-z][\w_]*))?
(?![\w\.])
</match>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[+-]? ([1-9][0-9]*|0)
([_]([0-9]+|[a-z][\w_]*))?
(?![\w\.])
</match>
</context>
<context id="boz-literal" style-ref="boz-literal">
<match extended="true">
\bb'[01]+'|\bb"[01]+"|
\bo'[0-7]+'|\bo"[0-7]+"|
\bz'[0-9a-f]+'|\bz"[0-9a-f]+"
</match>
</context>
<context id="fortran" class="no-spell-check">
<include>
<context ref="floating-point-number"/>
<context ref="decimal"/>
<context ref="boz-literal"/>
<context ref="def:string"/>
<context ref="def:single-quoted-string"/>
<context ref="line-comment"/>
<context ref="types"/>
<context ref="attributes"/>
<context ref="operators"/>
<context ref="keywords"/>
<context ref="read-write"/>
<context ref="input-output"/>
<context ref="intrinsics"/>
<context ref="if0-comment"/>
<context ref="include"/>
<context ref="preprocessor"/>
<context ref="openmp-directives"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is part of GtkSourceView
Author: Alexander Kuleshov <kuleshovmail@gmail.com>
Copyright (C) 2009-2010 Alexander Kuleshov <kuleshovmail@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="fsharp" name="F#" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-fsharp</property>
<property name="globs">*.fs;</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="base-n-integer" name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="floating-point" name="Floating Point number" map-to="def:floating-point"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="string" name="String" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="meta-keyword" name="Type, module or object keyword" map-to="def:keyword"/>
<style id="fun-keyword" name="Builtin-function keyword" map-to="def:keyword"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="label" name="Labeled argument" map-to="def:type"/>
<style id="poly-variant" name="Polymorphic Variant" map-to="def:type"/>
<style id="variant" name="Variant Constructor" map-to="def:type"/>
<style id="type-var" name="Type Variable" map-to="def:type"/>
<style id="module" name="Module Path" map-to="def:type"/>
<style id="escape" name="Escaped Character" map-to="def:special-char"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="null-value" name="Null Value" map-to="def:special-constant"/>
</styles>
<definitions>
<define-regex id="cap-ident">\b[A-Z][A-Za-z0-9_']*</define-regex>
<define-regex id="low-ident">\b[a-z][A-Za-z0-9_']*</define-regex>
<define-regex id="char-esc">\\((\\|"|'|n|t|b|r)|[0-9]{3}|x[0-9a-fA-F]{2})</define-regex>
<define-regex id="preproc-start">^\s*#\s*</define-regex>
<define-regex id="symbolchar">[!#$%&amp;*+./&gt;=&lt;?@:\\^|~-]</define-regex>
<context id="escape-seq" style-ref="escape">
<match>\%{char-esc}</match>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="multiline-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>\(\*</start>
<end>\*\)</end>
<include>
<context ref="string"/>
<context ref="def:in-comment:*"/>
</include>
</context>
<context id="if0-comment" style-ref="comment" class="comment" class-disabled="no-spell-check">
<start>\%{preproc-start}if\b\s*0\b</start>
<end>\%{preproc-start}(endif|else|elif)\b</end>
<include>
<context id="if-in-if0">
<start>\%{preproc-start}if(n?def)?\b</start>
<end>\%{preproc-start}endif\b</end>
<include>
<context ref="if-in-if0"/>
<context ref="def:in-comment"/>
</include>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="preprocessor" style-ref="preprocessor" end-at-line-end="true">
<start extended="true">
\%{preproc-start}
(if(n?def)?|else|endif|light|region|endregion)\b
</start>
<include>
<context ref="def:line-continue" ignore-style="true"/>
<context ref="string" ignore-style="true"/>
<context ref="line-comment"/>
<context ref="multiline-comment"/>
</include>
</context>
<context id="hex-number" style-ref="base-n-integer">
<match>[-]?0[xX][0-9A-Fa-f][0-9A-Fa-f_]*[lL]?</match>
</context>
<context id="octal-number" style-ref="base-n-integer">
<match>[-]?0[oO][0-7][0-7_]*[lL]?</match>
</context>
<context id="binary-number" style-ref="base-n-integer">
<match>[-]?0[bB][01][01_]*[lL]?</match>
</context>
<context id="label" style-ref="label">
<match>[~?]\%{low-ident}</match>
</context>
<context id="if-false-comment" style-ref="comment">
<start>\%{preproc-start}if\s*false\b</start>
<end>\%{preproc-start}(endif|else|elif)\b</end>
<include>
<context id="if-in-if-false">
<start>\%{preproc-start}if(n?def)?\b</start>
<end>\%{preproc-start}endif\b</end>
<include>
<context ref="if-in-if-false"/>
<context ref="def:in-comment"/>
</include>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="poly-variant" style-ref="poly-variant">
<match>`\%{cap-ident}</match>
</context>
<context id="modpath" style-ref="module">
<match>\%{cap-ident}(\.\%{cap-ident})*(?=\.)</match>
</context>
<context id="variant" style-ref="variant">
<match>\%{cap-ident}</match>
</context>
<context id="string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="escape-seq"/>
</include>
</context>
<context id="character-constant" style-ref="string">
<match>('\%{char-esc}')|('[^\\']')</match>
</context>
<context id="type-var" style-ref="type-var">
<match>'\%{low-ident}</match>
</context>
<context id="arraylit">
<start>\[\|</start>
<end>\|\]</end>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
[0-9]+[uUlL]*
(?![\w\.])
</match>
</context>
<context id="boolean-constant" style-ref="boolean">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="keysymbol" style-ref="keyword">
<prefix>(?&lt;!\%{symbolchar})</prefix>
<suffix>(?!\%{symbolchar})</suffix>
<keyword>\.\.</keyword>
<keyword>::</keyword>
<keyword>=</keyword>
<keyword>@</keyword>
<keyword>~</keyword>
<keyword>-></keyword>
<keyword>|</keyword>
<keyword>:?</keyword>
<keyword>:?></keyword>
<keyword>^</keyword>
<keyword>&lt;-</keyword>
<keyword>&amp;&amp;</keyword>
<keyword>&amp;</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>and</keyword>
<keyword>as</keyword>
<keyword>assert</keyword>
<keyword>asr</keyword>
<keyword>begin</keyword>
<keyword>class</keyword>
<keyword>default</keyword>
<keyword>delegate</keyword>
<keyword>do</keyword>
<keyword>done</keyword>
<keyword>downcast</keyword>
<keyword>downto</keyword>
<keyword>else</keyword>
<keyword>end</keyword>
<keyword>enum</keyword>
<keyword>exception</keyword>
<keyword>false</keyword>
<keyword>finaly</keyword>
<keyword>for</keyword>
<keyword>fun</keyword>
<keyword>function</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>iherit</keyword>
<keyword>interface</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>member</keyword>
<keyword>mod</keyword>
<keyword>module</keyword>
<keyword>mutable</keyword>
<keyword>namespace</keyword>
<keyword>new</keyword>
<keyword>null</keyword>
<keyword>of</keyword>
<keyword>open</keyword>
<keyword>or</keyword>
<keyword>override</keyword>
<keyword>sig</keyword>
<keyword>static</keyword>
<keyword>struct</keyword>
<keyword>then</keyword>
<keyword>to</keyword>
<keyword>true</keyword>
<keyword>try</keyword>
<keyword>type</keyword>
<keyword>val</keyword>
<keyword>when</keyword>
<keyword>inline</keyword>
<keyword>upcast</keyword>
<keyword>while</keyword>
<keyword>with</keyword>
<keyword>async</keyword>
<keyword>atomic</keyword>
<keyword>break</keyword>
<keyword>checked</keyword>
<keyword>component</keyword>
<keyword>const</keyword>
<keyword>constructor</keyword>
<keyword>continue</keyword>
<keyword>eager</keyword>
<keyword>event</keyword>
<keyword>external</keyword>
<keyword>fixed</keyword>
<keyword>functor</keyword>
<keyword>include</keyword>
<keyword>method</keyword>
<keyword>mixin</keyword>
<keyword>process</keyword>
<keyword>property</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>pure</keyword>
<keyword>readonly</keyword>
<keyword>return</keyword>
<keyword>sealed</keyword>
<keyword>switch</keyword>
<keyword>virtual</keyword>
<keyword>void</keyword>
<keyword>volatile</keyword>
<keyword>yield</keyword>
<keyword>where</keyword>
</context>
<!-- main context -->
<context id="fsharp" class="no-spell-check">
<include>
<context ref="keywords"/>
<context ref="keysymbol"/>
<context ref="boolean-constant"/>
<context ref="arraylit"/>
<context ref="character-constant"/>
<context ref="string"/>
<context ref="variant"/>
<context ref="modpath"/>
<context ref="poly-variant"/>
<context ref="label"/>
<context ref="binary-number"/>
<context ref="octal-number"/>
<context ref="hex-number"/>
<context ref="line-comment"/>
<context ref="multiline-comment"/>
<context ref="type-var"/>
<context ref="if-false-comment"/>
<context ref="preprocessor"/>
<context ref="if0-comment"/>
<context ref="decimal"/>
</include>
</context>
<!-- main context -->
</definitions>
</language>

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Yevgen Muntyan <muntyan@tamu.edu>
Copyright (C) 2006-2007 Yevgen Muntyan <muntyan@tamu.edu>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="gap" name="GAP" version="2.0" _section="Scientific">
<metadata>
<property name="mimetypes">text/x-gap</property>
<property name="globs">*.g;*.gd;*.gi;*.gap</property>
<property name="line-comment-start">#</property>
</metadata>
<styles>
<style id="comment" name="Comment" map-to="def:comment"/>
<style id="character" name="Character" map-to="def:string"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="function" name="Function" map-to="def:function"/>
<style id="decimal" name="Decimal" map-to="def:decimal"/>
</styles>
<definitions>
<context id="character" style-ref="character">
<match>\'(\\[trnb\\\'\"]|[^\\])\'</match>
</context>
<context id="keyword" style-ref="keyword">
<keyword>and</keyword>
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>do</keyword>
<keyword>elif</keyword>
<keyword>else</keyword>
<keyword>end</keyword>
<keyword>fail</keyword>
<keyword>false</keyword>
<keyword>fi</keyword>
<keyword>for</keyword>
<keyword>function</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>infinity</keyword>
<keyword>local</keyword>
<keyword>not</keyword>
<keyword>od</keyword>
<keyword>or</keyword>
<keyword>rec</keyword>
<keyword>repeat</keyword>
<keyword>return</keyword>
<keyword>then</keyword>
<keyword>true</keyword>
<keyword>until</keyword>
<keyword>while</keyword>
</context>
<context id="decimal" style-ref="decimal">
<match>\b[0-9]+\b</match>
</context>
<context id="gap">
<include>
<context ref="def:shell-like-comment"/>
<context ref="def:string"/>
<context ref="character"/>
<context ref="keyword"/>
<context ref="decimal"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2010 Philip Withnall <philip@tecnocode.co.uk>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="gdb-log" _name="GDB Log" version="2.0" _section="Other">
<metadata>
<property name="globs">*.gdb</property>
</metadata>
<styles>
<style id="thread-action" name="Thread Action" map-to="def:comment"/>
<style id="thread-header" name="Thread Header" map-to="def:statement"/>
<style id="frame-number" name="Frame Number" map-to="def:keyword"/>
<style id="address" name="Address" map-to="def:number"/>
<style id="function" name="Function" map-to="def:function"/>
<style id="string" name="String" map-to="def:string"/>
<style id="filename" name="Filename" map-to="def:statement"/>
<style id="optimized-out" name="Optimized Out" map-to="def:special-constant"/>
<style id="incomplete-sequence" name="Incomplete Sequence" map-to="def:special-constant"/>
<style id="prompt" name="Prompt" map-to="def:comment"/>
</styles>
<definitions>
<define-regex id="identifier">[A-Za-z_][A-Za-z0-9_]*(?:@@[A-Za-z0-9_\.]+)?</define-regex>
<define-regex id="filename">.+?</define-regex>
<!-- Either a decimal number (single to multi-digit, signed or unsigned) or a standard hexadecimal number -->
<define-regex id="thread-number">(?:-?[1-9][0-9]*|\%{def:hexadecimal})</define-regex>
<!-- Allow reuse of the frame regexes so we can use them in frame and crash-frame -->
<define-regex id="frame-start">((?P&lt;address&gt;\%{def:hexadecimal})\s+in\s+)?(?:(?P&lt;function&gt;\*?\%{identifier})|(?P&lt;badfunction&gt;\?\?))\s+\(</define-regex>
<define-regex id="frame-end">(?:(?:at|from)\s+(?P&lt;filename&gt;\%{filename})(?P&lt;linenumber&gt;\:[0-9]+)?|\))$</define-regex>
<context id="optimized-out" style-ref="optimized-out">
<keyword>value optimized out</keyword>
</context>
<context id="incomplete-sequence" style-ref="incomplete-sequence">
<keyword>incomplete sequence</keyword>
</context>
<context id="prompt" style-ref="prompt" end-at-line-end="true">
<start>\(gdb\)|---|Kill|Using|Program|Starting|No symbol</start>
<end>---$</end>
</context>
<context id="thread-action" style-ref="thread-action">
<!--[New Thread 0xb73ffb70 (LWP 26323)]
[Thread 0xb73ffb70 (LWP 26323) exited]
[Switching to Thread 0xb7fe6b70 (LWP 26322)]
[New LWP 1 ]-->
<match>^\[(?:New |Switching to )?(?:Thread|LWP)\s+(\%{thread-number})?.*\]$</match>
<include>
<context sub-pattern="1" style-ref="address"/>
</include>
</context>
<context id="thread-header" style-ref="thread-header">
<!--Thread 4 (Thread 0xb7fe6b70 (LWP 26322)):
Thread 10 (LWP 40 ):-->
<match>^Thread \d+ \((?:Thread|LWP)\s+(\%{thread-number}).*\):$</match>
<include>
<context sub-pattern="1" style-ref="address"/>
</include>
</context>
<context id="signal-handler-frame">
<!--#3 <signal handler called>-->
<match>^#(\d+)\s+&lt;(signal handler called)&gt;$</match>
<include>
<context sub-pattern="1" style-ref="frame-number"/>
<context sub-pattern="2" style-ref="def:special-constant"/>
</include>
</context>
<context id="crash-frame" end-at-line-end="false" once-only="true">
<!--This occurs once only, at the top of the file:
0x00110402 in __kernel_vsyscall ()-->
<start>^\%{frame-start}</start>
<end>\%{frame-end}</end>
<include>
<context where="start" sub-pattern="address" style-ref="address"/>
<context where="start" sub-pattern="function" style-ref="function"/>
<context where="start" sub-pattern="badfunction" style-ref="def:error"/>
<context where="end" sub-pattern="filename" style-ref="filename"/>
<context where="end" sub-pattern="linenumber" style-ref="def:number"/>
<context ref="optimized-out"/>
<context ref="incomplete-sequence"/>
<context ref="prompt"/>
</include>
</context>
<context id="frame" end-at-line-end="false">
<!--#0 0x0054d422 in __kernel_vsyscall ()
#1 0x005002d2 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:179
#2 0x0043e9f4 in __pthread_cond_timedwait (cond=0xb6401678, mutex=0x88e5e58,
abstime=0xb63ff1e8) at forward.c:152
#-1 0xfc59f649 in __lwp_park () from /lib/libc.so.1-->
<start>^#(?P&lt;framenumber&gt;-?\d+)\s+\%{frame-start}</start>
<end>\%{frame-end}</end>
<include>
<context where="start" sub-pattern="framenumber" style-ref="frame-number"/>
<context where="start" sub-pattern="address" style-ref="address"/>
<context where="start" sub-pattern="function" style-ref="function"/>
<context where="start" sub-pattern="badfunction" style-ref="def:error"/>
<context where="end" sub-pattern="filename" style-ref="filename"/>
<context where="end" sub-pattern="linenumber" style-ref="def:number"/>
<context ref="optimized-out"/>
<context ref="incomplete-sequence"/>
<context ref="prompt"/>
</include>
</context>
<!-- Necessary because some frames put their filename on the next line, after their closing bracket, and since we want to match
frames which have no filename (i.e. just a closing bracket) as well as normal frames, we have to deal with this odd case. -->
<context id="frame-ending">
<!-- at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:179-->
<match>^\s+(?:at|from)\s+(?P&lt;filename&gt;\%{filename})(?P&lt;linenumber&gt;\:[0-9]+)?$</match>
<include>
<context sub-pattern="filename" style-ref="filename"/>
<context sub-pattern="linenumber" style-ref="def:number"/>
</include>
</context>
<context id="gdb-log">
<include>
<context ref="prompt"/>
<context ref="thread-action"/>
<context ref="thread-header"/>
<context ref="signal-handler-frame"/>
<context ref="crash-frame"/>
<context ref="frame"/>
<context ref="frame-ending"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Author: Jamie McCracken jamiemcc gnome org
Copyright (C) 2008 Jamie McCracken jamiemcc gnome org
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<language id="genie" name="Genie" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-genie</property>
<property name="globs">*.gs</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="multiline-string" name="Multiline string" map-to="def:string"/>
<style id="string" name="String" map-to="def:string"/>
<style id="regex" name="Regular Expression" map-to="def:string"/>
<style id="namespace" name="Namespace" map-to="def:preprocessor"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="definition" name="Definition" map-to="def:keyword"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="special-variable" name="Special Variable" map-to="def:identifier"/>
<style id="null-value" name="Null Value" map-to="def:special-constant"/>
<style id="boolean" name="Boolean" map-to="def:boolean"/>
<style id="number" name="Number" map-to="def:number"/>
<style id="builtin" name="Builtin Function" map-to="def:builtin"/>
<style id="printf" name="printf Conversion" map-to="def:special-char"/>
</styles>
<definitions>
<context id="multiline-string" style-ref="multiline-string" class-disabled="no-spell-check">
<start>"""</start>
<end>"""</end>
<include>
<context ref="def:escape"/>
</include>
</context>
<context id="double-quoted-string" style-ref="string" end-at-line-end="true" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context ref="c:printf"/>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string" end-at-line-end="true" class-disabled="no-spell-check">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="regex" style-ref="regex" end-at-line-end="true">
<start>/(?!/)</start>
<end>/</end>
</context>
<context id="namespace" style-ref="namespace">
<keyword>uses</keyword>
<keyword>namespace</keyword>
</context>
<context id="primitives" style-ref="type">
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>date</keyword>
<keyword>datetime</keyword>
<keyword>decimal</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>object</keyword>
<keyword>sbyte</keyword>
<keyword>short</keyword>
<keyword>single</keyword>
<keyword>string</keyword>
<keyword>ulong</keyword>
<keyword>ushort</keyword>
</context>
<context id="definitions" style-ref="definition">
<keyword>const</keyword>
<keyword>class</keyword>
<keyword>construct</keyword>
<keyword>def</keyword>
<keyword>delegate</keyword>
<keyword>enum</keyword>
<keyword>exception</keyword>
<keyword>extern</keyword>
<keyword>event</keyword>
<keyword>final</keyword>
<keyword>get</keyword>
<keyword>init</keyword>
<keyword>inline</keyword>
<keyword>interface</keyword>
<keyword>override</keyword>
<keyword>prop</keyword>
<keyword>return</keyword>
<keyword>set</keyword>
<keyword>static</keyword>
<keyword>struct</keyword>
<keyword>var</keyword>
<keyword>virtual</keyword>
<keyword>weak</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>as</keyword>
<keyword>and</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>cast</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>delete</keyword>
<keyword>div</keyword>
<keyword>do</keyword>
<keyword>downto</keyword>
<keyword>dynamic</keyword>
<keyword>else</keyword>
<keyword>ensures</keyword>
<keyword>except</keyword>
<keyword>extern</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>implements</keyword>
<keyword>in</keyword>
<keyword>isa</keyword>
<keyword>is</keyword>
<keyword>lock</keyword>
<keyword>new</keyword>
<keyword>not</keyword>
<keyword>of</keyword>
<keyword>out</keyword>
<keyword>or</keyword>
<keyword>otherwise</keyword>
<keyword>pass</keyword>
<keyword>private</keyword>
<keyword>raise</keyword>
<keyword>raises</keyword>
<keyword>readonly</keyword>
<keyword>ref</keyword>
<keyword>requires</keyword>
<keyword>to</keyword>
<keyword>try</keyword>
<keyword>unless</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
</context>
<context id="special-variables" style-ref="special-variable">
<keyword>self</keyword>
<keyword>super</keyword>
</context>
<context id="null-value" style-ref="null-value">
<keyword>null</keyword>
</context>
<context id="boolean" style-ref="boolean">
<keyword>false</keyword>
<keyword>true</keyword>
</context>
<context id="numbers" style-ref="number">
<match extended="true">
(?&lt;![\w\.])
[0-9][0-9\.]*(m|ms|d|h|s|f|F|l|L)?
(?![\w\.])
</match>
</context>
<context id="builtins" style-ref="builtin">
<keyword>array</keyword>
<keyword>assert</keyword>
<keyword>dict</keyword>
<keyword>list</keyword>
<keyword>max</keyword>
<keyword>min</keyword>
<keyword>print</keyword>
<keyword>prop</keyword>
<keyword>sizeof</keyword>
<keyword>typeof</keyword>
</context>
<context id="genie" class="no-spell-check">
<include>
<context ref="def:shell-like-comment" style-ref="comment"/>
<context ref="def:c-like-comment" style-ref="comment"/>
<context ref="def:c-like-comment-multiline" style-ref="comment"/>
<context ref="multiline-string"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="regex"/>
<context ref="namespace"/>
<context ref="primitives"/>
<context ref="definitions"/>
<context ref="keywords"/>
<context ref="special-variables"/>
<context ref="null-value"/>
<context ref="boolean"/>
<context ref="numbers"/>
<context ref="builtins"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,482 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of GtkSourceView
Authors: Chong Kai Xiong, Simon Wenner
Copyright (C) 2005-2006 Chong Kai Xiong <descender@phreaker.net>
Copyright (C) 2009-2010 Simon Wenner <simon@wenner.ch>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
<!--
Defines all symbols of the OpenGL Shading Language (GLSL) version 4.0.
Specification (February 12, 2010):
http://www.opengl.org/registry/doc/GLSLangSpec.4.00.7.pdf
-->
<language id="glsl" _name="OpenGL Shading Language" version="2.0" _section="Source">
<metadata>
<property name="globs">*.glslv;*.glslf;*.glsl</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="preprocessor" name="Preprocessor" map-to="def:preprocessor"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="builtin-function" name="Builtin Function" map-to="def:builtin"/>
<style id="builtin-constant" name="Builtin Constant" map-to="def:constant"/>
<style id="builtin-variable" name="Builtin Variable" map-to="def:identifier"/>
<style id="future-use" name="Reserved Keywords"/>
</styles>
<definitions>
<context id="preprocessor" style-ref="preprocessor">
<prefix>^[ \t]*#[ \t]*</prefix>
<keyword>define</keyword>
<keyword>undef</keyword>
<keyword>(if|elif)([ \t]+defined)?</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>endif</keyword>
<keyword>error</keyword>
<keyword>pragma</keyword>
<keyword>extension</keyword>
<keyword>version</keyword>
<keyword>line</keyword>
</context>
<context id="common-macros" style-ref="preprocessor">
<keyword>__VERSION__</keyword>
<keyword>__LINE__</keyword>
<keyword>__FILE__</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>discard</keyword>
<keyword>do</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>return</keyword>
<keyword>while</keyword>
<keyword>switch</keyword>
<keyword>case</keyword>
<keyword>default</keyword>
<!-- qualifiers -->
<keyword>attribute</keyword>
<keyword>const</keyword>
<keyword>in</keyword>
<keyword>inout</keyword>
<keyword>out</keyword>
<keyword>uniform</keyword>
<keyword>varying</keyword>
<keyword>invariant</keyword>
<keyword>centroid</keyword>
<keyword>flat</keyword>
<keyword>smooth</keyword>
<keyword>noperspective</keyword>
<keyword>layout</keyword>
<keyword>patch</keyword>
<keyword>sample</keyword>
<keyword>subroutine</keyword>
<!-- precision -->
<keyword>lowp</keyword>
<keyword>mediump</keyword>
<keyword>highp</keyword>
<keyword>precision</keyword>
</context>
<context id="primitives" style-ref="type">
<keyword>bool</keyword>
<keyword>float</keyword>
<keyword>double</keyword>
<keyword>int</keyword>
<keyword>uint</keyword>
<keyword>struct</keyword>
<keyword>void</keyword>
<keyword>[bdiu]?vec[2-4]</keyword>
<keyword>[d]?mat[2-4]</keyword>
<keyword>[d]?mat[2-4]x[2-4]</keyword>
<keyword>[iu]?sampler[1-3]D</keyword>
<keyword>sampler[1-2]DShadow</keyword>
<keyword>[iu]?sampler[1-2]DArray</keyword>
<keyword>sampler[1-2]DArrayShadow</keyword>
<keyword>[iu]?samplerCube</keyword>
<keyword>samplerCubeShadow</keyword>
<keyword>[iu]?sampler2DRect</keyword>
<keyword>sampler2DRectShadow</keyword>
<keyword>[iu]?samplerBuffer</keyword>
<keyword>[iu]?sampler2DMS</keyword>
<keyword>[iu]?sampler2DMSArray</keyword>
<keyword>[iu]?sampler2DMSCubeArray</keyword>
<keyword>samplerCubeArrayShadow</keyword>
</context>
<context id="reserved-keywords-for-future-use" style-ref="future-use">
<keyword>common</keyword>
<keyword>partition</keyword>
<keyword>active</keyword>
<keyword>asm</keyword>
<keyword>class</keyword>
<keyword>union</keyword>
<keyword>enum</keyword>
<keyword>typedef</keyword>
<keyword>template</keyword>
<keyword>this</keyword>
<keyword>packed</keyword>
<keyword>goto</keyword>
<keyword>inline</keyword>
<keyword>noinline</keyword>
<keyword>volatile</keyword>
<keyword>public</keyword>
<keyword>static</keyword>
<keyword>extern</keyword>
<keyword>external</keyword>
<keyword>interface</keyword>
<keyword>long</keyword>
<keyword>short</keyword>
<keyword>half</keyword>
<keyword>fixed</keyword>
<keyword>unsigned</keyword>
<keyword>input</keyword>
<keyword>output</keyword>
<keyword>[hf]vec[2-4]</keyword>
<keyword>sampler3DRect</keyword>
<keyword>filter</keyword>
<keyword>sizeof</keyword>
<keyword>cast</keyword>
<keyword>namespace</keyword>
<keyword>using</keyword>
<keyword>row_major</keyword>
</context>
<context id="builtin-functions" style-ref="builtin-function">
<!-- Section 8.1 -->
<keyword>radians</keyword>
<keyword>degrees</keyword>
<keyword>sin</keyword>
<keyword>cos</keyword>
<keyword>tan</keyword>
<keyword>asin</keyword>
<keyword>acos</keyword>
<keyword>atan</keyword>
<keyword>sinh</keyword>
<keyword>cosh</keyword>
<keyword>tanh</keyword>
<keyword>asinh</keyword>
<keyword>acosh</keyword>
<keyword>atanh</keyword>
<!-- Section 8.2 -->
<keyword>pow</keyword>
<keyword>exp</keyword>
<keyword>log</keyword>
<keyword>exp2</keyword>
<keyword>log2</keyword>
<keyword>sqrt</keyword>
<keyword>inversesqrt</keyword>
<!-- Section 8.3 -->
<keyword>abs</keyword>
<keyword>sign</keyword>
<keyword>floor</keyword>
<keyword>trunc</keyword>
<keyword>round</keyword>
<keyword>roundEven</keyword>
<keyword>ceil</keyword>
<keyword>fract</keyword>
<keyword>mod</keyword>
<keyword>modf</keyword>
<keyword>min</keyword>
<keyword>max</keyword>
<keyword>clamp</keyword>
<keyword>mix</keyword>
<keyword>step</keyword>
<keyword>smoothstep</keyword>
<keyword>isnan</keyword>
<keyword>isinf</keyword>
<keyword>floatBitsToInt</keyword>
<keyword>floatBitsToUint</keyword>
<keyword>intBitsToFloat</keyword>
<keyword>uintBitsToFloat</keyword>
<keyword>fma</keyword>
<keyword>frexp</keyword>
<keyword>ldexp</keyword>
<!-- Section 8.4 -->
<keyword>packUnorm2x16</keyword>
<keyword>packUnorm4x8</keyword>
<keyword>packSnorm4x8</keyword>
<keyword>unpackUnorm2x16</keyword>
<keyword>unpackUnorm4x8</keyword>
<keyword>unpackSnorm4x8</keyword>
<keyword>packDouble2x32</keyword>
<keyword>unpackDouble2x32</keyword>
<!-- Section 8.5 -->
<keyword>length</keyword>
<keyword>distance</keyword>
<keyword>dot</keyword>
<keyword>cross</keyword>
<keyword>normalize</keyword>
<keyword>ftransform</keyword>
<keyword>faceforward</keyword>
<keyword>reflect</keyword>
<keyword>refract</keyword>
<!-- Section 8.6 -->
<keyword>matrixCompMult</keyword>
<keyword>outerProduct</keyword>
<keyword>transpose</keyword>
<keyword>determinant</keyword>
<keyword>inverse</keyword>
<!-- Section 8.7 -->
<keyword>lessThan</keyword>
<keyword>lessThanEqual</keyword>
<keyword>greaterThan</keyword>
<keyword>greaterThanEqual</keyword>
<keyword>equal</keyword>
<keyword>notEqual</keyword>
<keyword>any</keyword>
<keyword>all</keyword>
<keyword>not</keyword>
<!-- Section 8.8 -->
<keyword>uaddCarry</keyword>
<keyword>usubBorrow</keyword>
<keyword>umulExtended</keyword>
<keyword>imulExtended</keyword>
<keyword>bitfieldExtract</keyword>
<keyword>bitfildInsert</keyword>
<keyword>bitfieldReverse</keyword>
<keyword>bitCount</keyword>
<keyword>findLSB</keyword>
<keyword>findMSB</keyword>
<!-- Section 8.9 -->
<keyword>textureSize</keyword>
<keyword>textureQueryLOD</keyword>
<keyword>texture</keyword>
<keyword>textureProj</keyword>
<keyword>textureLod</keyword>
<keyword>textureOffset</keyword>
<keyword>texelFetch</keyword>
<keyword>texelFetchOffset</keyword>
<keyword>textureProjOffset</keyword>
<keyword>textureLodOffset</keyword>
<keyword>textureProjLod</keyword>
<keyword>textureProjLodOffset</keyword>
<keyword>textureGrad</keyword>
<keyword>textureGradOffset</keyword>
<keyword>textureProjGrad</keyword>
<keyword>textureProjGradOffset</keyword>
<keyword>textureGather</keyword>
<keyword>textureGatherOffset</keyword>
<keyword>texture[1-3]D</keyword>
<keyword>texture[1-3]DProj</keyword>
<keyword>texture[1-3]DLod</keyword>
<keyword>texture[1-3]DProjLod</keyword>
<keyword>textureCube</keyword>
<keyword>textureCubeLod</keyword>
<keyword>shadow[1-2]D</keyword>
<keyword>shadow[1-2]DProj</keyword>
<keyword>shadow[1-2]DLod</keyword>
<keyword>shadow[1-2]DProjLod</keyword>
<!-- Section 8.10 -->
<keyword>dFdx</keyword>
<keyword>dFdy</keyword>
<keyword>fwidth</keyword>
<keyword>interpolateAtCentroid</keyword>
<keyword>interpolateAtSample</keyword>
<keyword>interpolateAtOffset</keyword>
<!-- Section 8.11 -->
<keyword>noise[1-4]</keyword>
<!-- Section 8.12 -->
<keyword>EmitStreamVertex</keyword>
<keyword>EndStreamPrimitive</keyword>
<keyword>EmitVertex</keyword>
<keyword>EndPrimitive</keyword>
<!-- Section 8.13 -->
<keyword>barrier</keyword>
</context>
<context id="builtin-variables" style-ref="builtin-variable">
<!-- Section 7.1 (vertex language) -->
<keyword>gl_VertexID</keyword>
<keyword>gl_InstanceID</keyword>
<keyword>gl_Position</keyword>
<keyword>gl_PointSize</keyword>
<keyword>gl_ClipDistance</keyword>
<!-- Section 7.1 (geometry language) -->
<keyword>gl_PrimitiveIDIn</keyword>
<keyword>gl_InvocationID</keyword>
<keyword>gl_PrimitiveID</keyword>
<keyword>gl_Layer</keyword>
<!-- Section 7.1 (tessellation control language) -->
<keyword>gl_PatchVerticesIn</keyword>
<keyword>gl_TessLevelOuter</keyword>
<keyword>gl_TessLevelInner</keyword>
<!-- Section 7.1 (tessellation evaluation language) -->
<keyword>gl_TessCoord</keyword>
<!-- Section 7.1 (fragment language) -->
<keyword>gl_FragCoord</keyword>
<keyword>gl_FrontFacing</keyword>
<keyword>gl_PointCoord</keyword>
<keyword>gl_SampleID</keyword>
<keyword>gl_SamplePosition</keyword>
<keyword>gl_FragColor</keyword>
<keyword>gl_FragData</keyword>
<keyword>gl_FragDepth</keyword>
<keyword>gl_SampleMask</keyword>
<!-- Section 7.1.1 (compatibility profile) -->
<keyword>gl_ClipVertex</keyword>
<keyword>gl_FrontColor</keyword>
<keyword>gl_BackColor</keyword>
<keyword>gl_FrontSecondaryColor</keyword>
<keyword>gl_BackSecondaryColor</keyword>
<keyword>gl_TexCoord</keyword>
<keyword>gl_FogFragCoord</keyword>
<!-- Section 7.2 (compatibility profile vertex attributes) -->
<keyword>gl_Color</keyword>
<keyword>gl_SecondaryColor</keyword>
<keyword>gl_Normal</keyword>
<keyword>gl_Vertex</keyword>
<keyword>gl_MultiTexCoord[0-7]</keyword>
<keyword>gl_FogCoord</keyword>
</context>
<context id="builtin-constants" style-ref="builtin-constant">
<!-- Section 7.3 -->
<keyword>gl_MaxVertexAttribs</keyword>
<keyword>gl_MaxVertexUniformComponents</keyword>
<keyword>gl_MaxVaryingFloats</keyword>
<keyword>gl_MaxVaryingComponents</keyword>
<keyword>gl_MaxVertexOutputComponents</keyword>
<keyword>gl_MaxGeometryInputComponents</keyword>
<keyword>gl_MaxGeometryOutputComponents</keyword>
<keyword>gl_MaxFragmentInputComponents</keyword>
<keyword>gl_MaxVertexTextureImageUnits</keyword>
<keyword>gl_MaxCombinedTextureImageUnits</keyword>
<keyword>gl_MaxTextureImageUnits</keyword>
<keyword>gl_MaxFragmentUniformComponents</keyword>
<keyword>gl_MaxDrawBuffers</keyword>
<keyword>gl_MaxClipDistances</keyword>
<keyword>gl_MaxGeometryTextureImageUnits</keyword>
<keyword>gl_MaxGeometryOutputVertices</keyword>
<keyword>gl_MaxGeometryTotalOutputComponents</keyword>
<keyword>gl_MaxGeometryUniformComponents</keyword>
<keyword>gl_MaxGeometryVaryingComponents</keyword>
<keyword>gl_MaxTessControlInputComponents</keyword>
<keyword>gl_MaxTessControlOutputComponents</keyword>
<keyword>gl_MaxTessControlTextureImageUnits</keyword>
<keyword>gl_MaxTessControlUniformComponents</keyword>
<keyword>gl_MaxTessControlTotalOutputComponents</keyword>
<keyword>gl_MaxTessEvaluationInputComponents</keyword>
<keyword>gl_MaxTessEvaluationOutputComponents</keyword>
<keyword>gl_MaxTessEvaluationTextureImageUnits</keyword>
<keyword>gl_MaxTessEvaluationUniformComponents</keyword>
<keyword>gl_MaxTessPatchComponents</keyword>
<keyword>gl_MaxPatchVertices</keyword>
<keyword>gl_MaxTessGenLevel</keyword>
<!-- Section 7.3.1 (compatibility profile) -->
<keyword>gl_MaxTextureUnits</keyword>
<keyword>gl_MaxTextureCoords</keyword>
<keyword>gl_MaxClipPlanes</keyword>
</context>
<context id="builtin-uniform-states" style-ref="builtin-constant">
<!-- Section 7.4 -->
<keyword>gl_DepthRange</keyword>
<keyword>gl_ModelViewMatrix</keyword>
<keyword>gl_ProjectionMatrix</keyword>
<keyword>gl_ModelViewProjectionMatrix</keyword>
<keyword>gl_TextureMatrix</keyword>
<keyword>gl_NormalMatrix</keyword>
<keyword>gl_ModelViewMatrixInverse</keyword>
<keyword>gl_ProjectionMatrixInverse</keyword>
<keyword>gl_ModelViewProjectionMatrixInverse</keyword>
<keyword>gl_TextureMatrixInverse</keyword>
<keyword>gl_ModelViewMatrixTranspose</keyword>
<keyword>gl_ProjectionMatrixTranspose</keyword>
<keyword>gl_ModelViewProjectionMatrixTranspose</keyword>
<keyword>gl_TextureMatrixTranspose</keyword>
<keyword>gl_ModelViewMatrixInverseTranspose</keyword>
<keyword>gl_ProjectionMatrixInverseTranspose</keyword>
<keyword>gl_ModelViewProjectionMatrixInverseTranspose</keyword>
<keyword>gl_TextureMatrixInverseTranspose</keyword>
<keyword>gl_NormalScale</keyword>
<keyword>gl_ClipPlane</keyword>
<keyword>gl_Point</keyword>
<keyword>gl_FrontMaterial</keyword>
<keyword>gl_BackMaterial</keyword>
<keyword>gl_LightSource</keyword>
<keyword>gl_LightModel</keyword>
<keyword>gl_FrontLightModelProduct</keyword>
<keyword>gl_BackLightModelProduct</keyword>
<keyword>gl_FrontLightProduct</keyword>
<keyword>gl_BackLightProduct</keyword>
<keyword>gl_TextureEnvColor</keyword>
<keyword>gl_EyePlaneS</keyword>
<keyword>gl_EyePlaneT</keyword>
<keyword>gl_EyePlaneR</keyword>
<keyword>gl_EyePlaneQ</keyword>
<keyword>gl_ObjectPlaneS</keyword>
<keyword>gl_ObjectPlaneT</keyword>
<keyword>gl_ObjectPlaneR</keyword>
<keyword>gl_ObjectPlaneQ</keyword>
<keyword>gl_Fog</keyword>
</context>
<context id="glsl">
<include>
<context ref="def:c-like-comment"/>
<context ref="def:c-like-comment-multiline"/>
<context ref="def:c-like-close-comment-outside-comment"/>
<context ref="c:if0-comment"/>
<context ref="preprocessor"/>
<context ref="common-macros"/>
<context ref="keywords"/>
<context ref="primitives"/>
<context ref="c:boolean"/>
<context ref="c:decimal"/>
<context ref="c:octal"/>
<context ref="c:hexadecimal"/>
<context ref="c:float"/>
<context ref="builtin-functions"/>
<context ref="builtin-variables"/>
<context ref="builtin-constants"/>
<context ref="builtin-uniform-states"/>
<context ref="reserved-keywords-for-future-use"/>
</include>
</context>
</definitions>
</language>

View File

@ -0,0 +1,274 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Authors: Jim Teeuwen
Copyright (C) 2009-2010 Jim Teeuwen <jimteeuwen@gmail.com>
Copyright (C) 2010 Kenny Meyer <knny.myer@gmail.com>
GtkSourceView is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
GtkSourceView is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see <http://www.gnu.org/licenses/>.
See: http://code.google.com/p/go/source/browse/misc/vim/syntax/go.vim
-->
<language id="go" name="Go" version="2.0" _section="Source">
<metadata>
<property name="mimetype">text/x-go</property>
<property name="globs">*.go</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="char" name="Character" map-to="def:character"/>
<style id="keyword" name="Keyword" map-to="def:keyword"/>
<style id="type" name="Data Type" map-to="def:type"/>
<style id="printf" name="printf Conversion" map-to="def:special-char"/>
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
<style id="floating-point" name="Floating point number" map-to="def:floating-point"/>
<style id="imaginary" name="Imaginary number" map-to="def:number"/>
<style id="decimal" name="Decimal number" map-to="def:decimal"/>
<style id="octal" name="Octal number" map-to="def:base-n-integer"/>
<style id="hexadecimal" name="Hexadecimal number" map-to="def:base-n-integer"/>
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
<style id="builtin-constant" name="Builtin Constant" map-to="def:special-constant"/>
<style id="builtin-function" name="Builtin Function" map-to="def:builtin"/>
</styles>
<definitions>
<define-regex id="escaped-character" extended="true">
\\( # leading backslash
[\\\"\'nrbtfav\?] | # escaped character
[0-7]{1,3} | # one, two, or three octal digits
x[0-9A-Fa-f]+ # 'x' followed by hex digits
)
</define-regex>
<!--contexts NOT used on the main context-->
<context id="printf" style-ref="printf" extend-parent="false">
<match extended="true">
\%\%|\%
[#0\-\ \+\*]* # flags
(?:[1-9][0-9]*|\*)? # width
(?:\.(?:[0-9]+|\*))? # precision
[vTtbcdoqxXUeEfgGsp] # conversion specifier
</match>
</context>
<!--contexts used on the main context-->
<context id="comment" style-ref="comment" end-at-line-end="true" class-disabled="no-spell-check">
<start>//</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
<context id="comment-multiline" style-ref="comment" class-disabled="no-spell-check">
<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="quoted-string" style-ref="string" end-at-line-end="true" class-disabled="no-spell-check">
<start>"</start>
<end>"</end>
<include>
<context ref="printf"/>
<context id="escaped-character" style-ref="escaped-character">
<match>\%{escaped-character}</match>
</context>
<context ref="def:line-continue"/>
</include>
</context>
<context id="backquote-string" style-ref="string" end-at-line-end="false" class-disabled="no-spell-check">
<start>`</start>
<end>`</end>
<include>
<context ref="printf"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="char" style-ref="char">
<match>'(\%{escaped-character}|.)'</match>
</context>
<define-regex id="float" extended="true">
((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]+)? |
([0-9]+[Ee][+-]?[0-9]+))
</define-regex>
<context id="imaginary" style-ref="imaginary">
<match>(?&lt;![\w\.])(\%{float}|\[0-9]+)[i]\b</match>
</context>
<context id="float" style-ref="floating-point">
<match>(?&lt;![\w\.])\%{float}(?![\w\.])</match>
</context>
<context id="hexadecimal" style-ref="hexadecimal">
<match extended="true">
(?&lt;![\w\.])
0[xX][a-fA-F0-9]+
(?![\w\.])
</match>
</context>
<context id="invalid-hexadecimal" style-ref="error">
<match extended="true">
(?&lt;![\w\.])
0[xX][a-fA-F0-9]*[g-zG-Z][a-zA-Z0-9]*
(?![\w\.])
</match>
</context>
<context id="octal" style-ref="octal">
<match extended="true">
(?&lt;![\w\.])
0[0-7]+
(?![\w\.])
</match>
</context>
<context id="invalid-octal" style-ref="error">
<match extended="true">
(?&lt;![\w\.])
0[0-7]*[89][0-9]*
(?![\w\.])
</match>
</context>
<context id="decimal" style-ref="decimal">
<match extended="true">
(?&lt;![\w\.])
(0|[1-9][0-9]*)
(?![\w\.])
</match>
</context>
<context id="boolean" style-ref="boolean">
<match extended="true">
(?&lt;![\w\.])
(true|false)
(?![\w\.])
</match>
</context>
<context id="keywords" style-ref="keyword">
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>const</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>defer</keyword>
<keyword>else</keyword>
<keyword>fallthrough</keyword>
<keyword>for</keyword>
<keyword>func</keyword>
<keyword>go</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>import</keyword>
<keyword>interface</keyword>
<keyword>package</keyword>
<keyword>range</keyword>
<keyword>return</keyword>
<keyword>select</keyword>
<keyword>struct</keyword>
<keyword>switch</keyword>
<keyword>type</keyword>
<keyword>var</keyword>
</context>
<context id="types" style-ref="type">
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>chan</keyword>
<keyword>complex64</keyword>
<keyword>complex128</keyword>
<keyword>error</keyword>
<keyword>float32</keyword>
<keyword>float64</keyword>
<keyword>func</keyword>
<keyword>int</keyword>
<keyword>int8</keyword>
<keyword>int16</keyword>
<keyword>int32</keyword>
<keyword>int64</keyword>
<keyword>map</keyword>
<keyword>rune</keyword>
<keyword>string</keyword>
<keyword>uint</keyword>
<keyword>uint8</keyword>
<keyword>uint16</keyword>
<keyword>uint32</keyword>
<keyword>uint64</keyword>
<keyword>uintptr</keyword>
</context>
<context id="builtin-constant" style-ref="builtin-constant">
<keyword>iota</keyword>
<keyword>nil</keyword>
</context>
<context id="builtin-function" style-ref="builtin-function">
<keyword>append</keyword>
<keyword>cap</keyword>
<keyword>close</keyword>
<keyword>complex</keyword>
<keyword>copy</keyword>
<keyword>delete</keyword>
<keyword>imag</keyword>
<keyword>len</keyword>
<keyword>make</keyword>
<keyword>new</keyword>
<keyword>panic</keyword>
<keyword>real</keyword>
<keyword>recover</keyword>
</context>
<context id="go" class="no-spell-check">
<include>
<context ref="comment"/>
<context ref="comment-multiline"/>
<context ref="close-comment-outside-comment"/>
<context ref="quoted-string"/>
<context ref="backquote-string"/>
<context ref="char"/>
<context ref="float"/>
<context ref="hexadecimal"/>
<context ref="invalid-hexadecimal"/>
<context ref="octal"/>
<context ref="invalid-octal"/>
<context ref="decimal"/>
<context ref="boolean"/>
<context ref="keywords"/>
<context ref="types"/>
<context ref="builtin-constant"/>
<context ref="builtin-function"/>
</include>
</context>
</definitions>
</language>

Some files were not shown because too many files have changed in this diff Show More