z-shell / zpmod

⚙️ Zsh module transparently and automatically compiles sourced scripts
https://wiki.zshell.dev/ecosystem/plugins/zsh-modules
Other
20 stars 3 forks source link
z-shell zpmod zsh-module

Module: zpmod

[![🍎 Build (MacOS)](https://github.com/z-shell/zpmod/actions/workflows/test-macos.yml/badge.svg)](https://github.com/z-shell/zpmod/actions/workflows/test-macos.yml) [![🐧 Build (Linux)](https://github.com/z-shell/zpmod/actions/workflows/test-linux.yml/badge.svg)](https://github.com/z-shell/zpmod/actions/workflows/test-linux.yml)

The module is a binary Zsh module (think about `zmodload` Zsh command, it's that topic) which transparently and automatically **compiles sourced scripts**. Many plugin managers do not offer compilation of plugins, the module is a solution to this. Even if a plugin manager does compile plugin's main script (like Zi does). ## Installation ### Without [Zi](https://github.com/z-shell/zi) Install just the **standalone** binary which can be used with anyother plugin manager. > **Note** > This script can be used with most plugin managers and [Zi](https://github.com/z-shell/zi) is not required. ```sh sh <(curl -fsSL https://raw.githubusercontent.com/z-shell/zpmod/main/Scripts/install.sh) ``` This script will display what to add to `~/.zshrc` (2 lines) and show usage instructions. ### With [Zi](https://github.com/z-shell/zi) > **Note** > Zi users can build the module by issuing following command instead of running above `build.sh` script. ```shell zi module build ``` This command will compile the module and display instructions on what to add to `~/.zshrc`. ## Measuring Time of sources Besides the compilation-feature, the module also measures **duration** of each script sourcing. Issue `zpmod source-study` after loading the module at top of `~/.zshrc` to see a list of all sourced files with the time the sourcing took in milliseconds on the left. This feature allows to profile the shell startup. Also, no script can pass-through that check and you will obtain a complete list of all loaded scripts, like if Zshell itself was investigating this. The list can be surprising. ## Debugging To enable debug messages from the module set: ```shell typeset -g ZI_MOD_DEBUG=1 ```