feat(LSP): Add PHP parser, remap LSP keybindings
This commit is contained in:
35
lua/lsp.lua
35
lua/lsp.lua
@@ -1,7 +1,42 @@
|
||||
local utils = require("utils")
|
||||
require("mason").setup({})
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"lua_ls",
|
||||
"stylua",
|
||||
"intelephense",
|
||||
},
|
||||
})
|
||||
local telescope = require("telescope.builtin")
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
desc = "LSP Keymaps",
|
||||
callback = function(args)
|
||||
local bufnr = args.buf
|
||||
local options = { buffer = bufnr }
|
||||
|
||||
-- Navigation
|
||||
utils.nmap("<leader>gt", telescope.lsp_type_definitions, "Go to Type Definition", options)
|
||||
utils.nmap("<leader>gd", telescope.lsp_definitions, "Go to Definition", options)
|
||||
utils.nmap("<leader>gD", vim.lsp.buf.declaration, "Go to Declaration", options)
|
||||
utils.nmap("<leader>gi", telescope.lsp_implementations, "Go to Implementation", options)
|
||||
utils.nmap("<leader>gr", telescope.lsp_references, "References", options)
|
||||
utils.nmap("<leader>gs", telescope.lsp_document_symbols, "LSP Document Symbols", options)
|
||||
utils.nmap("<leader>gS", telescope.lsp_dynamic_workspace_symbols, "LSP Workspace Symbols", options)
|
||||
|
||||
-- Info
|
||||
utils.nmap("<leader>gh", vim.lsp.buf.hover, "Hover Docs", options)
|
||||
utils.nmap("<leader>gH", vim.lsp.buf.signature_help, "Signature Help", options)
|
||||
|
||||
-- Refactor
|
||||
utils.nmap("<leader>gn", vim.lsp.buf.rename, "Rename Symbol", options)
|
||||
utils.nmap("<leader>ga", vim.lsp.buf.code_action, "Code Action", options)
|
||||
utils.nmap("<leader>gf", vim.lsp.buf.format, "Format Buffer", options)
|
||||
|
||||
-- Diagnostics
|
||||
utils.nmap("<leader>gl", vim.diagnostic.open_float, "Line Diagnostics", options)
|
||||
utils.nmap("<leader>gk", vim.diagnostic.goto_prev, "Previous Diagnostic", options)
|
||||
utils.nmap("<leader>gj", vim.diagnostic.goto_next, "Next Diagnostic", options)
|
||||
utils.nmap("<leader>gq", vim.diagnostic.setloclist, "Diagnostics to Loclist", options)
|
||||
end,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user