From 8cfd7ce2796a9d4b2788d762d514f7fba6700c8e Mon Sep 17 00:00:00 2001
From: ziboh <sharezhou@outlook.com>
Date: Mon, 24 Feb 2025 17:47:17 +0800
Subject: [PATCH 1/5] fix(scoop-completions): correct substring indices to
 properly trim .ps1 extension

---
 custom-completions/scoop/scoop-completions.nu | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/custom-completions/scoop/scoop-completions.nu b/custom-completions/scoop/scoop-completions.nu
index d9b172bfa..7bf805a95 100644
--- a/custom-completions/scoop/scoop-completions.nu
+++ b/custom-completions/scoop/scoop-completions.nu
@@ -117,7 +117,7 @@ def scoopCommands [] {
          [value, description];
          [
            # eg. scoop-help.ps1 -> help
-           ($command.name | path basename | str substring 6..-4),
+           ($command.name | path basename | str substring 6..-5),
            # second line is starts with '# Summary: '
            # eg. '# Summary: Install apps' -> 'Install apps'
            (open $command.name | lines | skip 1 | first | str substring 11..)

From ea5106130009e5c09dc359c04eecb4c6230fd7b2 Mon Sep 17 00:00:00 2001
From: ziboh <sharezhou@outlook.com>
Date: Mon, 24 Feb 2025 21:18:04 +0800
Subject: [PATCH 2/5] fix some scoop completion bugs

---
 custom-completions/scoop/scoop-completions.nu | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/custom-completions/scoop/scoop-completions.nu b/custom-completions/scoop/scoop-completions.nu
index 7bf805a95..6bdff10fc 100644
--- a/custom-completions/scoop/scoop-completions.nu
+++ b/custom-completions/scoop/scoop-completions.nu
@@ -40,7 +40,7 @@ def scoopAllApps [] {
   } else {
     [ $env.USERPROFILE, 'scoop', 'buckets' ] | path join
   }
-  (ls -s $bucketsDir | get name) | each {|bucket| ls ([$bucketsDir, $bucket, 'bucket', '*.json'] | path join ) | get name | path basename | str substring ..-5} | flatten | uniq
+  (ls -s $bucketsDir | get name) | each {|bucket| ls ([$bucketsDir, $bucket, 'bucket']  | path join ) | get name | path parse | where extension == json | get stem } | flatten | uniq
 }
 
 # list of all apps that are not installed
@@ -48,7 +48,7 @@ def scoopAvailableApps [] {
   let all       = (scoopAllApps)
   let installed = (scoopInstalledApps)
 
-  $all | where not $it in $installed
+  $all | where not ($it in $installed)
 }
 
 # list of all config options
@@ -117,7 +117,7 @@ def scoopCommands [] {
          [value, description];
          [
            # eg. scoop-help.ps1 -> help
-           ($command.name | path basename | str substring 6..-5),
+           ($command.name | path parse | get stem |str substring 6..),
            # second line is starts with '# Summary: '
            # eg. '# Summary: Install apps' -> 'Install apps'
            (open $command.name | lines | skip 1 | first | str substring 11..)

From 8905be5fcaf0677e98dc40226ffde9b69475f2a2 Mon Sep 17 00:00:00 2001
From: ziboh <sharezhou@outlook.com>
Date: Mon, 24 Feb 2025 22:36:15 +0800
Subject: [PATCH 3/5] use not-in operator

---
 custom-completions/scoop/scoop-completions.nu | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/custom-completions/scoop/scoop-completions.nu b/custom-completions/scoop/scoop-completions.nu
index 6bdff10fc..479593af1 100644
--- a/custom-completions/scoop/scoop-completions.nu
+++ b/custom-completions/scoop/scoop-completions.nu
@@ -48,7 +48,7 @@ def scoopAvailableApps [] {
   let all       = (scoopAllApps)
   let installed = (scoopInstalledApps)
 
-  $all | where not ($it in $installed)
+  $all | where $it not-in $installed
 }
 
 # list of all config options

From 6f1be602a397cc1640a4492f4f153ec7e1c65d3c Mon Sep 17 00:00:00 2001
From: ziboh <sharezhou@outlook.com>
Date: Tue, 25 Feb 2025 00:26:09 +0800
Subject: [PATCH 4/5] fix some scoop completion function bugs

---
 custom-completions/scoop/scoop-completions.nu | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/custom-completions/scoop/scoop-completions.nu b/custom-completions/scoop/scoop-completions.nu
index 479593af1..b984312b8 100644
--- a/custom-completions/scoop/scoop-completions.nu
+++ b/custom-completions/scoop/scoop-completions.nu
@@ -130,15 +130,7 @@ def scoopCommands [] {
 }
 
 def scoopAliases [] {
-  ^powershell -nop -nol -c "(scoop alias list|ConvertTo-Json -Compress)"
-  | decode
-  | str trim
-  | lines
-  | last
-  | to text
-  | '[' + $in + ']'
-  | from json
-  | get Name
+scoop alias list | str trim | lines | slice 2.. | split column " " | get column1
 }
 
 def batStyles [] {
@@ -658,7 +650,7 @@ export extern "scoop download" [
 ################################################################
 
 def scoopKnownBuckets [] {
-  [ "main", "extras", "versions", "nirsoft", "php", "nerd-fonts", "nonportable", "java", "games" ]
+  [ "main", "extras", "versions", "nirsoft", "php", "nerd-fonts", "nonportable", "java", "games", "sysinternals" ]
 }
 
 def scoopInstalledBuckets [] {
@@ -676,7 +668,7 @@ def scoopAvailableBuckets [] {
   let known     = (scoopKnownBuckets)
   let installed = (scoopInstalledBuckets)
 
-  $known | where not $it in $installed
+  $known | where $it not-in $installed
 }
 
 # Add, list or remove buckets.

From dcfb5d07e95fa100e56cabb82c325537e27ac54f Mon Sep 17 00:00:00 2001
From: ziboh <sharezhou@outlook.com>
Date: Tue, 25 Feb 2025 00:32:55 +0800
Subject: [PATCH 5/5] Add Indentation

---
 custom-completions/scoop/scoop-completions.nu | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/custom-completions/scoop/scoop-completions.nu b/custom-completions/scoop/scoop-completions.nu
index b984312b8..35a6f30cc 100644
--- a/custom-completions/scoop/scoop-completions.nu
+++ b/custom-completions/scoop/scoop-completions.nu
@@ -130,7 +130,7 @@ def scoopCommands [] {
 }
 
 def scoopAliases [] {
-scoop alias list | str trim | lines | slice 2.. | split column " " | get column1
+  scoop alias list | str trim | lines | slice 2.. | split column " " | get column1
 }
 
 def batStyles [] {