A Neovim plugin for more efficient navigation in framework projects.
This plugin provides specific movements for frontend navigation patterns.
- Sveltekit
- Next.Next.js
Add support for frameworks with simular type of navigation, like next.js approuter.
- [] Add navigation to error file
- [] Add toggle for hooks files
- [] Add toggle for layout files
- [] Next.js app router
While working with frameworks like SvelteKit, I found myself constantly jumping between related files:
- Switching between
+page.svelte
and its corresponding+page.server.ts
- Jumping to the closest +layout.svelte upwards in the filetree.
Telescope & harpoon doesn't really solve this because this is depenent on the file you currently are in.
- Toggle between client & server
- Jump to the nearest parent
+layout.svelte
file & upwards
Using lazy.nvim:
return {
"rossvold/frontend-movements.nvim",
config = function()
require("sveltekit-movements").setup()
end
}
Default keymaps:
<leader>sc
- Jump to nearest parent+layout.svelte
<leader>ss
- Jump to+page.server.ts/js
<leader>sl
- Jump to nearest parent+layout.svelte
<leader>sh
- Jump to nearest parent+hooks.server.ts
<leader>sa
- Toggle between+page.svelte
and+page.server.ts
The plugin can be configured through the setup function. The default configuration is:
require("sveltekit-movements").setup({
-- default keybinds
-- Jump to spesific file
page_keymap = '<Leader>sc', -- Jump to +page.svelte
server_keymap = '<Leader>ss', -- Jump to +page.server.ts
layout_keymap = '<leader>sl', -- Jump to nearest layout file
hooks_keymap = '<leader>sh', -- Jump to nearest hooks file
-- Toggles
toggle_keymap = '<Leader>sa', -- Alternate between page/server
})
You can customize these keybindings to your preference by modifying the keymap values.
MIT, do whatever bro