mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-11-10 05:22:23 +00:00
Make formatter a bit more convenient
This commit is contained in:
parent
bb952a44b8
commit
ad92929a10
@ -12,7 +12,7 @@ module Tartrazine
|
||||
property theme : Theme = Tartrazine.theme("default-dark")
|
||||
|
||||
# Format the text using the given lexer.
|
||||
def format(text : String, lexer : Lexer) : String
|
||||
def format(text : String, lexer : Lexer, io : IO?) : String?
|
||||
raise Exception.new("Not implemented")
|
||||
end
|
||||
|
||||
|
@ -11,7 +11,8 @@ module Tartrazine
|
||||
"#{i + 1}".rjust(4).ljust(5)
|
||||
end
|
||||
|
||||
def format(text : String, lexer : Lexer, outp : IO) : Nil
|
||||
def format(text : String, lexer : Lexer, io : IO?) : String?
|
||||
outp = io.nil? ? String::Builder.new("") : io
|
||||
tokenizer = Tokenizer.new(lexer, text)
|
||||
i = 0
|
||||
outp << line_label(i) if line_numbers?
|
||||
@ -22,6 +23,7 @@ module Tartrazine
|
||||
outp << line_label(i) if line_numbers?
|
||||
end
|
||||
end
|
||||
return outp.to_s if io.nil?
|
||||
end
|
||||
|
||||
def colorize(text : String, token : String) : String
|
||||
|
@ -58,7 +58,8 @@ module Tartrazine
|
||||
"<span #{line_id} #{line_class} style=\"user-select: none;\">#{line_label} </span>"
|
||||
end
|
||||
|
||||
def format_text(text : String, lexer : Lexer, outp : IO) : Nil
|
||||
def format_text(text : String, lexer : Lexer, io : IO?) : String?
|
||||
outp = io.nil? ? String::Builder.new("") : io
|
||||
tokenizer = Tokenizer.new(lexer, text)
|
||||
i = 0
|
||||
if surrounding_pre?
|
||||
@ -75,6 +76,7 @@ module Tartrazine
|
||||
end
|
||||
end
|
||||
outp << "</code></pre>"
|
||||
return outp.to_s if io.nil?
|
||||
end
|
||||
|
||||
# ameba:disable Metrics/CyclomaticComplexity
|
||||
|
Loading…
Reference in New Issue
Block a user