blob: eb4f50aa92b1256fc7bf0d71351fe17cec740d5c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package tui
import "github.com/charmbracelet/lipgloss"
// Color roles for the reader. These use the terminal's own ANSI palette
// (colours 0-15) and text attributes rather than fixed hex values, so the
// reader respects whatever colour scheme the terminal is configured with
// instead of forcing one. Verse body text takes the terminal's default
// foreground (most legible). The header and footer bars use reverse video
// (the terminal's fg/bg swapped) so they stay readable on any theme -- no
// faint text on a fixed grey bar. NO_COLOR still degrades everything to
// plain text automatically (termenv's profile falls back to Ascii).
var (
// headingStyle renders a reading section's heading (e.g. "Ewangelia").
headingStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("4")) // ANSI blue
// citationStyle renders a section's subtitle/citation line -- dimmed.
citationStyle = lipgloss.NewStyle().Faint(true)
// verseNumStyle renders a bible verse's "chapter:verse" prefix -- dimmed.
verseNumStyle = lipgloss.NewStyle().Faint(true)
// verseTextStyle renders verse/paragraph body text in the terminal's
// default foreground colour.
verseTextStyle = lipgloss.NewStyle()
// refrainStyle renders a responsorial psalm's repeated refrain.
refrainStyle = lipgloss.NewStyle().Italic(true)
// headerStyle renders the top bar (date + active version) as a reverse-
// video bar so it reads on any terminal theme.
headerStyle = lipgloss.NewStyle().Bold(true).Reverse(true).Padding(0, 1)
// footerStyle renders the bottom keybar as a reverse-video bar (legible,
// not faint-on-grey).
footerStyle = lipgloss.NewStyle().Reverse(true).Padding(0, 1)
// errStyle renders the error line.
errStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("1")) // ANSI red
)
|