33 lines
758 B
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)
|
|
}
|