summaryrefslogtreecommitdiff
path: root/alacritty_terminal/src/term
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2020-03-01 04:07:36 +0000
committerGitHub <noreply@github.com>2020-03-01 07:07:36 +0300
commit8c6422458299496f6fa2a6984c93bd05b55c1888 (patch)
tree20197a827cbe8b06bd9f6d45be102fc2d8821a3e /alacritty_terminal/src/term
parentbea6ece3f6e4f116e9f0319b6d0002943f28e3b8 (diff)
downloadalacritty-8c6422458299496f6fa2a6984c93bd05b55c1888.tar.gz
alacritty-8c6422458299496f6fa2a6984c93bd05b55c1888.zip
Remove `tabspaces` config option
This completely removes the tabspaces option from the Alacritty configuration, due to frequent misuse of it. Based on some research, none of the terminal emulators support setting the value for tabspaces or read the terminfo to determine init_tabs value at startup. The tested terminal emulators were URxvt, XTerm, and Termite.
Diffstat (limited to 'alacritty_terminal/src/term')
-rw-r--r--alacritty_terminal/src/term/mod.rs15
1 files changed, 7 insertions, 8 deletions
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
});