aboutsummaryrefslogtreecommitdiff
path: root/.lazy.lua
blob: 49182edfba277ad875f165b6bcd9b0d44799af7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
local workspace_folder = vim.fn.getcwd()

return {
  {
    "neovim/nvim-lspconfig",
    opts = {
      servers = {
        clangd = {
          cmd = {
            "clangd",
            "--background-index",
            "--clang-tidy",
            "--compile-commands-dir=" .. workspace_folder .. "/build",
            "--completion-style=detailed",
            "-experimental-modules-support",
            "--header-insertion=iwyu",
          },
        },
      },
    },
  },
  {
    "lucaSartore/fastspell.nvim",
    config = function()
      local fastspell = require("fastspell")

      fastspell.setup({
        cspell_json_file_path = workspace_folder .. "/cspell.json",
      })

      vim.api.nvim_create_autocmd({ "TextChanged", "TextChangedI", "BufEnter", "WinScrolled" }, {
        callback = function(_)
          local first_line = vim.fn.line('w0') - 1
          local last_line = vim.fn.line('w$')
          fastspell.sendSpellCheckRequest(first_line, last_line)
        end,
      })
    end
  },
  {
    "Civitasv/cmake-tools.nvim",
    opts = {
      cmake_compile_commands_options = {
        action = "copy",
        target = workspace_folder .. "/build",
      },
    },
  },
  {
    "nvim-neo-tree/neo-tree.nvim",
    opts = {
      filesystem = {
        filtered_items = {
          visible = false,
          hide_gitignored = true,
        },
      },
      nesting_rules = {
        ['tests_under_sources'] = {
          pattern = "(.*).cppm",
          files = { "%1.tests.cpp" }
        },
      },
    },
  },
}