refactor: selection.rs -> ui/selection.rs

This commit is contained in:
graelo 2021-03-19 23:17:41 +01:00
parent 748da3ae72
commit a5e3ed263c
6 changed files with 10 additions and 6 deletions

View file

@ -3,7 +3,7 @@ use std::fs::OpenOptions;
use std::io::prelude::*;
use std::io::{self, Read};
use copyrat::{run, selection::Selection, CliOpt};
use copyrat::{run, ui::Selection, CliOpt};
fn main() {
let opt = CliOpt::parse();

View file

@ -2,7 +2,7 @@ use clap::Clap;
use std::collections::HashMap;
use std::str::FromStr;
use copyrat::{error, output_destination::OutputDestination, selection::Selection, tmux, CliOpt};
use copyrat::{error, output_destination::OutputDestination, tmux, ui::Selection, CliOpt};
/// Main configuration, parsed from command line.
#[derive(Clap, Debug)]

View file

@ -8,7 +8,6 @@ pub mod error;
pub mod model;
pub mod output_destination;
pub mod regexes;
pub mod selection;
pub mod tmux;
pub mod ui;
@ -17,7 +16,7 @@ pub mod ui;
/// # Note
///
/// Maybe the decision to take ownership of the buffer is a bit bold.
pub fn run(buffer: String, opt: &CliOpt) -> Option<selection::Selection> {
pub fn run(buffer: String, opt: &CliOpt) -> Option<ui::Selection> {
let mut model = model::Model::new(
&buffer,
&opt.alphabet,
@ -42,7 +41,7 @@ pub fn run(buffer: String, opt: &CliOpt) -> Option<selection::Selection> {
let default_output_destination = output_destination::OutputDestination::Tmux;
let selection: Option<selection::Selection> = {
let selection: Option<ui::Selection> = {
let mut ui = ui::ViewController::new(
&mut model,
opt.unique_hint,

View file

@ -18,7 +18,9 @@
//!
pub mod colors;
mod selection;
mod vc;
pub use selection::Selection;
pub use vc::ViewController;
pub use vc::{HintAlignment, HintStyle};

View file

@ -1,5 +1,7 @@
use crate::output_destination::OutputDestination;
/// Represents the text selected by the user, along with if it was uppercased
/// and the output destination (Tmux buffer or Clipboard).
pub struct Selection {
pub text: String,
pub uppercased: bool,

View file

@ -8,8 +8,9 @@ use sequence_trie::SequenceTrie;
use termion::{self, color, cursor, event, style};
use super::colors::UiColors;
use super::Selection;
use crate::error::ParseError;
use crate::{model, output_destination::OutputDestination, selection::Selection};
use crate::{model, output_destination::OutputDestination};
pub struct ViewController<'a> {
model: &'a mut model::Model<'a>,