palette 0.0.1

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/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+ *.DS_Store
5
+ *.sw[nop]
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in palette.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,20 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ palette (0.0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ mocha (0.9.9)
10
+ rake
11
+ rake (0.8.7)
12
+ rspec (1.3.0)
13
+
14
+ PLATFORMS
15
+ ruby
16
+
17
+ DEPENDENCIES
18
+ mocha (= 0.9.9)
19
+ palette!
20
+ rspec (= 1.3.0)
data/README.markdown ADDED
@@ -0,0 +1,59 @@
1
+ # Palette
2
+
3
+ ## An easier way to write Vim color schemes
4
+
5
+ ## Install
6
+
7
+ Install with Rubygems:
8
+
9
+ gem install palette
10
+
11
+ ## Usage
12
+
13
+ puts Palette::Dsl.run lambda {
14
+ vim_colors "great" do
15
+ # rules etc go here
16
+ end
17
+ }
18
+
19
+ ## Syntax
20
+
21
+ vim_colors "sweet" do
22
+ author "Josh Clayton"
23
+ notes "My really sweet theme"
24
+
25
+ reset true
26
+ background :light
27
+
28
+ Normal "222", "f8f8ff"
29
+
30
+ Folded "808080", "ECECEC", :gui => "bold"
31
+ link :vimFold, :FoldColumn, :to => :Folded
32
+ end
33
+
34
+ This color scheme would generate the following output:
35
+
36
+ " Vim color file
37
+ " This file was generated by Palette
38
+ " http://rubygems.org/gems/palette
39
+ "
40
+ " Author: Josh Clayton
41
+ " My really sweet theme
42
+ let colors_name="sweet"
43
+ hi clear
44
+ if version > 580
45
+ if exists("syntax_on")
46
+ syntax reset
47
+ endif
48
+ endif
49
+ if has("gui_running")
50
+ set background=light
51
+ endif
52
+ hi Normal guifg=#222222 ctermfg=235 guibg=#F8F8FF ctermbg=231
53
+ hi Folded guifg=#808080 ctermfg=244 guibg=#ECECEC ctermbg=255 gui=bold cterm=bold
54
+ hi link vimFold Folded
55
+ hi link FoldColumn Folded
56
+
57
+ ## Author
58
+
59
+ Written by Josh Clayton.
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
data/lib/palette.rb ADDED
@@ -0,0 +1,9 @@
1
+ require "palette/dsl"
2
+ require "palette/color_scheme"
3
+ require "palette/color"
4
+ require "palette/rule"
5
+ require "palette/link"
6
+ require "palette/version"
7
+
8
+ module Palette
9
+ end
@@ -0,0 +1,74 @@
1
+ module Palette
2
+ class Color
3
+ BASE_SET = [0, 95, 135, 175, 215, 255]
4
+ GRAY_SET = [ 8, 18, 28, 38, 48, 58, 68, 78, 88, 98, 108, 118,
5
+ 128, 138, 148, 158, 168, 178, 188, 198, 208, 218, 228, 238]
6
+
7
+ def initialize(value)
8
+ @hex = self.class.parse(value)
9
+ end
10
+
11
+ def to_hex
12
+ @hex
13
+ end
14
+
15
+ def to_cterm
16
+ self.class.color_map.index(closest_cterm_hex)
17
+ end
18
+
19
+ private
20
+
21
+ def self.parse(hex)
22
+ if hex.upcase =~ /^[A-F\d]{3}$/
23
+ hex.split(//).map {|code| code * 2 }.join
24
+ elsif hex.upcase =~ /^[A-F\d]{6}$/
25
+ hex
26
+ else
27
+ raise "invalid hex value: #{hex}"
28
+ end.upcase
29
+ end
30
+
31
+ def closest_cterm_hex
32
+ all_colors = self.class.color_map.values.map do |hexcode|
33
+ original_r, original_g, original_b = self.class.hex_to_decimal(@hex)
34
+ r, g, b = self.class.hex_to_decimal(hexcode)
35
+ distance = (original_r - r).abs + (original_g - g).abs + (original_b - b).abs
36
+ [hexcode, distance]
37
+ end
38
+ Hash[*all_colors.flatten].min {|a, b| a[1] <=> b[1] }[0]
39
+ end
40
+
41
+ def self.color_map
42
+ @colors = {}
43
+ counter = 16
44
+ (0...6).each do |red|
45
+ (0...6).each do |green|
46
+ (0...6).each do |blue|
47
+ @colors[counter] = [
48
+ decimal_to_hex(BASE_SET[red]),
49
+ decimal_to_hex(BASE_SET[green]),
50
+ decimal_to_hex(BASE_SET[blue])
51
+ ].join
52
+ counter += 1
53
+ end
54
+ end
55
+ end
56
+
57
+ GRAY_SET.each do |scale|
58
+ @colors[counter] = decimal_to_hex(scale) * 3
59
+ counter += 1
60
+ end
61
+ @colors
62
+ end
63
+
64
+ def self.decimal_to_hex(decimal)
65
+ base = ("%x" % decimal).strip
66
+ base = "0#{base}" if base.length == 1
67
+ base
68
+ end
69
+
70
+ def self.hex_to_decimal(hex)
71
+ hex.scan(/../).map {|x| ("%2d" % "0x#{x}").to_i }
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,98 @@
1
+ module Palette
2
+ class ColorScheme
3
+ attr_reader :name
4
+
5
+ def initialize(color_name)
6
+ @name = color_name
7
+ end
8
+
9
+ def author(author_name)
10
+ @author_name = author_name
11
+ end
12
+
13
+ def notes(notes)
14
+ @notes = notes
15
+ end
16
+
17
+ def reset(reset)
18
+ @reset = !!reset
19
+ end
20
+
21
+ def background(shade)
22
+ return unless %w(light dark).include?(shade.to_s)
23
+ @background = shade.to_s
24
+ end
25
+
26
+ def method_missing(name, *args)
27
+ @rules ||= []
28
+ @rules << Palette::Rule.new(name.to_s, *args)
29
+ end
30
+
31
+ def String(*args)
32
+ @rules ||= []
33
+ @rules << Palette::Rule.new("String", *args)
34
+ end
35
+
36
+ def to_s
37
+ output = []
38
+ output << header
39
+ output << color_scheme_name
40
+ output << generate_reset
41
+ output << generate_background
42
+ output << @rules
43
+ output << @links
44
+ output.compact.join("\n")
45
+ end
46
+
47
+ def link(*args)
48
+ options = args.last.is_a?(Hash) ? args.pop : {}
49
+
50
+ @links ||= []
51
+ args.each do |arg|
52
+ @links << Link.new(arg, options[:to])
53
+ end
54
+ end
55
+
56
+ def header
57
+ %{
58
+ " Vim color file
59
+ " This file was generated by Palette
60
+ " http://rubygems.org/gems/palette
61
+ "
62
+ " Author: #{@author_name}
63
+ #{%{" #{@notes}} if @notes}
64
+ }.strip
65
+ end
66
+
67
+ def generate_reset
68
+ return unless @reset
69
+ %{
70
+ hi clear
71
+ if version > 580
72
+ if exists("syntax_on")
73
+ syntax reset
74
+ endif
75
+ endif
76
+ }.strip
77
+ end
78
+
79
+ def generate_background
80
+ return unless @background
81
+ %{
82
+ if has("gui_running")
83
+ set background=#{@background}
84
+ endif
85
+ }.strip
86
+ end
87
+
88
+ def color_scheme_name
89
+ %{let colors_name="#{@name}"}
90
+ end
91
+
92
+ def self.run(name, block)
93
+ instance = new(name)
94
+ instance.instance_eval(&block)
95
+ instance.to_s
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,11 @@
1
+ module Palette
2
+ class Dsl
3
+ def self.run(block)
4
+ new.instance_eval(&block)
5
+ end
6
+
7
+ def vim_colors(color_name, &block)
8
+ Palette::ColorScheme.run(color_name, block)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ module Palette
2
+ class Link
3
+ @@max_length = 0
4
+ attr_reader :from, :to
5
+
6
+ def initialize(from, to)
7
+ @from = from.to_s
8
+ @to = to.to_s
9
+ @@max_length = @from.length if @from.length > @@max_length
10
+ end
11
+
12
+ def to_s
13
+ %{hi link #{sprintf("%-#{@@max_length}s", self.from)} #{self.to}}
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,40 @@
1
+ module Palette
2
+ class Rule
3
+ attr_reader :name, :fg, :bg, :gui
4
+
5
+ def initialize(name, *args)
6
+ options = args.last.is_a?(Hash) ? args.pop : {}
7
+
8
+ @name = name.to_s
9
+ @fg = options[:fg] || args.first
10
+ @bg = options[:bg] || (args.length > 1 ? args.last : nil)
11
+ @gui = options[:gui]
12
+ end
13
+
14
+ def to_s
15
+ return "" if fg.nil? && bg.nil? && gui.nil?
16
+ output = ["hi", name]
17
+
18
+ if fg
19
+ color = Palette::Color.new(fg)
20
+ output << %{guifg=##{color.to_hex}}
21
+ output << %{ctermfg=#{color.to_cterm}}
22
+ end
23
+
24
+ if bg
25
+ color = Palette::Color.new(bg)
26
+ output << %{guibg=##{color.to_hex}}
27
+ output << %{ctermbg=#{color.to_cterm}}
28
+ end
29
+
30
+ if gui
31
+ output << %{gui=#{gui}}
32
+ if gui !~ /italic/
33
+ output << %{cterm=#{gui}}
34
+ end
35
+ end
36
+
37
+ output.join(" ")
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,3 @@
1
+ module Palette
2
+ VERSION = "0.0.1"
3
+ end
data/palette.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "palette/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "palette"
7
+ s.version = Palette::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Josh Clayton"]
10
+ s.email = ["joshua.clayton@gmail.com"]
11
+ s.homepage = "http://rubygems.org/gems/palette"
12
+ s.summary = %q{Build Vim colorschemes with ease}
13
+ s.description = %q{Palette provides an easy way to build Vim color schemes}
14
+
15
+ all_files = %x{git ls-files}.split("\n")
16
+
17
+ s.files = all_files.reject {|file| file =~ /^(spec|features|cucumber)/ }
18
+ s.test_files = all_files.select {|file| file =~ /^(spec|features|cucumber)/ }
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_development_dependency "rspec", "1.3.0"
23
+ s.add_development_dependency "mocha", "0.9.9"
24
+ end
@@ -0,0 +1,191 @@
1
+ require "spec_helper"
2
+
3
+ describe Palette::ColorScheme do
4
+ let(:color_name) { "great" }
5
+ subject { Palette::ColorScheme.new(color_name) }
6
+
7
+ it "accepts a name as a constructor argument" do
8
+ subject.name.should == color_name
9
+ subject.to_s.should include(%{let colors_name="#{color_name}"})
10
+ end
11
+ end
12
+
13
+ describe Palette::ColorScheme, "notes" do
14
+ subject { Palette::ColorScheme.new("abc") }
15
+
16
+ it "allows assignment of author" do
17
+ subject.notes "Based on something great"
18
+ subject.to_s.should =~ /".*Based on something great/
19
+ end
20
+ end
21
+
22
+ describe Palette::ColorScheme, "author" do
23
+ subject { Palette::ColorScheme.new("abc") }
24
+
25
+ it "allows assignment of author" do
26
+ subject.author "John Doe"
27
+ subject.to_s.should include(%{" Author: John Doe})
28
+ end
29
+ end
30
+
31
+ describe Palette::ColorScheme, "reset" do
32
+ subject { Palette::ColorScheme.new("abc") }
33
+
34
+ let(:header) do
35
+ %{
36
+ hi clear
37
+ if version > 580
38
+ if exists("syntax_on")
39
+ syntax reset
40
+ endif
41
+ endif
42
+ }.strip
43
+ end
44
+
45
+ it "generates a reset when set" do
46
+ subject.reset(true)
47
+ subject.to_s.should include(header)
48
+ end
49
+
50
+ it "doesn't include a reset by default" do
51
+ subject.to_s.should_not include(header)
52
+ end
53
+ end
54
+
55
+ describe Palette::ColorScheme, "background" do
56
+ subject { Palette::ColorScheme.new("abc") }
57
+
58
+ it "generates a light background when set" do
59
+ background = %{
60
+ if has("gui_running")
61
+ set background=light
62
+ endif
63
+ }.strip
64
+ subject.background(:light)
65
+ subject.to_s.should include(background)
66
+ end
67
+
68
+ it "generates a dark background when set" do
69
+ background = %{
70
+ if has("gui_running")
71
+ set background=dark
72
+ endif
73
+ }.strip
74
+ subject.background(:dark)
75
+ subject.to_s.should include(background)
76
+ end
77
+
78
+ it "doesn't create a background by default" do
79
+ subject.to_s.should_not include("set background")
80
+ end
81
+
82
+ it "doesn't create a background if bad data is passed" do
83
+ subject.background("lame")
84
+ subject.to_s.should_not include("set background")
85
+ end
86
+ end
87
+
88
+ describe Palette::ColorScheme, "rule generation" do
89
+ before { Palette::Rule.stubs(:new => "Custom rule") }
90
+
91
+ it "creates simple rules" do
92
+ Palette::ColorScheme.run "one", lambda {
93
+ Comment "ABCDEF", :gui => "bold"
94
+ }
95
+ Palette::Rule.should have_received(:new).with("Comment", "ABCDEF", :gui => "bold")
96
+ end
97
+
98
+ it "creates multiple rules" do
99
+ Palette::ColorScheme.run "one", lambda {
100
+ Comment "ABCDEF", :gui => "bold"
101
+ Regexp :gui => "bold"
102
+ }
103
+ Palette::Rule.should have_received(:new).with("Comment", "ABCDEF", :gui => "bold")
104
+ Palette::Rule.should have_received(:new).with("Regexp", :gui => "bold")
105
+ end
106
+
107
+ it "handles Ruby naming conflicts" do
108
+ Palette::ColorScheme.run "one", lambda {
109
+ String "ABCDEF"
110
+ }
111
+ Palette::Rule.should have_received(:new).with("String", "ABCDEF")
112
+ end
113
+
114
+ it "outputs rules" do
115
+ output = Palette::ColorScheme.run "one", lambda {
116
+ Comment "ABCDEF", :gui => "bold"
117
+ String "ABCDEF"
118
+ }
119
+
120
+ output.should include(%{Custom rule\nCustom rule})
121
+ end
122
+ end
123
+
124
+ describe Palette::ColorScheme, "linking" do
125
+ before { Palette::Link.stubs(:new => "Custom link") }
126
+
127
+ it "handles simple linking" do
128
+ Palette::ColorScheme.run "one", lambda {
129
+ link :Something, :to => :Another
130
+ }
131
+ Palette::Link.should have_received(:new).with(:Something, :Another)
132
+ end
133
+
134
+ it "handles complex linking" do
135
+ Palette::ColorScheme.run "one", lambda {
136
+ link :Something, :Else, :to => :Another
137
+ link :Red, :to => :Black
138
+ }
139
+ Palette::Link.should have_received(:new).with(:Something, :Another)
140
+ Palette::Link.should have_received(:new).with(:Else, :Another)
141
+ Palette::Link.should have_received(:new).with(:Red, :Black)
142
+ end
143
+
144
+ it "outputs links" do
145
+ output = Palette::ColorScheme.run "one", lambda {
146
+ link :Something, :Else, :to => :Another
147
+ link :Red, :to => :Black
148
+ }
149
+
150
+ output.should include(%{Custom link\nCustom link\nCustom link})
151
+ end
152
+ end
153
+
154
+ describe Palette::ColorScheme, "output order" do
155
+ subject { Palette::ColorScheme.new("abc") }
156
+ let(:header) { "header" }
157
+ let(:color_scheme_name) { "color scheme name" }
158
+ let(:reset) { "reset" }
159
+ let(:background) { "background" }
160
+
161
+ before do
162
+ subject.stubs(:header => header,
163
+ :color_scheme_name => color_scheme_name,
164
+ :generate_reset => reset,
165
+ :generate_background => background)
166
+ end
167
+
168
+ it "generates the color file in the correct order" do
169
+ subject.to_s.should == [header, color_scheme_name, reset, background].join("\n")
170
+ end
171
+ end
172
+
173
+ describe Palette::ColorScheme, ".run" do
174
+ let(:color_scheme) do
175
+ mock("color-scheme").tap do |scheme|
176
+ scheme.stubs(:great => "things")
177
+ end
178
+ end
179
+
180
+ before do
181
+ Palette::ColorScheme.stubs(:new => color_scheme)
182
+ end
183
+
184
+ it "creates a new color scheme with the correct name" do
185
+ Palette::ColorScheme.run "Great", lambda {
186
+ great
187
+ }
188
+ Palette::ColorScheme.should have_received(:new).with("Great")
189
+ color_scheme.should have_received(:great)
190
+ end
191
+ end
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ describe Palette::Color, "color conversion" do
4
+ it "generates hex from three hex digits" do
5
+ Palette::Color.new("AAA").to_hex.should == "AAAAAA"
6
+ end
7
+
8
+ it "generates hex from six hex digits" do
9
+ Palette::Color.new("FAFAFA").to_hex.should == "FAFAFA"
10
+ end
11
+
12
+ it "generates cterm colors from three hex digits" do
13
+ Palette::Color.new("000").to_cterm.should == 16
14
+ end
15
+
16
+ it "generates cterm colors from six hex digits" do
17
+ Palette::Color.new("eeeeee").to_cterm.should == 255
18
+ end
19
+
20
+ it "generates the closest cterm colors to a hex value" do
21
+ Palette::Color.new("eeeeef").to_cterm.should == 255
22
+ Palette::Color.new("d7005f").to_cterm.should == 161
23
+ Palette::Color.new("fffffa").to_cterm.should == 231
24
+ end
25
+
26
+ it "raises an error if a bad color is passed" do
27
+ expect { Palette::Color.new("abcdfg") }.to raise_error
28
+ expect { Palette::Color.new("abcdf") }.to raise_error
29
+ expect { Palette::Color.new("00ff") }.to raise_error
30
+ expect { Palette::Color.new("0f") }.to raise_error
31
+ end
32
+
33
+ end
data/spec/dsl_spec.rb ADDED
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ describe Palette::Dsl do
4
+ let(:color_name) { "great" }
5
+
6
+ it "creates a new scheme" do
7
+ Palette::ColorScheme.stubs(:run)
8
+ Palette::Dsl.new.vim_colors(color_name) {}
9
+ Palette::ColorScheme.should have_received(:run)
10
+ end
11
+
12
+ it "runs schemes" do
13
+ Palette::ColorScheme.stubs(:run)
14
+ Palette::Dsl.run lambda {
15
+ vim_colors("awesome") {}
16
+ }
17
+ Palette::ColorScheme.should have_received(:run)
18
+ end
19
+ end
data/spec/link_spec.rb ADDED
@@ -0,0 +1,12 @@
1
+ require "spec_helper"
2
+
3
+ describe Palette::Link do
4
+ it "creates a link from one rule to another" do
5
+ Palette::Link.new("one", "two").to_s.should == %{hi link one two}
6
+ end
7
+
8
+ it "uses the longest 'from' as a base length" do
9
+ Palette::Link.new("three", "four")
10
+ Palette::Link.new("one", "two").to_s.should == %{hi link one two}
11
+ end
12
+ end
data/spec/rule_spec.rb ADDED
@@ -0,0 +1,84 @@
1
+ require "spec_helper"
2
+
3
+ shared_examples_for "rule with colors" do
4
+ let(:fg) { "DEF" }
5
+ let(:bg) { "ABC" }
6
+ let(:hex) { "ABCDEF" }
7
+ let(:cterm) { 123 }
8
+ let(:color) do
9
+ mock("color").tap do |color|
10
+ color.stubs(:to_hex => hex, :to_cterm => cterm)
11
+ end
12
+ end
13
+
14
+ before { Palette::Color.stubs(:new => color) }
15
+ end
16
+
17
+ describe Palette::Rule, "with a foreground" do
18
+ it_should_behave_like "rule with colors"
19
+ subject { Palette::Rule.new("Awesome", fg) }
20
+
21
+ it "highlights the correct colors" do
22
+ subject.to_s.should == "hi Awesome guifg=##{hex} ctermfg=#{cterm}"
23
+ end
24
+
25
+ it "converts the correct colors" do
26
+ subject.to_s
27
+ Palette::Color.should have_received(:new).with(fg)
28
+ Palette::Color.should_not have_received(:new).with(bg)
29
+ end
30
+ end
31
+
32
+ describe Palette::Rule, "with a foreground and background" do
33
+ it_should_behave_like "rule with colors"
34
+ subject { Palette::Rule.new("Awesome", fg, bg) }
35
+
36
+ it "highlights the correct colors" do
37
+ subject.to_s.should == "hi Awesome guifg=##{hex} ctermfg=#{cterm} guibg=##{hex} ctermbg=#{cterm}"
38
+ end
39
+
40
+ it "converts the correct colors" do
41
+ subject.to_s
42
+ Palette::Color.should have_received(:new).with(fg)
43
+ Palette::Color.should have_received(:new).with(bg)
44
+ end
45
+ end
46
+
47
+ describe Palette::Rule, "with a hash passed" do
48
+ it_should_behave_like "rule with colors"
49
+ subject { Palette::Rule.new("Awesome", :fg => fg, :bg => bg) }
50
+
51
+ it "highlights the correct colors" do
52
+ subject.to_s.should == "hi Awesome guifg=##{hex} ctermfg=#{cterm} guibg=##{hex} ctermbg=#{cterm}"
53
+ end
54
+
55
+ it "converts the correct colors" do
56
+ subject.to_s
57
+ Palette::Color.should have_received(:new).with(fg)
58
+ Palette::Color.should have_received(:new).with(bg)
59
+ end
60
+ end
61
+
62
+ describe Palette::Rule, "with a gui" do
63
+ subject { Palette::Rule.new("Awesome", :gui => "bold") }
64
+
65
+ it "sets the gui correctly" do
66
+ subject.to_s.should == "hi Awesome gui=bold cterm=bold"
67
+ end
68
+ end
69
+
70
+ describe Palette::Rule, "with a gui as italic" do
71
+ subject { Palette::Rule.new("Awesome", :gui => "italic") }
72
+
73
+ it "sets the gui correctly" do
74
+ subject.to_s.should == "hi Awesome gui=italic"
75
+ end
76
+ end
77
+
78
+ describe Palette::Rule, "without colors" do
79
+ subject { Palette::Rule.new("Awesome") }
80
+
81
+ it "is empty" do
82
+ subject.to_s.should == ""
83
+ end
84
+ end
@@ -0,0 +1,10 @@
1
+ require "spec"
2
+ require "mocha"
3
+ require "palette"
4
+
5
+ Spec::Runner.configure do |config|
6
+ config.mock_with :mocha
7
+
8
+ Mocha::Configuration.warn_when(:stubbing_non_existant_method)
9
+ Mocha::Configuration.warn_when(:stubbing_non_public_method)
10
+ end
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: palette
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Josh Clayton
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-10-28 00:00:00 -04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - "="
28
+ - !ruby/object:Gem::Version
29
+ hash: 27
30
+ segments:
31
+ - 1
32
+ - 3
33
+ - 0
34
+ version: 1.3.0
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: mocha
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - "="
44
+ - !ruby/object:Gem::Version
45
+ hash: 41
46
+ segments:
47
+ - 0
48
+ - 9
49
+ - 9
50
+ version: 0.9.9
51
+ type: :development
52
+ version_requirements: *id002
53
+ description: Palette provides an easy way to build Vim color schemes
54
+ email:
55
+ - joshua.clayton@gmail.com
56
+ executables: []
57
+
58
+ extensions: []
59
+
60
+ extra_rdoc_files: []
61
+
62
+ files:
63
+ - .gitignore
64
+ - Gemfile
65
+ - Gemfile.lock
66
+ - README.markdown
67
+ - Rakefile
68
+ - lib/palette.rb
69
+ - lib/palette/color.rb
70
+ - lib/palette/color_scheme.rb
71
+ - lib/palette/dsl.rb
72
+ - lib/palette/link.rb
73
+ - lib/palette/rule.rb
74
+ - lib/palette/version.rb
75
+ - palette.gemspec
76
+ - spec/color_scheme_spec.rb
77
+ - spec/color_spec.rb
78
+ - spec/dsl_spec.rb
79
+ - spec/link_spec.rb
80
+ - spec/rule_spec.rb
81
+ - spec/spec_helper.rb
82
+ has_rdoc: true
83
+ homepage: http://rubygems.org/gems/palette
84
+ licenses: []
85
+
86
+ post_install_message:
87
+ rdoc_options: []
88
+
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ hash: 3
97
+ segments:
98
+ - 0
99
+ version: "0"
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ hash: 3
106
+ segments:
107
+ - 0
108
+ version: "0"
109
+ requirements: []
110
+
111
+ rubyforge_project:
112
+ rubygems_version: 1.3.7
113
+ signing_key:
114
+ specification_version: 3
115
+ summary: Build Vim colorschemes with ease
116
+ test_files:
117
+ - spec/color_scheme_spec.rb
118
+ - spec/color_spec.rb
119
+ - spec/dsl_spec.rb
120
+ - spec/link_spec.rb
121
+ - spec/rule_spec.rb
122
+ - spec/spec_helper.rb