1
Fork 0
mirror of https://github.com/RGBCube/nu_scripts synced 2025-08-01 14:47:47 +00:00

custom completions: scoop: fix getting environmental variables (#293)

`nu v0.68.0` how `use filename *` works, this broke my way of getting environmental variables.
Before I get environmental variables by `$env.NAME`, now I use `env | where name == 'NAME' | get value | first`
This commit is contained in:
e2dk4r 2022-09-08 11:31:48 +00:00 committed by GitHub
parent 53108cd068
commit f51feccce8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,6 +4,11 @@
# FUNCTIONS
################################################################
# get environment variable
def getenv [name: string] {
env | where name == $name | get value | first
}
# list of supported architecture
def scoopArches [] {
[ "32bit", "64bit" ]
@ -11,13 +16,10 @@ def scoopArches [] {
# list of all installed apps
def scoopInstalledApps [] {
# unoptimized tooks a long time
# ^scoop list | lines | skip 2 | drop 1 | each { |line| $line | str trim | str replace ' .*' '' }
let localAppDir = if (env | any $it.name == 'SCOOP') { $"($env.SCOOP)\\apps" } else { $"($env.USERPROFILE)\\scoop\\apps" }
let localAppDir = if ('SCOOP' in (env).name) { [(getenv 'SCOOP'), 'apps'] | path join } else { [(getenv 'USERPROFILE'), 'scoop', 'apps'] | path join }
let localApps = (ls $localAppDir | get name | path basename)
let globalAppDir = if (env | any $it.name == 'SCOOP_GLOBAL') { "$env.SCOOP_GLOBAL\\apps" } else { $"($env.ProgramData)\\scoop\\apps" }
let globalAppDir = if ('SCOOP_GLOBAL' in (env).name) { [(getenv 'SCOOP_GLOBAL'), 'apps'] | path join } else { [(getenv 'ProgramData'), 'scoop', 'apps'] | path join }
let globalApps = if ($globalAppDir | path exists) { ls $globalAppDir | get name | path basename }
$localApps | append $globalApps
@ -30,7 +32,7 @@ def scoopInstalledAppsWithStar [] {
# list of all manifests from all buckets
def scoopAllApps [] {
let bucketsDir = if (env | any $it.name == 'SCOOP') { $"($env.SCOOP)\\buckets" } else { $"($env.USERPROFILE)\\scoop\\buckets" }
let bucketsDir = if ('SCOOP' in (env).name) { [ (getenv 'SCOOP'), 'buckets' ] | path join } else { [ (getenv 'USERPROFILE'), 'scoop', 'buckets' ] | path join }
for bucket in (ls -s $bucketsDir | get name) { ls ([$bucketsDir, $bucket, 'bucket', '*.json'] | str collect '\') | get name | path basename | str substring ',-5' } | flatten | uniq
}
@ -517,7 +519,7 @@ def scoopKnownBuckets [] {
}
def scoopInstalledBuckets [] {
let bucketsDir = if (env | any $it.name == 'SCOOP') { $"($env.SCOOP)\\buckets" } else { $"($env.USERPROFILE)\\scoop\\buckets" }
let bucketsDir = if ('SCOOP' in (env).name) { [ (getenv 'SCOOP'), 'buckets' ] | path join } else { [ (getenv 'USERPROFILE'), 'scoop', 'buckets' ] | path join }
let buckets = (ls $bucketsDir | get name | path basename)
$buckets
}