@@ -1,181 +1,199 @@
-----BEGIN AGE ENCRYPTED FILE-----
-YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IEhBV2NqUSBBZ2QwcGpX
-bFB2MWpVM3hheE5vcVA3enovK3V3NGQ2MVhZSzdJdWk4bjk3dQozekpiMkdiRFlS
-NG5JTnVOVGxwT2UyNEtSOUxUU3R3U0NtNGhSM0R4N2d3Ci0+IHBpdi1wMjU2IHBE
-YXpSZyBBcVB6TkROeFRhd0xoNTBGank5QzlHMllORGw0RlRaNVlGUEhQWlk3cnhk
-TAo5Z0EwdzFtdG5tN0dZYVpGT1ZYaTdiNVhpWWN3ZDRUVlRqemQ2OWFKTlBVCi0+
-IFUjbCQ/LWdyZWFzZSBBVipcTSAqRApTU0NqRi82eDVoU1YzWUdUS3hLM2xNQlJj
-eGpIVEVnUFdDZHBxUC9VcVpPK1FJTUhPVlUyd1Z6TG54Y0h4eTlVCkFXTzlLcTk0
-RFdpaFJZUjNrUlBhbUVzbWR2aDhOd21xS3YvTVQ0VDlyOGttVnlaYi92d2E0VGsy
-YUFBCi0tLSBKNmlaN3NuSk5XZkZLb2o0S3M5ZlVvaEJXMzRaRjJwQ2tMbytUVElj
-dW9FCthvjmrD2Dgs/iDgv26GndVw0uPbuWF5LArI2b47RUIeJb+P/9EqXqF5H5kQ
-yEEsMsPZSoWpxY/h4Bmn4ltIwNndTPSCgxCk+wCkc6RR6MNsi5EcF8haI8rcSc76
-6eMNq+ZC8Zj0XGtjje16Zw8mnx3m74+ewm6JqbEwd7Zkaf7ylTsLa7G3JvPw0Fan
-8vJ4dyADKafCQHVHDKlys3vFes9t6lzKNzlektoQePRiJePUHZkKxeDguFOXkErK
-dEWcel7MH/53dTnun8olL0FIn8YIh16kMo9ohX5oDZARUouqzDTwFkfnGVOC0BPm
-ujoNw4GxuruczjP/zrixIYwtwRHt1wU9WJytW2hVrWJkl7RjVcZIAJzN+ETbNkx5
-R9XPews9/4g9c423c6JxXPbX7sXwlKDIVrm4HXitDeuXKX+rSgxqCl59NK9qsARM
-ic76P6cQU8oYe7L++7yTNRYwdzAPwC80S+EStANkXhx4ruclpUYbxmYHKdUz5blr
-7d8FH8sDtwGMWp3WAyTh3tghbIuNVubAz7sJ9gUZwgyVKtOVnF5O+HJBY1bxqY3f
-zaL9H62HYh5MBJ1RhST+gkObKDgDW+RO9QPVh4/MDRipiQ1+TUOutAbeTVW98kW0
-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
-J8fo6xt29o9OeNbLiMVjsAjC2V/F1v3Ak+UZWWD8o0LEAVQ0U5OhuUnNDN5NHKA7
-gCr5cwVJVgUnFpub+hQV6VxQYm/wX9DMAMSXVxNjavbPfJ9XhWAGcwMSsghPNiRj
-xrlQZbmQ8PUDlDWpKC9UgpczM4aTWa11TZFiGHYyAKkcljKVlTXYVso5kCNAaSp1
-l/e4lopZjuuhnOxof6VaXs08zg76rKvnhT5fncvE2zCibpLtU7/0lztMfvBx4IYh
-sZrSrw1JZZDO+mFdlpFFokFd6Llj9FJcQZEeCm/NRlj3kFoVDJH4CLQDZMdCEYOp
-rdaUu87Uovw8YEG12Qkp92WefLlTQam8gCneFjpaA1VQ+kLzIepLNXr1G1b5rp8q
-L0Jm1+Zd0TZyh/XKbiNYjmAn0ZWRas7Y0X/R/3/aTCrX8+XO1rAa1m3sbKqL5jDL
-jOAkgZctk0s9hzOvjOUkOKkXpRmLqw58z1crfh9SETliDg8NZr9qT9Y=
+YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IEhBV2NqUSBBbm44V2tN
+THI5aXI3RUhwcXV5L0F5ZVJ4amUzRzRRSnpCUFpIbTF3MDZWTAozeWxsNDV5VUYx
+a1QwVkhLODNNNGgzYmVrT3I1MllBZmtKWlAxZ2FxUDdFCi0+IHBpdi1wMjU2IHBE
+YXpSZyBBcUFGVVl6cGk5S1pNUHowSXJEM21scEFBQVFUZVFSc1RzYWpaczY0Z2dF
+OApnVVhNOTlkZ2hiblVmUE9SczBETXBqL3FQSSsrZGs2Y2pkOSt1QzNsdVJrCi0+
+ID9fJCNPLWdyZWFzZSBkU2RpbThkIHBCSSBNNSU/dEdxCkxpZThHSm50YUNNMmlI
+b3ZLZUdrL1FjbWRSNzRwV05jemRUMjNhYzYvSEoveWFGVk1DN1lvWkhtYkxmQytx
+K2oKQ1dHazJPMnMydUozS1hHaHV3K2xoUjMybjVDSDBkQTcxTXIwN3cKLS0tIFE4
+M3drMSs4djVUWWJScnNlbUNHb2hJWTEwZk9SUW1iYVpqckFzcUJUZTQKtuDNTRPr
+QFPnzsGnM4F8vkLZcZoSR2s6R5c0VG++WTktIMoLvgRcYHtZmsUNzUI1vJ0K1EB4
+bqlTg6mwasFeqfmdNSdhAs5aWCQRyqEKfsC8aZI4KJ74h18du97xqiqwvPEoMzEn
+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
+Qqc=
-----END AGE ENCRYPTED FILE-----
@@ -0,0 +1,235 @@
+# fish completion for svu -*- shell-script -*-
+
+function __svu_debug
+ set -l file "$BASH_COMP_DEBUG_FILE"
+ if test -n "$file"
+ echo "$argv" >> $file
+ end
+end
+
+function __svu_perform_completion
+ __svu_debug "Starting __svu_perform_completion"
+
+ # Extract all args except the last one
+ set -l args (commandline -opc)
+ # Extract the last arg and escape it in case it is a space
+ set -l lastArg (string escape -- (commandline -ct))
+
+ __svu_debug "args: $args"
+ __svu_debug "last arg: $lastArg"
+
+ # Disable ActiveHelp which is not supported for fish shell
+ set -l requestComp "SVU_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
+
+ __svu_debug "Calling $requestComp"
+ set -l results (eval $requestComp 2> /dev/null)
+
+ # Some programs may output extra empty lines after the directive.
+ # Let's ignore them or else it will break completion.
+ # Ref: https://github.com/spf13/cobra/issues/1279
+ for line in $results[-1..1]
+ if test (string trim -- $line) = ""
+ # Found an empty line, remove it
+ set results $results[1..-2]
+ else
+ # Found non-empty line, we have our proper output
+ break
+ end
+ end
+
+ set -l comps $results[1..-2]
+ set -l directiveLine $results[-1]
+
+ # For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
+ # completions must be prefixed with the flag
+ set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
+
+ __svu_debug "Comps: $comps"
+ __svu_debug "DirectiveLine: $directiveLine"
+ __svu_debug "flagPrefix: $flagPrefix"
+
+ for comp in $comps
+ printf "%s%s\n" "$flagPrefix" "$comp"
+ end
+
+ printf "%s\n" "$directiveLine"
+end
+
+# this function limits calls to __svu_perform_completion, by caching the result behind $__svu_perform_completion_once_result
+function __svu_perform_completion_once
+ __svu_debug "Starting __svu_perform_completion_once"
+
+ if test -n "$__svu_perform_completion_once_result"
+ __svu_debug "Seems like a valid result already exists, skipping __svu_perform_completion"
+ return 0
+ end
+
+ set --global __svu_perform_completion_once_result (__svu_perform_completion)
+ if test -z "$__svu_perform_completion_once_result"
+ __svu_debug "No completions, probably due to a failure"
+ return 1
+ end
+
+ __svu_debug "Performed completions and set __svu_perform_completion_once_result"
+ return 0
+end
+
+# this function is used to clear the $__svu_perform_completion_once_result variable after completions are run
+function __svu_clear_perform_completion_once_result
+ __svu_debug ""
+ __svu_debug "========= clearing previously set __svu_perform_completion_once_result variable =========="
+ set --erase __svu_perform_completion_once_result
+ __svu_debug "Successfully erased the variable __svu_perform_completion_once_result"
+end
+
+function __svu_requires_order_preservation
+ __svu_debug ""
+ __svu_debug "========= checking if order preservation is required =========="
+
+ __svu_perform_completion_once
+ if test -z "$__svu_perform_completion_once_result"
+ __svu_debug "Error determining if order preservation is required"
+ return 1
+ end
+
+ set -l directive (string sub --start 2 $__svu_perform_completion_once_result[-1])
+ __svu_debug "Directive is: $directive"
+
+ set -l shellCompDirectiveKeepOrder 32
+ set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
+ __svu_debug "Keeporder is: $keeporder"
+
+ if test $keeporder -ne 0
+ __svu_debug "This does require order preservation"
+ return 0
+ end
+
+ __svu_debug "This doesn't require order preservation"
+ return 1
+end
+
+
+# This function does two things:
+# - Obtain the completions and store them in the global __svu_comp_results
+# - Return false if file completion should be performed
+function __svu_prepare_completions
+ __svu_debug ""
+ __svu_debug "========= starting completion logic =========="
+
+ # Start fresh
+ set --erase __svu_comp_results
+
+ __svu_perform_completion_once
+ __svu_debug "Completion results: $__svu_perform_completion_once_result"
+
+ if test -z "$__svu_perform_completion_once_result"
+ __svu_debug "No completion, probably due to a failure"
+ # Might as well do file completion, in case it helps
+ return 1
+ end
+
+ set -l directive (string sub --start 2 $__svu_perform_completion_once_result[-1])
+ set --global __svu_comp_results $__svu_perform_completion_once_result[1..-2]
+
+ __svu_debug "Completions are: $__svu_comp_results"
+ __svu_debug "Directive is: $directive"
+
+ set -l shellCompDirectiveError 1
+ set -l shellCompDirectiveNoSpace 2
+ set -l shellCompDirectiveNoFileComp 4
+ set -l shellCompDirectiveFilterFileExt 8
+ set -l shellCompDirectiveFilterDirs 16
+
+ if test -z "$directive"
+ set directive 0
+ end
+
+ set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
+ if test $compErr -eq 1
+ __svu_debug "Received error directive: aborting."
+ # Might as well do file completion, in case it helps
+ return 1
+ end
+
+ set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
+ set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
+ if test $filefilter -eq 1; or test $dirfilter -eq 1
+ __svu_debug "File extension filtering or directory filtering not supported"
+ # Do full file completion instead
+ return 1
+ end
+
+ set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
+ set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
+
+ __svu_debug "nospace: $nospace, nofiles: $nofiles"
+
+ # If we want to prevent a space, or if file completion is NOT disabled,
+ # we need to count the number of valid completions.
+ # To do so, we will filter on prefix as the completions we have received
+ # may not already be filtered so as to allow fish to match on different
+ # criteria than the prefix.
+ if test $nospace -ne 0; or test $nofiles -eq 0
+ set -l prefix (commandline -t | string escape --style=regex)
+ __svu_debug "prefix: $prefix"
+
+ set -l completions (string match -r -- "^$prefix.*" $__svu_comp_results)
+ set --global __svu_comp_results $completions
+ __svu_debug "Filtered completions are: $__svu_comp_results"
+
+ # Important not to quote the variable for count to work
+ set -l numComps (count $__svu_comp_results)
+ __svu_debug "numComps: $numComps"
+
+ if test $numComps -eq 1; and test $nospace -ne 0
+ # We must first split on \t to get rid of the descriptions to be
+ # able to check what the actual completion will be.
+ # We don't need descriptions anyway since there is only a single
+ # real completion which the shell will expand immediately.
+ set -l split (string split --max 1 \t $__svu_comp_results[1])
+
+ # Fish won't add a space if the completion ends with any
+ # of the following characters: @=/:.,
+ set -l lastChar (string sub -s -1 -- $split)
+ if not string match -r -q "[@=/:.,]" -- "$lastChar"
+ # In other cases, to support the "nospace" directive we trick the shell
+ # by outputting an extra, longer completion.
+ __svu_debug "Adding second completion to perform nospace directive"
+ set --global __svu_comp_results $split[1] $split[1].
+ __svu_debug "Completions are now: $__svu_comp_results"
+ end
+ end
+
+ if test $numComps -eq 0; and test $nofiles -eq 0
+ # To be consistent with bash and zsh, we only trigger file
+ # completion when there are no other completions
+ __svu_debug "Requesting file completion"
+ return 1
+ end
+ end
+
+ return 0
+end
+
+# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
+# so we can properly delete any completions provided by another script.
+# Only do this if the program can be found, or else fish may print some errors; besides,
+# the existing completions will only be loaded if the program can be found.
+if type -q "svu"
+ # The space after the program name is essential to trigger completion for the program
+ # and not completion of the program name itself.
+ # Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
+ complete --do-complete "svu " > /dev/null 2>&1
+end
+
+# Remove any pre-existing completions for the program since we will be handling all of them.
+complete -c svu -e
+
+# this will get called after the two calls below and clear the $__svu_perform_completion_once_result global
+complete -c svu -n '__svu_clear_perform_completion_once_result'
+# The call to __svu_prepare_completions will setup __svu_comp_results
+# which provides the program's completion choices.
+# If this doesn't require order preservation, we don't use the -k flag
+complete -c svu -n 'not __svu_requires_order_preservation && __svu_prepare_completions' -f -a '$__svu_comp_results'
+# otherwise we use the -k flag
+complete -k -c svu -n '__svu_requires_order_preservation && __svu_prepare_completions' -f -a '$__svu_comp_results'