rouge-gtk_theme_loader 0.2.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -3
- data/lib/rouge/gtk_theme_loader/version.rb +1 -1
- data/lib/rouge/gtk_theme_loader.rb +20 -6
- data/screenshots/1.png +0 -0
- data/screenshots/2.png +0 -0
- data/screenshots/3.png +0 -0
- data/screenshots/4.png +0 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d67d1e8cb8dc82d230472e916c32c59a666917015a7b5e147f7928c2596bbf58
|
4
|
+
data.tar.gz: e6a2816937838310a3f778e33ec7a021ec78f1e737e773c2079d24a290bde44e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa915a5dabf80736613975c3ea865431ebc5e7a264fc968b129646e8dbac3de49e210cdd55ffeb3486dc39386b46f47ba245b0c4b78e00807c2f025bf7115808
|
7
|
+
data.tar.gz: 56422be1692e264b616becd2cee3b3cd4e263af070dea18fdffeb7a676353b30cf7d8c776435ddf8a15989e2aac1159e563b98da6abdfb1e961aa294e1340dea
|
data/README.md
CHANGED
@@ -10,9 +10,19 @@ Install the gem and add to the application's Gemfile by executing:
|
|
10
10
|
|
11
11
|
## Usage
|
12
12
|
|
13
|
-
Require Rouge first. Then require 'rouge/gtk_theme_loader' and it will attempt to load
|
14
|
-
GtkSourceView themes into Rouge. If you want to install your own custom
|
15
|
-
themes, you can install them in
|
13
|
+
Require Rouge first. Then require 'rouge/gtk_theme_loader' and it will attempt to load
|
14
|
+
any installed GtkSourceView themes into Rouge. If you want to install your own custom
|
15
|
+
GtkSourceView themes, you can install them in
|
16
|
+
`~/.local/share/gtksourceview-4/styles`, or if you want them to only
|
17
|
+
apply to Rouge, you can drop them in `~/.local/share/rouge/styles` (NOTE: This
|
18
|
+
path has changed to match XDG specs better, and to match GtkSourceView
|
19
|
+
naming convention better). It will also check /usr/share/gtksourceview-4
|
20
|
+
as well as gtksourceview-2.0 and gtksourceview-3.0 directories.
|
21
|
+
|
22
|
+
For a source of GtkSourceView style files that have been mostly
|
23
|
+
tested with this gem, check out:
|
24
|
+
|
25
|
+
<https://github.com/trusktr/gedit-color-schemes/tree/master>
|
16
26
|
|
17
27
|
## Development
|
18
28
|
|
@@ -16,10 +16,14 @@ module Rouge
|
|
16
16
|
"/usr/share/gtksourceview-2.0/styles/*.xml",
|
17
17
|
"/usr/share/gtksourceview-3.0/styles/*.xml",
|
18
18
|
"/usr/share/gtksourceview-4/styles/*.xml",
|
19
|
-
"~/.
|
19
|
+
"~/.local/share/gtksourceview-2.0/styles/*.xml",
|
20
|
+
"~/.local/share/gtksourceview-3.0/styles/*.xml",
|
21
|
+
"~/.local/share/gtksourceview-4/styles/*.xml",
|
22
|
+
"~/.local/share/rouge/styles/*.xml"
|
20
23
|
]
|
21
24
|
|
22
|
-
#
|
25
|
+
# GTK source view mappings to Rouge token mappings
|
26
|
+
# This is incomplete.
|
23
27
|
GTKMAPPING = {
|
24
28
|
"def:string" => Literal::String,
|
25
29
|
"def:constant" => Literal,
|
@@ -32,6 +36,16 @@ module Rouge
|
|
32
36
|
"def:identifier" => Name::Builtin,
|
33
37
|
"def:emphasis" => Generic::Emph,
|
34
38
|
"def:preprocessor" => Name::Builtin,
|
39
|
+
"def:builtin" => Name::Builtin,
|
40
|
+
"def:instance-variable" => Name::Variable::Instance,
|
41
|
+
"def:operator" => Operator,
|
42
|
+
"def:boolean" => Keyword::Pseudo,
|
43
|
+
|
44
|
+
# FIXME: Use theme specific ones as fallbacks only.
|
45
|
+
"ruby:global-variable" => Name::Variable::Global,
|
46
|
+
"ruby:instance-variable" => Name::Variable::Instance,
|
47
|
+
"ruby:constant" => Name::Constant,
|
48
|
+
"ruby:builtin" => Name::Builtin,
|
35
49
|
}
|
36
50
|
|
37
51
|
def self.load!
|
@@ -63,7 +77,7 @@ module Rouge
|
|
63
77
|
|
64
78
|
def self.load(theme)
|
65
79
|
xml = Nokogiri.XML(File.read(theme))
|
66
|
-
theme = Class.new(
|
80
|
+
theme = Class.new(GtkTheme)
|
67
81
|
name = xml.xpath("/style-scheme").attr("id").value
|
68
82
|
theme.name(name)
|
69
83
|
|
@@ -76,13 +90,13 @@ module Rouge
|
|
76
90
|
if @text
|
77
91
|
|
78
92
|
theme.style(Text,
|
79
|
-
:fg => @text
|
80
|
-
:bg => @text
|
93
|
+
:fg => @text&.attr("foreground")&.to_sym,
|
94
|
+
:bg => @text&.attr("background")&.to_sym
|
81
95
|
)
|
82
96
|
else
|
83
97
|
bgp = xml.xpath("//style[@name='background-pattern']")
|
84
98
|
if bgp
|
85
|
-
bg = bgp
|
99
|
+
bg = bgp&.attr("background")&.value
|
86
100
|
end
|
87
101
|
bg ||= "#000000"
|
88
102
|
if bg[0] == ?#
|
data/screenshots/1.png
ADDED
Binary file
|
data/screenshots/2.png
ADDED
Binary file
|
data/screenshots/3.png
ADDED
Binary file
|
data/screenshots/4.png
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rouge-gtk_theme_loader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vidar Hokstad
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rouge
|
@@ -36,6 +36,10 @@ files:
|
|
36
36
|
- Rakefile
|
37
37
|
- lib/rouge/gtk_theme_loader.rb
|
38
38
|
- lib/rouge/gtk_theme_loader/version.rb
|
39
|
+
- screenshots/1.png
|
40
|
+
- screenshots/2.png
|
41
|
+
- screenshots/3.png
|
42
|
+
- screenshots/4.png
|
39
43
|
- sig/rouge/gtk_theme_loader.rbs
|
40
44
|
homepage: https://github.com/vidarh/rouge-gtk_theme_loader
|
41
45
|
licenses:
|