diff --git a/.github/workflows/luarocks-dev.yaml b/.github/workflows/luarocks-dev.yaml new file mode 100644 index 0000000..cc6faab --- /dev/null +++ b/.github/workflows/luarocks-dev.yaml @@ -0,0 +1,22 @@ +name: luarocks-dev + +on: + push: + branches: [main] + +jobs: + quality: + uses: ./.github/workflows/quality.yaml + + publish: + needs: quality + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: nvim-neorocks/luarocks-tag-release@v7 + env: + LUAROCKS_API_KEY: ${{ secrets.LUAROCKS_API_KEY }} + with: + version: scm diff --git a/lua/forge/init.lua b/lua/forge/init.lua index 906f8e8..8682f9e 100644 --- a/lua/forge/init.lua +++ b/lua/forge/init.lua @@ -714,6 +714,25 @@ function M.config() if user.keys == false then cfg.keys = false end + + vim.validate('forge.sources', cfg.sources, 'table') + vim.validate('forge.keys', cfg.keys, function(v) + return v == false or type(v) == 'table' + end, 'table or false') + vim.validate('forge.display', cfg.display, 'table') + vim.validate('forge.display.icons', cfg.display.icons, 'table') + vim.validate('forge.display.widths', cfg.display.widths, 'table') + vim.validate('forge.display.limits', cfg.display.limits, 'table') + vim.validate('forge.ci', cfg.ci, 'table') + vim.validate('forge.ci.lines', cfg.ci.lines, 'number') + + for name, source in pairs(cfg.sources) do + vim.validate('forge.sources.' .. name, source, 'table') + if source.hosts ~= nil then + vim.validate('forge.sources.' .. name .. '.hosts', source.hosts, 'table') + end + end + return cfg end