artemave/workspace-diagnostics.nvim

website github github
lspneovim-0.5diagnostics
stars 93
issues 2
subscribers 3
forks 1
CREATED

2024-02-07

UPDATED

3 months ago


https://github.com/artemave/workspace-diagnostics.nvim/assets/23721/ae32fdc8-a547-4194-ae00-df19c66d2b5f

📋 Installation

wbthomason/packer.nvim

use {"artemave/workspace-diagnostics.nvim"}

junegunn/vim-plug

Plug "artemave/workspace-diagnostics.nvim"

folke/lazy.nvim

require("lazy").setup({"artemave/workspace-diagnostics.nvim"})

⚡️ Usage

Populate workspace diagnostcs when an lsp client is attached:

require('lspconfig').tsserver.setup({
  on_attach = function(client, bufnr)
                ...
                require("workspace-diagnostics").populate_workspace_diagnostics(client, bufnr)
                ...
              end
})

Despite its placement, populate_workspace_diagnostics will actually do the work only once per client.

⚙ Configuration

You can configure a different function that returns a list of project files (it defaults to the output of git ls-files).

require("workspace-diagnostics").setup({
  workspace_files = function()
    return { 'index.js', 'lib/banana.js' }
  end
})

⌨ Contributing

PRs and issues are always welcome. Make sure to provide as much context as possible when opening one.

To run make lint locally, you'd need to install stylua:

cargo install stylua --features lua52