mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-02 07:07:46 +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:
parent
53108cd068
commit
f51feccce8
1 changed files with 9 additions and 7 deletions
|
@ -4,6 +4,11 @@
|
||||||
# FUNCTIONS
|
# FUNCTIONS
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
|
# get environment variable
|
||||||
|
def getenv [name: string] {
|
||||||
|
env | where name == $name | get value | first
|
||||||
|
}
|
||||||
|
|
||||||
# list of supported architecture
|
# list of supported architecture
|
||||||
def scoopArches [] {
|
def scoopArches [] {
|
||||||
[ "32bit", "64bit" ]
|
[ "32bit", "64bit" ]
|
||||||
|
@ -11,13 +16,10 @@ def scoopArches [] {
|
||||||
|
|
||||||
# list of all installed apps
|
# list of all installed apps
|
||||||
def scoopInstalledApps [] {
|
def scoopInstalledApps [] {
|
||||||
# unoptimized tooks a long time
|
let localAppDir = if ('SCOOP' in (env).name) { [(getenv 'SCOOP'), 'apps'] | path join } else { [(getenv 'USERPROFILE'), 'scoop', 'apps'] | path join }
|
||||||
# ^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 localApps = (ls $localAppDir | get name | path basename)
|
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 }
|
let globalApps = if ($globalAppDir | path exists) { ls $globalAppDir | get name | path basename }
|
||||||
|
|
||||||
$localApps | append $globalApps
|
$localApps | append $globalApps
|
||||||
|
@ -30,7 +32,7 @@ def scoopInstalledAppsWithStar [] {
|
||||||
|
|
||||||
# list of all manifests from all buckets
|
# list of all manifests from all buckets
|
||||||
def scoopAllApps [] {
|
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
|
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 [] {
|
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)
|
let buckets = (ls $bucketsDir | get name | path basename)
|
||||||
$buckets
|
$buckets
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue