psychedelic 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,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in psychedelic.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,38 @@
1
+ require 'singleton'
2
+
3
+ module Psychedelic
4
+ class State
5
+ include Singleton
6
+ def initialize
7
+ @state = :normal
8
+ end
9
+ def process(c)
10
+ case @state
11
+ when :normal
12
+ if c=="\e"
13
+ @state = :ansi
14
+ return false
15
+ end
16
+ return true
17
+ when :ansi
18
+ @state = :normal if c=='m'
19
+ return false
20
+ end
21
+ end
22
+ end
23
+ def self.colorize(output)
24
+ class << output
25
+ alias :raw_write :write
26
+ def write(s)
27
+ state = Psychedelic::State.instance
28
+ s.to_s.chars.each do |c|
29
+ raw_write "\e[1;#{31+rand(7)}m#{c}\e[m" if state.process(c)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ Psychedelic.colorize($stdout)
38
+ Psychedelic.colorize($stderr)
@@ -0,0 +1,3 @@
1
+ module Psychedelic
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "psychedelic/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "psychedelic"
7
+ s.version = Psychedelic::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Mr. Big Cat"]
10
+ s.email = ["miaout17 at gmail dot com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Awesome syntax colorizer in Ruby}
13
+ s.description = %q{Awesome syntax colorizer in Ruby}
14
+
15
+ s.rubyforge_project = "psychedelic"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: psychedelic
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
+ - Mr. Big Cat
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-03-31 00:00:00 +08:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: Awesome syntax colorizer in Ruby
23
+ email:
24
+ - miaout17 at gmail dot com
25
+ executables: []
26
+
27
+ extensions: []
28
+
29
+ extra_rdoc_files: []
30
+
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - Rakefile
35
+ - lib/psychedelic.rb
36
+ - lib/psychedelic/version.rb
37
+ - psychedelic.gemspec
38
+ has_rdoc: true
39
+ homepage: ""
40
+ licenses: []
41
+
42
+ post_install_message:
43
+ rdoc_options: []
44
+
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ none: false
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ hash: 3
53
+ segments:
54
+ - 0
55
+ version: "0"
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ requirements: []
66
+
67
+ rubyforge_project: psychedelic
68
+ rubygems_version: 1.3.7
69
+ signing_key:
70
+ specification_version: 3
71
+ summary: Awesome syntax colorizer in Ruby
72
+ test_files: []
73
+