2024-11-11 12:05:28 -05:00
|
|
|
-- Pull in core keybindings --
|
2024-03-03 18:01:30 -05:00
|
|
|
require("dan.core")
|
2024-11-11 12:05:28 -05:00
|
|
|
|
2024-03-03 18:01:30 -05:00
|
|
|
-- Lazy VIM --
|
|
|
|
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
|
|
|
if not vim.loop.fs_stat(lazypath) then
|
|
|
|
|
vim.fn.system({
|
|
|
|
|
"git",
|
|
|
|
|
"clone",
|
|
|
|
|
"--filter=blob:none",
|
|
|
|
|
"https://github.com/folke/lazy.nvim.git",
|
|
|
|
|
"--branch=stable", -- latest stable release
|
|
|
|
|
lazypath,
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
vim.opt.rtp:prepend(lazypath)
|
2024-11-11 12:05:28 -05:00
|
|
|
|
|
|
|
|
-- SET NEOVIM THEME --
|
2025-04-20 21:12:36 -04:00
|
|
|
vim.o.termguicolors = true
|
|
|
|
|
-- vim.cmd "let g:everforest_background = 'hard'"
|
2025-08-04 07:16:56 -04:00
|
|
|
-- vim.cmd.colorscheme('sistine')
|
2025-07-31 12:27:11 -04:00
|
|
|
vim.o.background = "dark"
|
|
|
|
|
|
|
|
|
|
-- Load Plugins
|
|
|
|
|
require("lazy").setup("plugins")
|
2025-08-04 07:15:44 -04:00
|
|
|
vim.cmd.colorscheme('duskfox')
|
2025-07-31 12:27:11 -04:00
|
|
|
|
2025-05-21 08:22:35 -04:00
|
|
|
vim.keymap.set("n", "<leader>ct", "<cmd>Telescope colorscheme<CR>")
|
2024-11-11 12:05:28 -05:00
|
|
|
|
2025-05-20 08:55:12 -04:00
|
|
|
-- LSP --
|
|
|
|
|
vim.o.winborder = 'rounded'
|
|
|
|
|
vim.lsp.enable({'intelephense'})
|
|
|
|
|
vim.lsp.enable({'drupal-lsp'})
|
|
|
|
|
vim.lsp.enable({'rust_analyzer'})
|
|
|
|
|
vim.lsp.enable({'elixirls'})
|
|
|
|
|
vim.lsp.enable({'lexical'})
|
|
|
|
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
|
|
|
|
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
|
|
|
|
|
vim.keymap.set({ "n" }, "<leader>ca", vim.lsp.buf.code_action, {})
|
|
|
|
|
|
2024-11-11 12:05:28 -05:00
|
|
|
-- XDEBUG --
|
2024-10-20 12:25:10 -04:00
|
|
|
local dap = require('dap')
|
|
|
|
|
require('telescope').load_extension('dap')
|
|
|
|
|
dap.adapters.php = {
|
2024-10-29 08:46:19 -04:00
|
|
|
type = "executable",
|
|
|
|
|
command = "node",
|
|
|
|
|
args = { os.getenv("HOME") .. "/vscode-php-debug/out/phpDebug.js" }
|
2024-10-20 12:25:10 -04:00
|
|
|
}
|
|
|
|
|
dap.configurations.php = {
|
2024-10-29 08:46:19 -04:00
|
|
|
{
|
|
|
|
|
type = "php",
|
|
|
|
|
request = "launch",
|
|
|
|
|
name = "Listen for Xdebug",
|
|
|
|
|
port = 9003,
|
|
|
|
|
log = true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "listen for Xdebug docker",
|
|
|
|
|
type = "php",
|
|
|
|
|
request = "launch",
|
|
|
|
|
port = 9003,
|
2025-03-30 22:21:49 -04:00
|
|
|
log = true,
|
2024-10-29 08:46:19 -04:00
|
|
|
-- this is where your file is in the container
|
2025-05-21 08:44:25 -04:00
|
|
|
-- you need to be in this directory when starting neovim.
|
2024-10-29 08:46:19 -04:00
|
|
|
pathMappings = {
|
|
|
|
|
["/var/www/html/web"] = "${workspaceFolder}"
|
2024-10-20 12:25:10 -04:00
|
|
|
}
|
2024-10-29 08:46:19 -04:00
|
|
|
}
|
2024-10-20 12:25:10 -04:00
|
|
|
}
|
2025-03-30 22:21:49 -04:00
|
|
|
vim.fn.sign_define('DapBreakpoint',{ text ='🟥', texthl ='', linehl ='', numhl =''})
|
|
|
|
|
vim.fn.sign_define('DapStopped',{ text ='▶️', texthl ='', linehl ='', numhl =''})
|
2024-10-20 12:25:10 -04:00
|
|
|
vim.keymap.set('n', '<leader>?', function() dap.continue() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>N', function() dap.step_over() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>n', function() dap.step_into() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>E', function() dap.step_out() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>b', function() dap.toggle_breakpoint() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>B', function() dap.set_breakpoint() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>dr', function() dap.repl.open() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>dl', function() dap.run_last() end)
|
|
|
|
|
vim.keymap.set('n', '<leader>db', function()
|
|
|
|
|
local widgets = require('dap.ui.widgets')
|
|
|
|
|
widgets.centered_float(widgets.scopes)
|
|
|
|
|
end)
|