diff --git a/GtkSource - 5 Language Definition v2.0 Tutorial.pdf b/GtkSource - 5 Language Definition v2.0 Tutorial.pdf
new file mode 100644
index 0000000..2f592af
Binary files /dev/null and b/GtkSource - 5 Language Definition v2.0 Tutorial.pdf differ
diff --git a/images/pic1.png b/images/pic1.png
index 740e29e..5ad4a0a 100644
Binary files a/images/pic1.png and b/images/pic1.png differ
diff --git a/src/core/controller.py b/src/core/controller.py
index 470c7b0..e4aa7de 100644
--- a/src/core/controller.py
+++ b/src/core/controller.py
@@ -9,7 +9,6 @@ from gi.repository import Gtk
# Application imports
from .mixins.signals_mixins import SignalsMixins
from .controller_data import ControllerData
-from .widgets.transparency_scale import TransparencyScale
@@ -40,8 +39,6 @@ class Controller(SignalsMixins, ControllerData):
def _subscribe_to_events(self):
event_system.subscribe("shutting_down", lambda: print("Shutting down..."))
event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc)
- event_system.subscribe("remove_transparency", self._remove_transparency)
- event_system.subscribe("update_transparency", self._update_transparency)
def setup_builder_and_container(self):
self.builder = Gtk.Builder()
@@ -52,24 +49,12 @@ class Controller(SignalsMixins, ControllerData):
glade_box = self.builder.get_object("glade_box")
self.base_container = glade_box
- self.ctx = self.base_container.get_style_context()
- self.ctx.add_class(f"mw_transparency_{settings.theming.transparency}")
settings_manager.register_signals_to_builder([self, self.base_container])
- TransparencyScale()
- self.window.add(glade_box)
-
def _interactive_debug(self, widget = None, eve = None):
event_system.emit("load_interactive_debug")
- def _remove_transparency(self):
- self.ctx.remove_class(f"mw_transparency_{settings.theming.transparency}")
-
- def _update_transparency(self):
- self.ctx.add_class(f"mw_transparency_{settings.theming.transparency}")
-
-
def _close_app(self):
event_system.emit("tear_down")
diff --git a/src/core/widgets/transparency_scale.py b/src/core/widgets/transparency_scale.py
deleted file mode 100644
index 8914512..0000000
--- a/src/core/widgets/transparency_scale.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Python imports
-
-# Lib imports
-import gi
-gi.require_version('Gtk', '3.0')
-from gi.repository import Gtk
-
-# Application imports
-
-
-
-class TransparencyScale(Gtk.Scale):
- def __init__(self):
- super(TransparencyScale, self).__init__()
-
- builder = settings_manager.get_builder()
- builder.get_object("menu_box").add(self)
-
- self._setup_styling()
- self._setup_signals()
- self._subscribe_to_events()
- self._load_widgets()
-
- self.show_all()
-
-
- def _setup_styling(self):
- self.set_digits(0)
- self.set_value_pos(Gtk.PositionType.RIGHT)
- self.add_mark(0.0, Gtk.PositionType.LEFT, "Transparency")
- self.add_mark(50.0, Gtk.PositionType.TOP, "50%")
- self.set_hexpand(True)
-
- def _setup_signals(self):
- self.connect("value-changed", self._update_transparency)
-
- def _subscribe_to_events(self):
- ...
-
- def _load_widgets(self):
- adjust = self.get_adjustment()
- adjust.set_lower(0)
- adjust.set_upper(99)
- adjust.set_value(settings.theming.transparency)
- adjust.set_step_increment(1.0)
-
- def _update_transparency(self, range):
- event_system.emit("remove_transparency")
- tp = int(range.get_value())
- settings.theming.transparency = tp
- event_system.emit("update_transparency")
diff --git a/src/core/window.py b/src/core/window.py
index 35d3d01..c2e6444 100644
--- a/src/core/window.py
+++ b/src/core/window.py
@@ -47,7 +47,6 @@ class Window(Gtk.ApplicationWindow):
ctx = self.get_style_context()
ctx.add_class("main-window")
- ctx.add_class(f"mw_transparency_{settings.theming.transparency}")
def _setup_signals(self):
GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._tear_down)
@@ -86,7 +85,6 @@ class Window(Gtk.ApplicationWindow):
if visual and screen.is_composited() and settings.config.make_transparent == 0:
self.set_visual(visual)
self.set_app_paintable(True)
- self.connect("draw", self._area_draw)
# bind css file
cssProvider = Gtk.CssProvider()
@@ -95,11 +93,6 @@ class Window(Gtk.ApplicationWindow):
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(screen, cssProvider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
- def _area_draw(self, widget: Gtk.ApplicationWindow, cr: cairo.Context) -> None:
- cr.set_source_rgba( *settings_manager.get_paint_bg_color() )
- cr.set_operator(cairo.OPERATOR_SOURCE)
- cr.paint()
- cr.set_operator(cairo.OPERATOR_OVER)
def _load_interactive_debug(self):
self.set_interactive_debugging(True)
diff --git a/src/newton.zip b/src/newton.zip
deleted file mode 100644
index a585001..0000000
Binary files a/src/newton.zip and /dev/null differ
diff --git a/src/utils/languages.py b/src/utils/languages.py
index c5dc463..d588813 100644
--- a/src/utils/languages.py
+++ b/src/utils/languages.py
@@ -187,7 +187,36 @@ samples['html'] = """
# samples['idl'] = """
# samples['imagej'] = """
# samples['ini'] = """
-# samples['java'] = """
+samples['java'] = """
+package com.itdominator.api;
+
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Primary;
+import org.springframework.core.env.Environment;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+
+@Configuration
+public class DataSourceConfig {
+
+ @Autowired
+ Environment env;
+
+ @Bean
+ @Primary
+ public javax.sql.DataSource dataSource() {
+ final DriverManagerDataSource dataSource = new DriverManagerDataSource();
+ dataSource.setDriverClassName(env.getProperty("driverClassName"));
+ dataSource.setUrl(env.getProperty("url"));
+ // dataSource.setUsername(env.getProperty("user"));
+ // dataSource.setPassword(env.getProperty("password"));
+ return dataSource;
+ }
+}
+
+"""
samples['js'] = """
const loadBackground = () => {
const bgElm = document.getElementById("bg");
diff --git a/user_config/local/share/gtksourceview-4/language-specs/c.lang b/user_config/local/share/gtksourceview-4/language-specs/c.lang
new file mode 100644
index 0000000..8dcf2dd
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/c.lang
@@ -0,0 +1,388 @@
+
+
+
+
+ text/x-c;text/x-csrc;image/x-xpixmap
+ *.c
+ //
+ /*
+ */
+ .c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+ ^\s*#\s*
+
+ \\( # 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
+ )
+
+
+
+
+
+
+
+ \%\%|\%
+ (?:[1-9][0-9]*\$)? # argument
+ [#0\-\ \+\'I]* # flags
+ (?:[1-9][0-9]*|\*)? # width
+ (?:\.\-?(?:[0-9]+|\*))? # precision
+ (?:hh|ll|[hlLqjzt])? # length modifier
+ [diouxXeEfFgGaAcsCSpnm] # conversion specifier
+
+
+
+
+
+
+
+
+
+ \%{preproc-start}
+ (include|import)\s*
+ (<.*?>)
+
+
+
+
+
+
+
+
+ \%{preproc-start}
+ (include|import)\s*
+ (".*?")
+
+
+
+
+
+
+
+
+ \%{preproc-start}
+ (define|undef|error|pragma|ident|if(n?def)?|else|elif(n?def)?|endif|line|warning|embed)
+ \b
+
+
+
+
+
+
+
+
+
+
+ (L|u8|u|U)?"
+ "
+
+
+
+ \%{escaped-character}
+
+
+
+
+
+
+ (L|u8|u|U)?'(\%{escaped-character}|.)'
+
+
+
+
+
+ (?<![\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\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[xX][a-fA-F0-9]+[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[xX][a-fA-F0-9]*[g-zG-Z][a-zA-Z0-9]*[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[0-7]+[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[0-7]*[89][0-9]*[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[bB][01]+[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[bB][01]*[2-9][a-zA-Z0-9]*[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ (0|[1-9][0-9]*)[uUlL]*
+ (?![\w\.])
+
+
+
+
+ asm
+ break
+ case
+ constexpr
+ continue
+ default
+ do
+ else
+ for
+ fortran
+ goto
+ if
+ return
+ switch
+ while
+
+
+
+ enum
+ struct
+ typedef
+ union
+
+
+
+ (_A|a)lignof
+ _Generic
+ offsetof
+ (_S|s)tatic_assert
+ sizeof
+ typeof
+
+
+
+ (_B|b)ool
+ _Complex
+ _Imaginary
+ char
+ double
+ float
+ int
+ long
+ short
+ signed
+ unsigned
+ void
+ [a-z_][0-9a-z_]+(_t|_T)
+
+
+
+ (_A|a)lignas
+ _Atomic
+ (_N|n)oreturn
+ (_T|t)hread_local
+ auto
+ const
+ extern
+ inline
+ register
+ restrict
+ static
+ volatile
+
+
+
+
+ true
+ false
+
+
+
+ nullptr
+
+
+
+ NULL
+ MAX
+ MIN
+ TRUE
+ FALSE
+ __LINE__
+ __DATE__
+ __FILE__
+ __func__
+ __TIME__
+ __STDC__
+
+
+
+ stdin
+ stdout
+ stderr
+
+
+
+ SIGABRT
+ SIGALRM
+ SIGCHLD
+ SIGCONT
+ SIGFPE
+ SIGHUP
+ SIGILL
+ SIGINT
+ SIGKILL
+ SIGPIPE
+ SIGQUIT
+ SIGSEGV
+ SIGSTOP
+ SIGTERM
+ SIGTRAP
+ SIGTSTP
+ SIGTTIN
+ SIGTTOU
+ SIGUSR1
+ SIGUSR2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/cpp.lang b/user_config/local/share/gtksourceview-4/language-specs/cpp.lang
new file mode 100644
index 0000000..0265b37
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/cpp.lang
@@ -0,0 +1,132 @@
+
+
+
+
+ text/x-c++;text/x-cpp;text/x-c++src
+ *.cpp;*.cxx;*.cc;*.C;*.c++;*.tpp
+ //
+ /*
+ */
+ .cc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+
+
+
+
+
+ R"([^\(\)\\ ]*)\(
+ \)\%{1@start}"
+
+
+
+ and
+ and_eq
+ bitand
+ bitor
+ catch
+ compl
+ concept
+ consteval
+ constinit
+ const_cast
+ co_await
+ co_return
+ co_yield
+ decltype
+ delete
+ dynamic_cast
+ export
+ final
+ friend
+ import
+ module
+ new
+ noexcept
+ not
+ not_eq
+ operator
+ or
+ or_eq
+ override
+ private
+ protected
+ public
+ reinterpret_cast
+ requires
+ static_cast
+ this
+ thread_local
+ throw
+ try
+ typeid
+ using
+ xor
+ xor_eq
+
+ class
+ namespace
+ typename
+ template
+ virtual
+
+
+
+ explicit
+ mutable
+
+
+
+ __STDC__
+ __cplusplus
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/csharp.lang b/user_config/local/share/gtksourceview-4/language-specs/csharp.lang
new file mode 100644
index 0000000..07cb003
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/csharp.lang
@@ -0,0 +1,297 @@
+
+
+
+
+ text/x-csharpsrc;text/x-csharp
+ *.cs
+ //
+ /*
+ */
+ .cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+
+
+
+
+
+ ^\s*#\s*
+
+
+
+
+
+ \%{preproc-start}
+ (define|undef|if(n?def)?|else|elif|endif|line|error|warning|region|endregion)
+ \b
+
+
+
+
+
+
+
+
+ @"
+ "
+
+
+
+ async
+ await
+ class
+ delegate
+ enum
+ event
+ interface
+ namespace
+ struct
+ using
+ abstract
+ const
+ explicit
+ extern
+ fixed
+ implicit
+ internal
+ lock
+ out
+ override
+ params
+ partial
+ private
+ protected
+ public
+ record
+ ref
+ sealed
+ static
+ readonly
+ unsafe
+ virtual
+ volatile
+ add
+ as
+ assembly
+ base
+ break
+ case
+ catch
+ checked
+ continue
+ default
+ do
+ else
+ finally
+ for
+ foreach
+ get
+ goto
+ if
+ in
+ init
+ is
+ nameof
+ new
+ remove
+ return
+ set
+ sizeof
+ stackalloc
+ super
+ switch
+ this
+ throw
+ try
+ typeof
+ unchecked
+ value
+ var
+ void
+ while
+ yield
+
+
+
+ bool
+ byte
+ char
+ decimal
+ double
+ dynamic
+ float
+ int
+ long
+ object
+ operator
+ sbyte
+ short
+ string
+ uint
+ ulong
+ ushort
+
+
+
+ null
+
+
+
+ false
+ true
+
+
+
+
+ (?<![\w\.])
+ [0-9]+[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ 0[xX][a-fA-F0-9]+[uUlL]*
+ (?![\w\.])
+
+
+
+
+
+ (?<![\w\.])
+ ((\.[0-9]+|[0-9]+\.[0-9]*)([Ee][+-]?[0-9]*)?[FfDdMm]?|
+ ([0-9]+[Ee][+-]?[0-9]*)[FfDdMm]? |
+ ([0-9]+)[FfDdMm])
+ (?![\w\.])
+
+
+
+
+
+ \\( # 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
+ )
+
+
+
+ "
+ "
+
+
+ {[0-9][0-9:\#\%,./cdefgnrxtsuDTFGMY]*}
+
+
+ \%{escaped-character}
+
+
+
+
+
+
+
+ '(\%{escaped-character}|.)'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/def.lang b/user_config/local/share/gtksourceview-4/language-specs/def.lang
new file mode 100644
index 0000000..c127a30
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/def.lang
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $^
+
+
+
+ (?!\x{2E2F}) [\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}]
+
+
+ (?!\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}]
+
+
+ (?![\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}
+
+
+ (?![\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}
+
+
+
+ (?<![\w\.]) ([1-9][0-9]* | 0) (?![\w\.])
+
+
+ (?<![\w\.]) 0 [0-7]+ (?![\w\.])
+
+
+ (?<![\w\.]) 0 [xX] [0-9a-fA-F]+ (?![\w\.])
+
+
+ \b
+ ([0-9]+ e [-+]? [0-9]+ |
+ ([0-9]* \. [0-9]+ | [0-9]+ \.)
+ (e [-+]? [0-9]+)?) [fl]?
+ \b
+
+
+
+ \%{decimal}
+
+
+ \%{octal}
+
+
+ \%{hexadecimal}
+
+
+ \%{float}
+
+
+
+
+ \%[ # separator
+ (https?|ftp|nntp|news|javascript|about): # protocol
+ [^\ \\]* [^\ \\.:;,?><)] # address
+ (?![a-z0-9_.-]) # separator
+
+
+
+ \%[ # separator
+ (mailto:)? # optional "mailto:"
+ [a-z0-9_.+-]+ # user name
+ @ # at
+ [a-z0-9_.+-]+ # domain
+ \%] # separator
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \\$
+ ^
+
+
+
+
+
+
+ ^#!
+ $
+
+
+
+ \\.
+
+
+
+
+ "
+ "
+
+
+
+
+
+
+
+
+ '
+ '
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/java.lang b/user_config/local/share/gtksourceview-4/language-specs/java.lang
new file mode 100644
index 0000000..af7c6c8
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/java.lang
@@ -0,0 +1,259 @@
+
+
+
+
+ text/x-java
+ *.java
+ //
+ /*
+ */
+ .java
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+ \\( # leading backslash
+ [\\\"\'nrbtf] | # escaped character
+ [0-7]{1,3} | # latin encoded char
+ u[0-9a-fA-F]{4} # unicode char
+ )
+
+
+
+
+
+ "
+ "
+
+
+ \%{escaped-character}
+
+
+
+
+
+ """\s*$
+ """
+
+
+ \%{escaped-character}
+
+
+
+
+
+ '((\%{escaped-character})|.)'
+
+
+
+
+
+
+ \B@\w*
+
+
+
+ exports
+ import
+ module
+ open
+ opens
+ package
+ provides
+ requires
+ to
+ transitive
+ uses
+ with
+
+
+
+ class
+ enum
+ extends
+ implements
+ instanceof
+ interface
+ native
+ non-sealed
+ permits
+ record
+ sealed
+ throws
+
+
+
+ boolean
+ byte
+ char
+ double
+ float
+ int
+ long
+ short
+ var
+ void
+
+
+
+ abstract
+ final
+ static
+ strictfp
+ synchronized
+ transient
+ volatile
+
+
+
+ private
+ protected
+ public
+
+
+
+ assert
+ break
+ case
+ catch
+ continue
+ default
+ do
+ else
+ finally
+ for
+ if
+ return
+ throw
+ switch
+ try
+ while
+ yield
+
+
+
+ new
+ super
+ this
+
+
+
+ const
+ goto
+ _
+
+
+
+ null
+
+
+
+ false
+ true
+
+
+
+
+ \b(
+ \d+[fd] |
+ ((\d*\.\d+|\d+\.)(e[-+]?\d+)? |
+ \d+e[-+]?\d+)[fd]?
+ )
+
+
+
+ \b(0x[\da-f]+|0[0-7]+)l?
+
+
+ \b([1-9]\d*|0)l?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/javascript.lang b/user_config/local/share/gtksourceview-4/language-specs/javascript.lang
new file mode 100644
index 0000000..4b3223a
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/javascript.lang
@@ -0,0 +1,1060 @@
+
+
+
+
+ application/javascript;application/x-javascript;text/x-javascript;text/javascript;text/x-js
+ *.js;*.mjs
+ //
+ /*
+ */
+ .js
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (?!\N{U+2E2F})[\p{L}\p{Nl}\N{U+1885}-\N{U+1886}\N{U+2118}\N{U+212E}\N{U+309B}-\N{U+309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\N{U+00B7}\N{U+0387}\N{U+1369}-\N{U+1371}\N{U+19DA}$\N{U+200C}\N{U+200D}]
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+
+
+
+
+
+
+ \\u (?: [0-9a-fA-F]{4} | { [0-9a-fA-F]{1,} } )
+
+
+
+
+ \%{def:unicode-id-start} | [$_] | \%{unicode-escape}
+
+
+
+
+ \%{def:unicode-id-continue} | [$\N{U+200C}\N{U+200D}]
+
+
+
+
+ \%{identifier-char} | \%{unicode-escape}
+
+
+
+
+ \%{identifier-start} \%{identifier-part}*
+
+
+
+ (?<! \%{identifier-char} ) (?= \%{identifier-start} )
+
+
+
+ (?<! \%{identifier-char} )
+
+
+
+ (?! \%{identifier-char} )
+
+
+
+
+
+ [\t\N{U+000B}\f \N{U+00A0}\N{U+FEFF}\p{Zs}]
+
+
+
+
+ [^\t\N{U+000B}\f \N{U+00A0}\N{U+FEFF}\p{Zs}\n\r\N{U+2028}\N{U+2029}]
+
+
+
+ (?= \%{not-whitespace} )
+
+
+
+ ; | \%{before-next-token}
+
+
+
+ \%{statement-end} | $
+
+
+
+
+
+\*
+
+\.\.\.
+
+\.\.\.
+
+
+
+
+ (?<! \%{identifier-char} | \. )
+
+
+
+ (?! \%{identifier-part} | \. )
+
+
+
+
+
+ \%{keyword-start} as \%{keyword-end}
+
+
+
+ \%{keyword-start} async \%{keyword-end}
+
+
+
+ \%{keyword-start} await \%{keyword-end}
+
+
+
+ \%{keyword-start} break \%{keyword-end}
+
+
+
+ \%{keyword-start} case \%{keyword-end}
+
+
+
+ \%{keyword-start} catch \%{keyword-end}
+
+
+
+ \%{keyword-start} class \%{keyword-end}
+
+
+
+ \%{keyword-start} const \%{keyword-end}
+
+
+
+ \%{keyword-start} continue \%{keyword-end}
+
+
+
+ \%{keyword-start} debugger \%{keyword-end}
+
+
+
+ \%{keyword-start} default \%{keyword-end}
+
+
+
+ \%{keyword-start} delete \%{keyword-end}
+
+
+
+ \%{keyword-start} do \%{keyword-end}
+
+
+
+ \%{keyword-start} else \%{keyword-end}
+
+
+
+ \%{keyword-start} export \%{keyword-end}
+
+
+
+ \%{keyword-start} extends \%{keyword-end}
+
+
+
+ \%{keyword-start} false \%{keyword-end}
+
+
+
+ \%{keyword-start} finally \%{keyword-end}
+
+
+
+ \%{keyword-start} for \%{keyword-end}
+
+
+
+ \%{keyword-start} from \%{keyword-end}
+
+
+
+ \%{keyword-start} function \%{keyword-end}
+
+
+
+ \%{keyword-start} get \%{keyword-end}
+
+
+
+ \%{keyword-start} if \%{keyword-end}
+
+
+
+ \%{keyword-start} import \%{keyword-end}
+
+
+
+ \%{keyword-start} in \%{keyword-end}
+
+
+
+ \%{keyword-start} instanceof \%{keyword-end}
+
+
+
+ \%{keyword-start} let \%{keyword-end}
+
+
+
+ \%{keyword-start} meta \%{keyword-end}
+
+
+
+ \%{keyword-start} new \%{keyword-end}
+
+
+
+ \%{keyword-start} null \%{keyword-end}
+
+
+
+ \%{keyword-start} of \%{keyword-end}
+
+
+
+ \%{keyword-start} return \%{keyword-end}
+
+
+
+ \%{keyword-start} set \%{keyword-end}
+
+
+
+ \%{keyword-start} static \%{keyword-end}
+
+
+
+ \%{keyword-start} super \%{keyword-end}
+
+
+
+ \%{keyword-start} switch \%{keyword-end}
+
+
+
+ \%{keyword-start} target \%{keyword-end}
+
+
+
+ \%{keyword-start} this \%{keyword-end}
+
+
+
+ \%{keyword-start} throw \%{keyword-end}
+
+
+
+ \%{keyword-start} true \%{keyword-end}
+
+
+
+ \%{keyword-start} try \%{keyword-end}
+
+
+
+ \%{keyword-start} typeof \%{keyword-end}
+
+
+
+ \%{keyword-start} var \%{keyword-end}
+
+
+
+ \%{keyword-start} void \%{keyword-end}
+
+
+
+ \%{keyword-start} while \%{keyword-end}
+
+
+
+ \%{keyword-start} with \%{keyword-end}
+
+
+
+ \%{keyword-start} yield \%{keyword-end}
+
+
+
+
+ (?: \%{async-keyword} \%{optional-whitespace-or-comments} )?
+ \%{function-keyword}
+
+
+
+
+ # get property() / set property()
+ (?: \%{js:get-keyword} | \%{js:set-keyword} )
+ (?=
+ \%{js:optional-whitespace-or-comments}
+ \%{js:identifier-start}
+ ) |
+
+ # async method() / async * generator()
+ \%{js:async-keyword}
+ (?=
+ \%{js:optional-whitespace-or-comments}
+ (?: \%{js:identifier-start} | \%{js:generator-modifier} )
+ ) |
+
+ # * generator()
+ (?= \%{js:generator-modifier} )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (?=\*/)
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{keyword-start}
+ \%{keyword-end}
+ await
+ break
+ case
+ catch
+ class
+ const
+ continue
+ debugger
+ default
+ delete
+ do
+ else
+ export
+ extends
+ finally
+ for
+ function
+ if
+ import
+ instanceof
+ in
+ new
+ return
+ super
+ switch
+ this
+ throw
+ try
+ typeof
+ var
+ void
+ while
+ with
+ yield
+
+
+
+
+ \%{keyword-start}
+ \%{keyword-end}
+ let
+ static
+
+
+
+
+ \%{keyword-start}
+ \%{keyword-end}
+ enum
+
+
+
+
+ \%{keyword-start}
+ \%{keyword-end}
+ implements
+ interface
+ package
+ private
+ protected
+ public
+
+
+
+
+
+
+
+
+ \%{identifier}
+
+
+
+
+
+
+
+
+
+ \%{identifier-container-start}
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+ \%{identifier-container-start}
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{identifier-container-start}
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+ \%{identifier-container-start}
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+ =
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+ \%{rest-syntax}
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+ \%{spread-syntax}
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+ \%{generator-modifier}
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \[
+ ]
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+ ,
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ }
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+ ,
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{before-next-token}
+ \%{before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/kotlin.lang b/user_config/local/share/gtksourceview-4/language-specs/kotlin.lang
new file mode 100644
index 0000000..fa829db
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/kotlin.lang
@@ -0,0 +1,398 @@
+
+
+
+
+
+
+ text/x-kotlin
+ *.kt;*.kts
+ //
+ /*
+ */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+ [a-zA-Z_$][a-zA-Z_$0-9]*
+
+ \%{simple-name}(\.\%{simple-name})*
+
+
+ field|file|property|get|set|receiver|param|setparam|delegate
+
+
+
+
+ @(\%{annotation-target}:)?
+ ( \%{compound-name} | \[ (\%{compound-name} \s*)+ \] )
+
+
+
+
+
+
+ it
+ super
+ this@?
+
+
+
+ \\( # leading backslash
+ [\\\"\'nrbt$] | # escaped character
+ u[0-9a-fA-F]{4} # unicode char
+ )
+
+
+
+ '(\%{escaped-character}|.)'
+
+
+
+ '(\%{escaped-character}|.)[^\s]+'
+
+
+
+ class
+ constructor
+ fun
+ get
+ init
+ interface
+ object
+ set
+ typealias
+ val
+ var
+
+
+
+ (<|,) *(in|out)
+
+
+
+
+
+
+
+ as
+ break@?
+ catch
+ continue@?
+ do
+ else
+ finally
+ for
+ if
+ in
+ is
+ return@?
+ throw
+ to
+ try
+ when
+ while
+
+
+
+ import
+ package
+
+
+
+ `
+ `
+
+
+
+ abstract
+ annotation
+ by
+ companion
+ const
+ crossinline
+ data
+ enum
+ external
+ final
+ infix
+ inline
+ inner
+ internal
+ lateinit
+ noinline
+ open
+ operator
+ override
+ private
+ protected
+ public
+ reified
+ sealed
+ suspend
+ tailrec
+ vararg
+ where
+
+
+
+
+ \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
+ )
+
+
+
+
+ [-+*/%=.!|?@:;,_&<>()\[\]]
+
+
+
+ false
+ true
+ null
+
+
+
+ \$[a-zA-Z]+
+
+
+
+ \${
+ }
+
+
+
+
+
+
+ "
+ "
+
+
+ \%{escaped-character}
+
+
+
+
+
+
+
+ """
+ """
+
+
+
+
+
+
+
+ dynamic
+
+
+ Annotation
+ Any
+ Array
+ AssertionError
+ Boolean
+ BooleanArray
+ Byte
+ ByteArray
+ Char
+ CharArray
+ CharSequence
+ ClassCastException
+ Comparable
+ Comparator
+ ConcurrentModificationException
+ DeprecationLevel
+ Double
+ DoubleArray
+ Enum
+ Error
+ Exception
+ Float
+ FloatArray
+ Function
+ IllegalArgumentException
+ IllegalStateException
+ IndexOutOfBoundsException
+ Int
+ IntArray
+ KotlinVersion
+ Lazy
+ LazyThreadSafetyMode
+ Long
+ LongArray
+ NoSuchElementException
+ NoWhenBranchMatchedException
+ Nothing
+ NullPointerException
+ Number
+ NumberFormatException
+ Pair
+ RuntimeException
+ Short
+ ShortArray
+ String
+ Throwable
+ Triple
+ Unit
+ UnsupportedOperationException
+ NotImplementedError
+
+
+ AbstractCollection
+ AbstractIterator
+ AbstractList
+ AbstractMap
+ AbstractMutableCollection
+ AbstractMutableList
+ AbstractMutableMap
+ AbstractMutableSet
+ AbstractSet
+ ArrayList
+ BooleanIterator
+ ByteIterator
+ CharIterator
+ Collection
+ DoubleIterator
+ FloatIterator
+ Grouping
+ HashMap
+ HashSet
+ IndexedValue
+ IntIterator
+ Iterable
+ Iterator
+ LinkedHashMap
+ LinkedHashSet
+ List
+ ListIterator
+ LongIterator
+ Map
+ MutableCollection
+ MutableIterable
+ MutableIterator
+ MutableList
+ MutableListIterator
+ MutableMap
+ MutableSet
+ RandomAccess
+ Set
+ ShortIterator
+
+
+ CharProgression
+ CharRange
+ ClosedFloatingPointRange
+ ClosedRange
+ IntProgression
+ IntRange
+ LongProgression
+ LongRange
+
+
+ Sequence
+
+
+ Appendable
+ CharCategory
+ CharDirectionality
+ Charsets
+ MatchGroup
+ MatchGroupCollection
+ MatchNamedGroupCollection
+ MatchResult
+ Regex
+ RegexOption
+ StringBuilder
+ Typography
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/python.lang b/user_config/local/share/gtksourceview-4/language-specs/python.lang
new file mode 100644
index 0000000..f4c8187
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/python.lang
@@ -0,0 +1,484 @@
+
+
+
+
+ text/x-python;application/x-python
+ *.py;*.py2
+ #
+ .py2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+ [_a-zA-Z][_a-zA-Z0-9]*
+ [1-9][0-9]*
+
+
+ (\%{identifier}\.)*\%{identifier}
+
+
+ (\.*\%{identifier-path}|\.+)
+
+
+
+
+
+ % # leading % sign
+ \(\%{identifier}\)? # mapping key
+ [#0\-\ \+]* # conversion flags
+ (\-?\%{number}|\*)? # minimum field width
+ (\.(\-?\%{number}|\*))? # precision
+ (hlL)? # length modifier
+ [diouxXeEfFgGcrs%] # conversion type
+
+
+
+
+
+
+ \\( # 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
+ )
+
+
+
+ (u|U)?
+ (r|ur|R|UR|Ur|uR)
+
+
+ \%{string-prefix}"""
+ """
+
+
+
+
+
+
+
+ \%{string-prefix}'''
+ '''
+
+
+
+
+
+
+
+ \%{string-prefix}"
+ "
+
+
+
+
+
+
+
+
+ \%{string-prefix}'
+ '
+
+
+
+
+
+
+
+
+ \%{raw-string-prefix}"""
+ """
+
+
+
+
+
+
+
+ \%{raw-string-prefix}'''
+ '''
+
+
+
+
+
+
+
+ \%{raw-string-prefix}"
+ "
+
+
+
+
+
+
+
+
+ \%{raw-string-prefix}'
+ '
+
+
+
+
+
+
+
+
+ `
+ `
+
+
+
+
+
+
+ (?<![\w\.])
+ self
+ __name__
+ __debug__
+
+
+
+ (?<![\w\.])
+ False
+ True
+
+
+
+ ( (\d+)?\.\d+ | \d+\. ) |
+ ( (\d+|(\d+)?\.\d+|\d+\.)[eE][+-]?\d+ )
+
+
+
+ (?<![\w\.])(\%{float}|\d+)[jJ]\b
+
+
+
+ (?<![\w\.])\%{float}(?![\w\.])
+
+
+
+ (?<![\w\.])([1-9][0-9]*|0)[lL]?(?![\w\.])
+
+
+
+ (?<![\w\.])0[0-7]+[lL]?(?![\w\.])
+
+
+
+ (?<![\w\.])0[xX][0-9A-Fa-f]+[lL]?(?![\w\.])
+
+
+
+
+ (from)
+ \s+
+ (\%{relative-path})
+
+
+
+
+
+
+
+
+ import
+ from
+ as
+
+
+
+
+
+ (def)
+ \s+
+ (\%{identifier})
+
+
+
+
+
+
+
+
+
+
+ (class)
+ \s+
+ (\%{identifier})
+
+
+
+
+
+
+
+
+ @\%{identifier-path}
+
+
+
+ and
+ assert
+ break
+ class
+ continue
+ def
+ del
+ elif
+ else
+ except
+ finally
+ for
+ global
+ if
+ in
+ is
+ lambda
+ not
+ or
+ pass
+ raise
+ return
+ try
+ while
+ with
+ yield
+
+
+
+ exec
+ print
+
+
+
+ (?<![\w\.])
+ Ellipsis
+ None
+ NotImplemented
+
+
+
+ (?<![\w\.])
+ ArithmeticError
+ AssertionError
+ AttributeError
+ EnvironmentError
+ EOFError
+ Exception
+ FloatingPointError
+ ImportError
+ IndentationError
+ IndexError
+ IOError
+ KeyboardInterrupt
+ KeyError
+ LookupError
+ MemoryError
+ NameError
+ NotImplementedError
+ OSError
+ OverflowError
+ ReferenceError
+ RuntimeError
+ StandardError
+ StopIteration
+ SyntaxError
+ SystemError
+ SystemExit
+ TabError
+ TypeError
+ UnboundLocalError
+ UnicodeDecodeError
+ UnicodeEncodeError
+ UnicodeError
+ UnicodeTranslateError
+ ValueError
+ WindowsError
+ ZeroDivisionError
+ Warning
+ UserWarning
+ DeprecationWarning
+ PendingDeprecationWarning
+ SyntaxWarning
+ OverflowWarning
+ RuntimeWarning
+ FutureWarning
+
+
+
+ (?<![\w\.])
+ __import__
+ abs
+ all
+ any
+ bin
+ bool
+ callable
+ chr
+ classmethod
+ compile
+ complex
+ delattr
+ dict
+ dir
+ divmod
+ enumerate
+ eval
+ filter
+ float
+ format
+ frozenset
+ getattr
+ globals
+ hasattr
+ hash
+ hex
+ id
+ input
+ int
+ isinstance
+ issubclass
+ iter
+ len
+ list
+ locals
+ map
+ max
+ min
+ object
+ oct
+ open
+ ord
+ pow
+ property
+ range
+ repr
+ reversed
+ round
+ setattr
+ set
+ slice
+ sorted
+ staticmethod
+ str
+ sum
+ super
+ tuple
+ type
+ vars
+ zip
+
+
+
+ (?<![\w\.])
+ apply
+ basestring
+ buffer
+ cmp
+ coerce
+ execfile
+ file
+ intern
+ long
+ raw_input
+ reduce
+ reload
+ unichr
+ unicode
+ xrange
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/python3.lang b/user_config/local/share/gtksourceview-4/language-specs/python3.lang
new file mode 100644
index 0000000..e79d4e0
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/python3.lang
@@ -0,0 +1,385 @@
+
+
+
+
+ text/x-python;application/x-python;text/x-python3
+ *.py;*.py3;*.pyi
+ #
+ .py
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+
+ (?> (?: _ | \%{def:unicode-xid-start} ) \%{def:unicode-xid-continue}* )
+
+ [1-9][0-9]*
+
+
+ (\%{identifier}\.)*\%{identifier}
+
+
+ (\.*\%{identifier-path}|\.+)
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+
+ % # leading % sign
+ \(\%{identifier}\)? # mapping key
+ [#0\-\ \+]* # conversion flags
+ (\-?\%{number}|\*)? # minimum field width
+ (\.(\-?\%{number}|\*))? # precision
+ (hlL)? # length modifier
+ [diouxXeEfFgGcrs%] # conversion type
+
+
+
+
+ \{
+ \}
+
+
+
+
+
+
+
+ (\{)
+ (\})
+
+
+
+
+
+
+
+
+
+ \{\{
+
+
+ (b|B)?
+ (r|R|rb|RB|rB|Rb|br|BR|bR|Br)
+ (f|F)
+
+
+ \%{string-prefix}"""
+ """
+
+
+
+
+
+
+
+ \%{string-prefix}'''
+ '''
+
+
+
+
+
+
+
+ \%{string-prefix}"
+ "
+
+
+
+
+
+
+
+
+ \%{string-prefix}'
+ '
+
+
+
+
+
+
+
+ (\%{f-string-prefix}""")
+ (""")
+
+
+
+
+
+
+ .
+
+
+
+
+
+
+
+ (\%{f-string-prefix}''')
+ (''')
+
+
+
+
+
+
+ .
+
+
+
+
+
+
+
+ (\%{f-string-prefix}")
+ (")
+
+
+
+
+
+
+ .
+
+
+
+
+
+
+
+ (\%{f-string-prefix}')
+ (')
+
+
+
+
+
+
+ .
+
+
+
+
+
+
+
+ \%{raw-string-prefix}"""
+ """
+
+
+
+
+
+
+ \%{raw-string-prefix}'''
+ '''
+
+
+
+
+
+
+ \%{raw-string-prefix}"
+ "
+
+
+
+
+
+
+
+ \%{raw-string-prefix}'
+ '
+
+
+
+
+
+
+
+
+ (from)
+ \s+
+ (\%{relative-path})
+
+
+
+
+
+
+
+
+
+
+ (def)
+ \s+
+ (\%{identifier})
+
+
+
+
+
+
+
+
+
+
+ (class)
+ \s+
+ (\%{identifier})
+
+
+
+
+
+
+
+
+ @\%{identifier-path}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (?<![\w\.])([1-9](_?[0-9])*|0)(?![\w\.])
+
+
+
+ (?<![\w\.])0[bB](_?[0-1])+(?![\w\.])
+
+
+
+ (?<![\w\.])0[oO](_?[0-7])+(?![\w\.])
+
+
+
+ (?<![\w\.])0[xX](_?[0-9A-Fa-f])+(?![\w\.])
+
+
+
+
+
+
+
+
+
+
+ async
+ await
+ nonlocal
+ match
+ case
+
+
+
+
+
+ (?<![\w\.])
+ ResourceWarning
+
+
+
+
+ (?<![\w\.])
+ ascii
+ bin
+ breakpoint
+ bytearray
+ bytes
+ exec
+ format
+ memoryview
+ next
+ print
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/language-specs/typescript.lang b/user_config/local/share/gtksourceview-4/language-specs/typescript.lang
new file mode 100644
index 0000000..948b90e
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/language-specs/typescript.lang
@@ -0,0 +1,1046 @@
+
+
+
+
+ application/typescript;application/x-typescript;text/x-typescript;text/typescript
+ *.ts
+ //
+ /*
+ */
+ .ts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (?!\N{U+2E2F})[\p{L}\p{Nl}\N{U+1885}-\N{U+1886}\N{U+2118}\N{U+212E}\N{U+309B}-\N{U+309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\N{U+00B7}\N{U+0387}\N{U+1369}-\N{U+1371}\N{U+19DA}$\N{U+200C}\N{U+200D}]
+
+
+
+
+
+
+
+ (\.[\s\n\r]*[\w]+)[\s\n\r]*(?=\(.*\))
+
+
+
+
+
+
+
+
+
+ \%{js:keyword-start} abstract \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} any \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} asserts \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} bigint \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} boolean \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} declare \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} enum \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} global \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} implements \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} infer \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} interface \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} is \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} keyof \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} module \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} namespace \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} never \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} number \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} object \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} private \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} protected \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} public \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} readonly \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} require \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} string \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} symbol \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} type \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} undefined \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} unique \%{js:keyword-end}
+
+
+
+ \%{js:keyword-start} unknown \%{js:keyword-end}
+
+
+
+
+ (?: \%{abstract-keyword} \%{js:optional-whitespace-or-comments} )?
+ \%{js:class-keyword}
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <
+ (?: amd-module | amd-dependency | reference )
+ (?>
+ (?:
+ \s+ |
+ (?<= \s ) [\w-]+ \s* = \s* (?: '[^']*' | "[^"]*" )
+ )*
+ )
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:identifier-container-start}
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+ \.(?=\%{js:identifier-start})
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+ (?=\.)
+ \.
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+ #(?=\%{js:identifier-start})
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+ \%{js:new-keyword}
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+ \?
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+ !
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+ \%{js:this-keyword}
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+ \(
+ \)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+ \.
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:keyword-start}
+ \%{js:keyword-end}
+ Exclude
+ Extract
+ InstanceType
+ NonNullable
+ Omit
+ Partial
+ Pick
+ ReadonlyArray
+ Readonly
+ Record
+ Required
+ ReturnType
+ ThisType
+
+
+
+
+ (?<! \%{js:identifier-char} )
+ (?= (?> \%{js:identifier} ) (?! \. ) )
+
+ \%{def:always-match}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:identifier-container-start}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+ \(
+ \)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+ \.
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+ \%{js:import-keyword}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+ \%{js:identifier-container-start}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+ ,
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \%{js:before-next-token}
+ \%{js:before-next-token}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/styles/peacocks-in-space.xml b/user_config/local/share/gtksourceview-4/styles/peacocks-in-space.xml
new file mode 100644
index 0000000..951554b
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/styles/peacocks-in-space.xml
@@ -0,0 +1,120 @@
+
+ ITDominator
+ An attempted clone of Dayle Rees' Peacocks In Space theme.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/local/share/gtksourceview-4/styles/penguins-in-space.xml b/user_config/local/share/gtksourceview-4/styles/penguins-in-space.xml
new file mode 100644
index 0000000..596a258
--- /dev/null
+++ b/user_config/local/share/gtksourceview-4/styles/penguins-in-space.xml
@@ -0,0 +1,117 @@
+
+ ITDominator
+ An homage to Dayle Rees' Peacocks In Space theme.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/user_config/usr/share/gtkcodethemer/Main_Window.glade b/user_config/usr/share/gtkcodethemer/Main_Window.glade
index fb3cdc3..4aa1bb2 100644
--- a/user_config/usr/share/gtkcodethemer/Main_Window.glade
+++ b/user_config/usr/share/gtkcodethemer/Main_Window.glade
@@ -8,11 +8,6 @@
False
gtk-missing-image
-
diff --git a/user_config/usr/share/gtkcodethemer/stylesheet.css b/user_config/usr/share/gtkcodethemer/stylesheet.css
index ce012b1..3ae8097 100644
--- a/user_config/usr/share/gtkcodethemer/stylesheet.css
+++ b/user_config/usr/share/gtkcodethemer/stylesheet.css
@@ -1,130 +1,8 @@
+.main-window > box {
+ background: rgba(39, 43, 52, 1.0);
+}
+
+
.base-container {
margin: 10px;
}
-
-
-
-
-/* * selection {
- background-color: rgba(116, 0, 0, 0.65);
- color: rgba(255, 255, 255, 0.5);
-} */
-
-/* Rubberband coloring */
-/* .rubberband,
-rubberband,
-flowbox rubberband,
-treeview.view rubberband,
-.content-view rubberband,
-.content-view .rubberband,
-XfdesktopIconView.view .rubberband {
- border: 1px solid #6c6c6c;
- background-color: rgba(21, 158, 167, 0.57);
-}
-
-XfdesktopIconView.view:active {
- background-color: rgba(172, 102, 21, 1);
-} */
-
-
-
-
-.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); }