Skip to content

Latest commit

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

This is a Neovim-only plugin containing a function to return a path to access the value under the cursor by using treesitter. It may help you understand how to access even deeply nested values in JSON files.

A "JSON path" is a jq-like expression, such as . for root, .[0] for the first array item, .name for the property "name" of an object.

jsonpath-nvim-demo.webm

Colorscheme is vim-moonfly-colors

Dependencies

Usage

Using lua:

-- in after/ftplugin/json.lua-- show json path in the winbarifvim.fn.exists("+winbar") ==1thenvim.opt_local.winbar="%{%v:lua.require'jsonpath'.get()%}"end-- send json path to clipboardvim.keymap.set("n", "y<C-p>", function()
vim.fn.setreg("+", require("jsonpath").get())
end, { desc="copy json path", buffer=true })

Using vim:

" in after/ftplugin/json.vim" show json path in the winbarifexists('+winbar')
setlocal winbar=%{luaeval('require\"jsonpath\".get()')}
endif" send json path to clipboardnnoremap<buffer>y<C-p>:let @+=luaeval('require"jsonpath".get()')<CR>

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages