blob: c6eb3b3b294c23774c1681e5c354f2df0564cfbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
|