@@ -2,9 +2,8 @@ use clap::ArgMatches as Args;
3use helix_view::{document::Mode, Document, Editor, Theme, View};
3use helix_view::{document::Mode, Document, Editor, Theme, View};
5−use crate::compositor::{Component, Compositor, EventResult};
5+use crate::compositor::Compositor;
6−use crate::editor_view::EditorView;
6+use crate::ui;
7−use crate::prompt::Prompt;
9use log::{debug, info};
8use log::{debug, info};
@@ -19,18 +18,11 @@ use smol::prelude::*;
19use anyhow::Error;
18use anyhow::Error;
21use crossterm::{
20use crossterm::{
23− event::{read, Event, EventStream, KeyCode, KeyEvent},
21+ event::{Event, EventStream},
24− execute, queue,
22+ execute, terminal,
25− terminal::{self, disable_raw_mode, enable_raw_mode},
29− backend::CrosstermBackend,
25+use tui::{backend::CrosstermBackend, layout::Rect};
30− buffer::Buffer as Surface,
32− style::{Color, Modifier, Style},
35type Terminal = crate::terminal::Terminal<CrosstermBackend<std::io::Stdout>>;
27type Terminal = crate::terminal::Terminal<CrosstermBackend<std::io::Stdout>>;
@@ -43,12 +35,6 @@ pub struct Application {
43 language_server: helix_lsp::Client,
35 language_server: helix_lsp::Client,
48−pub fn text_color() -> Style {
49− Style::default().fg(Color::Rgb(219, 191, 239)) // lilac
52impl Application {
38impl Application {
53 pub fn new(mut args: Args, executor: &'static smol::Executor<'static>) -> Result<Self, Error> {
39 pub fn new(mut args: Args, executor: &'static smol::Executor<'static>) -> Result<Self, Error> {
54 let backend = CrosstermBackend::new(stdout());
40 let backend = CrosstermBackend::new(stdout());
@@ -61,14 +47,13 @@ impl Application {
63 let mut compositor = Compositor::new();
49 let mut compositor = Compositor::new();
64− compositor.push(Box::new(EditorView::new()));
50+ compositor.push(Box::new(ui::EditorView::new()));
66 let language_server = helix_lsp::Client::start(&executor, "rust-analyzer", &[]);
52 let language_server = helix_lsp::Client::start(&executor, "rust-analyzer", &[]);
68 let mut app = Self {
54 let mut app = Self {
71− // TODO; move to state
72 compositor,
57 compositor,
@@ -213,7 +198,7 @@ impl Application {
215 pub async fn run(&mut self) -> Result<(), Error> {
200 pub async fn run(&mut self) -> Result<(), Error> {
216− enable_raw_mode()?;
201+ terminal::enable_raw_mode()?;
218 let mut stdout = stdout();
203 let mut stdout = stdout();
@@ -223,7 +208,7 @@ impl Application {
223 let hook = std::panic::take_hook();
208 let hook = std::panic::take_hook();
224 std::panic::set_hook(Box::new(move |info| {
209 std::panic::set_hook(Box::new(move |info| {
225 execute!(std::io::stdout(), terminal::LeaveAlternateScreen);
210 execute!(std::io::stdout(), terminal::LeaveAlternateScreen);
226− disable_raw_mode();
211+ terminal::disable_raw_mode();
227 hook(info);
212 hook(info);
@@ -234,7 +219,7 @@ impl Application {
235 execute!(stdout, terminal::LeaveAlternateScreen)?;
220 execute!(stdout, terminal::LeaveAlternateScreen)?;
237− disable_raw_mode()?;
222+ terminal::disable_raw_mode()?;