Skip to content

Commit

Permalink
TaskPaper scanner for CodeRay
Browse files Browse the repository at this point in the history
  • Loading branch information
shimomura1004 committed Oct 21, 2012
1 parent 3effca8 commit aeac667
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
34 changes: 34 additions & 0 deletions lib/coderay/scanners/taskpaper.rb
@@ -0,0 +1,34 @@
module CodeRay
module Scanners

class Taskpaper < Scanner

register_for :taskpaper
file_extension 'taskpaper'

protected

def scan_tokens encoder, options
until eos?
if match = scan(/^\S.*:.*$/) # project
encoder.text_token(match, :project)
elsif match = scan(/^-.+@done(?:\(.*)?.*$/) # completed task
encoder.text_token(match, :complete)
elsif match = scan(/^-.+$/) # task
encoder.text_token(match, :plain)
elsif match = scan(/^.+$/) # comment
encoder.text_token(match, :comment)
elsif match = scan(/\s+/) # space
encoder.text_token(match, :space)
else # other
encoder.text_token getch, :error
end
end

encoder
end

end

end
end
3 changes: 3 additions & 0 deletions lib/coderay/styles/alpha.rb
Expand Up @@ -134,6 +134,9 @@ class Alpha < Style
.delete .delete { color: #c00; background:transparent; font-weight:bold }
.change .change { color: #88f }
.head .head { color: #f4f }
.project { color: #707; font-weight: bold }
.complete { text-decoration: line-through; color: gray }
TOKENS

end
Expand Down
3 changes: 3 additions & 0 deletions lib/coderay/token_kinds.rb
Expand Up @@ -74,6 +74,9 @@ module CodeRay
:insert => 'insert',

:eyecatcher => 'eyecatcher',

:project => 'project',
:complete => 'complete',

:ident => false,
:operator => false,
Expand Down

0 comments on commit aeac667

Please sign in to comment.