pry-theme 0.0.7 → 0.0.8
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.
- data/CHANGELOG.md +17 -0
- data/README.md +2 -6
- data/examples/pry-classic.prytheme +2 -2
- data/lib/pry-theme/commands.rb +32 -0
- data/lib/pry-theme/helper.rb +14 -0
- data/lib/pry-theme/version.rb +1 -1
- data/lib/pry-theme/when_started_hook.rb +6 -6
- data/lib/pry-theme.rb +19 -10
- data/lib/rubygems_plugin.rb +8 -3
- data/pry-theme.gemspec +1 -1
- metadata +4 -3
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,23 @@
|
|
1
1
|
Pry Theme changelog
|
2
2
|
===================
|
3
3
|
|
4
|
+
### v0.0.8 (July 02, 2012)
|
5
|
+
|
6
|
+
* **IMPORTANT**: Changed directory where to store themes! Themes now live in
|
7
|
+
`$HOME/.pry/themes` directory on Mac OS and GNU/Linux, both. Do not forget
|
8
|
+
to delete or move your themes form the old path (On Mac OS it is
|
9
|
+
`$HOME/Library/Application Support/pry-theme` and on GNU/Linux it is
|
10
|
+
`$HOME/.pry/themes`).
|
11
|
+
* On some operating systems Pry Theme was failing to detect correct config path.
|
12
|
+
Fixed.
|
13
|
+
* Fixed wrong behaviour, when uninstalling an unrelated gem. Pry Theme asked to
|
14
|
+
uninstall themes every time you wanted to uninstall _any_ gem.
|
15
|
+
* Fixed a typo in `pry-classic` theme, which was preventing to set `delimiter`
|
16
|
+
parameter to a string.
|
17
|
+
* Fixed wrong convertation of theme files.
|
18
|
+
* Implemented `--list` (`-l`) option, which displays a list of all installed
|
19
|
+
themes.
|
20
|
+
|
4
21
|
### v0.0.7 (June 30, 2012)
|
5
22
|
|
6
23
|
* **HOTFIX**: v0.0.6 is broken (because of my inattentiveness).
|
data/README.md
CHANGED
@@ -58,13 +58,9 @@ Creating new themes isn't hard. [Check out Pry Theme Wiki article on that][new_t
|
|
58
58
|
Theme files must have `.prytheme` extension. Check out [Pry Theme Collection][ptc],
|
59
59
|
if you want to find some themes other than default ones.
|
60
60
|
|
61
|
-
* On GNU/Linux
|
61
|
+
* On GNU/Linux and Mac OS
|
62
62
|
|
63
|
-
Put your theme file in `$
|
64
|
-
|
65
|
-
* On Mac OS
|
66
|
-
|
67
|
-
Put your theme file in `$HOME/Library/Application Support/pry-theme` directory.
|
63
|
+
Put your theme file in `$HOME/.pry/themes` directory.
|
68
64
|
|
69
65
|
And don't forget to adjust your `.pryrc`!
|
70
66
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
meta:
|
3
3
|
theme-name : pry-classic
|
4
|
-
version :
|
4
|
+
version : 2
|
5
5
|
color-depth : 8
|
6
6
|
description : Based on Kornelius Kalnbach's default CodeRay's color theme.
|
7
7
|
author : Kyrylo Silin <kyrylosilin@gmail.com>
|
@@ -33,5 +33,5 @@ theme:
|
|
33
33
|
self : green
|
34
34
|
modifier : green (b)
|
35
35
|
escape : cyan (b)
|
36
|
-
|
36
|
+
delimiter : green (b)
|
37
37
|
symbol : green (b)
|
data/lib/pry-theme/commands.rb
CHANGED
@@ -2,6 +2,7 @@ module PryTheme
|
|
2
2
|
Commands = Pry::CommandSet.new do
|
3
3
|
|
4
4
|
create_command "pry-theme", "Manage your Pry themes." do
|
5
|
+
include PryTheme::Helper
|
5
6
|
|
6
7
|
banner <<-BANNER
|
7
8
|
Usage: pry-theme [OPTIONS] [--help]
|
@@ -22,6 +23,10 @@ module PryTheme
|
|
22
23
|
|
23
24
|
pry-theme -t
|
24
25
|
|
26
|
+
Show a list with currently installed themes
|
27
|
+
|
28
|
+
pry-theme --list
|
29
|
+
|
25
30
|
Wiki: https://github.com/kyrylo/pry-theme/wiki/Pry-Theme-CLI
|
26
31
|
BANNER
|
27
32
|
|
@@ -29,6 +34,7 @@ module PryTheme
|
|
29
34
|
opt.on :a, "all-colors", "Show all available 8/256 colors."
|
30
35
|
opt.on :c, "color", "Show information about a specific color (256)."
|
31
36
|
opt.on :t, "test", "Test your current theme", :argument => false
|
37
|
+
opt.on :l, "list", "Show a list with all available themes", :argument => false
|
32
38
|
end
|
33
39
|
|
34
40
|
def process
|
@@ -38,6 +44,8 @@ module PryTheme
|
|
38
44
|
show_specific_color
|
39
45
|
elsif opts.t?
|
40
46
|
test_theme
|
47
|
+
elsif opts.l?
|
48
|
+
show_list
|
41
49
|
elsif args[0] =~ /\A\w+-?\w+\z/
|
42
50
|
switch_to_theme
|
43
51
|
end
|
@@ -108,6 +116,30 @@ end
|
|
108
116
|
|
109
117
|
output.puts colorize_code(example)
|
110
118
|
end
|
119
|
+
|
120
|
+
def show_list
|
121
|
+
old_theme = PryTheme.current_theme.dup
|
122
|
+
|
123
|
+
each_theme_in(THEME_DIR) do |theme, index, all_themes_num|
|
124
|
+
theme.sub!(/\.prytheme\z/, "")
|
125
|
+
PryTheme.set_theme(theme)
|
126
|
+
|
127
|
+
chunk = <<-CHUNK
|
128
|
+
class PickMe
|
129
|
+
def please
|
130
|
+
@i, @@beg, you = 10_000, 400.00, "please!"
|
131
|
+
end
|
132
|
+
end
|
133
|
+
CHUNK
|
134
|
+
|
135
|
+
output.puts "\e[038;0;1m[#{theme}]\e[0m#{ " *" if theme == old_theme }"
|
136
|
+
output.puts "---"
|
137
|
+
output.puts colorize_code(chunk)
|
138
|
+
output.puts unless index+1 == all_themes_num
|
139
|
+
end
|
140
|
+
ensure
|
141
|
+
PryTheme.set_theme(old_theme)
|
142
|
+
end
|
111
143
|
end
|
112
144
|
|
113
145
|
end
|
data/lib/pry-theme/version.rb
CHANGED
@@ -2,18 +2,18 @@ require 'fileutils'
|
|
2
2
|
|
3
3
|
module PryTheme
|
4
4
|
class WhenStartedHook
|
5
|
+
include PryTheme::Helper
|
5
6
|
|
6
7
|
def call(target, options, _pry_)
|
7
|
-
|
8
|
+
FileUtils.mkdir_p(THEME_DIR) unless File.exists?(THEME_DIR)
|
8
9
|
|
9
|
-
(
|
10
|
-
unless File.exists?(File.join(THEME_DIR,
|
11
|
-
FileUtils.cp(File.join(EXAMPLES_ROOT,
|
10
|
+
each_theme_in(EXAMPLES_ROOT) do |theme, _, _|
|
11
|
+
unless File.exists?(File.join(THEME_DIR, theme))
|
12
|
+
FileUtils.cp(File.join(EXAMPLES_ROOT, theme), THEME_DIR)
|
12
13
|
end
|
13
14
|
end
|
14
15
|
|
15
|
-
|
16
|
-
PryTheme.set_theme(theme_name)
|
16
|
+
PryTheme.set_theme(Pry.config.theme)
|
17
17
|
end
|
18
18
|
|
19
19
|
end
|
data/lib/pry-theme.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'pry-theme/version'
|
2
|
+
require 'pry-theme/helper'
|
2
3
|
require 'pry-theme/commands'
|
3
4
|
require 'pry-theme/palette'
|
4
5
|
require 'pry-theme/theme'
|
@@ -18,23 +19,31 @@ module PryTheme
|
|
18
19
|
|
19
20
|
# The root path for the directory with configuration files for OS you're using.
|
20
21
|
CONFIG_DIR = case RbConfig::CONFIG["host_os"]
|
21
|
-
when /darwin/
|
22
|
-
File.join(ENV["HOME"], "Library", "Application Support")
|
23
|
-
when /linux/
|
24
|
-
ENV["XDG_CONFIG_HOME"]
|
25
22
|
when /mingw|mswin/
|
26
|
-
ENV["APPDATA"]
|
23
|
+
File.join(ENV["APPDATA"], "pry-theme")
|
24
|
+
else
|
25
|
+
# /darwin|linux/ and friends.
|
26
|
+
File.join(ENV["HOME"], ".pry")
|
27
27
|
end
|
28
28
|
|
29
29
|
# Pry themes' directory.
|
30
|
-
THEME_DIR = File.join(CONFIG_DIR, "
|
30
|
+
THEME_DIR = File.join(CONFIG_DIR, "themes")
|
31
|
+
|
32
|
+
# The name of the default theme of Pry Theme.
|
33
|
+
DEFAULT_THEME_NAME = "pry-classic"
|
31
34
|
|
32
35
|
def self.set_theme(theme_name)
|
33
|
-
|
36
|
+
theme = PryTheme.convert(theme_name)
|
37
|
+
if theme ||= PryTheme.convert(theme_name = DEFAULT_THEME_NAME)
|
34
38
|
::CodeRay::Encoders::Terminal::TOKEN_COLORS.merge!(theme)
|
39
|
+
@current_theme = theme_name
|
35
40
|
end
|
36
41
|
end
|
37
42
|
|
43
|
+
def self.current_theme
|
44
|
+
@current_theme
|
45
|
+
end
|
46
|
+
|
38
47
|
def self.convert(theme_name)
|
39
48
|
begin
|
40
49
|
theme = Theme.new(theme_name)
|
@@ -124,11 +133,11 @@ module PryTheme
|
|
124
133
|
|
125
134
|
# Uh oh :(
|
126
135
|
notation = if !color_fg
|
127
|
-
"38;0
|
136
|
+
"38;0"
|
128
137
|
elsif palette.notation
|
129
138
|
palette.notation[0..-2]
|
130
139
|
else
|
131
|
-
|
140
|
+
nil
|
132
141
|
end
|
133
142
|
|
134
143
|
[notation, color_fg, formatting, color_bg].flatten.compact.join(";")
|
@@ -144,7 +153,7 @@ module PryTheme
|
|
144
153
|
|
145
154
|
def self.install_gem_hooks
|
146
155
|
Gem.post_uninstall do |u|
|
147
|
-
Uninstaller.run(u)
|
156
|
+
Uninstaller.run(u) if u.spec.name == "pry-theme"
|
148
157
|
end
|
149
158
|
end
|
150
159
|
|
data/lib/rubygems_plugin.rb
CHANGED
data/pry-theme.gemspec
CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.version = PryTheme::VERSION
|
6
6
|
s.date = Time.now.strftime('%Y-%m-%d')
|
7
7
|
s.summary = "Easy way to customize your Pry colors"
|
8
|
-
s.description = "The plugin enables color theme for your Pry. No more pryrc bustling."
|
8
|
+
s.description = "The plugin enables color theme support for your Pry. No more .pryrc bustling."
|
9
9
|
s.author = "Kyrylo Silin"
|
10
10
|
s.email = "kyrylosilin@gmail.com"
|
11
11
|
s.homepage = "https://github.com/kyrylo/pry-theme"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0.9'
|
30
|
-
description: The plugin enables color theme for your Pry. No more pryrc bustling.
|
30
|
+
description: The plugin enables color theme support for your Pry. No more .pryrc bustling.
|
31
31
|
email: kyrylosilin@gmail.com
|
32
32
|
executables: []
|
33
33
|
extensions: []
|
@@ -41,6 +41,7 @@ files:
|
|
41
41
|
- examples/pry-modern.prytheme
|
42
42
|
- lib/pry-theme.rb
|
43
43
|
- lib/pry-theme/commands.rb
|
44
|
+
- lib/pry-theme/helper.rb
|
44
45
|
- lib/pry-theme/palette.rb
|
45
46
|
- lib/pry-theme/theme.rb
|
46
47
|
- lib/pry-theme/uninstaller.rb
|