Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when using ZkNew from within a zk-buffer. #192

Open
1 of 2 tasks
blastmaster opened this issue Sep 24, 2024 · 2 comments
Open
1 of 2 tasks

Error when using ZkNew from within a zk-buffer. #192

blastmaster opened this issue Sep 24, 2024 · 2 comments
Labels
can't reproduce The reported issue is not reproducible. Clarification is needed from the OP.

Comments

@blastmaster
Copy link

blastmaster commented Sep 24, 2024

Check if applicable

  • I have searched the existing issues (required)
  • I'm willing to help fix the problem and contribute a pull request

Describe the bug

When executing ZKNew commands from inside an zk-buffer in Neovim I'll get an error.
E488: Trailing characters:
The command works fine from any other buffer or a fresh neovim session without any file open.

How to reproduce?

  1. Open any Zk note in Neovim
  2. Try to run :ZkNew with some args.
    No matter if I try to create a new Note using a keymap like that from your Readme:
    map("n", "<leader>zn", "<Cmd>ZkNew { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<CR>", opts)
    or doing things by hand like
    :ZkNew { dir = "journal", date = "today" }.

I'll get the error:
E488: Trailing characters: { dir = "journal", date = "today" }

The same commands and or keymaps work when using them from an non-zk buffer.

zk configuration

# zk configuration file
[note]

template = "default.md"

[extra]


[group.daily]
paths = ["journal/daily"]

[group.daily.note]

filename = "{{format-date now '%Y-%m-%d'}}"
extension = "md"
template = "daily.md"


# MARKDOWN SETTINGS
[format.markdown]

# Enable support for #hashtags.
hashtags = false
# Enable support for :colon:separated:tags:.
colon-tags = true
# Enable support for Bear's #multi-word tags#
# Hashtags must be enabled for multi-word tags to work.
multiword-tags = false

[tool]

editor = "nvim"
fzf-preview = "batcat -p --color always {-1}"


[lsp]

[lsp.diagnostics]
dead-link = "error"

[lsp.completion]

[filter]

[alias]

# Shortcut to a command.
ls = "zk list $@"

# Create a new journal note
daily = 'zk new --no-input "$ZK_NOTEBOOK_DIR/journal/daily"'

conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"'

Neovim configuration

-- zk.lua loaded by lazy
return {
  "zk-org/zk-nvim",
  config = function()
    require("zk").setup({
        -- can be "telescope", "fzf", "fzf_lua", "minipick", or "select" (`vim.ui.select`)
        -- it's recommended to use "telescope", "fzf", "fzf_lua", or "minipick"
        picker = "telescope",

        lsp = {
            -- `config` is passed to `vim.lsp.start_client(config)`
            config = {
                cmd = { "zk", "lsp" },
                name = "zk",
                -- on_attach = ...
                -- etc, see `:h vim.lsp.start_client()`
            },

            -- automatically attach buffers in a zk notebook that match the given filetypes
            auto_attach = {
                enabled = true,
                filetypes = { "markdown" },
            },
        },
    })
  end
}


-- top level init.lua
-- define local options for key-mappigns
local opts = { noremap = true, silent = false }

-- Zettelkasten stuff Keymaps
-- create a new note after asking for the new Title.
vim.api.nvim_set_keymap("n", "<leader>zn", "<Cmd>ZkNew { title = vim.fn.input('Title: ') }<CR>", opts)

-- Open notes.
vim.api.nvim_set_keymap("n", "<leader>zo", "<Cmd>ZkNotes { sort = { 'modified' } }<CR>", opts)
-- Open notes associated with the selected tags.
vim.api.nvim_set_keymap("n", "<leader>zt", "<Cmd>ZkTags<CR>", opts)
-- Search for the notes matching a given query.
-- vim.api.nvim_set_keymap("n", "<leader>zf", "<Cmd>ZkNotes { sort = { 'modified' }, match = { vim.fn.input('Search: ') } }<CR>", opts)
vim.api.nvim_set_keymap("n", "<leader>zf", "<Cmd>ZkNotes { sort = { 'modified' } }<CR>", opts)
-- Search for the notes matching the current visual selection.
vim.api.nvim_set_keymap("v", "<leader>zf", ":'<,'>ZkMatch<CR>", opts)

Environment

zk 0.14.1-11-g4a51e39
system: Linux 6.10.9-amd64 x86_64 GNU/Linux
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1723681758

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info
@tjex
Copy link
Member

tjex commented Sep 24, 2024

I just ran ZkNew { dir = "journal", date = "today" } (replacing dir with a directry I have) without issue.

If they're working from a non-zk buffer then ... I'm confused. Would've expected it to at least be the other way around.

I would ask you to fully close all running instances of neovim, navigate to the root dir of your notebook, and try again.

What happens if you just run :ZkNew?

@tjex
Copy link
Member

tjex commented Sep 24, 2024

Also, there have been a few changes since your zk version. Maybe rebuild just for the sake of it. Latest is zk 0.14.1-23-gbe5bd76

@tjex tjex added the can't reproduce The reported issue is not reproducible. Clarification is needed from the OP. label Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
can't reproduce The reported issue is not reproducible. Clarification is needed from the OP.
Projects
None yet
Development

No branches or pull requests

2 participants