aboutsummaryrefslogtreecommitdiffstats
path: root/lua/plugins/laravel.lua
blob: 7defe18ad196e7cbf91881effe61bcd87d984559 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
return {
  "adalessa/laravel.nvim",
  dependencies = {
    "rcarriga/nvim-notify",
    "nvim-telescope/telescope.nvim",
    "MunifTanjim/nui.nvim",
  },
  cmd = { "Sail", "Artisan", "Composer", "Npm", "Laravel", "LaravelInfo" },
  keys = {
    { "<leader>la", ":Laravel artisan<cr>", desc = "Laravel Application Commands" },
    { "<leader>lr", ":Laravel routes<cr>", desc = "Laravel Application Routes" },
    {
      "<leader>lt",
      function()
        require("laravel.tinker").send_to_tinker()
      end,
      mode = "v",
      desc = "Laravel Application Routes",
    },
  },
  init = function()
    vim.g.laravel_log_level = "debug"
  end,
  config = function()
    local uid = vim.system({ "id", "-u" }, { text = true }):wait().stdout or "1000"
    local gid = vim.system({ "id", "-g" }, { text = true }):wait().stdout or "1000"

    local user_arg = string.format("%s:%s", vim.trim(uid), vim.trim(gid))

    require("laravel").setup {
      route_info = {
        position = "top",
      },
      environment = {
        environments = {
          ["ao"] = require("laravel.environment.docker_compose").setup {
            container_name = "panel-webserver",
            cmd = { "docker", "compose", "exec", "-u", user_arg, "-it", "panel-webserver" },
          },
        },
      },
    }
    require("telescope").load_extension "laravel"
  end,
}