aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/sources/update_vim_plugins/check-duplicates.sh
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:10:21 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:14:26 +0200
commit368cb6b0d25db2ae23be42ad51584de059997e51 (patch)
tree3282e45d3ebced63c8498a47e83a255c35de620b /pkgs/sources/update_vim_plugins/check-duplicates.sh
parentrefactor(hm): Rename to `modules/home` (diff)
downloadnixos-config-368cb6b0d25db2ae23be42ad51584de059997e51.zip
refactor(sys): Modularize and move to `modules/system` or `pkgs`
Diffstat (limited to 'pkgs/sources/update_vim_plugins/check-duplicates.sh')
-rwxr-xr-xpkgs/sources/update_vim_plugins/check-duplicates.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/sources/update_vim_plugins/check-duplicates.sh b/pkgs/sources/update_vim_plugins/check-duplicates.sh
new file mode 100755
index 00000000..781b8aeb
--- /dev/null
+++ b/pkgs/sources/update_vim_plugins/check-duplicates.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+plugins="$(grep -E "^ [a-zA-Z-]+ =" ./pkgs/vim-plugins.nix | sed -E 's/^ ([a-zA-Z-]+) =.*$/\1/' | sort)"
+count=$(echo "$plugins" | uniq -d | wc -l)
+
+echo "duplicates count: $count"
+
+if [ "$count" -gt 0 ]; then
+ filtered_plugins=$(echo "$plugins" | uniq -d)
+
+ if [ "$1" == "check-only" ]; then
+ echo "$filtered_plugins"
+ exit 1
+ else
+ known_issues=$(gh issue list --state "open" --label "bot" --json "body" | jq -r ".[].body")
+
+ echo "known_issues: $known_issues"
+
+ # iterate over plugins we found missing and
+ # compare them to all open issues.
+ # We no matching issue was found, we create a new one
+ for f in $filtered_plugins; do # do not add " " here. It would break the plugin
+ found=false
+
+ for k in $known_issues; do
+ if [[ $f == "$k" ]]; then
+ found=true
+ break
+ fi
+ done
+
+ # test if matching issue was found
+ if ! $found; then
+ echo "Did not find an issue for $f. Creating a new one ..."
+ gh issue create --title "Detected broken plugin: $f" --label "bot" --body "$f"
+ else
+ echo "Issue for $f already exists"
+ fi
+ done
+ fi
+else
+ echo "No duplicates found"
+fi