162 lines
4.7 KiB
Lua
162 lines
4.7 KiB
Lua
local M = {}
|
|
|
|
function M.setup()
|
|
vim.g.mapleader = ' '
|
|
vim.g.maplocalleader = ' '
|
|
vim.g.loaded_netrwPlugin = true
|
|
|
|
--vim.o.colorcolumn=0
|
|
vim.o.autoindent = true
|
|
vim.o.autoread = true
|
|
vim.o.completeopt = 'menuone,noinsert,noselect'
|
|
vim.o.expandtab = true
|
|
vim.o.fileencodings = 'ucs-bom,utf-8,default,windows-1250,cp852'
|
|
vim.o.foldopen = 'hor,mark,percent,quickfix,search,tag,undo' -- removed block so { and friends don't open fold
|
|
vim.o.foldexpr = 'nvim_treesitter#foldexpr()'
|
|
vim.o.hidden = true
|
|
vim.o.ignorecase = true
|
|
vim.o.inccommand = 'split'
|
|
vim.o.incsearch = true
|
|
vim.o.mouse = ''
|
|
vim.o.path = '**'
|
|
vim.o.ruler = true
|
|
vim.o.scrolloff = 3
|
|
vim.o.shiftwidth = 4
|
|
vim.o.showcmd = true
|
|
vim.o.sidescrolloff = 5
|
|
vim.o.smartcase = true
|
|
vim.o.smartindent = true
|
|
vim.o.softtabstop = 4
|
|
vim.o.swapfile = true
|
|
vim.o.tabstop = 4
|
|
vim.o.undofile = true
|
|
vim.o.splitbelow = true
|
|
vim.o.splitright = true
|
|
--vim.o.clipboard = "unnamedplus"
|
|
vim.o.guifont = 'Hack:12h'
|
|
|
|
vim.o.listchars = 'tab:❮⋯❯,trail:⸬,nbsp:·'
|
|
|
|
vim.o.grepprg = 'rg --vimgrep --no-ignore --smart-case $*'
|
|
vim.o.grepformat = '%f:%l:%c:%m'
|
|
|
|
vim.o.linebreak = true
|
|
vim.o.breakindent = true
|
|
vim.o.breakindentopt = 'shift:4'
|
|
vim.o.showbreak = '…'
|
|
|
|
|
|
local function set_winopts()
|
|
vim.o.cursorline = true
|
|
vim.o.foldcolumn = 'auto:1'
|
|
vim.o.foldenable = true
|
|
vim.o.foldmethod = 'marker'
|
|
vim.o.number = true
|
|
vim.o.signcolumn = 'yes'
|
|
vim.o.relativenumber = false
|
|
vim.o.list = false
|
|
vim.o.statusline = ''
|
|
.. ' %{fnamemodify(getcwd(),":t")}' -- basename of cwd
|
|
.. '%( │ %{get(b:,"gitsigns_head","")}%)' -- branch
|
|
.. ' │ %<%f%( [%M%R%W]%)' -- filename and modification flags
|
|
.. '%=' -- rest is right
|
|
.. '%y ' -- filetype
|
|
.. '%-7.(%3.l:%-3.(%c%V%)%) %P' -- ruler
|
|
|
|
if vim.fn.has('nvim-0.9') then
|
|
vim.o.statuscolumn = '%=%l %C%s'
|
|
end
|
|
end
|
|
set_winopts()
|
|
|
|
|
|
-- vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWinEnter', 'FileType' }, {
|
|
-- pattern = '*',
|
|
-- callback = function(args)
|
|
-- local buf = args.buf
|
|
-- local buftype = vim.bo[buf].buftype
|
|
-- if buftype == 'prompt' then
|
|
-- return -- plugins handle this usually themselves
|
|
-- end
|
|
-- set_winopts()
|
|
-- if buftype == 'nofile' or buftype == 'help' then
|
|
-- vim.o.list = false
|
|
-- vim.bo[buf].buflisted = false
|
|
-- vim.wo.number = false
|
|
-- vim.wo.signcolumn = 'auto'
|
|
-- -- vim.wo.foldcolumn = 0
|
|
-- vim.wo.statuscolumn = ''
|
|
-- vim.keymap.set('n', 'q', '<Cmd>:q<CR>', { buffer = buf })
|
|
-- if vim.bo[buf].filetype ~= 'qf' then
|
|
-- vim.wo.statusline = '%f'
|
|
-- end
|
|
-- end
|
|
-- end,
|
|
-- })
|
|
--
|
|
|
|
vim.api.nvim_create_autocmd('FileType', {
|
|
pattern = { 'qf', 'man', 'help', 'tsplayground', 'checkhealth', 'Overseer*' },
|
|
callback = function(args)
|
|
local buf = args.buf
|
|
local bo = vim.bo[buf]
|
|
if bo.filetype == 'help' and bo.buftype ~= 'help' then
|
|
return
|
|
end
|
|
vim.bo[buf].buflisted = false
|
|
vim.opt_local.number = false
|
|
vim.opt_local.signcolumn = 'no'
|
|
vim.keymap.set('n', 'q', '<Cmd>:q<CR>', { buffer = buf })
|
|
|
|
if vim.bo[buf].filetype ~= 'qf' then
|
|
vim.opt_local.statusline = '%Y | %f%=%l:%v %P'
|
|
end
|
|
|
|
if vim.fn.has('nvim-0.9') then
|
|
vim.o.statuscolumn = ''
|
|
end
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'BufEnter', 'FileType' }, {
|
|
pattern = { 'Trouble' },
|
|
callback = function(args)
|
|
local opts = require('trouble.config').options
|
|
local words = vim.split(opts.mode, '[%W]', {})
|
|
for i, word in ipairs(words) do
|
|
words[i] = word:sub(1, 1):upper() .. word:sub(2)
|
|
end
|
|
|
|
vim.b[args.buf].trouble_mode = table.concat(words, ' ')
|
|
|
|
vim.opt_local.statusline = '%Y [%{b:trouble_mode}]%=%P'
|
|
end,
|
|
})
|
|
|
|
vim.diagnostic.config({
|
|
virtual_text = false
|
|
-- virtual_text = {
|
|
-- format = function(diag)
|
|
-- local s = vim.diagnostic.severity
|
|
-- if diag.severity == s.E or diag.severity == s.W then
|
|
-- return diag.message
|
|
-- end
|
|
-- return nil
|
|
-- end,
|
|
-- },
|
|
})
|
|
|
|
if vim.g.neoray then -- {{{
|
|
vim.cmd.NeoraySet('CursorAnimTime', 0)
|
|
vim.cmd.NeoraySet('Transparency', '0.95')
|
|
vim.cmd.NeoraySet('TargetTPS', 120)
|
|
vim.cmd.NeoraySet('ContextMenuOn', false)
|
|
vim.cmd.NeoraySet('BoxDrawingOn', true)
|
|
vim.cmd.NeoraySet('WindowSize', '100x40')
|
|
vim.cmd.NeoraySet('WindowState', 'none')
|
|
vim.cmd.NeoraySet('KeyZoomIn', '<>')
|
|
vim.cmd.NeoraySet('KeyZoomOut', '<>')
|
|
end -- }}}
|
|
end
|
|
|
|
return M
|