This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
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, :namespace)
|
||||
elsif match = scan(/-.+@done.*/) # completed task
|
||||
encoder.text_token(match, :done)
|
||||
elsif match = scan(/-(?:[^@\n]+|@(?!due))*/) # task
|
||||
encoder.text_token(match, :plain)
|
||||
elsif match = scan(/@due.*/) # comment
|
||||
encoder.text_token(match, :important)
|
||||
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
|
||||
Reference in New Issue
Block a user