aboutsummaryrefslogtreecommitdiff
path: root/config/vis/visrc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/vis/visrc.lua')
-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')