1
0

Merge branch 'Windows'

This commit is contained in:
Nigel Barink 2024-10-11 21:16:06 +02:00
commit e75c184a15
18 changed files with 426 additions and 326 deletions

5
after/ftplugin/cpp.lua Normal file
View File

@ -0,0 +1,5 @@
local tab_spacing = 2
vim.opt.tabstop = tab_spacing
vim.opt.softtabstop = tab_spacing
vim.opt.shiftwidth = tab_spacing
vim.opt_local.makeprg = 'msbuild .\\game.vcxproj /p:Configuration=Release /p:Platform=x64'

4
after/ftplugin/php.lua Normal file
View File

@ -0,0 +1,4 @@
vim.keymap.set("n", "<space>pa", function()
package.loaded["php.artisan"] = nil
require("php.artisan").telescope_select_artisan()
end)

10
after/plugin/colors.lua Normal file
View File

@ -0,0 +1,10 @@
function ColorMyPencils(color)
color = color or "catppuccin"
vim.cmd.colorscheme(color)
-- make transparent BG
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
end
ColorMyPencils()

View File

@ -1,10 +0,0 @@
function ColorMyPencils(color)
color = color or "tokyonight"
vim.cmd.colorscheme(color)
-- make transparent BG
vim.api.nvim_set_hl(0, "Normal", {bg = "none"})
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none"})
end
ColorMyPencils()

View File

@ -1,5 +1,4 @@
require("barink.vim") require("barink.vim")
require("barink.keys")
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then if not vim.loop.fs_stat(lazypath) then
vim.fn.system({ vim.fn.system({
@ -12,13 +11,14 @@ if not vim.loop.fs_stat(lazypath) then
}) })
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
local opts = { require("barink.keys")
defaults = { require("lazy").setup("barink.plugins" , {
lazy = false, root = vim.fn.stdpath("data") .. "/lazy", -- directory where plugins will be installed
}, -- leave nil when passing the spec as the first argument to setup()
change_detection = { change_detection = {
enabled = true, -- automatically check for config file changes and reload the ui
notify = false, enabled = false,
}, notify = true, -- get a notification when changes are found
} },
require("lazy").setup("barink.plugins", opts)
})

View File

@ -5,43 +5,70 @@ vim.keymap.set('n', '<leader><F8>', vim.cmd.UndotreeToggle)
vim.keymap.set('n', '<leader>p', [["_dP]]) vim.keymap.set('n', '<leader>p', [["_dP]])
vim.keymap.set('n', '<leader>fa', vim.lsp.buf.format) vim.keymap.set('n', '<leader>fa', vim.lsp.buf.format)
vim.keymap.set('n', '<leader>m', ":Mason<CR>") vim.keymap.set('n', '<leader>m', ":Mason<CR>")
vim.keymap.set('n', '<leader>e',':Explore<CR>', {noremap = false, silent=true}) vim.keymap.set('n', '<leader>e', ':Explore<CR>', { noremap = false, silent = true })
vim.keymap.set('n', '<leader>le',':Lexplore<CR>', {noremap = false, silent=true}) vim.keymap.set('n', '<leader>le', ':Lexplore<CR>', { noremap = false, silent = true })
vim.keymap.set('n', '<leader>l', ':Neotree<CR>', {noremap = false, silent= true}) vim.keymap.set('n', '<leader>l', ':Neotree<CR>', { noremap = false, silent = true })
-- Move lines while in visual mode -- Move lines while in visual mode
vim.keymap.set('v', '<A-S-j>', ':m \'>+1<CR>gv=gv', {noremap = true}) vim.keymap.set('v', '<A-S-j>', ':m \'>+1<CR>gv=gv', { noremap = true })
vim.keymap.set('v', '<A-S-k>', ':m \'<-2<CR>gv=gv', {noremap = true}) vim.keymap.set('v', '<A-S-k>', ':m \'<-2<CR>gv=gv', { noremap = true })
-- Move lines while in normal mode -- Move lines while in normal mode
vim.keymap.set("n", "<A-S-j>", ":m .+1<CR>==", { noremap = true }) vim.keymap.set('n', '<A-S-j>', ':m .+1<CR>==', { noremap = true })
vim.keymap.set("n", "<A-S-k>", ":m .-2<CR>==", { noremap = true }) vim.keymap.set('n', '<A-S-k>', ':m .-2<CR>==', { noremap = true })
-- Move line in edit mode -- Move line in edit mode
vim.keymap.set("i", "<A-j>", ":m .+1<CR>==gi", { noremap = true }) vim.keymap.set('i', '<A-j>', ':m .+1<CR>==gi', { noremap = true })
vim.keymap.set("i", "<A-k>", ":m .-2<CR>==gi", { noremap = true }) vim.keymap.set('i', '<A-k>', ':m .-2<CR>==gi', { noremap = true })
-- Simplified split navigation
vim.keymap.set('n', '<C-h>', '<C-w><C-h>')
vim.keymap.set('n', '<C-j>', '<C-w><C-j>')
vim.keymap.set('n', '<C-k>', '<C-w><C-k>')
vim.keymap.set('n', '<C-l>', '<C-w><C-l>')
-- Diagnostics ! -- Diagnostics !
vim.keymap.set('n', '<C-T>', function() require('trouble').toggle() end ) vim.keymap.set('n', '<C-T>', function() require('trouble').toggle('diagnostics') end)
vim.keymap.set('n', '<leader>d', function () vim.diagnostic.open_float() end ) vim.keymap.set('n', '<leader>d', function() vim.diagnostic.open_float() end)
vim.keymap.set('n', '<leader>dn', function () vim.diagnostic.goto_next() end ) vim.keymap.set('n', '<leader>dn', function() vim.diagnostic.goto_next() end)
vim.keymap.set('n', '<leader>dp', function () vim.diagnostic.goto_prev() end ) vim.keymap.set('n', '<leader>dp', function() vim.diagnostic.goto_prev() end)
vim.keymap.set('n', '<C-d>', function () vim.lsp.buf.code_action() end) vim.keymap.set('n', '<leader>ca', function() vim.lsp.buf.code_action() end)
-- Debugging -- Debugging
vim.keymap.set("n", "<leader>sb", function() vim.keymap.set('n', '<leader>b', function() require('dap').toggle_breakpoint() end)
require("dap").toggle_breakpoint() vim.keymap.set('n', '<F5>', function()
print("Start debug session")
require('dap').continue()
end) end)
vim.keymap.set("n", "<leader>db", function() vim.keymap.set('n', '<F6>', function() require('dap').step_over() end)
require("dapui").toggle() vim.keymap.set('n', '<F7>', function() require('dap').step_into() end)
end)
vim.keymap.set("n", "<F5>", function() vim.keymap.set('n', '<leader>=', ":Gen Generate<CR>")
require("dap").continue()
end) -- Easily hit escape in terminal mode.
vim.keymap.set("n", "<F6>", function() vim.keymap.set("t", "<esc><esc>", "<c-\\><c-n>")
require("dap").step_over()
end) -- Open a terminal at the bottom of the screen with a fixed height.
vim.keymap.set("n", "<F7>", function() vim.keymap.set("n", ",st", function()
require("dap").step_into() vim.cmd.new()
vim.cmd.wincmd "J"
vim.api.nvim_win_set_height(0, 12)
vim.wo.winfixheight = true
vim.cmd.term()
end) end)
vim.keymap.set("n", "<leader>=", ":Gen Generate<CR>") -- Open quickfix list
vim.keymap.set("n", "<M-k>", "<cmd>cnext<CR>zz")
vim.keymap.set("n", "<M-j>", "<cmd>cprev<CR>zz")
-- Go to next in location list
vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
-- Highlight on yank
vim.api.nvim_create_autocmd("TextYankPost", {
desc = "Highlight when yanking text ",
group = vim.api.nvim_create_augroup('barink', { clear = true }),
callback = function()
vim.highlight.on_yank()
end
})

View File

@ -2,13 +2,13 @@ return {
{ {
"stevearc/oil.nvim", "stevearc/oil.nvim",
opt = { opt = {
default_file_explorer = false default_file_explorer = true
}, },
dependencies = { dependencies = {
'nvim-tree/nvim-web-devicons' 'nvim-tree/nvim-web-devicons'
}, },
config = function () config = function()
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc= "Open parent directory"}) vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
end end
} }
} }

View File

@ -1,35 +1,31 @@
return { return {
"stevearc/conform.nvim", "stevearc/conform.nvim",
event = { "BufWritePre"}, config = function()
cmd = { "ConformInfo"}, require("conform").setup(
opts = { {
formatters_by_ft = { formatters_by_ft = {
php = { "pint"}, php = { "pint" },
lua = { "stylua"}, lua = { "stylua" },
javascript = { "prettierd", "prettier", stop_after_first = true }, javascript = { "prettierd", "prettier", stop_after_first = true },
typescript = { "prettierd", "prettier", stop_after_first = true }, typescript = { "prettierd", "prettier", stop_after_first = true },
}, java = { "clang-format", },
format_on_save = { timeout_ms = 500 }, cpp = { "clang-format", },
default_format_ops = { },
lsp_format = "fallback" format_on_save = {
}, lsp_fallback = true,
}, },
config = function () })
require("conform").setup() -- Command to run async formatting
-- Command to run async formatting vim.api.nvim_create_user_command("Format", function(args)
vim.api.nvim_create_user_command("Format", function(args) local range = nil
local range = nil if args.count ~= -1 then
if args.count ~= -1 then local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] range = {
range = { start = { args.line1, 0 },
start = { args.line1, 0 }, ["end"] = { args.line2, end_line:len() },
["end"] = { args.line2, end_line:len() }, }
} end
end require("conform").format({ async = true, lsp_format = "fallback", range = range })
require("conform").format({ async = true, lsp_format = "fallback", range = range }) end, { range = true })
end, { range = true })
end end
} }

View File

@ -22,21 +22,38 @@ return {
}, },
config = function () config = function ()
local dap = require('dap') local dap = require('dap')
-- Godot Config
dap.adapters.godot = {
type = "server",
host = "127.0.0.1",
port = 6006
}
--dap.configurations.gdscript{
-- type = "godot",
-- request = "launch",
-- name = "launch scene",
-- project = "${workspaceFolder}"
--}
-- C/C++ Config
dap.configurations.cpp = { dap.configurations.cpp = {
{ {
name = "Launch", name = "Launch",
type= "codelldb", type= "lldb",
request = "launch", request = "launch",
program = function () program = function ()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() , 'file') return vim.fn.input('Path to executable: ', vim.fn.getcwd() , 'file')
end, end,
cwd = '${workspaceFolder}/Framework',
stopOnEntry = false, stopOnEntry = false,
runInTerminal = false,
} }
} }
dap.adapters.lldb = { dap.adapters.lldb = {
type = 'executable', type = 'server',
command = "C:\\Program Files\\LLVM\\bin\\lldb-dap.exe", port= "${port}",
executable = {
command = "C:\\Users\\nigel\\AppData\\Local\\nvim-data\\mason\\bin\\codelldb.cmd",
args = { "--port", "${port}"}
},
name = 'lldb' name = 'lldb'
} }
@ -57,17 +74,7 @@ return {
name = "Launch file", name = "Launch file",
program = "java ${file}", program = "java ${file}",
}} }}
dap.configurations.cpp = {{ -- Golang config
name="launch",
type="lldb",
request="launch",
program = function ()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() ..'/', 'file')
end,
cwd = '${workspaceFolder}',
stopOnEntry = false,
args = {},
}}
dap.configurations.go = { dap.configurations.go = {
{ {
type = "delve", type = "delve",
@ -99,14 +106,20 @@ return {
args = {'dap', '-l', '127.0.0.1:${port}'}, args = {'dap', '-l', '127.0.0.1:${port}'},
} }
} }
dap.adapters.codelldb = { local dap = require("dap")
type= 'server', local ui = require("dapui")
port = '${port}', dap.listeners.before.attach.dapui_config = function()
executable = { ui.open()
command = 'C:/Users/Nigel/Appdata/Local/nvim-data/mason/bin/codelldb.cmd', end
args = {"--port", "${port}"} dap.listeners.before.launch.dapui_config = function()
} ui.open()
} end
dap.listeners.before.event_terminated.dapui_config = function()
ui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
ui.close()
end
end end
} }
} }

View File

@ -0,0 +1,8 @@
return {
"j-hui/fidget.nvim",
config = function()
local opts = {
}
require("fidget").setup(opts)
end
}

View File

@ -1,4 +1,29 @@
return { return {
'lewis6991/gitsigns.nvim', 'lewis6991/gitsigns.nvim',
opt = {} config = function()
local opts = {
signs = {
add = { text = '+' },
change = { text = "~" },
delete = { text = "_" },
topdelete = { text = "-" },
changedelete = { text = "~" }
},
signs_staged = {
add = { text = '+' },
change = { text = "~" },
delete = { text = "_" },
topdelete = { text = "-" },
changedelete = { text = "~" },
untracked = { text = "*" },
},
signs_staged_enable = true,
signcolumn = true,
watch_gitdir = {
follow_files = true
},
auto_attach = true
}
require("gitsigns").setup(opts)
end,
} }

View File

@ -1,18 +1,37 @@
return { return {
"ThePrimeagen/harpoon", "ThePrimeagen/harpoon",
branch= "harpoon2", branch= "harpoon2",
dependencies = {{"nvim-lua/plenary.nvim"}}, dependencies = {
{"nvim-lua/plenary.nvim"},
{"nvim-telescope/telescope.nvim"}
},
config = function() config = function()
local harpoon = require("harpoon") local harpoon = require("harpoon")
harpoon.setup() harpoon.setup()
vim.keymap.set("n", "ha", function() harpoon:list():add() end) vim.keymap.set("n", "ha", function() harpoon:list():add() end)
vim.keymap.set("n", "hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) vim.keymap.set("n", "hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
local conf = require("telescope.config").values
local function toggle_telescope(harpoon_files)
local file_paths = {}
for _, item in ipairs(harpoon_files.items) do
table.insert(file_paths, item.value)
end
vim.keymap.set("n", "<leader>1", function() harpoon:list():select(1) end) require("telescope.pickers").new({}, {
vim.keymap.set("n", "<leader>2", function() harpoon:list():select(2) end) result = file_paths,
vim.keymap.set("n", "<leader>3", function() harpoon:list():select(3) end) previewer = conf.file_previewer({}),
vim.keymap.set("n", "<leader>4", function() harpoon:list():select(4) end) sorter = conf.generic_sorter({}),
}):find()
end
vim.keymap.set("n", "<leader>ha", function() harpoon:list():add() end)
vim.keymap.set("n", "<leader>hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
vim.keymap.set("n", "<leader>fe", function () toggle_telescope(harpoon:list()) end, { desc = "Open harpoon window"} )
vim.keymap.set("n", "C-1", function() harpoon:list():select(1) end)
vim.keymap.set("n", "C-2", function() harpoon:list():select(2) end)
vim.keymap.set("n", "C-3", function() harpoon:list():select(3) end)
vim.keymap.set("n", "C-4", function() harpoon:list():select(4) end)
vim.keymap.set("n", "<C-,>", function() harpoon:list():prev() end) vim.keymap.set("n", "<C-,>", function() harpoon:list():prev() end)

View File

@ -1,179 +1,202 @@
return return
{ {
'neovim/nvim-lspconfig', 'neovim/nvim-lspconfig',
dependencies = { dependencies = {
{ {
"folke/neoconf.nvim", "folke/neoconf.nvim",
opts = {} opts = {}
},
"williamboman/mason-lspconfig",
"williamboman/mason.nvim",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/nvim-cmp",
{
'L3MON4D3/LuaSnip',
dependencies = 'hrsh7th/nvim-cmp',
version = "v2.*",
},
{'mfussenegger/nvim-jdtls', dependencies = {'nvim-dap'}},
}, },
config = function() "williamboman/mason-lspconfig",
require("mason").setup() "williamboman/mason.nvim",
require("mason-lspconfig").setup({ "hrsh7th/cmp-nvim-lsp",
ensure_installed = { "lua_ls", "bashls", "rust_analyzer" } "hrsh7th/cmp-buffer",
}) "hrsh7th/cmp-path",
local cmp = require('cmp') "hrsh7th/cmp-cmdline",
cmp.setup({ "hrsh7th/nvim-cmp",
snippet = { {
expand = function(args) 'L3MON4D3/LuaSnip',
require('luasnip').lsp_expand(args.body) dependencies = {
end, 'hrsh7th/nvim-cmp',
}, 'rafamadriz/friendly-snippets',
mapping = cmp.mapping.preset.insert({ },
['<C-b>'] = cmp.mapping.scroll_docs(-4), version = "v2.*",
['<C-f>'] = cmp.mapping.scroll_docs(4), },
['<C-Space>'] = cmp.mapping.complete(), { 'mfussenegger/nvim-jdtls', dependencies = { 'nvim-dap' } },
['<C-e>'] = cmp.mapping.abort(), "onsails/lspkind.nvim",
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. },
config = function()
vim.opt.completeopt = { "menu", "menuone", "noselect", "preview" }
require("lspkind").init({})
require("mason").setup()
require("mason-lspconfig").setup({
ensure_installed = { "lua_ls", "bashls", "rust_analyzer" }
})
local ls = require("luasnip")
ls.config.set_config({
history = true,
updateevents = "TextChanged, TextChangedI",
enable_autosnippets = true,
})
local cmp = require('cmp')
local lspkind = require("lspkind")
cmp.setup({
formatting = {
format = lspkind.cmp_format({
mode = 'symbol',
maxwidth = 60,
ellipsis_char = '...',
show_labelDetails = true,
}), }),
sources = cmp.config.sources({ },
{ name = 'nvim_lsp', keyword_length = 1 }, snippet = {
{ name = 'luasnip', option = { show_autosnippets = true}}, expand = function(args)
{ name = 'path' }, require('luasnip').lsp_expand(args.body)
}, { end,
{ name = 'buffer', keyword_length = 2 }, },
}), mapping = cmp.mapping.preset.insert({
window = { ['<C-b>'] = cmp.mapping.scroll_docs(-4),
documentation = cmp.config.window.bordered() ['<C-f>'] = cmp.mapping.scroll_docs(4),
}, ['<C-space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<C-y>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp', keyword_length = 1 },
{ name = 'luasnip' },
{ name = 'path' },
{ name = 'buffer', keyword_length = 2 },
}),
window = {
documentation = cmp.config.window.bordered()
},
})
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
}, {
{ name = 'buffer' },
}) })
})
-- Set configuration for specific filetype. cmp.setup.filetype({ "sql" }, {
cmp.setup.filetype('gitcommit', { sources = {
sources = cmp.config.sources({ { name = "vim-dadbod-completion" },
{ name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git). { name = "buffer" },
}, { }
{ name = 'buffer' }, })
}) -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
}) -- 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 = 'buffer' }
}, {
{ name = 'cmdline' }
}),
matching = { disallow_symbol_nonprefix_matching = false }
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, { vim.keymap.set({ "i", "s" }, "<C-K>", function() ls.expand() end, { silent = true })
mapping = cmp.mapping.preset.cmdline(), vim.keymap.set({ "i", "s" }, "<C-n>", function() ls.jump(1) end, { silent = true })
sources = { vim.keymap.set({ "i", "s" }, "<C-p>", function() ls.jump(-1) end, { silent = true })
{ name = 'buffer' } vim.keymap.set({ "i", "s" }, "<C-E>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end, { silent = true })
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/lua/barink/snippets" })
require("luasnip.loaders.from_vscode").lazy_load()
-- Set up lspconfig.
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lsp = require("lspconfig")
local language_server = {
asm_lsp = true,
mojo = true,
zls = true,
emmet_language_server = true,
rust_analyzer = true,
--gdtoolkit = { flags = { debounce_text_changes = 150 }},
jdtls = true,
pylsp = true,
phpactor = {
init_options = {
["language_server_phpstan.enabled"] = false,
["language_server_psalm.enabled"] = false,
} }
}) },
clangd = {
-- 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' }
}),
matching = { disallow_symbol_nonprefix_matching = false }
})
local ls = require("luasnip")
ls.config.set_config({
history = true,
updateevents = "TextChanged, TextChangedI",
enable_autosnippets = true,
})
vim.keymap.set({"i", "s"}, "<C-K>", function() ls.expand() end, {silent = true})
vim.keymap.set({"i", "s"}, "<C-L>", function() ls.jump(1) end, {silent = true })
vim.keymap.set({"i", "s"}, "<C-J>", function() ls.jump(-1) end, {silent = true})
vim.keymap.set({"i", "s"}, "<C-E>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end, {silent = true})
require("luasnip.loaders.from_lua").load({paths= "~/.config/nvim/lua/barink/snippets"})
-- Set up lspconfig.
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lsp = require("lspconfig")
local language_server = {
asm_lsp= true,
zls = true,
kotlin_language_server = true,
emmet_language_server = true,
rust_analyzer = true,
jdtls = true,
pylsp = true,
phpactor = {
init_options = {
["language_server_phpstan.enabled"] = false,
["language_server_psalm.enabled"] = false,
}
},
clangd = {
capabilities = capabilities, capabilities = capabilities,
root_dir = require('lspconfig').util.root_pattern("compile_commands.json", "compile_flags.txt", ".git"), root_dir = require('lspconfig').util.root_pattern("compile_commands.json", "compile_flags.txt", ".git"),
cmd = {"clangd"}, cmd = { "clangd" },
filetypes = { "c", "cpp", "objc", "objcpp"}, filetypes = { "c", "cpp", "objc", "objcpp" },
settings = { settings = {
clangd = { clangd = {
compilationDatabasePath = "compile-commands.json", compilationDatabasePath = "compile-commands.json",
}, },
} }
}, },
ts_ls = true, ts_ls = true,
gopls = true, gopls = true,
intelephense = true, intelephense = true,
lua_ls = { lua_ls = {
config = {
settings = { settings = {
Lua = { Lua = {
runtime = {
version = 'LuaJIT',
},
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME
}
},
diagnostics = { diagnostics = {
globals = { 'vim'} globals = { 'vim' }
} }
} }
} }
}, }
} },
}
for name, config in pairs(language_server) do for name, config in pairs(language_server) do
if config == true then if config == true then
config = {} config = {}
end
config = vim.tbl_deep_extend("force", {}, { capabilities = capabilities }, config)
lsp[name].setup({})
end end
vim.api.nvim_create_autocmd("LspAttach", { config = vim.tbl_deep_extend("force", {}, { capabilities = capabilities }, config)
callback = function (args) lsp[name].setup({})
local client = assert(vim.lsp.get_client_by_id(args.data.client_id), "must have valid client") end
vim.api.nvim_create_autocmd("LspAttach", {
local settings = language_server[client.name] callback = function(args)
if type(settings) ~= "table" then local client = assert(vim.lsp.get_client_by_id(args.data.client_id), "must have valid client")
settings = {}
end
local builtin = require "telescope.builtin"
vim.opt_local.omnifunc = "v:lua.vim.lsp.omnifunc"
vim.keymap.set("n", "gd", builtin.lsp_definitions, {buffer = -1})
vim.keymap.set("n", "gr", builtin.lsp_references, {buffer = -1})
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, {buffer = -1})
vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, {buffer = -1})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {buffer = -1})
vim.keymap.set("n", "<LEADER>cr", vim.lsp.buf.rename, {buffer =-1})
vim.keymap.set("n", "<LEADER>ca", vim.lsp.buf.code_action, {buffer = -1})
vim.keymap.set("n", "<LEADER>wd", builtin.lsp_document_symbols, {buffer = -1})
local settings = language_server[client.name]
if type(settings) ~= "table" then
settings = {}
end end
local builtin = require "telescope.builtin"
vim.opt_local.omnifunc = "v:lua.vim.lsp.omnifunc"
vim.keymap.set("n", "gd", builtin.lsp_definitions, { buffer = -1 })
vim.keymap.set("n", "gr", builtin.lsp_references, { buffer = -1 })
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = -1 })
vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, { buffer = -1 })
vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = -1 })
vim.keymap.set("n", "<LEADER>cr", vim.lsp.buf.rename, { buffer = -1 })
vim.keymap.set("n", "<LEADER>ca", vim.lsp.buf.code_action, { buffer = -1 })
vim.keymap.set("n", "<LEADER>wd", builtin.lsp_document_symbols, { buffer = -1 })
end
}) })
end, end,
} }

View File

@ -2,13 +2,13 @@ return {
{ {
"stevearc/oil.nvim", "stevearc/oil.nvim",
opt = { opt = {
default_file_explorer = false default_file_explorer = true
}, },
dependencies = { dependencies = {
'nvim-tree/nvim-web-devicons' 'nvim-tree/nvim-web-devicons'
}, },
config = function () config = function()
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc= "Open parent directory"}) vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
end end
} }
} }

View File

@ -21,7 +21,7 @@ return {
vim.keymap.set('n', '<leader>/', builtin.current_buffer_fuzzy_find) vim.keymap.set('n', '<leader>/', builtin.current_buffer_fuzzy_find)
vim.keymap.set('n', '<leader>gw', builtin.grep_string) vim.keymap.set('n', '<leader>gw', builtin.grep_string)
vim.keymap.set('n', '<leader>fp',function () vim.keymap.set('n', '<leader>fp',function ()
builtin.find_files { cwd = "~/AppData/Local/nvim/lua/barink/"} builtin.find_files { cwd = "~/.config/nvim/lua/barink/"}
end) end)
end end
} }

View File

@ -1,30 +1,27 @@
-- return {
-- "folke/tokyonight.nvim",
-- lazy = false,
-- priority = 1000,
-- opts = {},
-- config = function()
-- require("tokyonight").setup({
-- style = "night",
-- light_style = "day",
-- transparent = true,
-- terminal_colors = true,
-- dim_inactive = false,
-- lualine_bold = false,
-- })
--
-- vim.cmd [[colorscheme tokyonight]]
-- end
-- }
return { return {
{ {
"catppuccin/nvim", "folke/tokyonight.nvim",
name="catppuccin", lazy = false,
priority=1000, priority = 1000,
config = function () opts = {},
require("catppuccin").setup() config = function()
vim.cmd.colorscheme('catppuccin') require("tokyonight").setup({
end style = "night",
light_style = "day",
transparent = true,
terminal_colors = true,
dim_inactive = false,
lualine_bold = false,
})
end
},
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
require("catppuccin").setup()
vim.cmd.colorscheme('catppuccin')
end
} }
} }

View File

@ -1,15 +0,0 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
},
keys = {
{
"<leader>?",
function()
require("which-key").show({global = false})
end,
desc = "Buffer Local Keymaps (which-key)",
}
}
}

View File

@ -21,20 +21,21 @@ vim.opt.termguicolors = true
vim.opt.scrolloff = 8 vim.opt.scrolloff = 8
vim.g.netrw_browse_split = 0 vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
vim.g.netrw_winsize = 25 vim.opt.inccommand = 'split'
vim.opt.completeopt = {'menu', 'menuone', 'noselect' }
vim.api.nvim_create_autocmd('LspAttach', { vim.api.nvim_create_autocmd('LspAttach', {
callback = function (args) callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id) local client = vim.lsp.get_client_by_id(args.data.client_id)
if client.server_capabilities.hoverProvider then if client.server_capabilities.hoverProvider then
vim.keymap.set('n', 'K', vim.lsp.buf.hover, {buffer = args.buf}) vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = args.buf })
end end
end, end,
}) })
vim.g.netrw_browse_split = 0
vim.g.netrw_winsize = 25
--[[ --[[
-- Run zig test on save -- Run zig test on save
-- TODO: fix vim.cmd call -- TODO: fix vim.cmd call
@ -43,7 +44,4 @@ vim.api.nvim_create_autocmd('BufWritePost' , {
callback = function () callback = function ()
vim.cmd{cmd = '!zig' , args= {'test', vim.fn.expand('%')} } vim.cmd{cmd = '!zig' , args= {'test', vim.fn.expand('%')} }
end end
})]]-- })]] --