mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-01 06:37:46 +00:00
fix(fnm): Automatic version switching failed. (#1064)

This commit is contained in:
parent
c517cd0075
commit
10fc3797e0
1 changed files with 47 additions and 47 deletions
|
@ -1,47 +1,47 @@
|
||||||
export-env {
|
export-env {
|
||||||
def fnm-env [] {
|
def fnm-env [] {
|
||||||
mut env_vars = {}
|
mut env_vars = {}
|
||||||
let pwsh_vars = (
|
let pwsh_vars = (
|
||||||
^fnm env --shell power-shell |
|
^fnm env --shell power-shell | lines | parse "$env:{key} = \"{value}\""
|
||||||
lines |
|
)
|
||||||
parse "$env:{key} = \"{value}\""
|
|
||||||
)
|
# fnm-prefixed vars
|
||||||
|
for v in ($pwsh_vars | slice 1..) {
|
||||||
# fnm-prefixed vars
|
$env_vars = ($env_vars | insert $v.key $v.value)
|
||||||
for v in ($pwsh_vars | slice 1..) {
|
}
|
||||||
$env_vars = ($env_vars | insert $v.key $v.value)
|
|
||||||
}
|
# path
|
||||||
|
let env_used_path = ($env | columns | where { str downcase | $in == "path" } | get 0)
|
||||||
# path
|
let path_value = ($pwsh_vars | get 0.value | split row (char esep))
|
||||||
let env_used_path = ($env | columns | where {str downcase | $in == "path"} | get 0)
|
$env_vars = ($env_vars | insert $env_used_path $path_value)
|
||||||
let path_value = ($pwsh_vars | get 0.value | split row (char esep))
|
|
||||||
$env_vars = ($env_vars | insert $env_used_path $path_value)
|
return $env_vars
|
||||||
|
}
|
||||||
return $env_vars
|
|
||||||
}
|
if not (which fnm | is-empty) {
|
||||||
|
fnm-env | load-env
|
||||||
if not (which fnm | is-empty) {
|
|
||||||
fnm-env | load-env
|
$env.config = (
|
||||||
|
$env.config?
|
||||||
$env.config = (
|
| default {}
|
||||||
$env.config?
|
| upsert hooks { default {} }
|
||||||
| default {}
|
| upsert hooks.env_change { default {} }
|
||||||
| upsert hooks { default {} }
|
| upsert hooks.env_change.PWD { default [] }
|
||||||
| upsert hooks.env_change { default {} }
|
)
|
||||||
| upsert hooks.env_change.PWD { default [] }
|
let __fnm_hooked = (
|
||||||
)
|
$env.config.hooks.env_change.PWD | any { try { get __fnm_hook } catch { false } }
|
||||||
let __fnm_hooked = (
|
)
|
||||||
$env.config.hooks.env_change.PWD | any { try { get __fnm_hook } catch { false } }
|
if not $__fnm_hooked {
|
||||||
)
|
$env.config.hooks.env_change.PWD = (
|
||||||
if not $__fnm_hooked {
|
$env.config.hooks.env_change.PWD | append {
|
||||||
$env.config.hooks.env_change.PWD = ($env.config.hooks.env_change.PWD | append {
|
__fnm_hook: true
|
||||||
__fnm_hook: true,
|
code: {|before, after|
|
||||||
code: {|before, after|
|
if ('FNM_DIR' in $env) and ([.nvmrc .node-version] | path exists | any {|it| $it }) {
|
||||||
if ('FNM_DIR' in $env) and ([.nvmrc .node-version] | path exists | any { |it| $it }) {
|
^fnm use
|
||||||
(^fnm use); (fnm-env | load-env)
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue