Awesome
<!-- LTeX: enabled=false -->nvim-dr-lsp 👨⚕️👩⚕️
<!-- LTeX: enabled=true --> <a href="https://dotfyle.com/plugins/chrisgrieser/nvim-dr-lsp"> <img alt="badge" src="https://dotfyle.com/plugins/chrisgrieser/nvim-dr-lsp/shield"/></a>D
efinitions and R
eferences utility for the LSP.
Lightweight plugin that highlights definitions and references of the word under the cursor and displays their count in the statusline.
- Statusline Component
- Installation
- Highlights of definitions and references
- Definition and reference count in the statusbar
- Similar Plugins
- Credits
Installation
The plugin requires at least nvim 0.10.
-- lazy.nvim
{ "chrisgrieser/nvim-dr-lsp" },
-- packer
use { "chrisgrieser/nvim-dr-lsp" }
There is no .setup
call for this plugin. Just add the components to your
statusline.
Highlights of definitions and references
- Definitions are under-dashed, references are under-dotted.
- These are set up automatically for you as soon as the buffer is attached to an LSP client.
- To disable the highlights feature, set
vim.g.dr_lsp_no_highlight = true
before loading the plugin. - The time for the highlights to show up depends on the updatetime option. It's recommended to set it to something like 300 ms.
Definition and reference count in the statusbar
Definitions and references inside current buffer:
LSP: 2D 6R
Definitions or references outside current buffer
LSP: 1(2)D 4(10)R
- 1 definition in the current buffer
- 2 definitions in the workspace
- 4 references in the current buffer
- 10 definitions in the workspace
-- adding the component to lualine.nvim
{
sections = {
lualine_c = {
{ require("dr-lsp").lspCount },
},
}
}
There are no built-in options to format the components, since formatting can
already be done with most statusline plugins. With Lualine
, for example, you can
use the fmt
option:
lualine_c = {
{
require("dr-lsp").lspCount,
-- remove the letters from the component
fmt = function(str) return str:gsub("[RD]", "") end,
},
},
Alternatively, require("dr-lsp").lspCountTable()
returns the lspCount
information as lua table for custom formatting:
{
file = {
definitions = 1,
references = 4,
},
workspace = {
definitions = 2,
references = 10,
},
}
Similar Plugins
<!-- vale Google.FirstPerson = NO -->Credits
In my day job, I am a sociologist studying the social mechanisms underlying the digital economy. For my PhD project, I investigate the governance of the app economy and how software ecosystems manage the tension between innovation and compatibility. If you are interested in this subject, feel free to get in touch.
<a href='https://ko-fi.com/Y8Y86SQ91' target='_blank'> <img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>