mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-02 23:27:45 +00:00
refactor: ✨ (#418)
* refactor: ✨ move in one commit Eveything in modules should probably be changed to `exported` defs. The idea is to move everything first to keep proper history. * refactor: 📝 add modules readme (wip) * refactor: ✨ small move * refactor: 📝 changed nestring, updated modules readme * refactor: 📝 to document or not to document * fix: 🐛 themes replaced the template to use `main` and regenerated them from lemnos themes. * Revert "fix: 🐛 themes" This reverts commit 4918d3633c8d2d81950a0ed0cfd9eb84241bc886. * refactor: ✨ introduce sourced - Created a source `root` in which sourcable demos are stored. Some might get converted to modules later on. - Moved some files to bin too. * fix: 🐛 fehbg.nu * fix: 🐛 modules/after.nu * moved some other stuff around --------- Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
This commit is contained in:
parent
382696cd21
commit
c47ccd42b8
128 changed files with 185 additions and 12 deletions
73
modules/virtual_environments/auto-venv/venv_helpers.nu
Normal file
73
modules/virtual_environments/auto-venv/venv_helpers.nu
Normal file
|
@ -0,0 +1,73 @@
|
|||
use path_extensions.nu *
|
||||
|
||||
def has-sub [
|
||||
folder: string,
|
||||
subfolder: string
|
||||
] {
|
||||
not (path find-sub $folder $subfolder | is-empty);
|
||||
}
|
||||
|
||||
def get-env [
|
||||
name: string
|
||||
default: any
|
||||
] {
|
||||
(if ($name in $env) {
|
||||
$env | get $name
|
||||
}
|
||||
else {
|
||||
$default
|
||||
})
|
||||
}
|
||||
|
||||
export def venv-is-active [] {
|
||||
'__auto_venv' in (overlay list)
|
||||
}
|
||||
|
||||
|
||||
export def has-entered-venv [
|
||||
after: path,
|
||||
] {
|
||||
|
||||
let target = path find-sub $after $env.AUTO_VENV_TRIGGER
|
||||
|
||||
(if ($target | is-empty) {
|
||||
false
|
||||
}
|
||||
else {
|
||||
# if venv is already active, handle it in "venv swap" hook
|
||||
not (venv-is-active)
|
||||
})
|
||||
}
|
||||
|
||||
export def has-swapped-venv [
|
||||
after: path,
|
||||
] {
|
||||
|
||||
(if not (venv-is-active) {
|
||||
false
|
||||
}
|
||||
else {
|
||||
let target = path find-sub $after $env.AUTO_VENV_TRIGGER
|
||||
|
||||
(if ($target | is-empty) {
|
||||
false
|
||||
}
|
||||
else {
|
||||
$env.VIRTUAL_ENV != $target
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
export def has-exited-venv [
|
||||
after: path,
|
||||
] {
|
||||
|
||||
(if not (venv-is-active) {
|
||||
false
|
||||
}
|
||||
else {
|
||||
not (has-sub $after $env.AUTO_VENV_TRIGGER)
|
||||
})
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue