zimfw

Zim: Modular, customizable, and blazing fast Zsh framework

MIT License

Stars
3.7K
Committers
47

Bot releases are visible (Hide)

zimfw - v1.13.1 Latest Release

Published by ericbn 6 months ago

Fixed

  • The --strip option in tar command is not BSD compatible.
zimfw - v1.13.0

Published by ericbn 8 months ago

Added

  • --if-command option to zmodule. This option is equivalent to --if "(( \${+commands[${1}]} ))".
  • mkdir tool option in zmodule that creates an empty directory. This allows creating modules that contain only externally generated files.
zimfw - v1.12.1

Published by ericbn about 1 year ago

Fixed

  • Expansion of prompt sequences in print statements causing text between backticks to be executed by the shell.
zimfw - v1.12.0

Published by ericbn over 1 year ago

Added

  • check-version action, that immediately checks if a new version of zimfw is available and returns code 4 if there is one.
  • check action, that checks if there are updates available for current modules.
  • Output of LANG and LC_* parameters in info action.

Changed

  • Don't resolve symlinks when building init.zsh.

Fixed

  • Show warning when there's no write permission to compile Zsh scripts.
zimfw - v1.11.3

Published by ericbn over 1 year ago

Deprecated

zimfw - v1.11.2

Published by ericbn over 1 year ago

Fixed

  • Quote path names in init.zsh to properly handle path names with spaces.
zimfw - v1.11.1

Published by ericbn over 1 year ago

Fixed

  • Use _zim_dumpfile_fpath defined by the completion module here, right before compinit is run, to more accurately do zimfw check-dumpfile.
zimfw - v1.11.0

Published by ericbn almost 2 years ago

Added

  • --if option to zmodule that will only initialize the module root if the specified test returns a zero exit status. The test is evaluated at every new terminal startup.
  • Ability to customize the .zimrc file name and path with the ZIM_CONFIG_FILE environment variable.
zimfw - v1.10.0

Published by ericbn about 2 years ago

Added

  • --root option to zmodule. Combined with the ability to call zmodule multiple times for the same module, this allows initializing from multiple roots in repositories like prezto or ohmyzsh. Also, --on-pull and --disable now work on a per-module-root basis.

Changed

  • Show OSTYPE, TERM, TERM_PROGRAM and TERM_PROGRAM_VERSION environment variables instead of calling the uname -a command to show system info in the zimfw info action.
zimfw - v1.9.1

Published by ericbn over 2 years ago

Fixed

  • Override repository options along multiple zmodule calls with the same module name.
  • Show already installed modules skipped with install action and -v.
  • Consider external module directory paths when calling compile action directly.
  • Ignore return value from zargs with -P. (See https://www.zsh.org/mla/workers/2022/msg00611.html)
zimfw - v1.9.0

Published by ericbn over 2 years ago

Added

  • --on-pull option to zmodule, which allows setting a command that is always triggered after the module is installed or updated.
zimfw - v1.8.0

Published by ericbn over 2 years ago

Added

  • check-dumpfile action. It runs in the build, install and update actions, and checks if a new completion configuration needs to be dumped. It's intended to be used with compinit -C, so no checks are done during the shell startup. (See zimfw/completion#8)
  • --no-submodules option to zmodule, which disables installing or updating git submodules.
zimfw - v1.7.0

Published by ericbn almost 3 years ago

Changed

  • The output of zimfw init to be friendlier to the terminal startup screen when called without -q.
  • Only compile scripts via the zimfw tool after actions where scripts can change (build, install, update, upgrade).
  • Move compilation of the completion dumpfile to the completion module, here.
  • Don't compile user Zsh startup scripts anymore (See #450). This means you can:
    • either manually delete the compiled files, as they won't be updated by Zim anymore (recommended):
      for zfile in ${ZDOTDIR:-${HOME}}/.z(shenv|profile|shrc|login|logout); do
        rm -f ${zfile}.zwc(|.old)(N)
      done
      
    • or add the following to your .zlogin so Zsh startup scripts continue to be compiled:
      +for zfile in ${ZDOTDIR:-${HOME}}/.z(shenv|profile|shrc|login|logout); do
      +  if [[ ! ${zfile}.zwc -nt ${zfile} ]] zcompile -R ${zfile}
      +done
      +unset zfile
      

Deprecated

  • The login_init.zsh script, which is now empty. This means you can safely remove the following line from your .zlogin:
    -source ${ZIM_HOME}/login_init.zsh -q &!
    
zimfw - v1.6.2

Published by ericbn almost 3 years ago

Fixed

  • Force local zsh emulation options, so the code is not broken by unexpected option changes by the user.
zimfw - v1.6.1

Published by ericbn almost 3 years ago

Fixed

  • Missing line break before showing git log when using the git tool to update.
zimfw - v1.6.0

Published by ericbn almost 3 years ago

Added

  • list action. Using it with -v also shows the current details for all modules.

Changed

  • Be quieter and don't output warnings when -q is provided.
  • Be more verbose when -v is provided: show skipped external and frozen modules with the install and update actions.
  • Show warning instead of error when module was not installed with the tool currently in use.
  • Manually setting any zmodule initialization option will disable all the default values from the other initialization options, so only user-provided values are used in this case. I.e. it's either all automatic, or all manual.
  • Also install new modules when starting a new shell (via zimfw init, that is sourced in .zshrc).

Fixed

  • Error in zimfw update with the git tool when module directory is under a symlinked directory.
  • Warning when WARN_CREATE_GLOBAL is set and ZIM_HOME is not.
  • "zsh: command not found: zmodule" when trying to run zmodule from the shell. Show a more informative error instead.
  • Don't try to install or update external modules.
zimfw - v1.5.0

Published by ericbn about 3 years ago

Added

  • Option to use the new degit tool in zmodule, that is able to install and update modules from GitHub without requiring git. Modules are installed faster and take less disk space when using this tool. It can be set as the default with zstyle ':zim:zmodule' use 'degit'.

Fixed

  • Force core.autocrlf=false when doing git clone. (See #404)
  • Allow uninstalling modules with custom names that have a slash.
zimfw - v1.4.3

Published by ericbn over 3 years ago

Fixed

  • Prefer the prezto module format when using defaults to initialize a module. This is the format we use in our Zim framework modules. It's not well documented anywhere officially, but in short words a prezto module can have:
    • a functions subdirectory that is added to the fpath by the framework,
    • files inside the functions subdirectory that are autoloaded by the framework (except for those with names matching _* or prompt_*_setup),
    • an init.zsh file that is sourced by the framework.
zimfw - v1.4.2

Published by ericbn over 3 years ago

Fixed

  • "Not a valid ref: refs/remotes/origin/main" error in zimfw update, when the repository's default branch was renamed to main.
zimfw - v1.4.1

Published by ericbn over 3 years ago

Fixed

  • Correctly get the repository's default branch in zimfw update. The related change in version 1.4.0 actually broke updating the modules, as new changes stopped being fetched.