mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
plugins/clangd-extensions: convert to mkNeovimPlugin
Wrap code in backticks Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> Surround right_aling with backticks Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> Set default of `inline` to true since we are on nvim >= 0.10 Document `highlights` Use `mkUnsignedInt` Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> Improve warning Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> Readd deprecated options Document icons Rename removed-options.nix to deprecations.nix Reformat raw string Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> Don't specify rawLua Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> Use mkDefault and make utf-16 workaround leaner Don't wrap warning Co-authored-by: Matt Sturgeon <matt@sturgeon.me.uk> Change by -> after Co-authored-by: Matt Sturgeon <matt@sturgeon.me.uk> Document border options
This commit is contained in:
parent
56877b8f76
commit
35d6c12626
4 changed files with 333 additions and 290 deletions
|
@ -1,271 +1,164 @@
|
||||||
{
|
{ config, lib, ... }:
|
||||||
lib,
|
|
||||||
helpers,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
cfg = config.plugins.clangd-extensions;
|
inherit (lib.nixvim) defaultNullOpts;
|
||||||
|
inherit (lib) types mapAttrs;
|
||||||
basePluginPath = [
|
|
||||||
"plugins"
|
|
||||||
"clangd-extensions"
|
|
||||||
];
|
|
||||||
|
|
||||||
borderOpt = helpers.defaultNullOpts.mkBorder "none" "clangd-extensions" "";
|
|
||||||
in
|
in
|
||||||
{
|
lib.nixvim.plugins.mkNeovimPlugin {
|
||||||
# All of those warnings were introduced on 08/22/2023.
|
name = "clangd-extensions";
|
||||||
# TODO: Remove them in ~2 months (Oct. 2023).
|
moduleName = "clangd_extensions";
|
||||||
imports =
|
packPathName = "clangd_extensions.nvim";
|
||||||
[
|
package = "clangd_extensions-nvim";
|
||||||
(mkRemovedOptionModule (basePluginPath ++ [ "server" ]) ''
|
description = ''
|
||||||
To configure the `clangd` language server options, please use
|
Clangd's off-spec features for neovim's LSP client.
|
||||||
`plugins.lsp.servers.clangd.extraSettings`.
|
|
||||||
'')
|
|
||||||
(mkRemovedOptionModule (
|
|
||||||
basePluginPath
|
|
||||||
++ [
|
|
||||||
"extensions"
|
|
||||||
"autoSetHints"
|
|
||||||
]
|
|
||||||
) "")
|
|
||||||
]
|
|
||||||
++ (map
|
|
||||||
(
|
|
||||||
optionPath:
|
|
||||||
mkRenamedOptionModule (basePluginPath ++ [ "extensions" ] ++ optionPath) (
|
|
||||||
basePluginPath ++ optionPath
|
|
||||||
)
|
|
||||||
)
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"inline"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"onlyCurrentLine"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"onlyCurrentLineAutocmd"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"showParameterHints"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"parameterHintsPrefix"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"otherHintsPrefix"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"maxLenAlign"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"maxLenAlignPadding"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"rightAlign"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"rightAlignPadding"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"highlight"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"inlayHints"
|
|
||||||
"priority"
|
|
||||||
]
|
|
||||||
[ "ast" ]
|
|
||||||
[ "memoryUsage" ]
|
|
||||||
[ "symbolInfo" ]
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
options.plugins.clangd-extensions = lib.nixvim.plugins.neovim.extraOptionsOptions // {
|
|
||||||
enable = mkEnableOption "clangd_extensions, plugins implementing clangd LSP extensions";
|
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs "clangd_extensions.nvim" {
|
|
||||||
default = [
|
|
||||||
"vimPlugins"
|
|
||||||
"clangd_extensions-nvim"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
enableOffsetEncodingWorkaround = mkEnableOption ''
|
|
||||||
utf-16 offset encoding. This is used to work around the warning:
|
|
||||||
"multiple different client offset_encodings detected for buffer, this is not supported yet"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inlayHints = {
|
maintainers = [ lib.maintainers.jolars ];
|
||||||
inline = helpers.defaultNullOpts.mkLua ''vim.fn.has("nvim-0.10") == 1'' ''
|
|
||||||
|
# All of those warnings were introduced on 08/22/2023.
|
||||||
|
# TODO: Remove them in ~2 months (Oct. 2023).
|
||||||
|
imports = [ ./deprecations.nix ];
|
||||||
|
|
||||||
|
# TODO: introduced 2025-01-08: remove after 25.05
|
||||||
|
optionsRenamedToSettings = import ./renamed-options.nix;
|
||||||
|
|
||||||
|
settingsOptions =
|
||||||
|
let
|
||||||
|
mkBorderOpt = defaultNullOpts.mkBorder "none" "clangd-extensions";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
inlay_hints = {
|
||||||
|
inline = defaultNullOpts.mkBool true ''
|
||||||
Show hints inline.
|
Show hints inline.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
onlyCurrentLine = helpers.defaultNullOpts.mkBool false "Only show inlay hints for the current line";
|
only_current_line = defaultNullOpts.mkBool false ''
|
||||||
|
Only show inlay hints for the current line.
|
||||||
onlyCurrentLineAutocmd = helpers.defaultNullOpts.mkStr "CursorHold" ''
|
|
||||||
Event which triggers a refersh of the inlay hints.
|
|
||||||
You can make this "CursorMoved" or "CursorMoved,CursorMovedI" but
|
|
||||||
not that this may cause higher CPU usage.
|
|
||||||
This option is only respected when `onlyCurrentLine` is true.
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
showParameterHints = helpers.defaultNullOpts.mkBool true ''
|
only_current_line_autocmd = defaultNullOpts.mkListOf types.str [ "CursorHold" ] ''
|
||||||
|
Event which triggers a refresh of the inlay hints. You can make this
|
||||||
|
`[ "CursorMoved" ]` or `[ "CursorMoved" "CursorMovedI" ]` but not that this may cause
|
||||||
|
higher CPU usage. This option is only respected when `only_current_line`
|
||||||
|
is true.
|
||||||
|
'';
|
||||||
|
|
||||||
|
show_parameter_hints = defaultNullOpts.mkBool true ''
|
||||||
Whether to show parameter hints with the inlay hints or not.
|
Whether to show parameter hints with the inlay hints or not.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
parameterHintsPrefix = helpers.defaultNullOpts.mkStr "<- " "Prefix for parameter hints.";
|
parameter_hints_prefix = defaultNullOpts.mkStr "<- " "Prefix for parameter hints.";
|
||||||
|
|
||||||
otherHintsPrefix = helpers.defaultNullOpts.mkStr "=> " "Prefix for all the other hints (type, chaining).";
|
other_hints_prefix = defaultNullOpts.mkStr "=> " ''
|
||||||
|
Prefix for all the other hints (type, chaining).
|
||||||
|
'';
|
||||||
|
|
||||||
maxLenAlign = helpers.defaultNullOpts.mkBool false ''
|
max_len_align = defaultNullOpts.mkBool false ''
|
||||||
Whether to align to the length of the longest line in the file.
|
Whether to align to the length of the longest line in the file.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
maxLenAlignPadding = helpers.defaultNullOpts.mkInt 1 ''
|
max_len_align_padding = defaultNullOpts.mkPositiveInt 1 ''
|
||||||
Padding from the left if max_len_align is true.
|
Padding from the left if max_len_align is true.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
rightAlign = helpers.defaultNullOpts.mkBool false ''
|
right_align = defaultNullOpts.mkBool false ''
|
||||||
Whether to align to the extreme right or not.
|
Whether to align to the extreme right or not.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
rightAlignPadding = helpers.defaultNullOpts.mkInt 7 ''
|
right_align_padding = defaultNullOpts.mkPositiveInt 7 ''
|
||||||
Padding from the right if right_align is true.
|
Padding from the right if `right_align` is true.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
highlight = helpers.defaultNullOpts.mkStr "Comment" "The color of the hints.";
|
highlight = defaultNullOpts.mkStr "Comment" "The color of the hints.";
|
||||||
|
|
||||||
priority = helpers.defaultNullOpts.mkInt 100 "The highlight group priority for extmark.";
|
priority = defaultNullOpts.mkUnsignedInt 100 "The highlight group priority for extmark.";
|
||||||
};
|
};
|
||||||
|
|
||||||
ast = {
|
ast = {
|
||||||
roleIcons = mapAttrs (name: default: helpers.defaultNullOpts.mkStr default "") {
|
role_icons =
|
||||||
|
mapAttrs (name: default: defaultNullOpts.mkStr default "Icon for the `${name}` role.")
|
||||||
|
{
|
||||||
type = "🄣";
|
type = "🄣";
|
||||||
declaration = "🄓";
|
declaration = "🄓";
|
||||||
expression = "🄔";
|
expression = "🄔";
|
||||||
statement = ";";
|
statement = ";";
|
||||||
specifier = "🄢";
|
specifier = "🄢";
|
||||||
templateArgument = "🆃";
|
"template argument" = "🆃";
|
||||||
};
|
};
|
||||||
|
|
||||||
kindIcons = mapAttrs (name: default: helpers.defaultNullOpts.mkStr default "") {
|
kind_icons = mapAttrs (name: default: defaultNullOpts.mkStr default "`${name}` icon.") {
|
||||||
compound = "🄲";
|
Compound = "🄲";
|
||||||
recovery = "🅁";
|
Cecovery = "🅁";
|
||||||
translationUnit = "🅄";
|
TranslationUnit = "🅄";
|
||||||
packExpansion = "🄿";
|
PackExpansion = "🄿";
|
||||||
templateTypeParm = "🅃";
|
TemplateTypeParm = "🅃";
|
||||||
templateTemplateParm = "🅃";
|
TemplateTemplateParm = "🅃";
|
||||||
templateParamObject = "🅃";
|
TemplateParamObject = "🅃";
|
||||||
};
|
};
|
||||||
|
|
||||||
highlights = {
|
highlights = {
|
||||||
detail = helpers.defaultNullOpts.mkStr "Comment" "";
|
detail = defaultNullOpts.mkStr "Comment" "The color of the hints.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
memoryUsage = {
|
memory_usage = {
|
||||||
border = borderOpt;
|
border = mkBorderOpt ''
|
||||||
|
Border character for memory usage window.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
symbolInfo = {
|
symbol_info = {
|
||||||
border = borderOpt;
|
border = mkBorderOpt ''
|
||||||
|
Border character for symbol info window.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
extraOptions = {
|
||||||
let
|
enableOffsetEncodingWorkaround = lib.mkEnableOption ''
|
||||||
setupOptions =
|
UTF-16 offset encoding. This is used to work around the warning:
|
||||||
with cfg;
|
"multiple different client offset_encodings detected for buffer, this is
|
||||||
{
|
not supported yet".
|
||||||
inlay_hints = with inlayHints; {
|
'';
|
||||||
inherit inline;
|
|
||||||
only_current_line = onlyCurrentLine;
|
|
||||||
only_current_line_autocmd = onlyCurrentLineAutocmd;
|
|
||||||
show_parameter_hints = showParameterHints;
|
|
||||||
parameter_hints_prefix = parameterHintsPrefix;
|
|
||||||
other_hints_prefix = otherHintsPrefix;
|
|
||||||
max_len_align = maxLenAlign;
|
|
||||||
max_len_align_padding = maxLenAlignPadding;
|
|
||||||
right_align = rightAlign;
|
|
||||||
right_align_padding = rightAlignPadding;
|
|
||||||
inherit highlight priority;
|
|
||||||
};
|
};
|
||||||
ast = with ast; {
|
|
||||||
role_icons = with roleIcons; {
|
extraConfig = cfg: {
|
||||||
inherit
|
warnings = lib.optionals (!config.plugins.lsp.enable) ''
|
||||||
type
|
Nixvim (plugins.clangd-extensions): You have enabled `clangd-extensions` but not the lsp (`plugins.lsp`).
|
||||||
declaration
|
|
||||||
expression
|
|
||||||
statement
|
|
||||||
specifier
|
|
||||||
;
|
|
||||||
"template argument" = templateArgument;
|
|
||||||
};
|
|
||||||
kind_icons = with kindIcons; {
|
|
||||||
Compound = compound;
|
|
||||||
Recovery = recovery;
|
|
||||||
TranslationUnit = translationUnit;
|
|
||||||
PackExpansion = packExpansion;
|
|
||||||
TemplateTypeParm = templateTypeParm;
|
|
||||||
TemplateTemplateParm = templateTemplateParm;
|
|
||||||
TemplateParamObject = templateParamObject;
|
|
||||||
};
|
|
||||||
highlights = with highlights; {
|
|
||||||
inherit detail;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
memory_usage = with memoryUsage; {
|
|
||||||
inherit border;
|
|
||||||
};
|
|
||||||
symbol_info = with symbolInfo; {
|
|
||||||
inherit border;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// cfg.extraOptions;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
warnings = optional (!config.plugins.lsp.enable) ''
|
|
||||||
You have enabled `clangd-extensions` but not the lsp (`plugins.lsp`).
|
|
||||||
You should set `plugins.lsp.enable = true` to make use of the clangd-extensions' features.
|
You should set `plugins.lsp.enable = true` to make use of the clangd-extensions' features.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
plugins.lsp = {
|
plugins.lsp = {
|
||||||
servers.clangd = {
|
servers.clangd = {
|
||||||
# Enable the clangd language server
|
enable = lib.mkDefault true;
|
||||||
enable = true;
|
|
||||||
|
|
||||||
extraOptions = mkIf cfg.enableOffsetEncodingWorkaround {
|
extraOptions = lib.mkIf cfg.enableOffsetEncodingWorkaround {
|
||||||
capabilities = {
|
capabilities.__raw = ''
|
||||||
__raw = "__clangdCaps";
|
vim.tbl_deep_extend(
|
||||||
};
|
"force",
|
||||||
};
|
vim.lsp.protocol.make_client_capabilities(),
|
||||||
};
|
{
|
||||||
|
offsetEncoding = { "utf-16" }
|
||||||
preConfig = optionalString cfg.enableOffsetEncodingWorkaround ''
|
}
|
||||||
local __clangdCaps = vim.lsp.protocol.make_client_capabilities()
|
)
|
||||||
__clangdCaps.offsetEncoding = { "utf-16" }
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
extraPlugins = [ cfg.package ];
|
settingsExample = {
|
||||||
|
inlay_hints = {
|
||||||
plugins.lsp.postConfig = ''
|
inline = true;
|
||||||
require("clangd_extensions").setup(${lib.nixvim.toLuaObject setupOptions})
|
};
|
||||||
'';
|
ast = {
|
||||||
|
role_icons = {
|
||||||
|
type = "";
|
||||||
|
declaration = "";
|
||||||
|
expression = "";
|
||||||
|
specifier = "";
|
||||||
|
statement = "";
|
||||||
|
"template argument" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
85
plugins/by-name/clangd-extensions/deprecations.nix
Normal file
85
plugins/by-name/clangd-extensions/deprecations.nix
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkRemovedOptionModule mkRenamedOptionModule;
|
||||||
|
basePluginPath = [
|
||||||
|
"plugins"
|
||||||
|
"clangd-extensions"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
(mkRemovedOptionModule (basePluginPath ++ [ "server" ]) ''
|
||||||
|
To configure the `clangd` language server options, please use
|
||||||
|
`plugins.lsp.servers.clangd.extraSettings`.
|
||||||
|
'')
|
||||||
|
(mkRemovedOptionModule (
|
||||||
|
basePluginPath
|
||||||
|
++ [
|
||||||
|
"extensions"
|
||||||
|
"autoSetHints"
|
||||||
|
]
|
||||||
|
) "")
|
||||||
|
]
|
||||||
|
++ (map
|
||||||
|
(
|
||||||
|
optionPath:
|
||||||
|
mkRenamedOptionModule (basePluginPath ++ [ "extensions" ] ++ optionPath) (
|
||||||
|
basePluginPath ++ optionPath
|
||||||
|
)
|
||||||
|
)
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"inline"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"onlyCurrentLine"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"onlyCurrentLineAutocmd"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"showParameterHints"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"parameterHintsPrefix"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"otherHintsPrefix"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"maxLenAlign"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"maxLenAlignPadding"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"rightAlign"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"rightAlignPadding"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"highlight"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"inlayHints"
|
||||||
|
"priority"
|
||||||
|
]
|
||||||
|
[ "ast" ]
|
||||||
|
[ "memoryUsage" ]
|
||||||
|
[ "symbolInfo" ]
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
33
plugins/by-name/clangd-extensions/renamed-options.nix
Normal file
33
plugins/by-name/clangd-extensions/renamed-options.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
let
|
||||||
|
inlayHintsOptions = [
|
||||||
|
"inline"
|
||||||
|
"onlyCurrentLine"
|
||||||
|
"onlyCurrentLineAutocmd"
|
||||||
|
"showParameterHints"
|
||||||
|
"parameterHintsPrefix"
|
||||||
|
"otherHintsPrefix"
|
||||||
|
"maxLenAlign"
|
||||||
|
"maxLenAlignPadding"
|
||||||
|
"rightAlign"
|
||||||
|
"rightAlignPadding"
|
||||||
|
"highlight"
|
||||||
|
"priority"
|
||||||
|
];
|
||||||
|
astOptions = [
|
||||||
|
"roleIcons"
|
||||||
|
"kindIcons"
|
||||||
|
"highlights"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"memoryUsage"
|
||||||
|
"symbolInfo"
|
||||||
|
]
|
||||||
|
++ map (oldOption: [
|
||||||
|
"inlayHints"
|
||||||
|
oldOption
|
||||||
|
]) inlayHintsOptions
|
||||||
|
++ map (oldOption: [
|
||||||
|
"ast"
|
||||||
|
oldOption
|
||||||
|
]) astOptions
|
|
@ -14,49 +14,81 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
enableOffsetEncodingWorkaround = true;
|
enableOffsetEncodingWorkaround = true;
|
||||||
inlayHints = {
|
|
||||||
inline = ''vim.fn.has("nvim-0.10") == 1'';
|
settings = {
|
||||||
onlyCurrentLine = false;
|
inlay_hints = {
|
||||||
onlyCurrentLineAutocmd = "CursorHold";
|
inline = true;
|
||||||
showParameterHints = true;
|
only_current_line = false;
|
||||||
parameterHintsPrefix = "<- ";
|
only_current_line_autocmd = [ "CursorHold" ];
|
||||||
otherHintsPrefix = "=> ";
|
show_parameter_hints = true;
|
||||||
maxLenAlign = false;
|
parameter_hints_prefix = "<- ";
|
||||||
maxLenAlignPadding = 1;
|
other_hints_prefix = "=> ";
|
||||||
rightAlign = false;
|
max_len_align = false;
|
||||||
rightAlignPadding = 7;
|
max_len_align_padding = 1;
|
||||||
|
right_align = false;
|
||||||
|
right_align_padding = 7;
|
||||||
highlight = "Comment";
|
highlight = "Comment";
|
||||||
priority = 100;
|
priority = 100;
|
||||||
};
|
};
|
||||||
ast = {
|
ast = {
|
||||||
roleIcons = {
|
role_icons = {
|
||||||
type = "🄣";
|
type = "🄣";
|
||||||
declaration = "🄓";
|
declaration = "🄓";
|
||||||
expression = "🄔";
|
expression = "🄔";
|
||||||
statement = ";";
|
statement = ";";
|
||||||
specifier = "🄢";
|
specifier = "🄢";
|
||||||
templateArgument = "🆃";
|
"template argument" = "🆃";
|
||||||
};
|
};
|
||||||
kindIcons = {
|
kind_icons = {
|
||||||
compound = "🄲";
|
Compound = "🄲";
|
||||||
recovery = "🅁";
|
Recovery = "🅁";
|
||||||
translationUnit = "🅄";
|
TranslationUnit = "🅄";
|
||||||
packExpansion = "🄿";
|
PackExpansion = "🄿";
|
||||||
templateTypeParm = "🅃";
|
TemplateTypeParm = "🅃";
|
||||||
templateTemplateParm = "🅃";
|
TemplateTemplateParm = "🅃";
|
||||||
templateParamObject = "🅃";
|
TemplateParamObject = "🅃";
|
||||||
};
|
};
|
||||||
highlights = {
|
highlights = {
|
||||||
detail = "Comment";
|
detail = "Comment";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
memoryUsage = {
|
memory_usage = {
|
||||||
border = "none";
|
border = "none";
|
||||||
};
|
};
|
||||||
symbolInfo = {
|
symbol_info = {
|
||||||
border = "none";
|
border = "none";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
example = {
|
||||||
|
plugins = {
|
||||||
|
lsp.enable = true;
|
||||||
|
clangd-extensions = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
inlay_hints = {
|
||||||
|
inline = false;
|
||||||
|
only_current_line_autocmd = [
|
||||||
|
"CursorMoved"
|
||||||
|
"CursorMovedI"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
ast = {
|
||||||
|
role_icons = {
|
||||||
|
type = "";
|
||||||
|
declaration = "";
|
||||||
|
expression = "";
|
||||||
|
specifier = "";
|
||||||
|
statement = "";
|
||||||
|
"template argument" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue