feat: handle more commands and properly implement older ones

* fix parser tests
* write logs to file
* gracefully terminate program
* make viewport follow output
* properly handle channel nicks and display them in the sidepanel
* general refactors and fixes
This commit is contained in:
2022-01-15 21:56:06 +02:00
parent 8a7e1568ae
commit 22d5e39899
15 changed files with 487 additions and 181 deletions
+13
View File
@@ -62,7 +62,20 @@ func (s InputState) Update(msg tea.Msg) (InputState, tea.Cmd) {
return s, cmd
}
func (s *InputState) Focus() {
s.Input.Focus()
s.Style = s.Style.Copy().BorderForeground(lipgloss.Color("105"))
}
func (s *InputState) Blur() {
s.Input.Blur()
s.Style = s.Style.Copy().BorderForeground(lipgloss.Color("#EEE"))
}
func (s *InputState) SetSize(width int) {
// set a max width for the input field so it scrolls horizontally instead of wrapping to a newline
// -4 for input prompt char, cursor, and some extra magical padding
s.Input.Width = width - s.Style.GetHorizontalFrameSize() - 4
s.Style = s.Style.Width(width - s.Style.GetHorizontalBorderSize())
}