Skip to content

Commit

Permalink
add cmake-tools, clangd_extensions, and standardize file names
Browse files Browse the repository at this point in the history
  • Loading branch information
mehalter committed Jun 22, 2023
1 parent d202fab commit 5fafb2b
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 20 deletions.
5 changes: 4 additions & 1 deletion lua/astrocommunity/pack/cpp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@

This plugin pack does the following:

- Adds `cpp` `c` Treesitter parser
- Adds `cpp` `c` `objc` `cuda` `proto` Treesitter parsers
- Adds `clangd` language server
- Adds `clang-format` formatter
- Adds [clangd_extensions.nvim](https://github.com/p00f/clangd_extensions.nvim) for language specific tooling
- Adds [cmake-tools.nvim](https://github.com/Civitasv/cmake-tools.nvim) for building and debugging

tips: the offset_encondings of clangd will confilicts whit null-ls, so add the following file in your user_config.

```lua
-- <user_config_path>/lsp/config/clangd.lua
return {
Expand Down
19 changes: 0 additions & 19 deletions lua/astrocommunity/pack/cpp/cpp.lua

This file was deleted.

36 changes: 36 additions & 0 deletions lua/astrocommunity/pack/cpp/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
local utils = require "astronvim.utils"
return {
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
if opts.ensure_installed ~= "all" then
opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed, { "cpp", "c", "objc", "cuda", "proto" })
end
end,
},
{
"williamboman/mason-lspconfig.nvim",
opts = function(_, opts) opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed, "clangd") end,
},
{
"jay-babu/mason-null-ls.nvim",
opts = function(_, opts) opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed, "clang-format") end,
},
{
"p00f/clangd_extensions.nvim",
ft = { "c", "cpp", "objc", "objcpp", "cuda", "proto" },
init = function() utils.list_insert_unique(astronvim.lsp.skip_setup, "clangd") end,
opts = function() return { server = require("astronvim.utils.lsp").config "clangd" } end,
},
{
"Civitasv/cmake-tools.nvim",
ft = { "c", "cpp", "objc", "objcpp", "cuda", "proto" },
dependencies = {
{
"jay-babu/mason-nvim-dap.nvim",
opts = function(_, opts) opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed, "codelldb") end,
},
},
opts = {},
},
}

0 comments on commit 5fafb2b

Please sign in to comment.