M libphoton.go => libphoton.go +15 -12
@@ 70,6 70,9 @@ func New(cb Callbacks, paths []string, options ...Option) (*Photon, error) {
}
p.imgDownloader.client = p.httpClient
p.mediaExtractor.Client = p.httpClient
+ if err = p.loadPlugins(); err != nil {
+ log.Fatal("ERROR:", err)
+ }
events.Emit(&events.Init{})
return p, nil
}
@@ 144,7 147,7 @@ func (p *Photon) SearchQuery(q string) {
}
func (p *Photon) RefreshFeed() {
- p.cards = nil
+ p.Cards = nil
feeds := make(chan *gofeed.Feed)
for _, feedURL := range p.feedInputs {
feedURL := feedURL
@@ 208,15 211,15 @@ func (p *Photon) RefreshFeed() {
Feed: f,
}
}
- p.cards = append(p.cards, newCards...)
+ p.Cards = append(p.Cards, newCards...)
if feedsGot == len(p.feedInputs) {
break
}
}
- sort.Sort(p.cards)
+ sort.Sort(p.Cards)
p.filterCards()
- if len(p.visibleCards) > 0 {
- p.SelectedCard = p.visibleCards[0]
+ if len(p.VisibleCards) > 0 {
+ p.SelectedCard = p.VisibleCards[0]
}
events.Emit(&events.FeedsDownloaded{})
}
@@ 233,26 236,26 @@ func (p *Photon) filterCards() {
*/
query := strings.ToLower(strings.TrimPrefix(p.searchQuery, "/"))
if query == "" {
- p.visibleCards = p.cards
+ p.VisibleCards = p.Cards
return
}
- p.visibleCards = nil
- for _, card := range p.cards {
+ p.VisibleCards = nil
+ for _, card := range p.Cards {
if strings.Contains(strings.ToLower(card.Item.Title), query) {
- p.visibleCards = append(p.visibleCards, card)
+ p.VisibleCards = append(p.VisibleCards, card)
continue
}
if strings.Contains(strings.ToLower(card.Item.Description), query) {
- p.visibleCards = append(p.visibleCards, card)
+ p.VisibleCards = append(p.VisibleCards, card)
continue
}
if strings.Contains(strings.ToLower(card.Feed.Title), query) {
- p.visibleCards = append(p.visibleCards, card)
+ p.VisibleCards = append(p.VisibleCards, card)
continue
}
if card.Item.Author != nil {
if strings.Contains(strings.ToLower(card.Item.Author.Name), query) {
- p.visibleCards = append(p.visibleCards, card)
+ p.VisibleCards = append(p.VisibleCards, card)
continue
}
}
M plugins.go => plugins.go +3 -3
@@ 17,7 17,7 @@ import (
var luaState *lua.LState
-func (p *Photon) LoadPlugins() error {
+func (p *Photon) loadPlugins() error {
plugins, err := findPlugins()
if err != nil {
return fmt.Errorf("finding plugins: %w", err)
@@ 76,8 76,8 @@ func (p *Photon) photonLoader(L *lua.LState) int {
L.SetField(mod, "Normal", lua.LNumber(states.Normal))
L.SetField(mod, "Article", lua.LNumber(states.Article))
L.SetField(mod, "Search", lua.LNumber(states.Search))
- L.SetField(mod, "cards", newCards(&p.cards, L))
- L.SetField(mod, "visibleCards", newCards(&p.visibleCards, L))
+ L.SetField(mod, "cards", newCards(&p.Cards, L))
+ L.SetField(mod, "visibleCards", newCards(&p.VisibleCards, L))
L.SetField(mod, "selectedCard", p.newSelectedCard(L))
L.Push(mod)