From d64f4beede412dbf77df0e00c478b053a3d6cc54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Hrastnik?= Date: Wed, 14 Oct 2020 12:01:41 +0900 Subject: [PATCH] Share tab width definitions. --- helix-core/src/indent.rs | 2 +- helix-core/src/lib.rs | 2 +- helix-term/src/editor.rs | 4 +--- helix-view/src/commands.rs | 3 +-- helix-view/src/view.rs | 4 ++-- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/helix-core/src/indent.rs b/helix-core/src/indent.rs index c1a4fd6c..932eaa24 100644 --- a/helix-core/src/indent.rs +++ b/helix-core/src/indent.rs @@ -4,7 +4,7 @@ use crate::{ Rope, RopeSlice, State, }; -const TAB_WIDTH: usize = 4; +pub const TAB_WIDTH: usize = 4; fn indent_level_for_line(line: RopeSlice) -> usize { let mut len = 0; diff --git a/helix-core/src/lib.rs b/helix-core/src/lib.rs index ccdc7297..62d23a10 100644 --- a/helix-core/src/lib.rs +++ b/helix-core/src/lib.rs @@ -1,7 +1,7 @@ #![allow(unused)] pub mod graphemes; mod history; -mod indent; +pub mod indent; pub mod macros; mod position; pub mod register; diff --git a/helix-term/src/editor.rs b/helix-term/src/editor.rs index 60d9e079..134dee50 100644 --- a/helix-term/src/editor.rs +++ b/helix-term/src/editor.rs @@ -1,5 +1,5 @@ use clap::ArgMatches as Args; -use helix_core::{state::Mode, syntax::HighlightEvent, Range, State}; +use helix_core::{indent::TAB_WIDTH, state::Mode, syntax::HighlightEvent, Range, State}; use helix_view::{commands, keymap, View}; use std::{ @@ -24,8 +24,6 @@ use crossterm::{ use tui::{backend::CrosstermBackend, buffer::Buffer as Surface, layout::Rect, style::Style}; -const TAB_WIDTH: usize = 4; - type Terminal = tui::Terminal>; static EX: smol::Executor = smol::Executor::new(); diff --git a/helix-view/src/commands.rs b/helix-view/src/commands.rs index d131fbb3..ec22950e 100644 --- a/helix-view/src/commands.rs +++ b/helix-view/src/commands.rs @@ -1,5 +1,6 @@ use helix_core::{ graphemes, + indent::TAB_WIDTH, regex::Regex, register, selection, state::{Direction, Granularity, Mode, State}, @@ -541,8 +542,6 @@ pub fn paste(view: &mut View, _count: usize) { } } -const TAB_WIDTH: usize = 4; - fn get_lines(view: &View) -> Vec { let mut lines = Vec::new(); diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs index 8b677adc..1332f11e 100644 --- a/helix-view/src/view.rs +++ b/helix-view/src/view.rs @@ -5,6 +5,7 @@ use std::{borrow::Cow, path::PathBuf}; use crate::theme::Theme; use helix_core::{ graphemes::{grapheme_width, RopeGraphemes}, + indent::TAB_WIDTH, History, Position, RopeSlice, State, }; use tui::layout::Rect; @@ -78,8 +79,7 @@ impl View { for grapheme in RopeGraphemes::new(&line_slice) { if grapheme == "\t" { - // TODO: this should be const TAB_WIDTH - col += 4; + col += TAB_WIDTH; } else { let grapheme = Cow::from(grapheme); col += grapheme_width(&grapheme);