all repos

gopher.nvim @ c1de269

Minimalistic plugin for Go development

gopher.nvim/lua/gopher/goget.lua(view raw)

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
local Job = require "plenary.job"

return function(...)
  local args = { ... }
  for i, arg in ipairs(args) do
    local m = string.match(arg, "^https://(.*)$") or string.match(arg, "^http://(.*)$") or arg
    table.remove(args, i)
    table.insert(args, i, m)
  end

  local cmd_args = vim.list_extend({ "get" }, args)

  Job
    :new({
      command = "go",
      args = cmd_args,
      on_exit = function(_, retval)
        if retval ~= 0 then
          print("command exited with code " .. retval)
          return
        else
          print "command runs successfully"
        end
      end,
    })
    :start()
end