Show helpful message when managing no subscriptions
Escape fields in subscriptions file
This fixes #20. Previously, feed titles that had a comma in them would
not work, but now, they can be added without issue.
Add option for using nim-html2text
Use constructor to create Subscriptions
Constructors are preferred over simply creating an object of the right
type to ensure that any fields that are added to the object in the
future are updated throughout the codebase.
Add support for editing subscription title
This commit adds a new dependency on the noise library, a Nim
implementation of linenoise. This is being used instead of rdstdin in
the Nim standard library (which wraps linenoise) because it's nice to
give the user the current name as a default when editing, which rdstdin
Use generic version of promptList for choosing feed
Implement manage subcommand with unsubscribe support
Remove accidentally included print
Use cmpIgnoreCase for sorting subscriptions
Using the normal cmp function caused feed with capital letters in their
titles to be sorted above feeds with lowercase letters. It's more
intuitive to have the feed names sorted in a case-insensitive manner.
Add link to nim-html2text
Improve wrapping of long links for termask
Show cursor when exiting termask
Clear leftover entries when scrolling through multiple pages
This fixes #13. Previously, feeds with (say) 15 entries would show posts
1-10 for selection on the first page of results, and when advanced to
the second page of results, posts 11-15 would be shown, but 6-10 would
still be visible below them. Now, those old results are wiped from the
Properly load posts when subscribed to one feed (fixes #19)
Skip commented out entries in subscriptions file
Upgrade to argparse v0.9.0, remove browse subcommand
Many thanks to Matt Haggard for his quick response!
Because of this, we no longer require the browse subcommand, but can
instead skip the main path when the subscribe subcommand is run.
Better use of sequtils procs mapIt/filterIt
Use async/await to download feed contents simultaneously
It turns out that most of the bottleneck in loading the feeds is in
parsing them. This cannot be done in parallel yet because of the
external dependency on html2text.py. I'm going to prioritize
nim-html2text (https://git.sr.ht/~reesmichael1/nim-html2text) now so
that this dependency can be removed and the feeds can be parsed in
Improve guessing of Atom vs. RSS feed types
Add support for Atom feeds
This commit re-introduces the subscribe subcommand, which in turn forced
a browse subcommand. It also adds a classification based on feed type,
since roman now needs to know if feeds are RSS feeds or Atom feeds.