From dfea89ccc703f3ef5a87c4b85726456d70167d89 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Tue, 9 Jan 2024 04:25:30 -0800 Subject: [PATCH] fix: avoid mention of `ASDF_NU_DIR` (#1660) --- asdf.nu | 23 ++++++++++++++++++----- docs/guide/getting-started.md | 6 +++--- docs/pt-br/guide/getting-started.md | 6 +++--- docs/zh-hans/guide/getting-started.md | 6 +++--- test/asdf_nu.bats | 19 +++++++++++++++++-- 5 files changed, 44 insertions(+), 16 deletions(-) diff --git a/asdf.nu b/asdf.nu index 90940201..57cf00b1 100644 --- a/asdf.nu +++ b/asdf.nu @@ -1,14 +1,27 @@ def-env configure-asdf [] { + $env.ASDF_DIR = ( + if ($env | get --ignore-errors ASDF_NU_DIR | is-empty) == false { + $env.ASDF_NU_DIR + } + else if ($env | get --ignore-errors ASDF_DIR | is-empty) == false { + $env.ASDF_DIR + } else { + print --stderr "asdf: Either ASDF_NU_DIR or ASDF_DIR must not be empty" + return + } + ) - $env.ASDF_DIR = ( if ( $env | get --ignore-errors ASDF_DIR | is-empty ) { $env.ASDF_NU_DIR } else { $env.ASDF_DIR } ) - - let shims_dir = ( if ( $env | get --ignore-errors ASDF_DATA_DIR | is-empty ) { $env.HOME | path join '.asdf' } else { $env.ASDF_DIR } | path join 'shims' ) - + let shims_dir = ( + if ( $env | get --ignore-errors ASDF_DATA_DIR | is-empty ) { + $env.HOME | path join '.asdf' + } else { + $env.ASDF_DIR + } | path join 'shims' + ) let asdf_bin_dir = ( $env.ASDF_DIR | path join 'bin' ) $env.PATH = ( $env.PATH | split row (char esep) | where { |p| $p != $shims_dir } | prepend $shims_dir ) $env.PATH = ( $env.PATH | split row (char esep) | where { |p| $p != $asdf_bin_dir } | prepend $asdf_bin_dir ) - } configure-asdf diff --git a/docs/guide/getting-started.md b/docs/guide/getting-started.md index de5326a5..9f15532f 100644 --- a/docs/guide/getting-started.md +++ b/docs/guide/getting-started.md @@ -300,7 +300,7 @@ Add the following to `~/.config/powershell/profile.ps1`: Add `asdf.nu` to your `~/.config/nushell/config.nu` with: ```shell -"\n$env.ASDF_NU_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path +"\n$env.ASDF_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path ``` Completions are automatically configured @@ -311,7 +311,7 @@ Completions are automatically configured Add `asdf.nu` to your `~/.config/nushell/config.nu` with: ```shell -"\n$env.ASDF_NU_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path +"\n$env.ASDF_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | str trim | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path ``` Completions are automatically configured @@ -322,7 +322,7 @@ Completions are automatically configured Add `asdf.nu` to your `~/.config/nushell/config.nu` with: ```shell -"\n$env.ASDF_NU_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path +"\n$env.ASDF_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path ``` Completions are automatically configured. diff --git a/docs/pt-br/guide/getting-started.md b/docs/pt-br/guide/getting-started.md index c1462fb3..3f5b809c 100644 --- a/docs/pt-br/guide/getting-started.md +++ b/docs/pt-br/guide/getting-started.md @@ -297,7 +297,7 @@ Adicione a seguinte linha ao seu `~/.config/powershell/profile.ps1`: Adicione `asdf.nu` ao seu `~/.config/nushell/config.nu` através do comando: ```shell -"\n$env.ASDF_NU_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path +"\n$env.ASDF_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path ``` Ao concluir atualizará automaticamente @@ -308,7 +308,7 @@ Ao concluir atualizará automaticamente Adicione `asdf.nu` ao seu `~/.config/nushell/config.nu` através do comando: ```shell -"\n$env.ASDF_NU_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path +"\n$env.ASDF_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | str trim | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path ``` Ao concluir atualizará automaticamente @@ -319,7 +319,7 @@ Ao concluir atualizará automaticamente Adicione `asdf.nu` ao seu `~/.config/nushell/config.nu` através do comando: ```shell -"\n$env.ASDF_NU_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path +"\n$env.ASDF_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path ``` Ao concluir atualizará automaticamente diff --git a/docs/zh-hans/guide/getting-started.md b/docs/zh-hans/guide/getting-started.md index 7704db84..3747ef2f 100644 --- a/docs/zh-hans/guide/getting-started.md +++ b/docs/zh-hans/guide/getting-started.md @@ -298,7 +298,7 @@ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.ps1\"" >> ~/.config/powershell 使用以下命令将 `asdf.nu` 加入到 `~/.config/nushell/config.nu` 文件中: ```shell -"\n$env.ASDF_NU_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path +"\n$env.ASDF_DIR = ($env.HOME | path join '.asdf')\n source " + ($env.HOME | path join '.asdf/asdf.nu') | save --append $nu.config-path ``` 补全功能将会自动配置。 @@ -309,7 +309,7 @@ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.ps1\"" >> ~/.config/powershell 使用以下命令将 `asdf.nu` 加入到 `~/.config/nushell/config.nu` 文件中: ```shell -"\n$env.ASDF_NU_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path +"\n$env.ASDF_DIR = (brew --prefix asdf | str trim | into string | path join 'libexec')\n source " + (brew --prefix asdf | str trim | into string | path join 'libexec/asdf.nu') | save --append $nu.config-path ``` 补全功能将会自动配置。 @@ -320,7 +320,7 @@ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.ps1\"" >> ~/.config/powershell 使用以下命令将 `asdf.nu` 加入到 `~/.config/nushell/config.nu` 文件中: ```shell -"\n$env.ASDF_NU_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path +"\n$env.ASDF_DIR = '/opt/asdf-vm/'\n source /opt/asdf-vm/asdf.nu" | save --append $nu.config-path ``` 补全功能将会自动配置。 diff --git a/test/asdf_nu.bats b/test/asdf_nu.bats index f46d6a66..729def50 100644 --- a/test/asdf_nu.bats +++ b/test/asdf_nu.bats @@ -26,7 +26,7 @@ run_nushell() { hide-env -i asdf hide-env -i ASDF_DIR \$env.PATH = ( '$(cleaned_path)' | split row ':' ) - \$env.ASDF_NU_DIR = '$PWD' + \$env.ASDF_DIR = '$PWD' source asdf.nu $1" @@ -60,7 +60,7 @@ run_nushell() { [ "$result" = "" ] } -@test "retains ASDF_DIR" { +@test "retains ASDF_DIR (from ASDF_NU_DIR)" { run nu -c " hide-env -i asdf \$env.ASDF_DIR = ( pwd ) @@ -75,6 +75,21 @@ run_nushell() { [ "$output" = "$PWD" ] } +@test "retains ASDF_DIR (from ASDF_DIR)" { + run nu -c " + hide-env -i asdf + \$env.ASDF_DIR = ( pwd ) + \$env.PATH = ( '$(cleaned_path)' | split row ':' ) + \$env.ASDF_DIR = '$PWD' + + source asdf.nu + + echo \$env.ASDF_DIR" + + [ "$status" -eq 0 ] + [ "$output" = "$PWD" ] +} + @test "defines the asdf or main function" { run_nushell "which asdf | get path | to text"