mirror of
https://github.com/ralsina/tartrazine.git
synced 2025-08-05 07:45:33 +00:00
Make formatter a bit more convenient
This commit is contained in:
@@ -4,11 +4,16 @@ module Tartrazine
|
||||
class Json < Formatter
|
||||
property name = "json"
|
||||
|
||||
def format(text : String, lexer : Lexer, io : IO? = nil) : String?
|
||||
outp = io.nil? ? String::Builder.new("") : io
|
||||
def format(text : String, lexer : Lexer) : String
|
||||
outp = String::Builder.new("")
|
||||
format(text, lexer, outp)
|
||||
return outp.to_s
|
||||
end
|
||||
|
||||
|
||||
def format(text : String, lexer : Lexer, io : IO) : Nil
|
||||
tokenizer = Tokenizer.new(lexer, text)
|
||||
outp << Tartrazine::Lexer.collapse_tokens(tokenizer.to_a).to_json
|
||||
return outp.to_s if io.nil?
|
||||
io << Tartrazine::Lexer.collapse_tokens(tokenizer.to_a).to_json
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user