[gtksourceview] Add j.lang
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] Add j.lang
- Date: Mon, 20 Aug 2012 20:48:54 +0000 (UTC)
commit 60472ea1ca2e47f777ceb599bcaa9bdef514aa13
Author: Paolo Borelli <pborelli gnome org>
Date: Mon Aug 20 22:47:23 2012 +0200
Add j.lang
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=642272
data/language-specs/Makefile.am | 1 +
data/language-specs/j.lang | 240 +++++++++++++++++++++++++++++++++++++++
po/POTFILES.in | 1 +
3 files changed, 242 insertions(+), 0 deletions(-)
---
diff --git a/data/language-specs/Makefile.am b/data/language-specs/Makefile.am
index 27257e5..677384b 100644
--- a/data/language-specs/Makefile.am
+++ b/data/language-specs/Makefile.am
@@ -47,6 +47,7 @@ LANGUAGES = \
idl.lang \
imagej.lang \
ini.lang \
+ j.lang \
java.lang \
javascript.lang \
json.lang \
diff --git a/data/language-specs/j.lang b/data/language-specs/j.lang
new file mode 100644
index 0000000..a65910f
--- /dev/null
+++ b/data/language-specs/j.lang
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ This file is part of GtkSourceView
+
+ Authors: Jsoftware, Ric Sherlock
+ Copyright (C) 2011 Ric Sherlock <tikkanz 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="j" _name="J" version="2.0" _section="Sources">
+ <metadata>
+ <property name="globs">*.ijs</property>
+ <property name="line-comment-start">NB\.</property>
+ </metadata>
+
+ <styles>
+ <style id="adverb" _name="Adverb" map-to="def:identifier" />
+ <style id="comment" _name="Comment" map-to="def:comment" />
+ <style id="conjunction" _name="Conjunction" map-to="def:identifier" />
+ <style id="control" _name="Control" map-to="def:keyword" />
+ <style id="error" _name="Error" map-to="def:error" />
+ <style id="exparg" _name="Explicit Argument" map-to="def:special-char" />
+ <style id="global" _name="Global" map-to="def:type" />
+ <style id="labtext" _name="Lab Text" map-to="def:preprocessor" />
+ <style id="local" _name="Local" map-to="def:type" />
+ <style id="noun" _name="Noun" map-to="def:special-constant" />
+ <style id="noundef" _name="Explicit Noun Definition" map-to="def:string" />
+ <style id="number" _name="Number" map-to="def:decimal" />
+ <style id="parens" _name="Parens" map-to="def:statement" />
+ <style id="primitive" _name="Primitive" map-to="def:identifier" />
+ <style id="string" _name="String" map-to="def:string" />
+ <style id="verb" _name="Verb" map-to="def:identifier" />
+ </styles>
+
+ <definitions>
+ <!-- Problems/shortcomings
+ * How to target parens inside expdef
+ * Matched vs unmatched parens coloring but how to do () and not {} and []
+ -->
+
+ <!-- NB. (Comments) -->
+ <context id="comment" style-ref="comment" end-at-line-end="true">
+ <start>\%[NB\.</start>
+ </context>
+
+ <!-- 'abcde' (Strings) -->
+ <context id="string" style-ref="string" end-at-line-end="true">
+ <start>L?'</start><end>'</end>
+ </context>
+
+ <!-- Unbalanced single quotes -->
+ <context id="error" style-ref="error">
+ <match>'[^']*?$</match>
+ </context>
+
+ <!-- 2.34 (Numbers) -->
+ <context id="number" style-ref="number">
+ <match extended="true">\%[[_0-9][_0-9\.a-zA-Z]*\%]</match>
+ </context>
+
+ <!-- Nouns -->
+ <context id="noun" style-ref="noun">
+ <match extended="true">
+ \%[(_\.|a\.|a:)(?![\.\:])
+ </match>
+ </context>
+
+ <!-- Verbs -->
+ <context id="verb" style-ref="verb">
+ <match extended="true">
+ ((_?[0-9]:)|
+ (\%[p\.\.)|
+ (\%[[AcCeEiIjLopr]\.)|
+ (\%[[ipqsux]:)|
+ ({::)|
+ ([<>\+\*\-\%\^\$\~\|\,\#\{\}"\?]\.)|
+ ([<>\_\+\*\-\%\$\~\|\,\;\#\/\\\[\{\}"]:)|
+ ([<>\=\+\*\-\%\^\$\|\,\;\#\!\[\]\{\?]))
+ (?![\.\:])
+ </match>
+ </context>
+
+ <!-- Adverbs -->
+ <context id="adverb" style-ref="adverb">
+ <match extended="true">
+ (([\/\\]\.)|
+ (\%[[bfMt]\.)|
+ (\%[t:)|
+ ([\~\/\\\}]))
+ (?![\.\:])
+ </match>
+ </context>
+
+ <!-- Conjunctions -->
+ <context id="conjunction" style-ref="conjunction">
+ <match extended="true">
+ ((\%[[dDHT]\.)|
+ (\%[[DLS]:)|
+ (&\.:)|
+ ([\;\!\@&]\.)|
+ ([\^\!\`\@&]:)|
+ ([\"\`\@&])|
+ (\s[\.\:][\.\:])|
+ (\s[\.\:]))
+ (?![\.\:])
+ </match>
+ </context>
+
+ <!-- () (Parentheses) -->
+ <context id="parens" style-ref="parens">
+ <match>[\(\)]</match>
+ </context>
+
+ <!-- Explicit arguments -->
+ <context id="exparg" style-ref="exparg">
+ <match extended="true">\%[[nmuvxy](?![\w\.\:])</match>
+ </context>
+
+ <define-regex id="valid-name">[a-zA-Z][a-zA-Z0-9_]*</define-regex>
+ <define-regex id="close-expdef">^\s*\)\s*$</define-regex>
+
+ <!-- if. do. end. (Control words) -->
+ <context id="control" style-ref="control">
+ <prefix>\%[</prefix>
+ <suffix>(?![\.\:])</suffix>
+ <keyword>assert\.</keyword>
+ <keyword>break\.</keyword>
+ <keyword>continue\.</keyword>
+ <keyword>return\.</keyword>
+ <keyword>do\.</keyword>
+ <keyword>if\.</keyword>
+ <keyword>else\.</keyword>
+ <keyword>elseif\.</keyword>
+ <keyword>end\.</keyword>
+ <keyword>for\.</keyword>
+ <keyword>select\.</keyword>
+ <keyword>case\.</keyword>
+ <keyword>fcase\.</keyword>
+ <keyword>throw\.</keyword>
+ <keyword>try\.</keyword>
+ <keyword>catch\.</keyword>
+ <keyword>catchd\.</keyword>
+ <keyword>catcht\.</keyword>
+ <keyword>while\.</keyword>
+ <keyword>whilst\.</keyword>
+ <keyword>for_\%{valid-name}?\.</keyword>
+ <keyword>goto_\%{valid-name}?\.</keyword>
+ <keyword>label_\%{valid-name}?\.</keyword>
+ </context>
+
+ <!-- Explicit definition -->
+ <context id="expdef" style-inside="true">
+ <start>\%[(([1-4]|13)\s+:\s*0)|((adverb|conjunction|verb|monad|dyad)\s+define)\%]</start>
+ <end>\%{close-expdef}</end>
+ <include>
+ <context ref="comment"/>
+ <context ref="error"/>
+ <context ref="exparg"/>
+ <context ref="global"/>
+ <context ref="local"/>
+ <context ref="noun"/>
+ <context ref="verb"/>
+ <context ref="adverb"/>
+ <context ref="conjunction"/>
+ <context ref="string"/>
+ <context ref="number"/>
+ <context ref="control"/>
+ </include>
+ </context>
+
+ <!-- Explicit noun definition -->
+ <context id="noundef" style-ref="noundef" style-inside="true">
+ <start>\%[(0\s+:\s*0|noun\s+define)\%].*$</start>
+ <end>\%{close-expdef}</end>
+ </context>
+
+ <!-- Lab text definition -->
+ <context id="labtext" style-ref="labtext">
+ <start>^\s*[\x{2500}|-]{2,}</start>
+ <end>\%{close-expdef}</end>
+ </context>
+
+ <!-- Note (Multiline comment) -->
+ <context id="notes" style-ref="comment" style-inside="true">
+ <start>^\s*\%[Note\%](?!\s*\=[:.])\s*['\d].*$</start>
+ <end>\%{close-expdef}</end>
+ </context>
+
+ <!-- Note (to end-of-line comment) -->
+ <context id="note" style-ref="comment" end-at-line-end="true">
+ <start>\%[Note\%](?!\s*\=[:.])\s*['\d].*$</start>
+ </context>
+
+ <!-- =: (Global assignment) -->
+ <context id="global" style-ref="global">
+ <match>=:</match>
+ </context>
+
+ <!-- =. (Local assignment) -->
+ <context id="local" style-ref="local">
+ <match>=\.</match>
+ </context>
+
+ <context id="j">
+ <include>
+ <context ref="comment"/>
+ <context ref="error"/>
+ <context ref="string"/>
+ <context ref="global"/>
+ <context ref="local"/>
+ <context ref="noun"/>
+ <context ref="verb"/>
+ <context ref="adverb"/>
+ <context ref="conjunction"/>
+ <context ref="expdef"/>
+ <context ref="noundef"/>
+ <context ref="labtext"/>
+ <context ref="notes"/>
+ <context ref="note"/>
+ <context ref="parens"/>
+ <context ref="number"/>
+ </include>
+ </context>
+
+ </definitions>
+</language>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index b5dd5e3..d032e6d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -45,6 +45,7 @@ data/language-specs/html.lang
data/language-specs/idl.lang
data/language-specs/imagej.lang
data/language-specs/ini.lang
+data/language-specs/j.lang
data/language-specs/java.lang
data/language-specs/javascript.lang
data/language-specs/json.lang
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]