aboutsummaryrefslogtreecommitdiff
path: root/config/vis/visrc.lua
blob: ce42ab9919a21d386773cc5c878c1dad5f17aae4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
-- load standard vis module, providing parts of the Lua API
require('vis')
require('plugins/filetype')
require('plugins/textobject-lexer')
require('plugins/vis-cursors/cursors').cursors_path = string.format('%s/vis/cursors', os.getenv('XDG_DATA_HOME') or os.getenv('HOME').."/.local/share")
require('plugins/vis-spellcheck/spellcheck')
require('plugins/vis-commentary/vis-commentary')
-- This hooks vis.events.START so its fine to load it before the default settings
require('plugins/vis-modelines/vis-modelines')

vis.events.subscribe(vis.events.INIT, function()
	-- Your global configuration options
	local theme = "default"
	if string.match(os.getenv('TERM'), '^st.*') then
		theme = "st"
	end
	vis:command("set theme ".. theme .. (vis.ui.colors <= 16 and "-16" or "-256"))
end)

vis.events.subscribe(vis.events.WIN_OPEN, function(win)
	-- Default settings
	vis:command('set tabwidth 4')
	vis:command('set autoindent')
	vis:command('set number')
	vis:command('set colorcolumn 80')
	vis:command('set show-tabs')

	if win.file.name then
		if win.file.name:find("COMMIT_EDITMSG") then
			vis:command('set colorcolumn 72')
			win:set_syntax("diff")
		end

		local filetype = win.file.name:match(".*%.(.*)")
		if filetype == "py" then
			vis:command("set expand")
		end
	end
end)

-- load plugins that hook WIN_OPEN to change settings after hook with default settings
require('plugins/vis-editorconfig/editorconfig')

--vis.events.subscribe(vis.events.FILE_SAVE_PRE, function(file)
	---- purge trailing whitespace
	--local i = 1
	--while i <= #file.lines do
		--file.lines[i] = file.lines[i]:match("(.-)%s*$")
		--i = i + 1
	--end
    --return true
--end)