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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
-- TODO when autocommands are better in lua, scope these to plugins and langs
local utils = require('lv-utils')
local auto_formatters = {}
if O.lang.python.active then
local python_autoformat = {
'BufWritePre', '*.py', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
if O.lang.python.autoformat then
table.insert(auto_formatters, python_autoformat)
end
end
if O.lang.tsserver.active then
local javascript_autoformat = {
'BufWritePre', '*.js', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
local javascriptreact_autoformat = {
'BufWritePre', '*.jsx', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
local typescript_autoformat = {
'BufWritePre', '*.ts', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
local typescriptreact_autoformat = {
'BufWritePre', '*.tsx', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
if O.lang.tsserver.autoformat then
table.insert(auto_formatters, javascript_autoformat)
table.insert(auto_formatters, javascriptreact_autoformat)
table.insert(auto_formatters, typescript_autoformat)
table.insert(auto_formatters, typescriptreact_autoformat)
end
end
if O.lang.lua.active then
local lua_format = {
'BufWritePre', '*.lua', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
if O.lang.lua.autoformat then table.insert(auto_formatters, lua_format) end
end
if O.lang.json.active then
local json_format = {
'BufWritePre', '*.json', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
}
if O.lang.json.autoformat then table.insert(auto_formatters, json_format) end
end
if O.lang.ruby.active then
local ruby_format = {
'BufWritePre', '*.rb', 'lua vim.lsp.buf.formatting_sync(nil,1000)'
}
if O.lang.ruby.autoformat then table.insert(auto_formatters, ruby_format) end
end
if O.lang.go.active then
local go_format = {
'BufWritePre', '*.go', 'lua vim.lsp.buf.formatting_sync(nil,1000)'
}
if O.lang.go.autoformat then table.insert(auto_formatters, go_format) end
end
if O.lang.rust.active then
local rust_format = {
'BufWritePre', '*.rs', 'lua vim.lsp.buf.formatting_sync(nil,1000)'
}
if O.lang.rust.autoformat then table.insert(auto_formatters, rust_format) end
end
utils.define_augroups({
_general_settings = {
{
'TextYankPost', '*',
'lua require(\'vim.highlight\').on_yank({higroup = \'Search\', timeout = 200})'
}, {
'BufWinEnter', '*',
'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
},
{
'BufRead', '*',
'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
}, {
'BufNewFile', '*',
'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'
}, {'VimLeavePre', '*', 'set title set titleold='},
{'FileType', 'qf', 'set nobuflisted'},
-- {'BufWinEnter', 'lv-config.lua', 'PackerCompile'},
-- {'BufWinLeave', 'lv-config.lua', 'PackerCompile'},
-- {'BufWritePost', 'lv-config.lua', 'PackerCompile'}
-- {'User', 'GoyoLeave', 'lua require(\'galaxyline\').disable_galaxyline()'},
-- {'User', 'GoyoEnter', 'lua require(\'galaxyline\').galaxyline_augroup()'},
},
_java = {
-- {'FileType', 'java', 'luafile '..CONFIG_PATH..'/lua/lsp/java-ls.lua'},
{
'FileType', 'java',
'nnoremap ca <Cmd>lua require(\'jdtls\').code_action()<CR>'
}
},
_go = {
-- Go generally requires Tabs instead of spaces.
{'FileType', 'go', 'setlocal tabstop=4'},
{'FileType', 'go', 'setlocal shiftwidth=4'},
{'FileType', 'go', 'setlocal softtabstop=4'},
{'FileType', 'go', 'setlocal noexpandtab'}
},
_dashboard = {
-- seems to be nobuflisted that makes my stuff disapear will do more testing
{
'FileType', 'dashboard',
'setlocal nocursorline noswapfile synmaxcol& signcolumn=no norelativenumber nocursorcolumn nospell nolist nonumber bufhidden=wipe colorcolumn= foldcolumn=0 matchpairs= '
}, {
'FileType', 'dashboard',
'set showtabline=0 | autocmd BufLeave <buffer> set showtabline=2'
}
},
_markdown = {
{'FileType', 'markdown', 'setlocal wrap'},
{'FileType', 'markdown', 'setlocal spell'}
},
-- _solidity = {
-- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'},
-- {'BufNewFile', '*.sol', 'setlocal filetype=solidity'}
-- },
-- _gemini = {
-- {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'},
-- {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'}
-- },
_buffer_bindings = {
{'FileType', 'dashboard', 'nnoremap <silent> <buffer> q :q<CR>'},
{'FileType', 'lspinfo', 'nnoremap <silent> <buffer> q :q<CR>'},
{'FileType', 'floaterm', 'nnoremap <silent> <buffer> q :q<CR>'}
},
_auto_formatters = auto_formatters
})
|