Closed vaibhav135 closed 1 year ago
What keymaps are working?
@VonHeikemen in the lsp-zero I have provided above, only these are working
keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
I tested your lsp-zero config and everything works fine.
You can try with a minimal config. Use the -u
flag to test with a different configuration file.
Create a script called test.lua
and add this config.
require('mason').setup({})
require('mason-lspconfig').setup({})
require('lspconfig').lua_ls.setup({
on_attach = function(client, bufnr)
local opts = { noremap = true, silent = true }
local keymap = vim.api.nvim_buf_set_keymap
keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
keymap(bufnr, "n", "gl", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
end
})
Then start neovim using the test script: nvim -u /path/to/test.lua
@VonHeikemen it's still the same. gl
is not working. If you want I can also share my github repo with my local nvim configuation.
@VonHeikemen this is my neovim configuration repo
Your lsp.lua file might be overriding the settings you have in lsp-zero.lua
I suggest you keep all your lsp configuration in one file.
sure I will try that.
@VonHeikemen Thank you so much It started working. Really appreciate your help sir. Also if possible can you please share some resources on how a beginner can start nvim plugins development. Peace.
Great. I'm glad that's working for you.
how a beginner can start nvim plugins development.
This video is pretty cool: Neovim lua plugin from scratch.
The Problem
So basically if you check my lsp-zero.lua only initial 2-3 keymappings are working and other than those none are working. When I execute
:nmap gl
(gl is mapped to open_float()) it saysno mapping found
.neovim version: 0.9.0
folder Structure
full folder structure
Some other configs.
Here is my lsp-zero.lua
``` lua local lsp = require("lsp-zero").preset({}) local status_cmp_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") if not status_cmp_ok then return end lsp.format_on_save({ format_opts = { timeout_ms = 30000, }, servers = { ["rust_analyzer"] = { "rust" }, }, }) --local lsp = require("lsp-zero") --lsp.preset("recommended") lsp.ensure_installed({ "prismals", "rust_analyzer", "yamlls", "jsonls", "lua_ls", "cssls", "tailwindcss", "tsserver", "vimls", "eslint", }) -- Fix Undefined global 'vim' lsp.nvim_workspace() --lsp.setup_nvim_cmp({ --mapping = cmp_mappings, --}) lsp.set_preferences({ suggest_lsp_servers = false, sign_icons = { error = "E", warn = "W", hint = "H", info = "I", }, }) local function lsp_keymaps(bufnr) local opts = { noremap = true, silent = true } local keymap = vim.api.nvim_buf_set_keymap keymap(bufnr, "n", "gD", "My main init.lua
``` lua vim.cmd.packadd("packer.nvim") --Required modules require("lualine").setup({}) require("nvim-autopairs").setup({}) require("impatient") require("vaibhav135.dashboard") require("null-ls") require("impatient") require("telescope") require("vaibhav135.toggleterm") require("vaibhav135.set") require("nvim-web-devicons").get_icons() vim.cmd.colorscheme("catppuccin") --require("gitsigns").setup() require("packer").startup(function(use) -- packer can update itself use("wbthomason/packer.nvim") --Startup screen for neovim use({ "glepnir/dashboard-nvim", event = "VimEnter", requires = { "nvim-tree/nvim-web-devicons" }, }) -- Telescope use({ "nvim-telescope/telescope.nvim", tag = "0.1.1", -- or , branch = '0.1.x', requires = { { "nvim-lua/plenary.nvim" } }, }) use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) --Markdown support for neovim -- install without yarn or npm use({ "iamcco/markdown-preview.nvim", run = function() vim.fn["mkdp#util#install"]() end, }) --use({ --"iamcco/markdown-preview.nvim", --run = "cd app && npm install", --setup = function() --vim.g.mkdp_filetypes = { "markdown" } --end, --ft = { "markdown" }, --}) --Get warnings and errors -- Lua use({ "folke/trouble.nvim", requires = "nvim-tree/nvim-web-devicons", config = function() require("trouble").setup({ -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below }) end, }) --Decrease startup for neovim use("lewis6991/impatient.nvim") --Terminal in neovim use("akinsho/toggleterm.nvim") --Code formatting for lua use({ "ckipp01/stylua-nvim" }) --Git signs "git blame" use({ "lewis6991/gitsigns.nvim", -- tag = 'release' -- To use the latest release (do not use this if you run Neovim nightly or dev builds!) }) -- LSP use({ "nvim-treesitter/nvim-treesitter", run = function() local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) ts_update() end, }) --Themes use({ "catppuccin/nvim", as = "catppuccin" }) use("jose-elias-alvarez/null-ls.nvim") use("nvim-lua/plenary.nvim") --Fancy tabs. use({ "akinsho/bufferline.nvim", tag = "*", requires = "nvim-tree/nvim-web-devicons" }) --Fancy taskbar use({ "nvim-lualine/lualine.nvim", requires = { "nvim-tree/nvim-web-devicons", opt = true }, }) --Bracket Provider. use({ "windwp/nvim-autopairs", config = function() require("nvim-autopairs").setup({}) end, }) use({ "VonHeikemen/lsp-zero.nvim", branch = "v1.x", requires = { -- LSP Support { "neovim/nvim-lspconfig" }, { "williamboman/mason.nvim" }, { "williamboman/mason-lspconfig.nvim" }, -- Autocompletion { "hrsh7th/nvim-cmp" }, { "hrsh7th/cmp-buffer" }, { "hrsh7th/cmp-path" }, { "saadparwaiz1/cmp_luasnip" }, { "hrsh7th/cmp-nvim-lsp" }, { "hrsh7th/cmp-nvim-lua" }, -- Snippets { "L3MON4D3/LuaSnip" }, { "rafamadriz/friendly-snippets" }, }, }) end) ```Here is my init.vim
``` vim call plug#begin() Plug 'preservim/nerdtree' Plug 'tpope/vim-surround' Plug 'tpope/vim-fugitive' Plug 'scrooloose/nerdcommenter' Plug 'puremourning/vimspector' Plug 'numirias/semshi', { 'do': ':UpdateRemotePlugins' } "" Plug 'ctrlpvim/ctrlp.vim' call plug#end() " -------------------------------------------------------------------------------------------------------------------------------- " --------------------------------------------- Default configuration ----------------------------------------------------------- " enable termguicolors if (has("termguicolors")) set termguicolors endif filetype off filetype plugin indent on filetype plugin on "let g:onedark_termcolors=256 " ChangeNote:- I am a noob in neovim.