nvf: add obsidian newNote mapping

This commit is contained in:
ooks-io 2025-01-09 21:56:58 +11:00
parent 308f18cdcd
commit e2a4f1c4bb
2 changed files with 18 additions and 1 deletions

View file

@ -31,6 +31,7 @@ in {
keymaps = [ keymaps = [
(mkKeymap "n" keys.openNote "<cmd>ObsidianOpen<CR>" {desc = mappings.openNote.description;}) (mkKeymap "n" keys.openNote "<cmd>ObsidianOpen<CR>" {desc = mappings.openNote.description;})
(mkKeymap "n" keys.findNote "<cmd>ObsidianQuickSwitch<CR>" {desc = mappings.findNote.description;}) (mkKeymap "n" keys.findNote "<cmd>ObsidianQuickSwitch<CR>" {desc = mappings.findNote.description;})
(mkKeymap "n" keys.newNote "<cmd>ObsidianNewFromTemplate<CR>" {desc = mappings.newNote.description;})
]; ];
}; };
}; };

View file

@ -5,8 +5,9 @@
}: let }: let
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) str nullOr bool enum; inherit (lib.types) str nullOr bool enum;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.binds) mkMappingOption;
inherit (lib.nvim.types) mkPluginSetupOption; inherit (lib.nvim.types) mkPluginSetupOption luaInline;
in { in {
options.vim.notes.obsidianExtended = { options.vim.notes.obsidianExtended = {
enable = mkEnableOption "Complementary neovim plugin for Obsidian editor"; enable = mkEnableOption "Complementary neovim plugin for Obsidian editor";
@ -71,6 +72,20 @@ in {
Either "wiki" or "markdown" Either "wiki" or "markdown"
''; '';
}; };
note_id_func = mkOption {
type = nullOr luaInline;
default =
mkLuaInline
# lua
''
function(title)
return title
end
'';
description = ''
Customize how a note ID is generated given an optional title
'';
};
ui = { ui = {
enable = mkOption { enable = mkOption {
type = nullOr bool; type = nullOr bool;
@ -85,6 +100,7 @@ in {
mappings = { mappings = {
openNote = mkMappingOption "Open note in obsidian" "<leader>oo"; openNote = mkMappingOption "Open note in obsidian" "<leader>oo";
findNote = mkMappingOption "Open finder in obsidian vault" "<leader>of"; findNote = mkMappingOption "Open finder in obsidian vault" "<leader>of";
newNote = mkMappingOption "Create new note" "<leader>on";
}; };
}; };
} }