diff options
Diffstat (limited to 'nvim')
-rw-r--r-- | nvim/.config/nvim/lua/plugins/lint.lua | 17 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/filetype.lua | 1 | ||||
-rwxr-xr-x | nvim/.local/bin/pkgbuildcheck | 99 |
3 files changed, 115 insertions, 2 deletions
diff --git a/nvim/.config/nvim/lua/plugins/lint.lua b/nvim/.config/nvim/lua/plugins/lint.lua index e72102f..f2b3cfc 100644 --- a/nvim/.config/nvim/lua/plugins/lint.lua +++ b/nvim/.config/nvim/lua/plugins/lint.lua @@ -60,6 +60,18 @@ local M = { })[1] end, }, + shellcheck = { + condition = function() + return not vim.api.nvim_buf_get_name(0):match(".*/PKGBUILD$") + end, + }, + pkgbuildcheck = { + extend = "shellcheck", + cmd = "pkgbuildcheck", + condition = function() + return vim.api.nvim_buf_get_name(0):match(".*/PKGBUILD$") + end, + }, }, }, } @@ -75,7 +87,10 @@ function M:config(opts) local lint = require("lint") lint.linters_by_ft = opts.linters_by_ft vim.iter(opts.linters):each(function(name, linter) - linter = vim.tbl_deep_extend("keep", linter, require("lint").linters[name] or {}, { args = {} }) + linter = vim.tbl_deep_extend("keep", linter, require("lint").linters[linter.extend or name] or {}, { + args = {}, + prepend_args = {}, + }) vim.iter(linter.prepend_args):rev():each(function(arg) table.insert(linter.args, 1, arg) end) diff --git a/nvim/.config/nvim/lua/tobyvin/filetype.lua b/nvim/.config/nvim/lua/tobyvin/filetype.lua index f82e6b9..2f288e9 100644 --- a/nvim/.config/nvim/lua/tobyvin/filetype.lua +++ b/nvim/.config/nvim/lua/tobyvin/filetype.lua @@ -6,7 +6,6 @@ vim.filetype.add({ service = "systemd", }, filename = { - PKGBUILD = "PKGBUILD", tridactylrc = "trytactylrc", }, pattern = { diff --git a/nvim/.local/bin/pkgbuildcheck b/nvim/.local/bin/pkgbuildcheck new file mode 100755 index 0000000..af2bc39 --- /dev/null +++ b/nvim/.local/bin/pkgbuildcheck @@ -0,0 +1,99 @@ +#!/bin/sh + +{ + cat <<-EOF + #!/bin/bash -euET + + # declare variables used by PKGBUILD + srcdir='~!@#$%^&*() /\|' + pkgdir='~!@#$%^&*() /\|' + + # the actual PKGBUILD gets inlined by RUA here + + $(cat) + + # ensure that obligatory PKGBUILD values are defined, and avoid "unused" warning for them: + test "\${pkgname[*]} should be declared in PKGBUILD" + test "\${pkgver[*]} should be declared in PKGBUILD" + test "\${pkgrel[*]} should be declared in PKGBUILD" + test "\${arch[*]} should be declared in PKGBUILD" + + # avoid "unused" warning for optional PKGBUILD variables: + export pkgbase + export epoch + export pkgdesc + export url + export license + export install + export changelog + export source + export source_aarch64 + export source_i686 + export source_x86_64 + export validpgpkeys + export noextract + export md5sums + export md5sums_aarch64 + export md5sums_i686 + export md5sums_x86_64 + export sha1sums + export sha1sums_aarch64 + export sha1sums_i686 + export sha1sums_x86_64 + export sha224sums + export sha224sums_aarch64 + export sha224sums_i686 + export sha224sums_x86_64 + export sha256sums + export sha256sums_aarch64 + export sha256sums_i686 + export sha256sums_x86_64 + export sha384sums + export sha384sums_aarch64 + export sha384sums_i686 + export sha384sums_x86_64 + export sha512sums + export sha512sums_aarch64 + export sha512sums_i686 + export sha512sums_x86_64 + export b2sums + export b2sums_aarch64 + export b2sums_i686 + export b2sums_x86_64 + export groups + export backup + export depends + export depends_aarch64 + export depends_i686 + export depends_x86_64 + export makedepends + export makedepends_aarch64 + export makedepends_i686 + export makedepends_x86_64 + export checkdepends + export checkdepends_aarch64 + export checkdepends_i686 + export checkdepends_x86_64 + export optdepends + export optdepends_aarch64 + export optdepends_i686 + export optdepends_x86_64 + export conflicts + export conflicts_aarch64 + export conflicts_i686 + export conflicts_x86_64 + export provides + export provides_aarch64 + export provides_i686 + export provides_x86_64 + export replaces + export replaces_aarch64 + export replaces_i686 + export replaces_x86_64 + export options + + # avoid "unused" warning for variables defined _for_ PKGBUILD + export srcdir + export pkgdir + EOF +} | shellcheck "$@" |