Radish alpha
r
Radicle terminal user interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
bin: Handle empty hunks in `patch review`
Erik Kundt committed 1 year ago
commit ace9126d0f78ce60c4df2de24a8f14079a7bc4fc
parent f562059b04b7e73ce8ca4d1c2265cf94b9c6bf72
2 files changed +20 -12
modified bin/commands/patch.rs
@@ -9,7 +9,7 @@ use std::ffi::OsString;

use anyhow::anyhow;

-
use radicle::cob::{self, CodeLocation};
+
use radicle::cob;
use radicle::crypto::Signer;
use radicle::identity::RepoId;
use radicle::patch::{Status, Verdict};
@@ -19,13 +19,12 @@ use radicle::storage::WriteRepository;
use radicle_cli::git::Rev;
use radicle_cli::terminal;
use radicle_cli::terminal::args::{string, Args, Error, Help};
-
use radicle_cli::terminal::*;

use crate::cob::patch;
use crate::cob::patch::Filter;
use crate::commands::tui_patch::review::ReviewAction;

-
use crate::tui_patch::review::builder::{Brain, CommentBuilder, ReviewBuilder, ReviewComment};
+
use crate::tui_patch::review::builder::{Brain, CommentBuilder, ReviewBuilder};

pub const HELP: Help = Help {
    name: "patch",
modified bin/commands/patch/review.rs
@@ -225,9 +225,12 @@ impl<'a> App<'a> {
                                Constraint::Fill(1),
                            ),
                        ];
-
                        let hunk = hunk.clone().unwrap();
-
                        let hunk: Text<'_> =
-
                            hunk.to_text(&mut hi, &item.highlighted, repo.raw()).into();
+
                        let hunk = hunk
+
                            .as_ref()
+
                            .map(|hunk| {
+
                                Text::from(hunk.to_text(&mut hi, &item.highlighted, repo.raw()))
+
                            })
+
                            .unwrap_or(Text::raw("No hunk found").light_red());

                        ui.columns(frame, header.clone().to_vec(), Some(Borders::Top));
                        ui.text_view(frame, hunk, &mut (0, 0), Some(Borders::BottomSides));
@@ -256,9 +259,12 @@ impl<'a> App<'a> {
                                Constraint::Fill(1),
                            ),
                        ];
-
                        let hunk = hunk.clone().unwrap();
-
                        let hunk: Text<'_> =
-
                            hunk.to_text(&mut hi, &item.highlighted, repo.raw()).into();
+
                        let hunk = hunk
+
                            .as_ref()
+
                            .map(|hunk| {
+
                                Text::from(hunk.to_text(&mut hi, &item.highlighted, repo.raw()))
+
                            })
+
                            .unwrap_or(Text::raw("No hunk found").light_red());

                        ui.columns(frame, header.clone().to_vec(), Some(Borders::Top));
                        ui.text_view(frame, hunk, &mut (0, 0), Some(Borders::BottomSides));
@@ -286,9 +292,12 @@ impl<'a> App<'a> {
                                Constraint::Fill(1),
                            ),
                        ];
-
                        let hunk = hunk.clone().unwrap();
-
                        let hunk: Text<'_> =
-
                            hunk.to_text(&mut hi, &item.highlighted, repo.raw()).into();
+
                        let hunk = hunk
+
                            .as_ref()
+
                            .map(|hunk| {
+
                                Text::from(hunk.to_text(&mut hi, &item.highlighted, repo.raw()))
+
                            })
+
                            .unwrap_or(Text::raw("No hunk found").light_red());

                        ui.columns(frame, header.clone().to_vec(), Some(Borders::Top));
                        ui.text_view(frame, hunk, &mut (0, 0), Some(Borders::BottomSides));