|
|
@ -15,6 +15,7 @@ import ( |
|
|
|
tea "github.com/charmbracelet/bubbletea" |
|
|
|
"github.com/charmbracelet/lipgloss" |
|
|
|
pdf "github.com/johbar/go-poppler" |
|
|
|
"github.com/rkoesters/xdg" |
|
|
|
"github.com/sahilm/fuzzy" |
|
|
|
"golang.org/x/term" |
|
|
|
) |
|
|
@ -256,8 +257,8 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { |
|
|
|
m.datasheetNames = msg.datasheetNames |
|
|
|
m.filteredDatasheets = msg.datasheetNames |
|
|
|
|
|
|
|
selectedDatasheet := msg.datasheets[len(msg.datasheets)-1].contents |
|
|
|
m.datasheetViewport.SetContent(selectedDatasheet) |
|
|
|
selectedDatasheet := msg.datasheets[len(msg.datasheets)-1] |
|
|
|
m.datasheetViewport.SetContent(selectedDatasheet.contents) |
|
|
|
|
|
|
|
m.datasheetsLoaded = true |
|
|
|
case tea.WindowSizeMsg: |
|
|
@ -269,6 +270,10 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { |
|
|
|
return m, tea.Quit |
|
|
|
case "tab": |
|
|
|
m.toggleFilterMode() |
|
|
|
case "enter": |
|
|
|
selectedDatasheet := m.datasheets[len(m.datasheets)-1] |
|
|
|
// TODO: handle error
|
|
|
|
_ = xdg.Open(selectedDatasheet.absPath) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -307,7 +312,7 @@ func (m model) View() string { |
|
|
|
} |
|
|
|
body.WriteString("\n" + mode) |
|
|
|
|
|
|
|
help := "[ctrl-c]: quit | [tab]: filter mode" |
|
|
|
help := "[ctrl-c]: quit | [tab]: filter mode | [enter]: open" |
|
|
|
body.WriteString("\n" + help) |
|
|
|
|
|
|
|
return body.String() |
|
|
|