Skip to content

Conversation

@balupton
Copy link
Member

@balupton balupton commented Feb 6, 2025

WIP

Closes:

May close:

Improves:

Discards old implementation of:

Todos:

Current batch todos, in any order:

  • merge my other WIP changes with the dev branch
  • new setup-shell flow
    • add login shell detection
    • make sure there is a cannot configure nu if nu not installed check
    • make sure that uninstallations in the setup-util-$shell flow remove uninstalled login shell, without endless recursion - I've added an exclude option, however need to finish implementing it
    • need to make sure that when unsetting a login shell, we use the next preference or prompt
    • need to implement the configuration saving
    • make use_shells empty by default, as otherwise everything is selected for login shell
  • auto-elevation
    • config-helper
    • echo-wait
    • echo-file
    • new is-touchable
    • --sudo flag to --elevate in all relevant locations
  • eval-helper and sudo-helper should be merged, or need a new eval-target command, to avoid conflating stderr output in no-tty mode (achieved by new __do function)
    • implement and test and cleanup new __do and __try functions
    • update Dorothy tests action for new semaphore location
  • echo-wait cleanup
  • get-installer to use a json file, so it can run on bash v3 which will fix dorothy-config failing on old bash versions.
  • sudo --stdin flag when needed
  • don't write theme fallback to cache
  • move styles.bash env vars preset to setup-environment-commands
  • test new get-terminal-theme on WSL
  • merge and release
  • figure out why the choose error happens if no git remote, as it should have thrown before calling choose - this could be the bash bug manifesting itself, or could be a bug in prior try versions now fixed
  • update outdated bash docs
  • experiment with custom tty device file when in no-tty so stderr is not filled up
  • complete cache expiry unification for get-terminal-theme and setup-environment-commands, for now live with the bug that is introduced where one must manually clear the terminal theme cache

fix double `in in <duration>`

add tests

eval-helper: fix a subsequent `--` not being respected correctly

/ref 8d26743
- `fs-{copy,link,move,remove}`: styled docs
- `fs-copy`: add `--backup`/`--quiet`, better default handling, fix rsync inserting a directory into a directory
- `fs-move`: prep new args, and call `fs-copy` on dir conflicts
- now delegates to the local dorothy if invoked remotely to prevent conflicts within commands
- more streamlined detection and handling of dorothy and user configuration directories
- create/update the repository in the existing/desired location, then migrate if necessary - prevents a `fs-move --merge` (and thus `rsync`) copy requirement
- trunk: upgrade cspell
- fs-type: alma has same output as opensuse
- setup-util-mediainfo: support more distros
And try run ` dnf makecache --refresh` on CI as `mediainfo` should already be available on AlmaLinux according to https://installati.one/install-mediainfo-almalinux-8/

Add `is-deb` for checking if a .deb manager is available.
must have either `--fixed-strings` or `--extended-regexp`

fixes bug in `fs-type` tests
- `dorothy-internals`:
    - output durations for each test that uses `__run_test_block`
    - fix `--skip` having the opposite behaviour
    - use `__run_test_block` and have it output duration
    - test `__dereference --(append|overwrite)` which is now necessary for array usage
    - remove squiglies from functions that only support variable names now

- `dorothy-internals`, `bash.bash`:
    - `__affirm_variable_name_is_valid` to `__affirm_variable_name`

- `fs-path`, `bash.bash`, `bash-legacy.bash`:
    - use `__variable_name` instead of `__reference` for when it is just a variable name

- `bash.bash`:
    - prep upcomming `BASH_VERSIONS_SUPPORT`
    - simplify across bash versions `__is_var_declared` and `__is_array`
    - `__is_array`, `__is_sparse_array`, `__is_var_declared`, `__is_Var_defined`:
        - now only accept variable names without squiglies, for performance
        - they also have better error messages now
    - `__dereference`:
        - now suppors write modes, and uses the new `__apply_value` and `__apply_variable_value` to simplify things
        - now requires a write mode to support arrays, for performance
        - now correctly handles arrays because of this explicit behaviour, and errors when it cannot be correctly handled
        - this now fixes an earlier uncaught issue with `__split`
    - `__split`: now correctly supports mutliple sources
    - adjust various variable names to be more explicit to what they are
    - adjust linting to remove unused variables
- `fs-mkdir`: fix
- `bash.bash:__print_help`: dynamic action support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants