diff --git a/nvim/lua/plugins/obsidian.lua b/nvim/lua/plugins/obsidian.lua index d9d009e..a621d9e 100644 --- a/nvim/lua/plugins/obsidian.lua +++ b/nvim/lua/plugins/obsidian.lua @@ -1,9 +1,14 @@ -local function open_link() +local function handle_enter() local util = require("obsidian.util") if util.cursor_on_markdown_link(nil, nil, true) then vim.cmd("ObsidianFollowLink") else - util.toggle_checkbox() + local line = vim.api.nvim_get_current_line() + if string.match(line, "^%s*- %[ %].*") then + util.toggle_checkbox() + else + vim.cmd("normal! viw:'<,'>ObsidianLink") + end end end @@ -11,13 +16,6 @@ return { "epwalsh/obsidian.nvim", version = "*", -- recommended, use latest release instead of latest commit ft = "markdown", - -- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault: - -- event = { - -- -- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'. - -- -- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/**.md" - -- "BufReadPre path/to/my-vault/**.md", - -- "BufNewFile path/to/my-vault/**.md", - -- }, dependencies = { "nvim-lua/plenary.nvim" }, opts = { workspaces = { @@ -29,9 +27,11 @@ return { disable_frontmatter = true, }, keys = { - {"", open_link, ft = "markdown" }, - {"gd", open_link, ft = "markdown" }, - {"rn", ":ObsidianRename"}, + {"", handle_enter, ft = "markdown" }, + {"", ":ObsidianLink", ft = "markdown", mode = "v"}, + {"gd", handle_enter, ft = "markdown" }, + {"rn", ":ObsidianRename", ft = "markdown" }, + {"", ":set nohlsearch/\\[[^\\[\\]]*\\]([^()]*):let @/ = \"\":set hlsearch", ft = "markdown", silent = true }, }, detect_cwd = true, }