summaryrefslogtreecommitdiff
path: root/alacritty_terminal
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty_terminal')
-rw-r--r--alacritty_terminal/src/config/mod.rs21
-rw-r--r--alacritty_terminal/src/term/mod.rs15
2 files changed, 11 insertions, 25 deletions
diff --git a/alacritty_terminal/src/config/mod.rs b/alacritty_terminal/src/config/mod.rs
index fd049af0..da95391c 100644
--- a/alacritty_terminal/src/config/mod.rs
+++ b/alacritty_terminal/src/config/mod.rs
@@ -96,10 +96,6 @@ pub struct Config<T> {
#[serde(default, deserialize_with = "failure_default")]
live_config_reload: DefaultTrueBool,
- /// Number of spaces in one tab
- #[serde(default, deserialize_with = "failure_default")]
- tabspaces: Tabspaces,
-
/// How much scrolling history to keep
#[serde(default, deserialize_with = "failure_default")]
pub scrolling: Scrolling,
@@ -133,6 +129,10 @@ pub struct Config<T> {
#[serde(skip)]
pub hold: bool,
+ // TODO: REMOVED
+ #[serde(default, deserialize_with = "failure_default")]
+ pub tabspaces: Option<usize>,
+
// TODO: DEPRECATED
#[serde(default, deserialize_with = "failure_default")]
pub render_timer: Option<bool>,
@@ -143,10 +143,6 @@ pub struct Config<T> {
}
impl<T> Config<T> {
- pub fn tabspaces(&self) -> usize {
- self.tabspaces.0
- }
-
#[inline]
pub fn draw_bold_text_with_bright_colors(&self) -> bool {
self.draw_bold_text_with_bright_colors
@@ -328,15 +324,6 @@ impl<'a> Deserialize<'a> for Alpha {
}
#[derive(Deserialize, Copy, Clone, Debug, PartialEq, Eq)]
-struct Tabspaces(usize);
-
-impl Default for Tabspaces {
- fn default() -> Self {
- Tabspaces(8)
- }
-}
-
-#[derive(Deserialize, Copy, Clone, Debug, PartialEq, Eq)]
struct DefaultTrueBool(bool);
impl Default for DefaultTrueBool {
diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs
index f198c59b..d545d686 100644
--- a/alacritty_terminal/src/term/mod.rs
+++ b/alacritty_terminal/src/term/mod.rs
@@ -47,6 +47,9 @@ const BRACKET_PAIRS: [(char, char); 4] = [('(', ')'), ('[', ']'), ('{', '}'), ('
/// Max size of the window title stack.
const TITLE_STACK_MAX_DEPTH: usize = 4096;
+/// Default tab interval, corresponding to terminfo `it` value.
+const INITIAL_TABSTOPS: usize = 8;
+
/// A type that can expand a given point to a region
///
/// Usually this is implemented for some 2-D array type since
@@ -916,8 +919,7 @@ impl<T> Term<T> {
let grid = Grid::new(num_lines, num_cols, history_size, Cell::default());
let alt = Grid::new(num_lines, num_cols, 0 /* scroll history */, Cell::default());
- let tabspaces = config.tabspaces();
- let tabs = TabStops::new(grid.num_cols(), tabspaces);
+ let tabs = TabStops::new(grid.num_cols());
let scroll_region = Line(0)..grid.num_lines();
@@ -2154,16 +2156,14 @@ impl<T: EventListener> Handler for Term<T> {
struct TabStops {
tabs: Vec<bool>,
- tabspaces: usize,
}
impl TabStops {
#[inline]
- fn new(num_cols: Column, tabspaces: usize) -> TabStops {
+ fn new(num_cols: Column) -> TabStops {
TabStops {
- tabspaces,
tabs: IndexRange::from(Column(0)..num_cols)
- .map(|i| (*i as usize) % tabspaces == 0)
+ .map(|i| (*i as usize) % INITIAL_TABSTOPS == 0)
.collect::<Vec<bool>>(),
}
}
@@ -2179,10 +2179,9 @@ impl TabStops {
/// Increase tabstop capacity.
#[inline]
fn resize(&mut self, num_cols: Column) {
- let tabspaces = self.tabspaces;
let mut index = self.tabs.len();
self.tabs.resize_with(num_cols.0, || {
- let is_tabstop = index % tabspaces == 0;
+ let is_tabstop = index % INITIAL_TABSTOPS == 0;
index += 1;
is_tabstop
});