Git Product home page Git Product logo

zi's Introduction

❮ Zi ❯ Logo Zi

🧙‍♂️ 🪄 A Swiss Army Knife for Zsh - Unix Shell ✨


🎯 Roadmap

Generally, new features will be introduced as a component to improve performance and compatibility and not to force, but to allow the user decide and choose the features. Let us know what should be improved and maintained with a ⭐ on features you like and use:


💞 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and greatly appreciated and our target support each other.
Please read our contribution guidelines before you start. Thank you for being involved!

🆙 Project assistance

If you want to say thank you or/and support the active development, add a GitHub Star to the project, and follow the Z-Shell organization.

Write interesting articles about the project on: Dev.to, Medium.com, Hacker News, Reddit, Twitter, or your blog. Participate in the community by showing interest in the project, as it may bring us together, then great things may happen. If you want but are not confident about participating - do not hesitate to contact us so we can discuss the situation 👍.

🛡️ Security

- Z-Shell Zi follows good practices of security, but 100% security cannot be assured.
- Z-Shell Zi is provided "as is" without any warranty. Use at your own risk.
- For more information and to report security issues, please refer to our security documentation.

ℹ️ Acknowledgements

The Z-Shell organization was created to recover the Zdharma organization which was deleted by the owner for an unknown reason. It took a lot of time and effort for all those who liked the project and were depending on it don't want to depend on an unreliable source.
Zi , formerly known as zplugin, zinit, is an open-source community project released under the MIT License.

🥇 Authors & contributors

Check the list of authors and contributors in this repository and all other repositories under the Z-Shell organization. We will include all showing interest or dedicating their time to taking part.

⭐ Credits

zi's People

Contributors

deepsourcebot avatar dependabot[bot] avatar digital-teams avatar farzat07 avatar gitter-badger avatar mathplayer avatar omeletwithoutegg avatar onokatio avatar signed-log avatar ss-o avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zi's Issues

[fix]: ensure manpath

Fix:

  • manpath

Treat ZI[MAN_DIR] as default for manpages instead of previously used: $ZPFX/man, ensure the directory is available in manpath when the variable is changed.

General: maintenance track

Correct, consistent, and accessible codebase [WIP]

Many functions, messages, and general visual appearance is not working, are incorrect, or are just deprecated. It also hurts the performance or simply not working. There are many tools and services that can be shared with contributors when required as most are related to ZI and Z shell in general.

❮ ZI ❯

**Fully support XDG Base Directories including (plugins/annexes/packages)

❮ zAnnex ❯

❮ zPlugin ❯

❮ zPackage ❯

Fix update log

When the zi updates, the log is shown with full history, it should be reduced to 1-3 last commits.

feat: Get plugin directory

Feature description

Currently there zi cd <plugin> which changes to the directory where the plugin is installed. Getting the info of where the plugin is will be very useful

If the feature request is approved, would you be willing to submit a PR? (Help can be provided if you need assistance submitting a PR)

Yes

Related Code

I imagine the feature could look like this

zi dir my-plugin
~/.zi/plugins/my-plugin

Additional Context

No response

[bug]: Init Error

Environment

OSTYPE=darwin20.0 CPUTYPE=x86_64 / MACHINE_TYPE=x86_64 ZSH_VERSION=5.8

Expected behavior

When I start zsh, I encounter this error message:

[WARNING]: Console output during zsh initialization detected.

When using Powerlevel10k with instant prompt, console output during zsh
initialization may indicate issues.

You can:

  • Recommended: Change ~/.zshrc so that it does not perform console I/O
    after the instant prompt preamble. See the link below for details.

    • You will not see this error message again.
    • Zsh will start quickly and prompt will update smoothly.
  • Suppress this warning either by running p10k configure or by manually
    defining the following parameter:

    typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet

    • You will not see this error message again.
    • Zsh will start quickly but prompt will jump down after initialization.
  • Disable instant prompt either by running p10k configure or by manually
    defining the following parameter:

    typeset -g POWERLEVEL9K_INSTANT_PROMPT=off

    • You will not see this error message again.
    • Zsh will start slowly.
  • Do nothing.

    • You will see this error message every time you start zsh.
    • Zsh will start quickly but prompt will jump down after initialization.

For details, see:
https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt

-- console output produced during zsh initialization follows --

Downloading: molovo… (at label: molovo…)
Cloning into '/Users/gawainx/.zi/plugins/molovo'...
remote: Not Found
fatal: repository 'https://github.com/molovo/' not found

Clone failed (code: 128).

Current behavior

Every time I start a new zsh, e.g., new Tab, or type zsh in shell

Steps to reproduce

Start a new zsh instance.

Code snippet

My .zshrc is following:

# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/gawainx/opt/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/gawainx/opt/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/gawainx/opt/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/Users/gawainx/opt/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

if [[ ! -f $HOME/.zi/bin/zi.zsh ]]; then
  print -P "%F{33}▓▒░ %F{160}Installing (%F{33}z-shell/zi%F{160})…%f"
  command mkdir -p "$HOME/.zi" && command chmod g-rwX "$HOME/.zi"
  command git clone -q --depth=1 --branch "main" https://github.com/z-shell/zi "$HOME/.zi/bin" && \
    print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
    print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
source "$HOME/.zi/bin/zi.zsh"
autoload -Uz _zi
(( ${+_comps} )) && _comps[zi]=_zi
# configure zsh auto-comp and more
# Load OMZ Git library
zi snippet OMZL::git.zsh

# Load Git plugin from OMZ
zi snippet OMZP::git
zi cdclear -q # <- forget completions provided up to this moment

setopt promptsubst

zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'

# auto-suggest

zi ice wait lucid atinit"ZI[COMPINIT_OPTS]=-C; zpcompinit; zpcdreplay"
zi light z-shell/F-Sy-H

zi ice wait lucid atload"!_zsh_autosuggest_start"
zi load zsh-users/zsh-autosuggestions
# examples here -> https://z-shell.pages.dev/docs/gallery/collection
zicompinit # <- https://z-shell.pages.dev/docs/gallery/collection#minimal
zi light-mode for \
  z-shell/z-a-meta-plugins \
  @annexes @molovo
# Load prompt if terminal has least 256 colors.
if [ "${TERM##*-}" = '256color' ] || [ "${terminfo[colors]:?}" -gt 255 ]; then
  zi ice depth=1; zi light romkatv/powerlevel10k
fi


# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

# alias

alias ls='ls -aG'
alias ll='ls -l'
alias l='ls'
code () { VSCODE_CWD="$PWD" open -n -b "com.microsoft.VSCode" --args $PWD/$* ;}

conda activate dev

Aditional information

Nope

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

No response

[bug]: Using `OMZP::` shorthand seems to break `svn` ice

Environment

OSTYPE=linux-gnu, CPUTYPE=x86_64 / MACHINE_TYPE=x86_64 ZSH_VERSION=5.6

Expected behavior

Using zi ice svn with the OMZP:: should pull the whole folder

Current behavior

It fails to load with a Snippet not loaded but it seems to have loaded something

Steps to reproduce

Try to load like this :

zi ice svn
zi snippet OMZP::history-substring-search # Tested only with HSS

Code snippet

zi ice svn
#zi snippet OMZ::/plugins/history-substring-search # This form works
zi snippet OMZP::history-substring-search

Aditional information

zi status --all without OMZP::

Status for plugins/history-substring-search
              6455     6205 marc.cornell. history-substring-search.plugin.zsh
?                                        history-substring-search.plugin.zsh.zwc
              6455     5342 marc.cornell. update-from-upstream.zsh
              6455     6130 marc.cornell. history-substring-search.zsh
?                                        history-substring-search.zsh.zwc
              6455     5885 marc.cornell. README.md
?                                        ._zi
              6455     6205 marc.cornell. .
Status against revision:   6455

ls $HOME/.zi/snippets/OMZP::history-substring-search with OMZP:: (after zi delete --clean)

drwxr-xr-x 3 signed users 4.0K May 28 10:01 history-substring-search.zsh
-rw-r--r-- 1 signed users  638 May 28 10:01 OMZP::history-substring-search
-r--r--r-- 1 signed users 1.4K May 28 10:01 OMZP::history-substring-search.zwc
drwxr-xr-x 2 signed users 4.0K May 28 10:01 ._zi

(no sign of svn with OMZP)

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

[email protected]

[feat]: Translate ZI

Feature description

Translate ZI

Related Code

I think that we can use GNU Gettext with Crowdin for mangaging translations. We can add an gh-action which will pull translations from crowdin and push them into the repo in i18n/ or locales/. In ZI, we will use gettext each time there is an output.

Additional Context

https://docs.slackware.com/howtos:misc:internationalization_and_localization_of_shell_scripts
https://store.crowdin.com/gnu-gettext/

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

[docs]: Some pages crash on Safari Browser

Description

Expected Behavior

Load all pages of doc https://wiki.zshell.dev with no problem on Safari Browser

Current Behavior

Some pages crash on Safari Browser

Crash on initial page

screenshot

screenshot2

Crash on page https://wiki.zshell.dev/ecosystem/annexes/bin-gem-node

screenshot3

System Info

OS

MacOS High Sierra 10.13.6

CPU

Intel Core i5 2,3 GHz

Memory

8 GB 1333 MHz DDR3

Safari Version 13.1.2

Select the area that is associated with this issue.

ZI (this repository)

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

[email protected]

bug: incorrect shim set

Environment

linux-gnu|aarch64|5.8

Current behavior

~/.zi/plugins/sharkdp---fd/usr/share/bash-completion/completions/fd: 3: Syntax error: "(" unexpected (expecting "}")
~/.zi/plugins/sharkdp---bat/usr/share/bash-completion/completions/bat: 16: Syntax error: "(" unexpected (expecting "fi")
~/.zi/plugins/sharkdp---hyperfine/usr/share/bash-completion/completions/hyperfine: 3: Syntax error: "(" unexpected (expecting "}")

Steps to reproduce

IN:

zi ice as"command" from"gh-r" mv"fd* fd" sbin"**/fd(.exe|) -> fd"
zi light @sharkdp/fd

OUT:

Downloading sharkdp/fd…
(Requesting `fd_8.3.1_arm64.deb'…)
######################################################################## 100.0%                                                                                                                                  
ziextract: Unpacking the files from: `fd_8.3.1_arm64.deb'
ziextract: Successfully extracted and assigned +x chmod to the file: `usr/bin/fd'.
bin-gem-node annex: Created the fd shim and set +x on the fd binary
bin-gem-node annex: Created the fd shim and set +x on the fd binary
Installed 0 completions. They are stored in $INSTALLED_COMPS array.
Skipped installing 1 completions. They are stored in $SKIPPED_COMPS array.

IN:

zi ice as"command" from"gh-r" mv"bat* bat" sbin"**/bat(.exe|) -> bat"
zi light @sharkdp/bat

OUT:

Downloading sharkdp/bat…
(Requesting `bat_0.19.0_arm64.deb'…)
######################################################################## 100.0%                                                                                                                                  
ziextract: Unpacking the files from: `bat_0.19.0_arm64.deb'
ziextract: Successfully extracted and assigned +x chmod to the file: `usr/bin/bat'.
bin-gem-node annex: Created the bat shim and set +x on the bat binary
bin-gem-node annex: Created the bat shim and set +x on the bat binary
Installed 0 completions. They are stored in $INSTALLED_COMPS array.
Skipped installing 1 completions. They are stored in $SKIPPED_COMPS array.

IN:

zi ice as"command" from"gh-r" mv"hyperfine* hyperfine" sbin"**/hyperfine(.exe|) -> hyperfine"
zi light @sharkdp/hyperfine

OUT:

Downloading sharkdp/hyperfine…
(Requesting `hyperfine_1.12.0_arm64.deb'…)
######################################################################## 100.0%                                                                                                                                  
ziextract: Unpacking the files from: `hyperfine_1.12.0_arm64.deb'
ziextract: Successfully extracted and assigned +x chmod to the file: `usr/bin/hyperfine'.
bin-gem-node annex: Created the hyperfine shim and set +x on the hyperfine binary
bin-gem-node annex: Created the hyperfine shim and set +x on the hyperfine binary
Installed 0 completions. They are stored in $INSTALLED_COMPS array.
Skipped installing 1 completions. They are stored in $SKIPPED_COMPS array.

Code snippet

The issue is that instead of setting shim to the bin/..., it is set to the completion:

#!/usr/bin/env zsh

function fd {
  local bindir="/home/who-me?/.zi/plugins/sharkdp---fd/usr/share/bash-completion/completions"
  
  local -xU PATH="$bindir":"$PATH"
  
    "$bindir"/"fd" "$@"

}

fd "$@"

But same command call and same dir structure, hexyl installed correctly.

zi ice as"command" from"gh-r" mv"hexyl* hexyl" sbin"**/hexyl(.exe|) -> hexyl"
zi light @sharkdp/hexyl

For Linux could be fixed:

zi ice as"command" from"gh-r" mv"bat* bat" sbin"**/bin/bat(.exe|) -> bat"
zi light @sharkdp/bat

However, need a closer look to pin when and why it happens as only arm devices are affected.

Aditional information

These commands are set in a meta-plugins annex.

dev: zi-strap

Initial bootstrap for Zi with quick start config.

bug: zi-pager

Environment

linux-gnu|aarch64|5.8

Current behavior

Command less is missing and it seems zi unable to handle it.

Steps to reproduce

zi update with config below or:

https://github.com/wicoop/zi/blob/57ba596ca38e22a8b4df8b605f518477935e2596/lib/zsh/autoload.zsh#L589

 if [[ ${${:-=less}:A:t} = busybox* ]] {
    more 2>/dev/null
    (( ${+commands[more]} )) 
} else {
     less -FRXi 2>/dev/null
    (( ${+commands[less]} )) 
}

Code snippet

if [[ -r "/home/wicoop/.config/zi/init.zsh" ]]; then
source "/home/wicoop/.config/zi/init.zsh" && zzinit
fi
zi light-mode for z-shell/z-a-meta-plugins
@Annexes @console-tools
@zsh-users+fast @ext-git

zi light-mode for OMZL::git.zsh
OMZL::compfix.zsh OMZL::prompt_info_functions.zsh
OMZL::spectrum.zsh OMZL::clipboard.zsh OMZL::functions.zsh
OMZL::completion.zsh OMZL::termsupport.zsh OMZL::directories.zsh

zi-turbo '0a' light-mode for atload"unalias grv g" OMZP::git OMZP::sudo
OMZP::extract OMZP::encode64 OMZP::colorize

zi snippet OMZP::ssh-agent
zi snippet OMZP::gpg-agent
zi light-mode for @romkatv

Aditional information

.zi-pager:7: less not found
Updating wfxr/forgit
.zi-pager:7: less not found
Updating z-shell/F-Sy-H
.zi-pager:7: less not found
Updating z-shell/z-a-bin-gem-node
.zi-pager:7: less not found
Updating z-shell/z-a-meta-plugins
.zi-pager:7: less not found
Updating z-shell/z-a-patch-dl
.zi-pager:7: less not found
Updating z-shell/z-a-readurl
.zi-pager:7: less not found
Updating z-shell/z-a-rust
.zi-pager:7: less not found
Updating z-shell/z-a-submods
.zi-pager:7: less not found
Updating z-shell/z-a-unscope
.zi-pager:7: less not found
Updating zsh-users/zsh-autosuggestions
.zi-pager:7: less not found
Updating zsh-users/zsh-completions
.zi-pager:7: less not found

feat: zi profiles

Feature Request

Zi Profiles allow easy switch of zsh configurations. For example, if then developer tools are required simply by issuing a command would swap to the defined configuration and vice versa. Profiles can be used from the ZI repository or custom.

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

[ice]: notify

Fix:

  • notify ice

Current:

correct highlighting: zi ice notify
incorrect highlighting: zi ice notify'some text'

[fix]: ices syntax

Fix:

  • nval-ice-list
  • ice-list

This ensures correct highlighting and performance. Also improves/fixes plugins, annexes, and related scripts which need to retrieve the ices.

bug: undefined symbol bshin

Environment

OSTYPE=linux-gnu CPUTYPE=x86_64 / MACHINE_TYPE=x86_64 ZSH_VERSION=5.8.1

Expected behavior

Loads the zi/zpmod module successfully.

Current behavior

After zmodload zi/zpmod, it only gives the below error message.

zsh: failed to load module `zi/zpmod': /home/user/.zi/zmodules/zpmod/Src/zi/zpmod.so: undefined symbol: bshin

Steps to reproduce

There is a command zi module build.
After running it it hints that I can use

module_path+=( $HOME/.zi/zmodules/zpmod/Src )
zmodload zi/zpmod

to load this module.

Code snippet

### ~/.zshrc

if [[ ! -f $HOME/.zi/bin/zi.zsh ]]; then
  print -P "%F{33}▓▒░ %F{160}Installing (%F{33}z-shell/zi%F{160})…%f"
  command mkdir -p "$HOME/.zi" && command chmod g-rwX "$HOME/.zi"
  command git clone -q --depth=1 --branch "main" https://github.com/z-shell/zi "$HOME/.zi/bin" && \
    print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
    print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
source "$HOME/.zi/bin/zi.zsh"
autoload -Uz _zi
(( ${+_comps} )) && _comps[zi]=_zi

module_path+=( $HOME/.zi/zmodules/zpmod/Src )
zmodload zi/zpmod

Aditional information

The result of cd ~/.zi/zmodules/zpmod; make clean; make

cd Src && make prefix='/usr/local' exec_prefix='/usr/local' bindir='/usr/local/bin' libdir='/usr/local/lib' MODDIR='/usr/local/lib/zsh/4.3.17' infodir='/usr/local/share/info' mandir='/usr/local/share/man' datadir='/usr/local/share' fndir='/usr/local/share/zsh/4.3.17/functions' htmldir='/usr/local/share/zsh/htmldoc' CC='gcc' CPPFLAGS='-I/usr/local/include' DEFS='-DHAVE_CONFIG_H' CFLAGS='-g -Wall -O3' LDFLAGS='-L/usr/local/lib' EXTRA_LDFLAGS='-rdynamic' DLCFLAGS='-fPIC' DLLDFLAGS='-shared' LIBLDFLAGS='' EXELDFLAGS='' LIBS='-ldl -lncursesw -lrt -lm  -lc' DL_EXT='so' DLLD='gcc' AWK='gawk' ANSI2KNR=': ansi2knr' YODL=': yodl ' YODL2TXT=': yodl2txt' YODL2HTML=': yodl2html' FUNCTIONS_INSTALL='' tzsh='zsh' all
make[1]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
make[2]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
gawk -f ./signames1.awk  /usr/include/bits/signum-arch.h /usr/include/bits/signum-generic.h >sigtmp.c
case "`gcc -E --version </dev/null 2>&1`" in \
*"Free Software Foundation"*) \
gcc -E -P sigtmp.c >sigtmp.out;; \
*) \
gcc -E sigtmp.c >sigtmp.out;; \
esac
gawk -f ./signames2.awk sigtmp.out > signames.c
rm -f sigtmp.c sigtmp.out
gawk -f ../Src/makepro.awk signames.c Src > signames.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk builtin.c Src > builtin.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk module.c Src > module.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk lex.c Src > lex.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk exec.c Src > exec.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk mem.c Src > mem.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk string.c Src > string.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk parse.c Src > parse.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk hashtable.c Src > hashtable.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk init.c Src > init.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk input.c Src > input.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk loop.c Src > loop.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk utils.c Src > utils.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk params.c Src > params.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk options.c Src > options.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk signals.c Src > signals.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk pattern.c Src > pattern.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk prompt.c Src > prompt.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk compat.c Src > compat.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk jobs.c Src > jobs.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
gawk -f ../Src/makepro.awk glob.c Src > glob.syms
gawk: ../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
make[2]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'
make[2]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
grep 'define.*SIGCOUNT' signames.c > sigcount.h
make[3]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
make[3]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'
Updated `zsh.mdh'.
echo 'timestamp for zsh.mdh against zsh.mdd' > zsh.mdhs
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < signames.syms) \
	> signames.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < signames.syms) \
	> `echo signames.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < builtin.syms) \
	> builtin.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < builtin.syms) \
	> `echo builtin.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < module.syms) \
	> module.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < module.syms) \
	> `echo module.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < lex.syms) \
	> lex.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < lex.syms) \
	> `echo lex.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < exec.syms) \
	> exec.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < exec.syms) \
	> `echo exec.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < mem.syms) \
	> mem.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < mem.syms) \
	> `echo mem.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < string.syms) \
	> string.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < string.syms) \
	> `echo string.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < parse.syms) \
	> parse.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < parse.syms) \
	> `echo parse.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < hashtable.syms) \
	> hashtable.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < hashtable.syms) \
	> `echo hashtable.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < init.syms) \
	> init.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < init.syms) \
	> `echo init.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < input.syms) \
	> input.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < input.syms) \
	> `echo input.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < loop.syms) \
	> loop.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < loop.syms) \
	> `echo loop.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < utils.syms) \
	> utils.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < utils.syms) \
	> `echo utils.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < params.syms) \
	> params.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < params.syms) \
	> `echo params.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < options.syms) \
	> options.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < options.syms) \
	> `echo options.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < signals.syms) \
	> signals.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < signals.syms) \
	> `echo signals.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < pattern.syms) \
	> pattern.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < pattern.syms) \
	> `echo pattern.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < prompt.syms) \
	> prompt.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < prompt.syms) \
	> `echo prompt.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < compat.syms) \
	> compat.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < compat.syms) \
	> `echo compat.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < jobs.syms) \
	> jobs.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < jobs.syms) \
	> `echo jobs.epro | sed 's/\.epro$/.pro/'`
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < glob.syms) \
	> glob.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < glob.syms) \
	> `echo glob.epro | sed 's/\.epro$/.pro/'`
make[3]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
make[3]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'
Updated `zsh.mdh'.
make -f Makemod prefix='/usr/local' exec_prefix='/usr/local' bindir='/usr/local/bin' libdir='/usr/local/lib' MODDIR='/usr/local/lib/zsh/4.3.17' infodir='/usr/local/share/info' mandir='/usr/local/share/man' datadir='/usr/local/share' fndir='/usr/local/share/zsh/4.3.17/functions' htmldir='/usr/local/share/zsh/htmldoc' CC='gcc' CPPFLAGS='-I/usr/local/include' DEFS='-DHAVE_CONFIG_H' CFLAGS='-g -Wall -O3' LDFLAGS='-L/usr/local/lib' EXTRA_LDFLAGS='-rdynamic' DLCFLAGS='-fPIC' DLLDFLAGS='-shared' LIBLDFLAGS='' EXELDFLAGS='' LIBS='-ldl -lncursesw -lrt -lm  -lc' DL_EXT='so' DLLD='gcc' AWK='gawk' ANSI2KNR=': ansi2knr' YODL=': yodl ' YODL2TXT=': yodl2txt' YODL2HTML=': yodl2html' FUNCTIONS_INSTALL='' tzsh='zsh' prep
make[3]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
creating Src/zi/Makefile.in
config.status: creating Src/zi/Makefile
make[4]: Entering directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[4]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[3]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'
echo 'timestamp for *.mdd files' > ../Src/modules.stamp
make[3]: Entering directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[4]: Entering directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[4]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src/zi'
Updated `zpmod.mdh'.
echo 'timestamp for zpmod.mdh against zpmod.mdd' > zpmod.mdhs
gawk -f ../../Src/makepro.awk zpmod.c Src/zi > zpmod.syms
gawk: ../../Src/makepro.awk:124: warning: regexp escape sequence `\=' is not a known regexp operator
(echo '/* Generated automatically */'; sed -n '/^E/{s/^E//;p;}' < zpmod.syms) \
	> zpmod.epro
(echo '/* Generated automatically */'; sed -n '/^L/{s/^L//;p;}' < zpmod.syms) \
	> `echo zpmod.epro | sed 's/\.epro$/.pro/'`
make[4]: Entering directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[4]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src/zi'
Updated `zpmod.mdh'.
make[3]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[2]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'
make[2]: Entering directory '/home/user/.zi/zmodules/zpmod/Src'
make[3]: Entering directory '/home/user/.zi/zmodules/zpmod/Src/zi'
gcc -c -I. -I../../Src -I../../Src -I../../Src/Zle -I. -I/usr/local/include -DHAVE_CONFIG_H -DMODULE -g -Wall -O3 -fPIC -o zpmod..o zpmod.c
zpmod.c: In function ‘bin_readarray’:
zpmod.c:1301:33: warning: variable ‘oarr_name’ set but not used [-Wunused-but-set-variable]
 1301 |         char *callback = NULL, *oarr_name = NULL; // unused: **oarr = NULL;
      |                                 ^~~~~~~~~
zpmod.c:1301:15: warning: variable ‘callback’ set but not used [-Wunused-but-set-variable]
 1301 |         char *callback = NULL, *oarr_name = NULL; // unused: **oarr = NULL;
      |               ^~~~~~~~
zpmod.c:1300:93: warning: variable ‘quantum’ set but not used [-Wunused-but-set-variable]
 1300 |         int delim = '\n', to_copy = 0, start_at = 1, skip_first = 0, remdel = 0, srcfd = 0, quantum = 5000;
      |                                                                                             ^~~~~~~
zpmod.c:1300:70: warning: variable ‘remdel’ set but not used [-Wunused-but-set-variable]
 1300 |         int delim = '\n', to_copy = 0, start_at = 1, skip_first = 0, remdel = 0, srcfd = 0, quantum = 5000;
      |                                                                      ^~~~~~
zpmod.c:1300:54: warning: variable ‘skip_first’ set but not used [-Wunused-but-set-variable]
 1300 |         int delim = '\n', to_copy = 0, start_at = 1, skip_first = 0, remdel = 0, srcfd = 0, quantum = 5000;
      |                                                      ^~~~~~~~~~
zpmod.c:1300:40: warning: variable ‘start_at’ set but not used [-Wunused-but-set-variable]
 1300 |         int delim = '\n', to_copy = 0, start_at = 1, skip_first = 0, remdel = 0, srcfd = 0, quantum = 5000;
      |                                        ^~~~~~~~
zpmod.c:1300:27: warning: variable ‘to_copy’ set but not used [-Wunused-but-set-variable]
 1300 |         int delim = '\n', to_copy = 0, start_at = 1, skip_first = 0, remdel = 0, srcfd = 0, quantum = 5000;
      |                           ^~~~~~~
zpmod.c:1300:13: warning: variable ‘delim’ set but not used [-Wunused-but-set-variable]
 1300 |         int delim = '\n', to_copy = 0, start_at = 1, skip_first = 0, remdel = 0, srcfd = 0, quantum = 5000;
      |             ^~~~~
At top level:
zpmod.c:1670:1: warning: ‘zp_createhashparam’ defined but not used [-Wunused-function]
 1670 | zp_createhashparam(char *name, int flags)
      | ^~~~~~~~~~~~~~~~~~
rm -f zpmod.so
gcc -L/usr/local/lib  -shared -o zpmod.so   zpmod..o    -ldl -lncursesw -lrt -lm  -lc 
make[3]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src/zi'
make[2]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'
make[1]: Leaving directory '/home/user/.zi/zmodules/zpmod/Src'

Documentation

Prepare initial documentation for the repository.

dev: messages & style

Your feedback for the existing codebase

  • All print commands. (replaced with +zi-message where possible).
  • Colors (consistent colors of messages output).
    • External repositories (plugins/annex) requires same as above.

References:

Function: ZI color palette

# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
# vim: ft=zsh sw=2 ts=2 et

zi-palette() {
  for k ( "${(@kon)ZI[(I)col-*]}" ); do
    local i=$ZI[$k]
    print "$reset_color${(r:14:: :):-$k:} $i===#ZI#==="
  done
}

Command: print in detail

print [ -abcDilmnNoOpPrsSz ] [ -u n ] [ -f format ] [ -C cols ] [ -v name ] [ -xX tabstop ] [ -R [ -en ]] [ arg ... ]

With the ‘-f’ option the arguments are printed as described by printf. With no flags or with the flag ‘-’, the arguments are printed on the standard output as described by echo, with the following differences: the escape sequence ‘\M-x’ (or ‘\Mx’) metafies the character x (sets the highest bit), ‘\C-x’ (or ‘\Cx’) produces a control character (‘\C-@’ and ‘\C-?’ give the characters NULL and delete), a character code in octal is represented by ‘\NNN’ (instead of ‘\0NNN’), and ‘\E’ is a synonym for \e’. Finally, if not in an escape sequence, ‘\’ escapes the following character and is not printed.

-a
Print arguments with the column incrementing first. Only useful with the -c and -C options.

-b
Recognize all the escape sequences defined for the bindkey command, see Zle Builtins.

-c
Print the arguments in columns. Unless -a is also given, arguments are printed with the row incrementing first.

-C cols
Print the arguments in cols columns. Unless -a is also given, arguments are printed with the row incrementing first.

-D
Treat the arguments as paths, replacing directory prefixes with ~ expressions corresponding to directory names, as appropriate.

-i
If given together with -o or -O, sorting is performed case-independently.

-l
Print the arguments separated by newlines instead of spaces.

-m
Take the first argument as a pattern (should be quoted), and remove it from the argument list together with subsequent arguments that do not match this pattern.

-n
Do not add a new line to the output.

-N
Print the arguments separated and terminated by nulls.

-o
Print the arguments sorted in ascending order.

-O
Print the arguments sorted in descending order.

-p
Print the arguments to the input of the coprocess.

-P
Perform prompt expansion (see Prompt Expansion). In combination with ‘-f’, prompt escape sequences are parsed only within interpolated arguments, not within the format string.

-r
Ignore the escape conventions of echo.

-R
Emulate the BSD echo command, which does not process escape sequences unless the flag is given. The -n flag suppresses the trailing newline. Only thee and -n flags are recognized after -R; all other arguments and options are printed.

-s
Place the results in the history list instead of on the standard output. Each argument to the print command is treated as a single word in history, regardless of its content.

-S
Place the results in the history list instead of on the standard output. In this case, only a single argument is allowed; it will be split into words as if it were a full shell command line. The effect is similar to reading the line from a history file with the HIST_LEX_WORDS option active.

-u n
Print the arguments to file descriptor n.

-v name
Store the printed arguments as the value of the parameter name.

-x tab-stop
Expand leading tabs on each line of output in the printed string assuming a tab stops every tab-stop character. This is appropriate for formatting code that may be indented with tabs. Note that leading tabs of any argument to print, not just the first, are expanded, even if the print is using spaces to separate arguments (the column count is maintained across arguments but may be incorrect on output owing to previous unexpanded tabs).

The start of the output of each print command is assumed to be aligned with a tab stop. Widths of multibyte characters are handled if the option MULTIBYTE is in effect. This option is ignored if other formatting options are in effect, namely column alignment or printf style, or if the output is to a special location such as shell history or the command-line editor.

-X tab-stop
This is similar to -x, except that all tabs in the printed string are expanded. This is appropriate if tabs in the arguments are being used to produce a table format.

-z
Push the arguments onto the editing buffer stack, separated by spaces.

If any of ‘-m’, ‘-o’ or ‘-O’ are used in combination with ‘-f’ and there are no arguments (after the removal process in the case of ‘-m’) then nothing is printed.

dev: ziextract - missing error handling

#64 - Finished ziextract test which passed, however, some parts could be improved, as some distros don't have file installed by default which makes ziextract fail without providing correct error code while all other informs about failed failures correctly.

[dev]: investige times

Your feedback for the existing codebase

Zi times

Recorded unexpected behavior using: zi times The zi times --moments | -s | -m | -a has to be investigated, fixed, and documented accordingly.

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

No response

bug: missing: .zi/bin/zinit-side.zsh

Zsh version:

zsh 5.8 (x86_64-pc-linux-gnu)

Description:

Appeared after adding z-a-meta... + ext-git

Functions should be checked on the side of the plugins first.

∧za-meta-plugins-before-load-handler:source:85: no such file or directory: .zi/bin/zinit-side.zsh
6. [meta-plugins annex] Loading meta-plugin: `ext-git' consisting of:zsh: .zinit-any-colorify-as-uspl2: command not found...
 1) ∕home∕sall∕.zi∕plugins∕wfxr---forgit,zsh: .zinit-any-colorify-as-uspl2: command not found...
 2) ∕home∕sall∕.zi∕plugins∕wfxr---forgit,zsh: .zinit-any-colorify-as-uspl2: command not found...
 3) ∕home∕sall∕.zi∕plugins∕wfxr---forgit,zsh: .zinit-any-colorify-as-uspl2: command not found...
 4) ∕home∕sall∕.zi∕plugins∕wfxr---forgit,zsh: .zinit-any-colorify-as-uspl2: command not found...
 5) ∕home∕sall∕.zi∕plugins∕wfxr---forgit,zsh: .zinit-any-colorify-as-uspl2: command not found...
 6) ∕home∕sall∕.zi∕plugins∕wfxr---forgit,zsh: .zinit-any-colorify-as-uspl2: command not found...
 7) ∕home∕sall∕.zi∕plugins∕wfxr---forgit.

[bug]: zsh startup never finishes and prompt is not shown unless aborted

Environment

OSTYPE=linux-gnu CPUTYPE=x86_64 / MACHINE_TYPE=x86_64 ZSH_VERSION=5.9

Expected behavior

Zsh starts without problems

Current behavior

When starting zsh, never finishes and prompt is not shown unless aborted. I run zsh -i -x -c exit and then press Ctrl+C to abort it seems to stuck here

...
+add-zsh-hook:92> autoload -- @zi-scheduler
+/home/aedu/.zi/bin/zi.zsh:2743> ZI[HAVE_SCHEDULER]=1 
+/home/aedu/.zi/bin/zi.zsh:2745> functions -M -- zi_scheduler_add 1 1 -zi_scheduler_add_sh

zi_issue

Steps to reproduce

Simply run zsh with given config.

Code snippet

You can find my config and sources aliases etc. [here][https://github.com/papanito/dot-files/tree/0dde680e4e7da40e976795ee5d3b52d781abb843/personal/shell). This .zshrc is not working.

# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block, everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# Created by newuser for 5.2
# The following lines were added by compinstall
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

autoload -Uz compinit
compinit
# End of lines added by compinstall

# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd extendedglob notify hist_ignore_all_dups hist_ignore_space
bindkey -e
# End of lines configured by zsh-newuser-install

ZSH_DOTENV_FILE=.dotenv
if [ -f ~/.aliases ]; then . ~/.aliases ; fi
if [ -f ~/.functions ]; then . ~/.functions ; fi
if [ -f ~/.azure_completion ]; then . ~/.azure_completion ; fi

autoload -U add-zsh-hook                      # Load the zsh hook module. 
add-zsh-hook preexec pre_validation           # Adds the hook

# # enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
fi

# https://gnunn1.github.io/tilix-web/manual/vteconfig/
if [ $TILIX_ID ] || [ $VTE_VERSION ]; then
    source /etc/profile.d/vte.sh
fi

# https://z.digitalclouds.dev/docs/getting_started/installation/#-setup-zi-directory
if [[ ! -f $HOME/.zi/bin/zi.zsh ]]; then
  print -P "%F{33}▓▒░ %F{160}Installing (%F{33}z-shell/zi%F{160})…%f"
  command mkdir -p "$HOME/.zi" && command chmod g-rwX "$HOME/.zi"
  command git clone -q --depth=1 --branch "v1.0.1" https://github.com/z-shell/zi "$HOME/.zi/bin" && \
    print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
    print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
zi_home="${HOME}/.zi"
source "${zi_home}/bin/zi.zsh"
autoload -Uz _zi
(( ${+_comps} )) && _comps[zi]=_zi

# https://github.com/z-shell/zsh-navigation-tools
zi load z-shell/zsh-navigation-tools

autoload znt-history-widget
zle -N znt-history-widget
bindkey "^R" znt-history-widget

zle -N znt-cd-widget
bindkey "^B" znt-cd-widget

zle -N znt-kill-widget
bindkey "^Y" znt-kill-widget

zi light zsh-users/zsh-autosuggestions
zi light z-shell/F-Sy-H

zi load romkatv/powerlevel10k
#zi ice depth=1; zi light romkatv/powerlevel10k

## https://z.digitalclouds.dev/docs/getting_started/overview/
zi snippet OMZ::plugins/archlinux
zi snippet OMZ::plugins/ansible
zi snippet OMZ::plugins/dotenv
zi snippet OMZ::plugins/docker
zi snippet OMZ::plugins/docker-compose
zi snippet OMZ::plugins/flutter
zi snippet OMZ::plugins/gnu-utils
zi snippet OMZ::plugins/gcloud
zi snippet OMZ::plugins/git
zi snippet OMZ::plugins/git-extras
zi snippet OMZ::plugins/github
zi snippet OMZ::plugins/gitignore
zi snippet OMZ::plugins/git-prompt
zi snippet OMZ::plugins/golang
zi snippet OMZ::plugins/gradle
zi snippet OMZ::plugins/helm
zi snippet OMZ::plugins/heroku
zi snippet OMZ::plugins/jump
zi snippet OMZ::plugins/kubectl
zi snippet OMZ::plugins/pip
zi snippet OMZ::plugins/python
zi snippet OMZ::plugins/ssh-agent
zi snippet OMZ::plugins/tmux
zi snippet OMZ::plugins/terraform

# https://github.com/zsh-users/zsh-history-substring-search
zi light zsh-users/zsh-history-substring-search
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down

export exa_params=('--git' '--classify' '--group-directories-first' '--time-style=long-iso' '--group' '--color-scale')
zi light zplugin/zsh-exa

eval "$(navi widget zsh)"
#eval "$(direnv hook zsh)"

#q To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

Aditional information

Moving the sourcing of .aliases and .functions solved the issue for me

- ❮ ZI ❯ Analytics:
❯ compiled          – List plugins that are compiled
❯ zstatus           – Overall status
❯ module help       – Manage zpmod
❯ dtrace|dstart     – Start tracking what's going on in session
❯ dstop             – Stop tracking what's going on in session
❯ dreport           – Report what was going on in session
❯ dunload           – Revert changes recorded between dstart and dstop
❯ dclear            – Clear report of what was going on in session
❯ bindkeys          – List bindkeys
❯ clist|completions – List completions in use
❯ cdlist            – Show compdef replay list
❯ csearch           – Search for available completions from any plugin
❯ man               – Show manual
❯ ls                – List snippets in formatted and colorized manner
❯ status            [--all] [plugin]|URL – Git status for plugin or svn status for snippet
❯ report            [--all] [plugin] – Show reports
❯ times             [-s][-m][-a] – Statistics on plugin load times, sorted in order of loading
❯ glance            [plugin] – Look at plugin's source
❯ stress            [plugin] – Test plugin for compatibility with set of options
❯ changes           [plugin] – View plugin's git log
❯ recently          [time] – Show plugins that changed recently (e.g.: 1 month 2 days)
❯ cd                [plugin] – Enter plugin's directory; also support snippets, if feed with URL
❯ loaded|lists      [keyword] – Show what plugins are loaded (filter: keyword)

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

[email protected]

[dev]: zi-compile-plugin-hook

Your feedback for the existing codebase

Hook warning and info message are printed the same:

No files for compilation found…
Warning: ∞zi-compile-plugin-hook hook returned with 1

The warning hook should be removed with an exception if file compilation fails or only in verbose mode. In both scenarios, the return exit code has to be ensured.

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

No response

[feat]: Reinstate

Feature description

Due unexpected behaviour (e.g: plugin) allow to reinstate it's status rather then deleting and downloading or etc. This would allow to quickly recover from unwanted behaviour by reinstating recent/possible parts in the environment.

Related Code

Currently, none which I can propose. (WIP)

Additional Context

Currently, perform various tasks to identify possible areas where reinstatement could be applied.

Self-service

  • I'd be willing to address this documentation request myself.

Have you read the Contributing Guidelines?

Are you familiar with Contributor Covenant Code of Conduct?

Contact Details

[email protected]

[feat]: ZPFX structure

Create the default directory structure for ZPFX same time as ZI[HOME_DIR]. This prevents missing directories when installing plugins and can be documented and explained in the wiki on how it can be used.

dev:pin

Your feedback for the existing codebase

Due to all proposals and achievements, all repository files have to be verified, pinned to the backlog, and junk cleaned up.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.