1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-08 11:36:07 +01:00
nixvim/plugins/by-name/navbuddy/deprecations.nix
saygo-png 92793f84ca plugins/navbuddy: migrate to mkNeovimPlugin
Signed-off-by: saygo-png <saygo.mail@proton.me>
2025-10-11 20:45:54 +00:00

114 lines
2.4 KiB
Nix

lib:
let
inherit (lib)
const
genAttrs
mapAttrs
;
inherit (lib.nixvim) ifNonNull' mkRaw;
in
{
deprecateExtraOptions = true;
optionsRenamedToSettings =
map (lib.splitString ".") [
"window.border"
"window.size"
"window.position"
"window.scrolloff"
"window.sections.left.size"
"window.sections.left.border"
"window.sections.mid.size"
"window.sections.mid.border"
"window.sections.right.border"
"window.sections.right.preview"
"nodeMarkers.enabled"
"nodeMarkers.icons.leaf"
"nodeMarkers.icons.leafSelected"
"nodeMarkers.icons.branch"
"useDefaultMapping"
"lsp.autoAttach"
"lsp.preference"
"sourceBuffer.followNode"
"sourceBuffer.highlight"
"sourceBuffer.reorient"
"sourceBuffer.scrolloff"
]
# Move icons to settings without changing case as icons are PascalCase in the plugin config
++
map
(
x:
genAttrs [ "old" "new" ] (const [
"icons"
x
])
)
[
"File"
"Module"
"Namespace"
"Package"
"Class"
"Method"
"Property"
"Field"
"Constructor"
"Enum"
"Interface"
"Function"
"Variable"
"Constant"
"String"
"Number"
"Boolean"
"Array"
"Object"
"Key"
"Null"
"EnumMember"
"Struct"
"Event"
"Operator"
"TypeParameter"
];
imports =
let
basePathAnd = lib.concat [
"plugins"
"navbuddy"
];
in
[
(lib.mkRemovedOptionModule (basePathAnd [ "keymapsSilent" ]) ''
This option has never had any effect.
Please remove it.
'')
(
let
oldOptPath = basePathAnd [ "mappings" ];
in
lib.mkChangedOptionModule oldOptPath
(basePathAnd [
"settings"
"mappings"
])
(
config:
let
old = lib.getAttrFromPath oldOptPath config;
in
ifNonNull' old (
mapAttrs (
_: action:
if builtins.isString action then mkRaw "require('nvim-navbuddy.actions').${action}()" else action
) old
)
)
)
];
}