10ab2911d35c84c120bae8f4e103b087fe19ce08

Author
Andrea Nanni <37385837+ananni13@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date

Message

sdk: add support for local versions and optimize sed calls (#7870)

* Added support for local sdk versions

Added support for local versions (prefixed by '+'), so they are filtered out in _listInstallableVersions() and they are displayed correctly by _listAllVersion()

* Optimize sed calls

Co-authored-by: Marc Cornellà <marc.cornella@live.com>

Diff

 1diff --git a/plugins/sdk/sdk.plugin.zsh b/plugins/sdk/sdk.plugin.zsh
 2index d00459b16850e2120028e0e105f7b56d46b0ebc4..13876bfd065a8a2ad4ba7d6a2818169c0b4d29b7 100644
 3--- a/plugins/sdk/sdk.plugin.zsh
 4+++ b/plugins/sdk/sdk.plugin.zsh
 5@@ -51,12 +51,13 @@ _listInstalledVersions() {
 6 }
 7 
 8 _listInstallableVersions() {
 9-  __sdkman_list_versions $1 | grep "^ " | sed -e "s/\* /*/g" | \
10-      sed -e "s/>//g" | xargs -n 1 echo | grep -v "^*"
11+  # Remove local (+) and installed (*) versions from the list
12+  __sdkman_list_versions $1 | sed -e '/^[^ ]/d;s/[+*] [^ ]\+//g;s/>//g'
13 }
14 
15 _listAllVersion() {
16-  __sdkman_list_versions $1 | grep "^ " | sed -e "s/\*/ /g" | sed -e "s/>//g"
17+  # Remove (*), (+), and (>) characters from the list
18+  __sdkman_list_versions $1 | sed -e '/^[^ ]/d;s/[*+>] //g'
19 }
20 
21 _sdk () {