Skip to content

Instantly share code, notes, and snippets.

@adalessa
Created December 4, 2024 16:56
Show Gist options
  • Save adalessa/3cf73da800185a62cbc34040d07eb40f to your computer and use it in GitHub Desktop.
Save adalessa/3cf73da800185a62cbc34040d07eb40f to your computer and use it in GitHub Desktop.
Laravel menu for neovim using menu and laravel.nvim
vim.keymap.set({ "n" }, "<leader>m", function()
local app = require("laravel").app
require("menu").open({
{
name = "󰤑 Run Tests",
hl = "@conditional",
cmd = function()
app("runner"):run("artisan", { "test" })
end,
rtxt = "t",
},
{ name = "separator" },
{
name = " Artisan",
cmd = function()
app("pickers"):run("artisan")
end,
rtxt = "a",
},
{
name = " Make Commands",
cmd = function()
app("pickers"):run("make")
end,
rtxt = "m",
},
{
name = " Related Models",
cmd = function()
app("pickers"):run("related")
end,
rtxt = "r",
},
{ name = "separator" },
{
name = "󰗂 Fresh Database",
hl = "@comment.error",
cmd = function()
app("runner"):run("artisan", { "migrate:fresh", "--seed" })
end,
rtxt = "f",
},
{ name = "separator" },
{
name = "󰍺 Solo",
cmd = function()
Snacks.terminal.toggle(table.concat(app("api"):generate_command("artisan", { "solo" }), " "), {
interactive = true,
win = {
keys = {
hide = {
"<leader>q",
function(self)
self:hide()
end,
mode = "t",
},
},
},
})
end,
rtxt = "s",
},
{ name = "separator" },
{
name = " Color Picker",
hl = "@comment.warning",
cmd = function()
require("minty.huefy").open()
end,
rtxt = "p",
},
})
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment