Permalink
Browse files

Merge branch 'master' into multiline-inline-diff

Conflicts:
	coderay.gemspec
  • Loading branch information...
2 parents c044a7a + 9c3837e commit 2afe23ab0a3d17b50f55750241a682403ced4fc8 @korny korny committed Dec 27, 2011
View
@@ -4,6 +4,13 @@ p=. _This files lists all changes in the CodeRay library since the 0.9.8 release
{{toc}}
+h2. Changes in 1.0.5
+
+Fixes:
+
+* @autoload@ calls do not depend on @coderay/lib@ being in the load path (GitHub issue #6; thanks to tvon, banister, envygeeks, and ConradIrwin)
+* avoid dark blue as terminal color (GitHub issue #9; thanks to shevegen)
+
h2. Changes in 1.0.4
Fixes in the CSS scanner:
View
@@ -17,7 +17,6 @@ Run <code>rake bench</code> to perform an example benchmark.
Executional files for CodeRay.
coderay:: The CodeRay executable.
-coderay_stylesheet:: Prints the default stylesheet.
== demo - Demos and functional tests
View
@@ -10,7 +10,7 @@ group :development do
gem "rake", "~> 0.9.2"
gem "RedCloth", RUBY_PLATFORM == 'java' ? "= 4.2.7" : ">= 4.0.3"
gem "term-ansicolor"
- gem "shoulda-context", "= 1.0.0.beta1" if RUBY_VERSION >= '1.8.7'
+ gem "shoulda-context", "~> 1.0.0" if RUBY_VERSION >= '1.8.7'
gem "json" unless RUBY_VERSION >= '1.9.1'
gem "rdoc" if RUBY_VERSION >= '1.8.7'
end
View
@@ -1,30 +0,0 @@
-Website tools:
-- convertor: reads and writes HTML (filter)
- <code lang="ruby">bla</code>
- =>
- <code class="CodeRay">...</code>
-
-- manual highlighter:
- 1. idea:
- special scanner (simply reading raydebug code should be enough)
- => makes it possible, easy to write
-
- 2. idea:
- => cooler, but more advanced
- => still easy to implement for all scanners at once
- preamble function (wrapper for scanners):
- for example, a method def:
- def foo
- shall be shown in the same color as method(foo), but
- without the def. so write:
- !def !foo
- Input is read into def foo and 4 (number of chars in preamble)
- Ruby scanner outputs some Tokens:
- reserved(def) method(foo)
- and chopped by a chop_preamble method giving:
- method(foo)
- PreambleTokens subclass?
- Tokens instance that takes options?
-
- 3. idea:
- Scanner handled solution --> forget it.
View
@@ -1,47 +0,0 @@
-Fix the docu after moving to CodeRay namespace.
-
-// vim:ts=4:ft=c:
-Category = X (done), / (partly done), T (test), L (later), (else)
- Planned = planned in version 0.x
- Priority = 3 (low) .. 1 (high), 0 (extrem high)
- Expense = 0 (trivial), 1 (low) .. 3 (high)
- Assigned Day
-
-Project:
- Documentation:
-3/4 0 2 ? Doc the interface
- 0 2 ? Cleanup/Read Doc
-3/4 0 1 write examples
-
- 1 2 Code Cleanup: Indentation
-L 2 2 Rewrite Tools:
- coderay, bench.rb, highlight.rb
-
-
-
-Plugins:
-
-
-Scanners:
- 2 1 Unicode support
-L 1 2 More Languages! (See Roadmap)
-
- Ruby:
-L 3 2 Regexp comment highlighting
-L 3 2 Options: Highlight characters/escapes/inline code
-L 2 1 Meta characters
-
-
-Encoders:
- HTML:
-L 1 2 dynamic CSS creation: new CSS class
- Colors:
-3/4 1 2 colorschemes
- Statistic:
-L 3 1 return Statistic object with to_s method instead of String
-
-
-
-Tools:
- testfox:
-L 2 3 wxRuby and HTML output
View
@@ -9,8 +9,10 @@ Gem::Specification.new do |s|
s.version = CodeRay::VERSION
else
# thanks to @Argorak for this solution
- revision = 134 + (`git log --oneline | wc -l`.to_i)
- s.version = "#{CodeRay::VERSION}.#{revision}rc1"
+ # revision = 134 + (`git log --oneline | wc -l`.to_i)
+ # s.version = "#{CodeRay::VERSION}.#{revision}rc1"
+ s.version = "#{CodeRay::VERSION}.rc1"
+>>>>>>> master
end
s.authors = ['Kornelius Kalnbach']
View
@@ -127,27 +127,34 @@ module CodeRay
$CODERAY_DEBUG ||= false
- require 'coderay/version'
+ CODERAY_PATH = File.join File.dirname(__FILE__), 'coderay'
+
+ # Assuming the path is a subpath of lib/coderay/
+ def self.coderay_path *path
+ File.join CODERAY_PATH, *path
+ end
+
+ require coderay_path('version')
# helpers
- autoload :FileType, 'coderay/helpers/file_type'
+ autoload :FileType, coderay_path('helpers', 'file_type')
# Tokens
- autoload :Tokens, 'coderay/tokens'
- autoload :TokensProxy, 'coderay/tokens_proxy'
- autoload :TokenKinds, 'coderay/token_kinds'
+ autoload :Tokens, coderay_path('tokens')
+ autoload :TokensProxy, coderay_path('tokens_proxy')
+ autoload :TokenKinds, coderay_path('token_kinds')
# Plugin system
- autoload :PluginHost, 'coderay/helpers/plugin'
- autoload :Plugin, 'coderay/helpers/plugin'
+ autoload :PluginHost, coderay_path('helpers', 'plugin')
+ autoload :Plugin, coderay_path('helpers', 'plugin')
# Plugins
- autoload :Scanners, 'coderay/scanner'
- autoload :Encoders, 'coderay/encoder'
- autoload :Styles, 'coderay/style'
+ autoload :Scanners, coderay_path('scanner')
+ autoload :Encoders, coderay_path('encoder')
+ autoload :Styles, coderay_path('style')
- # Convenience access and reusable Encoder/Scanner pair
- autoload :Duo, 'coderay/duo'
+ # convenience access and reusable Encoder/Scanner pair
+ autoload :Duo, coderay_path('duo')
class << self
@@ -109,9 +109,9 @@ class HTML < Encoder
:hint => false,
}
- autoload :Output, 'coderay/encoders/html/output'
- autoload :CSS, 'coderay/encoders/html/css'
- autoload :Numbering, 'coderay/encoders/html/numbering'
+ autoload :Output, CodeRay.coderay_path('encoders', 'html', 'output')
+ autoload :CSS, CodeRay.coderay_path('encoders', 'html', 'css')
+ autoload :Numbering, CodeRay.coderay_path('encoders', 'html', 'numbering')
attr_reader :css
@@ -24,14 +24,14 @@ class Terminal < Encoder
:attribute_value => '31',
:binary => '1;35',
:char => {
- :self => '36', :delimiter => '34'
+ :self => '36', :delimiter => '1;34'
},
:class => '1;35',
:class_variable => '36',
:color => '32',
:comment => '37',
- :complex => '34',
- :constant => ['34', '4'],
+ :complex => '1;34',
+ :constant => ['1;34', '4'],
:decoration => '35',
:definition => '1;32',
:directive => ['32', '4'],
@@ -56,7 +56,7 @@ class Terminal < Encoder
:predefined_type => '1;30',
:predefined => ['4', '1;34'],
:preprocessor => '36',
- :pseudo_class => '34',
+ :pseudo_class => '1;34',
:regexp => {
:self => '31',
:content => '31',
@@ -77,10 +77,10 @@ class Terminal < Encoder
:delimiter => '1;32',
},
:symbol => '1;32',
- :tag => '34',
+ :tag => '1;34',
:type => '1;34',
:value => '36',
- :variable => '34',
+ :variable => '1;34',
:insert => '42',
:delete => '41',
@@ -2,8 +2,8 @@
require 'strscan'
module CodeRay
-
- autoload :WordList, 'coderay/helpers/word_list'
+
+ autoload :WordList, coderay_path('helpers', 'word_list')
# = Scanners
#
@@ -320,4 +320,4 @@ def scan_rest
end
end
-end
+end
@@ -16,8 +16,6 @@ class Diff < Scanner
protected
- require 'coderay/helpers/file_type'
-
def scan_tokens encoder, options
line_kind = nil
@@ -50,7 +48,7 @@ def scan_tokens encoder, options
if match = scan(/.*?(?=$|[\t\n\x00]| \(revision)/)
encoder.text_token match, :filename
if options[:highlight_code] && match != '/dev/null'
- file_type = FileType.fetch(match, :text)
+ file_type = CodeRay::FileType.fetch(match, :text)
file_type = :text if file_type == :diff
content_scanner = scanners[file_type]
content_scanner_entry_state = nil
@@ -6,7 +6,7 @@ class Java < Scanner
register_for :java
- autoload :BuiltinTypes, 'coderay/scanners/java/builtin_types'
+ autoload :BuiltinTypes, CodeRay.coderay_path('scanners', 'java', 'builtin_types')
# http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
KEYWORDS = %w[
@@ -13,8 +13,8 @@ class Ruby < Scanner
register_for :ruby
file_extension 'rb'
- autoload :Patterns, 'coderay/scanners/ruby/patterns'
- autoload :StringState, 'coderay/scanners/ruby/string_state'
+ autoload :Patterns, CodeRay.coderay_path('scanners', 'ruby', 'patterns')
+ autoload :StringState, CodeRay.coderay_path('scanners', 'ruby', 'string_state')
def interpreted_string_state
StringState.new :string, true, '"'
@@ -1,7 +1,7 @@
module CodeRay
# GZip library for writing and reading token dumps.
- autoload :GZip, 'coderay/helpers/gzip'
+ autoload :GZip, coderay_path('helpers', 'gzip')
# = Tokens TODO: Rewrite!
#
@@ -13,6 +13,22 @@ def test_version
end
end
+ def with_empty_load_path
+ old_load_path = $:.dup
+ $:.clear
+ yield
+ ensure
+ $:.replace old_load_path
+ end
+
+ def test_autoload
+ with_empty_load_path do
+ assert_nothing_raised do
+ CodeRay::Scanners::Java::BuiltinTypes
+ end
+ end
+ end
+
RUBY_TEST_CODE = 'puts "Hello, World!"'
RUBY_TEST_TOKENS = [
@@ -97,7 +97,6 @@ def test_examples
DIV
# highlight a file (HTML div); guess the file type base on the extension
- require 'coderay/helpers/file_type'
assert_equal :ruby, CodeRay::FileType[__FILE__]
# get a new scanner for Python

0 comments on commit 2afe23a

Please sign in to comment.