Current section
Files
Jump to
Current section
Files
lib/style/pseudo.ex
defmodule Scribe.Style.Pseudo do
@moduledoc false
@behaviour Scribe.Style
@empty_border %Scribe.Border{
bottom_edge: "",
bottom_left_corner: "",
bottom_right_corner: "",
top_edge: "",
top_left_corner: "",
top_right_corner: "",
left_edge: "│",
right_edge: "│"
}
@header_border %Scribe.Border{
bottom_edge: "─",
bottom_left_corner: "└",
bottom_right_corner: "┘",
top_edge: "─",
top_left_corner: "┌",
top_right_corner: "┐",
left_edge: "│",
right_edge: "│"
}
def border_at(0, col, _max_rows, max_cols) when col < max_cols - 1 do
%Scribe.Border{
@header_border
| bottom_left_corner: "├",
bottom_right_corner: "┼",
top_right_corner: "┬"
}
end
def border_at(0, _col, _max_rows, _max_cols) do
%Scribe.Border{
@header_border
| bottom_left_corner: "├",
bottom_right_corner: "┤"
}
end
def border_at(row, col, max_rows, max_cols)
when row == max_rows - 1 and col < max_cols - 1 do
%Scribe.Border{
@header_border
| top_left_corner: "",
top_right_corner: "",
bottom_right_corner: "┴"
}
end
def border_at(row, _col, max_rows, _max_cols) when row == max_rows - 1 do
%Scribe.Border{@header_border | top_left_corner: "", top_right_corner: ""}
end
def border_at(_row, _col, _max_rows, _max_cols) do
@empty_border
end
use Scribe.DefaultColors
end