Skip to content

Neovim plugin for displaying references and difinition infos upon functions like JB's IDEA.

License

Notifications You must be signed in to change notification settings

VidocqH/lsp-lens.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lsp-lens.nvim

Neovim plugin for displaying reference and definition info upon functions like JB's IDEA.

image

Installation

Prerequisite

neovim >= 0.8

lsp server correctly setup

Lazy

require("lazy").setup({
  'VidocqH/lsp-lens.nvim'
})

Usage

require'lsp-lens'.setup({})

Configs

Below is the default config

local SymbolKind = vim.lsp.protocol.SymbolKind

require'lsp-lens'.setup({
  enable = true,
  include_declaration = false,      -- Reference include declaration
  sections = {                      -- Enable / Disable specific request, formatter example looks 'Format Requests'
    definition = false,
    references = true,
    implements = true,
    git_authors = true,
  },
  ignore_filetype = {
    "prisma",
  },
  -- Target Symbol Kinds to show lens information
  target_symbol_kinds = { SymbolKind.Function, SymbolKind.Method, SymbolKind.Interface },
  -- Symbol Kinds that may have target symbol kinds as children
  wrapper_symbol_kinds = { SymbolKind.Class, SymbolKind.Struct },
})

Format Requests

require'lsp-lens'.setup({
  sections = {
    definition = function(count)
        return "Definitions: " .. count
    end,
    references = function(count)
        return "References: " .. count
    end,
    implements = function(count)
        return "Implements: " .. count
    end,
    git_authors = function(latest_author, count)
        return "" .. latest_author .. (count - 1 == 0 and "" or (" + " .. count - 1))
    end,
  }
})

Commands

:LspLensOn
:LspLensOff
:LspLensToggle

Highlight

{
  LspLens = { link = "Comment" },
}

Known Bug

  • Due to a known issue with the neovim nvim_buf_set_extmark() api, the function and method defined on the first line of the code may cause the len to display at the -1 index line, which is not visible.

Thanks

lspsaga by glepnir

About

Neovim plugin for displaying references and difinition infos upon functions like JB's IDEA.

Topics

Resources

License

Stars

Watchers

Forks

Languages