gtksourceview r2201 - in trunk: . gtksourceview/language-specs po



Author: icq
Date: Tue Mar  3 22:52:14 2009
New Revision: 2201
URL: http://svn.gnome.org/viewvc/gtksourceview?rev=2201&view=rev

Log:
2009-03-03  Ignacio Casal Quinteiro  <nacho resa gmail com>

        * gtksourceview/language-specs/prolog.lang:
        * gtksourceview/language-specs/Makefile.am:
        * gtksourceview/language-specs/testfiles.sh:
        Add prolog lang file.



Added:
   trunk/gtksourceview/language-specs/prolog.lang
Modified:
   trunk/ChangeLog
   trunk/gtksourceview/language-specs/Makefile.am
   trunk/gtksourceview/language-specs/testfiles.sh
   trunk/po/ChangeLog
   trunk/po/POTFILES.in

Modified: trunk/gtksourceview/language-specs/Makefile.am
==============================================================================
--- trunk/gtksourceview/language-specs/Makefile.am	(original)
+++ trunk/gtksourceview/language-specs/Makefile.am	Tue Mar  3 22:52:14 2009
@@ -54,6 +54,7 @@
 	pkgconfig.lang		\
 	po.lang			\
 	python.lang		\
+	prolog.lang		\
 	R.lang			\
 	rpmspec.lang		\
 	ruby.lang		\

Added: trunk/gtksourceview/language-specs/prolog.lang
==============================================================================
--- (empty file)
+++ trunk/gtksourceview/language-specs/prolog.lang	Tue Mar  3 22:52:14 2009
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Authors: Ignacio Casal Quinteiro
+ Copyright (C) 2009 Ignacio Casal Quinteiro <icq gnome org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+-->
+<language id="prolog" name="Prolog" version="2.0" _section="Sources">
+  <metadata>
+    <property name="mimetypes">text/x-prolog</property>
+    <property name="globs">*.prolog</property>
+  </metadata>
+
+  <styles>
+    <style id="comment"      _name="Comment"      map-to="def:comment"/>
+    <style id="variable"     _name="Variable"     map-to="def:type"/>
+    <style id="keyword"      _name="Keyword"      map-to="def:keyword"/>
+    <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>
+
+  <definitions>
+    
+    <define-regex id="symbolchar">[-!+\\|=:&amp;&gt;&lt;]</define-regex>
+    
+    <context id="line-comment" style-ref="comment" end-at-line-end="true">
+      <start>%</start>
+      <include>
+        <context ref="def:in-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="variable" style-ref="variable">
+      <match>[A-Z_][A-Za-z0-9_]*</match>
+    </context>
+    
+    <context id="operators" style-ref="operator">
+      <prefix>(?&lt;!\%{symbolchar})</prefix>
+      <suffix>(?!\%{symbolchar})</suffix>
+      <keyword>=</keyword>
+      <keyword>==</keyword>
+      <keyword>=\\=</keyword>
+      <keyword>=:=</keyword>
+      <keyword>\|</keyword>
+      <keyword>&lt;</keyword>
+      <keyword>&gt;</keyword>
+      <keyword>=&lt;</keyword>
+      <keyword>&gt;=</keyword>
+      <keyword>\\=</keyword>
+      <keyword>\\==</keyword>
+      <keyword>\\\+</keyword>
+    </context>
+    
+    <context id="special-operators" style-ref="operator">
+      <match>([!;]|:\-)</match>
+    </context>
+
+    <context id="string" style-ref="string" end-at-line-end="true">
+      <start>"</start>
+      <end>"</end>
+    </context>
+
+    <context id="string2" style-ref="string" end-at-line-end="true">
+      <start>'</start>
+      <end>'</end>
+    </context>
+
+    <context id="number" style-ref="number">
+      <match extended="true">
+        \b[0-9]+(\.[0-9]+)?\b
+      </match>
+    </context>
+
+    <context id="arith" style-ref="keyword">
+      <keyword>mod</keyword>
+      <keyword>div</keyword>
+      <keyword>abs</keyword>
+      <keyword>exp</keyword>
+      <keyword>ln</keyword>
+      <keyword>log</keyword>
+      <keyword>sqrt</keyword>
+      <keyword>round</keyword>
+      <keyword>trunc</keyword>
+      <keyword>val</keyword>
+      <keyword>cos</keyword>
+      <keyword>sin</keyword>
+      <keyword>tan</keyword>
+      <keyword>arctan</keyword>
+      <keyword>random</keyword>
+      <keyword>randominit</keyword>
+    </context>
+
+    <context id="keyword" style-ref="keyword">
+      <keyword>module</keyword>
+      <keyword>meta_predicate</keyword>
+      <keyword>multifile</keyword>
+      <keyword>dynamic</keyword>
+      <keyword>abolish</keyword>
+      <keyword>current_output</keyword>
+      <keyword>peek_code</keyword>
+      <keyword>append</keyword>
+      <keyword>current_predicate</keyword>
+      <keyword>put_byte</keyword>
+      <keyword>arg</keyword>
+      <keyword>current_prolog_flag</keyword>
+      <keyword>put_char</keyword>
+      <keyword>asserta</keyword>
+      <keyword>fail</keyword>
+      <keyword>put_code</keyword>
+      <keyword>assertz</keyword>
+      <keyword>findall</keyword>
+      <keyword>read</keyword>
+      <keyword>at_end_of_stream</keyword>
+      <keyword>float</keyword>
+      <keyword>read_term</keyword>
+      <keyword>atom</keyword>
+      <keyword>flush_output</keyword>
+      <keyword>repeat</keyword>
+      <keyword>atom_chars</keyword>
+      <keyword>functor</keyword>
+      <keyword>retract</keyword>
+      <keyword>atom_codes</keyword>
+      <keyword>get_byte</keyword>
+      <keyword>set_input</keyword>
+      <keyword>atom_concat</keyword>
+      <keyword>get_char</keyword>
+      <keyword>set_output</keyword>
+      <keyword>atom_length</keyword>
+      <keyword>get_code</keyword>
+      <keyword>set_prolog_flag</keyword>
+      <keyword>atomic</keyword>
+      <keyword>halt</keyword>
+      <keyword>set_stream_position</keyword>
+      <keyword>bagof</keyword>
+      <keyword>integer</keyword>
+      <keyword>setof</keyword>
+      <keyword>call</keyword>
+      <keyword>is</keyword>
+      <keyword>stream_property</keyword>
+      <keyword>catch</keyword>
+      <keyword>nl</keyword>
+      <keyword>sub_atom</keyword>
+      <keyword>char_code</keyword>
+      <keyword>nonvar</keyword>
+      <keyword>throw</keyword>
+      <keyword>char_conversion</keyword>
+      <keyword>number</keyword>
+      <keyword>clause</keyword>
+      <keyword>number_chars</keyword>
+      <keyword>unify_with_occurs_check</keyword>
+      <keyword>close</keyword>
+      <keyword>number_codes</keyword>
+      <keyword>var</keyword>
+      <keyword>compound</keyword>
+      <keyword>once</keyword>
+      <keyword>copy_term</keyword>
+      <keyword>op</keyword>
+      <keyword>write</keyword>
+      <keyword>write_canonical</keyword>
+      <keyword>write_term</keyword>
+      <keyword>writeq</keyword>
+      <keyword>current_char_conversion</keyword>
+      <keyword>open</keyword>
+      <keyword>current_input</keyword>
+      <keyword>peek_byte</keyword>
+      <keyword>current_op</keyword>
+      <keyword>peek_char</keyword>
+      <keyword>false</keyword>
+      <keyword>true</keyword>
+    </context>
+
+    <context id="prolog">
+      <include>
+        <context ref="keyword"/>
+        <context ref="arith"/>
+        <context ref="number"/>
+        <context ref="string"/>
+        <context ref="string2"/>
+        <context ref="special-operators"/>
+        <context ref="operators"/>
+        <context ref="variable"/>
+        <context ref="block-comment"/>
+        <context ref="line-comment"/>
+        <context ref="close-comment-outside-comment"/>
+      </include>
+    </context>
+
+  </definitions>
+</language>

Modified: trunk/gtksourceview/language-specs/testfiles.sh
==============================================================================
--- trunk/gtksourceview/language-specs/testfiles.sh	(original)
+++ trunk/gtksourceview/language-specs/testfiles.sh	Tue Mar  3 22:52:14 2009
@@ -5,9 +5,9 @@
 # Kind of smoke test.
 
 # Langs covered here:
-# changelog.lang c.lang cpp.lang desktop.lang diff.lang dtd.lang
+# asp.lang changelog.lang c.lang cpp.lang desktop.lang diff.lang dtd.lang
 # gap.lang gtkrc.lang html.lang ini.lang latex.lang m4.lang
-# makefile.lang ms.lang perl.lang po.lang python.lang sh.lang
+# makefile.lang ms.lang perl.lang po.lang prolog.lang python.lang sh.lang
 # texinfo.lang xml.lang yacc.lang libtool.lang pkgconfig.lang
 # objc.lang chdr.lang testv1.lang t2t.lang fortran.lang forth.lang
 # octave.lang
@@ -15,6 +15,12 @@
 dir="testdir"
 mkdir -p $dir/
 
+cat > $dir/file.prolog <<EOFEOF
+conc([],X,X).
+conc([Car|Cdr], X, [Car|ConcatCdr]):-
+  conc(Cdr, X, ConcatCdr).
+EOFEOF
+
 cat > $dir/file.asp <<EOFEOF
 <html>
 <body>

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Tue Mar  3 22:52:14 2009
@@ -67,6 +67,7 @@
 gtksourceview/language-specs/php.lang
 gtksourceview/language-specs/pkgconfig.lang
 gtksourceview/language-specs/po.lang
+gtksourceview/language-specs/prolog.lang
 gtksourceview/language-specs/python.lang
 gtksourceview/language-specs/R.lang
 gtksourceview/language-specs/rpmspec.lang



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]