From 86cc03863f91a959fbc477009eaa8e19a917b68a Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 1 Feb 2025 19:55:13 -0600 Subject: [PATCH] plugins/obsidian: move deprecations --- plugins/by-name/obsidian/default.nix | 171 +--------------------- plugins/by-name/obsidian/deprecations.nix | 171 ++++++++++++++++++++++ 2 files changed, 176 insertions(+), 166 deletions(-) create mode 100644 plugins/by-name/obsidian/deprecations.nix diff --git a/plugins/by-name/obsidian/default.nix b/plugins/by-name/obsidian/default.nix index 9cec0ee1..062a0dff 100644 --- a/plugins/by-name/obsidian/default.nix +++ b/plugins/by-name/obsidian/default.nix @@ -14,172 +14,11 @@ lib.nixvim.plugins.mkNeovimPlugin { ## DEPRECATIONS # Introduced 2024-03-12 - # TODO: remove 2024-05-12 - deprecateExtraOptions = true; - optionsRenamedToSettings = [ - "dir" - "logLevel" - "notesSubdir" - [ - "templates" - "subdir" - ] - [ - "templates" - "dateFormat" - ] - [ - "templates" - "timeFormat" - ] - [ - "templates" - "substitutions" - ] - "noteIdFunc" - "followUrlFunc" - "noteFrontmatterFunc" - "disableFrontmatter" - [ - "completion" - "nvimCmp" - ] - [ - "completion" - "minChars" - ] - "mappings" - [ - "dailyNotes" - "folder" - ] - [ - "dailyNotes" - "dateFormat" - ] - [ - "dailyNotes" - "aliasFormat" - ] - [ - "dailyNotes" - "template" - ] - "useAdvancedUri" - "openAppForeground" - "sortBy" - "sortReversed" - "openNotesIn" - [ - "ui" - "enable" - ] - [ - "ui" - "updateDebounce" - ] - [ - "ui" - "externalLinkIcon" - "char" - ] - [ - "ui" - "externalLinkIcon" - "hlGroup" - ] - [ - "ui" - "referenceText" - "hlGroup" - ] - [ - "ui" - "highlightText" - "hlGroup" - ] - [ - "ui" - "tags" - "hlGroup" - ] - [ - "ui" - "hlGroups" - ] - [ - "attachments" - "imgFolder" - ] - [ - "attachments" - "imgTextFunc" - ] - "yamlParser" - { - old = "finder"; - new = [ - "settings" - "picker" - "name" - ]; - } - # https://github.com/epwalsh/obsidian.nvim/blob/656d9c2c64528839db8b2d9a091843b3c90155a2/CHANGELOG.md?plain=1#L184 - { - old = [ - "completion" - "newNotesLocation" - ]; - new = "new_notes_location"; - } - ]; - imports = - let - basePluginPath = [ - "plugins" - "obsidian" - ]; - in - [ - ( - # We have to remove the option here because the user could set old-style camelCase options in each workspaces element. - mkRemovedOptionModule ( - basePluginPath ++ [ "workspaces" ] - ) "Please use `plugins.obsidian.settings.workspaces` instead." - ) - ( - # We have to remove the option here because the user could set old-style camelCase options in each checkbox element. - mkRemovedOptionModule ( - basePluginPath - ++ [ - "ui" - "checkboxes" - ] - ) "Please use `plugins.obsidian.settings.ui.checkboxes` instead." - ) - ] - ++ (map - ( - optionPath: - mkRemovedOptionModule (basePluginPath ++ optionPath) "This option was deprecated by upstream." - ) - [ - [ "detectCwd" ] - [ "backlinks" ] - [ - "completion" - "prependNoteId" - ] - [ - "completion" - "prependNotePath" - ] - [ - "completion" - "usePathOnly" - ] - ] - ); + inherit (import ./deprecations.nix { inherit lib; }) + imports + deprecateExtraOptions + optionsRenamedToSettings + ; settingsOptions = let diff --git a/plugins/by-name/obsidian/deprecations.nix b/plugins/by-name/obsidian/deprecations.nix new file mode 100644 index 00000000..fb038696 --- /dev/null +++ b/plugins/by-name/obsidian/deprecations.nix @@ -0,0 +1,171 @@ +{ lib, ... }: +let + inherit (lib) mkRemovedOptionModule; +in +{ + deprecateExtraOptions = true; + optionsRenamedToSettings = [ + "dir" + "logLevel" + "notesSubdir" + [ + "templates" + "subdir" + ] + [ + "templates" + "dateFormat" + ] + [ + "templates" + "timeFormat" + ] + [ + "templates" + "substitutions" + ] + "noteIdFunc" + "followUrlFunc" + "noteFrontmatterFunc" + "disableFrontmatter" + [ + "completion" + "nvimCmp" + ] + [ + "completion" + "minChars" + ] + "mappings" + [ + "dailyNotes" + "folder" + ] + [ + "dailyNotes" + "dateFormat" + ] + [ + "dailyNotes" + "aliasFormat" + ] + [ + "dailyNotes" + "template" + ] + "useAdvancedUri" + "openAppForeground" + "sortBy" + "sortReversed" + "openNotesIn" + [ + "ui" + "enable" + ] + [ + "ui" + "updateDebounce" + ] + [ + "ui" + "externalLinkIcon" + "char" + ] + [ + "ui" + "externalLinkIcon" + "hlGroup" + ] + [ + "ui" + "referenceText" + "hlGroup" + ] + [ + "ui" + "highlightText" + "hlGroup" + ] + [ + "ui" + "tags" + "hlGroup" + ] + [ + "ui" + "hlGroups" + ] + [ + "attachments" + "imgFolder" + ] + [ + "attachments" + "imgTextFunc" + ] + "yamlParser" + { + old = "finder"; + new = [ + "settings" + "picker" + "name" + ]; + } + # https://github.com/epwalsh/obsidian.nvim/blob/656d9c2c64528839db8b2d9a091843b3c90155a2/CHANGELOG.md?plain=1#L184 + { + old = [ + "completion" + "newNotesLocation" + ]; + new = "new_notes_location"; + } + ]; + imports = + let + basePluginPath = [ + "plugins" + "obsidian" + ]; + in + [ + ( + # We have to remove the option here because the user could set old-style camelCase options in each workspaces element. + mkRemovedOptionModule ( + basePluginPath ++ [ "workspaces" ] + ) "Please use `plugins.obsidian.settings.workspaces` instead." + ) + ( + # We have to remove the option here because the user could set old-style camelCase options in each checkbox element. + mkRemovedOptionModule ( + basePluginPath + ++ [ + "ui" + "checkboxes" + ] + ) "Please use `plugins.obsidian.settings.ui.checkboxes` instead." + ) + ] + ++ (map + ( + optionPath: + mkRemovedOptionModule (basePluginPath ++ optionPath) "This option was deprecated by upstream." + ) + [ + [ "detectCwd" ] + [ "backlinks" ] + [ + "completion" + "prependNoteId" + ] + [ + "completion" + "prependNotePath" + ] + [ + "completion" + "usePathOnly" + ] + ] + ); +}