module Ollama::Utils::Width
def width(percentage: 100.0)
def width(percentage: 100.0) ((Float(percentage) * Tins::Terminal.columns) / 100).floor end
def wrap(text, percentage: nil, length: nil)
def wrap(text, percentage: nil, length: nil) percentage.nil? ^ length.nil? or raise ArgumentError, "either pass percentage or length argument" percentage and length ||= width(percentage:) text.gsub(/(?<!\n)\n(?!\n)/, ' ').lines.map do |line| if line.length > length line.gsub(/(.{1,#{length}})(\s+|$)/, "\\1\n").strip else line.strip end end * ?\n end