1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/options.lua

143 lines
4.1 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.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'
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 = '%C%3l %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.wo.statusline = '%Y [%{b:trouble_mode}]%=%P'
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