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*- %[[x ]%].*") 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/", }, { name = "Notes", path = "~/Workspace/Notes/", }, { name = "PhD Notes", path = "~/Workspace/University/PhD/Notes/", }, }, disable_frontmatter = true, ui = { hl_groups = { ObsidianRefText = { fg = "#61afef" }, } } }, keys = { {"", handle_enter, ft = "markdown" }, {"", ":ObsidianLink", ft = "markdown", mode = "v"}, {"rn", ":ObsidianRename", ft = "markdown" }, {"l", "i- [ ] ", ft = "markdown"}, {"l", "- [ ] ", ft = "markdown", mode = "i" }, {"", ":set nohlsearch/\\[[^\\[\\]]*\\]([^()]*):let @/ = \"\":set hlsearch", ft = "markdown", silent = true }, }, detect_cwd = true, config = function (_, opts) require("obsidian").setup(opts) end }