feat: add ShowFilePath command
parent
267f59c18a
commit
cda2cae5e5
|
@ -6,15 +6,15 @@
|
|||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"conform.nvim": { "branch": "master", "commit": "4660e534bf7678ee0f85879aa75fdcb6855612c2" },
|
||||
"conform.nvim": { "branch": "master", "commit": "12b3995537f52ba2810a9857e8ca256881febbda" },
|
||||
"copilot.vim": { "branch": "release", "commit": "1e135c5303bc60598f6314a2276f31dc91aa34dd" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "6d06924b562de6f0bb136edf1bf549afbf6b7d00" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "1c8b82c5b02bb890862538be2061e37ef801a99b" },
|
||||
"git-blame.nvim": { "branch": "master", "commit": "ad1d1365c9189d89797fe8d559677d5f55dc2830" },
|
||||
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "3f13f080434ac942b150679223d54f5ca91e0d52" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a14770dc8c7cb29643870ac79788eec6f7ce1f8" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "273fdde8ac5e51f3a223ba70980e52bbc09d9f6f" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" },
|
||||
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
|
||||
|
@ -23,14 +23,14 @@
|
|||
"nvim-comment": { "branch": "main", "commit": "e9ac16ab056695cad6461173693069ec070d2b23" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb" },
|
||||
"nvim-grey": { "branch": "main", "commit": "d822f82a990198e354845fe4d191f5f527302444" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "cfa386fc4027e847156ee16141ea1f4c0bc2f0a4" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "62008e5cf2e8745c9d23bb599ef642963131057e" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "b04ccbd0e041bb05f3eef271124da02497d9d10c" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "aa5f4f4ee10b2688fb37fa46215672441d5cd5d9" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "347e1eb35264677f66a79466bb5e3d111968e12c" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "bbc67f736e22c37c23f2c11a05bfa23b715af30c" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "beb6367ab8496c9e43f22e0252735fdadae1872d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "5129a3693c482fcbc5ab99a7706ffc4360b995a0" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "794bba734ec95eaff9bb82fbd112473be2087283" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" },
|
||||
"themery.nvim": { "branch": "main", "commit": "1005a58801276d29c4b1e11244cf7631250f9143" },
|
||||
"vim-maximizer": { "branch": "master", "commit": "2e54952fe91e140a2e69f35f22131219fcd9c5f1" },
|
||||
"vscode-js-debug": { "branch": "main", "commit": "774a6fb444c75724914f23c2d07e8b0a9fcb080d" }
|
||||
"vscode-js-debug": { "branch": "main", "commit": "0b40365364f2867691701bff5aedf68d7fa0fe9d" }
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
local api = vim.api
|
||||
|
||||
-- Show file path in command bar
|
||||
api.nvim_create_user_command("ShowFilePath", function()
|
||||
print(vim.fn.expand("%:p"))
|
||||
end, { bang = true })
|
|
@ -1,18 +1,20 @@
|
|||
require'nvim-treesitter.configs'.setup {
|
||||
autotag = {
|
||||
enable = true,
|
||||
}
|
||||
}
|
||||
require("nvim-treesitter.configs").setup({
|
||||
autotag = {
|
||||
enable = true,
|
||||
},
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "typescript", "tsx" })
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Enable update on insert
|
||||
vim.lsp.handlers['textDocument/publishDiagnostics'] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics,
|
||||
{
|
||||
underline = true,
|
||||
virtual_text = {
|
||||
spacing = 5,
|
||||
severity_limit = 'Warning',
|
||||
},
|
||||
update_in_insert = true,
|
||||
}
|
||||
)
|
||||
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
underline = true,
|
||||
virtual_text = {
|
||||
spacing = 5,
|
||||
severity_limit = "Warning",
|
||||
},
|
||||
update_in_insert = true,
|
||||
})
|
||||
|
|
|
@ -6,6 +6,7 @@ require("conform").setup({
|
|||
javascriptreact = { "prettierd", "prettier" },
|
||||
typescriptreact = { "prettierd", "prettier" },
|
||||
json = { { "prettierd", "prettier" } },
|
||||
jsonc = { { "prettierd", "prettier" } },
|
||||
markdown = { { "marksman", "prettier", "prettierd" } },
|
||||
},
|
||||
})
|
||||
|
|
|
@ -11,15 +11,8 @@ require("mason").setup({
|
|||
-- A list of servers to automatically install if they're not already installed
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"cssls",
|
||||
"cssmodules_ls",
|
||||
"graphql",
|
||||
"html",
|
||||
"intelephense",
|
||||
"tailwindcss",
|
||||
"tsserver",
|
||||
"jsonls",
|
||||
"lua_ls",
|
||||
"marksman",
|
||||
},
|
||||
})
|
||||
|
|
104
lua/lsp.lua
104
lua/lsp.lua
|
@ -1,71 +1,69 @@
|
|||
local lspconfig = require("lspconfig")
|
||||
|
||||
local mappings = {
|
||||
["<leader>k"] = vim.diagnostic.open_float,
|
||||
["[d"] = vim.diagnostic.goto_prev,
|
||||
["]d"] = vim.diagnostic.goto_next,
|
||||
["<leader>q"] = vim.diagnostic.setloclist,
|
||||
["gD"] = vim.lsp.buf.declaration,
|
||||
["gd"] = vim.lsp.buf.definition,
|
||||
["K"] = vim.lsp.buf.hover,
|
||||
["gi"] = vim.lsp.buf.implementation,
|
||||
["<leader>wa"] = vim.lsp.buf.add_workspace_folder,
|
||||
["<leader>wr"] = vim.lsp.buf.remove_workspace_folder,
|
||||
["<leader>wl"] = function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workleader_folders()))
|
||||
end,
|
||||
["<leader>D"] = vim.lsp.buf.type_definition,
|
||||
["<leader>rn"] = vim.lsp.buf.rename,
|
||||
["<leader>ca"] = vim.lsp.buf.code_action,
|
||||
["gr"] = vim.lsp.buf.references,
|
||||
["<leader>k"] = vim.diagnostic.open_float,
|
||||
["[d"] = vim.diagnostic.goto_prev,
|
||||
["]d"] = vim.diagnostic.goto_next,
|
||||
["<leader>q"] = vim.diagnostic.setloclist,
|
||||
["gD"] = vim.lsp.buf.declaration,
|
||||
["gd"] = vim.lsp.buf.definition,
|
||||
["K"] = vim.lsp.buf.hover,
|
||||
["gi"] = vim.lsp.buf.implementation,
|
||||
["<leader>wa"] = vim.lsp.buf.add_workspace_folder,
|
||||
["<leader>wr"] = vim.lsp.buf.remove_workspace_folder,
|
||||
["<leader>wl"] = function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workleader_folders()))
|
||||
end,
|
||||
["<leader>D"] = vim.lsp.buf.type_definition,
|
||||
["<leader>rn"] = vim.lsp.buf.rename,
|
||||
["<leader>ca"] = vim.lsp.buf.code_action,
|
||||
["gr"] = vim.lsp.buf.references,
|
||||
}
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
||||
for key, mapping in pairs(mappings) do
|
||||
vim.keymap.set("n", key, mapping, bufopts)
|
||||
end
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
||||
for key, mapping in pairs(mappings) do
|
||||
vim.keymap.set("n", key, mapping, bufopts)
|
||||
end
|
||||
end
|
||||
|
||||
local servers = {
|
||||
"tsserver",
|
||||
"intelephense",
|
||||
"tailwindcss",
|
||||
"lua_ls",
|
||||
"marksman",
|
||||
"tsserver",
|
||||
"lua_ls",
|
||||
}
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
|
||||
capabilities.textDocument.completion.completionItem = {
|
||||
documentationFormat = { "markdown", "plaintext" },
|
||||
snippetSupport = true,
|
||||
preselectSupport = true,
|
||||
insertReplaceSupport = true,
|
||||
labelDetailsSupport = true,
|
||||
deprecatedSupport = true,
|
||||
commitCharactersSupport = true,
|
||||
tagSupport = { valueSet = { 1 } },
|
||||
resolveSupport = {
|
||||
properties = {
|
||||
"documentation",
|
||||
"detail",
|
||||
"additionalTextEdits",
|
||||
},
|
||||
},
|
||||
documentationFormat = { "markdown", "plaintext" },
|
||||
snippetSupport = true,
|
||||
preselectSupport = true,
|
||||
insertReplaceSupport = true,
|
||||
labelDetailsSupport = true,
|
||||
deprecatedSupport = true,
|
||||
commitCharactersSupport = true,
|
||||
tagSupport = { valueSet = { 1 } },
|
||||
resolveSupport = {
|
||||
properties = {
|
||||
"documentation",
|
||||
"detail",
|
||||
"additionalTextEdits",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, lsp in ipairs(servers) do
|
||||
lspconfig[lsp].setup({
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
-- For suppressing vim error messages in config
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = { globals = { "vim" } },
|
||||
},
|
||||
},
|
||||
})
|
||||
lspconfig[lsp].setup({
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
-- For suppressing vim error messages in config
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = { globals = { "vim" } },
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
|
|
|
@ -57,3 +57,7 @@ vim.api.nvim_create_autocmd("BufWritePre", {
|
|||
formatter.format(nil)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Logging --
|
||||
-- opt.verbosefile = '~/.config/nvim/nvim_log' -- Set the location for the log file
|
||||
-- opt.verbose = 15 -- Set the verbosity level
|
||||
|
|
174
lua/plugins.lua
174
lua/plugins.lua
|
@ -2,96 +2,96 @@ local dashboard = require("config.dashboard")
|
|||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
|
||||
if not (vim.uv or 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,
|
||||
})
|
||||
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)
|
||||
|
||||
require("lazy").setup({
|
||||
-- Dashboard
|
||||
{
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
opts = dashboard.dashboard_config,
|
||||
},
|
||||
-- Theming
|
||||
"tanvirtin/monokai.nvim",
|
||||
"yorickpeterse/nvim-grey",
|
||||
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 },
|
||||
{
|
||||
"onsails/lspkind.nvim",
|
||||
event = { "VimEnter" },
|
||||
},
|
||||
-- Auto-completion engine
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "lspkind.nvim" },
|
||||
config = function()
|
||||
require("config.nvim-cmp")
|
||||
end,
|
||||
},
|
||||
{ "hrsh7th/cmp-nvim-lsp", dependencies = { "nvim-cmp" } },
|
||||
{ "hrsh7th/cmp-buffer", dependencies = { "nvim-cmp" } }, -- buffer auto-completion
|
||||
{ "hrsh7th/cmp-path", dependencies = { "nvim-cmp" } }, -- path auto-completion
|
||||
{ "hrsh7th/cmp-cmdline", dependencies = { "nvim-cmp" } }, -- cmdline auto-completion
|
||||
-- Code snippet engine
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
version = "v2.*",
|
||||
},
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"neovim/nvim-lspconfig",
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
version = "*",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.6",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
"zaldih/themery.nvim",
|
||||
"terrortylor/nvim-comment",
|
||||
"szw/vim-maximizer",
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
},
|
||||
"numToStr/FTerm.nvim",
|
||||
"github/copilot.vim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
requires = { { "nvim-lua/plenary.nvim" } },
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = true,
|
||||
},
|
||||
"windwp/nvim-ts-autotag",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
opt = true,
|
||||
run = "npm install --legacy-peer-deps && npx gulp vsDebugServerBundle && mv dist out"
|
||||
},
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
"microsoft/vscode-js-debug",
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = {},
|
||||
},
|
||||
"f-person/git-blame.nvim",
|
||||
-- Dashboard
|
||||
{
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
opts = dashboard.dashboard_config,
|
||||
},
|
||||
-- Theming
|
||||
"tanvirtin/monokai.nvim",
|
||||
"yorickpeterse/nvim-grey",
|
||||
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 },
|
||||
{
|
||||
"onsails/lspkind.nvim",
|
||||
event = { "VimEnter" },
|
||||
},
|
||||
-- Auto-completion engine
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "lspkind.nvim" },
|
||||
config = function()
|
||||
require("config.nvim-cmp")
|
||||
end,
|
||||
},
|
||||
{ "hrsh7th/cmp-nvim-lsp", dependencies = { "nvim-cmp" } },
|
||||
{ "hrsh7th/cmp-buffer", dependencies = { "nvim-cmp" } }, -- buffer auto-completion
|
||||
{ "hrsh7th/cmp-path", dependencies = { "nvim-cmp" } }, -- path auto-completion
|
||||
{ "hrsh7th/cmp-cmdline", dependencies = { "nvim-cmp" } }, -- cmdline auto-completion
|
||||
-- Code snippet engine
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
version = "v2.*",
|
||||
},
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"neovim/nvim-lspconfig",
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
version = "*",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.6",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
"zaldih/themery.nvim",
|
||||
"terrortylor/nvim-comment",
|
||||
"szw/vim-maximizer",
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
},
|
||||
"numToStr/FTerm.nvim",
|
||||
"github/copilot.vim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
requires = { { "nvim-lua/plenary.nvim" } },
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = true,
|
||||
},
|
||||
"windwp/nvim-ts-autotag",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
opt = true,
|
||||
run = "npm install --legacy-peer-deps && npx gulp vsDebugServerBundle && mv dist out",
|
||||
},
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
"microsoft/vscode-js-debug",
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = {},
|
||||
},
|
||||
"f-person/git-blame.nvim",
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue