46 lines
1 KiB
Crystal
46 lines
1 KiB
Crystal
|
|
require "colorize"
|
|
|
|
require "../config"
|
|
require "./generic_builder"
|
|
|
|
module Builder
|
|
class PromptDir < PromptGeneric
|
|
|
|
SEPARATOR = "\n\n"
|
|
|
|
getter use_color : Bool
|
|
def initialize(@use_color)
|
|
Colorize.enabled = @use_color
|
|
end
|
|
|
|
def build(prompt : Prompt)
|
|
str = ""
|
|
|
|
str += prompt.prelude_zone.content.join(SEPARATOR)
|
|
|
|
if ! prompt.system_zone.content.empty?
|
|
str += "@@system".colorize(:yellow).to_s
|
|
str += prompt.system_zone.content.join(SEPARATOR)
|
|
end
|
|
|
|
if ! prompt.past_zone.content.empty?
|
|
str += "@@before".colorize(:yellow).to_s
|
|
str += prompt.past_zone.content.join(SEPARATOR)
|
|
end
|
|
|
|
if ! prompt.present_zone.content.empty?
|
|
# str += "@@current".colorize(:yellow).to_s
|
|
str += prompt.present_zone.content.join(SEPARATOR).colorize(:light_cyan).to_s
|
|
end
|
|
|
|
if ! prompt.future_zone.content.empty?
|
|
str += "@@after".colorize(:yellow).to_s
|
|
str += prompt.future_zone.content.join("\n")
|
|
end
|
|
|
|
str
|
|
end
|
|
end
|
|
end
|