aboutsummaryrefslogtreecommitdiff
path: root/config/vis
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2019-01-28 17:16:52 +0100
committerFlorian Fischer <florian.fl.fischer@fau.de>2019-01-28 17:16:52 +0100
commitf268273a37896b776f1faaeb4d7d099a1f164238 (patch)
tree40713f343f16afe0c112a79027a5e6ebed39cbef /config/vis
parentd6dfeae7421467da7535134e8d0a708f80db444a (diff)
downloaddotfiles-f268273a37896b776f1faaeb4d7d099a1f164238.tar.gz
dotfiles-f268273a37896b776f1faaeb4d7d099a1f164238.zip
[vis] backspace removes all spaces inserted by expandtab
Diffstat (limited to 'config/vis')
-rw-r--r--config/vis/visrc.lua17
1 files changed, 15 insertions, 2 deletions
diff --git a/config/vis/visrc.lua b/config/vis/visrc.lua
index a4a2a14..4bf1239 100644
--- a/config/vis/visrc.lua
+++ b/config/vis/visrc.lua
@@ -21,7 +21,8 @@ end)
vis.events.subscribe(vis.events.WIN_OPEN, function(win)
-- Default settings
- vis:command('set tabwidth 4')
+ tabwidth = 4
+ vis:command('set tabwidth '..tabwidth)
vis:command('set autoindent')
vis:command('set number')
vis:command('set colorcolumn 80')
@@ -34,11 +35,23 @@ vis.events.subscribe(vis.events.WIN_OPEN, function(win)
end
if win.syntax == "python" then
- vis:command("set expand")
+ vis:command('set expandtab')
+ vis:map(vis.modes.INSERT, '<Backspace>', function()
+ local found_tab = true
+ for selection in vis.win:selections_iterator() do
+ local pos = selection.pos
+ if not pos or pos < tabwidth or vis.win.file:content(pos - tabwidth, tabwidth) ~= string.rep(' ', tabwidth) then
+ found_tab = false
+ break
+ end
+ end
+ vis:feedkeys(string.rep('<vis-delete-char-prev>', found_tab and tabwidth or 1))
+ end)
end
end
end)
+
-- load plugins that hook WIN_OPEN to change settings after hook with default settings
require('plugins/vis-editorconfig/editorconfig')