Skip to content

Crate Documentation

Version: 0.2.0

Format Version: 56

Module bulletty

Modules

Module app

pub mod app { /* ... */ }

Types

Enum AppWorkStatus

pub enum AppWorkStatus {
    None,
    Working(f32, String),
}
Variants
None
Working

Fields:

Index Type Documentation
0 f32
1 String
Implementations
Methods
  • rust pub fn is_none(self: &Self) -> bool { /* ... */ }
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Struct App

pub struct App {
    pub(in ::app) running: bool,
    pub(in ::app) library: std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>,
    pub(in ::app) current_state: Option<Box<dyn AppScreen>>,
    pub(in ::app) states_queue: std::collections::VecDeque<Box<dyn AppScreen>>,
    pub(in ::app) dialog_queue: std::collections::VecDeque<Box<dyn Dialog>>,
}
Fields
Name Type Documentation
running bool
library std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>
current_state Option<Box<dyn AppScreen>>
states_queue std::collections::VecDeque<Box<dyn AppScreen>>
dialog_queue std::collections::VecDeque<Box<dyn Dialog>>
Implementations
Methods
  • rust pub fn new() -> Self { /* ... */ }

  • rust pub fn init(self: &mut Self, state: Box<dyn AppScreen>) { /* ... */ }

  • rust pub fn initmain(self: &mut Self) { /* ... */ }

  • rust pub fn run(self: &mut Self, terminal: DefaultTerminal) -> Result<()> { /* ... */ }

  • rust pub(in ::app) fn change_state(self: &mut Self, new_state: Box<dyn AppScreen>) { /* ... */ }

  • rust pub(in ::app) fn exit_state(self: &mut Self) { /* ... */ }

  • rust pub(in ::app) fn get_work_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust pub(in ::app) fn open_dialog(self: &mut Self, dialog_state: Box<dyn Dialog>) { /* ... */ }

  • rust pub(in ::app) fn close_current_dialog(self: &mut Self) { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Default

  • rust fn default() -> Self { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Functions

Function popup_area

pub(in ::app) fn popup_area(area: ratatui::layout::Rect, size: ratatui::layout::Rect) -> ratatui::layout::Rect { /* ... */ }

Module cli

pub mod cli { /* ... */ }

Types

Struct Cli

Attributes:

  • Other("#[command(name = \"bulletty\")]")
  • Other("#[command(version, about = \"Your TUI feed reader\", long_about = None)]")
pub struct Cli {
    pub command: Option<Commands>,
}
Fields
Name Type Documentation
command Option<Commands>
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Args

  • rust fn group_id() -> Option<clap::Id> { /* ... */ }

  • rust fn augment_args<''b>(__clap_app: clap::Command) -> clap::Command { /* ... */ }

  • rust fn augment_args_for_update<''b>(__clap_app: clap::Command) -> clap::Command { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • CommandFactory

  • rust fn command<''b>() -> clap::Command { /* ... */ }

  • rust fn command_for_update<''b>() -> clap::Command { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • FromArgMatches

  • rust fn from_arg_matches(__clap_arg_matches: &clap::ArgMatches) -> ::std::result::Result<Self, clap::Error> { /* ... */ }

  • rust fn from_arg_matches_mut(__clap_arg_matches: &mut clap::ArgMatches) -> ::std::result::Result<Self, clap::Error> { /* ... */ }

  • rust fn update_from_arg_matches(self: &mut Self, __clap_arg_matches: &clap::ArgMatches) -> ::std::result::Result<(), clap::Error> { /* ... */ }

  • rust fn update_from_arg_matches_mut(self: &mut Self, __clap_arg_matches: &mut clap::ArgMatches) -> ::std::result::Result<(), clap::Error> { /* ... */ }

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • Parser
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Enum Commands

pub enum Commands {
    List,
    Add {
        url: String,
        category: Option<String>,
    },
    Update,
    Delete {
        ident: String,
    },
    Dirs,
    Import {
        opml_file: String,
    },
    Export {
        opml_file: String,
    },
}
Variants
List

List all feeds and categories

Add

Add new feed

Fields:

Name Type Documentation
url String The ATOM/RSS feed URL
category Option<String> The category to add under, if none is passed, it will be added to General
Update

Update all feeds

Delete

Delete a feed

Fields:

Name Type Documentation
ident String The feed identifier (can be url, title or slug)
Dirs

Show important directories

Import

Import a list of feed sources through OPML

Fields:

Name Type Documentation
opml_file String The filepath of the OPML file
Export

Export all your sources to an OPML file

Fields:

Name Type Documentation
opml_file String The filepath of the OPML file
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • FromArgMatches

  • rust fn from_arg_matches(__clap_arg_matches: &clap::ArgMatches) -> ::std::result::Result<Self, clap::Error> { /* ... */ }

  • rust fn from_arg_matches_mut(__clap_arg_matches: &mut clap::ArgMatches) -> ::std::result::Result<Self, clap::Error> { /* ... */ }

  • rust fn update_from_arg_matches(self: &mut Self, __clap_arg_matches: &clap::ArgMatches) -> ::std::result::Result<(), clap::Error> { /* ... */ }

  • rust fn update_from_arg_matches_mut<''b>(self: &mut Self, __clap_arg_matches: &mut clap::ArgMatches) -> ::std::result::Result<(), clap::Error> { /* ... */ }

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Subcommand
  • rust fn augment_subcommands<''b>(__clap_app: clap::Command) -> clap::Command { /* ... */ }

  • rust fn augment_subcommands_for_update<''b>(__clap_app: clap::Command) -> clap::Command { /* ... */ }

  • rust fn has_subcommand(__clap_name: &str) -> bool { /* ... */ }

  • Sync

  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Functions

Function run_main_cli

pub fn run_main_cli(cli: Cli) -> color_eyre::Result<()> { /* ... */ }

Function command_list

pub(in ::cli) fn command_list(_cli: &Cli) -> color_eyre::Result<()> { /* ... */ }

Function command_add

pub(in ::cli) fn command_add(_cli: &Cli, url: &str, category: &Option<String>) -> color_eyre::Result<()> { /* ... */ }

Function command_update

pub(in ::cli) fn command_update(_cli: &Cli) -> color_eyre::Result<()> { /* ... */ }

Function confirm_delete

pub(in ::cli) fn confirm_delete(title: &str) -> Result<bool, clap::Error> { /* ... */ }

Function command_delete

pub(in ::cli) fn command_delete(_cli: &Cli, ident: &str) -> color_eyre::Result<()> { /* ... */ }

Function command_dirs

pub(in ::cli) fn command_dirs(_cli: &Cli) -> color_eyre::Result<()> { /* ... */ }

Function command_import

pub(in ::cli) fn command_import(_cli: &Cli, opml_file: &str) -> color_eyre::Result<()> { /* ... */ }

Function command_export

pub(in ::cli) fn command_export(_cli: &Cli, opml_file: &str) -> color_eyre::Result<()> { /* ... */ }

Module core

pub mod core { /* ... */ }

Modules

Module defs

pub mod defs { /* ... */ }

Constants and Statics

Constant CONFIG_PATH

pub const CONFIG_PATH: &str = "bulletty";

Constant CONFIG_FILE

pub const CONFIG_FILE: &str = "config.toml";

Constant DATA_DIR

pub const DATA_DIR: &str = "bulletty";

Constant DATA_CATEGORIES_DIR

pub const DATA_CATEGORIES_DIR: &str = "categories";

Constant DATA_CATEGORY_DEFAULT

pub const DATA_CATEGORY_DEFAULT: &str = "General";

Constant DATA_FEED

pub const DATA_FEED: &str = ".feed.toml";

Constant LOG_DIR

pub const LOG_DIR: &str = "bulletty";

Constant DATA_READ_LATER

pub const DATA_READ_LATER: &str = ".later.toml";

Module feed

pub mod feed { /* ... */ }

Modules

Module feedentry

pub mod feedentry { /* ... */ }

Types

Struct FeedEntry

pub struct FeedEntry {
    pub title: String,
    pub description: String,
    pub date: chrono::DateTime<chrono::Utc>,
    pub url: String,
    pub author: String,
    pub text: String,
    pub lastupdated: chrono::DateTime<chrono::Utc>,
    pub seen: bool,
    pub filepath: std::path::PathBuf,
}
Fields
Name Type Documentation
title String
description String
date chrono::DateTime<chrono::Utc>
url String
author String
text String
lastupdated chrono::DateTime<chrono::Utc>
seen bool
filepath std::path::PathBuf
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Clone

  • rust fn clone(self: &Self) -> FeedEntry { /* ... */ }

  • CloneToUninit

  • rust unsafe fn clone_to_uninit(self: &Self, dest: *mut u8) { /* ... */ }

  • Debug

  • rust fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<''_>) -> $crate::fmt::Result { /* ... */ }

  • Default

  • rust fn default() -> FeedEntry { /* ... */ }

  • Deserialize

  • rust fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error> where __D: _serde::Deserializer<''de> { /* ... */ }

  • DeserializeOwned

  • ErasedDestructor
  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Serialize
  • rust fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error> where __S: _serde::Serializer { /* ... */ }

  • Sync

  • ToOwned
  • rust fn to_owned(self: &Self) -> T { /* ... */ }

  • rust fn clone_into(self: &Self, target: &mut T) { /* ... */ }

  • TryFrom

  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module feedparser

pub mod feedparser { /* ... */ }

Functions

Function get_feed_with_data

pub fn get_feed_with_data(url: &str) -> color_eyre::Result<(crate::core::library::feeditem::FeedItem, String)> { /* ... */ }

Function get_feed

pub fn get_feed(url: &str) -> color_eyre::Result<crate::core::library::feeditem::FeedItem> { /* ... */ }

Function parse

pub(in ::core::feed::feedparser) fn parse(doc: &str, feed_url: &str) -> color_eyre::Result<crate::core::library::feeditem::FeedItem> { /* ... */ }

Function get_feed_entries

pub fn get_feed_entries(feed: &crate::core::library::feeditem::FeedItem) -> color_eyre::Result<Vec<crate::core::feed::feedentry::FeedEntry>> { /* ... */ }

Function get_feed_entries_doc

pub fn get_feed_entries_doc(doctxt: &str, defaultauthor: &str) -> color_eyre::Result<Vec<crate::core::feed::feedentry::FeedEntry>> { /* ... */ }

Function parse_date

pub(in ::core::feed::feedparser) fn parse_date(date_str: &str) -> color_eyre::Result<chrono::DateTime<chrono::Utc>> { /* ... */ }

Function get_description_content

pub(in ::core::feed::feedparser) fn get_description_content(entry: &roxmltree::Node<''_, ''_>) -> (String, String) { /* ... */ }

Function strip_markdown_tags

pub(in ::core::feed::feedparser) fn strip_markdown_tags(input: &str) -> String { /* ... */ }

Module library

pub mod library { /* ... */ }

Modules

Module data

pub mod data { /* ... */ }

Modules

Module config

pub mod config { /* ... */ }

Types

Struct Config

pub struct Config {
    pub datapath: std::path::PathBuf,
}
Fields
Name Type Documentation
datapath std::path::PathBuf
Implementations
Methods
  • rust pub fn new() -> Self { /* ... */ }
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Default

  • rust fn default() -> Self { /* ... */ }

  • Deserialize

  • rust fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error> where __D: _serde::Deserializer<''de> { /* ... */ }

  • DeserializeOwned

  • ErasedDestructor
  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Serialize
  • rust fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error> where __S: _serde::Serializer { /* ... */ }

  • Sync

  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module librarydata

pub mod librarydata { /* ... */ }

Types

Struct ReadLaterData

pub struct ReadLaterData {
    pub read_later: Vec<String>,
    pub loaded: bool,
}
Fields
Name Type Documentation
read_later Vec<String>
loaded bool
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Debug

  • rust fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<''_>) -> $crate::fmt::Result { /* ... */ }

  • Default

  • rust fn default() -> ReadLaterData { /* ... */ }

  • Deserialize

  • rust fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error> where __D: _serde::Deserializer<''de> { /* ... */ }

  • DeserializeOwned

  • ErasedDestructor
  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Serialize
  • rust fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error> where __S: _serde::Serializer { /* ... */ }

  • Sync

  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Struct LibraryData

pub struct LibraryData {
    pub path: std::path::PathBuf,
    pub read_later: ReadLaterData,
}
Fields
Name Type Documentation
path std::path::PathBuf
read_later ReadLaterData
Implementations
Methods
  • rust pub fn new(datapath: &Path) -> LibraryData { /* ... */ }

  • rust pub fn feed_exists(self: &Self, slug: &str, category: &str) -> bool { /* ... */ }

  • rust pub fn delete_feed(self: &Self, slug: &str, category: &str) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn feed_create(self: &Self, feed: &FeedItem) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn generate_categories_tree(self: &Self) -> color_eyre::Result<Vec<FeedCategory>> { /* ... */ }

  • rust pub fn load_feeds_from_category(self: &Self, category_name: &str, category: &Path) -> color_eyre::Result<Vec<FeedItem>> { /* ... */ }

  • rust pub fn update_feed_entries(self: &Self, category: &str, feed: &FeedItem, feedxml: Option<String>) -> color_eyre::Result<()> { /* ... */ }

  • rust pub(in ::core::library::data::librarydata) fn update_entries(self: &Self, feed: &FeedItem, entries: Vec<FeedEntry>) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn save_feed_entry(self: &Self, entry: &FeedEntry) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn load_feed_entries(self: &Self, category: &FeedCategory, item: &FeedItem) -> color_eyre::Result<Vec<FeedEntry>> { /* ... */ }

  • rust pub fn get_unread_feed(self: &Self, category: &str, feed_slug: &str) -> color_eyre::Result<u16> { /* ... */ }

  • rust pub(in ::core::library::data::librarydata) fn parse_feed_entry(self: &Self, contents: &str, path: &Path) -> color_eyre::Result<FeedEntry> { /* ... */ }

  • rust pub fn set_entry_seen(self: &Self, entry: &FeedEntry) { /* ... */ }

  • rust pub fn toggle_entry_seen(self: &Self, entry: &FeedEntry) { /* ... */ }

  • rust pub fn add_to_read_later(self: &mut Self, entry: &FeedEntry) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn remove_from_read_later(self: &mut Self, file_path: &str) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn get_read_later_feed_entries(self: &mut Self) -> color_eyre::Result<Vec<FeedEntry>> { /* ... */ }

  • rust pub fn is_in_read_later(self: &mut Self, file_path: &str) -> color_eyre::Result<bool> { /* ... */ }

  • rust pub(in ::core::library::data::librarydata) fn ensure_read_later(self: &mut Self) -> color_eyre::Result<()> { /* ... */ }

  • rust pub(in ::core::library::data::librarydata) fn load_read_later(self: &mut Self) -> color_eyre::Result<ReadLaterData> { /* ... */ }

  • rust pub(in ::core::library::data::librarydata) fn save_read_later(self: &Self, read_later_list: &ReadLaterData) -> color_eyre::Result<()> { /* ... */ }

  • rust pub(in ::core::library::data::librarydata) fn absolute_path_to_relative_path(self: &Self, file_path: &str) -> String { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Functions

Function load_or_create

pub fn load_or_create(path: &std::path::Path) { /* ... */ }

Module opml

pub mod opml { /* ... */ }

Types

Struct OpmlFeed

pub struct OpmlFeed {
    pub url: String,
    pub category: Option<String>,
}
Fields
Name Type Documentation
url String
category Option<String>
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Functions

Function get_opml_feeds

pub fn get_opml_feeds(filename: &str) -> color_eyre::Result<Vec<OpmlFeed>> { /* ... */ }

Function get_opml_feed

pub(in ::core::library::data::opml) fn get_opml_feed(node: &roxmltree::Node<''_, ''_>, category: Option<String>) -> color_eyre::Result<OpmlFeed> { /* ... */ }

Function save_opml

pub fn save_opml(categories: &[crate::core::library::feedcategory::FeedCategory], filename: &str) -> color_eyre::Result<()> { /* ... */ }

Module feedcategory

pub mod feedcategory { /* ... */ }

Types

Struct FeedCategory

pub struct FeedCategory {
    pub title: String,
    pub feeds: Vec<crate::core::library::feeditem::FeedItem>,
}
Fields
Name Type Documentation
title String
feeds Vec<crate::core::library::feeditem::FeedItem>
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Clone

  • rust fn clone(self: &Self) -> FeedCategory { /* ... */ }

  • CloneToUninit

  • rust unsafe fn clone_to_uninit(self: &Self, dest: *mut u8) { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • ToOwned
  • rust fn to_owned(self: &Self) -> T { /* ... */ }

  • rust fn clone_into(self: &Self, target: &mut T) { /* ... */ }

  • TryFrom

  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module feeditem

pub mod feeditem { /* ... */ }

Types

Struct FeedItem

pub struct FeedItem {
    pub title: String,
    pub description: String,
    pub url: String,
    pub feed_url: String,
    pub author: String,
    pub slug: String,
    pub lastupdated: chrono::DateTime<chrono::Utc>,
    pub category: String,
}
Fields
Name Type Documentation
title String
description String
url String
feed_url String
author String
slug String
lastupdated chrono::DateTime<chrono::Utc>
category String
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Clone

  • rust fn clone(self: &Self) -> FeedItem { /* ... */ }

  • CloneToUninit

  • rust unsafe fn clone_to_uninit(self: &Self, dest: *mut u8) { /* ... */ }

  • Debug

  • rust fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<''_>) -> $crate::fmt::Result { /* ... */ }

  • Default

  • rust fn default() -> FeedItem { /* ... */ }

  • Deserialize

  • rust fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error> where __D: _serde::Deserializer<''de> { /* ... */ }

  • DeserializeOwned

  • ErasedDestructor
  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Serialize
  • rust fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error> where __S: _serde::Serializer { /* ... */ }

  • Sync

  • ToOwned
  • rust fn to_owned(self: &Self) -> T { /* ... */ }

  • rust fn clone_into(self: &Self, target: &mut T) { /* ... */ }

  • TryFrom

  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module feedlibrary

pub mod feedlibrary { /* ... */ }

Types

Struct FeedLibrary

pub struct FeedLibrary {
    pub feedcategories: Vec<crate::core::library::feedcategory::FeedCategory>,
    pub data: crate::core::library::data::librarydata::LibraryData,
    pub updater: Option<crate::core::library::updater::Updater>,
    pub settings: crate::core::library::settings::usersettings::UserSettings,
}
Fields
Name Type Documentation
feedcategories Vec<crate::core::library::feedcategory::FeedCategory>
data crate::core::library::data::librarydata::LibraryData
updater Option<crate::core::library::updater::Updater>
settings crate::core::library::settings::usersettings::UserSettings
Implementations
Methods
  • rust pub fn new() -> Self { /* ... */ }

  • rust pub fn add_feed_from_url(self: &mut Self, url: &str, category: &Option<String>) -> color_eyre::Result<FeedItem> { /* ... */ }

  • rust pub fn add_feed(self: &mut Self, feed: FeedItem, text: Option<String>) -> color_eyre::Result<FeedItem> { /* ... */ }

  • rust pub fn delete_feed(self: &Self, slug: &str, category: &str) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn get_feed_entries_by_category(self: &Self, categorytitle: &str) -> color_eyre::Result<Vec<FeedEntry>> { /* ... */ }

  • rust pub fn get_feed_entries_by_item_slug(self: &Self, slug: &str) -> color_eyre::Result<Vec<FeedEntry>> { /* ... */ }

  • rust pub fn start_updater(self: &mut Self) { /* ... */ }

  • rust pub fn update(self: &mut Self) { /* ... */ }

  • rust pub fn get_update_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust pub fn get_matching_feeds(self: &Self, ident: &str) -> Vec<&FeedItem> { /* ... */ }

  • rust pub fn add_to_read_later(self: &mut Self, entry: &FeedEntry) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn remove_from_read_later(self: &mut Self, file_path: &str) -> color_eyre::Result<()> { /* ... */ }

  • rust pub fn has_read_later_entries(self: &mut Self) -> bool { /* ... */ }

  • rust pub fn is_in_read_later(self: &mut Self, file_path: &str) -> bool { /* ... */ }

  • rust pub fn get_read_later_feed_entries(self: &mut Self) -> color_eyre::Result<Vec<FeedEntry>> { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Default

  • rust fn default() -> Self { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module settings

pub mod settings { /* ... */ }

Modules

Module appearance

pub mod appearance { /* ... */ }

Types

Struct Appearance

pub struct Appearance {
    pub main_screen_tree_width: u16,
    pub reader_width: u16,
    pub theme: String,
    pub(in ::core::library::settings::appearance) path: std::path::PathBuf,
}
Fields
Name Type Documentation
main_screen_tree_width u16
reader_width u16
theme String
path std::path::PathBuf
Implementations
Methods
  • rust pub fn new(datapath: &Path) -> color_eyre::Result<Self> { /* ... */ }

  • rust pub fn save(self: &mut Self) -> color_eyre::Result<()> { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Debug

  • rust fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<''_>) -> $crate::fmt::Result { /* ... */ }

  • Deserialize

  • rust fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error> where __D: _serde::Deserializer<''de> { /* ... */ }

  • DeserializeOwned

  • ErasedDestructor
  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Serialize
  • rust fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error> where __S: _serde::Serializer { /* ... */ }

  • Sync

  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Functions

Function default_tree_width

pub(in ::core::library::settings::appearance) fn default_tree_width() -> u16 { /* ... */ }

Function default_reader_width

pub(in ::core::library::settings::appearance) fn default_reader_width() -> u16 { /* ... */ }

Function default_theme

pub(in ::core::library::settings::appearance) fn default_theme() -> String { /* ... */ }

Constants and Statics

Constant APPEARANCE_PATH

pub(in ::core::library::settings::appearance) const APPEARANCE_PATH: &str = ".appearance.toml";

Module theme

pub mod theme { /* ... */ }

Types

Struct Theme

Attributes:

  • Other("#[allow(non_snake_case)]")
pub struct Theme {
    pub scheme: String,
    pub author: String,
    pub base00: String,
    pub base01: String,
    pub base02: String,
    pub base03: String,
    pub base04: String,
    pub base05: String,
    pub base06: String,
    pub base07: String,
    pub base08: String,
    pub base09: String,
    pub base0A: String,
    pub base0B: String,
    pub base0C: String,
    pub base0D: String,
    pub base0E: String,
    pub base0F: String,
    pub base: [u32; 16],
}
Fields
Name Type Documentation
scheme String
author String
base00 String
base01 String
base02 String
base03 String
base04 String
base05 String
base06 String
base07 String
base08 String
base09 String
base0A String
base0B String
base0C String
base0D String
base0E String
base0F String
base [u32; 16]
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Clone

  • rust fn clone(self: &Self) -> Theme { /* ... */ }

  • CloneToUninit

  • rust unsafe fn clone_to_uninit(self: &Self, dest: *mut u8) { /* ... */ }

  • Default

  • rust fn default() -> Theme { /* ... */ }

  • Deserialize

  • rust fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error> where __D: _serde::Deserializer<''de> { /* ... */ }

  • DeserializeOwned

  • ErasedDestructor
  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • ToOwned
  • rust fn to_owned(self: &Self) -> T { /* ... */ }

  • rust fn clone_into(self: &Self, target: &mut T) { /* ... */ }

  • TryFrom

  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module themedata

pub mod themedata { /* ... */ }

Functions

Function get_themes

pub fn get_themes() -> std::collections::HashMap<String, crate::core::library::settings::theme::Theme> { /* ... */ }

Module usersettings

pub mod usersettings { /* ... */ }

Types

Struct UserSettings

pub struct UserSettings {
    pub appearance: crate::core::library::settings::appearance::Appearance,
    pub(in ::core::library::settings::usersettings) themes: std::collections::HashMap<String, crate::core::library::settings::theme::Theme>,
}
Fields
Name Type Documentation
appearance crate::core::library::settings::appearance::Appearance
themes std::collections::HashMap<String, crate::core::library::settings::theme::Theme>
Implementations
Methods
  • rust pub fn new(datapath: &Path) -> color_eyre::Result<Self> { /* ... */ }

  • rust pub fn get_theme(self: &Self) -> Option<&Theme> { /* ... */ }

  • rust pub fn get_theme_list(self: &Self) -> Vec<String> { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module updater

pub mod updater { /* ... */ }

Types

Struct Updater

pub struct Updater {
    pub last_completed: std::sync::Arc<std::sync::Mutex<String>>,
    pub total_completed: std::sync::Arc<std::sync::atomic::AtomicU16>,
    pub finished: std::sync::Arc<std::sync::atomic::AtomicBool>,
    pub(in ::core::library::updater) _thread: Option<std::thread::JoinHandle<()>>,
}
Fields
Name Type Documentation
last_completed std::sync::Arc<std::sync::Mutex<String>>
total_completed std::sync::Arc<std::sync::atomic::AtomicU16>
finished std::sync::Arc<std::sync::atomic::AtomicBool>
_thread Option<std::thread::JoinHandle<()>>
Implementations
Methods
  • rust pub fn new(feedcategories: Vec<FeedCategory>) -> Self { /* ... */ }
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module ui

pub mod ui { /* ... */ }

Modules

Module appscreen

pub mod appscreen { /* ... */ }

Types

Enum AppScreenEvent

pub enum AppScreenEvent {
    None,
    ChangeState(Box<dyn AppScreen>),
    ExitState,
    OpenDialog(Box<dyn Dialog>),
    CloseDialog,
    ExitApp,
}
Variants
None
ChangeState

Fields:

Index Type Documentation
0 Box<dyn AppScreen>
ExitState
OpenDialog

Fields:

Index Type Documentation
0 Box<dyn Dialog>
CloseDialog
ExitApp
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Traits

Trait AppScreen

pub trait AppScreen {
    /* Associated items */
}
Required Items
Required Methods
  • start
  • quit
  • pause
  • unpause
  • render
  • handle_events
  • handle_keypress
  • get_work_status
  • get_title
  • get_instructions
  • get_full_instructions
Implementations

This trait is implemented for the following types:

  • HelpDialog
  • MainScreen
  • ReaderScreen
  • ThemeDialog
  • UrlDialog

Module dialog

pub mod dialog { /* ... */ }

Traits

Trait Dialog

pub trait Dialog {
    /* Associated items */
}
Required Items
Required Methods
  • get_size: Get the sizes of dialog
  • as_screen
  • as_screen_mut
Implementations

This trait is implemented for the following types:

  • HelpDialog
  • ThemeDialog
  • UrlDialog

Module logging

pub mod logging { /* ... */ }

Functions

Function init

pub fn init() -> Option<tracing_appender::non_blocking::WorkerGuard> { /* ... */ }

Module mainui

pub mod mainui { /* ... */ }

Functions

Function run_main_ui

pub fn run_main_ui() -> color_eyre::Result<()> { /* ... */ }

Module ui

pub mod ui { /* ... */ }

Modules

Module screens

pub mod screens { /* ... */ }

Modules

Module helpdialog

pub mod helpdialog { /* ... */ }

Types

Struct HelpDialog

pub struct HelpDialog {
    pub(in ::ui::screens::helpdialog) help_string: String,
}
Fields
Name Type Documentation
help_string String
Implementations
Methods
  • rust pub fn new(help_string: String) -> HelpDialog { /* ... */ }
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • AppScreen

  • rust fn start(self: &mut Self) { /* ... */ }

  • rust fn quit(self: &mut Self) { /* ... */ }

  • rust fn pause(self: &mut Self) { /* ... */ }

  • rust fn unpause(self: &mut Self) { /* ... */ }

  • rust fn render(self: &mut Self, frame: &mut ratatui::Frame<''_>, area: ratatui::prelude::Rect) { /* ... */ }

  • rust fn handle_events(self: &mut Self) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn handle_keypress(self: &mut Self, key: KeyEvent) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn get_work_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust fn get_title(self: &Self) -> String { /* ... */ }

  • rust fn get_instructions(self: &Self) -> String { /* ... */ }

  • rust fn get_full_instructions(self: &Self) -> String { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Dialog

  • rust fn get_size(self: &Self) -> ratatui::prelude::Rect { /* ... */ }

  • rust fn as_screen(self: &Self) -> &dyn AppScreen { /* ... */ }

  • rust fn as_screen_mut(self: &mut Self) -> &mut dyn AppScreen { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module mainscreen

pub mod mainscreen { /* ... */ }

Types

Enum MainInputState

pub(in ::ui::screens::mainscreen) enum MainInputState {
    Menu,
    Content,
}
Variants
Content
Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Eq

  • Equivalent
  • rust fn equivalent(self: &Self, key: &K) -> bool { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PartialEq
  • rust fn eq(self: &Self, other: &MainInputState) -> bool { /* ... */ }

  • PolicyExt

  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • StructuralPartialEq
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Struct MainScreen

pub struct MainScreen {
    pub(in ::ui::screens::mainscreen) library: std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>,
    pub(in ::ui::screens::mainscreen) feedtreestate: crate::ui::states::feedtreestate::FeedTreeState,
    pub(in ::ui::screens::mainscreen) feedentrystate: crate::ui::states::feedentrystate::FeedEntryState,
    pub(in ::ui::screens::mainscreen) inputstate: MainInputState,
}
Fields
Name Type Documentation
library std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>
feedtreestate crate::ui::states::feedtreestate::FeedTreeState
feedentrystate crate::ui::states::feedentrystate::FeedEntryState
inputstate MainInputState
Implementations
Methods
  • rust pub fn new(library: Rc<RefCell<FeedLibrary>>) -> Self { /* ... */ }

  • rust pub(in ::ui::screens::mainscreen) fn set_all_read(self: &Self) { /* ... */ }

  • rust pub(in ::ui::screens::mainscreen) fn open_external_url(self: &Self, url: &str) -> Result<AppScreenEvent> { /* ... */ }

  • rust pub(in ::ui::screens::mainscreen) fn open_theme_selector(self: &Self) -> Result<AppScreenEvent> { /* ... */ }

  • rust pub(in ::ui::screens::mainscreen) fn toggle_read_later(self: &mut Self, entry: &FeedEntry) { /* ... */ }

  • rust pub(in ::ui::screens::mainscreen) fn increase_tree_width(self: &mut Self) -> color_eyre::Result<()> { /* ... */ }

  • rust pub(in ::ui::screens::mainscreen) fn decrease_tree_width(self: &mut Self) -> color_eyre::Result<()> { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • AppScreen

  • rust fn start(self: &mut Self) { /* ... */ }

  • rust fn quit(self: &mut Self) { /* ... */ }

  • rust fn pause(self: &mut Self) { /* ... */ }

  • rust fn unpause(self: &mut Self) { /* ... */ }

  • rust fn render(self: &mut Self, frame: &mut ratatui::Frame<''_>, area: Rect) { /* ... */ }

  • rust fn handle_events(self: &mut Self) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn handle_keypress(self: &mut Self, key: crossterm::event::KeyEvent) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn get_title(self: &Self) -> String { /* ... */ }

  • rust fn get_instructions(self: &Self) -> String { /* ... */ }

  • rust fn get_work_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust fn get_full_instructions(self: &Self) -> String { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module readerscreen

pub mod readerscreen { /* ... */ }

Types

Struct ReaderScreen

pub struct ReaderScreen {
    pub(in ::ui::screens::readerscreen) library: std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>,
    pub(in ::ui::screens::readerscreen) entries: Vec<crate::core::feed::feedentry::FeedEntry>,
    pub(in ::ui::screens::readerscreen) current_index: usize,
    pub(in ::ui::screens::readerscreen) scroll: usize,
    pub(in ::ui::screens::readerscreen) scrollmax: usize,
}
Fields
Name Type Documentation
library std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>
entries Vec<crate::core::feed::feedentry::FeedEntry>
current_index usize
scroll usize
scrollmax usize
Implementations
Methods
  • rust pub fn new(library: Rc<RefCell<FeedLibrary>>, entries: Vec<FeedEntry>, current_index: usize) -> ReaderScreen { /* ... */ }

  • rust pub fn scrollup(self: &mut Self) { /* ... */ }

  • rust pub fn scrolldown(self: &mut Self) { /* ... */ }

  • rust pub fn next_entry(self: &mut Self) { /* ... */ }

  • rust pub fn previous_entry(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::screens::readerscreen) fn open_external_url(self: &Self, url: &str) -> Result<AppScreenEvent> { /* ... */ }

  • rust pub(in ::ui::screens::readerscreen) fn increase_reader_width(self: &mut Self) -> color_eyre::Result<()> { /* ... */ }

  • rust pub(in ::ui::screens::readerscreen) fn decrease_reader_width(self: &mut Self) -> color_eyre::Result<()> { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • AppScreen

  • rust fn start(self: &mut Self) { /* ... */ }

  • rust fn render(self: &mut Self, frame: &mut ratatui::Frame<''_>, area: ratatui::prelude::Rect) { /* ... */ }

  • rust fn handle_events(self: &mut Self) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn handle_keypress(self: &mut Self, key: crossterm::event::KeyEvent) -> color_eyre::eyre::Result<AppScreenEvent> { /* ... */ }

  • rust fn pause(self: &mut Self) { /* ... */ }

  • rust fn unpause(self: &mut Self) { /* ... */ }

  • rust fn quit(self: &mut Self) { /* ... */ }

  • rust fn get_title(self: &Self) -> String { /* ... */ }

  • rust fn get_instructions(self: &Self) -> String { /* ... */ }

  • rust fn get_work_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust fn get_full_instructions(self: &Self) -> String { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module themedialog

pub mod themedialog { /* ... */ }

Types

Struct ThemeDialog

pub struct ThemeDialog {
    pub(in ::ui::screens::themedialog) library: std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>,
    pub(in ::ui::screens::themedialog) state: crate::ui::states::themestate::ThemeState,
}
Fields
Name Type Documentation
library std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>
state crate::ui::states::themestate::ThemeState
Implementations
Methods
  • rust pub fn new(library: Rc<RefCell<FeedLibrary>>) -> Self { /* ... */ }
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • AppScreen

  • rust fn start(self: &mut Self) { /* ... */ }

  • rust fn quit(self: &mut Self) { /* ... */ }

  • rust fn pause(self: &mut Self) { /* ... */ }

  • rust fn unpause(self: &mut Self) { /* ... */ }

  • rust fn render(self: &mut Self, frame: &mut ratatui::Frame<''_>, area: ratatui::prelude::Rect) { /* ... */ }

  • rust fn handle_events(self: &mut Self) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn handle_keypress(self: &mut Self, key: KeyEvent) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn get_work_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust fn get_title(self: &Self) -> String { /* ... */ }

  • rust fn get_instructions(self: &Self) -> String { /* ... */ }

  • rust fn get_full_instructions(self: &Self) -> String { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Dialog

  • rust fn get_size(self: &Self) -> ratatui::prelude::Rect { /* ... */ }

  • rust fn as_screen(self: &Self) -> &dyn AppScreen { /* ... */ }

  • rust fn as_screen_mut(self: &mut Self) -> &mut dyn AppScreen { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module urldialog

pub mod urldialog { /* ... */ }

Types

Struct UrlDialog

pub struct UrlDialog {
    pub(in ::ui::screens::urldialog) url: String,
}
Fields
Name Type Documentation
url String
Implementations
Methods
  • rust pub fn new(url: String) -> Self { /* ... */ }
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • AppScreen

  • rust fn start(self: &mut Self) { /* ... */ }

  • rust fn quit(self: &mut Self) { /* ... */ }

  • rust fn pause(self: &mut Self) { /* ... */ }

  • rust fn unpause(self: &mut Self) { /* ... */ }

  • rust fn render(self: &mut Self, frame: &mut ratatui::Frame<''_>, area: ratatui::prelude::Rect) { /* ... */ }

  • rust fn handle_events(self: &mut Self) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn handle_keypress(self: &mut Self, key: KeyEvent) -> Result<AppScreenEvent> { /* ... */ }

  • rust fn get_work_status(self: &Self) -> AppWorkStatus { /* ... */ }

  • rust fn get_title(self: &Self) -> String { /* ... */ }

  • rust fn get_instructions(self: &Self) -> String { /* ... */ }

  • rust fn get_full_instructions(self: &Self) -> String { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Dialog

  • rust fn get_size(self: &Self) -> ratatui::prelude::Rect { /* ... */ }

  • rust fn as_screen(self: &Self) -> &dyn AppScreen { /* ... */ }

  • rust fn as_screen_mut(self: &mut Self) -> &mut dyn AppScreen { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module states

pub mod states { /* ... */ }

Modules

Module feedentrystate

pub mod feedentrystate { /* ... */ }

Types

Struct FeedEntryState

pub struct FeedEntryState {
    pub entries: Vec<crate::core::feed::feedentry::FeedEntry>,
    pub listatate: ratatui::widgets::ListState,
    pub previous_selected: String,
    pub library: Option<std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>>,
    pub(in ::ui::states::feedentrystate) theme: crate::core::library::settings::theme::Theme,
}
Fields
Name Type Documentation
entries Vec<crate::core::feed::feedentry::FeedEntry>
listatate ratatui::widgets::ListState
previous_selected String
library Option<std::rc::Rc<std::cell::RefCell<crate::core::library::feedlibrary::FeedLibrary>>>
theme crate::core::library::settings::theme::Theme
Implementations
Methods
  • rust pub fn new() -> Self { /* ... */ }

  • rust pub fn update(self: &mut Self, library: &mut FeedLibrary, treestate: &FeedTreeState) { /* ... */ }

  • rust pub fn get_items(self: &Self) -> Vec<ListItem<''_>> { /* ... */ }

  • rust pub fn get_selected(self: &Self) -> Option<FeedEntry> { /* ... */ }

  • rust pub fn set_current_read(self: &mut Self) { /* ... */ }

  • rust pub fn select_next(self: &mut Self) { /* ... */ }

  • rust pub fn select_previous(self: &mut Self) { /* ... */ }

  • rust pub fn select_first(self: &mut Self) { /* ... */ }

  • rust pub fn select_last(self: &mut Self) { /* ... */ }

  • rust pub fn scroll_max(self: &Self) -> usize { /* ... */ }

  • rust pub fn scroll(self: &Self) -> usize { /* ... */ }

  • rust pub(in ::ui::states::feedentrystate) fn is_in_read_later(self: &Self, file_path: &str) -> bool { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Default

  • rust fn default() -> Self { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module feedtreestate

pub mod feedtreestate { /* ... */ }

Types

Enum FeedItemInfo

pub enum FeedItemInfo {
    Category(String),
    Item(String, String, String),
    Separator,
    ReadLater,
}
Variants
Category

Represents the category title

Fields:

Index Type Documentation
0 String
Item

Represents an item in the feed tree with a title, categore, and slug

Fields:

Index Type Documentation
0 String
1 String
2 String
Separator

Represents a separator in the menu

ReadLater

Represents the Read Later category

Implementations
Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Struct FeedTreeState

pub struct FeedTreeState {
    pub treeitems: Vec<FeedItemInfo>,
    pub listatate: ratatui::widgets::ListState,
}
Fields
Name Type Documentation
treeitems Vec<FeedItemInfo>
listatate ratatui::widgets::ListState
Implementations
Methods
  • rust pub fn new() -> Self { /* ... */ }

  • rust pub fn update(self: &mut Self, library: &mut FeedLibrary) { /* ... */ }

  • rust pub fn get_items(self: &Self, library: &mut FeedLibrary) -> Vec<ListItem<''_>> { /* ... */ }

  • rust pub fn get_selected(self: &Self) -> Option<&FeedItemInfo> { /* ... */ }

  • rust pub fn select_next(self: &mut Self) { /* ... */ }

  • rust pub fn select_previous(self: &mut Self) { /* ... */ }

  • rust pub fn select_first(self: &mut Self) { /* ... */ }

  • rust pub fn select_last(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::states::feedtreestate) fn is_selected_separator(self: &Self) -> bool { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Default

  • rust fn default() -> Self { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module themestate

pub mod themestate { /* ... */ }

Types

Struct ThemeState

pub struct ThemeState {
    pub themes: Vec<String>,
    pub state: ratatui::widgets::ListState,
}
Fields
Name Type Documentation
themes Vec<String>
state ratatui::widgets::ListState
Implementations
Methods
  • rust pub fn update(self: &mut Self, library: &FeedLibrary) { /* ... */ }

  • rust pub fn get_items(self: &Self) -> Vec<ListItem<''_>> { /* ... */ }

  • rust pub fn get_selected(self: &Self) -> Option<String> { /* ... */ }

  • rust pub fn select_next(self: &mut Self) { /* ... */ }

  • rust pub fn select_previous(self: &mut Self) { /* ... */ }

  • rust pub fn select_first(self: &mut Self) { /* ... */ }

  • rust pub fn select_last(self: &mut Self) { /* ... */ }

  • rust pub fn scroll_max(self: &Self) -> usize { /* ... */ }

  • rust pub fn scroll(self: &Self) -> usize { /* ... */ }

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • Default

  • rust fn default() -> ThemeState { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Module tools

pub mod tools { /* ... */ }

Modules

Module styles

pub mod styles { /* ... */ }

Functions

Function p

pub fn p(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function list_item

pub fn list_item(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function h1

pub fn h1(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function h2

pub fn h2(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function h3

pub fn h3(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function h4

pub fn h4(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function h5

pub fn h5(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function h6

pub fn h6(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function blockquote

pub fn blockquote(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Function code

pub fn code(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }
pub fn link(theme: Option<&crate::core::library::settings::theme::Theme>) -> ratatui::style::Style { /* ... */ }

Module tuimarkdown

A simple markdown renderer widget for Ratatui. Originally written by joshka https://github.com/joshka/tui-markdown

pub mod tuimarkdown { /* ... */ }

Types

Struct TextWriter

pub(in ::ui::tools::tuimarkdown) struct TextWriter<''a, I> {
    pub(in ::ui::tools::tuimarkdown) iter: I,
    pub(in ::ui::tools::tuimarkdown) text: ratatui::text::Text<''a>,
    pub(in ::ui::tools::tuimarkdown) inline_styles: Vec<ratatui::style::Style>,
    pub(in ::ui::tools::tuimarkdown) line_prefixes: Vec<ratatui::text::Span<''a>>,
    pub(in ::ui::tools::tuimarkdown) line_styles: Vec<ratatui::style::Style>,
    pub(in ::ui::tools::tuimarkdown) code_highlighter: Option<syntect::easy::HighlightLines<''a>>,
    pub(in ::ui::tools::tuimarkdown) list_indices: Vec<Option<u64>>,
    pub(in ::ui::tools::tuimarkdown) link: Option<pulldown_cmark::CowStr<''a>>,
    pub(in ::ui::tools::tuimarkdown) image: Option<pulldown_cmark::CowStr<''a>>,
    pub(in ::ui::tools::tuimarkdown) needs_newline: bool,
    pub(in ::ui::tools::tuimarkdown) theme: Option<crate::core::library::settings::theme::Theme>,
}
Fields
Name Type Documentation
iter I Iterator supplying events.
text ratatui::text::Text<''a> Text to write to.
inline_styles Vec<ratatui::style::Style> Current style.

This is a stack of styles, with the top style being the current style.
line_prefixes Vec<ratatui::text::Span<''a>> Prefix to add to the start of the each line.
line_styles Vec<ratatui::style::Style> Stack of line styles.
code_highlighter Option<syntect::easy::HighlightLines<''a>> Used to highlight code blocks, set when a codeblock is encountered
list_indices Vec<Option<u64>> Current list index as a stack of indices.
link Option<pulldown_cmark::CowStr<''a>> A link which will be appended to the current line when the link tag is closed.
image Option<pulldown_cmark::CowStr<''a>> The current image to be closed
needs_newline bool True when last element requires a new line
theme Option<crate::core::library::settings::theme::Theme> bulletty Theme
Implementations
Methods
  • rust pub(in ::ui::tools::tuimarkdown) fn new(iter: I, theme: Option<Theme>) -> Self { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn run(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn handle_event(self: &mut Self, event: Event<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_tag(self: &mut Self, tag: Tag<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn end_tag(self: &mut Self, tag: TagEnd) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_paragraph(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn end_paragraph(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_heading(self: &mut Self, level: HeadingLevel) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn end_heading(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_blockquote(self: &mut Self, _kind: Option<BlockQuoteKind>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn end_blockquote(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn text(self: &mut Self, text: CowStr<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn code(self: &mut Self, code: CowStr<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn hard_break(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_list(self: &mut Self, index: Option<u64>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn end_list(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_item(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn soft_break(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn start_codeblock(self: &mut Self, kind: CodeBlockKind<''_>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn end_codeblock(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn set_code_highlighter(self: &mut Self, lang: &str) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn clear_code_highlighter(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn push_inline_style(self: &mut Self, style: Style) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn pop_inline_style(self: &mut Self) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn push_line(self: &mut Self, line: Line<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn push_span(self: &mut Self, span: Span<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn push_link(self: &mut Self, dest_url: CowStr<''a>) { /* ... */ } Store the link to be appended to the link text

  • rust pub(in ::ui::tools::tuimarkdown) fn pop_link(self: &mut Self) { /* ... */ } Append the link to the current line

  • rust pub(in ::ui::tools::tuimarkdown) fn push_image(self: &mut Self, link_type: pulldown_cmark::LinkType, dest_url: CowStr<''a>, title: CowStr<''a>) { /* ... */ }

  • rust pub(in ::ui::tools::tuimarkdown) fn pop_image(self: &mut Self) { /* ... */ } Append the end of the image tag

Trait Implementations
  • Any
  • rust fn type_id(self: &Self) -> TypeId { /* ... */ }

  • Borrow

  • rust fn borrow(self: &Self) -> &T { /* ... */ }

  • BorrowMut

  • rust fn borrow_mut(self: &mut Self) -> &mut T { /* ... */ }

  • ErasedDestructor

  • Freeze
  • From
  • rust fn from(t: T) -> T { /* ... */ } Returns the argument unchanged.

  • Instrument

  • Into
  • rust fn into(self: Self) -> U { /* ... */ } Calls U::from(self).

  • IntoEither

  • OwoColorize
  • PolicyExt
  • rust fn and<P, B, E>(self: Self, other: P) -> And<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • rust fn or<P, B, E>(self: Self, other: P) -> Or<T, P> where T: Policy<B, E>, P: Policy<B, E> { /* ... */ }

  • RefUnwindSafe

  • Send
  • Sync
  • TryFrom
  • rust fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> { /* ... */ }

  • TryInto

  • rust fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error> { /* ... */ }

  • Unpin

  • UnwindSafe
  • WithSubscriber

Functions

Function from_str

pub fn from_str(input: &str, theme: Option<crate::core::library::settings::theme::Theme>) -> ratatui::text::Text<''_> { /* ... */ }

Constants and Statics

Static SYNTAX_SET

pub(in ::ui::tools::tuimarkdown) static SYNTAX_SET: std::sync::LazyLock<syntect::parsing::SyntaxSet> = _;

Static THEME_SET

pub(in ::ui::tools::tuimarkdown) static THEME_SET: std::sync::LazyLock<syntect::highlighting::ThemeSet> = _;

Functions

Function run

pub fn run() -> color_eyre::Result<()> { /* ... */ }

Function main

pub(crate) fn main() -> color_eyre::Result<()> { /* ... */ }