refactor(installer): install gotests@develop by default (#95)

* refactor(installer): automatically install gotests@develop

* docs: update
This commit is contained in:
Smirnov Oleksandr 2025-03-21 00:54:04 +02:00 committed by GitHub
parent 55bc5787d1
commit c5cc5080fa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 13 additions and 46 deletions

View file

@ -55,7 +55,6 @@ local default_config = {
---@type string|nil
template_dir = nil,
-- switch table tests from using slice to map (with test name for the key)
-- works only with gotests installed from develop branch
named = false,
},
---@class gopher.ConfigGoTag

View file

@ -19,24 +19,7 @@
---@tag gopher.nvim-gotests-named
---@text
--- You can enable named tests in the config if you prefer using named tests.
--- But you must install `gotests@develop` because the stable version doesn't support this feature.
---
--- >lua
--- -- simply run go get in your shell:
--- go install github.com/cweill/gotests/...@develop
---
--- -- if you want to install it within neovim, you can use one of this:
--- -- if you choose to install gotests this way i reocmmend adding it to your `build` section in your |lazy.nvim|
---
--- vim.fn.jobstart("go install github.com/cweill/gotests/...@develop")
---
--- -- or if you want to use mason:
--- require("mason-tool-installer").setup {
--- ensure_installed = {
--- { "gotests", version = "develop" },
--- }
--- }
--- <
--- See |gopher.nvim-config|.
local c = require "gopher.config"
local ts_utils = require "gopher._utils.ts"

View file

@ -19,7 +19,8 @@ local gopher = {}
---@tag gopher.nvim-setup
---@text Setup function. This method simply merges default config with opts table.
--- You can read more about configuration at |gopher.nvim-config|
--- Calling this function is optional, if you ok with default settings. Look |gopher.nvim.config-defaults|
--- Calling this function is optional, if you ok with default settings.
--- See |gopher.nvim.config-defaults|
---
---@usage `require("gopher").setup {}` (replace `{}` with your `config` table)
---@param user_config gopher.Config
@ -34,6 +35,7 @@ end
---@text Gopher.nvim implements most of its features using third-party tools.
--- To install these tools, you can run `:GoInstallDeps` command
--- or call `require("gopher").install_deps()` if you want to use lua api.
--- By default dependencies will be installed asynchronously, to install them synchronously pass `{sync = true}` as an argument.
gopher.install_deps = require("gopher.installer").install_deps
gopher.impl = require("gopher.impl").impl

View file

@ -5,10 +5,10 @@ local log = require "gopher._utils.log"
local installer = {}
local urls = {
gomodifytags = "github.com/fatih/gomodifytags",
impl = "github.com/josharian/impl",
gotests = "github.com/cweill/gotests/...",
iferr = "github.com/koron/iferr",
gomodifytags = "github.com/fatih/gomodifytags@latest",
impl = "github.com/josharian/impl@latest",
gotests = "github.com/cweill/gotests/...@develop",
iferr = "github.com/koron/iferr@latest",
}
---@param opt vim.SystemCompleted
@ -40,8 +40,7 @@ end
---@param opts? {sync:boolean}
function installer.install_deps(opts)
opts = opts or {}
for pkg, _ in pairs(urls) do
local url = urls[pkg] .. "@latest"
for url, _ in pairs(urls) do
if opts.sync then
install_sync(url)
else