Skip to content

Commit

Permalink
:map token kind
Browse files Browse the repository at this point in the history
Use :map instead of :table. It's more generic, and won't be confused with the :table rendering style.
  • Loading branch information
nathany committed Oct 28, 2012
1 parent 308fd38 commit 279348d
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 21 deletions.
14 changes: 7 additions & 7 deletions lib/coderay/scanners/lua.rb
Expand Up @@ -98,10 +98,10 @@ def scan_tokens(encoder, options)
@encoder.text_token(match, kind)

elsif match = scan(/\{/) # Opening table brace {
@encoder.begin_group(:table)
@encoder.begin_group(:map)
@encoder.text_token(match, @brace_depth >= 1 ? :inline_delimiter : :delimiter)
@brace_depth += 1
@state = :table
@state = :map

elsif match = scan(/\}/) # Closing table brace }
if @brace_depth == 1
Expand All @@ -112,9 +112,9 @@ def scan_tokens(encoder, options)
else
@brace_depth -= 1
@encoder.text_token(match, :inline_delimiter)
@state = :table
@state = :map
end
@encoder.end_group(:table)
@encoder.end_group(:map)

elsif match = scan(/["']/) # String delimiters " and '
@encoder.begin_group(:string)
Expand Down Expand Up @@ -142,8 +142,8 @@ def scan_tokens(encoder, options)

# It may be that we’re scanning a full-blown subexpression of a table
# (tables can contain full expressions in parts).
# If this is the case, return to :table scanning state.
@state = :table if @state == :initial && @brace_depth >= 1
# If this is the case, return to :map scanning state.
@state = :map if @state == :initial && @brace_depth >= 1

when :function_expected
if match = scan(/\(.*?\)/m) # x = function() # "Anonymous" function without explicit name
Expand Down Expand Up @@ -237,7 +237,7 @@ def scan_tokens(encoder, options)
@encoder.text_token(getch, :error)
end

when :table
when :map
if match = scan(/[,;]/)
@encoder.text_token(match, :operator)
elsif match = scan(/[a-zA-Z_][a-zA-Z0-9_]* (?=\s*=)/x)
Expand Down
8 changes: 4 additions & 4 deletions lib/coderay/styles/alpha.rb
@@ -1,6 +1,6 @@
module CodeRay
module Styles

# A colorful theme using CSS 3 colors (with alpha channel).
class Alpha < Style

Expand Down Expand Up @@ -116,9 +116,9 @@ class Alpha < Style
.symbol .content { color:#A60 }
.symbol .delimiter { color:#630 }
.symbol { color:#A60 }
.table .content { color:#808 }
.table .delimiter { color:#40A}
.table { background-color:hsla(200,100%,50%,0.06); }
.map .content { color:#808 }
.map .delimiter { color:#40A}
.map { background-color:hsla(200,100%,50%,0.06); }
.tag { color:#070 }
.type { color:#339; font-weight:bold }
.value { color: #088; }
Expand Down
20 changes: 10 additions & 10 deletions lib/coderay/token_kinds.rb
@@ -1,14 +1,14 @@
module CodeRay

# A Hash of all known token kinds and their associated CSS classes.
TokenKinds = Hash.new do |h, k|
warn 'Undefined Token kind: %p' % [k] if $CODERAY_DEBUG
false
end

# speedup
TokenKinds.compare_by_identity if TokenKinds.respond_to? :compare_by_identity

TokenKinds.update( # :nodoc:
:annotation => 'annotation',
:attribute_name => 'attribute-name',
Expand Down Expand Up @@ -50,6 +50,7 @@ module CodeRay
:keyword => 'keyword',
:label => 'label',
:local_variable => 'local-variable',
:map => 'map',
:modifier => 'modifier',
:namespace => 'namespace',
:octal => 'octal',
Expand All @@ -63,29 +64,28 @@ module CodeRay
:shell => 'shell',
:string => 'string',
:symbol => 'symbol',
:table => 'table',
:tag => 'tag',
:type => 'type',
:value => 'value',
:variable => 'variable',

:change => 'change',
:delete => 'delete',
:head => 'head',
:insert => 'insert',

:eyecatcher => 'eyecatcher',

:ident => false,
:operator => false,

:space => false,
:plain => false
)

TokenKinds[:method] = TokenKinds[:function]
TokenKinds[:escape] = TokenKinds[:delimiter]
TokenKinds[:docstring] = TokenKinds[:comment]

TokenKinds.freeze
end

1 comment on commit 279348d

@korny
Copy link
Member

@korny korny commented on 279348d Oct 29, 2012

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nathany I agree, good change.

Please sign in to comment.