Compare commits
No commits in common. "549ebe2f1dbf9894f552ede352aeb8be820087f5" and "2ee61a933ab8f0eb058c18d854a9e79449909e07" have entirely different histories.
549ebe2f1d
...
2ee61a933a
37
Cargo.lock
generated
37
Cargo.lock
generated
@ -788,25 +788,6 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "is-docker"
|
|
||||||
version = "0.2.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3"
|
|
||||||
dependencies = [
|
|
||||||
"once_cell",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "is-wsl"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5"
|
|
||||||
dependencies = [
|
|
||||||
"is-docker",
|
|
||||||
"once_cell",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itertools"
|
name = "itertools"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
@ -969,17 +950,6 @@ version = "1.21.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "open"
|
|
||||||
version = "5.3.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95"
|
|
||||||
dependencies = [
|
|
||||||
"is-wsl",
|
|
||||||
"libc",
|
|
||||||
"pathdiff",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl"
|
name = "openssl"
|
||||||
version = "0.10.73"
|
version = "0.10.73"
|
||||||
@ -1053,12 +1023,6 @@ version = "1.0.15"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pathdiff"
|
|
||||||
version = "0.2.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "percent-encoding"
|
name = "percent-encoding"
|
||||||
version = "2.3.1"
|
version = "2.3.1"
|
||||||
@ -1716,7 +1680,6 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"argh",
|
"argh",
|
||||||
"crossterm 0.29.0",
|
"crossterm 0.29.0",
|
||||||
"open",
|
|
||||||
"ratatui",
|
"ratatui",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"rusqlite",
|
"rusqlite",
|
||||||
|
@ -6,7 +6,6 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
argh = "0.1.13"
|
argh = "0.1.13"
|
||||||
crossterm = "0.29.0"
|
crossterm = "0.29.0"
|
||||||
open = "5.3.2"
|
|
||||||
ratatui = "0.29.0"
|
ratatui = "0.29.0"
|
||||||
reqwest = { version = "0.12.20", features = ["blocking"] }
|
reqwest = { version = "0.12.20", features = ["blocking"] }
|
||||||
rusqlite = { version = "0.36.0", features = ["bundled", "time"] }
|
rusqlite = { version = "0.36.0", features = ["bundled", "time"] }
|
||||||
|
@ -4,14 +4,6 @@
|
|||||||
- https://www.rssboard.org/rss-specification
|
- https://www.rssboard.org/rss-specification
|
||||||
- https://www.rfc-editor.org/rfc/rfc4287
|
- https://www.rfc-editor.org/rfc/rfc4287
|
||||||
|
|
||||||
# Todo
|
|
||||||
|
|
||||||
- Fix parser, doesnt work for https://blog.codinghorror.com/rss/
|
|
||||||
- Add support for Atom feeds
|
|
||||||
- Add/remove from TUI
|
|
||||||
- Sync
|
|
||||||
- Show unread
|
|
||||||
|
|
||||||
# Features checklist
|
# Features checklist
|
||||||
|
|
||||||
- [ ] Daemon mode, same machine
|
- [ ] Daemon mode, same machine
|
||||||
|
16
src/ui.rs
16
src/ui.rs
@ -41,7 +41,6 @@ enum TrsEvent {
|
|||||||
FocusArticles,
|
FocusArticles,
|
||||||
FocusChannels,
|
FocusChannels,
|
||||||
ToggleDebug,
|
ToggleDebug,
|
||||||
OpenArticle,
|
|
||||||
Exit,
|
Exit,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,20 +161,6 @@ fn handle_events(state: &mut AppState) -> Result<()> {
|
|||||||
TrsEvent::Exit => state.exit = true,
|
TrsEvent::Exit => state.exit = true,
|
||||||
TrsEvent::FocusArticles => state.focussed = FocussedPane::Articles,
|
TrsEvent::FocusArticles => state.focussed = FocussedPane::Articles,
|
||||||
TrsEvent::FocusChannels => state.focussed = FocussedPane::Channels,
|
TrsEvent::FocusChannels => state.focussed = FocussedPane::Channels,
|
||||||
TrsEvent::OpenArticle => {
|
|
||||||
if let Some(channel_idx) = state.highlighted_channel {
|
|
||||||
if let Some(article_idx) = state.highlighted_article {
|
|
||||||
if let Some(channel) = state.channels.get(channel_idx) {
|
|
||||||
if let Some(article) = channel.articles.get(article_idx) {
|
|
||||||
let open_res = open::that(&article.link);
|
|
||||||
if let Err(e) = open_res {
|
|
||||||
eprintln!("Failed to open article: {}", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@ -195,7 +180,6 @@ fn parse_trs_event(state: &AppState, raw_event: Event) -> TrsEvent {
|
|||||||
},
|
},
|
||||||
KeyCode::Char('k') => TrsEvent::FocusEntryUp,
|
KeyCode::Char('k') => TrsEvent::FocusEntryUp,
|
||||||
KeyCode::Char('d') if state.debug_enabled => return TrsEvent::ToggleDebug,
|
KeyCode::Char('d') if state.debug_enabled => return TrsEvent::ToggleDebug,
|
||||||
KeyCode::Enter => return TrsEvent::OpenArticle,
|
|
||||||
_ => TrsEvent::None,
|
_ => TrsEvent::None,
|
||||||
},
|
},
|
||||||
_ => TrsEvent::None,
|
_ => TrsEvent::None,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user