"Attempt to concatenate local 'note_path' (a table value)" upon "ObsidianOpen <char>"
đ Describe the bug
I get the following error when trying to get cmdline completion for ObsidianOpen when inside my Vault or not. I am using cmp and have noice (with cmdline UI) installed, though I don't think that interferes here. With Noice disabled, I get the same error.
îȘ Error 11:50:43 msg_show.lua_error ObsidianOpen N Error executing vim.schedule lua callback: Vim:E5108: Error executing Lua function: ...kages/start/obsidian.nvim/lua/obsidian/commands/init.lua:117: attempt to concatenate local 'note_path' (a table value)
stack traceback:
...kages/start/obsidian.nvim/lua/obsidian/commands/init.lua:117: in function <...kages/start/obsidian.nvim/lua/obsidian/commands/init.lua:85>
[C]: in function 'getcompletion'
...eovimPackages/start/cmp-cmdline/lua/cmp_cmdline/init.lua:136: in function 'exec'
...eovimPackages/start/cmp-cmdline/lua/cmp_cmdline/init.lua:202: in function 'complete'
.../pack/myNeovimPackages/start/nvim-cmp/lua/cmp/source.lua:326: in function 'complete'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/core.lua:299: in function 'complete'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/core.lua:169: in function 'autoindent'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/core.lua:161: in function 'on_change'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/init.lua:346: in function 'callback'
.../myNeovimPackages/start/nvim-cmp/lua/cmp/utils/async.lua:165: in function <.../myNeovimPackages/start/nvim-cmp/lua/cmp/utils/async.lua:163>
stack traceback:
[C]: in function 'getcompletion'
...eovimPackages/start/cmp-cmdline/lua/cmp_cmdline/init.lua:136: in function 'exec'
...eovimPackages/start/cmp-cmdline/lua/cmp_cmdline/init.lua:202: in function 'complete'
.../pack/myNeovimPackages/start/nvim-cmp/lua/cmp/source.lua:326: in function 'complete'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/core.lua:299: in function 'complete'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/core.lua:169: in function 'autoindent'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/core.lua:161: in function 'on_change'
...ir/pack/myNeovimPackages/start/nvim-cmp/lua/cmp/init.lua:346: in function 'callback'
.../myNeovimPackages/start/nvim-cmp/lua/cmp/utils/async.lua:165: in function <.../myNeovimPackages/start/nvim-cmp/lua/cmp/utils/async.lua:163>
Config
require("obsidian").setup({
workspaces = {
{
name = "notes",
path = "~/Documents/Vaults/notes",
},
},
completion = {
nvim_cmp = true,
},
})
and
-- ftplugin/markdown.lua
vim.opt_local.conceallevel = 2
Environment
NVIM v0.10.2
Build type: Release
LuaJIT 2.1.1713773202
Run "nvim -V1 -v" for more info
Obsidian.nvim v3.9.0 (unknown commit)
Status:
âą buffer directory: nil
âą working directory: /home/max/Projects/nvim
Workspaces:
â active workspace: Workspace(name='notes', path='/home/max/Documents/Vaults/notes', root='/home/max/Documents/Vaults/notes')
Dependencies:
â plenary.nvim: unknown
â nvim-cmp: unknown
â telescope.nvim: unknown
Integrations:
â picker: TelescopePicker()
â completion: enabled (nvim-cmp) â refs, â tags, â new
all sources:
âą nvim_lsp
âą nvim_lsp_signature_help
âą luasnip_choice
âą luasnip
âą async_path
Tools:
â rg: ripgrep 14.1.1
Environment:
âą operating system: Linux
Config:
âą notes_subdir: nil
The commit is 14e0427bef6c55da0d63f9a313fd9941be3a2479 (from nixpkgs-unstable) and I can assure you that all dependencies are installed.
Same behavior on ObsidianLink completion
seems cmp-cmdline or nvim-cmp updates broke something
ObsidianNew completion works fine
ensuring note_path is a string and not a table solved this problem for me, about line 117 of lua/obsidian/commands/init.lua
local note_path = assert(tostring(client:vault_relative_path(note.path, { strict = true })))