1
0
Fork 0

nvim: fuck window local options

This commit is contained in:
Vladimír Dudr 2023-02-15 01:15:42 +01:00
parent dea718004b
commit 5fda4d6ab4
7 changed files with 183 additions and 54 deletions

View file

@ -55,6 +55,7 @@ local aliases = {
warn = 'orange',
info = 'bright_blue',
hint = 'aqua',
ok = 'green',
}
for alias, target in pairs(aliases) do
@ -107,6 +108,7 @@ end
---|'warn'
---|'info'
---|'hint'
---|'ok'
---|'NONE'
--}}}
-- style type {{{

View file

@ -9,12 +9,8 @@ function M.setup()
vim.o.autoindent = true
vim.o.autoread = true
vim.o.completeopt = 'menuone,noinsert,noselect'
vim.o.cursorline = true
vim.o.expandtab = true
vim.o.fileencodings = 'ucs-bom,utf-8,default,windows-1250,cp852'
vim.o.foldcolumn = 'auto:1'
vim.o.foldenable = true
vim.o.foldmethod = 'marker'
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
@ -22,15 +18,12 @@ function M.setup()
vim.o.incsearch = true
vim.o.list = false
vim.o.mouse = ''
vim.o.number = true
vim.o.path = '**'
vim.o.relativenumber = false
vim.o.ruler = true
vim.o.scrolloff = 3
vim.o.shiftwidth = 4
vim.o.showcmd = true
vim.o.sidescrolloff = 5
vim.o.signcolumn = 'yes'
vim.o.smartcase = true
vim.o.smartindent = true
vim.o.softtabstop = 4
@ -42,41 +35,76 @@ function M.setup()
--vim.o.clipboard = "unnamedplus"
vim.o.guifont = 'Hack:12h'
vim.o.list = true
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 = true
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.o.listchars = 'tab:❮⋯❯,trail:⸬,nbsp:·'
vim.o.grepprg = 'rg --vimgrep --no-ignore --smart-case $*'
vim.o.grepformat = '%f:%l:%c:%m'
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
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'qf', 'man', 'help', 'tsplayground', 'checkhealth', 'OverseerList' },
vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWinEnter', 'FileType' }, {
pattern = '*',
callback = function(args)
set_winopts()
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.wo.number = false
vim.wo.signcolumn = 'auto'
vim.keymap.set('n', 'q', '<Cmd>:q<CR>', { buffer = buf })
if vim.bo[buf].filetype ~= 'qf' then
vim.wo.statusline = '%Y %f%=%l:%v %P'
local buftype = vim.bo[buf].buftype
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', 'OverseerList' },
-- 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.wo.number = false
-- vim.wo.signcolumn = 'auto'
-- vim.keymap.set('n', 'q', '<Cmd>:q<CR>', { buffer = buf })
--
-- if vim.bo[buf].filetype ~= 'qf' then
-- vim.wo.statusline = '%Y %f%=%l:%v %P'
-- end
-- end,
-- })
vim.api.nvim_create_autocmd({ 'BufEnter', 'FileType' }, {
pattern = { 'Trouble' },
callback = function(args)
@ -92,9 +120,6 @@ function M.setup()
end,
})
if vim.fn.has('nvim-0.9') then
vim.o.statuscolumn = '%C%3l %s'
end
if vim.g.neoray then -- {{{
vim.cmd.NeoraySet('CursorAnimTime', 0)

View file

@ -155,10 +155,13 @@ function M.config()
gr:hl('IndentBlanklineContextChar', 'orange', nil, { 'nocombine' })
link('DiagnosticSignOk', 'GruvboxGreenSign')
gr:hl('DiagnosticVirtualTextError', 'error', nil, { 'italic', })
gr:hl('DiagnosticVirtualTextWarn', 'warn', nil, { 'italic', })
gr:hl('DiagnosticVirtualTextInfo', 'info', nil, { 'italic', })
gr:hl('DiagnosticVirtualTextHint', 'hint', nil, { 'italic', })
gr:hl('DiagnosticVirtualTextOk', 'ok', nil, { 'italic', })
gr:hl('@attribute', 'aqua')

View file

@ -0,0 +1,87 @@
return {
{ 'mfussenegger/nvim-dap',
dependencies = {
'rcarriga/nvim-dap-ui',
},
keys = {
{ '<F2>', function() require('dap').step_over() end },
{ '<F3>', function() require('dap').step_into() end },
{ '<F3>', function() require('dap').step_out() end },
{ '<F5>', function() require('dap').continue({}) end },
{ '<F10>', function() require('dap').toggle_breakpoint() end },
{ '<leader>DD', function() require('dapui').toggle() end },
{ '<leader>DE', function()
vim.ui.input({ prompt = 'DAP Evalulate expression: ' },
function(input)
require('dapui').eval(input)
end)
end, },
},
opts = {
php = { -- {{{
adapter = {
type = 'executable',
command = 'node',
args = { vim.env.HOME .. '/.local/share/nvim/lazy/vscode-php-debug/out/phpDebug.js' },
},
confs = {
{
type = 'php',
request = 'launch',
name = 'Listen for Xdebug',
port = 9000,
},
},
}, -- }}}
},
config = function(_plug, opts)
-- signs - move to colorsheme? {{{
vim.fn.sign_define('DapBreakpoint', {
text = '⦿',
texthl = 'DiagnosticSignError',
linehl = '',
numhl = ''
})
vim.fn.sign_define('DapBreakpointCondition', {
text = '',
texthl = 'DiagnosticSignError',
linehl = '',
numhl = ''
})
vim.fn.sign_define('DapLogPoint', { text = '󱂅', texthl = '', linehl = '', numhl = '' })
vim.fn.sign_define('DapStopped', { text = '', texthl = 'DiagnosticSignOk', linehl = '', numhl = '' })
vim.fn.sign_define('DapBreakpointRejected', { text = '🛑', texthl = '', linehl = '', numhl = '' })
--- }}}
local dap = require('dap')
for lang, opt in pairs(opts) do
dap.configurations[lang] = opt.confs
dap.adapters[lang] = opt.adapter
end
local dapui = require('dapui')
dapui.setup()
dap.listeners.after.event_initialized['dapui_config'] = function()
dapui.open()
end
dap.listeners.before.event_terminated['dapui_config'] = function()
dapui.close()
end
dap.listeners.before.event_exited['dapui_config'] = function()
dapui.close()
end
end,
},
{ 'xdebug/vscode-php-debug',
build = { 'npm install && npm run build' },
config = false,
module = false,
lazy = true,
},
{ 'leoluz/nvim-dap-go',
ft = 'go',
config = true,
},
}

View file

@ -10,6 +10,18 @@ local function formatting_filter(c)
return true
end
local function navic_attach(client, bufnr)
require('nvim-navic').attach(client, bufnr)
vim.wo.winbar = "%{%v:lua.require'nvim-navic'.get_location()%}"
vim.api.nvim_create_autocmd('LspDetach', {
pattern = vim.api.nvim_buf_get_name(bufnr),
once = true,
callback = function ()
vim.cmd.setlocal('winbar<')
end
})
end
local function on_attach(args) -- {{{
-- require "lsp_signature".on_attach()
-- require'completion'.on_attach()
@ -19,7 +31,7 @@ local function on_attach(args) -- {{{
local client = vim.lsp.get_client_by_id(args.data.client_id)
if (client.server_capabilities.documentSymbolProvider) then
require('nvim-navic').attach(client, bufnr)
navic_attach(client, bufnr)
end
-- Mappings.
@ -175,7 +187,7 @@ local function config()
sdk_include_prereleases = true,
analyze_open_documents_only = true,
}, -- }}}
sumneko_lua = { -- {{{
lua_ls = { -- {{{
settings = {
Lua = {
workleader = {
@ -247,8 +259,7 @@ local function config()
end
return {
{
'neovim/nvim-lspconfig',
{ 'neovim/nvim-lspconfig',
dependencies = {
{ 'j-hui/fidget.nvim', config = true },
{ 'ray-x/lsp_signature.nvim', opts = { hint_prefix = '', floating_window = false, hint_scheme = 'Identifier' } },

View file

@ -10,7 +10,7 @@ return {
show_current_context = true,
show_current_context_start = false,
}, },
{ 'echasnovski/mini.trailspace', version = '*', config = function() require('mini.trailspace').setup({}) end },
{ 'echasnovski/mini.trailspace', version = '*', config = function() require('mini.trailspace').setup({}) end },
-- stolen from LazyVim
{
@ -52,7 +52,7 @@ return {
{ '<leader>xi', '<Cmd>OverseerInfo<CR>', desc = 'Overseer info' },
{ '<leader>xa', '<Cmd>OverseerTaskAction<CR>', desc = 'Overseer action' },
{ '<leader>xr', '<Cmd>OverseerRun<CR>', desc = 'Overseer run' },
}
},
},
@ -66,6 +66,7 @@ return {
{
'vlada-dudr/vdebug',
lazy = true,
enabled = false,
keys = {
{ '<F5>', desc = 'Start Vdebug' },
{ '<F10>', desc = 'Vdebug breakpoint' },

View file

@ -51,21 +51,21 @@ function M.config()
})
--
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' },
},
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' },
}, {
{ name = 'cmdline' },
}),
})
-- cmp.setup.cmdline({ '/', '?' }, {
-- mapping = cmp.mapping.preset.cmdline(),
-- sources = {
-- { name = 'buffer' },
-- },
-- })
-- -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
-- cmp.setup.cmdline(':', {
-- mapping = cmp.mapping.preset.cmdline(),
-- sources = cmp.config.sources({
-- { name = 'path' },
-- }, {
-- { name = 'cmdline' },
-- }),
-- })
end
return M