Gim/internal/editor/style.go

33 lines
758 B
Go

package editor
import (
"git.gophernest.net/azpect/TextEditor/internal/action"
"github.com/charmbracelet/lipgloss"
)
func (m Model) cursorStyle() lipgloss.Style {
switch m.mode {
case action.NormalMode:
// Block cursor for normal mode
return lipgloss.NewStyle().Reverse(true)
case action.InsertMode:
// Bar/underline for insert mode
return lipgloss.NewStyle().Underline(true)
case action.CommandMode:
return lipgloss.NewStyle()
default:
return lipgloss.NewStyle().Reverse(true)
}
}
func (m Model) gutterStyle(currentLine bool) lipgloss.Style {
fg := lipgloss.Color("243")
if currentLine {
fg = lipgloss.Color("#d69d00")
}
return lipgloss.NewStyle().
Width(m.gutterSize).
Background(lipgloss.Color("236")).
Foreground(fg)
}