summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.rs14
-rw-r--r--src/main.rs17
-rw-r--r--src/render/cmd.rs1
-rw-r--r--src/render/mod.rs1
-rw-r--r--src/render/repl.rs1
-rw-r--r--src/repl/handler.rs4
-rw-r--r--src/repl/init.rs3
-rw-r--r--src/repl/mod.rs6
-rw-r--r--src/term.rs4
9 files changed, 24 insertions, 27 deletions
diff --git a/src/config.rs b/src/config.rs
index fe93da6..dae3462 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -1,3 +1,9 @@
+use crate::utils::{emphasis, now};
+
+use anyhow::{anyhow, Context, Result};
+use inquire::{Confirm, Text};
+use parking_lot::Mutex;
+use serde::{Deserialize, Serialize};
use std::{
env,
fs::{create_dir_all, read_to_string, File, OpenOptions},
@@ -7,14 +13,6 @@ use std::{
sync::Arc,
};
-use parking_lot::Mutex;
-
-use anyhow::{anyhow, Context, Result};
-use inquire::{Confirm, Text};
-use serde::{Deserialize, Serialize};
-
-use crate::utils::{emphasis, now};
-
const CONFIG_FILE_NAME: &str = "config.yaml";
const ROLES_FILE_NAME: &str = "roles.yaml";
const HISTORY_FILE_NAME: &str = "history.txt";
diff --git a/src/main.rs b/src/main.rs
index a6662e7..cc61790 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -7,21 +7,20 @@ mod term;
#[macro_use]
mod utils;
-use std::io::{stdin, Read};
-use std::sync::Arc;
-use std::{io::stdout, process::exit};
+use crate::cli::Cli;
+use crate::client::ChatGptClient;
+use crate::config::{Config, SharedConfig};
-use cli::Cli;
-use client::ChatGptClient;
-use config::{Config, SharedConfig};
+use anyhow::{anyhow, Result};
+use clap::Parser;
use crossbeam::sync::WaitGroup;
use is_terminal::IsTerminal;
use parking_lot::Mutex;
-
-use anyhow::{anyhow, Result};
-use clap::Parser;
use render::{render_stream, MarkdownRender};
use repl::{AbortSignal, Repl};
+use std::io::{stdin, Read};
+use std::sync::Arc;
+use std::{io::stdout, process::exit};
fn main() -> Result<()> {
let cli = Cli::parse();
diff --git a/src/render/cmd.rs b/src/render/cmd.rs
index bdf6226..2a25768 100644
--- a/src/render/cmd.rs
+++ b/src/render/cmd.rs
@@ -1,4 +1,5 @@
use super::MarkdownRender;
+
use crate::print_now;
use crate::repl::{ReplyStreamEvent, SharedAbortSignal};
diff --git a/src/render/mod.rs b/src/render/mod.rs
index a7465c9..4d5c6d3 100644
--- a/src/render/mod.rs
+++ b/src/render/mod.rs
@@ -9,6 +9,7 @@ use self::repl::repl_render_stream;
use crate::client::ChatGptClient;
use crate::print_now;
use crate::repl::{ReplyStreamHandler, SharedAbortSignal};
+
use anyhow::Result;
use crossbeam::channel::unbounded;
use crossbeam::sync::WaitGroup;
diff --git a/src/render/repl.rs b/src/render/repl.rs
index c20f76f..80fc9a7 100644
--- a/src/render/repl.rs
+++ b/src/render/repl.rs
@@ -1,4 +1,5 @@
use super::MarkdownRender;
+
use crate::repl::{ReplyStreamEvent, SharedAbortSignal};
use anyhow::Result;
diff --git a/src/repl/handler.rs b/src/repl/handler.rs
index 6a7fc93..1b2eb20 100644
--- a/src/repl/handler.rs
+++ b/src/repl/handler.rs
@@ -3,13 +3,13 @@ use crate::config::SharedConfig;
use crate::print_now;
use crate::render::render_stream;
+use super::abort::SharedAbortSignal;
+
use anyhow::{Context, Result};
use crossbeam::channel::Sender;
use crossbeam::sync::WaitGroup;
use std::cell::RefCell;
-use super::abort::SharedAbortSignal;
-
pub enum ReplCmd {
Submit(String),
SetRole(String),
diff --git a/src/repl/init.rs b/src/repl/init.rs
index 88f66fa..14dbd9c 100644
--- a/src/repl/init.rs
+++ b/src/repl/init.rs
@@ -1,4 +1,5 @@
use super::Repl;
+use super::REPL_COMMANDS;
use crate::config::{Config, SharedConfig};
@@ -9,8 +10,6 @@ use reedline::{
ReedlineMenu, ValidationResult, Validator,
};
-use super::REPL_COMMANDS;
-
const MENU_NAME: &str = "completion_menu";
impl Repl {
diff --git a/src/repl/mod.rs b/src/repl/mod.rs
index 4825b93..b5fee57 100644
--- a/src/repl/mod.rs
+++ b/src/repl/mod.rs
@@ -2,6 +2,9 @@ mod abort;
mod handler;
mod init;
+pub use self::abort::*;
+pub use self::handler::*;
+
use crate::client::ChatGptClient;
use crate::config::SharedConfig;
use crate::print_now;
@@ -11,9 +14,6 @@ use anyhow::{Context, Result};
use reedline::{DefaultPrompt, Reedline, Signal};
use std::sync::Arc;
-pub use self::abort::*;
-pub use self::handler::*;
-
pub const REPL_COMMANDS: [(&str, &str, bool); 10] = [
(".info", "Print the information", false),
(".set", "Modify the configuration temporarily", false),
diff --git a/src/term.rs b/src/term.rs
index 05eedde..84449f4 100644
--- a/src/term.rs
+++ b/src/term.rs
@@ -1,11 +1,9 @@
-use std::io::{self, Stdout, Write};
-
use anyhow::Result;
-
use crossterm::{
cursor, queue, style,
terminal::{self, disable_raw_mode, enable_raw_mode, ClearType},
};
+use std::io::{self, Stdout, Write};
pub fn clear_screen(keep_lines: u16) -> Result<()> {
enable_raw_mode()?;