local function handle_enter() local util = require("obsidian.util") if util.cursor_on_markdown_link(nil, nil, true) then vim.cmd("ObsidianFollowLink") else 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 return { "epwalsh/obsidian.nvim", version = "*", -- recommended, use latest release instead of latest commit ft = "markdown", dependencies = { "nvim-lua/plenary.nvim" }, opts = { workspaces = { { name = "Lumentis", path = "~/Workspace/DnD/Lumentis Campaign Setting/", }, }, disable_frontmatter = true, }, keys = { {"", 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, }