2021-03-13 01:23:02 +00:00
|
|
|
local scopes = {o = vim.o, b = vim.bo, w = vim.wo}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
|
|
|
local function opt(scope, key, value)
|
2021-03-13 01:23:02 +00:00
|
|
|
scopes[scope][key] = value
|
|
|
|
if scope ~= "o" then
|
|
|
|
scopes["o"][key] = value
|
|
|
|
end
|
2021-03-07 14:22:30 +00:00
|
|
|
end
|
|
|
|
|
2021-06-18 04:10:01 +01:00
|
|
|
opt("o", "ruler", false)
|
2021-06-18 04:11:14 +01:00
|
|
|
opt("o", "showmode", false)
|
2021-03-13 01:23:02 +00:00
|
|
|
opt("o", "hidden", true)
|
|
|
|
opt("o", "ignorecase", true)
|
|
|
|
opt("o", "splitbelow", true)
|
|
|
|
opt("o", "splitright", true)
|
|
|
|
opt("o", "termguicolors", true)
|
2021-04-08 03:08:29 +01:00
|
|
|
opt("w", "cul", true)
|
2021-03-07 14:22:30 +00:00
|
|
|
|
2021-03-13 01:23:02 +00:00
|
|
|
opt("o", "mouse", "a")
|
2021-03-07 14:22:30 +00:00
|
|
|
|
2021-03-13 01:23:02 +00:00
|
|
|
opt("w", "signcolumn", "yes")
|
|
|
|
opt("o", "cmdheight", 1)
|
2021-03-13 10:51:52 +00:00
|
|
|
|
2021-04-08 03:08:29 +01:00
|
|
|
opt("o", "updatetime", 250) -- update interval for gitsigns
|
2021-03-13 01:23:02 +00:00
|
|
|
opt("o", "clipboard", "unnamedplus")
|
2021-03-13 10:51:52 +00:00
|
|
|
|
2021-06-16 01:50:47 +01:00
|
|
|
-- Numbers
|
|
|
|
opt("w", "number", true)
|
|
|
|
opt("o", "numberwidth", 2)
|
|
|
|
-- opt("w", "relativenumber", true)
|
|
|
|
|
2021-03-13 10:51:52 +00:00
|
|
|
-- for indenline
|
2021-04-08 03:08:29 +01:00
|
|
|
opt("b", "expandtab", true)
|
|
|
|
opt("b", "shiftwidth", 2)
|
2021-06-15 17:14:11 +01:00
|
|
|
opt("b", "smartindent", true)
|
|
|
|
|
2021-06-26 03:08:44 +01:00
|
|
|
-- disable builtin vim plugins
|
|
|
|
|
|
|
|
vim.g.loaded_gzip = 0
|
|
|
|
vim.g.loaded_tar = 0
|
|
|
|
vim.g.loaded_tarPlugin = 0
|
|
|
|
vim.g.loaded_zipPlugin = 0
|
2021-06-26 03:24:10 +01:00
|
|
|
vim.g.loaded_2html_plugin = 0
|
2021-06-26 03:08:44 +01:00
|
|
|
vim.g.loaded_netrw = 0
|
|
|
|
vim.g.loaded_netrwPlugin = 0
|
2021-06-26 03:24:10 +01:00
|
|
|
vim.g.loaded_matchit = 0
|
|
|
|
vim.g.loaded_matchparen = 0
|
|
|
|
vim.g.loaded_spec = 0
|
2021-06-26 03:08:44 +01:00
|
|
|
|
2021-03-08 05:24:53 +00:00
|
|
|
local M = {}
|
|
|
|
|
|
|
|
function M.is_buffer_empty()
|
2021-03-13 01:23:02 +00:00
|
|
|
-- Check whether the current buffer is empty
|
|
|
|
return vim.fn.empty(vim.fn.expand("%:t")) == 1
|
2021-03-08 05:24:53 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
function M.has_width_gt(cols)
|
2021-03-13 01:23:02 +00:00
|
|
|
-- Check if the windows width is greater than a given number of columns
|
|
|
|
return vim.fn.winwidth(0) / 2 > cols
|
2021-03-08 05:24:53 +00:00
|
|
|
end
|
2021-06-26 03:08:44 +01:00
|
|
|
|
2021-06-03 19:49:52 +01:00
|
|
|
-- file extension specific tabbing
|
2021-06-26 03:08:44 +01:00
|
|
|
-- vim.cmd([[autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4]])
|
2021-03-08 05:24:53 +00:00
|
|
|
return M
|