aboutsummaryrefslogtreecommitdiff
path: root/.lazy.lua
blob: eca1d48ad2c421c6d33b4063d45a1b4176dffbbb (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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",
            "--header-insertion=iwyu",
            "--query-driver=**/x86_64-pc-elf-g++"
          },
        },
      },
    },
  },
  {
    "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",
      },
      cmake_dap_configuration = {
        name = "(gdb) QEMU MI Attach",
        type = "teachos_qemu_mi",
        request = "launch",
        MIMode = "gdb",
        cwd = workspace_folder,
        miDebuggerServerAddress = "localhost:1234",
        miDebuggerPath = "x86_64-pc-elf-gdb",
        stopAtEntry = true,
      },
    },
  },
  {
    "nvim-neo-tree/neo-tree.nvim",
    opts = {
      filesystem = {
        filtered_items = {
          visible = false,
          hide_gitignored = true,
        },
      },
      nesting_rules = {
        ['cpp_under_hpp'] = {
          pattern = "(.*).hpp",
          files = { "%1.cpp", "%1.tests.cpp", "%1.S" }
        },
        ['tests_under_cpp'] = {
          pattern = "(.*).cpp",
          files = { "%1.tests.cpp" }
        },
      },
    },
  },
}