Adding back user_config
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
# . CONFIG.sh
|
||||
|
||||
# set -o xtrace ## To debug scripts
|
||||
# set -o errexit ## To exit on error
|
||||
# set -o errunset ## To exit if a variable is referenced but not set
|
||||
|
||||
|
||||
function main() {
|
||||
call_path=`pwd`
|
||||
|
||||
files=()
|
||||
for f in "$@"; do
|
||||
target=$(readlink -f "${f}")
|
||||
i="${#files[@]}"
|
||||
size=$(($i + 1))
|
||||
files[$size]="${target}"
|
||||
done
|
||||
|
||||
cd "/opt/"
|
||||
python /opt/newton.zip "${files[@]}"
|
||||
}
|
||||
main "$@";
|
|
@ -0,0 +1,388 @@
|
|||
<?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>
|
||||
<property name="suggested-suffix">.c</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="included-relative-file" name="Included Relative File" map-to="c:included-file"/>
|
||||
<style id="char" name="Character" map-to="def:character"/>
|
||||
<style id="keyword" name="Keyword" map-to="def:keyword"/>
|
||||
<style id="type-keyword" name="Type Keyword" map-to="c: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="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"/>
|
||||
<style id="boolean" name="Boolean value" map-to="def:boolean"/>
|
||||
<style id="nullptr" name="Null Pointer Value" map-to="def:special-constant"/>
|
||||
<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"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<!--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
|
||||
u[0-9A-Fa-f]{4} | # 'u' followed by 4 hex digits
|
||||
U[0-9A-Fa-f]{8} # 'U' followed by 8 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*
|
||||
(<.*?>)
|
||||
</match>
|
||||
<include>
|
||||
<context id="included-file" sub-pattern="2" style-ref="included-file" class="path"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="include-relative" style-ref="preprocessor">
|
||||
<match extended="true">
|
||||
\%{preproc-start}
|
||||
(include|import)\s*
|
||||
(".*?")
|
||||
</match>
|
||||
<include>
|
||||
<context id="included-relative-file" sub-pattern="2" style-ref="included-relative-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(n?def)?|endif|line|warning|embed)
|
||||
\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|u8|u|U)?"</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|u8|u|U)?'(\%{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">
|
||||
(?<![\w\.])
|
||||
((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]+)? |
|
||||
([0-9]+[Ee][+-]?[0-9]+) |
|
||||
(0[xX][a-fA-F0-9]*\.?[a-fA-F0-9]*[pP][+-]?[0-9]+))
|
||||
[fFlL]?
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="hexadecimal" style-ref="hexadecimal">
|
||||
<match extended="true">
|
||||
(?<![\w\.])
|
||||
0[xX][a-fA-F0-9]+[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="invalid-hexadecimal" style-ref="error">
|
||||
<match extended="true">
|
||||
(?<![\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">
|
||||
(?<![\w\.])
|
||||
0[0-7]+[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="invalid-octal" style-ref="error">
|
||||
<match extended="true">
|
||||
(?<![\w\.])
|
||||
0[0-7]*[89][0-9]*[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="binary" style-ref="binary">
|
||||
<match extended="true">
|
||||
(?<![\w\.])
|
||||
0[bB][01]+[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="invalid-binary" style-ref="error">
|
||||
<match extended="true">
|
||||
(?<![\w\.])
|
||||
0[bB][01]*[2-9][a-zA-Z0-9]*[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="decimal" style-ref="decimal">
|
||||
<match extended="true">
|
||||
(?<![\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>constexpr</keyword>
|
||||
<keyword>continue</keyword>
|
||||
<keyword>default</keyword>
|
||||
<keyword>do</keyword>
|
||||
<keyword>else</keyword>
|
||||
<keyword>for</keyword>
|
||||
<keyword>fortran</keyword>
|
||||
<keyword>goto</keyword>
|
||||
<keyword>if</keyword>
|
||||
<keyword>return</keyword>
|
||||
<keyword>switch</keyword>
|
||||
<keyword>while</keyword>
|
||||
</context>
|
||||
|
||||
<context id="type-keywords" style-ref="type-keyword">
|
||||
<keyword>enum</keyword>
|
||||
<keyword>struct</keyword>
|
||||
<keyword>typedef</keyword>
|
||||
<keyword>union</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>(_B|b)ool</keyword>
|
||||
<keyword>_Complex</keyword>
|
||||
<keyword>_Imaginary</keyword>
|
||||
<keyword>char</keyword>
|
||||
<keyword>double</keyword>
|
||||
<keyword>float</keyword>
|
||||
<keyword>int</keyword>
|
||||
<keyword>long</keyword>
|
||||
<keyword>short</keyword>
|
||||
<keyword>signed</keyword>
|
||||
<keyword>unsigned</keyword>
|
||||
<keyword>void</keyword>
|
||||
<keyword>[a-z_][0-9a-z_]+(_t|_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="nullptr" style-ref="nullptr">
|
||||
<keyword>nullptr</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>__DATE__</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="method-calls"/>
|
||||
<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="include-relative"/>
|
||||
<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="binary"/>
|
||||
<context ref="invalid-binary"/>
|
||||
<context ref="decimal"/>
|
||||
<context ref="keywords"/>
|
||||
<context ref="type-keywords"/>
|
||||
<context ref="operators"/>
|
||||
<context ref="types"/>
|
||||
<context ref="storage-class"/>
|
||||
<context ref="boolean"/>
|
||||
<context ref="nullptr"/>
|
||||
<context ref="common-defines"/>
|
||||
<context ref="standard-streams"/>
|
||||
<context ref="signals"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
</definitions>
|
||||
</language>
|
|
@ -0,0 +1,132 @@
|
|||
<?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>
|
||||
<property name="suggested-suffix">.cc</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"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<!-- C++-specific stuff (i.e. stuff which is not C) -->
|
||||
<context id="cpp-proper">
|
||||
<include>
|
||||
<context ref="method-calls"/>
|
||||
|
||||
<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>and</keyword>
|
||||
<keyword>and_eq</keyword>
|
||||
<keyword>bitand</keyword>
|
||||
<keyword>bitor</keyword>
|
||||
<keyword>catch</keyword>
|
||||
<keyword>compl</keyword>
|
||||
<keyword>concept</keyword>
|
||||
<keyword>consteval</keyword>
|
||||
<keyword>constinit</keyword>
|
||||
<keyword>const_cast</keyword>
|
||||
<keyword>co_await</keyword>
|
||||
<keyword>co_return</keyword>
|
||||
<keyword>co_yield</keyword>
|
||||
<keyword>decltype</keyword>
|
||||
<keyword>delete</keyword>
|
||||
<keyword>dynamic_cast</keyword>
|
||||
<keyword>export</keyword>
|
||||
<keyword>final</keyword>
|
||||
<keyword>friend</keyword>
|
||||
<keyword>import</keyword>
|
||||
<keyword>module</keyword>
|
||||
<keyword>new</keyword>
|
||||
<keyword>noexcept</keyword>
|
||||
<keyword>not</keyword>
|
||||
<keyword>not_eq</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>requires</keyword>
|
||||
<keyword>static_cast</keyword>
|
||||
<keyword>this</keyword>
|
||||
<keyword>thread_local</keyword>
|
||||
<keyword>throw</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>explicit</keyword>
|
||||
<keyword>mutable</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>
|
|
@ -0,0 +1,297 @@
|
|||
<?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>
|
||||
<property name="suggested-suffix">.cs</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"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</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="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>record</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>init</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">
|
||||
(?<![\w\.])
|
||||
[0-9]+[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="hexadecimal" style-ref="hexadecimal">
|
||||
<match extended="true">
|
||||
(?<![\w\.])
|
||||
0[xX][a-fA-F0-9]+[uUlL]*
|
||||
(?![\w\.])
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="real" style-ref="real">
|
||||
<match extended="true">
|
||||
(?<![\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="method-calls"/>
|
||||
<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>
|
|
@ -0,0 +1,315 @@
|
|||
<?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" />
|
||||
<style id="method-calls" name="Method Calls"/>
|
||||
|
||||
<!-- Type group -->
|
||||
<!--A primitive data type: int, long, char, etc. -->
|
||||
<style id="type" name="Data type"/>
|
||||
|
||||
<!-- Markup group -->
|
||||
<!-- Emphasis, usually rendered with italics -->
|
||||
<style id="emphasis" name="Emphasis"/>
|
||||
<!-- Strong emphasis, usually rendered as bold -->
|
||||
<style id="strong-emphasis" name="Strong emphasis"/>
|
||||
<!-- Inline code, usually rendered with a monospace font -->
|
||||
<style id="inline-code" name="Inline code"/>
|
||||
<!-- Insertion, usually rendered with an underline -->
|
||||
<style id="insertion" name="Insertion"/>
|
||||
<!-- Deletion, usually rendered with a strikethrough -->
|
||||
<style id="deletion" name="Deletion"/>
|
||||
<!-- Link text, usually rendered with an underline -->
|
||||
<style id="link-text" name="Link text"/>
|
||||
<!-- Link symbol, a part of the markup syntax for links -->
|
||||
<style id="link-symbol" name="Link symbol"/>
|
||||
<!-- Link destination, not usually visible -->
|
||||
<style id="link-destination" name="Link destination"/>
|
||||
<!-- Heading, usually rendered in a larger font (using h1, h2, etc. tags) -->
|
||||
<style id="heading" name="Heading"/>
|
||||
<!-- Thematic break, usually rendered as a horizontal rule (line) -->
|
||||
<style id="thematic-break" name="Thematic break"/>
|
||||
<!-- Preformatted section, usually rendered with a monospace font -->
|
||||
<style id="preformatted-section" name="Preformatted section"/>
|
||||
<!-- List marker, usually rendered as a bullet or number -->
|
||||
<style id="list-marker" name="List marker"/>
|
||||
|
||||
<!-- 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.)"/>
|
||||
<!-- Internet address: URLs, email addresses, etc. -->
|
||||
<style id="net-address" name="Net address (URL, email address, etc.)"/>
|
||||
<!-- Deprecated: will be removed in a future version -->
|
||||
<style id="underlined" name="Underlined (DEPRECATED)" map-to="def:net-address"/>
|
||||
<!-- 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>
|
||||
|
||||
<!-- Unicode lexical classes for identifiers
|
||||
|
||||
Descriptions from:
|
||||
https://www.unicode.org/reports/tr31/#Table_Lexical_Classes_for_Identifiers
|
||||
Code point data from:
|
||||
https://www.unicode.org/Public/13.0.0/ucd/DerivedCoreProperties.txt
|
||||
https://www.unicode.org/Public/13.0.0/ucd/PropList.txt
|
||||
|
||||
U+2E2F VERTICAL TILDE is the only applicable code point in
|
||||
Pattern_Syntax (and Pattern_White_Space) to subtract to form
|
||||
ID_Start and ID_Continue
|
||||
-->
|
||||
<define-regex id="unicode-id-start" extended="true">
|
||||
(?!\x{2E2F}) [\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}]
|
||||
</define-regex>
|
||||
<define-regex id="unicode-id-continue" extended="true">
|
||||
(?!\x{2E2F}) [\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}]
|
||||
</define-regex>
|
||||
<define-regex id="unicode-xid-start" extended="true">
|
||||
(?![\x{037A}\x{0E33}\x{0EB3}\x{309B}-\x{309C}\x{FC5E}-\x{FC63}\x{FDFA}-\x{FDFB}\x{FE70}\x{FE72}\x{FE74}\x{FE76}\x{FE78}\x{FE7A}\x{FE7C}\x{FE7E}\x{FF9E}-\x{FF9F}])
|
||||
\%{unicode-id-start}
|
||||
</define-regex>
|
||||
<define-regex id="unicode-xid-continue" extended="true">
|
||||
(?![\x{037A}\x{309B}-\x{309C}\x{FC5E}-\x{FC63}\x{FDFA}-\x{FDFB}\x{FE70}\x{FE72}\x{FE74}\x{FE76}\x{FE78}\x{FE7A}\x{FE7C}\x{FE7E}])
|
||||
\%{unicode-id-continue}
|
||||
</define-regex>
|
||||
|
||||
<define-regex id="decimal" extended="true">
|
||||
(?<![\w\.]) ([1-9][0-9]* | 0) (?![\w\.])
|
||||
</define-regex>
|
||||
<define-regex id="octal" extended="true">
|
||||
(?<![\w\.]) 0 [0-7]+ (?![\w\.])
|
||||
</define-regex>
|
||||
<define-regex id="hexadecimal" extended="true">
|
||||
(?<![\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
|
||||
[^\ \\]* [^\ \\.:;,?><)] # 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="net-address" class="no-spell-check">
|
||||
<match>\%{net-address}</match>
|
||||
</context>
|
||||
<context id="email-address" extend-parent="false" style-ref="net-address" 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>
|
|
@ -0,0 +1,277 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2018 Jack R Linhart <iatenine@gmail.com>
|
||||
Copyright (C) 2014 Matthias F. Brandstetter <pub@mabra.me>
|
||||
|
||||
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="gdscript" name="GDScript" version="2.0" _section="Script">
|
||||
<metadata>
|
||||
<property name="mimetypes">text/x-gdscript</property>
|
||||
<property name="globs">*.gd</property>
|
||||
<property name="line-comment-start">#</property>
|
||||
</metadata>
|
||||
|
||||
<styles>
|
||||
<style id="module-handler" name="Module Handler" map-to="def:preprocessor"/>
|
||||
<style id="keyword" name="Keyword" map-to="def:keyword"/>
|
||||
<style id="multiline-string" name="Multiline string" map-to="def:string"/>
|
||||
<style id="string" name="String" map-to="def:string"/>
|
||||
<style id="escaped-char" name="Escaped Character" map-to="def:special-char"/>
|
||||
<style id="format" name="Format" map-to="def:character"/>
|
||||
<style id="string-conversion" name="string-conversion"/>
|
||||
<style id="special-variable" name="Special Variable" map-to="def:identifier"/>
|
||||
<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="base-n-integer" name="Base-N number" map-to="def:base-n-integer"/>
|
||||
<style id="complex" name="Complex number" map-to="def:complex"/>
|
||||
<style id="builtin-constant" name="Builtin Constant" map-to="def:special-constant"/>
|
||||
<style id="builtin-object" name="Builtin Object" map-to="def:type"/>
|
||||
<style id="builtin-function" name="Builtin Function" map-to="def:builtin"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<define-regex id="identifier">[_a-zA-Z][_a-zA-Z0-9]*</define-regex>
|
||||
<define-regex id="number">[1-9][0-9]*</define-regex>
|
||||
|
||||
<context id="format" style-ref="format" extend-parent="false">
|
||||
<match extended="true">
|
||||
% # leading % sign
|
||||
\(\%{identifier}\)? # mapping key
|
||||
[#0\-\ \+]* # conversion flags
|
||||
(\-?\%{number}|\*)? # minimum field width
|
||||
(\.(\-?\%{number}|\*))? # precision
|
||||
(hlL)? # length modifier
|
||||
[diouxXeEfFgGcrs%] # conversion type
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<!-- http://docs.python.org/ref/strings.html -->
|
||||
<context id="escaped-char" style-ref="escaped-char" extend-parent="true">
|
||||
<match 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
|
||||
)
|
||||
</match>
|
||||
</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="format"/>
|
||||
<context ref="escaped-char"/>
|
||||
<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="format"/>
|
||||
<context ref="escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="gdscript" class="no-spell-check">
|
||||
<include>
|
||||
<context ref="method-calls"/>
|
||||
|
||||
<context ref="def:shebang"/>
|
||||
<context ref="def:shell-like-comment"/>
|
||||
|
||||
<context ref="double-quoted-string"/>
|
||||
<context ref="single-quoted-string"/>
|
||||
|
||||
<context id="special-variables" style-ref="special-variable">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>_init</keyword>
|
||||
<keyword>_ready</keyword>
|
||||
</context>
|
||||
|
||||
<context id="boolean" style-ref="boolean">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>false</keyword>
|
||||
<keyword>true</keyword>
|
||||
</context>
|
||||
|
||||
<define-regex id="float" extended="true">
|
||||
( (\d+)?\.\d+ | \d+\. ) |
|
||||
( (\d+|(\d+)?\.\d+|\d+\.)[eE][+-]?\d+ )
|
||||
</define-regex>
|
||||
|
||||
<context id="complex" style-ref="complex">
|
||||
<match>(?<![\w\.])(\%{float}|\d+)[jJ]\b</match>
|
||||
</context>
|
||||
|
||||
<context id="float" style-ref="floating-point">
|
||||
<match>(?<![\w\.])\%{float}(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="decimal" style-ref="decimal">
|
||||
<match>(?<![\w\.])([1-9][0-9]*|0)[lL]?(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="octal" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[0-7]+[lL]?(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="hex" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[xX][0-9A-Fa-f]+[lL]?(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="module-handler" style-ref="module-handler">
|
||||
<keyword>extends</keyword>
|
||||
<keyword>preload</keyword>
|
||||
</context>
|
||||
|
||||
<context id="builtin-constants" style-ref="builtin-constant">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>null</keyword>
|
||||
</context>
|
||||
|
||||
<context id="keyword" style-ref="keyword">
|
||||
<keyword>and</keyword>
|
||||
<keyword>assert</keyword>
|
||||
<keyword>break</keyword>
|
||||
<keyword>breakpoint</keyword>
|
||||
<keyword>class</keyword>
|
||||
<keyword>const</keyword>
|
||||
<keyword>continue</keyword>
|
||||
<keyword>elif</keyword>
|
||||
<keyword>else</keyword>
|
||||
<keyword>enum</keyword>
|
||||
<keyword>export</keyword>
|
||||
<keyword>extends</keyword>
|
||||
<keyword>false</keyword>
|
||||
<keyword>float</keyword>
|
||||
<keyword>for</keyword>
|
||||
<keyword>func</keyword>
|
||||
<keyword>if</keyword>
|
||||
<keyword>in</keyword>
|
||||
<keyword>int</keyword>
|
||||
<keyword>not</keyword>
|
||||
<keyword>null</keyword>
|
||||
<keyword>onready</keyword>
|
||||
<keyword>or</keyword>
|
||||
<keyword>pass</keyword>
|
||||
<keyword>return</keyword>
|
||||
<keyword>self</keyword>
|
||||
<keyword>setget</keyword>
|
||||
<keyword>signal</keyword>
|
||||
<keyword>static</keyword>
|
||||
<keyword>tool</keyword>
|
||||
<keyword>true</keyword>
|
||||
<keyword>var</keyword>
|
||||
<keyword>while</keyword>
|
||||
<keyword>yield</keyword>
|
||||
</context>
|
||||
|
||||
<context id="builtin-objects" style-ref="builtin-object">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>Vector2</keyword>
|
||||
<keyword>Size2</keyword>
|
||||
<keyword>Rect2</keyword>
|
||||
<keyword>Vector3</keyword>
|
||||
<keyword>Matrix32</keyword>
|
||||
<keyword>Plane</keyword>
|
||||
<keyword>Quat</keyword>
|
||||
<keyword>AABB</keyword>
|
||||
<keyword>Box3</keyword>
|
||||
<keyword>Matrix3</keyword>
|
||||
<keyword>Transform</keyword>
|
||||
<keyword>Color</keyword>
|
||||
<keyword>Image</keyword>
|
||||
<keyword>NodePath</keyword>
|
||||
<keyword>RID</keyword>
|
||||
<keyword>Object</keyword>
|
||||
<keyword>InputEvent</keyword>
|
||||
</context>
|
||||
|
||||
<context id="builtin-function" style-ref="builtin-function">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>print</keyword>
|
||||
<keyword>sin</keyword>
|
||||
<keyword>cos</keyword>
|
||||
<keyword>tan</keyword>
|
||||
<keyword>sinh</keyword>
|
||||
<keyword>cosh</keyword>
|
||||
<keyword>tanh</keyword>
|
||||
<keyword>asin</keyword>
|
||||
<keyword>acos</keyword>
|
||||
<keyword>atan</keyword>
|
||||
<keyword>atan2</keyword>
|
||||
<keyword>sqrt</keyword>
|
||||
<keyword>fmod</keyword>
|
||||
<keyword>fposmod</keyword>
|
||||
<keyword>floor</keyword>
|
||||
<keyword>ceil</keyword>
|
||||
<keyword>round</keyword>
|
||||
<keyword>abs</keyword>
|
||||
<keyword>sign</keyword>
|
||||
<keyword>pow</keyword>
|
||||
<keyword>log</keyword>
|
||||
<keyword>exp</keyword>
|
||||
<keyword>isnan</keyword>
|
||||
<keyword>isinf</keyword>
|
||||
<keyword>ease</keyword>
|
||||
<keyword>decimals</keyword>
|
||||
<keyword>stepify</keyword>
|
||||
<keyword>lerp</keyword>
|
||||
<keyword>dectime</keyword>
|
||||
<keyword>randomize</keyword>
|
||||
<keyword>rand</keyword>
|
||||
<keyword>randi</keyword>
|
||||
<keyword>randf</keyword>
|
||||
<keyword>rand_range</keyword>
|
||||
<keyword>rand_seed</keyword>
|
||||
<keyword>deg2rad</keyword>
|
||||
<keyword>rad2deg</keyword>
|
||||
<keyword>linear2db</keyword>
|
||||
<keyword>db2linear</keyword>
|
||||
<keyword>max</keyword>
|
||||
<keyword>min</keyword>
|
||||
<keyword>clamp</keyword>
|
||||
<keyword>nearest_po2</keyword>
|
||||
<keyword>weakref</keyword>
|
||||
<keyword>convert</keyword>
|
||||
<keyword>str</keyword>
|
||||
<keyword>print</keyword>
|
||||
<keyword>printt</keyword>
|
||||
<keyword>printerr</keyword>
|
||||
<keyword>printraw</keyword>
|
||||
<keyword>range</keyword>
|
||||
<keyword>load</keyword>
|
||||
<keyword>inst2dict</keyword>
|
||||
<keyword>dict2inst</keyword>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
</definitions>
|
||||
</language>
|
|
@ -0,0 +1,259 @@
|
|||
<?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) 2006 Jeff Walden <jwalden@mit.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="java" name="Java" version="2.0" _section="Source">
|
||||
<metadata>
|
||||
<property name="mimetypes">text/x-java</property>
|
||||
<property name="globs">*.java</property>
|
||||
<property name="line-comment-start">//</property>
|
||||
<property name="block-comment-start">/*</property>
|
||||
<property name="block-comment-end">*/</property>
|
||||
<property name="suggested-suffix">.java</property>
|
||||
</metadata>
|
||||
|
||||
<styles>
|
||||
<style id="comment" name="Comment" map-to="def:comment"/>
|
||||
<style id="doc-comment" name="Documentation comment" map-to="def:doc-comment"/>
|
||||
<style id="doc-comment-element" name="Documentation comment element" map-to="def:doc-comment-element"/>
|
||||
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
|
||||
<style id="multiline-string" name="Multiline string" map-to="def:string"/>
|
||||
<style id="string" name="String" map-to="def:string"/>
|
||||
<style id="char" name="Character" map-to="def:character"/>
|
||||
<style id="external" name="External" map-to="def:preprocessor"/>
|
||||
<style id="annotation" name="Annotation" 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="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 number" map-to="def:base-n-integer"/>
|
||||
<style id="reserved" name="Future Reserved Keywords" map-to="def:reserved"/>
|
||||
<style id="type" name="Data Type" map-to="def:type"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<define-regex id="escaped-character" extended="true">
|
||||
\\( # leading backslash
|
||||
[\\\"\'nrbtf] | # escaped character
|
||||
[0-7]{1,3} | # latin encoded char
|
||||
u[0-9a-fA-F]{4} # unicode char
|
||||
)
|
||||
</define-regex>
|
||||
|
||||
<context id="doc-comment" style-ref="doc-comment" class-disabled="no-spell-check" class="comment">
|
||||
<start>/\*\*(?![\*/])</start>
|
||||
<end>\*/</end>
|
||||
<include>
|
||||
<context ref="def:in-comment"/>
|
||||
<context id="doc-comment-element" style-ref="doc-comment-element">
|
||||
<match>\B@\w+</match>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<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="escaped-character" style-ref="escaped-character">
|
||||
<match>\%{escaped-character}</match>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>"""\s*$</start>
|
||||
<end>"""</end>
|
||||
<include>
|
||||
<context style-ref="escaped-character">
|
||||
<match>\%{escaped-character}</match>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="char" style-ref="char">
|
||||
<match>'((\%{escaped-character})|.)'</match>
|
||||
<include>
|
||||
<context sub-pattern="2" style-ref="escaped-character"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="annotation" style-ref="annotation">
|
||||
<match>\B@\w*</match>
|
||||
</context>
|
||||
|
||||
<context id="externals" style-ref="external">
|
||||
<keyword>exports</keyword>
|
||||
<keyword>import</keyword>
|
||||
<keyword>module</keyword>
|
||||
<keyword>open</keyword>
|
||||
<keyword>opens</keyword>
|
||||
<keyword>package</keyword>
|
||||
<keyword>provides</keyword>
|
||||
<keyword>requires</keyword>
|
||||
<keyword>to</keyword>
|
||||
<keyword>transitive</keyword>
|
||||
<keyword>uses</keyword>
|
||||
<keyword>with</keyword>
|
||||
</context>
|
||||
|
||||
<context id="declarations" style-ref="declaration">
|
||||
<keyword>class</keyword>
|
||||
<keyword>enum</keyword>
|
||||
<keyword>extends</keyword>
|
||||
<keyword>implements</keyword>
|
||||
<keyword>instanceof</keyword>
|
||||
<keyword>interface</keyword>
|
||||
<keyword>native</keyword>
|
||||
<keyword>non-sealed</keyword>
|
||||
<keyword>permits</keyword>
|
||||
<keyword>record</keyword>
|
||||
<keyword>sealed</keyword>
|
||||
<keyword>throws</keyword>
|
||||
</context>
|
||||
|
||||
<context id="primitive-types" style-ref="type">
|
||||
<keyword>boolean</keyword>
|
||||
<keyword>byte</keyword>
|
||||
<keyword>char</keyword>
|
||||
<keyword>double</keyword>
|
||||
<keyword>float</keyword>
|
||||
<keyword>int</keyword>
|
||||
<keyword>long</keyword>
|
||||
<keyword>short</keyword>
|
||||
<keyword>var</keyword>
|
||||
<keyword>void</keyword>
|
||||
</context>
|
||||
|
||||
<context id="storage-class" style-ref="storage-class">
|
||||
<keyword>abstract</keyword>
|
||||
<keyword>final</keyword>
|
||||
<keyword>static</keyword>
|
||||
<keyword>strictfp</keyword>
|
||||
<keyword>synchronized</keyword>
|
||||
<keyword>transient</keyword>
|
||||
<keyword>volatile</keyword>
|
||||
</context>
|
||||
|
||||
<context id="scope-declarations" style-ref="scope-declaration">
|
||||
<keyword>private</keyword>
|
||||
<keyword>protected</keyword>
|
||||
<keyword>public</keyword>
|
||||
</context>
|
||||
|
||||
<context id="flow" style-ref="keyword">
|
||||
<keyword>assert</keyword>
|
||||
<keyword>break</keyword>
|
||||
<keyword>case</keyword>
|
||||
<keyword>catch</keyword>
|
||||
<keyword>continue</keyword>
|
||||
<keyword>default</keyword>
|
||||
<keyword>do</keyword>
|
||||
<keyword>else</keyword>
|
||||
<keyword>finally</keyword>
|
||||
<keyword>for</keyword>
|
||||
<keyword>if</keyword>
|
||||
<keyword>return</keyword>
|
||||
<keyword>throw</keyword>
|
||||
<keyword>switch</keyword>
|
||||
<keyword>try</keyword>
|
||||
<keyword>while</keyword>
|
||||
<keyword>yield</keyword>
|
||||
</context>
|
||||
|
||||
<context id="memory" style-ref="keyword">
|
||||
<keyword>new</keyword>
|
||||
<keyword>super</keyword>
|
||||
<keyword>this</keyword>
|
||||
</context>
|
||||
|
||||
<context id="future-reserved-words" style-ref="reserved">
|
||||
<keyword>const</keyword>
|
||||
<keyword>goto</keyword>
|
||||
<keyword>_</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="floating-point" style-ref="floating-point">
|
||||
<match extended="true" case-sensitive="false">
|
||||
\b(
|
||||
\d+[fd] |
|
||||
((\d*\.\d+|\d+\.)(e[-+]?\d+)? |
|
||||
\d+e[-+]?\d+)[fd]?
|
||||
)
|
||||
</match>
|
||||
</context>
|
||||
<context id="base-n-integer" style-ref="base-n-integer">
|
||||
<match case-sensitive="false">\b(0x[\da-f]+|0[0-7]+)l?</match>
|
||||
</context>
|
||||
<context id="decimal" style-ref="decimal">
|
||||
<match case-sensitive="false">\b([1-9]\d*|0)l?</match>
|
||||
</context>
|
||||
|
||||
<context id="java" class="no-spell-check">
|
||||
<include>
|
||||
<context ref="method-calls"/>
|
||||
<context ref="doc-comment"/>
|
||||
<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"/>
|
||||
<context ref="multiline-string"/>
|
||||
<context ref="string"/>
|
||||
<context ref="char"/>
|
||||
<context ref="annotation"/>
|
||||
<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="floating-point"/>
|
||||
<context ref="base-n-integer"/>
|
||||
<context ref="decimal"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
</definitions>
|
||||
</language>
|
|
@ -0,0 +1,398 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file is part of GtkSourceView
|
||||
|
||||
Author: Adam Dingle
|
||||
Copyright (C) 2017 Adam Dingle <adam@medovina.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="kotlin" name="Kotlin" version="2.0" _section="Source">
|
||||
|
||||
<metadata>
|
||||
<property name="mimetypes">text/x-kotlin</property>
|
||||
<property name="globs">*.kt;*.kts</property>
|
||||
<property name="line-comment-start">//</property>
|
||||
<property name="block-comment-start">/*</property>
|
||||
<property name="block-comment-end">*/</property>
|
||||
</metadata>
|
||||
|
||||
<styles>
|
||||
<style id="builtin" name="Builtin Value" map-to="def:builtin"/>
|
||||
<style id="comment" name="Comment" map-to="def:comment"/>
|
||||
<style id="declaration" name="Declaration" map-to="def:type"/>
|
||||
<style id="default" name="Default"/>
|
||||
<style id="error" name="Error" map-to="def:error"/>
|
||||
<style id="escaped-character" name="Escaped Character" map-to="def:special-char"/>
|
||||
<style id="external" name="External" map-to="def:preprocessor"/>
|
||||
<style id="identifier" name="Identifier" map-to="def:identifier"/>
|
||||
<style id="interpolated" name="Interpolated Expression" map-to="def:identifier"/>
|
||||
<style id="keyword" name="Keyword" map-to="def:keyword"/>
|
||||
<style id="modifier" name="Modifier" map-to="def:type"/>
|
||||
<style id="number" name="Number" map-to="def:decimal"/>
|
||||
<style id="operator" name="Operator" map-to="def:operator"/>
|
||||
<style id="special" name="Special Constant" map-to="def:special-constant"/>
|
||||
<style id="string" name="String" map-to="def:string"/>
|
||||
<style id="type" name="Data Type" map-to="def:identifier"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<define-regex id="simple-name">[a-zA-Z_$][a-zA-Z_$0-9]*</define-regex>
|
||||
|
||||
<define-regex id="compound-name">\%{simple-name}(\.\%{simple-name})*</define-regex>
|
||||
|
||||
<define-regex id="annotation-target" extended="true">
|
||||
field|file|property|get|set|receiver|param|setparam|delegate
|
||||
</define-regex>
|
||||
|
||||
<context id="annotation" style-ref="special">
|
||||
<match extended="true">
|
||||
@(\%{annotation-target}:)?
|
||||
( \%{compound-name} | \[ (\%{compound-name} \s*)+ \] )
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="block-comment" style-ref="comment">
|
||||
<start>/\*</start>
|
||||
<end>\*/</end>
|
||||
<include>
|
||||
<context ref="def:in-comment"/>
|
||||
<context ref="block-comment"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="builtin" style-ref="builtin">
|
||||
<keyword>it</keyword>
|
||||
<keyword>super</keyword>
|
||||
<keyword>this@?</keyword>
|
||||
</context>
|
||||
|
||||
<define-regex id="escaped-character" extended="true">
|
||||
\\( # leading backslash
|
||||
[\\\"\'nrbt$] | # escaped character
|
||||
u[0-9a-fA-F]{4} # unicode char
|
||||
)
|
||||
</define-regex>
|
||||
|
||||
<context id="character" style-ref="special">
|
||||
<match>'(\%{escaped-character}|.)'</match>
|
||||
</context>
|
||||
|
||||
<context id="character-error" style-ref="error">
|
||||
<match>'(\%{escaped-character}|.)[^\s]+'</match>
|
||||
</context>
|
||||
|
||||
<context id="declaration" style-ref="declaration">
|
||||
<keyword>class</keyword>
|
||||
<keyword>constructor</keyword>
|
||||
<keyword>fun</keyword>
|
||||
<keyword>get</keyword>
|
||||
<keyword>init</keyword>
|
||||
<keyword>interface</keyword>
|
||||
<keyword>object</keyword>
|
||||
<keyword>set</keyword>
|
||||
<keyword>typealias</keyword>
|
||||
<keyword>val</keyword>
|
||||
<keyword>var</keyword>
|
||||
</context>
|
||||
|
||||
<context id="variance-annotation">
|
||||
<match>(<|,) *(in|out)</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="operator" />
|
||||
<context sub-pattern="2" style-ref="modifier" />
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="expression" style-ref="keyword">
|
||||
<keyword>as</keyword>
|
||||
<keyword>break@?</keyword>
|
||||
<keyword>catch</keyword>
|
||||
<keyword>continue@?</keyword>
|
||||
<keyword>do</keyword>
|
||||
<keyword>else</keyword>
|
||||
<keyword>finally</keyword>
|
||||
<keyword>for</keyword>
|
||||
<keyword>if</keyword>
|
||||
<keyword>in</keyword>
|
||||
<keyword>is</keyword>
|
||||
<keyword>return@?</keyword>
|
||||
<keyword>throw</keyword>
|
||||
<keyword>to</keyword>
|
||||
<keyword>try</keyword>
|
||||
<keyword>when</keyword>
|
||||
<keyword>while</keyword>
|
||||
</context>
|
||||
|
||||
<context id="external" style-ref="external">
|
||||
<keyword>import</keyword>
|
||||
<keyword>package</keyword>
|
||||
</context>
|
||||
|
||||
<context id="literal-identifier">
|
||||
<start>`</start>
|
||||
<end>`</end>
|
||||
</context>
|
||||
|
||||
<context id="modifier" style-ref="modifier">
|
||||
<keyword>abstract</keyword>
|
||||
<keyword>annotation</keyword>
|
||||
<keyword>by</keyword>
|
||||
<keyword>companion</keyword>
|
||||
<keyword>const</keyword>
|
||||
<keyword>crossinline</keyword>
|
||||
<keyword>data</keyword>
|
||||
<keyword>enum</keyword>
|
||||
<keyword>external</keyword>
|
||||
<keyword>final</keyword>
|
||||
<keyword>infix</keyword>
|
||||
<keyword>inline</keyword>
|
||||
<keyword>inner</keyword>
|
||||
<keyword>internal</keyword>
|
||||
<keyword>lateinit</keyword>
|
||||
<keyword>noinline</keyword>
|
||||
<keyword>open</keyword>
|
||||
<keyword>operator</keyword>
|
||||
<keyword>override</keyword>
|
||||
<keyword>private</keyword>
|
||||
<keyword>protected</keyword>
|
||||
<keyword>public</keyword>
|
||||
<keyword>reified</keyword>
|
||||
<keyword>sealed</keyword>
|
||||
<keyword>suspend</keyword>
|
||||
<keyword>tailrec</keyword>
|
||||
<keyword>vararg</keyword>
|
||||
<keyword>where</keyword>
|
||||
</context>
|
||||
|
||||
<context id="numeric" style-ref="number">
|
||||
<match extended="true">
|
||||
\b ( 0x [0-9A-Fa-f][0-9A-Fa-f_]* # hex literal
|
||||
| 0b [01][01_]* # binary literal
|
||||
| ([0-9]+[Ee][-]?[0-9]+|
|
||||
([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFdD]?|
|
||||
[0-9]+[FfDd] # floating-point literal
|
||||
| [0-9][0-9_]*L? # integer literal
|
||||
)
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="operator" style-ref="operator">
|
||||
<match>[-+*/%=.!|?@:;,_&<>()\[\]]</match>
|
||||
</context>
|
||||
|
||||
<context id="special" style-ref="special">
|
||||
<keyword>false</keyword>
|
||||
<keyword>true</keyword>
|
||||
<keyword>null</keyword>
|
||||
</context>
|
||||
|
||||
<context id="interpolated-identifier" style-ref="interpolated">
|
||||
<match>\$[a-zA-Z]+</match>
|
||||
</context>
|
||||
|
||||
<context id="interpolated-expression" style-ref="interpolated">
|
||||
<start>\${</start>
|
||||
<end>}</end>
|
||||
<include>
|
||||
<context ref="kotlin"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<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="escaped-character" style-ref="escaped-character">
|
||||
<match>\%{escaped-character}</match>
|
||||
</context>
|
||||
<context ref="interpolated-identifier"/>
|
||||
<context ref="interpolated-expression"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-string" style-ref="string" end-at-line-end="false" class="string" class-disabled="no-spell-check">
|
||||
<start>"""</start>
|
||||
<end>"""</end>
|
||||
<include>
|
||||
<context ref="interpolated-identifier"/>
|
||||
<context ref="interpolated-expression"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="type" style-ref="type">
|
||||
<keyword>dynamic</keyword>
|
||||
|
||||
<!-- kotlin -->
|
||||
<keyword>Annotation</keyword>
|
||||
<keyword>Any</keyword>
|
||||
<keyword>Array</keyword>
|
||||
<keyword>AssertionError</keyword>
|
||||
<keyword>Boolean</keyword>
|
||||
<keyword>BooleanArray</keyword>
|
||||
<keyword>Byte</keyword>
|
||||
<keyword>ByteArray</keyword>
|
||||
<keyword>Char</keyword>
|
||||
<keyword>CharArray</keyword>
|
||||
<keyword>CharSequence</keyword>
|
||||
<keyword>ClassCastException</keyword>
|
||||
<keyword>Comparable</keyword>
|
||||
<keyword>Comparator</keyword>
|
||||
<keyword>ConcurrentModificationException</keyword>
|
||||
<keyword>DeprecationLevel</keyword>
|
||||
<keyword>Double</keyword>
|
||||
<keyword>DoubleArray</keyword>
|
||||
<keyword>Enum</keyword>
|
||||
<keyword>Error</keyword>
|
||||
<keyword>Exception</keyword>
|
||||
<keyword>Float</keyword>
|
||||
<keyword>FloatArray</keyword>
|
||||
<keyword>Function</keyword>
|
||||
<keyword>IllegalArgumentException</keyword>
|
||||
<keyword>IllegalStateException</keyword>
|
||||
<keyword>IndexOutOfBoundsException</keyword>
|
||||
<keyword>Int</keyword>
|
||||
<keyword>IntArray</keyword>
|
||||
<keyword>KotlinVersion</keyword>
|
||||
<keyword>Lazy</keyword>
|
||||
<keyword>LazyThreadSafetyMode</keyword>
|
||||
<keyword>Long</keyword>
|
||||
<keyword>LongArray</keyword>
|
||||
<keyword>NoSuchElementException</keyword>
|
||||
<keyword>NoWhenBranchMatchedException</keyword>
|
||||
<keyword>Nothing</keyword>
|
||||
<keyword>NullPointerException</keyword>
|
||||
<keyword>Number</keyword>
|
||||
<keyword>NumberFormatException</keyword>
|
||||
<keyword>Pair</keyword>
|
||||
<keyword>RuntimeException</keyword>
|
||||
<keyword>Short</keyword>
|
||||
<keyword>ShortArray</keyword>
|
||||
<keyword>String</keyword>
|
||||
<keyword>Throwable</keyword>
|
||||
<keyword>Triple</keyword>
|
||||
<keyword>Unit</keyword>
|
||||
<keyword>UnsupportedOperationException</keyword>
|
||||
<keyword>NotImplementedError</keyword>
|
||||
|
||||
<!-- kotlin.collections -->
|
||||
<keyword>AbstractCollection</keyword>
|
||||
<keyword>AbstractIterator</keyword>
|
||||
<keyword>AbstractList</keyword>
|
||||
<keyword>AbstractMap</keyword>
|
||||
<keyword>AbstractMutableCollection</keyword>
|
||||
<keyword>AbstractMutableList</keyword>
|
||||
<keyword>AbstractMutableMap</keyword>
|
||||
<keyword>AbstractMutableSet</keyword>
|
||||
<keyword>AbstractSet</keyword>
|
||||
<keyword>ArrayList</keyword>
|
||||
<keyword>BooleanIterator</keyword>
|
||||
<keyword>ByteIterator</keyword>
|
||||
<keyword>CharIterator</keyword>
|
||||
<keyword>Collection</keyword>
|
||||
<keyword>DoubleIterator</keyword>
|
||||
<keyword>FloatIterator</keyword>
|
||||
<keyword>Grouping</keyword>
|
||||
<keyword>HashMap</keyword>
|
||||
<keyword>HashSet</keyword>
|
||||
<keyword>IndexedValue</keyword>
|
||||
<keyword>IntIterator</keyword>
|
||||
<keyword>Iterable</keyword>
|
||||
<keyword>Iterator</keyword>
|
||||
<keyword>LinkedHashMap</keyword>
|
||||
<keyword>LinkedHashSet</keyword>
|
||||
<keyword>List</keyword>
|
||||
<keyword>ListIterator</keyword>
|
||||
<keyword>LongIterator</keyword>
|
||||
<keyword>Map</keyword>
|
||||
<keyword>MutableCollection</keyword>
|
||||
<keyword>MutableIterable</keyword>
|
||||
<keyword>MutableIterator</keyword>
|
||||
<keyword>MutableList</keyword>
|
||||
<keyword>MutableListIterator</keyword>
|
||||
<keyword>MutableMap</keyword>
|
||||
<keyword>MutableSet</keyword>
|
||||
<keyword>RandomAccess</keyword>
|
||||
<keyword>Set</keyword>
|
||||
<keyword>ShortIterator</keyword>
|
||||
|
||||
<!-- kotlin.ranges -->
|
||||
<keyword>CharProgression</keyword>
|
||||
<keyword>CharRange</keyword>
|
||||
<keyword>ClosedFloatingPointRange</keyword>
|
||||
<keyword>ClosedRange</keyword>
|
||||
<keyword>IntProgression</keyword>
|
||||
<keyword>IntRange</keyword>
|
||||
<keyword>LongProgression</keyword>
|
||||
<keyword>LongRange</keyword>
|
||||
|
||||
<!-- kotlin.sequences -->
|
||||
<keyword>Sequence</keyword>
|
||||
|
||||
<!-- kotlin.text -->
|
||||
<keyword>Appendable</keyword>
|
||||
<keyword>CharCategory</keyword>
|
||||
<keyword>CharDirectionality</keyword>
|
||||
<keyword>Charsets</keyword>
|
||||
<keyword>MatchGroup</keyword>
|
||||
<keyword>MatchGroupCollection</keyword>
|
||||
<keyword>MatchNamedGroupCollection</keyword>
|
||||
<keyword>MatchResult</keyword>
|
||||
<keyword>Regex</keyword>
|
||||
<keyword>RegexOption</keyword>
|
||||
<keyword>StringBuilder</keyword>
|
||||
<keyword>Typography</keyword>
|
||||
|
||||
</context>
|
||||
|
||||
|
||||
<context id="kotlin" class="no-spell-check">
|
||||
<include>
|
||||
<context ref="method-calls"/>
|
||||
<context ref="def:c-like-comment"/>
|
||||
<context ref="def:c-like-close-comment-outside-comment"/>
|
||||
<context ref="annotation"/>
|
||||
<context ref="block-comment"/>
|
||||
<context ref="builtin"/>
|
||||
<context ref="character"/>
|
||||
<context ref="character-error"/>
|
||||
<context ref="declaration"/>
|
||||
<context ref="variance-annotation"/>
|
||||
<context ref="expression"/>
|
||||
<context ref="external"/>
|
||||
<context ref="literal-identifier"/>
|
||||
<context ref="modifier"/>
|
||||
<context ref="multiline-string"/>
|
||||
<context ref="numeric"/>
|
||||
<context ref="operator"/>
|
||||
<context ref="special"/>
|
||||
<context ref="string"/>
|
||||
<context ref="type"/>
|
||||
</include>
|
||||
</context>
|
||||
</definitions>
|
||||
|
||||
</language>
|
|
@ -0,0 +1,484 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file is part of GtkSourceView
|
||||
|
||||
Copyright (C) 2003 Gustavo Giráldez <gustavo.giraldez@gmx.net>
|
||||
Copyright (C) 2004 Benoît Dejean <TaZForEver@free.fr>
|
||||
Copyright (C) 2006 Steve Frécinaux <nud@apinc.org>
|
||||
Copyright (C) 2012 Stefano Palazzo <stefano-palazzo@ubuntu.com>
|
||||
Copyright (C) 2014 Patryk Zawadzki <patrys@pld-linux.org>
|
||||
Copyright (C) 2014 Sébastien Wilmet <swilmet@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="python" name="Python 2" version="2.0" _section="Script">
|
||||
<metadata>
|
||||
<property name="mimetypes">text/x-python;application/x-python</property>
|
||||
<property name="globs">*.py;*.py2</property>
|
||||
<property name="line-comment-start">#</property>
|
||||
<property name="suggested-suffix">.py2</property>
|
||||
</metadata>
|
||||
|
||||
<styles>
|
||||
<style id="module-handler" name="Module Handler" map-to="def:preprocessor"/>
|
||||
<style id="keyword" name="Keyword" map-to="def:keyword"/>
|
||||
<style id="multiline-string" name="Multiline string" map-to="def:string"/>
|
||||
<style id="string" name="String" map-to="def:string"/>
|
||||
<style id="escaped-char" name="Escaped Character" map-to="def:special-char"/>
|
||||
<style id="format" name="Format" map-to="def:character"/>
|
||||
<style id="string-conversion" name="String Conversion"/>
|
||||
<style id="special-variable" name="Special Variable" map-to="def:identifier"/>
|
||||
<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="base-n-integer" name="Base-N number" map-to="def:base-n-integer"/>
|
||||
<style id="complex" name="Complex number" map-to="def:complex"/>
|
||||
<style id="builtin-constant" name="Builtin Constant" map-to="def:special-constant"/>
|
||||
<style id="builtin-object" name="Builtin Object" map-to="def:type"/>
|
||||
<style id="builtin-function" name="Builtin Function" map-to="def:builtin"/>
|
||||
<style id="function-name" name="Function Name" map-to="def:function"/>
|
||||
<style id="class-name" name="Class Name" map-to="def:function"/>
|
||||
<style id="decorator" name="Decorator" map-to="def:preprocessor"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<define-regex id="identifier">[_a-zA-Z][_a-zA-Z0-9]*</define-regex>
|
||||
<define-regex id="number">[1-9][0-9]*</define-regex>
|
||||
|
||||
<define-regex id="identifier-path" extended="true">
|
||||
(\%{identifier}\.)*\%{identifier}
|
||||
</define-regex>
|
||||
<define-regex id="relative-path" extended="true">
|
||||
(\.*\%{identifier-path}|\.+)
|
||||
</define-regex>
|
||||
|
||||
<!-- http://docs.python.org/lib/typesseq-strings.html -->
|
||||
<context id="format" style-ref="format" extend-parent="false">
|
||||
<match extended="true">
|
||||
% # leading % sign
|
||||
\(\%{identifier}\)? # mapping key
|
||||
[#0\-\ \+]* # conversion flags
|
||||
(\-?\%{number}|\*)? # minimum field width
|
||||
(\.(\-?\%{number}|\*))? # precision
|
||||
(hlL)? # length modifier
|
||||
[diouxXeEfFgGcrs%] # conversion type
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<!-- http://docs.python.org/ref/strings.html -->
|
||||
<context id="escaped-char" style-ref="escaped-char" extend-parent="true">
|
||||
<match extended="true">
|
||||
\\( # leading backslash
|
||||
[\\'"abfnrtv] | # single escaped char
|
||||
N\{[0-9A-Z\ -]+\} | # named unicode character
|
||||
u[0-9A-Fa-f]{4} | # xxxx - character with 16-bit hex value xxxx
|
||||
U[0-9A-Fa-f]{8} | # xxxxxxxx - character with 32-bit hex value xxxxxxxx
|
||||
x[0-9A-Fa-f]{1,2} | # \xhh - character with hex value hh
|
||||
[0-7]{1,3} # \ooo - character with octal value ooo
|
||||
)
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<define-regex id="string-prefix">(u|U)?</define-regex>
|
||||
<define-regex id="raw-string-prefix">(r|ur|R|UR|Ur|uR)</define-regex>
|
||||
|
||||
<context id="multiline-double-quoted-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{string-prefix}"""</start>
|
||||
<end>"""</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-single-quoted-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{string-prefix}'''</start>
|
||||
<end>'''</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="double-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{string-prefix}"</start>
|
||||
<end>"</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char"/>
|
||||
<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>\%{string-prefix}'</start>
|
||||
<end>'</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-double-quoted-raw-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}"""</start>
|
||||
<end>"""</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char" ignore-style="true"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-single-quoted-raw-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}'''</start>
|
||||
<end>'''</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char" ignore-style="true"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="double-quoted-raw-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}"</start>
|
||||
<end>"</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char" ignore-style="true"/>
|
||||
<context ref="def:line-continue" ignore-style="true"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="single-quoted-raw-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}'</start>
|
||||
<end>'</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="escaped-char" ignore-style="true"/>
|
||||
<context ref="def:line-continue" ignore-style="true"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="string-conversion" style-ref="string-conversion" end-at-line-end="true">
|
||||
<start>`</start>
|
||||
<end>`</end>
|
||||
<include>
|
||||
<context ref="python"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="special-variables" style-ref="special-variable">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>self</keyword>
|
||||
<keyword>__name__</keyword>
|
||||
<keyword>__debug__</keyword>
|
||||
</context>
|
||||
|
||||
<context id="boolean" style-ref="boolean">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>False</keyword>
|
||||
<keyword>True</keyword>
|
||||
</context>
|
||||
|
||||
<define-regex id="float" extended="true">
|
||||
( (\d+)?\.\d+ | \d+\. ) |
|
||||
( (\d+|(\d+)?\.\d+|\d+\.)[eE][+-]?\d+ )
|
||||
</define-regex>
|
||||
|
||||
<context id="complex" style-ref="complex">
|
||||
<match>(?<![\w\.])(\%{float}|\d+)[jJ]\b</match>
|
||||
</context>
|
||||
|
||||
<context id="float" style-ref="floating-point">
|
||||
<match>(?<![\w\.])\%{float}(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="decimal" style-ref="decimal">
|
||||
<match>(?<![\w\.])([1-9][0-9]*|0)[lL]?(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="octal" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[0-7]+[lL]?(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="hex" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[xX][0-9A-Fa-f]+[lL]?(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="module-handler-from">
|
||||
<match extended="true">
|
||||
(from)
|
||||
\s+
|
||||
(\%{relative-path})
|
||||
</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="module-handler"/>
|
||||
<context sub-pattern="2" style-ref="class-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="module-handler" style-ref="module-handler">
|
||||
<keyword>import</keyword>
|
||||
<keyword>from</keyword>
|
||||
<keyword>as</keyword>
|
||||
</context>
|
||||
|
||||
<!-- 'def' is also present in the 'keyword' context, but has a lower
|
||||
priority, so 'def' is highlighted even if the function name doesn't match. -->
|
||||
<context id="function-definition">
|
||||
<match extended="true">
|
||||
(def)
|
||||
\s+
|
||||
(\%{identifier})
|
||||
</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="keyword"/>
|
||||
<context sub-pattern="2" style-ref="function-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<!-- 'class' is also present in the 'keyword' context, but has a lower
|
||||
priority, so 'class' is highlighted even if the class name doesn't match. -->
|
||||
<context id="class-definition">
|
||||
<match extended="true">
|
||||
(class)
|
||||
\s+
|
||||
(\%{identifier})
|
||||
</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="keyword"/>
|
||||
<context sub-pattern="2" style-ref="class-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="decorator" style-ref="decorator">
|
||||
<match>@\%{identifier-path}</match>
|
||||
</context>
|
||||
|
||||
<context id="keywords" style-ref="keyword">
|
||||
<keyword>and</keyword>
|
||||
<keyword>assert</keyword>
|
||||
<keyword>break</keyword>
|
||||
<keyword>class</keyword>
|
||||
<keyword>continue</keyword>
|
||||
<keyword>def</keyword>
|
||||
<keyword>del</keyword>
|
||||
<keyword>elif</keyword>
|
||||
<keyword>else</keyword>
|
||||
<keyword>except</keyword>
|
||||
<keyword>finally</keyword>
|
||||
<keyword>for</keyword>
|
||||
<keyword>global</keyword>
|
||||
<keyword>if</keyword>
|
||||
<keyword>in</keyword>
|
||||
<keyword>is</keyword>
|
||||
<keyword>lambda</keyword>
|
||||
<keyword>not</keyword>
|
||||
<keyword>or</keyword>
|
||||
<keyword>pass</keyword>
|
||||
<keyword>raise</keyword>
|
||||
<keyword>return</keyword>
|
||||
<keyword>try</keyword>
|
||||
<keyword>while</keyword>
|
||||
<keyword>with</keyword>
|
||||
<keyword>yield</keyword>
|
||||
</context>
|
||||
|
||||
<context id="2x-only-keywords" style-ref="keyword">
|
||||
<keyword>exec</keyword>
|
||||
<keyword>print</keyword>
|
||||
</context>
|
||||
|
||||
<context id="builtin-constants" style-ref="builtin-constant">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>Ellipsis</keyword>
|
||||
<keyword>None</keyword>
|
||||
<keyword>NotImplemented</keyword>
|
||||
</context>
|
||||
|
||||
<context id="builtin-objects" style-ref="builtin-object">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>ArithmeticError</keyword>
|
||||
<keyword>AssertionError</keyword>
|
||||
<keyword>AttributeError</keyword>
|
||||
<keyword>EnvironmentError</keyword>
|
||||
<keyword>EOFError</keyword>
|
||||
<keyword>Exception</keyword>
|
||||
<keyword>FloatingPointError</keyword>
|
||||
<keyword>ImportError</keyword>
|
||||
<keyword>IndentationError</keyword>
|
||||
<keyword>IndexError</keyword>
|
||||
<keyword>IOError</keyword>
|
||||
<keyword>KeyboardInterrupt</keyword>
|
||||
<keyword>KeyError</keyword>
|
||||
<keyword>LookupError</keyword>
|
||||
<keyword>MemoryError</keyword>
|
||||
<keyword>NameError</keyword>
|
||||
<keyword>NotImplementedError</keyword>
|
||||
<keyword>OSError</keyword>
|
||||
<keyword>OverflowError</keyword>
|
||||
<keyword>ReferenceError</keyword>
|
||||
<keyword>RuntimeError</keyword>
|
||||
<keyword>StandardError</keyword>
|
||||
<keyword>StopIteration</keyword>
|
||||
<keyword>SyntaxError</keyword>
|
||||
<keyword>SystemError</keyword>
|
||||
<keyword>SystemExit</keyword>
|
||||
<keyword>TabError</keyword>
|
||||
<keyword>TypeError</keyword>
|
||||
<keyword>UnboundLocalError</keyword>
|
||||
<keyword>UnicodeDecodeError</keyword>
|
||||
<keyword>UnicodeEncodeError</keyword>
|
||||
<keyword>UnicodeError</keyword>
|
||||
<keyword>UnicodeTranslateError</keyword>
|
||||
<keyword>ValueError</keyword>
|
||||
<keyword>WindowsError</keyword>
|
||||
<keyword>ZeroDivisionError</keyword>
|
||||
<keyword>Warning</keyword>
|
||||
<keyword>UserWarning</keyword>
|
||||
<keyword>DeprecationWarning</keyword>
|
||||
<keyword>PendingDeprecationWarning</keyword>
|
||||
<keyword>SyntaxWarning</keyword>
|
||||
<keyword>OverflowWarning</keyword>
|
||||
<keyword>RuntimeWarning</keyword>
|
||||
<keyword>FutureWarning</keyword>
|
||||
</context>
|
||||
|
||||
<context id="builtin-functions" style-ref="builtin-function">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>__import__</keyword>
|
||||
<keyword>abs</keyword>
|
||||
<keyword>all</keyword>
|
||||
<keyword>any</keyword>
|
||||
<keyword>bin</keyword>
|
||||
<keyword>bool</keyword>
|
||||
<keyword>callable</keyword>
|
||||
<keyword>chr</keyword>
|
||||
<keyword>classmethod</keyword>
|
||||
<keyword>compile</keyword>
|
||||
<keyword>complex</keyword>
|
||||
<keyword>delattr</keyword>
|
||||
<keyword>dict</keyword>
|
||||
<keyword>dir</keyword>
|
||||
<keyword>divmod</keyword>
|
||||
<keyword>enumerate</keyword>
|
||||
<keyword>eval</keyword>
|
||||
<keyword>filter</keyword>
|
||||
<keyword>float</keyword>
|
||||
<keyword>format</keyword>
|
||||
<keyword>frozenset</keyword>
|
||||
<keyword>getattr</keyword>
|
||||
<keyword>globals</keyword>
|
||||
<keyword>hasattr</keyword>
|
||||
<keyword>hash</keyword>
|
||||
<keyword>hex</keyword>
|
||||
<keyword>id</keyword>
|
||||
<keyword>input</keyword>
|
||||
<keyword>int</keyword>
|
||||
<keyword>isinstance</keyword>
|
||||
<keyword>issubclass</keyword>
|
||||
<keyword>iter</keyword>
|
||||
<keyword>len</keyword>
|
||||
<keyword>list</keyword>
|
||||
<keyword>locals</keyword>
|
||||
<keyword>map</keyword>
|
||||
<keyword>max</keyword>
|
||||
<keyword>min</keyword>
|
||||
<keyword>object</keyword>
|
||||
<keyword>oct</keyword>
|
||||
<keyword>open</keyword>
|
||||
<keyword>ord</keyword>
|
||||
<keyword>pow</keyword>
|
||||
<keyword>property</keyword>
|
||||
<keyword>range</keyword>
|
||||
<keyword>repr</keyword>
|
||||
<keyword>reversed</keyword>
|
||||
<keyword>round</keyword>
|
||||
<keyword>setattr</keyword>
|
||||
<keyword>set</keyword>
|
||||
<keyword>slice</keyword>
|
||||
<keyword>sorted</keyword>
|
||||
<keyword>staticmethod</keyword>
|
||||
<keyword>str</keyword>
|
||||
<keyword>sum</keyword>
|
||||
<keyword>super</keyword>
|
||||
<keyword>tuple</keyword>
|
||||
<keyword>type</keyword>
|
||||
<keyword>vars</keyword>
|
||||
<keyword>zip</keyword>
|
||||
</context>
|
||||
|
||||
<context id="2x-only-builtin-functions" style-ref="builtin-function">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>apply</keyword>
|
||||
<keyword>basestring</keyword>
|
||||
<keyword>buffer</keyword>
|
||||
<keyword>cmp</keyword>
|
||||
<keyword>coerce</keyword>
|
||||
<keyword>execfile</keyword>
|
||||
<keyword>file</keyword>
|
||||
<keyword>intern</keyword>
|
||||
<keyword>long</keyword>
|
||||
<keyword>raw_input</keyword>
|
||||
<keyword>reduce</keyword>
|
||||
<keyword>reload</keyword>
|
||||
<keyword>unichr</keyword>
|
||||
<keyword>unicode</keyword>
|
||||
<keyword>xrange</keyword>
|
||||
</context>
|
||||
|
||||
<context id="python" class="no-spell-check">
|
||||
<include>
|
||||
<context ref="method-calls"/>
|
||||
<context ref="def:shebang"/>
|
||||
<context ref="def:shell-like-comment"/>
|
||||
<context ref="multiline-double-quoted-string"/>
|
||||
<context ref="multiline-single-quoted-string"/>
|
||||
<context ref="double-quoted-string"/>
|
||||
<context ref="single-quoted-string"/>
|
||||
<context ref="multiline-double-quoted-raw-string"/>
|
||||
<context ref="multiline-single-quoted-raw-string"/>
|
||||
<context ref="double-quoted-raw-string"/>
|
||||
<context ref="single-quoted-raw-string"/>
|
||||
<context ref="string-conversion"/>
|
||||
<context ref="special-variables"/>
|
||||
<context ref="boolean"/>
|
||||
<context ref="complex"/>
|
||||
<context ref="float"/>
|
||||
<context ref="decimal"/>
|
||||
<context ref="octal"/>
|
||||
<context ref="hex"/>
|
||||
<context ref="module-handler-from"/>
|
||||
<context ref="module-handler"/>
|
||||
<context ref="function-definition"/>
|
||||
<context ref="class-definition"/>
|
||||
<context ref="decorator"/>
|
||||
<context ref="keywords"/>
|
||||
<context ref="2x-only-keywords"/>
|
||||
<context ref="builtin-constants"/>
|
||||
<context ref="builtin-objects"/>
|
||||
<context ref="builtin-functions"/>
|
||||
<context ref="2x-only-builtin-functions"/>
|
||||
</include>
|
||||
</context>
|
||||
</definitions>
|
||||
</language>
|
|
@ -0,0 +1,385 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file is part of GtkSourceView
|
||||
|
||||
Author: Stefano Palazzo <stefano-palazzo@ubuntu.com>
|
||||
Copyright (C) 2012 Stefano Palazzo <stefano-palazzo@ubuntu.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="python3" name="Python" version="2.0" _section="Script">
|
||||
<metadata>
|
||||
<property name="mimetypes">text/x-python;application/x-python;text/x-python3</property>
|
||||
<property name="globs">*.py;*.py3;*.pyi</property>
|
||||
<property name="line-comment-start">#</property>
|
||||
<property name="suggested-suffix">.py</property>
|
||||
</metadata>
|
||||
|
||||
<styles>
|
||||
<style id="module-handler" name="Module Handler" map-to="python:module-handler"/>
|
||||
<style id="keyword" name="Keyword" map-to="python:keyword"/>
|
||||
<style id="multiline-string" name="Multiline string" map-to="python:multiline-string"/>
|
||||
<style id="string" name="String" map-to="python:string"/>
|
||||
<style id="escaped-char" name="Escaped Character" map-to="python:escaped-char"/>
|
||||
<style id="format" name="Format" map-to="python:format"/>
|
||||
<style id="string-conversion" name="String Conversion" map-to="python:string-conversion"/>
|
||||
<style id="special-variable" name="Special Variable" map-to="python:special-variable"/>
|
||||
<style id="boolean" name="Boolean" map-to="python:boolean"/>
|
||||
<style id="floating-point" name="Floating point number" map-to="python:floating-point"/>
|
||||
<style id="decimal" name="Decimal number" map-to="python:decimal"/>
|
||||
<style id="base-n-integer" name="Base-N number" map-to="python:base-n-integer"/>
|
||||
<style id="complex" name="Complex number" map-to="python:complex"/>
|
||||
<style id="builtin-constant" name="Builtin Constant" map-to="python:builtin-constant"/>
|
||||
<style id="builtin-object" name="Builtin Object" map-to="python:builtin-object"/>
|
||||
<style id="builtin-function" name="Builtin Function" map-to="python:builtin-function"/>
|
||||
<style id="function-name" name="Function Name" map-to="python:function-name"/>
|
||||
<style id="class-name" name="Class Name" map-to="python:class-name"/>
|
||||
<style id="decorator" name="Decorator" map-to="python:decorator"/>
|
||||
<style id="f-string-curly-braces" name="f-string curly braces" map-to="def:special-char"/>
|
||||
<style id="method-calls" name="Method Calls" map-to="def:method-calls"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<context id="method-calls" style-ref="method-calls">
|
||||
<match extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<!-- https://docs.python.org/3/reference/lexical_analysis.html#identifiers
|
||||
Underscore (U+005F LOW LINE) is a member of \p{Pc}, and so included in def:unicode-xid-continue
|
||||
-->
|
||||
<define-regex id="identifier" extended="true">
|
||||
(?> (?: _ | \%{def:unicode-xid-start} ) \%{def:unicode-xid-continue}* )
|
||||
</define-regex>
|
||||
<define-regex id="number">[1-9][0-9]*</define-regex>
|
||||
|
||||
<define-regex id="identifier-path" extended="true">
|
||||
(\%{identifier}\.)*\%{identifier}
|
||||
</define-regex>
|
||||
<define-regex id="relative-path" extended="true">
|
||||
(\.*\%{identifier-path}|\.+)
|
||||
</define-regex>
|
||||
<define-regex id="is-method-call" extended="true">
|
||||
(\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
|
||||
</define-regex>
|
||||
|
||||
<!-- http://docs.python.org/lib/typesseq-strings.html -->
|
||||
<context id="format" style-ref="format" extend-parent="false">
|
||||
<match extended="true">
|
||||
% # leading % sign
|
||||
\(\%{identifier}\)? # mapping key
|
||||
[#0\-\ \+]* # conversion flags
|
||||
(\-?\%{number}|\*)? # minimum field width
|
||||
(\.(\-?\%{number}|\*))? # precision
|
||||
(hlL)? # length modifier
|
||||
[diouxXeEfFgGcrs%] # conversion type
|
||||
</match>
|
||||
</context>
|
||||
|
||||
<context id="curly-braces" extend-parent="true">
|
||||
<start>\{</start>
|
||||
<end>\}</end>
|
||||
<include>
|
||||
<context ref="python3"/>
|
||||
<context ref="curly-braces"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="f-string-curly-braces" extend-parent="false" class-disabled="string">
|
||||
<start>(\{)</start>
|
||||
<end>(\})</end>
|
||||
<include>
|
||||
<context ref="python3"/>
|
||||
<context ref="curly-braces"/>
|
||||
<context sub-pattern="1" where="start" style-ref="f-string-curly-braces"/>
|
||||
<context sub-pattern="1" where="end" style-ref="f-string-curly-braces"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="escaped-curly-brace" style-ref="escaped-char" extend-parent="true">
|
||||
<match>\{\{</match>
|
||||
</context>
|
||||
|
||||
<define-regex id="string-prefix">(b|B)?</define-regex>
|
||||
<define-regex id="raw-string-prefix">(r|R|rb|RB|rB|Rb|br|BR|bR|Br)</define-regex>
|
||||
<define-regex id="f-string-prefix">(f|F)</define-regex>
|
||||
|
||||
<context id="multiline-double-quoted-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{string-prefix}"""</start>
|
||||
<end>"""</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-single-quoted-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{string-prefix}'''</start>
|
||||
<end>'''</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="double-quoted-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{string-prefix}"</start>
|
||||
<end>"</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
<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>\%{string-prefix}'</start>
|
||||
<end>'</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
</include>
|
||||
</context>
|
||||
<context id="multiline-double-quoted-f-string" class="string" class-disabled="no-spell-check">
|
||||
<start>(\%{f-string-prefix}""")</start>
|
||||
<end>(""")</end>
|
||||
<include>
|
||||
<context ref="escaped-curly-brace"/>
|
||||
<context ref="f-string-curly-braces"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
<context style-ref="multiline-string" extend-parent="false" class="string">
|
||||
<match>.</match>
|
||||
</context>
|
||||
<context sub-pattern="1" where="start" style-ref="string"/>
|
||||
<context sub-pattern="1" where="end" style-ref="string"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-single-quoted-f-string" class="string" class-disabled="no-spell-check">
|
||||
<start>(\%{f-string-prefix}''')</start>
|
||||
<end>(''')</end>
|
||||
<include>
|
||||
<context ref="escaped-curly-brace"/>
|
||||
<context ref="f-string-curly-braces"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
<context style-ref="multiline-string" extend-parent="false" class="string">
|
||||
<match>.</match>
|
||||
</context>
|
||||
<context sub-pattern="1" where="start" style-ref="string"/>
|
||||
<context sub-pattern="1" where="end" style-ref="string"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="double-quoted-f-string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>(\%{f-string-prefix}")</start>
|
||||
<end>(")</end>
|
||||
<include>
|
||||
<context ref="escaped-curly-brace"/>
|
||||
<context ref="f-string-curly-braces"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
<context style-ref="string" extend-parent="false" class="string">
|
||||
<match>.</match>
|
||||
</context>
|
||||
<context sub-pattern="1" where="start" style-ref="string"/>
|
||||
<context sub-pattern="1" where="end" style-ref="string"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="single-quoted-f-string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>(\%{f-string-prefix}')</start>
|
||||
<end>(')</end>
|
||||
<include>
|
||||
<context ref="escaped-curly-brace"/>
|
||||
<context ref="f-string-curly-braces"/>
|
||||
<context ref="python:escaped-char"/>
|
||||
<context ref="def:line-continue"/>
|
||||
<context style-ref="string" extend-parent="false" class="string">
|
||||
<match>.</match>
|
||||
</context>
|
||||
<context sub-pattern="1" where="start" style-ref="string"/>
|
||||
<context sub-pattern="1" where="end" style-ref="string"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-double-quoted-raw-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}"""</start>
|
||||
<end>"""</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="multiline-single-quoted-raw-string" style-ref="multiline-string" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}'''</start>
|
||||
<end>'''</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="double-quoted-raw-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}"</start>
|
||||
<end>"</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="def:line-continue"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="single-quoted-raw-string" style-ref="string" end-at-line-end="true" class="string" class-disabled="no-spell-check">
|
||||
<start>\%{raw-string-prefix}'</start>
|
||||
<end>'</end>
|
||||
<include>
|
||||
<context ref="format"/>
|
||||
<context ref="def:line-continue"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="module-handler-from">
|
||||
<match extended="true">
|
||||
(from)
|
||||
\s+
|
||||
(\%{relative-path})
|
||||
</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="module-handler"/>
|
||||
<context sub-pattern="2" style-ref="class-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<!-- 'def' is also present in the 'keyword' context, but has a lower
|
||||
priority, so 'def' is highlighted even if the function name doesn't match. -->
|
||||
<context id="function-definition">
|
||||
<match extended="true">
|
||||
(def)
|
||||
\s+
|
||||
(\%{identifier})
|
||||
</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="keyword"/>
|
||||
<context sub-pattern="2" style-ref="function-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<!-- 'class' is also present in the 'keyword' context, but has a lower
|
||||
priority, so 'class' is highlighted even if the class name doesn't match. -->
|
||||
<context id="class-definition">
|
||||
<match extended="true">
|
||||
(class)
|
||||
\s+
|
||||
(\%{identifier})
|
||||
</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="keyword"/>
|
||||
<context sub-pattern="2" style-ref="class-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="decorator" style-ref="decorator">
|
||||
<match>@\%{identifier-path}</match>
|
||||
</context>
|
||||
|
||||
<context id="python3" class="no-spell-check">
|
||||
<include>
|
||||
<context ref="method-calls"/>
|
||||
<context ref="def:shebang"/>
|
||||
<context ref="def:shell-like-comment"/>
|
||||
|
||||
<context ref="multiline-double-quoted-string"/>
|
||||
<context ref="multiline-single-quoted-string"/>
|
||||
<context ref="double-quoted-string"/>
|
||||
<context ref="single-quoted-string"/>
|
||||
|
||||
<context ref="multiline-double-quoted-f-string"/>
|
||||
<context ref="multiline-single-quoted-f-string"/>
|
||||
<context ref="single-quoted-f-string"/>
|
||||
<context ref="double-quoted-f-string"/>
|
||||
|
||||
<context ref="multiline-double-quoted-raw-string"/>
|
||||
<context ref="multiline-single-quoted-raw-string"/>
|
||||
<context ref="double-quoted-raw-string"/>
|
||||
<context ref="single-quoted-raw-string"/>
|
||||
|
||||
<context ref="python:special-variables"/>
|
||||
<context ref="python:boolean"/>
|
||||
|
||||
<context ref="python:complex"/>
|
||||
|
||||
<context ref="python:float"/>
|
||||
|
||||
<context id="decimal" style-ref="decimal">
|
||||
<match>(?<![\w\.])([1-9](_?[0-9])*|0)(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="binary" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[bB](_?[0-1])+(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="octal" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[oO](_?[0-7])+(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context id="hex" style-ref="base-n-integer">
|
||||
<match>(?<![\w\.])0[xX](_?[0-9A-Fa-f])+(?![\w\.])</match>
|
||||
</context>
|
||||
|
||||
<context ref="module-handler-from"/>
|
||||
<context ref="python:module-handler"/>
|
||||
<context ref="function-definition"/>
|
||||
<context ref="class-definition"/>
|
||||
<context ref="decorator"/>
|
||||
|
||||
<context ref="python:keywords"/>
|
||||
<context id="3x-only-keywords" style-ref="keyword">
|
||||
<keyword>async</keyword>
|
||||
<keyword>await</keyword>
|
||||
<keyword>nonlocal</keyword>
|
||||
<keyword>match</keyword>
|
||||
<keyword>case</keyword>
|
||||
</context>
|
||||
|
||||
<context ref="python:builtin-constants"/>
|
||||
<context ref="python:builtin-objects"/>
|
||||
<context id="3x-only-builtin-objects" style-ref="builtin-object">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>ResourceWarning</keyword>
|
||||
</context>
|
||||
|
||||
<context ref="python:builtin-functions"/>
|
||||
<context id="3x-only-builtin-functions" style-ref="builtin-function">
|
||||
<prefix>(?<![\w\.])</prefix>
|
||||
<keyword>ascii</keyword>
|
||||
<keyword>bin</keyword>
|
||||
<keyword>breakpoint</keyword>
|
||||
<keyword>bytearray</keyword>
|
||||
<keyword>bytes</keyword>
|
||||
<keyword>exec</keyword>
|
||||
<keyword>format</keyword>
|
||||
<keyword>memoryview</keyword>
|
||||
<keyword>next</keyword>
|
||||
<keyword>print</keyword>
|
||||
</context>
|
||||
|
||||
</include>
|
||||
</context>
|
||||
|
||||
</definitions>
|
||||
</language>
|
|
@ -0,0 +1,219 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file is part of GtkSourceView
|
||||
|
||||
Authors: Marco Barisione, Emanuele Aina, Paolo Borelli
|
||||
Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
|
||||
Copyright (C) 2005-2007 Emanuele Aina
|
||||
Copyright (C) 2007 Paolo Borelli
|
||||
Copyright (C) 2019 Yukihiro Nakai
|
||||
|
||||
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="xml" name="XML" version="2.0" _section="Markup">
|
||||
<metadata>
|
||||
<property name="mimetypes">application/xml;text/xml;text/sgml</property>
|
||||
<property name="globs">*.xml;*.xspf;*.siv;*.smil;*.smi;*.sml;*.kino;*.xul;*.xbel;*.abw;*.zabw;*.glade;*.jnlp;*.xhtml;*.svg;*.mml;*.rdf;*.rss;*.wml;*.xmi;*.fo;*.xslfo;*.sgml;*.lang</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="doctype" name="DOCTYPE" map-to="def:preprocessor"/>
|
||||
<style id="cdata-delim" name="CDATA delimiter" map-to="def:preprocessor"/>
|
||||
<style id="processing-instruction" name="Processing instruction" map-to="def:preprocessor"/>
|
||||
<style id="element-name" name="Element name" map-to="def:identifier"/>
|
||||
<style id="attribute-name" name="Attribute name" map-to="def:type"/>
|
||||
<style id="attribute-value" name="Attribute value" map-to="def:string"/>
|
||||
<style id="entity" name="Entity" map-to="def:preprocessor"/>
|
||||
<style id="tag" name="Tag"/>
|
||||
<style id="namespace" name="Namespace" map-to="xml:element-name"/>
|
||||
<style id="error" name="Error" map-to="def:error"/>
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
<define-regex id="prefix">[[:alpha:]_][[:alnum:]._-]*</define-regex>
|
||||
|
||||
<define-regex id="name">[[:alpha:]_][[:alnum:].:_-]*</define-regex>
|
||||
|
||||
<context id="entity" style-ref="entity" class="no-spell-check">
|
||||
<match>&\%{name};</match>
|
||||
</context>
|
||||
|
||||
<context id="character-reference" style-ref="entity">
|
||||
<match>&#([0-9]+|x[a-fA-F0-9]+);</match>
|
||||
</context>
|
||||
|
||||
<context id="unallowed-chars" style-ref="error" extend-parent="false">
|
||||
<match>[&<]</match>
|
||||
</context>
|
||||
|
||||
<context id="comment" style-ref="comment" class="comment">
|
||||
<start><!--</start>
|
||||
<end>--></end>
|
||||
<include>
|
||||
<context style-ref="error" extend-parent="false">
|
||||
<match>--+</match>
|
||||
</context>
|
||||
<context ref="def:in-comment"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="doctype" class="no-spell-check">
|
||||
<start>(<!DOCTYPE)\s+(\%{name})</start>
|
||||
<end>></end>
|
||||
<include>
|
||||
<context sub-pattern="1" where="start" style-ref="doctype"/>
|
||||
<context sub-pattern="2" where="start" style-ref="doctype"/>
|
||||
<context sub-pattern="0" where="end" style-ref="doctype"/>
|
||||
<context>
|
||||
<match>(SYSTEM)\s+(\"[^\"]*\")</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="doctype"/>
|
||||
<context sub-pattern="2" style-ref="attribute-value"/>
|
||||
</include>
|
||||
</context>
|
||||
<context>
|
||||
<match>(PUBLIC)\s+(\"[^\"]*\")\s+(\"[^\"]*\")</match>
|
||||
<include>
|
||||
<context sub-pattern="1" style-ref="doctype"/>
|
||||
<context sub-pattern="2" style-ref="attribute-value"/>
|
||||
<context sub-pattern="3" style-ref="attribute-value"/>
|
||||
</include>
|
||||
</context>
|
||||
<context>
|
||||
<start>\[</start>
|
||||
<end>\]</end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="doctype"/>
|
||||
<context sub-pattern="0" where="end" style-ref="doctype"/>
|
||||
</include>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="cdata" class="no-spell-check">
|
||||
<start><!\[CDATA\[</start>
|
||||
<end>\]\]></end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="cdata-delim" class="no-spell-check"/>
|
||||
<context sub-pattern="0" where="end" style-ref="cdata-delim"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="processing-instruction" style-ref="processing-instruction">
|
||||
<start><\?</start>
|
||||
<end>\?></end>
|
||||
</context>
|
||||
|
||||
<!-- The following three contexts can be <replace>d in xml
|
||||
dialect lang files, to custommize highlighting, e.g.
|
||||
highlighting docbook tags as keywords -->
|
||||
|
||||
<context id="namespace" style-ref="namespace" class="no-spell-check">
|
||||
<match>(?<!:)\%{prefix}:</match>
|
||||
</context>
|
||||
|
||||
<!-- Match attribute-name before element-name otherwise
|
||||
"text" in <fo:block text-align="left"> is detected as
|
||||
element -->
|
||||
<context id="attribute-name" style-ref="attribute-name" class="no-spell-check">
|
||||
<match>\b\%{name}\s*=</match>
|
||||
</context>
|
||||
|
||||
<context id="attribute-value" style-ref="attribute-value" class="string" class-disabled="no-spell-check">
|
||||
<start>["']</start>
|
||||
<end>\%{0@start}</end>
|
||||
<include>
|
||||
<context ref="entity"/>
|
||||
<context ref="character-reference"/>
|
||||
<context ref="unallowed-chars"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="element-name" once-only="true" style-ref="element-name" class="no-spell-check">
|
||||
<match>\b\%{name}\b(?!\s*=)</match>
|
||||
</context>
|
||||
|
||||
<context id="prolog" class="no-spell-check">
|
||||
<start><\?xml</start>
|
||||
<end>\?></end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="processing-instruction"/>
|
||||
<context sub-pattern="0" where="end" style-ref="processing-instruction"/>
|
||||
<context ref="attribute-value"/>
|
||||
<context ref="attribute-name"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="start-tag" style-ref="tag" class="no-spell-check">
|
||||
<start><(?!/)</start>
|
||||
<end>/?></end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="element-name"/>
|
||||
<context sub-pattern="0" where="end" style-ref="element-name"/>
|
||||
<context ref="entity"/>
|
||||
<context ref="character-reference"/>
|
||||
<context ref="unallowed-chars"/>
|
||||
<context ref="namespace"/>
|
||||
<context ref="attribute-name"/>
|
||||
<context ref="attribute-value"/>
|
||||
<context ref="element-name"/>
|
||||
<context style-ref="error" extend-parent="false">
|
||||
<match>\S</match>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="end-tag" style-ref="tag" class="no-spell-check">
|
||||
<start></</start>
|
||||
<end>></end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="element-name"/>
|
||||
<context sub-pattern="0" where="end" style-ref="element-name"/>
|
||||
<context ref="entity"/>
|
||||
<context ref="character-reference"/>
|
||||
<context ref="unallowed-chars"/>
|
||||
<context ref="namespace"/>
|
||||
<context ref="element-name"/>
|
||||
<context style-ref="error" extend-parent="false">
|
||||
<match>\S</match>
|
||||
</context>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="close-tag-outside-tag" style-ref="error">
|
||||
<match>/></match>
|
||||
</context>
|
||||
|
||||
<context id="xml">
|
||||
<include>
|
||||
<context ref="comment"/>
|
||||
<context ref="doctype"/>
|
||||
<context ref="cdata"/>
|
||||
<context ref="prolog"/>
|
||||
<context ref="processing-instruction"/>
|
||||
<context ref="start-tag"/>
|
||||
<context ref="end-tag"/>
|
||||
<context ref="entity"/>
|
||||
<context ref="character-reference"/>
|
||||
<context ref="unallowed-chars"/>
|
||||
<context ref="close-tag-outside-tag"/>
|
||||
</include>
|
||||
</context>
|
||||
</definitions>
|
||||
</language>
|
|
@ -0,0 +1,123 @@
|
|||
<style-scheme name="Peacocks In Space" id="peacocks-in-space" version="1.0">
|
||||
<author> ITDominator</author>
|
||||
<description>An attempted clone of Dayle Rees' Peacocks In Space theme.</description>
|
||||
|
||||
<style name="current-line" background="#2b303b" />
|
||||
<style name="current-line-number" background="#f7b83d" />
|
||||
<style name="draw-spaces" foreground="#babdb6" />
|
||||
<style name="background-pattern" background="#6e7a94" />
|
||||
<style name="bracket-match" foreground="#white" background="#gray" />
|
||||
<style name="bracket-mismatch" foreground="#white" background="#FF5D38" />
|
||||
<style name="right-margin" foreground="#dee3ec" background="#454a54" />
|
||||
<style name="search-match" background="#E6DB74" />
|
||||
<style name="def:comment" foreground="#8998b9" />
|
||||
<style name="def:shebang" foreground="#00a8c6" bold="true" />
|
||||
<style name="def:doc-comment-element" italic="true" />
|
||||
<style name="def:constant" foreground="#E6DB74" />
|
||||
<style name="def:special-char" foreground="#26A6A6" />
|
||||
<style name="def:identifier" foreground="#FF5D38" />
|
||||
<style name="def:statement" foreground="#26A6A6" bold="true" />
|
||||
<style name="def:type" foreground="#E6DB74" bold="true" />
|
||||
<style name="def:preprocessor" foreground="#8998b9" />
|
||||
<style name="def:error" background="#FF5D38" bold="true" />
|
||||
<style name="def:warning" background="#f7b83d" />
|
||||
<style name="def:note" foreground="#00a8c6" background="#yellow" bold="true" />
|
||||
<style name="def:underlined" italic="true" underline="true" />
|
||||
<style name="diff:added-line" foreground="#008B8B" />
|
||||
<style name="diff:removed-line" foreground="#6A5ACD" />
|
||||
<style name="diff:changed-line" foreground="#8998b9" />
|
||||
<style name="diff:special-case" foreground="#E6DB74" />
|
||||
<style name="diff:location" foreground="#26A6A6" bold="true" />
|
||||
<style name="diff:diff-file" foreground="#E6DB74" bold="true" />
|
||||
<style name="xml:tags" foreground="#00a8c6" />
|
||||
<style name="xml:attribute-name" foreground="#ff5d38" />
|
||||
<style name="xml:namespace" foreground="#E6DB74" bold="true" />
|
||||
<style name="js:object" foreground="#2E8B57" bold="true" />
|
||||
<style name="js:constructors" foreground="#008B8B" />
|
||||
<style name="latex:display-math" foreground="#6A5ACD" />
|
||||
<style name="latex:command" foreground="#2E8B57" bold="true" />
|
||||
<style name="latex:include" foreground="#8998b9" />
|
||||
<style name="sh:variable" foreground="#6A5ACD" />
|
||||
<style name="Others" foreground="#2E8B57" bold="true" />
|
||||
<style name="Others 2" foreground="#008B8B" />
|
||||
<style name="Others 3" foreground="#6A5ACD" />
|
||||
<style name="python:builtin-object" foreground="#00a8c6" />
|
||||
<style name="python:class-name" foreground="#ff5d38" />
|
||||
<style name="python:function-name" foreground="#e6db74" />
|
||||
<style name="python:keyword" foreground="#00a8c6" />
|
||||
<style name="python:special-variable" />
|
||||
<style name="python:boolean" foreground="#ff5d38" />
|
||||
<style name="python:complex" foreground="#ff5d38" />
|
||||
<style name="python:format" foreground="#bf3f3f" />
|
||||
<style name="python:builtin-constant" foreground="#ff5d38" />
|
||||
<style name="python:builtin-function" foreground="#e6db74" />
|
||||
<style name="python:module-handler" foreground="#00a8c6" />
|
||||
<style name="python:escaped-char" foreground="#ff5d38" />
|
||||
<style name="reserved" foreground="#ff5d38" />
|
||||
<style name="operator" foreground="#00a8c6" />
|
||||
<style name="keyword" foreground="#00a8c6" />
|
||||
<style name="line-numbers" foreground="#ffffff" />
|
||||
<style name="python3:function-name" foreground="#e6db74" />
|
||||
<style name="text" />
|
||||
<style name="emphasis" />
|
||||
<style name="function" foreground="#e6db74" />
|
||||
<style name="selection-unfocused" background="#ff7800" />
|
||||
<style name="html:attrib-name" foreground="#ff5d38" />
|
||||
<style name="html:dtd" />
|
||||
<style name="html:attrib-value" foreground="#e6db74" />
|
||||
<style name="xml:element-name" foreground="#00a8c6" />
|
||||
<style name="xml:attribute-value" foreground="#e6db74" />
|
||||
<style name="html:comment" foreground="#8998b9" />
|
||||
<style name="xml:comment" foreground="#8998b9" />
|
||||
<style name="python3:builtin-function" foreground="#ff5d38" />
|
||||
<style name="python3:builtin-object" foreground="#ff5d38" />
|
||||
<style name="python3:class-name" foreground="#ff5d38" />
|
||||
<style name="python3:builtin-constant" foreground="#ff5d38" />
|
||||
<style name="python3:complex" foreground="#e6db74" />
|
||||
<style name="python3:escaped-char" foreground="#ff5d38" />
|
||||
<style name="python3:decimal" />
|
||||
<style name="python3:format" />
|
||||
<style name="python3:base-n-integer" />
|
||||
<style name="php:comment" foreground="#8998b9" />
|
||||
<style name="php:string" foreground="#e6db74" />
|
||||
<style name="json:keyname" foreground="#ff5d38" />
|
||||
<style name="json:string" foreground="#e6db74" />
|
||||
<style name="json:null-value" foreground="#ff5d38" />
|
||||
<style name="json:float" foreground="#e6db74" />
|
||||
<style name="json:boolean" foreground="#ff5d38" />
|
||||
<style name="java:reserved" foreground="#ff5d38" />
|
||||
<style name="js:function-expression" />
|
||||
<style name="js:identifier" />
|
||||
<style name="js:object-literal" />
|
||||
<style name="js:expression-statement" foreground="#e6db74" />
|
||||
<style name="js:expression" />
|
||||
<style name="js:label-statement" />
|
||||
<style name="js:variable-declaration" />
|
||||
<style name="js:rest-syntax" />
|
||||
<style name="js:regex-group" />
|
||||
<style name="js:keyword" foreground="#00a8c6" />
|
||||
<style name="js:grouping-operator" foreground="#ed333b" />
|
||||
<style name="js:grouping" foreground="#2ec27e" />
|
||||
<style name="js:escape" foreground="#ff5d38" />
|
||||
<style name="js:directive" />
|
||||
<style name="js:class-expression" />
|
||||
<style name="js:built-in-property" />
|
||||
<style name="js:built-in-object" />
|
||||
<style name="js:built-in-method" />
|
||||
<style name="js:built-in-function" />
|
||||
<style name="js:built-in-constructor" />
|
||||
<style name="js:block-statement" />
|
||||
<style name="js:ternary-operator" foreground="#00a8c6" />
|
||||
<style name="js:throw-statement" foreground="#00a8c6" />
|
||||
<style name="js:try-catch-statement" foreground="#00a8c6" />
|
||||
<style name="js:spread-syntax" />
|
||||
<style name="js:switch-statement" foreground="#00a8c6" />
|
||||
<style name="python3:keyword" foreground="#00a8c6" />
|
||||
<style name="python3:module-handler" foreground="#00a8c6" />
|
||||
<style name="python3:method-calls" foreground="#e6db74" />
|
||||
<style name="java:keyword" foreground="#8998b9" />
|
||||
<style name="method-calls" foreground="#e6db74" />
|
||||
<style name="xml:processing-instruction" />
|
||||
<style name="xml:cdata-delim" foreground="#8998b9" />
|
||||
<style name="gdscript:method-calls" foreground="#e6db74" />
|
||||
</style-scheme>
|
|
@ -0,0 +1,119 @@
|
|||
<style-scheme name="Penguins In Space" id="penguins-in-space" version="1.0">
|
||||
<author> ITDominator</author>
|
||||
<description>An homage to Dayle Rees' Peacocks In Space theme.</description>
|
||||
|
||||
<style name="current-line" background="#2b303b" />
|
||||
<style name="current-line-number" background="#f7b83d" />
|
||||
<style name="draw-spaces" foreground="#babdb6" />
|
||||
<style name="background-pattern" background="#6e7a94" />
|
||||
<style name="bracket-match" foreground="#white" background="#gray" />
|
||||
<style name="bracket-mismatch" foreground="#white" background="#FF5D38" />
|
||||
<style name="right-margin" foreground="#dee3ec" background="#454a54" />
|
||||
<style name="search-match" background="#E6DB74" />
|
||||
<style name="def:comment" foreground="#454a54" />
|
||||
<style name="def:shebang" foreground="#00a8c6" bold="true" />
|
||||
<style name="def:doc-comment-element" italic="true" />
|
||||
<style name="def:constant" foreground="#E6DB74" />
|
||||
<style name="def:special-char" foreground="#26A6A6" />
|
||||
<style name="def:identifier" foreground="#FF5D38" />
|
||||
<style name="def:statement" foreground="#26A6A6" bold="true" />
|
||||
<style name="def:type" foreground="#E6DB74" bold="true" />
|
||||
<style name="def:preprocessor" foreground="#8998b9" />
|
||||
<style name="def:error" background="#FF5D38" bold="true" />
|
||||
<style name="def:warning" background="#f7b83d" />
|
||||
<style name="def:note" foreground="#00a8c6" background="#yellow" bold="true" />
|
||||
<style name="def:underlined" italic="true" underline="true" />
|
||||
<style name="diff:added-line" foreground="#008B8B" />
|
||||
<style name="diff:removed-line" foreground="#6A5ACD" />
|
||||
<style name="diff:changed-line" foreground="#8998b9" />
|
||||
<style name="diff:special-case" foreground="#E6DB74" />
|
||||
<style name="diff:location" foreground="#26A6A6" bold="true" />
|
||||
<style name="diff:diff-file" foreground="#E6DB74" bold="true" />
|
||||
<style name="xml:tags" foreground="#00a8c6" />
|
||||
<style name="xml:attribute-name" foreground="#ff5d38" />
|
||||
<style name="xml:namespace" foreground="#E6DB74" bold="true" />
|
||||
<style name="js:object" foreground="#2E8B57" bold="true" />
|
||||
<style name="js:constructors" foreground="#008B8B" />
|
||||
<style name="latex:display-math" foreground="#6A5ACD" />
|
||||
<style name="latex:command" foreground="#2E8B57" bold="true" />
|
||||
<style name="latex:include" foreground="#8998b9" />
|
||||
<style name="sh:variable" foreground="#6A5ACD" />
|
||||
<style name="Others" foreground="#2E8B57" bold="true" />
|
||||
<style name="Others 2" foreground="#008B8B" />
|
||||
<style name="Others 3" foreground="#6A5ACD" />
|
||||
<style name="python:builtin-object" foreground="#00a8c6" />
|
||||
<style name="python:class-name" foreground="#ff5d38" />
|
||||
<style name="python:function-name" foreground="#e6db74" />
|
||||
<style name="python:keyword" foreground="#00a8c6" />
|
||||
<style name="python:special-variable" foreground="#26a269" />
|
||||
<style name="python:boolean" foreground="#ff5d38" />
|
||||
<style name="python:complex" foreground="#ff5d38" />
|
||||
<style name="python:format" foreground="#bf3f3f" />
|
||||
<style name="python:builtin-constant" foreground="#ff5d38" />
|
||||
<style name="python:builtin-function" foreground="#e6db74" />
|
||||
<style name="python:module-handler" foreground="#00a8c6" />
|
||||
<style name="python:escaped-char" foreground="#ff5d38" />
|
||||
<style name="reserved" foreground="#ff5d38" />
|
||||
<style name="operator" foreground="#00a8c6" />
|
||||
<style name="keyword" foreground="#00a8c6" />
|
||||
<style name="line-numbers" foreground="#ffffff" />
|
||||
<style name="python3:function-name" foreground="#e6db74" />
|
||||
<style name="text" />
|
||||
<style name="emphasis" />
|
||||
<style name="function" foreground="#e6db74" />
|
||||
<style name="selection-unfocused" background="#ff7800" />
|
||||
<style name="html:attrib-name" foreground="#ff5d38" />
|
||||
<style name="html:dtd" />
|
||||
<style name="html:attrib-value" foreground="#e6db74" />
|
||||
<style name="xml:element-name" foreground="#00a8c6" />
|
||||
<style name="xml:attribute-value" foreground="#e6db74" />
|
||||
<style name="html:comment" foreground="#8998b9" />
|
||||
<style name="xml:comment" foreground="#8998b9" />
|
||||
<style name="python3:builtin-function" foreground="#ff5d38" />
|
||||
<style name="python3:builtin-object" foreground="#ff5d38" />
|
||||
<style name="python3:class-name" foreground="#ff5d38" />
|
||||
<style name="python3:builtin-constant" foreground="#ff5d38" />
|
||||
<style name="python3:complex" foreground="#e6db74" />
|
||||
<style name="python3:escaped-char" foreground="#ff5d38" />
|
||||
<style name="python3:decimal" />
|
||||
<style name="python3:format" />
|
||||
<style name="python3:base-n-integer" />
|
||||
<style name="php:comment" foreground="#8998b9" />
|
||||
<style name="php:string" foreground="#e6db74" />
|
||||
<style name="json:keyname" foreground="#ff5d38" />
|
||||
<style name="json:string" foreground="#e6db74" />
|
||||
<style name="json:null-value" foreground="#e01b24" />
|
||||
<style name="json:float" foreground="#00a8c6" />
|
||||
<style name="json:boolean" foreground="#33d17a" />
|
||||
<style name="java:reserved" foreground="#ff5d38" />
|
||||
<style name="js:function-expression" />
|
||||
<style name="js:identifier" />
|
||||
<style name="js:object-literal" />
|
||||
<style name="js:expression-statement" foreground="#e6db74" />
|
||||
<style name="js:expression" />
|
||||
<style name="js:label-statement" />
|
||||
<style name="js:variable-declaration" />
|
||||
<style name="js:rest-syntax" />
|
||||
<style name="js:regex-group" />
|
||||
<style name="js:keyword" foreground="#00a8c6" />
|
||||
<style name="js:grouping-operator" foreground="#ed333b" />
|
||||
<style name="js:grouping" foreground="#2ec27e" />
|
||||
<style name="js:escape" foreground="#ff5d38" />
|
||||
<style name="js:directive" />
|
||||
<style name="js:class-expression" />
|
||||
<style name="js:built-in-property" />
|
||||
<style name="js:built-in-object" />
|
||||
<style name="js:built-in-method" />
|
||||
<style name="js:built-in-function" />
|
||||
<style name="js:built-in-constructor" />
|
||||
<style name="js:block-statement" />
|
||||
<style name="js:ternary-operator" foreground="#00a8c6" />
|
||||
<style name="js:throw-statement" foreground="#00a8c6" />
|
||||
<style name="js:try-catch-statement" foreground="#00a8c6" />
|
||||
<style name="js:spread-syntax" />
|
||||
<style name="js:switch-statement" foreground="#00a8c6" />
|
||||
<style name="python:multiline-string" foreground="#454a54" />
|
||||
<style name="python3:method-calls" foreground="#e6db74" />
|
||||
<style name="xml:cdata-delim" foreground="#8998b9" />
|
||||
<style name="gdscript:method-calls" foreground="#e6db74" />
|
||||
</style-scheme>
|
|
@ -0,0 +1,11 @@
|
|||
[Desktop Entry]
|
||||
Name=Newton
|
||||
GenericName=Text editor and mini IDE
|
||||
Comment=General purpose text editor and IDE
|
||||
Exec=/bin/newton %F
|
||||
Icon=/usr/share/newton/icons/newton.png
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=GNOME;GTK;Utility;TextEditor;Development;
|
||||
MimeType=text/plain;text/py;text/js;text/java;text/cpp;text/sh;text/html;text/json;
|
||||
Terminal=false
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.40.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.20"/>
|
||||
<object class="GtkBox" id="glade_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="glade_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Loaded Me From Glade!</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -0,0 +1 @@
|
|||
{}
|
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 858 B |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 850 B |
After Width: | Height: | Size: 702 B |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 925 B |
After Width: | Height: | Size: 882 B |
After Width: | Height: | Size: 707 B |
After Width: | Height: | Size: 798 B |
After Width: | Height: | Size: 989 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 6.5 KiB |
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"keybindings": {
|
||||
"help" : "F1",
|
||||
"tggl_top_main_menubar" : "<Control>0",
|
||||
"keyboard_focus_1st_pane" : "<Control>8",
|
||||
"keyboard_focus_2nd_pane" : "<Control>9",
|
||||
"open_terminal" : "F4",
|
||||
"tear_down" : "<Control>q"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"sh": {
|
||||
"info": "",
|
||||
"command": [],
|
||||
"initialization_options": {}
|
||||
},
|
||||
"python": {
|
||||
"info": "https://github.com/python-lsp/python-lsp-server",
|
||||
"command": ["pylsp"],
|
||||
"initialization_options": {}
|
||||
},
|
||||
"python3": {
|
||||
"info": "https://pypi.org/project/jedi-language-server/",
|
||||
"command": ["jedi-language-server"],
|
||||
"initialization_options": {
|
||||
"jediSettings": {
|
||||
"autoImportModules": [],
|
||||
"caseInsensitiveCompletion": true,
|
||||
"debug": false
|
||||
},
|
||||
"completion": {
|
||||
"disableSnippets": false,
|
||||
"resolveEagerly": false,
|
||||
"ignorePatterns": []
|
||||
},
|
||||
"markupKindPreferred": "markdown",
|
||||
"workspace": {
|
||||
"extraPaths": [],
|
||||
"environmentPath": "/path/to/venv/bin/python",
|
||||
"symbols": {
|
||||
"ignoreFolders": [".nox", ".tox", ".venv", "__pycache__", "venv"],
|
||||
"maxSymbols": 20
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"c": {
|
||||
"info": "https://clangd.llvm.org/",
|
||||
"command": ["/usr/bin/clangd"],
|
||||
"initialization_options": {}
|
||||
},
|
||||
"cpp": {
|
||||
"info": "https://clangd.llvm.org/",
|
||||
"command": ["/usr/bin/clangd"],
|
||||
"initialization_options": {}
|
||||
},
|
||||
"java": {
|
||||
"info": "https://download.eclipse.org/jdtls/",
|
||||
"command": ["java-language-server"],
|
||||
"initialization_options": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"load_defaults":false,
|
||||
"config":{
|
||||
"base_of_home":"",
|
||||
"hide_hidden_files":"true",
|
||||
"thumbnailer_path":"ffmpegthumbnailer",
|
||||
"blender_thumbnailer_path":"",
|
||||
"go_past_home":"true",
|
||||
"lock_folder":"false",
|
||||
"locked_folders":"venv::::flasks",
|
||||
"mplayer_options":"-quiet -really-quiet -xy 1600 -geometry 50%:50%",
|
||||
"music_app":"/opt/deadbeef/bin/deadbeef",
|
||||
"media_app":"mpv",
|
||||
"image_app":"mirage",
|
||||
"office_app":"libreoffice",
|
||||
"pdf_app":"evince",
|
||||
"code_app":"atom",
|
||||
"text_app":"leafpad",
|
||||
"file_manager_app":"solarfm",
|
||||
"terminal_app":"terminator",
|
||||
"remux_folder_max_disk_usage":"8589934592",
|
||||
"make_transparent":0,
|
||||
"main_window_x":800,
|
||||
"main_window_y":600,
|
||||
"main_window_min_width":720,
|
||||
"main_window_min_height":480,
|
||||
"main_window_width":800,
|
||||
"main_window_height":600
|
||||
},
|
||||
"filters":{
|
||||
"meshs":[
|
||||
".blend",
|
||||
".dae",
|
||||
".fbx",
|
||||
".gltf",
|
||||
".obj",
|
||||
".stl"
|
||||
],
|
||||
"code":[
|
||||
".txt",
|
||||
".py",
|
||||
".c",
|
||||
".h",
|
||||
".cpp",
|
||||
".csv",
|
||||
".m3*",
|
||||
".lua",
|
||||
".js",
|
||||
".toml",
|
||||
".xml",
|
||||
".pom",
|
||||
".htm",
|
||||
".md",
|
||||
".vala",
|
||||
".tsv",
|
||||
".css",
|
||||
".html",
|
||||
".json",
|
||||
".java",
|
||||
".go",
|
||||
".php",
|
||||
".ts",
|
||||
".rs"
|
||||
],
|
||||
"videos":[
|
||||
".mkv",
|
||||
".mp4",
|
||||
".webm",
|
||||
".avi",
|
||||
".mov",
|
||||
".m4v",
|
||||
".mpg",
|
||||
".mpeg",
|
||||
".wmv",
|
||||
".flv"
|
||||
],
|
||||
"office":[
|
||||
".doc",
|
||||
".docx",
|
||||
".xls",
|
||||
".xlsx",
|
||||
".xlt",
|
||||
".xltx",
|
||||
".xlm",
|
||||
".ppt",
|
||||
".pptx",
|
||||
".pps",
|
||||
".ppsx",
|
||||
".odt",
|
||||
".rtf"
|
||||
],
|
||||
"images":[
|
||||
".png",
|
||||
".jpg",
|
||||
".jpeg",
|
||||
".gif",
|
||||
".ico",
|
||||
".tga",
|
||||
".webp"
|
||||
],
|
||||
"music":[
|
||||
".psf",
|
||||
".mp3",
|
||||
".ogg",
|
||||
".flac",
|
||||
".m4a"
|
||||
],
|
||||
"pdf":[
|
||||
".pdf"
|
||||
]
|
||||
},
|
||||
"theming":{
|
||||
"transparency":62,
|
||||
"default_zoom":12,
|
||||
"syntax_theme":"solarized-dark",
|
||||
"success_color":"#88cc27",
|
||||
"warning_color":"#ffa800",
|
||||
"error_color":"#ff0000"
|
||||
},
|
||||
"debugging":{
|
||||
"ch_log_lvl":20,
|
||||
"fh_log_lvl":20
|
||||
}
|
||||
}
|
|
@ -0,0 +1,371 @@
|
|||
/* ---- make most desired things base transparent ---- */
|
||||
popover,
|
||||
popover > box
|
||||
.main-window > box,
|
||||
.main-window > box > box,
|
||||
.main-window > box > box > paned,
|
||||
.main-window > box > box > paned > notebook,
|
||||
.main-window > box > box > paned > notebook > stack,
|
||||
.main-window > box > box > paned > notebook > stack > scrolledwindow > textview > * {
|
||||
background: rgba(0, 0, 0, 0.0);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
|
||||
/* ---- top controls ---- */
|
||||
.main-window > box > box > button,
|
||||
.main-window > box > box > buttonbox > button {
|
||||
background: rgba(39, 43, 52, 0.64);
|
||||
margin-left: 12px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
|
||||
/* status bar */
|
||||
.main-window > box > statusbar {
|
||||
background: rgba(39, 43, 52, 0.64);
|
||||
padding-left: 96px;
|
||||
padding-right: 96px;
|
||||
}
|
||||
|
||||
|
||||
/* ---- notebook headers ---- */
|
||||
notebook > header {
|
||||
background: rgba(39, 43, 52, 0.72);
|
||||
}
|
||||
|
||||
notebook > header > tabs > tab {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
notebook > header > tabs > tab:active {
|
||||
background: rgba(0, 0, 0, 0.0);
|
||||
}
|
||||
|
||||
|
||||
/* ---- notebook tab buttons ---- */
|
||||
tab > box > button {
|
||||
background: rgba(116, 0, 0, 0.64);
|
||||
}
|
||||
|
||||
tab > box > button:hover {
|
||||
background: rgba(256, 0, 0, 0.64);
|
||||
}
|
||||
|
||||
notebook > header > tabs > tab:checked {
|
||||
/* Neon Blue 00e8ff */
|
||||
/* background-color: rgba(0, 232, 255, 0.2); */
|
||||
|
||||
background-color: rgba(255, 255, 255, 0.46);
|
||||
|
||||
/* Dark Bergundy */
|
||||
/* background-color: rgba(116, 0, 0, 0.25); */
|
||||
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
.notebook-selected-focus {
|
||||
/* Neon Blue 00e8ff border */
|
||||
/* border: 2px solid rgba(0, 232, 255, 0.34); */
|
||||
|
||||
border: 2px solid rgba(255, 255, 255, 0.46);
|
||||
|
||||
/* Dark Bergundy */
|
||||
/* border: 2px solid rgba(116, 0, 0, 0.64); */
|
||||
}
|
||||
|
||||
|
||||
/* ---- source code notebooks ---- */
|
||||
notebook > stack > scrolledwindow > textview {
|
||||
background: rgba(39, 43, 52, 0.64);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
/* any popover */
|
||||
popover {
|
||||
background: rgba(39, 43, 52, 0.86);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
/* ---- make text selection slightly transparent ---- */
|
||||
* selection {
|
||||
background-color: rgba(0, 115, 115, 0.34);
|
||||
/* Bergundy */
|
||||
/* background-color: rgba(116, 0, 0, 0.64); */
|
||||
color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
|
||||
/* ---- miniview properties ---- */
|
||||
.source-view,
|
||||
.mini-view {
|
||||
font-family: Monospace;
|
||||
}
|
||||
|
||||
/* the mini view container of text */
|
||||
.mini-view > text {
|
||||
background: rgba(39, 43, 52, 0.64);
|
||||
}
|
||||
|
||||
/* draggable overlay of the miniview */
|
||||
.mini-view > * {
|
||||
background: rgba(64, 64, 64, 0.32);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
font-size: 1px;
|
||||
}
|
||||
|
||||
.mini-view > text {
|
||||
background: rgba(39, 43, 52, 0.64);
|
||||
}
|
||||
|
||||
|
||||
/* other properties */
|
||||
.buffer_changed {
|
||||
color: rgba(255, 168, 0, 1.0);
|
||||
/* color: rgba(0, 232, 255, 0.64); */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.searching,
|
||||
.search_success,
|
||||
.search_fail {
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.searching {
|
||||
border-color: rgba(0, 225, 225, 0.64);
|
||||
}
|
||||
.search_success {
|
||||
background: rgba(136, 204, 39, 0.12);
|
||||
border-color: rgba(136, 204, 39, 1);
|
||||
}
|
||||
.search_fail {
|
||||
background: rgba(170, 18, 18, 0.12);
|
||||
border-color: rgba(200, 18, 18, 1);
|
||||
}
|
||||
|
||||
|
||||
.error_txt { color: rgb(170, 18, 18); }
|
||||
.warning_txt { color: rgb(255, 168, 0); }
|
||||
.success_txt { color: rgb(136, 204, 39); }
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Need these because updating buffer with get_tag_table and tags updates minimap to the same size due to its mapping structure...
|
||||
I've tried initial looks at:
|
||||
https://github.com/johnfactotum/gedit-restore-minimap
|
||||
which is re-adding minimap to gedit and they just used the below code snippit which still didn't work for me.
|
||||
|
||||
desc = Pango.FontDescription(default_font)
|
||||
desc.set_size(Pango.SCALE) # set size to 1pt
|
||||
desc.set_family('BuilderBlocks,' + desc.get_family())
|
||||
self.source_map.set_property('font-desc', desc)
|
||||
|
||||
So now we do this monstrocity until I can figure out what is needed to make something better work.
|
||||
|
||||
*/
|
||||
.px1 { font-size: 1px; }
|
||||
.px2 { font-size: 2px; }
|
||||
.px3 { font-size: 3px; }
|
||||
.px4 { font-size: 4px; }
|
||||
.px5 { font-size: 5px; }
|
||||
.px6 { font-size: 6px; }
|
||||
.px7 { font-size: 7px; }
|
||||
.px8 { font-size: 8px; }
|
||||
.px9 { font-size: 9px; }
|
||||
.px10 { font-size: 10px; }
|
||||
.px11 { font-size: 11px; }
|
||||
.px12 { font-size: 12px; }
|
||||
.px13 { font-size: 13px; }
|
||||
.px14 { font-size: 14px; }
|
||||
.px15 { font-size: 15px; }
|
||||
.px16 { font-size: 16px; }
|
||||
.px17 { font-size: 17px; }
|
||||
.px18 { font-size: 18px; }
|
||||
.px19 { font-size: 19px; }
|
||||
.px20 { font-size: 20px; }
|
||||
.px21 { font-size: 21px; }
|
||||
.px22 { font-size: 22px; }
|
||||
.px23 { font-size: 23px; }
|
||||
.px24 { font-size: 24px; }
|
||||
.px25 { font-size: 25px; }
|
||||
.px26 { font-size: 26px; }
|
||||
.px27 { font-size: 27px; }
|
||||
.px28 { font-size: 28px; }
|
||||
.px29 { font-size: 29px; }
|
||||
.px30 { font-size: 30px; }
|
||||
.px31 { font-size: 31px; }
|
||||
.px32 { font-size: 32px; }
|
||||
.px33 { font-size: 33px; }
|
||||
.px34 { font-size: 34px; }
|
||||
.px35 { font-size: 35px; }
|
||||
.px36 { font-size: 36px; }
|
||||
.px37 { font-size: 37px; }
|
||||
.px38 { font-size: 38px; }
|
||||
.px39 { font-size: 39px; }
|
||||
.px40 { font-size: 40px; }
|
||||
.px41 { font-size: 41px; }
|
||||
.px42 { font-size: 42px; }
|
||||
.px43 { font-size: 43px; }
|
||||
.px44 { font-size: 44px; }
|
||||
.px45 { font-size: 45px; }
|
||||
.px46 { font-size: 46px; }
|
||||
.px47 { font-size: 47px; }
|
||||
.px48 { font-size: 48px; }
|
||||
.px49 { font-size: 49px; }
|
||||
.px50 { font-size: 50px; }
|
||||
.px51 { font-size: 51px; }
|
||||
.px52 { font-size: 52px; }
|
||||
.px53 { font-size: 53px; }
|
||||
.px54 { font-size: 54px; }
|
||||
.px55 { font-size: 55px; }
|
||||
.px56 { font-size: 56px; }
|
||||
.px57 { font-size: 57px; }
|
||||
.px58 { font-size: 58px; }
|
||||
.px59 { font-size: 59px; }
|
||||
.px60 { font-size: 60px; }
|
||||
.px61 { font-size: 61px; }
|
||||
.px62 { font-size: 62px; }
|
||||
.px63 { font-size: 63px; }
|
||||
.px64 { font-size: 64px; }
|
||||
.px65 { font-size: 65px; }
|
||||
.px66 { font-size: 66px; }
|
||||
.px67 { font-size: 67px; }
|
||||
.px68 { font-size: 68px; }
|
||||
.px69 { font-size: 69px; }
|
||||
.px70 { font-size: 70px; }
|
||||
.px71 { font-size: 71px; }
|
||||
.px72 { font-size: 72px; }
|
||||
.px73 { font-size: 73px; }
|
||||
.px74 { font-size: 74px; }
|
||||
.px75 { font-size: 75px; }
|
||||
.px76 { font-size: 76px; }
|
||||
.px77 { font-size: 77px; }
|
||||
.px78 { font-size: 78px; }
|
||||
.px79 { font-size: 79px; }
|
||||
.px80 { font-size: 80px; }
|
||||
.px81 { font-size: 81px; }
|
||||
.px82 { font-size: 82px; }
|
||||
.px83 { font-size: 83px; }
|
||||
.px84 { font-size: 84px; }
|
||||
.px85 { font-size: 85px; }
|
||||
.px86 { font-size: 86px; }
|
||||
.px87 { font-size: 87px; }
|
||||
.px88 { font-size: 88px; }
|
||||
.px89 { font-size: 89px; }
|
||||
.px90 { font-size: 90px; }
|
||||
.px91 { font-size: 91px; }
|
||||
.px92 { font-size: 92px; }
|
||||
.px93 { font-size: 93px; }
|
||||
.px94 { font-size: 94px; }
|
||||
.px95 { font-size: 95px; }
|
||||
.px96 { font-size: 96px; }
|
||||
.px97 { font-size: 97px; }
|
||||
.px98 { font-size: 98px; }
|
||||
.px99 { font-size: 99px; }
|
||||
|
||||
|
||||
|
||||
.mw_transparency_1 { background: rgba(39, 43, 52, 0.1); }
|
||||
.mw_transparency_2 { background: rgba(39, 43, 52, 0.2); }
|
||||
.mw_transparency_3 { background: rgba(39, 43, 52, 0.3); }
|
||||
.mw_transparency_4 { background: rgba(39, 43, 52, 0.4); }
|
||||
.mw_transparency_5 { background: rgba(39, 43, 52, 0.5); }
|
||||
.mw_transparency_6 { background: rgba(39, 43, 52, 0.6); }
|
||||
.mw_transparency_7 { background: rgba(39, 43, 52, 0.7); }
|
||||
.mw_transparency_8 { background: rgba(39, 43, 52, 0.8); }
|
||||
.mw_transparency_9 { background: rgba(39, 43, 52, 0.9); }
|
||||
.mw_transparency_10 { background: rgba(39, 43, 52, 0.10); }
|
||||
.mw_transparency_11 { background: rgba(39, 43, 52, 0.11); }
|
||||
.mw_transparency_12 { background: rgba(39, 43, 52, 0.12); }
|
||||
.mw_transparency_13 { background: rgba(39, 43, 52, 0.13); }
|
||||
.mw_transparency_14 { background: rgba(39, 43, 52, 0.14); }
|
||||
.mw_transparency_15 { background: rgba(39, 43, 52, 0.15); }
|
||||
.mw_transparency_16 { background: rgba(39, 43, 52, 0.16); }
|
||||
.mw_transparency_17 { background: rgba(39, 43, 52, 0.17); }
|
||||
.mw_transparency_18 { background: rgba(39, 43, 52, 0.18); }
|
||||
.mw_transparency_19 { background: rgba(39, 43, 52, 0.19); }
|
||||
.mw_transparency_20 { background: rgba(39, 43, 52, 0.20); }
|
||||
.mw_transparency_21 { background: rgba(39, 43, 52, 0.21); }
|
||||
.mw_transparency_22 { background: rgba(39, 43, 52, 0.22); }
|
||||
.mw_transparency_23 { background: rgba(39, 43, 52, 0.23); }
|
||||
.mw_transparency_24 { background: rgba(39, 43, 52, 0.24); }
|
||||
.mw_transparency_25 { background: rgba(39, 43, 52, 0.25); }
|
||||
.mw_transparency_26 { background: rgba(39, 43, 52, 0.26); }
|
||||
.mw_transparency_27 { background: rgba(39, 43, 52, 0.27); }
|
||||
.mw_transparency_28 { background: rgba(39, 43, 52, 0.28); }
|
||||
.mw_transparency_29 { background: rgba(39, 43, 52, 0.29); }
|
||||
.mw_transparency_30 { background: rgba(39, 43, 52, 0.30); }
|
||||
.mw_transparency_31 { background: rgba(39, 43, 52, 0.31); }
|
||||
.mw_transparency_32 { background: rgba(39, 43, 52, 0.32); }
|
||||
.mw_transparency_33 { background: rgba(39, 43, 52, 0.33); }
|
||||
.mw_transparency_34 { background: rgba(39, 43, 52, 0.34); }
|
||||
.mw_transparency_35 { background: rgba(39, 43, 52, 0.35); }
|
||||
.mw_transparency_36 { background: rgba(39, 43, 52, 0.36); }
|
||||
.mw_transparency_37 { background: rgba(39, 43, 52, 0.37); }
|
||||
.mw_transparency_38 { background: rgba(39, 43, 52, 0.38); }
|
||||
.mw_transparency_39 { background: rgba(39, 43, 52, 0.39); }
|
||||
.mw_transparency_40 { background: rgba(39, 43, 52, 0.40); }
|
||||
.mw_transparency_41 { background: rgba(39, 43, 52, 0.41); }
|
||||
.mw_transparency_42 { background: rgba(39, 43, 52, 0.42); }
|
||||
.mw_transparency_43 { background: rgba(39, 43, 52, 0.43); }
|
||||
.mw_transparency_44 { background: rgba(39, 43, 52, 0.44); }
|
||||
.mw_transparency_45 { background: rgba(39, 43, 52, 0.45); }
|
||||
.mw_transparency_46 { background: rgba(39, 43, 52, 0.46); }
|
||||
.mw_transparency_47 { background: rgba(39, 43, 52, 0.47); }
|
||||
.mw_transparency_48 { background: rgba(39, 43, 52, 0.48); }
|
||||
.mw_transparency_49 { background: rgba(39, 43, 52, 0.49); }
|
||||
.mw_transparency_50 { background: rgba(39, 43, 52, 0.50); }
|
||||
.mw_transparency_51 { background: rgba(39, 43, 52, 0.51); }
|
||||
.mw_transparency_52 { background: rgba(39, 43, 52, 0.52); }
|
||||
.mw_transparency_53 { background: rgba(39, 43, 52, 0.53); }
|
||||
.mw_transparency_54 { background: rgba(39, 43, 52, 0.54); }
|
||||
.mw_transparency_55 { background: rgba(39, 43, 52, 0.55); }
|
||||
.mw_transparency_56 { background: rgba(39, 43, 52, 0.56); }
|
||||
.mw_transparency_57 { background: rgba(39, 43, 52, 0.57); }
|
||||
.mw_transparency_58 { background: rgba(39, 43, 52, 0.58); }
|
||||
.mw_transparency_59 { background: rgba(39, 43, 52, 0.59); }
|
||||
.mw_transparency_60 { background: rgba(39, 43, 52, 0.60); }
|
||||
.mw_transparency_61 { background: rgba(39, 43, 52, 0.61); }
|
||||
.mw_transparency_62 { background: rgba(39, 43, 52, 0.62); }
|
||||
.mw_transparency_63 { background: rgba(39, 43, 52, 0.63); }
|
||||
.mw_transparency_64 { background: rgba(39, 43, 52, 0.64); }
|
||||
.mw_transparency_65 { background: rgba(39, 43, 52, 0.65); }
|
||||
.mw_transparency_66 { background: rgba(39, 43, 52, 0.66); }
|
||||
.mw_transparency_67 { background: rgba(39, 43, 52, 0.67); }
|
||||
.mw_transparency_68 { background: rgba(39, 43, 52, 0.68); }
|
||||
.mw_transparency_69 { background: rgba(39, 43, 52, 0.69); }
|
||||
.mw_transparency_70 { background: rgba(39, 43, 52, 0.70); }
|
||||
.mw_transparency_71 { background: rgba(39, 43, 52, 0.71); }
|
||||
.mw_transparency_72 { background: rgba(39, 43, 52, 0.72); }
|
||||
.mw_transparency_73 { background: rgba(39, 43, 52, 0.73); }
|
||||
.mw_transparency_74 { background: rgba(39, 43, 52, 0.74); }
|
||||
.mw_transparency_75 { background: rgba(39, 43, 52, 0.75); }
|
||||
.mw_transparency_76 { background: rgba(39, 43, 52, 0.76); }
|
||||
.mw_transparency_77 { background: rgba(39, 43, 52, 0.77); }
|
||||
.mw_transparency_78 { background: rgba(39, 43, 52, 0.78); }
|
||||
.mw_transparency_79 { background: rgba(39, 43, 52, 0.79); }
|
||||
.mw_transparency_80 { background: rgba(39, 43, 52, 0.80); }
|
||||
.mw_transparency_81 { background: rgba(39, 43, 52, 0.81); }
|
||||
.mw_transparency_82 { background: rgba(39, 43, 52, 0.82); }
|
||||
.mw_transparency_83 { background: rgba(39, 43, 52, 0.83); }
|
||||
.mw_transparency_84 { background: rgba(39, 43, 52, 0.84); }
|
||||
.mw_transparency_85 { background: rgba(39, 43, 52, 0.85); }
|
||||
.mw_transparency_86 { background: rgba(39, 43, 52, 0.86); }
|
||||
.mw_transparency_87 { background: rgba(39, 43, 52, 0.87); }
|
||||
.mw_transparency_88 { background: rgba(39, 43, 52, 0.88); }
|
||||
.mw_transparency_89 { background: rgba(39, 43, 52, 0.89); }
|
||||
.mw_transparency_90 { background: rgba(39, 43, 52, 0.90); }
|
||||
.mw_transparency_91 { background: rgba(39, 43, 52, 0.91); }
|
||||
.mw_transparency_92 { background: rgba(39, 43, 52, 0.92); }
|
||||
.mw_transparency_93 { background: rgba(39, 43, 52, 0.93); }
|
||||
.mw_transparency_94 { background: rgba(39, 43, 52, 0.94); }
|
||||
.mw_transparency_95 { background: rgba(39, 43, 52, 0.95); }
|
||||
.mw_transparency_96 { background: rgba(39, 43, 52, 0.96); }
|
||||
.mw_transparency_97 { background: rgba(39, 43, 52, 0.97); }
|
||||
.mw_transparency_98 { background: rgba(39, 43, 52, 0.98); }
|
||||
.mw_transparency_99 { background: rgba(39, 43, 52, 0.99); }
|
|
@ -0,0 +1,390 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.40.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkAboutDialog" id="about_page">
|
||||
<property name="width-request">320</property>
|
||||
<property name="height-request">480</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="border-width">5</property>
|
||||
<property name="window-position">center-on-parent</property>
|
||||
<property name="icon">../icons/solarfm.png</property>
|
||||
<property name="type-hint">dialog</property>
|
||||
<property name="skip-taskbar-hint">True</property>
|
||||
<property name="skip-pager-hint">True</property>
|
||||
<property name="deletable">False</property>
|
||||
<property name="gravity">center</property>
|
||||
<property name="program-name">SolarFM</property>
|
||||
<property name="version">0.0.1</property>
|
||||
<property name="copyright" translatable="yes">Copyright (C) 2021 GPL2</property>
|
||||
<property name="comments" translatable="yes">by ITDominator</property>
|
||||
<property name="website">https://code.itdominator.com/itdominator/SolarFM</property>
|
||||
<property name="license" translatable="yes">SolarFM - Copyright (C) 2021 ITDominator GPL2
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
</property>
|
||||
<property name="authors">Lead Developer:
|
||||
ITDominator <1itdominator@gmail.com>
|
||||
|
||||
|
||||
SolarFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspection.</property>
|
||||
<property name="translator-credits" translatable="yes" comments="Please replace this line with your own names, one name per line. ">translator-credits</property>
|
||||
<property name="logo">../icons/solarfm-64x64.png</property>
|
||||
<property name="wrap-license">True</property>
|
||||
<property name="license-type">custom</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
<property name="can-focus">False</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox">
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.40.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkStatusbar" id="general_info">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">10</property>
|
||||
<property name="margin-right">10</property>
|
||||
<property name="margin-start">10</property>
|
||||
<property name="margin-end">10</property>
|
||||
<property name="margin-top">5</property>
|
||||
<property name="spacing">15</property>
|
||||
<property name="baseline-position">top</property>
|
||||
<child type="center">
|
||||
<object class="GtkLabel" id="line_char_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="single-line-mode">True</property>
|
||||
<property name="max-width-chars">10</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="path_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="ellipsize">start</property>
|
||||
<property name="single-line-mode">True</property>
|
||||
<property name="max-width-chars">320</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="file_type_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="encoding_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.40.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkFileChooserDialog" id="save_load_dialog">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="type-hint">dialog</property>
|
||||
<property name="do-overwrite-confirmation">True</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="layout-style">end</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button11">
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="use-action-appearance">True</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="use-stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button12">
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="use-action-appearance">True</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="use-stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="-6">button11</action-widget>
|
||||
<action-widget response="-5">button12</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
</interface>
|