diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 116720c..0000000 --- a/.editorconfig +++ /dev/null @@ -1,123 +0,0 @@ -# Space or Tabs? -# https://stackoverflow.com/questions/35649847/objective-reasons-for-using-spaces-instead-of-tabs-for-indentation -# https://stackoverflow.com/questions/12093748/how-to-use-tabs-instead-of-spaces-in-a-shell-script -# -# 1. What happens when I press the Tab key in my text editor? -# 2. What happens when I request my editor to indent one or more lines? -# 3. What happens when I view a file containing U+0009 HORIZONTAL TAB characters? -# -# Answers: -# -# 1. Pressing the Tab key should indent the current line (or selected lines) one additional level. -# 2. As a secondary alternative, I can also tolerate an editor that, -# like Emacs, uses this key for a context-sensitive fix-my-indentation command. -# 3. Indenting one or more lines should follow the reigning convention, if consensus is sufficiently strong; otherwise, -# I greatly prefer 2-space indentation at each level. U+0009 characters should shift subsequent characters to the next tab stop. -# -# Note: VIM users should use alternate marks [[[ and ]]] as the original ones can confuse nested substitutions, e.g.: ${${${VAR}}} -# -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et - -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -[*.{md,rst}] -insert_final_newline = false -trim_trailing_whitespace = false - -[*.{sh,bash,zsh,fish}] -indent_style = space -indent_size = 2 -tab_width = 2 - -[Makefile] -indent_style = tab -indent_size = 4 - -[*.{css,less}] -indent_style = space -indent_size = 2 - -[*.{py,rb}] -indent_style = space -indent_size = 4 - -[*.{go,java,scala,groovy,kotlin}] -indent_style = tab -indent_size = 4 - -[*.{js,jsx,html,xml,sass,json,yml,yaml,toml}] -charset = utf-8 -indent_style = space -indent_size = 2 -max_line_length = 120 - -[CHANGELOG.md] -indent_style = tab -indent_size = 4 - -[*.{c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,inl,ipp,tlh,tli}] -cpp_indent_braces=false -cpp_indent_multi_line_relative_to=innermost_parenthesis -cpp_indent_within_parentheses=indent -cpp_indent_preserve_within_parentheses=false -cpp_indent_case_labels=false -cpp_indent_case_contents=true -cpp_indent_case_contents_when_block=false -cpp_indent_lambda_braces_when_parameter=true -cpp_indent_goto_labels=one_left -cpp_indent_preprocessor=leftmost_column -cpp_indent_access_specifiers=false -cpp_indent_namespace_contents=true -cpp_indent_preserve_comments=false -cpp_new_line_before_open_brace_namespace=ignore -cpp_new_line_before_open_brace_type=ignore -cpp_new_line_before_open_brace_function=ignore -cpp_new_line_before_open_brace_block=ignore -cpp_new_line_before_open_brace_lambda=ignore -cpp_new_line_scope_braces_on_separate_lines=false -cpp_new_line_close_brace_same_line_empty_type=false -cpp_new_line_close_brace_same_line_empty_function=false -cpp_new_line_before_catch=true -cpp_new_line_before_else=true -cpp_new_line_before_while_in_do_while=false -cpp_space_before_function_open_parenthesis=remove -cpp_space_within_parameter_list_parentheses=false -cpp_space_between_empty_parameter_list_parentheses=false -cpp_space_after_keywords_in_control_flow_statements=true -cpp_space_within_control_flow_statement_parentheses=false -cpp_space_before_lambda_open_parenthesis=false -cpp_space_within_cast_parentheses=false -cpp_space_after_cast_close_parenthesis=false -cpp_space_within_expression_parentheses=false -cpp_space_before_block_open_brace=true -cpp_space_between_empty_braces=false -cpp_space_before_initializer_list_open_brace=false -cpp_space_within_initializer_list_braces=true -cpp_space_preserve_in_initializer_list=true -cpp_space_before_open_square_bracket=false -cpp_space_within_square_brackets=false -cpp_space_before_empty_square_brackets=false -cpp_space_between_empty_square_brackets=false -cpp_space_group_square_brackets=true -cpp_space_within_lambda_brackets=false -cpp_space_between_empty_lambda_brackets=false -cpp_space_before_comma=false -cpp_space_after_comma=true -cpp_space_remove_around_member_operators=true -cpp_space_before_inheritance_colon=true -cpp_space_before_constructor_colon=true -cpp_space_remove_before_semicolon=true -cpp_space_after_semicolon=false -cpp_space_remove_around_unary_operator=true -cpp_space_around_binary_operator=insert -cpp_space_around_assignment_operator=insert -cpp_space_pointer_reference_alignment=left -cpp_space_around_ternary_operator=insert -cpp_wrap_preserve_blocks=one_liners diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index efcbc73..0000000 --- a/.gitattributes +++ /dev/null @@ -1,197 +0,0 @@ -# Common settings that generally should always be used with your language specific settings - -# Auto detect text files and perform LF normalization -* text=auto - -# -# The above will handle all files NOT found below -# - -# Source code -*.bash text eol=lf -*.bat text eol=crlf -*.cmd text eol=crlf -*.coffee text -*.css text diff=css -*.htm text diff=html -*.html text diff=html -*.inc text -*.ini text -*.js text -*.json text -*.jsx text -*.less text -*.ls text -*.map text -diff -*.od text -*.onlydata text -*.php text diff=php -*.pl text -*.ps1 text eol=crlf -*.py text diff=python -*.rb text diff=ruby -*.sass text -*.scm text -*.scss text diff=css -*.sh text eol=lf -*.sql text -*.styl text -*.tag text -*.ts text -*.tsx text -*.xml text -*.xhtml text diff=html -*.zsh text eol=lf diff=zsh - -# Docker -Dockerfile text - -# Documents -*.bibtex text diff=bibtex -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain -*.md text diff=markdown -*.mdx text diff=markdown -*.tex text diff=tex -*.adoc text -*.textile text -*.mustache text -*.csv text -*.tab text -*.tsv text -*.txt text -*.sql text -*/AUTHORS text -*/CHANGELOG text -*/CHANGES text -*/CONTRIBUTING text -*/COPYING text -*/copyright text -*COPYRIGHT* text -INSTALL text -license text -LICENSE text -NEWS text -readme text -*README* text -TODO text -.husky/pre-commit text eol=lf diff=sh -static/_headers text -static/_redirects text - -# Configs -*.cnf text -*.conf text -*.config text -.editorconfig text -.env text -.gitattributes text -.gitconfig text -.htaccess text -*.lock text -diff -package.json text eol=lf -package-lock.json text -diff -pnpm-lock.yaml text eol=lf -diff -.prettierrc text -yarn.lock text -diff -*.toml text -*.yaml text -*.yml text -browserslist text -Makefile text -makefile text - -# Graphics -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.tif binary -*.tiff binary -*.ico binary -*.mov binary -*.mp4 binary -*.mp3 binary -*.flv binary -*.fla binary -*.swf binary -*.pdf binary -*.ez binary -*.bz2 binary -*.swp binary -*.webp binary - -# SVG treated as text by default. -# *.svg text -# If you want to treat it as binary, -# use the following line instead. -*.svg binary -*.eps binary - -# Scripts -*.bash text eol=lf -*.fish text eol=lf -*.sh text eol=lf -*.zsh text eol=lf -# These are explicitly windows files and should use crlf -*.bat text eol=crlf -*.cmd text eol=crlf -*.ps1 text eol=crlf - -# Serialisation -*.json text -*.toml text -*.xml text -*.yaml text -*.yml text - -# Archives -*.7z binary -*.gz binary -*.tar binary -*.tgz binary -*.zip binary - -# Text files where line endings should be preserved -*.patch -text - -# Fonts -*.ttf binary -*.eot binary -*.otf binary -*.woff binary -*.woff2 binary - -# Executables -*.exe binary -*.pyc binary - -# RC files (like .babelrc or .eslintrc) -*.*rc text - -# Archives -*.7z binary -*.gz binary -*.jar binary -*.rar binary -*.tar binary -*.zip binary - -# Ignore files (like .npmignore or .gitignore) -*.*ignore text - -# -# Exclude files from exporting -# - -.gitattributes export-ignore -.gitignore export-ignore -.gitkeep export-ignore \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 102ff7f..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "gitsubmodule" - directory: "/" - schedule: - interval: "daily" diff --git a/.github/workflows-disabled/assessor.yml b/.github/workflows-disabled/assessor.yml deleted file mode 100644 index 9a0fe9d..0000000 --- a/.github/workflows-disabled/assessor.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: 🏅 Plugin Assessor - -on: - schedule: - - cron: "30 03 01 */3 *" - workflow_dispatch: - -env: - TERM: xterm-256color - -jobs: - run-assessor: - runs-on: ubuntu-latest - steps: - - name: ⤵️ Check out code from GitHub - uses: actions/checkout@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - submodules: recursive - persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token. - fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository. - - name: 📦 Dependencies - run: sudo apt-get update && sudo apt-get upgrade -yq && sudo apt-get install zsh -yq - - name: 🚀 Run Assessor - run: | - ./render.zsh - working-directory: docs/zsh-plugins-commit-top - - name: ☑️ Commit files - run: | - cp -vf docs/zsh-plugins-commit-top/README.md wiki/zi/06-knowledge-base/Zsh-Plugins-Commit-TOP.md - git config --local user.email "digital-teams@pm.me" - git config --local user.name " digital-teams [bot]" - git add docs/zsh-plugins-commit-top/README.md wiki/zi/06-knowledge-base/Zsh-Plugins-Commit-TOP.md - git commit --allow-empty -m "Zsh Plugins commit update" -a - - name: 📤 Push changes - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ github.ref }} diff --git a/.github/workflows-disabled/wiki-sync.yml b/.github/workflows-disabled/wiki-sync.yml deleted file mode 100644 index 827cfb9..0000000 --- a/.github/workflows-disabled/wiki-sync.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -name: 📖 Wiki Sync - -on: - push: - paths: - - "docs/wiki/**" - repository_dispatch: - types: [docs] - gollum: - -env: - GIT_AUTHOR_NAME: ZI Actionbot - GIT_AUTHOR_EMAIL: z-shell@digitalclouds.dev - -jobs: - job-sync-docs-to-wiki: - runs-on: ubuntu-latest - if: github.event_name != 'gollum' - steps: - - name: ⤵️ Check out code from GitHub - uses: actions/checkout@v3 - - name: 📤 Sync Docs to Wiki - uses: newrelic/wiki-sync-action@master - with: - source: docs/wiki - destination: wiki - token: ${{ secrets.GH_PAT }} - gitAuthorName: ${{ env.GIT_AUTHOR_NAME }} - gitAuthorEmail: ${{ env.GIT_AUTHOR_EMAIL }} - - job-sync-wiki-to-docs: - runs-on: ubuntu-latest - if: github.event_name == 'gollum' - steps: - - name: ⤵️ Check out code from GitHub - uses: actions/checkout@v3 - with: - token: ${{ secrets.GH_PAT }} - ref: develop - - name: 📥 Sync Wiki to Docs - uses: newrelic/wiki-sync-action@master - with: - source: wiki - destination: docs/wiki - token: ${{ secrets.GH_PAT }} - gitAuthorName: ${{ env.GIT_AUTHOR_NAME }} - gitAuthorEmail: ${{ env.GIT_AUTHOR_EMAIL }} - branch: develop diff --git a/.github/workflows-disabled/wiki-zi.yml b/.github/workflows-disabled/wiki-zi.yml deleted file mode 100644 index 38c41cf..0000000 --- a/.github/workflows-disabled/wiki-zi.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: 📖 ZI - -on: - push: - paths: - - "wiki/zi/**" - workflow_dispatch: - -jobs: - deploy-wiki: - runs-on: ubuntu-latest - steps: - - name: ⤵️ Check out code from GitHub - uses: actions/checkout@v3 - - name: 🏗 Prepare wiki - run: make -C wiki/zsh to-wiki-pages - - name: 📤 Sync Docs to Wiki - uses: Andrew-Chen-Wang/github-wiki-action@v3 - env: - WIKI_DIR: wiki/zi/ - REPO: z-shell/zi - GH_TOKEN: ${{ secrets.GH_PAT }} - GH_MAIL: ${{ secrets.GH_MAIL }} - GH_NAME: ${{ github.repository_owner }} - #EXCLUDED_FILES: "wiki/zi/drafts/" diff --git a/.github/workflows-disabled/wiki-zsh.yml b/.github/workflows-disabled/wiki-zsh.yml deleted file mode 100644 index 292d613..0000000 --- a/.github/workflows-disabled/wiki-zsh.yml +++ /dev/null @@ -1,60 +0,0 @@ ---- -name: 📖 Zsh - -on: - push: - paths: - - "wiki/zsh/**" - pull_request: - paths: - - "wiki/zsh/**" - workflow_dispatch: - -jobs: - generate-documentation: - runs-on: ubuntu-latest - steps: - - name: ⤵️ Check out code from GitHub - uses: actions/checkout@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - submodules: recursive - - name: ⚡ Install zsdoc - run: | - sudo apt-get install -y zsh tree - sudo make -C lib/zsdoc install - - name: 💎 Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.0 - bundler-cache: true - - name: 📝 Install asciidoctor-pdf and rouge - run: | - gem install asciidoctor-pdf rouge - - uses: actions/checkout@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - name: ♻️ Generate Documentation - run: | - make -C wiki/zsh clean - make -C wiki/zsh all - - name: ♻️ Compress the Zsh Documentation - run: tar cvzf zsh-wiki.tar.gz wiki/zsh - - name: Upload zsh-wiki.tar.gz - uses: actions/upload-artifact@v3 - with: - name: ♻️ Zsh Documentation - path: zsh-wiki.tar.gz - - uses: actions/checkout@v3 - - name: ♻️ Prepare GitHub Pages - run: | - make -C wiki/zsh prep-gh-pages - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git add code/zsh - git commit --allow-empty -m "Zsh Documentation Update" -a - - name: 📤 Push changes - uses: ad-m/github-push-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ github.ref }} diff --git a/.github/workflows/code.yml b/.github/workflows/code.yml deleted file mode 100644 index ed361d8..0000000 --- a/.github/workflows/code.yml +++ /dev/null @@ -1,66 +0,0 @@ ---- -name: 📖 Code -on: - push: - branches: [main] - paths: - - ".github/workflows/code.yml" - pull_request: - branches: [main] - paths: - - ".github/workflows/code.yml" - schedule: - - cron: "30 4 * * 4" - workflow_dispatch: {} - -permissions: read-all - -jobs: - generate: - runs-on: ubuntu-latest - timeout-minutes: 30 - concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - submodules: recursive - fetch-depth: 0 - ref: ${{ github.event.pull_request.head.ref }} - - name: ⚡ Dependencies - run: | - sudo apt-get update -y - sudo apt-get install -y zsh tree - sudo make -C lib/zsdoc install - - name: 💎 Setup Ruby - uses: ruby/setup-ruby@v1.228.0 - with: - ruby-version: 3.3 - bundler-cache: true - - name: 📝 Install asciidoctor-pdf and rouge - run: gem install asciidoctor-pdf rouge - - name: ♻️ Generate Code - run: | - make -C code - make -C code clean - - name: 🏗 Compress code documentation - run: tar cvzf code.tar.gz code - - name: 📤 Upload code.tar.gz - uses: actions/upload-artifact@v4 - with: - name: code documentation - path: code.tar.gz - - name: ♻️ Cleanup - run: rm -rf code.tar.gz - - name: "🆗 Commit" - if: ${{ github.event_name != 'pull_request' }} - uses: z-shell/.github/actions/commit@main - with: - commitMessage: Code ${{ github.sha }} - workDir: code - commitUserName: digital-teams[bot] - commitUserEmail: actions@zshell.dev diff --git a/.github/workflows/push-code.yml b/.github/workflows/push-code.yml deleted file mode 100644 index 81e9c98..0000000 --- a/.github/workflows/push-code.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -name: 🚀 Deploy Code to GH Pages - -on: - workflow_run: - workflows: - - "📖 Code" - types: - - completed - -permissions: read-all - -jobs: - deploy: - runs-on: ubuntu-latest - concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - permissions: - contents: write - steps: - - name: ⤵️ Check out code from GitHub - uses: actions/checkout@v4 - - name: ♻️ Prepare - run: | - command mkdir -p gh-pages/code gh-pages/zsh - command cp -vrf code/zsdoc/html gh-pages/code/ - - name: 🚀 Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v4 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_branch: gh-pages - publish_dir: ./gh-pages - allow_empty_commit: true - keep_files: true - user_name: ${{ secrets.ACTIONS_USER }} - user_email: ${{ secrets.ACTIONS_MAIL }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 9ffe11b..0000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: 👻 Stale - -on: - schedule: - - cron: "0 8 * * *" - workflow_dispatch: - -permissions: read-all - -jobs: - stale: - name: 🧹 Clean up stale issues and PRs - runs-on: ubuntu-latest - permissions: - issues: write - steps: - - name: 🚀 Run stale - uses: actions/stale@v9 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - days-before-stale: 30 - days-before-close: 7 - remove-stale-when-updated: true - stale-issue-label: "stale 👻" - exempt-issue-labels: "no-stale 🔒,help-wanted 👥" - stale-issue-message: > - There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be - marked as stale. Please make sure to update to the latest version and check if that solves the issue. Let us - know if that works for you by leaving a 👍 Because this issue is marked as stale, it will be closed and - locked in 7 days if no further activity occurs. Thank you for your contributions! - - stale-pr-label: "stale 👻" - exempt-pr-labels: "no-stale 🔒" - stale-pr-message: > - There hasn't been any activity on this pull request recently, and in order to prioritize active work, it has - been marked as stale. This PR will be closed and locked in 7 days if no further activity occurs. Thank you - for your contributions! diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 8b37e8f..0000000 --- a/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -*.code-workspace - -# Local files -.history/ -.drafts/ -.trunk/out* - -# Exclude from GH Pages push -code/Makefile -code/zsdoc/data -code/zsdoc/Makefile -code/zsdoc/README.md diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 1db28cd..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "lib/zsdoc"] -path = lib/zsdoc -url = https://github.com/z-shell/zsdoc \ No newline at end of file diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/.trunk/.gitignore b/.trunk/.gitignore deleted file mode 100644 index 15966d0..0000000 --- a/.trunk/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*out -*logs -*actions -*notifications -*tools -plugins -user_trunk.yaml -user.yaml -tmp diff --git a/.trunk/config/.markdownlint.yaml b/.trunk/config/.markdownlint.yaml deleted file mode 100644 index 465a928..0000000 --- a/.trunk/config/.markdownlint.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# Autoformatter friendly markdownlint config (all formatting rules disabled) -default: true -blank_lines: false -bullet: false -html: false -indentation: false -line_length: false -spaces: false -url: false -whitespace: false -MD041: false diff --git a/.trunk/config/.yamllint.yaml b/.trunk/config/.yamllint.yaml deleted file mode 100644 index 184e251..0000000 --- a/.trunk/config/.yamllint.yaml +++ /dev/null @@ -1,7 +0,0 @@ -rules: - quoted-strings: - required: only-when-needed - extra-allowed: ["{|}"] - key-duplicates: {} - octal-values: - forbid-implicit-octal: true diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml deleted file mode 100644 index 909c7b1..0000000 --- a/.trunk/trunk.yaml +++ /dev/null @@ -1,45 +0,0 @@ -version: 0.1 -runtimes: - enabled: - - python@3.10.8 - - go@1.21.0 - - node@18.20.5 -cli: - version: 1.22.11 - options: - - commands: [check, fmt] - - args: -y -plugins: - sources: - - id: trunk - ref: v1.6.7 - uri: https://github.com/trunk-io/plugins -repo: - repo: - host: github.com - owner: z-shell - name: docs -actions: - enabled: - - trunk-upgrade-available - - trunk-announce - - trunk-upgrade-available - - trunk-check-pre-push - - trunk-fmt-pre-commit - - trunk-cache-prune -lint: - disabled: - - yamllint - enabled: - - checkov@3.2.392 - - trufflehog@3.88.18 - - git-diff-check - - actionlint@1.7.7 - - gitleaks@8.24.2 - - markdownlint@0.44.0 - - prettier@3.5.3 - ignore: - - linters: [markdownlint, prettier] - paths: - - wiki/** - - code/zsdoc/html/* diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index ec4deae..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "[markdown]": { - "editor.formatOnSave": true, - "editor.formatOnPaste": true - }, - "editor.codeActionsOnSave": { - "source.fixAll.markdownlint": true - }, - "conventionalCommits.scopes": ["maintenance", "workspace", "community", "general", "theme"], - "markdownlint.config": { - "extends": ".github/.markdownlint.yaml" - }, - "files.associations": { - "*.md": "mdx" - } -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f288702..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/code/Makefile b/code/Makefile deleted file mode 100644 index 0649b45..0000000 --- a/code/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -all: zsdoc - -%.zwc: % - zi/lib/zcompile $< - -clone: - rm -rf zi - git clone --depth 1 --branch main https://github.com/z-shell/zi - -adoc: clone zi/zi.zsh.zwc zi/lib/zsh/side.zsh.zwc zi/lib/zsh/install.zsh.zwc zi/lib/zsh/autoload.zsh.zwc zi/lib/zsh/additional.zsh.zwc - rm -f zsdoc/*.adoc - zsd -v --scomm \ - --cignore '(\#[[:blank:]]FUN(C|CTION|):[[:blank:]]*[[:blank:]]\[\[\[*|[[:blank:]]\#[[:blank:]]\]\]\]*)' \ - zi/zi.zsh \ - zi/lib/zsh/side.zsh \ - zi/lib/zsh/install.zsh \ - zi/lib/zsh/autoload.zsh \ - zi/lib/zsh/additional.zsh - mkdir -p zsdoc/asciidoc - cp -f zsdoc/*.adoc zsdoc/asciidoc/ - -zsdoc: adoc - make -C zsdoc - -clean: - rm -rf zi - make -C zsdoc clean - -distclean: clean - rm -rf zsdoc/man - rm -rf zsdoc/pdf - rm -rf zsdoc/html - rm -rf zsdoc/asciidoc - make -C zsdoc distclean - -.PHONY: all clone adoc zsdoc clean distclean diff --git a/code/zsdoc/html/additional.zsh.html b/code/html/additional.zsh.html similarity index 100% rename from code/zsdoc/html/additional.zsh.html rename to code/html/additional.zsh.html diff --git a/code/zsdoc/html/autoload.zsh.html b/code/html/autoload.zsh.html similarity index 100% rename from code/zsdoc/html/autoload.zsh.html rename to code/html/autoload.zsh.html diff --git a/code/zsdoc/html/install.zsh.html b/code/html/install.zsh.html similarity index 100% rename from code/zsdoc/html/install.zsh.html rename to code/html/install.zsh.html diff --git a/code/zsdoc/html/side.zsh.html b/code/html/side.zsh.html similarity index 100% rename from code/zsdoc/html/side.zsh.html rename to code/html/side.zsh.html diff --git a/code/zsdoc/html/zi.zsh.html b/code/html/zi.zsh.html similarity index 100% rename from code/zsdoc/html/zi.zsh.html rename to code/html/zi.zsh.html diff --git a/code/zsdoc/Makefile b/code/zsdoc/Makefile deleted file mode 100644 index baf9018..0000000 --- a/code/zsdoc/Makefile +++ /dev/null @@ -1,96 +0,0 @@ -all: pdf html - -# MAN -# Converted with a2x from asciidoc package - -man: man/zi.zsh.1 man/side.zsh.1 man/install.zsh.1 man/autoload.zsh.1 man/additional.zsh.1 - -man/zi.zsh.1: - rm -rf man/zi.zsh.1 - mkdir -p man - a2x --verbose -L --doctype manpage --format manpage -D man zi.zsh.adoc - -man/side.zsh.1: - rm -rf man/side.zsh.1 - mkdir -p man - a2x --verbose -L --doctype manpage --format manpage -D man side.zsh.adoc - -man/install.zsh.1: - rm -rf man/install.zsh.1 - mkdir -p man - a2x --verbose -L --doctype manpage --format manpage -D man install.zsh.adoc - -man/autoload.zsh.1: - rm -rf man/autoload.zsh.1 - mkdir -p man - a2x --verbose -L --doctype manpage --format manpage -D man autoload.zsh.adoc - -man/additional.zsh.1: - rm -rf man/additional.zsh.1 - mkdir -p man - a2x --verbose -L --doctype manpage --format manpage -D man additional.zsh.adoc - -# PDF -# Uses asciidoctor not a2x (i.e. not asciidoc) - -pdf: pdf/zi.zsh.pdf pdf/side.zsh.pdf pdf/install.zsh.pdf pdf/autoload.zsh.pdf pdf/additional.zsh.pdf - -pdf/zi.zsh.pdf: - rm -rf pdf/zi.zsh.pdf - mkdir -p pdf - asciidoctor -a reproducible -b pdf -r asciidoctor-pdf -D pdf zi.zsh.adoc - -pdf/side.zsh.pdf: - rm -rf pdf/side.zsh.pdf - mkdir -p pdf - asciidoctor -a reproducible -b pdf -r asciidoctor-pdf -D pdf side.zsh.adoc - -pdf/install.zsh.pdf: - rm -rf pdf/install.zsh.pdf - mkdir -p pdf - asciidoctor -a reproducible -b pdf -r asciidoctor-pdf -D pdf install.zsh.adoc - -pdf/autoload.zsh.pdf: - rm -rf pdf/autoload.zsh.pdf - mkdir -p pdf - asciidoctor -a reproducible -b pdf -r asciidoctor-pdf -D pdf autoload.zsh.adoc - -pdf/additional.zsh.pdf: - rm -rf pdf/additional.zsh.pdf - mkdir -p pdf - asciidoctor -a reproducible -b pdf -r asciidoctor-pdf -D pdf additional.zsh.adoc - -html: html/zi.zsh.html html/side.zsh.html html/install.zsh.html html/autoload.zsh.html html/additional.zsh.html - -html/zi.zsh.html: - rm -rf html/zi.zsh.html - mkdir -p html - asciidoctor -D html zi.zsh.adoc - -html/side.zsh.html: - rm -rf html/side.zsh.html - mkdir -p html - asciidoctor -D html side.zsh.adoc - -html/install.zsh.html: - rm -rf html/install.zsh.html - mkdir -p html - asciidoctor -D html install.zsh.adoc - -html/autoload.zsh.html: - rm -rf html/autoload.zsh.html - mkdir -p html - asciidoctor -D html autoload.zsh.adoc - -html/additional.zsh.html: - rm -rf html/additional.zsh.html - mkdir -p html - asciidoctor -D html additional.zsh.adoc - -clean: - rm -f *.adoc - -distclean: clean - rm -rf data - -.PHONY: man pdf html clean distclean diff --git a/code/zsdoc/README.md b/code/zsdoc/README.md deleted file mode 100644 index c9709b2..0000000 --- a/code/zsdoc/README.md +++ /dev/null @@ -1,50 +0,0 @@ -The files will be processed and their documentation will be generated -in subdirectory `zsdoc` (with meta-data in subdirectory `data`). - -> Supported are Bash and Zsh scripts. - -- Reading configuration from: `/usr/local/share/zsdoc/zsd.config` -- Zsh control binary is: `zsh` -- Usage: `zsd [-h/--help] [-v/--verbose] [-q/--quiet] [-n/--noansi] [--cignore ] {file1} [file2] ...` - -Options: - -```shell --h/--help # Usage information --v/--verbose # More verbose operation-status output --q/--quiet # No status messages --n/--noansi # No colors in terminal output ---cignore # Specify which comment lines should be ignored --f/--fpath # Paths separated by : pointing to directories with functions ---synopsis # Text to be used in SYNOPSIS section. Line break "... +\n", paragraph "...\n\n" ---blocka # String used as block-begin, default: {{{ ---blockb # String used as block-end, default: }}} ---scomm # Strip comment char "#" from function comments ---bash # Output slightly tailored to Bash specifics (instead of Zsh specifics) -``` - -Example --cignore options: - -```shell ---cignore '#*FUNCTION:*{{{*' - ignore comments like: # FUNCTION: usage {{{ ---cignore '(#*FUNCTION:*{{{*|#*FUN:*{{{*)' - also ignore comments like: # FUN: usage {{{ -``` - -File is parsed for synopsis block, which can be e.g.: - -```shell -# synopsis {{{my synopsis, can be multi-line}}} -``` - - Other block that is parsed is commenting on environment variables. There can be multiple such blocks, - -their content will be merged. Single block consists of multiple 'VAR_NAME -> var-description' lines -and results in a table in the output AsciiDoc document. An example block: - -```shell -# env-vars {{{ -# PATH -> paths to executables -# MANPATH -> paths to manuals }}} -``` - - Change the default brace block-delimeters with --blocka, --blockb. Block body should be AsciiDoc. diff --git a/code/zsdoc/asciidoc/additional.zsh.adoc b/code/zsdoc/asciidoc/additional.zsh.adoc deleted file mode 100644 index d92215b..0000000 --- a/code/zsdoc/asciidoc/additional.zsh.adoc +++ /dev/null @@ -1,161 +0,0 @@ -additional.zsh(1) -================= -:compat-mode!: - -NAME ----- -additional.zsh - a shell script - -SYNOPSIS --------- -Documentation automatically generated with `zsdoc' - -FUNCTIONS ---------- - - .zi-clear-debug-report - .zi-debug-start - .zi-debug-stop - .zi-debug-unload - .zi-service - .zi-wrap-functions - :zi-tmp-subst-source - -DETAILS -------- - -Script Body -~~~~~~~~~~~ - -Has 1 line(s). No functions are called (may set up e.g. a hook, a Zle widget bound to a key, etc.). - -.zi-clear-debug-report -~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Forgets dtrace repport gathered up to this moment. -____ - -Has 1 line(s). Calls functions: - - .zi-clear-debug-report - `-- autoload.zsh/.zi-clear-report-for - -Called by: - - autoload.zsh/.zi-unload - zi.zsh/zi - -.zi-debug-start -~~~~~~~~~~~~~~~ - -____ - - Starts Dtrace, i.e. session tracking for changes in Zsh state. -____ - -Has 9 line(s). Calls functions: - - .zi-debug-start - |-- zi.zsh/+zi-message - |-- zi.zsh/.zi-diff - `-- zi.zsh/.zi-tmp-subst-on - -Called by: - - zi.zsh/zi - -.zi-debug-stop -~~~~~~~~~~~~~~ - -____ - - Stops Dtrace, i.e. session tracking for changes in Zsh state. -____ - -Has 3 line(s). Calls functions: - - .zi-debug-stop - |-- zi.zsh/.zi-diff - `-- zi.zsh/.zi-tmp-subst-off - -Called by: - - zi.zsh/zi - -.zi-debug-unload -~~~~~~~~~~~~~~~~ - -____ - - Reverts changes detected by dtrace run. -____ - -Has 6 line(s). Calls functions: - - .zi-debug-unload - |-- autoload.zsh/.zi-unload - `-- zi.zsh/+zi-message - -Uses feature(s): _source_ - -Called by: - - zi.zsh/zi - -.zi-service -~~~~~~~~~~~ - -____ - - ]]] - Handles given service, i.e. obtains lock, runs it, or waits if no lock - - $1 - type "p" or "s" (plugin or snippet) - $2 - mode - for plugin (light or load) - $3 - id - URL or plugin ID or alias name (from id-as'') -____ - -Has 29 line(s). Calls functions: - - .zi-service - |-- zi.zsh/.zi-load - `-- zi.zsh/.zi-load-snippet - -Uses feature(s): _kill_, _read_, _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-wrap-functions -~~~~~~~~~~~~~~~~~~ - -____ - - Handles the wrap'…' ice-modifier which allows to extend the tracking (e.g: gathering of report and unload data) of a plugin - beyond the moment of sourcing it's main file(s). It works by wrapping the given functions with a tracking-enabling - and disabling snippet of code.This is useful especially with prompts, as they very often do their - initialization in the first call to their precmd hook function. -____ - -Has 19 line(s). Doesn't call other functions. - -Uses feature(s): _eval_ - -Called by: - - zi.zsh/.zi-load-plugin - zi.zsh/.zi-load-snippet - -:zi-tmp-subst-source -~~~~~~~~~~~~~~~~~~~~ - -Has 25 line(s). Calls functions: - - :zi-tmp-subst-source - `-- zi.zsh/+zi-message - -Uses feature(s): _eval_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - diff --git a/code/zsdoc/asciidoc/autoload.zsh.adoc b/code/zsdoc/asciidoc/autoload.zsh.adoc deleted file mode 100644 index 8404560..0000000 --- a/code/zsdoc/asciidoc/autoload.zsh.adoc +++ /dev/null @@ -1,1489 +0,0 @@ -autoload.zsh(1) -=============== -:compat-mode!: - -NAME ----- -autoload.zsh - a shell script - -SYNOPSIS --------- -Documentation automatically generated with `zsdoc' - -FUNCTIONS ---------- - - .zi-analytics-menu - .zi-any-to-uspl2 - .zi-at-eval - .zi-build-module - .zi-cd - .zi-cdisable - .zi-cenable - .zi-changes - .zi-check-comp-consistency - .zi-check-which-completions-are-enabled - .zi-check-which-completions-are-installed - .zi-clear-completions - .zi-clear-report-for - .zi-compile-uncompile-all - .zi-compiled - .zi-confirm - .zi-create - .zi-delete - .zi-diff-env-compute - .zi-diff-functions-compute - .zi-diff-options-compute - .zi-diff-parameter-compute - .zi-edit - .zi-exists-message - .zi-find-completions-of-plugin - .zi-format-env - .zi-format-functions - .zi-format-options - .zi-format-parameter - .zi-get-completion-owner - .zi-get-completion-owner-uspl2col - .zi-get-path - .zi-glance - .zi-help - .zi-list-bindkeys - .zi-list-compdef-replay - .zi-ls - .zi-module - .zi-pager - .zi-prepare-readlink - .zi-recall - .zi-recently - .zi-registered-ice-mods - .zi-registered-subcommands - .zi-restore-extendedglob - .zi-run-delete-hooks - .zi-save-set-extendedglob - .zi-search-completions - .zi-self-update - .zi-show-all-reports - .zi-show-completions - .zi-show-debug-report - .zi-show-registered-plugins - .zi-show-report - .zi-show-times - .zi-show-zstatus - .zi-stress - .zi-uncompile-plugin - .zi-uninstall-completions - .zi-unload - .zi-unregister-plugin - .zi-update-all-parallel - .zi-update-or-status - .zi-update-or-status-all - .zi-update-or-status-snippet - .zi-wait-for-update-jobs -AUTOLOAD is-at-least - -DETAILS -------- - -Script Body -~~~~~~~~~~~ - -Has 4 line(s). No functions are called (may set up e.g. a hook, a Zle widget bound to a key, etc.). - -Uses feature(s): _source_ - -.zi-analytics-menu -~~~~~~~~~~~~~~~~~~ - -____ - - Statistics, benchmarks and information. - - User-action entry point. -____ - -Has 25 line(s). Calls functions: - - .zi-analytics-menu - `-- zi.zsh/+zi-message - -Called by: - - zi.zsh/zi - -.zi-any-to-uspl2 -~~~~~~~~~~~~~~~~ - -____ - - Converts given plugin-spec to format that's used in keys for hash tables. - So basically, creates string "user/plugin" (this format is called: uspl2). - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - (optional) plugin (only when $1 - i.e. user - given) -____ - -Has 2 line(s). Calls functions: - - .zi-any-to-uspl2 - `-- zi.zsh/.zi-any-to-user-plugin - -Called by: - - .zi-clear-report-for - .zi-exists-message - -.zi-at-eval -~~~~~~~~~~~ - -Has 5 line(s). Calls functions: - - .zi-at-eval - `-- zi.zsh/@zi-substitute - -Uses feature(s): _eval_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-build-module -~~~~~~~~~~~~~~~~ - -____ - - Performs ./configure && make on the module and displays information how to load the module in .zshrc. -____ - -Has 40 line(s). Calls functions: - - .zi-build-module - `-- zi.zsh/+zi-message - -Called by: - - .zi-module - -.zi-cd -~~~~~~ - -____ - - Jumps to plugin's directory (in ❮ Zi ❯ home directory). - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 15 line(s). Calls functions: - - .zi-cd - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-cdisable -~~~~~~~~~~~~ - -____ - - Enables given installed completion. - - User-action entry point. - - $1 - e.g. "_mkdir" or "mkdir" -____ - -Has 27 line(s). Calls functions: - - .zi-cdisable - -Called by: - - zi.zsh/zi - -.zi-cenable -~~~~~~~~~~~ - -____ - - Disables given installed completion. - - User-action entry point. - - $1 - e.g. "_mkdir" or "mkdir" -____ - -Has 26 line(s). Calls functions: - - .zi-cenable - -Called by: - - zi.zsh/zi - -.zi-changes -~~~~~~~~~~~ - -____ - - Shows `git log` of given plugin. - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 6 line(s). Calls functions: - - .zi-changes - |-- side.zsh/.zi-exists-physically-message - `-- zi.zsh/.zi-any-to-user-plugin - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-check-comp-consistency -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - ❮ Zi ❯ creates symlink for each installed completion. - This function checks whether given completion (i.e. file like "_mkdir") is indeed a symlink. - Backup file is a completion that is disabled - has the leading "_" removed. - - $1 - path to completion within plugin's directory - $2 - path to backup file within plugin's directory -____ - -Has 11 line(s). Doesn't call other functions. - -Called by: - - .zi-cdisable - .zi-cenable - -.zi-check-which-completions-are-enabled -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - For each argument that each should be a path to completion - within a plugin's dir, it checks whether that completion - is disabled - returns 0 or 1 on corresponding positions in reply. - - Uninstalled completions will be reported as "0" - i.e. disabled - - $1, ... - path to completion within plugin's directory -____ - -Has 10 line(s). Doesn't call other functions. - -Called by: - - .zi-show-report - -.zi-check-which-completions-are-installed -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - For each argument that each should be a path to completion - within a plugin's dir, it checks whether that completion - is installed - returns 0 or 1 on corresponding positions in reply. - - $1, ... - path to completion within plugin's directory -____ - -Has 11 line(s). Doesn't call other functions. - -Called by: - - .zi-show-report - -.zi-clear-completions -~~~~~~~~~~~~~~~~~~~~~ - -____ - - Delete stray and improper completions. - - Completions live even when plugin isn't loaded - if they are - installed and enabled. - - User-action entry point. -____ - -Has 35 line(s). Calls functions: - - .zi-clear-completions - |-- side.zsh/.zi-any-colorify-as-uspl2 - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/.zi-prepare-home - zi.zsh/zi - -.zi-clear-report-for -~~~~~~~~~~~~~~~~~~~~ - -____ - - Clears all report data for given user/plugin. This is done by resetting all related global ZI_* hashes. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - (optional) plugin (only when $1 - i.e. user - given) -____ - -Has 23 line(s). Calls functions: - - .zi-clear-report-for - -Called by: - - .zi-unload - additional.zsh/.zi-clear-debug-report - -.zi-compile-uncompile-all -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Compiles or uncompiles all existing (on disk) plugins. - - User-action entry point. -____ - -Has 19 line(s). Calls functions: - - .zi-compile-uncompile-all - |-- install.zsh/.zi-compile-plugin - |-- side.zsh/.zi-any-colorify-as-uspl2 - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-compiled -~~~~~~~~~~~~ - -____ - - Displays list of plugins that are compiled. - - User-action entry point. -____ - -Has 23 line(s). Calls functions: - - .zi-compiled - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-confirm -~~~~~~~~~~~ - -____ - - Prints given question, waits for "y" key, evals given expression if "y" obtained - - $1 - question - $2 - expression -____ - -Has 22 line(s). Doesn't call other functions. - -Uses feature(s): _eval_, _read_ - -Called by: - - .zi-delete - -.zi-create -~~~~~~~~~~ - -____ - - Creates a plugin, also on Github (if not "_local/name" plugin). - - User-action entry point. - - $1 - (optional) plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - (optional) plugin (only when $1 - i.e. user - given) -____ - -Has 99 line(s). Calls functions: - - .zi-create - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- side.zsh/.zi-exists-physically - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _autoload_, _setopt_, _vared_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-delete -~~~~~~~~~~ - -____ - - Deletes plugin's or snippet's directory (in ❮ Zi ❯ home directory). - - User-action entry point. - - $1 - snippet URL or plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 93 line(s). Calls functions: - - .zi-delete - |-- side.zsh/.zi-compute-ice - |-- zi.zsh/+zi-prehelp-usage-message - |-- zi.zsh/.zi-any-to-user-plugin - `-- zi.zsh/.zi-parse-opts - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-diff-env-compute -~~~~~~~~~~~~~~~~~~~~ - -____ - - Computes ZI_PATH, ZI_FPATH that hold (f)path components - added by plugin. Uses data gathered earlier by .zi-diff-env(). - - $1 - user/plugin -____ - -Has 28 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-report - .zi-unload - -.zi-diff-functions-compute -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Computes FUNCTIONS that holds new functions added by plugin. - Uses data gathered earlier by .zi-diff-functions(). - - $1 - user/plugin -____ - -Has 16 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-report - .zi-unload - -.zi-diff-options-compute -~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Computes OPTIONS that holds options changed by plugin. - Uses data gathered earlier by .zi-diff-options(). - - $1 - user/plugin -____ - -Has 16 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-report - .zi-unload - -.zi-diff-parameter-compute -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Computes ZI_PARAMETERS_PRE, ZI_PARAMETERS_POST that hold - parameters created or changed (their type) by plugin. Uses - data gathered earlier by .zi-diff-parameter(). - - $1 - user/plugin -____ - -Has 27 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-report - .zi-unload - -.zi-edit -~~~~~~~~ - -____ - - Runs $EDITOR on source of given plugin. If the variable is not set then defaults to `code'. - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 19 line(s). Calls functions: - - .zi-edit - `-- side.zsh/.zi-compute-ice - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-exists-message -~~~~~~~~~~~~~~~~~~ - -____ - - Checks if plugin is loaded. Testable. Also outputs error message if plugin is not loaded. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - (optional) plugin (only when $1 - i.e. user - given) -____ - -Has 7 line(s). Calls functions: - - .zi-exists-message - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Called by: - - .zi-show-report - .zi-unload - -.zi-find-completions-of-plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Searches for completions owned by given plugin. - Returns them in `reply' array. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 5 line(s). Calls functions: - - .zi-find-completions-of-plugin - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-report - -.zi-format-env -~~~~~~~~~~~~~~ - -____ - - Creates one-column text about FPATH or PATH elements added when given plugin was loaded. - - $1 - user/plugin (i.e. uspl2 format of plugin-spec) - $2 - if 1, then examine PATH, if 2, then examine FPATH -____ - -Has 15 line(s). Doesn't call other functions. - -Called by: - - .zi-show-report - -.zi-format-functions -~~~~~~~~~~~~~~~~~~~~ - -____ - - Creates a one or two columns text with functions created by given plugin. - - $1 - user/plugin (i.e. uspl2 format of plugin-spec) -____ - -Has 34 line(s). Doesn't call other functions. - -Called by: - - .zi-show-report - -.zi-format-options -~~~~~~~~~~~~~~~~~~ - -____ - - Creates one-column text about options that changed when plugin "$1" was loaded. - - $1 - user/plugin (i.e. uspl2 format of plugin-spec) -____ - -Has 19 line(s). Calls functions: - - .zi-format-options - -Called by: - - .zi-show-report - -.zi-format-parameter -~~~~~~~~~~~~~~~~~~~~ - -____ - - Creates one column text that lists global parameters that changed when the given plugin was loaded. - - $1 - user/plugin (i.e. uspl2 format of plugin-spec) -____ - -Has 29 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-report - -.zi-get-completion-owner -~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Returns "user---plugin" string (uspl1 format) of plugin that owns given completion. - - Both :A and readlink will be used, then readlink's output if results differ. Readlink might not be available. - - :A will read the link "twice" and give the final repository - directory, possibly without username in the uspl format; readlink will read the link "once" - - $1 - absolute path to completion file (in COMPLETIONS_DIR) - $2 - readlink command (":" or "readlink") -____ - -Has 20 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-clear-completions - .zi-get-completion-owner-uspl2col - .zi-show-completions - -.zi-get-completion-owner-uspl2col -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - For shortening of code - returns colorized plugin name - that owns given completion. - - $1 - absolute path to completion file (in COMPLETIONS_DIR) - $2 - readlink command (":" or "readlink") -____ - -Has 2 line(s). Calls functions: - - .zi-get-completion-owner-uspl2col - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Called by: - - .zi-cdisable - .zi-cenable - -.zi-get-path -~~~~~~~~~~~~ - -____ - - Returns path of given ID-string, which may be a plugin-spec (like "user/plugin" or "user" "plugin"), an absolute path - ("%" "/home/..." and also "%SNIPPETS/..." etc.), or a plugin nickname (i.e. id-as'' ice-mod), or a snippet nickname. -____ - -Has 5 line(s). Calls functions: - - .zi-get-path - `-- zi.zsh/.zi-get-object-path - -Uses feature(s): _setopt_ - -Called by: - - .zi-cd - .zi-uninstall-completions - -.zi-glance -~~~~~~~~~~ - -____ - - Shows colorized source code of plugin. Is able to use pygmentize, - highlight, GNU source-highlight. - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 37 line(s). Calls functions: - - .zi-glance - |-- side.zsh/.zi-exists-physically-message - |-- side.zsh/.zi-first - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-help -~~~~~~~~ - -____ - - Shows usage information. - - User-action entry point. -____ - -Has 30 line(s). Calls functions: - - .zi-help - `-- zi.zsh/+zi-message - -Called by: - - zi.zsh/zi - -.zi-list-bindkeys -~~~~~~~~~~~~~~~~~ - -Has 39 line(s). Calls functions: - - .zi-list-bindkeys - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Called by: - - zi.zsh/zi - -.zi-list-compdef-replay -~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Shows recorded compdefs (called by plugins loaded earlier). Plugins often call `compdef' hoping - for `compinit' being already ran. ❮ Zi ❯ solves this by recording compdefs. - - User-action entry point. -____ - -Has 5 line(s). Doesn't call other functions. - -Called by: - - zi.zsh/zi - -.zi-ls -~~~~~~ - -Has 22 line(s). Doesn't call other functions. - -Called by: - - zi.zsh/zi - -.zi-module -~~~~~~~~~~ - -____ - - Function that has sub-commands passed as long-options (with two dashes, --). - It's an attempt to plugin only this one function into `zi' function - defined in zi.zsh, to not make this file longer than it's needed. -____ - -Has 33 line(s). Calls functions: - - .zi-module - |-- is-at-least - `-- zi.zsh/+zi-message - -Uses feature(s): _autoload_, _is-at-least_ - -Called by: - - .zi-build-module - side.zsh/.zi-check-module - zi.zsh/zi - -.zi-pager -~~~~~~~~~ - -Has 27 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-glance - .zi-self-update - .zi-update-or-status - -.zi-prepare-readlink -~~~~~~~~~~~~~~~~~~~~ - -____ - - Prepares readlink command, used for establishing completion's owner. - - $REPLY = ":" or "readlink" -____ - -Has 4 line(s). Doesn't call other functions. - -Uses feature(s): _type_ - -Called by: - - .zi-cdisable - .zi-cenable - .zi-clear-completions - .zi-show-completions - -.zi-recall -~~~~~~~~~~ - -Has 34 line(s). Calls functions: - - .zi-recall - |-- side.zsh/.zi-compute-ice - `-- zi.zsh/+zi-deploy-message - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-recently -~~~~~~~~~~~~ - -____ - - Shows plugins that obtained commits in specified past time. - - User-action entry point. - - $1 - time spec, e.g. "1 week" -____ - -Has 23 line(s). Calls functions: - - .zi-recently - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-registered-ice-mods -~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Shows all registerted ice-modifiers. - Internal and registered by annex. - - User-action entry point. -____ - -Has 4 line(s). Calls functions: - - .zi-registered-ice-mods - `-- zi.zsh/+zi-message - -Called by: - - zi.zsh/zi - -.zi-registered-subcommands -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Shows subcommands registered by annex. - - User-action entry point. -____ - -Has 13 line(s). Calls functions: - - .zi-registered-subcommands - `-- zi.zsh/+zi-message - -Called by: - - zi.zsh/zi - -.zi-restore-extendedglob -~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Restores extendedglob-option from state saved earlier. -____ - -Has 1 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-format-options - .zi-unload - -.zi-run-delete-hooks -~~~~~~~~~~~~~~~~~~~~ - -Has 17 line(s). Calls functions: - - .zi-run-delete-hooks - `-- side.zsh/.zi-countdown - -Uses feature(s): _eval_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-save-set-extendedglob -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Enables extendedglob-option first saving if it was already - enabled, for restoration of this state later. -____ - -Has 2 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-format-options - .zi-unload - -.zi-search-completions -~~~~~~~~~~~~~~~~~~~~~~ - -____ - - While .zi-show-completions() shows what completions are - installed, this functions searches through all plugin dirs - showing what's available in general (for installation). - - User-action entry point. -____ - -Has 39 line(s). Calls functions: - - .zi-search-completions - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-self-update -~~~~~~~~~~~~~~~ - -____ - - Updates ❮ Zi ❯ code (does a git pull). - - User-action entry point. -____ - -Has 43 line(s). Calls functions: - - .zi-self-update - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-get-mtime-into - -Uses feature(s): _setopt_, _source_, _zcompile_ - -Called by: - - .zi-update-or-status-all - zi.zsh/zi - -.zi-show-all-reports -~~~~~~~~~~~~~~~~~~~~ - -____ - - Displays reports of all loaded plugins. - - User-action entry point. -____ - -Has 5 line(s). Calls functions: - - .zi-show-all-reports - -Called by: - - zi.zsh/zi - -.zi-show-completions -~~~~~~~~~~~~~~~~~~~~ - -____ - - Display installed (enabled and disabled), completions. Detect - stray and improper ones. - - Completions live even when plugin isn't loaded - if they are - installed and enabled. - - User-action entry point. -____ - -Has 62 line(s). Calls functions: - - .zi-show-completions - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-show-debug-report -~~~~~~~~~~~~~~~~~~~~~ - -____ - - Displays dtrace report (data recorded in interactive session). - - User-action entry point. -____ - -Has 1 line(s). Calls functions: - - .zi-show-debug-report - -Called by: - - zi.zsh/zi - -.zi-show-registered-plugins -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Lists loaded plugins (subcommands list, loaded). - - User-action entry point. -____ - -Has 19 line(s). Calls functions: - - .zi-show-registered-plugins - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-show-report -~~~~~~~~~~~~~~~ - -____ - - Displays report of the plugin given. - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user (+ plugin in $2), plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 66 line(s). Calls functions: - - .zi-show-report - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - .zi-show-all-reports - .zi-show-debug-report - zi.zsh/zi - -.zi-show-times -~~~~~~~~~~~~~~ - -____ - - Shows loading times of all loaded plugins. - - User-action entry point. -____ - -Has 55 line(s). Calls functions: - - .zi-show-times - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-show-zstatus -~~~~~~~~~~~~~~~~ - -____ - - Shows ❮ Zi ❯ status, i.e. number of loaded plugins, - of available completions, etc. - - User-action entry point. -____ - -Has 48 line(s). Calls functions: - - .zi-show-zstatus - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Called by: - - zi.zsh/zi - -.zi-stress -~~~~~~~~~~ - -____ - - Compiles plugin with various options on and off to see how well the code is written. The options are: - - NO_SHORT_LOOPS, IGNORE_BRACES, IGNORE_CLOSE_BRACES, SH_GLOB, CSH_JUNKIE_QUOTES, NO_MULTI_FUNC_DEF. - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 31 line(s). Calls functions: - - .zi-stress - |-- side.zsh/.zi-exists-physically-message - |-- side.zsh/.zi-first - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_, _zcompile_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-uncompile-plugin -~~~~~~~~~~~~~~~~~~~~ - -____ - - Uncompiles given plugin. - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user (+ plugin in $2), plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 19 line(s). Calls functions: - - .zi-uncompile-plugin - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - .zi-compile-uncompile-all - zi.zsh/zi - -.zi-uninstall-completions -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Removes all completions of given plugin from Zshell (i.e. from FPATH). - The FPATH is typically `~/.zi/completions/'. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 39 line(s). Calls functions: - - .zi-uninstall-completions - |-- install.zsh/.zi-compinit - |-- install.zsh/.zi-forget-completion - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_, _source_ - -Called by: - - zi.zsh/zi - -.zi-unload -~~~~~~~~~~ - -____ - - 0. Call the Zsh Plugin's Standard *_plugin_unload function - 0. Call the code provided by the Zsh Plugin's Standard @zsh-plugin-run-at-update - 1. Delete bindkeys (...) - 2. Delete Zstyles - 3. Restore options - 4. Remove aliases - 5. Restore Zle state - 6. Unfunction functions (created by plugin) - 7. Clean-up FPATH and PATH - 8. Delete created variables - 9. Forget the plugin - - User-action entry point. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 380 line(s). Calls functions: - - .zi-unload - |-- additional.zsh/.zi-clear-debug-report - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _alias_, _bindkey_, _eval_, _setopt_, _unalias_, _unfunction_, _zle_, _zstyle_ - -Called by: - - additional.zsh/.zi-debug-unload - zi.zsh/.zi-run-task - zi.zsh/zi - -.zi-unregister-plugin -~~~~~~~~~~~~~~~~~~~~~ - -____ - - Removes the plugin from ZI_REGISTERED_PLUGINS array and from the - zsh_loaded_plugins array (managed according to the plugin standard) -____ - -Has 5 line(s). Calls functions: - - .zi-unregister-plugin - `-- zi.zsh/.zi-any-to-user-plugin - -Called by: - - .zi-unload - -.zi-update-all-parallel -~~~~~~~~~~~~~~~~~~~~~~~ - -Has 63 line(s). Calls functions: - - .zi-update-all-parallel - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - .zi-update-or-status-all - -.zi-update-or-status -~~~~~~~~~~~~~~~~~~~~ - -____ - - Updates (git pull) or does `git status' for given plugin. - - User-action entry point. - - $1 - "status" for status, other for update - $2 - plugin spec (4 formats: user---plugin, user/plugin, user (+ plugin in $2), plugin) - $3 - plugin (only when $1 - i.e. user - given) -____ - -Has 279 line(s). Calls functions: - - .zi-update-or-status - |-- install.zsh/.zi-get-latest-gh-r-url-part - |-- install.zsh/.zi-setup-plugin-dir - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- side.zsh/.zi-compute-ice - |-- side.zsh/.zi-exists-physically - |-- side.zsh/.zi-exists-physically-message - |-- side.zsh/.zi-store-ices - |-- side.zsh/.zi-two-paths - |-- zi.zsh/+zi-message - |-- zi.zsh/.zi-any-to-user-plugin - `-- zi.zsh/.zi-set-m-func - -Uses feature(s): _kill_, _setopt_, _source_, _trap_, _wait_ - -Called by: - - .zi-update-all-parallel - .zi-update-or-status-all - zi.zsh/zi - -.zi-update-or-status-all -~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Updates (git pull) or does `git status` for all existing plugins. - This includes also plugins that are not loaded into Zsh (but exist - on disk). Also updates (i.e. redownloads) snippets. - - User-action entry point. -____ - -Has 103 line(s). Calls functions: - - .zi-update-or-status-all - |-- install.zsh/.zi-compinit - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- zi.zsh/+zi-message - |-- zi.zsh/.zi-any-to-user-plugin - `-- zi.zsh/.zi-get-mtime-into - -Uses feature(s): _setopt_, _source_ - -Called by: - - zi.zsh/zi - -.zi-update-or-status-snippet -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - - Implements update or status operation for snippet given by URL. - - $1 - "status" or "update" - $2 - snippet URL -____ - -Has 28 line(s). Calls functions: - - .zi-update-or-status-snippet - |-- install.zsh/.zi-update-snippet - `-- side.zsh/.zi-compute-ice - -Uses feature(s): _source_ - -Called by: - - .zi-update-all-parallel - .zi-update-or-status-all - .zi-update-or-status - -.zi-wait-for-update-jobs -~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - ]]] -____ - -Has 14 line(s). Calls functions: - - .zi-wait-for-update-jobs - `-- zi.zsh/+zi-message - -Uses feature(s): _wait_ - -Called by: - - .zi-update-all-parallel - -is-at-least -~~~~~~~~~~~ - -____ - - - Test whether $ZSH_VERSION (or some value of your choice, if a second argument - is provided) is greater than or equal to x.y.z-r (in argument one). In fact, - it'll accept any dot/dash-separated string of numbers as its second argument - and compare it to the dot/dash-separated first argument. Leading non-number - parts of a segment (such as the "zefram" in 3.1.2-zefram4) are not considered - when the comparison is done; only the numbers matter. Any left-out segments - in the first argument that are present in the version string compared are - considered as zeroes, eg 3 == 3.0 == 3.0.0 == 3.0.0.0 and so on. - -____ - -Has 56 line(s). Doesn't call other functions. - -Called by: - - .zi-module - diff --git a/code/zsdoc/asciidoc/install.zsh.adoc b/code/zsdoc/asciidoc/install.zsh.adoc deleted file mode 100644 index 8128d23..0000000 --- a/code/zsdoc/asciidoc/install.zsh.adoc +++ /dev/null @@ -1,665 +0,0 @@ -install.zsh(1) -============== -:compat-mode!: - -NAME ----- -install.zsh - a shell script - -SYNOPSIS --------- -Documentation automatically generated with `zsdoc' - -FUNCTIONS ---------- - - .zi-at-eval - .zi-compile-plugin - .zi-compinit - .zi-download-file-stdout - .zi-download-snippet - .zi-extract - .zi-forget-completion - .zi-get-cygwin-package - .zi-get-latest-gh-r-url-part - .zi-get-package - .zi-get-url-mtime - .zi-install-completions - .zi-mirror-using-svn - .zi-parse-json - .zi-setup-plugin-dir - .zi-update-snippet - zicp - ziextract - zimv - zpextract - ∞zi-atclone-hook - ∞zi-atpull-e-hook - ∞zi-atpull-hook - ∞zi-compile-plugin-hook - ∞zi-cp-hook - ∞zi-extract-hook - ∞zi-make-e-hook - ∞zi-make-ee-hook - ∞zi-make-hook - ∞zi-mv-hook - ∞zi-ps-on-update-hook - ∞zi-reset-hook -AUTOLOAD compinit - -DETAILS -------- - -Script Body -~~~~~~~~~~~ - -Has 3 line(s). No functions are called (may set up e.g. a hook, a Zle widget bound to a key, etc.). - -Uses feature(s): _source_ - -.zi-at-eval -~~~~~~~~~~~ - -____ - - ]]] -____ - -Has 7 line(s). Calls functions: - - .zi-at-eval - `-- zi.zsh/@zi-substitute - -Uses feature(s): _eval_ - -Called by: - - ∞zi-atpull-e-hook - ∞zi-atpull-hook - -.zi-compile-plugin -~~~~~~~~~~~~~~~~~~ - -____ - - Compiles given plugin (its main source file, and also an additional "....zsh" file if it exists). - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 81 line(s). Calls functions: - - .zi-compile-plugin - |-- side.zsh/.zi-compute-ice - |-- side.zsh/.zi-first - `-- zi.zsh/+zi-message - -Uses feature(s): _eval_, _setopt_, _zcompile_ - -Called by: - - ∞zi-compile-plugin-hook - autoload.zsh/.zi-compile-uncompile-all - zi.zsh/zi - -.zi-compinit -~~~~~~~~~~~~ - -____ - - User-exposed `compinit' frontend which first ensures that all completions managed by ❮ Zi ❯ are forgotten by Z-shell. - After that it runs normal `compinit', which should more easily detect ❮ Zi ❯ completions. - - No arguments. -____ - -Has 25 line(s). Calls functions: - - .zi-compinit - |-- compinit - `-- zi.zsh/+zi-message - -Uses feature(s): _autoload_, _compinit_, _setopt_, _unfunction_ - -Called by: - - .zi-install-completions - autoload.zsh/.zi-uninstall-completions - autoload.zsh/.zi-update-or-status-all - zi.zsh/.zi-prepare-home - zi.zsh/zi - -.zi-download-file-stdout -~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Downloads file to stdout. - Supports following backend commands: curl, wget, lftp, lynx. - Used by snippet loading. -____ - -Has 45 line(s). Calls functions: - - .zi-download-file-stdout - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_, _trap_, _type_ - -Called by: - - .zi-download-snippet - .zi-get-cygwin-package - .zi-get-package - .zi-setup-plugin-dir - -.zi-download-snippet -~~~~~~~~~~~~~~~~~~~~ - -____ - - Downloads snippet – either a file – with curl, wget, lftp or lynx, or a directory, - with Subversion – when svn-ICE is active. Github supports Subversion protocol and allows - to clone subdirectories. This is used to provide a layer of support for Oh-My-Zsh and Prezto. -____ - -Has 344 line(s). Calls functions: - - .zi-download-snippet - |-- side.zsh/.zi-store-ices - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_, _trap_, _zcompile_ - -Called by: - - .zi-update-snippet - zi.zsh/.zi-load-snippet - -.zi-extract -~~~~~~~~~~~ - -Has 22 line(s). Calls functions: - - .zi-extract - |-- zi.zsh/+zi-message - `-- ziextract - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Called by: - - ∞zi-extract-hook - -.zi-forget-completion -~~~~~~~~~~~~~~~~~~~~~ - -____ - - ]]] - Implements alternation of Zsh state so that already initialized - completion stops being visible to Zsh. - - $1 - completion function name, e.g. "_cp"; can also be "cp" -____ - -Has 20 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_, _unfunction_ - -Called by: - - .zi-compinit - .zi-install-completions - autoload.zsh/.zi-uninstall-completions - zi.zsh/zi - -.zi-get-cygwin-package -~~~~~~~~~~~~~~~~~~~~~~ - -Has 70 line(s). Calls functions: - - .zi-get-cygwin-package - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Called by: - - .zi-setup-plugin-dir - -.zi-get-latest-gh-r-url-part -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Gets version string of latest release of given Github package. - Connects to Github releases page. -____ - -Has 109 line(s). Calls functions: - - .zi-get-latest-gh-r-url-part - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Called by: - - .zi-setup-plugin-dir - autoload.zsh/.zi-update-or-status - -.zi-get-package -~~~~~~~~~~~~~~~ - -____ - - ]]] -____ - -Has 155 line(s). Calls functions: - - .zi-get-package - |-- zi.zsh/+zi-message - |-- zi.zsh/@zi-substitute - `-- ziextract - `-- zi.zsh/+zi-message - -Uses feature(s): _eval_, _setopt_, _trap_ - -Called by: - - zi.zsh/.zi-load - -.zi-get-url-mtime -~~~~~~~~~~~~~~~~~ - -____ - - For the given URL returns the date in the Last-Modified header as a time stamp -____ - -Has 34 line(s). Doesn't call other functions. - -Uses feature(s): _read_, _setopt_, _trap_, _type_ - -Called by: - - .zi-download-snippet - -.zi-install-completions -~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Installs all completions of given plugin. After that they are - visible to `compinit'. Visible completions can be selectively - disabled and enabled. User can access completion data with - `clist' or `completions' subcommand. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) - $3 - if 1, then reinstall, otherwise only install completions that aren't there -____ - -Has 59 line(s). Calls functions: - - .zi-install-completions - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- side.zsh/.zi-exists-physically-message - |-- zi.zsh/+zi-message - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - .zi-download-snippet - .zi-setup-plugin-dir - zi.zsh/zi - -.zi-mirror-using-svn -~~~~~~~~~~~~~~~~~~~~ - -____ - - Used to clone subdirectories from Github. - If in update mode (see $2), then invokes `svn update', - in normal mode invokes `svn checkout --non-interactive -q '. - In test mode only compares remote and local revision and outputs true if update is needed. - - $1 - URL - $2 - mode, "" - normal, "-u" - update, "-t" - test - $3 - subdirectory (not path) with working copy, needed for -t and -u -____ - -Has 27 line(s). Calls functions: - - .zi-mirror-using-svn - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_ - -Called by: - - .zi-download-snippet - -.zi-parse-json -~~~~~~~~~~~~~~ - -____ - - Retrievies the ice-list from given profile from the JSON of the package.json. -____ - -Has 102 line(s). Calls functions: - - .zi-parse-json - -Uses feature(s): _setopt_ - -Called by: - - .zi-get-package - -.zi-setup-plugin-dir -~~~~~~~~~~~~~~~~~~~~ - -____ - - Clones given plugin into PLUGIN_DIR. - Supports multiple sites (respecting `from' and `proto' ice modifiers). - Invokes compilation of plugin's main file. - - $1 - user - $2 - plugin -____ - -Has 208 line(s). Calls functions: - - .zi-setup-plugin-dir - |-- side.zsh/.zi-any-colorify-as-uspl2 - |-- side.zsh/.zi-store-ices - |-- zi.zsh/+zi-message - |-- zi.zsh/.zi-get-object-path - `-- ziextract - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_, _trap_ - -Called by: - - autoload.zsh/.zi-update-or-status - zi.zsh/.zi-load - -.zi-update-snippet -~~~~~~~~~~~~~~~~~~ - -____ - - ]]] -____ - -Has 71 line(s). Calls functions: - - .zi-update-snippet - |-- zi.zsh/+zi-message - |-- zi.zsh/.zi-get-object-path - `-- zi.zsh/.zi-pack-ice - -Uses feature(s): _eval_, _setopt_ - -Called by: - - autoload.zsh/.zi-update-or-status-snippet - -zicp -~~~~ - -____ - - ]]] - FUNCTION zicp [[[ -____ - -Has 27 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - zimv - -ziextract -~~~~~~~~~ - -____ - - ]]] - If the file is an archive, it is extracted by this function. - Next stage is scanning of files with the common utility `file', - to detect executables. They are given +x mode. There are also - messages to the user on performed actions. - - $1 - url - $2 - file -____ - -Has 265 line(s). Calls functions: - - ziextract - `-- zi.zsh/+zi-message - -Uses feature(s): _setopt_, _unfunction_, _zparseopts_ - -Called by: - - .zi-extract - .zi-get-package - .zi-setup-plugin-dir - zpextract - -zimv -~~~~ - -____ - - ]]] - FUNCTION zimv [[[ -____ - -Has 3 line(s). Calls functions: - - zimv - `-- zicp - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zpextract -~~~~~~~~~ - -____ - - ]]] -____ - -Has 1 line(s). Calls functions: - - zpextract - `-- ziextract - `-- zi.zsh/+zi-message - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-atclone-hook -~~~~~~~~~~~~~~~~ - -Has 18 line(s). Calls functions: - - ∞zi-atclone-hook - |-- side.zsh/.zi-countdown - `-- zi.zsh/@zi-substitute - -Uses feature(s): _eval_, _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-atpull-e-hook -~~~~~~~~~~~~~~~~~ - -Has 17 line(s). Calls functions: - - ∞zi-atpull-e-hook - `-- side.zsh/.zi-countdown - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-atpull-hook -~~~~~~~~~~~~~~~ - -Has 16 line(s). Calls functions: - - ∞zi-atpull-hook - `-- side.zsh/.zi-countdown - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-compile-plugin-hook -~~~~~~~~~~~~~~~~~~~~~~~ - -Has 15 line(s). Calls functions: - - ∞zi-compile-plugin-hook - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-cp-hook -~~~~~~~~~~~ - -Has 25 line(s). Calls functions: - - ∞zi-cp-hook - `-- zi.zsh/@zi-substitute - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-extract-hook -~~~~~~~~~~~~~~~~ - -Has 5 line(s). Calls functions: - - ∞zi-extract-hook - `-- zi.zsh/@zi-substitute - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-make-e-hook -~~~~~~~~~~~~~~~ - -Has 7 line(s). Calls functions: - - ∞zi-make-e-hook - |-- side.zsh/.zi-countdown - `-- zi.zsh/@zi-substitute - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-make-ee-hook -~~~~~~~~~~~~~~~~ - -Has 7 line(s). Calls functions: - - ∞zi-make-ee-hook - |-- side.zsh/.zi-countdown - `-- zi.zsh/@zi-substitute - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-make-hook -~~~~~~~~~~~~~ - -Has 6 line(s). Calls functions: - - ∞zi-make-hook - |-- side.zsh/.zi-countdown - `-- zi.zsh/@zi-substitute - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-mv-hook -~~~~~~~~~~~ - -Has 26 line(s). Calls functions: - - ∞zi-mv-hook - |-- zi.zsh/+zi-message - `-- zi.zsh/@zi-substitute - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-ps-on-update-hook -~~~~~~~~~~~~~~~~~~~~~ - -Has 14 line(s). Calls functions: - - ∞zi-ps-on-update-hook - `-- zi.zsh/+zi-message - -Uses feature(s): _eval_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -∞zi-reset-hook -~~~~~~~~~~~~~~ - -____ - - ]]] -____ - -Has 73 line(s). Calls functions: - - ∞zi-reset-hook - `-- zi.zsh/+zi-message - -Uses feature(s): _eval_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -compinit -~~~~~~~~ - -____ - - Initialisation for new style completion. This mainly contains some helper - functions and setup. Everything else is split into different files that - will automatically be made autoloaded (see the end of this file). The - names of the files that will be considered for autoloading are those that - begin with an underscores (like `_condition). - - The first line of each of these files is read and must indicate what - should be done with its contents: - - `#compdef ' -____ - -Has 573 line(s). Doesn't call other functions. - -Uses feature(s): _autoload_, _bindkey_, _compdef_, _compdump_, _eval_, _read_, _setopt_, _unfunction_, _zle_, _zstyle_ - -Called by: - - .zi-compinit - diff --git a/code/zsdoc/asciidoc/side.zsh.adoc b/code/zsdoc/asciidoc/side.zsh.adoc deleted file mode 100644 index 55d2345..0000000 --- a/code/zsdoc/asciidoc/side.zsh.adoc +++ /dev/null @@ -1,313 +0,0 @@ -side.zsh(1) -=========== -:compat-mode!: - -NAME ----- -side.zsh - a shell script - -SYNOPSIS --------- -Documentation automatically generated with `zsdoc' - -FUNCTIONS ---------- - - .zi-any-colorify-as-uspl2 - .zi-check-module - .zi-compute-ice - .zi-countdown - .zi-exists-physically - .zi-exists-physically-message - .zi-first - .zi-store-ices - .zi-two-paths -AUTOLOAD zmv - -DETAILS -------- - -Script Body -~~~~~~~~~~~ - -Has 1 line(s). No functions are called (may set up e.g. a hook, a Zle widget bound to a key, etc.). - -.zi-any-colorify-as-uspl2 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Returns ANSI-colorified "user/plugin" string, from any supported plugin spec (user---plugin, user/plugin, user plugin, plugin). - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) - $REPLY = ANSI-colorified "user/plugin" string -____ - -Has 22 line(s). Calls functions: - - .zi-any-colorify-as-uspl2 - |-- zi.zsh/.zi-any-to-pid - `-- zi.zsh/.zi-any-to-user-plugin - -Called by: - - .zi-exists-physically-message - autoload.zsh/.zi-clear-completions - autoload.zsh/.zi-compile-uncompile-all - autoload.zsh/.zi-compiled - autoload.zsh/.zi-create - autoload.zsh/.zi-exists-message - autoload.zsh/.zi-get-completion-owner-uspl2col - autoload.zsh/.zi-list-bindkeys - autoload.zsh/.zi-recently - autoload.zsh/.zi-search-completions - autoload.zsh/.zi-show-completions - autoload.zsh/.zi-show-registered-plugins - autoload.zsh/.zi-show-times - autoload.zsh/.zi-uncompile-plugin - autoload.zsh/.zi-unload - autoload.zsh/.zi-update-all-parallel - autoload.zsh/.zi-update-or-status-all - autoload.zsh/.zi-update-or-status - install.zsh/.zi-install-completions - install.zsh/.zi-setup-plugin-dir - zi.zsh/.zi-formatter-pid - -.zi-check-module -~~~~~~~~~~~~~~~~ - -____ - - Check module. Don't trust access times and verify hard stored values. -____ - -Has 21 line(s). Calls functions: - - .zi-check-module - |-- autoload.zsh/.zi-module - `-- zi.zsh/+zi-message - -Uses feature(s): _source_ - -Called by: - - zi.zsh/Script-Body - -.zi-compute-ice -~~~~~~~~~~~~~~~ - -____ - - Computes ICE array (default, it can be specified via $3) from a) input ICE, b) static ice, c) saved ice, - taking priorities into account. Also returns path to snippet directory and optional name of snippet file - (only valid if ICE[svn] is not set). - - Can also pack resulting ices into ZI_SICE (see $2). - - $1 - URL (also plugin-spec) - $2 - "pack" or "nopack" or "pack-nf" - packing means ICE - wins with static ice; "pack-nf" means that disk-ices will - be ignored (no-file?) - $3 - name of output associative array, "ICE" is the default - $4 - name of output string parameter, to hold path to directory ("local_dir") - $5 - name of output string parameter, to hold filename ("filename") - $6 - name of output string parameter, to hold is-snippet 0/1-bool ("is_snippet") -____ - -Has 116 line(s). Calls functions: - - .zi-compute-ice - |-- zi.zsh/.zi-any-to-user-plugin - |-- zi.zsh/.zi-pack-ice - `-- zmv - -Uses feature(s): _autoload_, _setopt_, _zmv_ - -Called by: - - autoload.zsh/.zi-delete - autoload.zsh/.zi-edit - autoload.zsh/.zi-recall - autoload.zsh/.zi-update-or-status-snippet - autoload.zsh/.zi-update-or-status - install.zsh/.zi-compile-plugin - -.zi-countdown -~~~~~~~~~~~~~ - -____ - - Displays a countdown 5...4... etc. and returns 0 if it - sucessfully reaches 0, or 1 if Ctrl-C will be pressed. -____ - -Has 14 line(s). Calls functions: - - .zi-countdown - `-- zi.zsh/+zi-message - -Uses feature(s): _trap_ - -Called by: - - autoload.zsh/.zi-run-delete-hooks - install.zsh/∞zi-atclone-hook - install.zsh/∞zi-atpull-e-hook - install.zsh/∞zi-atpull-hook - install.zsh/∞zi-make-e-hook - install.zsh/∞zi-make-ee-hook - install.zsh/∞zi-make-hook - -.zi-exists-physically -~~~~~~~~~~~~~~~~~~~~~ - -____ - - Checks if directory of given plugin exists in PLUGIN_DIR. - - Testable. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 6 line(s). Calls functions: - - .zi-exists-physically - `-- zi.zsh/.zi-any-to-user-plugin - -Called by: - - .zi-exists-physically-message - autoload.zsh/.zi-create - autoload.zsh/.zi-update-or-status - -.zi-exists-physically-message -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Checks if directory of given plugin exists in PLUGIN_DIR, and outputs error message if it doesn't. - - Testable. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 22 line(s). Calls functions: - - .zi-exists-physically-message - |-- zi.zsh/+zi-message - |-- zi.zsh/.zi-any-to-pid - `-- zi.zsh/.zi-any-to-user-plugin - -Uses feature(s): _setopt_ - -Called by: - - .zi-compute-ice - autoload.zsh/.zi-changes - autoload.zsh/.zi-glance - autoload.zsh/.zi-stress - autoload.zsh/.zi-update-or-status - install.zsh/.zi-install-completions - -.zi-first -~~~~~~~~~ - -____ - - Finds the main file of plugin. There are multiple file name formats, they are ordered in order starting from more correct - ones, and matched. .zi-load-plugin() has similar code parts and doesn't call .zi-first() – for performance. Obscure matching - is done in .zi-find-other-matches, here and in .zi-load(). Obscure = non-standard main-file naming convention. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) -____ - -Has 19 line(s). Calls functions: - - .zi-first - |-- zi.zsh/.zi-any-to-pid - |-- zi.zsh/.zi-any-to-user-plugin - |-- zi.zsh/.zi-find-other-matches - `-- zi.zsh/.zi-get-object-path - -Called by: - - .zi-two-paths - autoload.zsh/.zi-glance - autoload.zsh/.zi-stress - install.zsh/.zi-compile-plugin - -.zi-store-ices -~~~~~~~~~~~~~~ - -____ - - Saves ice mods in given hash onto disk. - - $1 - directory where to create / delete files - $2 - name of hash that holds values - $3 - additional keys of hash to store, space separated - $4 - additional keys of hash to store, empty-meaningful ices, space separated - $5 - the URL, if applicable - $6 - the mode (1 - svn, 0 - single file), if applicable -____ - -Has 28 line(s). Doesn't call other functions. - -Called by: - - autoload.zsh/.zi-update-or-status - install.zsh/.zi-download-snippet - install.zsh/.zi-setup-plugin-dir - -.zi-two-paths -~~~~~~~~~~~~~ - -____ - - Obtains a snippet URL without specification if it is an SVN URL (points to directory) or regular URL (points to file), - returns 2 possible paths for further examination -____ - -Has 22 line(s). Calls functions: - - .zi-two-paths - `-- zi.zsh/.zi-get-object-path - -Uses feature(s): _setopt_ - -Called by: - - .zi-compute-ice - autoload.zsh/.zi-update-or-status - -zmv -~~~ - -____ - - function zmv { - zmv, zcp, zln: - - This is a multiple move based on zsh pattern matching. To get the full - power of it, you need a postgraduate degree in zsh. However, simple - tasks work OK, so if that's all you need, here are some basic examples: - zmv '(*).txt' '$1.lis' - Rename foo.txt to foo.lis, etc. The parenthesis is the thing that - gets replaced by the $1 (not the `*', as happens in mmv, and note the - `$', not `=', so that you need to quote both words). -____ - -Has 299 line(s). Doesn't call other functions. - -Uses feature(s): _eval_, _getopts_, _read_, _setopt_ - -Called by: - - .zi-compute-ice - diff --git a/code/zsdoc/asciidoc/zi.zsh.adoc b/code/zsdoc/asciidoc/zi.zsh.adoc deleted file mode 100644 index ff5533f..0000000 --- a/code/zsdoc/asciidoc/zi.zsh.adoc +++ /dev/null @@ -1,1569 +0,0 @@ -zi.zsh(1) -========= -:compat-mode!: - -NAME ----- -zi.zsh - a shell script - -SYNOPSIS --------- -Documentation automatically generated with `zsdoc' - -FUNCTIONS ---------- - - +zi-deploy-message - +zi-message - +zi-prehelp-usage-message - -zi_scheduler_add_sh - .zi-add-fpath - .zi-add-report - .zi-any-to-pid - .zi-any-to-user-plugin - .zi-compdef-clear - .zi-compdef-replay - .zi-diff - .zi-diff-env - .zi-diff-functions - .zi-diff-options - .zi-diff-parameter - .zi-find-other-matches - .zi-formatter-auto - .zi-formatter-bar - .zi-formatter-bar-util - .zi-formatter-pid - .zi-formatter-th-bar - .zi-formatter-url - .zi-get-mtime-into - .zi-get-object-path - .zi-ice - .zi-load - .zi-load-ices - .zi-load-object - .zi-load-plugin - .zi-load-snippet - .zi-main-message-formatter - .zi-pack-ice - .zi-parse-opts - .zi-prepare-home - .zi-register-plugin - .zi-run - .zi-run-task - .zi-set-m-func - .zi-setup-params - .zi-submit-turbo - .zi-tmp-subst-off - .zi-tmp-subst-on - .zi-util-shands-path - :zi-reload-and-run - :zi-tmp-subst-alias - :zi-tmp-subst-autoload - :zi-tmp-subst-bindkey - :zi-tmp-subst-compdef - :zi-tmp-subst-zle - :zi-tmp-subst-zstyle - @autoload - @zi-register-annex - @zi-register-hook - @zi-substitute - @zsh-plugin-run-on-unload - @zsh-plugin-run-on-update - pmodload - zi - zi-turbo - zicdclear - zicdreplay - zicompdef - zicompinit - zicompinit_fast - zpcdclear - zpcdreplay - zpcompdef - zpcompinit - ❮▼❯ -AUTOLOAD add-zsh-hook -AUTOLOAD compinit -AUTOLOAD is-at-least -PRECMD-HOOK @zi-scheduler - -DETAILS -------- - -Script Body -~~~~~~~~~~~ - -Has 279 line(s). Calls functions: - - Script-Body - |-- @zi-register-hook - |-- add-zsh-hook - |-- is-at-least - `-- side.zsh/.zi-check-module - -Uses feature(s): _add-zsh-hook_, _alias_, _autoload_, _is-at-least_, _setopt_, _source_, _zmodload_, _zstyle_ - -+zi-deploy-message -~~~~~~~~~~~~~~~~~~ - -____ - - Deploys a sub-prompt message to be displayed OR a `zle - .reset-prompt' call to be invoked -____ - -Has 13 line(s). Doesn't call other functions. - -Uses feature(s): _read_, _zle_ - -Called by: - - .zi-load-snippet - .zi-load - autoload.zsh/.zi-recall - -+zi-message -~~~~~~~~~~~ - -Has 13 line(s). Doesn't call other functions. - -Called by: - - +zi-prehelp-usage-message - .zi-compdef-clear - .zi-compdef-replay - .zi-load-snippet - .zi-register-plugin - .zi-run - .zi-set-m-func - :zi-tmp-subst-autoload - zi - additional.zsh/.zi-debug-start - additional.zsh/.zi-debug-unload - additional.zsh/:zi-tmp-subst-source - autoload.zsh/.zi-analytics-menu - autoload.zsh/.zi-build-module - autoload.zsh/.zi-cd - autoload.zsh/.zi-clear-completions - autoload.zsh/.zi-compiled - autoload.zsh/.zi-glance - autoload.zsh/.zi-help - autoload.zsh/.zi-module - autoload.zsh/.zi-registered-ice-mods - autoload.zsh/.zi-registered-subcommands - autoload.zsh/.zi-self-update - autoload.zsh/.zi-show-report - autoload.zsh/.zi-show-zstatus - autoload.zsh/.zi-uncompile-plugin - autoload.zsh/.zi-uninstall-completions - autoload.zsh/.zi-unload - autoload.zsh/.zi-update-all-parallel - autoload.zsh/.zi-update-or-status-all - autoload.zsh/.zi-update-or-status - autoload.zsh/.zi-wait-for-update-jobs - install.zsh/.zi-compile-plugin - install.zsh/.zi-compinit - install.zsh/.zi-download-file-stdout - install.zsh/.zi-download-snippet - install.zsh/.zi-extract - install.zsh/.zi-get-cygwin-package - install.zsh/.zi-get-latest-gh-r-url-part - install.zsh/.zi-get-package - install.zsh/.zi-install-completions - install.zsh/.zi-mirror-using-svn - install.zsh/.zi-setup-plugin-dir - install.zsh/.zi-update-snippet - install.zsh/ziextract - install.zsh/∞zi-mv-hook - install.zsh/∞zi-ps-on-update-hook - install.zsh/∞zi-reset-hook - side.zsh/.zi-check-module - side.zsh/.zi-countdown - side.zsh/.zi-exists-physically-message - -+zi-prehelp-usage-message -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Prints the usage message. -____ - -Has 34 line(s). Calls functions: - - +zi-prehelp-usage-message - `-- +zi-message - -Called by: - - zi - autoload.zsh/.zi-delete - --zi_scheduler_add_sh -~~~~~~~~~~~~~~~~~~~~ - -____ - - Copies task into ZI_RUN array, called when a task timeouts. - A small function ran from pattern in /-substitution as a math - function. -____ - -Has 7 line(s). Doesn't call other functions. - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-add-fpath -~~~~~~~~~~~~~ - -Has 10 line(s). Calls functions: - - .zi-add-fpath - -Called by: - - zi - -.zi-add-report -~~~~~~~~~~~~~~ - -____ - - Adds a report line for given plugin. - - $1 - uspl2, i.e. user/plugin - $2, ... - the text -____ - -Has 3 line(s). Doesn't call other functions. - -Called by: - - .zi-load-plugin - .zi-load-snippet - :zi-tmp-subst-alias - :zi-tmp-subst-autoload - :zi-tmp-subst-bindkey - :zi-tmp-subst-compdef - :zi-tmp-subst-zle - :zi-tmp-subst-zstyle - -.zi-any-to-pid -~~~~~~~~~~~~~~ - -Has 21 line(s). Calls functions: - - .zi-any-to-pid - -Uses feature(s): _setopt_ - -Called by: - - side.zsh/.zi-any-colorify-as-uspl2 - side.zsh/.zi-exists-physically-message - side.zsh/.zi-first - -.zi-any-to-user-plugin -~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Allows elastic plugin-spec across the code. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin (only when $1 - i.e. user - given) - - Returns user and plugin in $reply. - -____ - -Has 25 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-add-fpath - .zi-get-object-path - .zi-load - .zi-run - :zi-tmp-subst-autoload - autoload.zsh/.zi-any-to-uspl2 - autoload.zsh/.zi-changes - autoload.zsh/.zi-compile-uncompile-all - autoload.zsh/.zi-compiled - autoload.zsh/.zi-create - autoload.zsh/.zi-delete - autoload.zsh/.zi-find-completions-of-plugin - autoload.zsh/.zi-glance - autoload.zsh/.zi-show-report - autoload.zsh/.zi-stress - autoload.zsh/.zi-uncompile-plugin - autoload.zsh/.zi-unload - autoload.zsh/.zi-unregister-plugin - autoload.zsh/.zi-update-all-parallel - autoload.zsh/.zi-update-or-status-all - autoload.zsh/.zi-update-or-status - install.zsh/.zi-install-completions - side.zsh/.zi-any-colorify-as-uspl2 - side.zsh/.zi-compute-ice - side.zsh/.zi-exists-physically-message - side.zsh/.zi-exists-physically - side.zsh/.zi-first - -.zi-compdef-clear -~~~~~~~~~~~~~~~~~ - -____ - - Implements user-exposed functionality to clear gathered compdefs. -____ - -Has 3 line(s). Calls functions: - - .zi-compdef-clear - `-- +zi-message - -Called by: - - zi - zicdclear - zpcdclear - -.zi-compdef-replay -~~~~~~~~~~~~~~~~~~ - -____ - - Runs gathered compdef calls. This allows to run `compinit' after loading plugins. -____ - -Has 16 line(s). Calls functions: - - .zi-compdef-replay - `-- +zi-message - -Uses feature(s): _compdef_ - -Called by: - - zi - zicdreplay - zpcdreplay - -.zi-diff -~~~~~~~~ - -____ - - Performs diff actions of all types -____ - -Has 4 line(s). Calls functions: - - .zi-diff - -Called by: - - .zi-load-plugin - additional.zsh/.zi-debug-start - additional.zsh/.zi-debug-stop - -.zi-diff-env -~~~~~~~~~~~~ - -____ - - Implements detection of change in PATH and FPATH. - - $1 - user/plugin (i.e. uspl2 format) - $2 - command, can be "begin" or "end" -____ - -Has 15 line(s). Doesn't call other functions. - -Called by: - - .zi-diff - .zi-load-plugin - -.zi-diff-functions -~~~~~~~~~~~~~~~~~~ - -____ - - Implements detection of newly created functions. Performs data gathering, computation is done in *-compute(). - - $1 - user/plugin (i.e. uspl2 format) - $2 - command, can be "begin" or "end" -____ - -Has 3 line(s). Doesn't call other functions. - -Called by: - - .zi-diff - -.zi-diff-options -~~~~~~~~~~~~~~~~ - -____ - - Implements detection of change in option state. Performs data gathering, computation is done in *-compute(). - - $1 - user/plugin (i.e. uspl2 format) - $2 - command, can be "begin" or "end" -____ - -Has 2 line(s). Doesn't call other functions. - -Called by: - - .zi-diff - -.zi-diff-parameter -~~~~~~~~~~~~~~~~~~ - -____ - - Implements detection of change in any parameter's existence and type. - Performs data gathering, computation is done in *-compute(). - - $1 - user/plugin (i.e. uspl2 format) - $2 - command, can be "begin" or "end" -____ - -Has 6 line(s). Doesn't call other functions. - -Called by: - - .zi-diff - -.zi-find-other-matches -~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Plugin's main source file is in general `name.plugin.zsh'. However, - there can be different conventions, if that file is not found, then - this functions examines other conventions in the most sane order. -____ - -Has 17 line(s). Doesn't call other functions. - -Called by: - - .zi-load-plugin - .zi-load-snippet - side.zsh/.zi-first - -.zi-formatter-auto -~~~~~~~~~~~~~~~~~~ - -____ - - FUNCTION: .zi-formatter-auto[[[ - The automatic message formatting tool automatically detects, - formats, and colorizes the following pieces of text: - [URLs], [plugin IDs (user/repo) if exists on the disk], [numbers], [time], [single-word id-as plugins], - [single word commands], [single word functions], [zi commands], [ice modifiers (e.g: mv'a -> b')], - [single-char bits and quoted strings (`...', ,'...', "...")]. -____ - -Has 46 line(s). Calls functions: - - .zi-formatter-auto - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-formatter-bar -~~~~~~~~~~~~~~~~~ - -Has 1 line(s). Calls functions: - - .zi-formatter-bar - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-formatter-bar-util -~~~~~~~~~~~~~~~~~~~~~~ - -Has 6 line(s). Doesn't call other functions. - -Called by: - - .zi-formatter-bar - .zi-formatter-th-bar - -.zi-formatter-pid -~~~~~~~~~~~~~~~~~ - -Has 10 line(s). Calls functions: - - .zi-formatter-pid - `-- side.zsh/.zi-any-colorify-as-uspl2 - -Uses feature(s): _source_ - -Called by: - - .zi-formatter-auto - -.zi-formatter-th-bar -~~~~~~~~~~~~~~~~~~~~ - -Has 1 line(s). Calls functions: - - .zi-formatter-th-bar - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-formatter-url -~~~~~~~~~~~~~~~~~ - -Has 14 line(s). Doesn't call other functions. - -Called by: - - .zi-formatter-auto - -.zi-get-mtime-into -~~~~~~~~~~~~~~~~~~ - -Has 7 line(s). Doesn't call other functions. - -Called by: - - Script-Body - autoload.zsh/.zi-self-update - autoload.zsh/.zi-update-or-status-all - -.zi-get-object-path -~~~~~~~~~~~~~~~~~~~ - -Has 23 line(s). Calls functions: - - .zi-get-object-path - -Called by: - - .zi-load-ices - .zi-load-snippet - .zi-run - zi - autoload.zsh/.zi-get-path - install.zsh/.zi-setup-plugin-dir - install.zsh/.zi-update-snippet - side.zsh/.zi-first - side.zsh/.zi-two-paths - -.zi-ice -~~~~~~~ - -____ - - Parses ICE specification, puts the result into ICE global hash. The ice-spec is valid for - next command only (i.e. it "melts"), but it can then stick to plugin and activate e.g. at update. -____ - -Has 12 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - zi - -.zi-load -~~~~~~~~ - -____ - - Implements the exposed-to-user action of loading a plugin. - - $1 - plugin spec (4 formats: user---plugin, user/plugin, user, plugin) - $2 - plugin name, if the third format is used -____ - -Has 78 line(s). Calls functions: - - .zi-load - |-- +zi-deploy-message - |-- install.zsh/.zi-get-package - `-- install.zsh/.zi-setup-plugin-dir - -Uses feature(s): _eval_, _setopt_, _source_, _zle_ - -Called by: - - .zi-load-object - .zi-run-task - additional.zsh/.zi-service - -.zi-load-ices -~~~~~~~~~~~~~ - -Has 22 line(s). Calls functions: - - .zi-load-ices - -Called by: - - zi - -.zi-load-object -~~~~~~~~~~~~~~~ - -Has 10 line(s). Calls functions: - - .zi-load-object - -Called by: - - zi - -.zi-load-plugin -~~~~~~~~~~~~~~~ - -____ - - Lower-level function for loading a plugin. - - $1 - user - $2 - plugin - $3 - mode (light or load) -____ - -Has 107 line(s). Calls functions: - - .zi-load-plugin - |-- :zi-tmp-subst-autoload - |   |-- +zi-message - |   `-- is-at-least - `-- additional.zsh/.zi-wrap-functions - -Uses feature(s): _eval_, _setopt_, _source_, _unfunction_, _zle_ - -Called by: - - .zi-load - -.zi-load-snippet -~~~~~~~~~~~~~~~~ - -____ - - Implements the exposed-to-user action of loading a snippet. - - $1 - url (can be local, absolute path). -____ - -Has 173 line(s). Calls functions: - - .zi-load-snippet - |-- +zi-deploy-message - |-- +zi-message - |-- additional.zsh/.zi-wrap-functions - `-- install.zsh/.zi-download-snippet - -Uses feature(s): _autoload_, _eval_, _setopt_, _source_, _unfunction_, _zparseopts_, _zstyle_ - -Called by: - - .zi-load-object - .zi-load - .zi-run-task - pmodload - additional.zsh/.zi-service - -.zi-main-message-formatter -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Has 18 line(s). Doesn't call other functions. - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -.zi-pack-ice -~~~~~~~~~~~~ - -____ - - Remembers all ice-mods, assigns them to concrete plugin. Ice spec is in general forgotten for - second-next command (that's why it's called "ice" - it melts), however they glue to the object (plugin - or snippet) mentioned in the next command – for later use with e.g. `zi update ...'. -____ - -Has 3 line(s). Doesn't call other functions. - -Called by: - - .zi-load-snippet - .zi-load - @zsh-plugin-run-on-unload - @zsh-plugin-run-on-update - install.zsh/.zi-update-snippet - side.zsh/.zi-compute-ice - -.zi-parse-opts -~~~~~~~~~~~~~~ - -____ - - ]]] -____ - -Has 2 line(s). Doesn't call other functions. - -Called by: - - zi - autoload.zsh/.zi-delete - -.zi-prepare-home -~~~~~~~~~~~~~~~~ - -____ - - Establish all required directories. -____ - -Has 64 line(s). Calls functions: - - .zi-prepare-home - |-- autoload.zsh/.zi-clear-completions - `-- install.zsh/.zi-compinit - -Uses feature(s): _source_ - -Called by: - - Script-Body - -.zi-register-plugin -~~~~~~~~~~~~~~~~~~~ - -____ - - Adds the plugin to ZI_REGISTERED_PLUGINS array and to the - zsh_loaded_plugins array (managed according to the plugin standard: - https://wiki.zshell.dev/community/zsh_plugin_standard). -____ - -Has 20 line(s). Calls functions: - - .zi-register-plugin - `-- +zi-message - -Called by: - - .zi-load - -.zi-run -~~~~~~~ - -____ - - Run code inside plugin's folder - It uses the `correct' parameter from upper's scope zi(). -____ - -Has 24 line(s). Calls functions: - - .zi-run - `-- +zi-message - -Uses feature(s): _eval_, _setopt_ - -Called by: - - zi - -.zi-run-task -~~~~~~~~~~~~ - -____ - - A backend, worker function of .zi-scheduler. It obtains the tasks - index and a few of its properties (like the type: plugin, snippet, - service plugin, service snippet) and executes it first checking for - additional conditions (like non-numeric wait'' ice). - - $1 - the pass number, either 1st or 2nd pass - $2 - the time assigned to the task - $3 - type: plugin, snippet, service plugin, service snippet - $4 - task's index in the ZI[WAIT_ICE_...] fields - $5 - mode: load or light - $6 - the plugin-spec or snippet URL or alias name (from id-as'') -____ - -Has 45 line(s). Calls functions: - - .zi-run-task - `-- autoload.zsh/.zi-unload - -Uses feature(s): _eval_, _source_, _zle_, _zpty_ - -Called by: - - @zi-scheduler - -.zi-set-m-func -~~~~~~~~~~~~~~ - -____ - - FUNCTION:.zi-set-m-func() [[[ - Sets and withdraws the temporary, atclone/atpull time function `m`. -____ - -Has 17 line(s). Calls functions: - - .zi-set-m-func - `-- +zi-message - -Uses feature(s): _setopt_ - -Called by: - - .zi-load-snippet - .zi-load - autoload.zsh/.zi-update-or-status - -.zi-setup-params -~~~~~~~~~~~~~~~~ - -Has 3 line(s). Doesn't call other functions. - -Called by: - - .zi-load-snippet - .zi-load - -.zi-submit-turbo -~~~~~~~~~~~~~~~~ - -____ - - If `zi load`, `zi light` or `zi snippet` will be - preceded with `wait', `load', `unload' or `on-update-of`/`subscribe' - ice-mods then the plugin or snipped is to be loaded in turbo-mode, - and this function adds it to internal data structures, so that - @zi-scheduler can run (load, unload) this as a task. -____ - -Has 16 line(s). Doesn't call other functions. - -Called by: - - zi - -.zi-tmp-subst-off -~~~~~~~~~~~~~~~~~ - -____ - - Turn off temporary substituting of functions completely for a given mode ("load", "light", - "light-b" (i.e. the `trackbinds' mode) or "compdef"). -____ - -Has 17 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_, _unfunction_ - -Called by: - - .zi-load-plugin - additional.zsh/.zi-debug-stop - -.zi-tmp-subst-on -~~~~~~~~~~~~~~~~ - -____ - - Turn on temporary substituting of functions of builtins and functions according to passed - mode ("load", "light", "light-b" or "compdef"). The temporary substituting of functions is - to gather report data, and to hijack `autoload', `bindkey' and `compdef' calls. -____ - -Has 29 line(s). Doesn't call other functions. - -Uses feature(s): _source_ - -Called by: - - .zi-load-plugin - additional.zsh/.zi-debug-start - -.zi-util-shands-path -~~~~~~~~~~~~~~~~~~~~ - -____ - - Replaces parts of path with %HOME, etc. -____ - -Has 8 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - .zi-any-to-pid - -:zi-reload-and-run -~~~~~~~~~~~~~~~~~~ - -____ - - Marks given function ($3) for autoloading, and executes it triggering the load. - $1 is the fpath dedicated to the function, $2 are autoload options. This function replaces "autoload -X", - because using that on older Zsh versions causes problems with traps. - - So basically one creates function stub that calls :zi-reload-and-run() instead of "autoload -X". - - $1 - FPATH dedicated to function - $2 - autoload options - $3 - function name (one that needs autoloading) - - Author: Bart Schaefer -____ - -Has 9 line(s). Doesn't call other functions. - -Uses feature(s): _autoload_, _unfunction_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -:zi-tmp-subst-alias -~~~~~~~~~~~~~~~~~~~ - -____ - - Function defined to hijack plugin's calls to the `alias' builtin. - - The hijacking is to gather report data (which is used in unload). -____ - -Has 30 line(s). Calls functions: - - :zi-tmp-subst-alias - -Uses feature(s): _alias_, _setopt_, _zparseopts_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -:zi-tmp-subst-autoload -~~~~~~~~~~~~~~~~~~~~~~ - -____ - - Function defined to hijack plugin's calls to the `autoload' builtin. - - The hijacking is not only to gather report data, but also to. - run custom `autoload' function, that doesn't need FPATH. -____ - -Has 105 line(s). Calls functions: - - :zi-tmp-subst-autoload - |-- +zi-message - `-- is-at-least - -Uses feature(s): _autoload_, _eval_, _is-at-least_, _setopt_, _zparseopts_ - -Called by: - - .zi-load-plugin - @autoload - -:zi-tmp-subst-bindkey -~~~~~~~~~~~~~~~~~~~~~ - -____ - - Function defined to hijack plugin's calls to the `bindkey' builtin. - - The hijacking is to gather report data (which is used in unload). -____ - -Has 106 line(s). Calls functions: - - :zi-tmp-subst-bindkey - `-- is-at-least - -Uses feature(s): _bindkey_, _is-at-least_, _setopt_, _zparseopts_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -:zi-tmp-subst-compdef -~~~~~~~~~~~~~~~~~~~~~ - -____ - - Function defined to hijack plugin's calls to the `compdef' function. - The hijacking is not only for reporting, but also to save compdef - calls so that `compinit' can be called after loading plugins. -____ - -Has 5 line(s). Calls functions: - - :zi-tmp-subst-compdef - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -:zi-tmp-subst-zle -~~~~~~~~~~~~~~~~~ - -____ - - Function defined to hijack plugin's calls to the `zle' builtin. - - The hijacking is to gather report data (which is used in unload). -____ - -Has 33 line(s). Calls functions: - - :zi-tmp-subst-zle - -Uses feature(s): _setopt_, _zle_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -:zi-tmp-subst-zstyle -~~~~~~~~~~~~~~~~~~~~ - -____ - - Function defined to hijack plugin's calls to the `zstyle' builtin. - - The hijacking is to gather report data (which is used in unload). -____ - -Has 19 line(s). Calls functions: - - :zi-tmp-subst-zstyle - -Uses feature(s): _setopt_, _zparseopts_, _zstyle_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -@autoload -~~~~~~~~~ - -____ - - ]]] -____ - -Has 1 line(s). Calls functions: - - @autoload - `-- :zi-tmp-subst-autoload - |-- +zi-message - `-- is-at-least - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -@zi-register-annex -~~~~~~~~~~~~~~~~~~ - -____ - - Registers the z-annex inside Zi – i.e. an Zi extension -____ - -Has 10 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -@zi-register-hook -~~~~~~~~~~~~~~~~~ - -____ - - Registers the z-annex inside Zi. -____ - -Has 6 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - Script-Body - -@zi-scheduler -~~~~~~~~~~~~~ - -____ - - Searches for timeout tasks, executes them. There's an array of tasks - waiting for execution, this scheduler manages them, detects which ones - should be run at current moment, decides to remove (or not) them from - the array after execution. - - $1 - if "following", then it is non-first (second and more) - invocation of the scheduler; this results in chain of `sched' - invocations that results in repetitive @zi-scheduler activity. - - if "burst", then all tasks are marked timeout and executed one - by one; this is handy if e.g. a docker image starts up and - needs to install all turbo-mode plugins without any hesitation - (delay), i.e. "burst" allows to run package installations from - script, not from prompt. - -____ - -Has 72 line(s). *Is a precmd hook*. Calls functions: - - @zi-scheduler - `-- add-zsh-hook - -Uses feature(s): _add-zsh-hook_, _sched_, _zle_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -@zi-substitute -~~~~~~~~~~~~~~ - -Has 36 line(s). Doesn't call other functions. - -Uses feature(s): _setopt_ - -Called by: - - autoload.zsh/.zi-at-eval - install.zsh/.zi-at-eval - install.zsh/.zi-get-package - install.zsh/∞zi-atclone-hook - install.zsh/∞zi-cp-hook - install.zsh/∞zi-extract-hook - install.zsh/∞zi-make-e-hook - install.zsh/∞zi-make-ee-hook - install.zsh/∞zi-make-hook - install.zsh/∞zi-mv-hook - -@zsh-plugin-run-on-unload -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - The Plugin Standard required mechanism, see: - https://wiki.zshell.dev/community/zsh_plugin_standard -____ - -Has 2 line(s). Calls functions: - - @zsh-plugin-run-on-unload - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -@zsh-plugin-run-on-update -~~~~~~~~~~~~~~~~~~~~~~~~~ - -____ - - The Plugin Standard required mechanism -____ - -Has 2 line(s). Calls functions: - - @zsh-plugin-run-on-update - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -pmodload -~~~~~~~~ - -____ - - Compatibility with Prezto. Calls can be recursive. -____ - -Has 15 line(s). Calls functions: - - pmodload - -Uses feature(s): _zstyle_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zi -~~ - -____ - - Main function directly exposed to user, obtains subcommand and its arguments, has completion. -____ - -Has 550 line(s). Calls functions: - - zi - |-- +zi-message - |-- +zi-prehelp-usage-message - |   `-- +zi-message - |-- additional.zsh/.zi-clear-debug-report - |-- additional.zsh/.zi-debug-start - |-- additional.zsh/.zi-debug-stop - |-- additional.zsh/.zi-debug-unload - |-- autoload.zsh/.zi-analytics-menu - |-- autoload.zsh/.zi-cdisable - |-- autoload.zsh/.zi-cenable - |-- autoload.zsh/.zi-clear-completions - |-- autoload.zsh/.zi-compile-uncompile-all - |-- autoload.zsh/.zi-compiled - |-- autoload.zsh/.zi-help - |-- autoload.zsh/.zi-list-bindkeys - |-- autoload.zsh/.zi-list-compdef-replay - |-- autoload.zsh/.zi-ls - |-- autoload.zsh/.zi-module - |-- autoload.zsh/.zi-recently - |-- autoload.zsh/.zi-registered-ice-mods - |-- autoload.zsh/.zi-registered-subcommands - |-- autoload.zsh/.zi-search-completions - |-- autoload.zsh/.zi-self-update - |-- autoload.zsh/.zi-show-all-reports - |-- autoload.zsh/.zi-show-completions - |-- autoload.zsh/.zi-show-debug-report - |-- autoload.zsh/.zi-show-registered-plugins - |-- autoload.zsh/.zi-show-report - |-- autoload.zsh/.zi-show-times - |-- autoload.zsh/.zi-show-zstatus - |-- autoload.zsh/.zi-uncompile-plugin - |-- autoload.zsh/.zi-uninstall-completions - |-- autoload.zsh/.zi-unload - |-- autoload.zsh/.zi-update-or-status - |-- autoload.zsh/.zi-update-or-status-all - |-- compinit - |-- install.zsh/.zi-compile-plugin - |-- install.zsh/.zi-compinit - |-- install.zsh/.zi-forget-completion - `-- install.zsh/.zi-install-completions - -Uses feature(s): _autoload_, _compinit_, _eval_, _setopt_, _source_ - -Called by: - - zi-turbo - ❮▼❯ - -zi-turbo -~~~~~~~~ - -____ - - With zi-turbo first argument is a wait time and suffix, i.e. "0a". - Anything that doesn't match will be passed as if it were an ice mod. - Default ices depth'3' and lucid, allowed values [0-9][a-c]. -____ - -Has 1 line(s). Calls functions: - - zi-turbo - `-- zi - |-- +zi-message - |-- +zi-prehelp-usage-message - |   `-- +zi-message - |-- additional.zsh/.zi-clear-debug-report - |-- additional.zsh/.zi-debug-start - |-- additional.zsh/.zi-debug-stop - |-- additional.zsh/.zi-debug-unload - |-- autoload.zsh/.zi-analytics-menu - |-- autoload.zsh/.zi-cdisable - |-- autoload.zsh/.zi-cenable - |-- autoload.zsh/.zi-clear-completions - |-- autoload.zsh/.zi-compile-uncompile-all - |-- autoload.zsh/.zi-compiled - |-- autoload.zsh/.zi-help - |-- autoload.zsh/.zi-list-bindkeys - |-- autoload.zsh/.zi-list-compdef-replay - |-- autoload.zsh/.zi-ls - |-- autoload.zsh/.zi-module - |-- autoload.zsh/.zi-recently - |-- autoload.zsh/.zi-registered-ice-mods - |-- autoload.zsh/.zi-registered-subcommands - |-- autoload.zsh/.zi-search-completions - |-- autoload.zsh/.zi-self-update - |-- autoload.zsh/.zi-show-all-reports - |-- autoload.zsh/.zi-show-completions - |-- autoload.zsh/.zi-show-debug-report - |-- autoload.zsh/.zi-show-registered-plugins - |-- autoload.zsh/.zi-show-report - |-- autoload.zsh/.zi-show-times - |-- autoload.zsh/.zi-show-zstatus - |-- autoload.zsh/.zi-uncompile-plugin - |-- autoload.zsh/.zi-uninstall-completions - |-- autoload.zsh/.zi-unload - |-- autoload.zsh/.zi-update-or-status - |-- autoload.zsh/.zi-update-or-status-all - |-- compinit - |-- install.zsh/.zi-compile-plugin - |-- install.zsh/.zi-compinit - |-- install.zsh/.zi-forget-completion - `-- install.zsh/.zi-install-completions - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zicdclear -~~~~~~~~~ - -____ - - ]]] - A wrapper for `zi cdclear -q' which can be called from hook ices like the atinit'', atload'', etc. ices. -____ - -Has 1 line(s). Calls functions: - - zicdclear - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zicdreplay -~~~~~~~~~~ - -____ - - A function that can be invoked from within `atinit', `atload', etc. ice-mod. - It works like `zi cdreplay', which cannot be invoked from such hook ices. -____ - -Has 1 line(s). Calls functions: - - zicdreplay - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zicompdef -~~~~~~~~~ - -____ - - ]]] - Stores compdef for a replay with `zicdreplay' (turbo mode) or with `zi cdreplay' (normal mode). - An utility function of an undefined use case. -____ - -Has 1 line(s). Doesn't call other functions. - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zicompinit -~~~~~~~~~~ - -____ - - ]]] - A function that can be invoked from within `atinit', `atload', etc. ice-mod. - It runs `autoload compinit; compinit' and respects - ZI[ZCOMPDUMP_PATH] and ZI[COMPINIT_OPTS]. -____ - -Has 1 line(s). Calls functions: - - zicompinit - `-- compinit - -Uses feature(s): _autoload_, _compinit_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zicompinit_fast -~~~~~~~~~~~~~~~ - -____ - - ]]] - Checking the cached .zcompdump file to see if it must be regenerated adds a noticable delay to zsh startup. - This restricts checking it once a day, determines when to regenerate, as compinit doesn't always need to - modify the compdump and compiles mapped to share (total mem reduction) run in background in multiple shells. - A function that can be invoked from within `atinit', `atload' -____ - -Has 13 line(s). Calls functions: - - zicompinit_fast - `-- compinit - -Uses feature(s): _autoload_, _compinit_, _zcompile_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zpcdclear -~~~~~~~~~ - -Has 1 line(s). Calls functions: - - zpcdclear - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zpcdreplay -~~~~~~~~~~ - -Has 1 line(s). Calls functions: - - zpcdreplay - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zpcompdef -~~~~~~~~~ - -Has 1 line(s). Doesn't call other functions. - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -zpcompinit -~~~~~~~~~~ - -Has 1 line(s). Calls functions: - - zpcompinit - `-- compinit - -Uses feature(s): _autoload_, _compinit_ - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -❮▼❯ -~~~ - -____ - - ]]] - Compatibility functions. [[[ -____ - -Has 1 line(s). Calls functions: - - ❮▼❯ - `-- zi - |-- +zi-message - |-- +zi-prehelp-usage-message - |   `-- +zi-message - |-- additional.zsh/.zi-clear-debug-report - |-- additional.zsh/.zi-debug-start - |-- additional.zsh/.zi-debug-stop - |-- additional.zsh/.zi-debug-unload - |-- autoload.zsh/.zi-analytics-menu - |-- autoload.zsh/.zi-cdisable - |-- autoload.zsh/.zi-cenable - |-- autoload.zsh/.zi-clear-completions - |-- autoload.zsh/.zi-compile-uncompile-all - |-- autoload.zsh/.zi-compiled - |-- autoload.zsh/.zi-help - |-- autoload.zsh/.zi-list-bindkeys - |-- autoload.zsh/.zi-list-compdef-replay - |-- autoload.zsh/.zi-ls - |-- autoload.zsh/.zi-module - |-- autoload.zsh/.zi-recently - |-- autoload.zsh/.zi-registered-ice-mods - |-- autoload.zsh/.zi-registered-subcommands - |-- autoload.zsh/.zi-search-completions - |-- autoload.zsh/.zi-self-update - |-- autoload.zsh/.zi-show-all-reports - |-- autoload.zsh/.zi-show-completions - |-- autoload.zsh/.zi-show-debug-report - |-- autoload.zsh/.zi-show-registered-plugins - |-- autoload.zsh/.zi-show-report - |-- autoload.zsh/.zi-show-times - |-- autoload.zsh/.zi-show-zstatus - |-- autoload.zsh/.zi-uncompile-plugin - |-- autoload.zsh/.zi-uninstall-completions - |-- autoload.zsh/.zi-unload - |-- autoload.zsh/.zi-update-or-status - |-- autoload.zsh/.zi-update-or-status-all - |-- compinit - |-- install.zsh/.zi-compile-plugin - |-- install.zsh/.zi-compinit - |-- install.zsh/.zi-forget-completion - `-- install.zsh/.zi-install-completions - -Not called by script or any function (may be e.g. a hook, a Zle widget, etc.). - -add-zsh-hook -~~~~~~~~~~~~ - -____ - - Add to HOOK the given FUNCTION. - HOOK is one of chpwd, precmd, preexec, periodic, zshaddhistory, - zshexit, zsh_directory_name (the _functions subscript is not required). - - With -d, remove the function from the hook instead; delete the hook - variable if it is empty. - - -D behaves like -d, but pattern characters are active in the - function name, so any matching function will be deleted from the hook. - -____ - -Has 93 line(s). Doesn't call other functions. - -Uses feature(s): _autoload_, _getopts_ - -Called by: - - @zi-scheduler - Script-Body - -compinit -~~~~~~~~ - -____ - - Initialisation for new style completion. This mainly contains some helper - functions and setup. Everything else is split into different files that - will automatically be made autoloaded (see the end of this file). The - names of the files that will be considered for autoloading are those that - begin with an underscores (like `_condition). - - The first line of each of these files is read and must indicate what - should be done with its contents: - - `#compdef ' -____ - -Has 573 line(s). Doesn't call other functions. - -Uses feature(s): _autoload_, _bindkey_, _compdef_, _compdump_, _eval_, _read_, _setopt_, _unfunction_, _zle_, _zstyle_ - -Called by: - - zi - zicompinit - zicompinit_fast - zpcompinit - -is-at-least -~~~~~~~~~~~ - -____ - - - Test whether $ZSH_VERSION (or some value of your choice, if a second argument - is provided) is greater than or equal to x.y.z-r (in argument one). In fact, - it'll accept any dot/dash-separated string of numbers as its second argument - and compare it to the dot/dash-separated first argument. Leading non-number - parts of a segment (such as the "zefram" in 3.1.2-zefram4) are not considered - when the comparison is done; only the numbers matter. Any left-out segments - in the first argument that are present in the version string compared are - considered as zeroes, eg 3 == 3.0 == 3.0.0 == 3.0.0.0 and so on. - -____ - -Has 56 line(s). Doesn't call other functions. - -Called by: - - :zi-tmp-subst-autoload - :zi-tmp-subst-bindkey - Script-Body - diff --git a/code/zsdoc/pdf/additional.zsh.pdf b/code/zsdoc/pdf/additional.zsh.pdf deleted file mode 100644 index 11357cf..0000000 Binary files a/code/zsdoc/pdf/additional.zsh.pdf and /dev/null differ diff --git a/code/zsdoc/pdf/autoload.zsh.pdf b/code/zsdoc/pdf/autoload.zsh.pdf deleted file mode 100644 index e16e613..0000000 Binary files a/code/zsdoc/pdf/autoload.zsh.pdf and /dev/null differ diff --git a/code/zsdoc/pdf/install.zsh.pdf b/code/zsdoc/pdf/install.zsh.pdf deleted file mode 100644 index 8360634..0000000 Binary files a/code/zsdoc/pdf/install.zsh.pdf and /dev/null differ diff --git a/code/zsdoc/pdf/side.zsh.pdf b/code/zsdoc/pdf/side.zsh.pdf deleted file mode 100644 index eced7d2..0000000 Binary files a/code/zsdoc/pdf/side.zsh.pdf and /dev/null differ diff --git a/code/zsdoc/pdf/zi.zsh.pdf b/code/zsdoc/pdf/zi.zsh.pdf deleted file mode 100644 index a0ffb6b..0000000 Binary files a/code/zsdoc/pdf/zi.zsh.pdf and /dev/null differ diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md deleted file mode 100644 index f103468..0000000 --- a/docs/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,127 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -- Demonstrating empathy and kindness toward other people -- Being respectful of differing opinions, viewpoints, and experiences -- Giving and gracefully accepting constructive feedback -- Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -- Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -- The use of sexualized language or imagery, and sexual attention or - advances of any kind -- Trolling, insulting or derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or email - address, without their explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at team@zshell.dev. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 28448da..0000000 --- a/docs/README.md +++ /dev/null @@ -1,13 +0,0 @@ -

-

- Logo - ❮ Zi ❯ https://www.zshell.dev :sparkles:

-

- -
-

- - Code Documentation - -

-
diff --git a/lib/zsdoc b/lib/zsdoc deleted file mode 160000 index ea0d809..0000000 --- a/lib/zsdoc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ea0d80927f413763a62a8d95e3bcc8b374e4fdec diff --git a/wiki/zi/01-introduction/Hints-&-Tips.md b/wiki/zi/01-introduction/Hints-&-Tips.md deleted file mode 100644 index 9b933cf..0000000 --- a/wiki/zi/01-introduction/Hints-&-Tips.md +++ /dev/null @@ -1,215 +0,0 @@ -- [Customizing Paths](#customizing-paths) -- [Non-GitHub (Local) Plugins](#non-github-local-plugins) -- [Extending Git](#extending-git) -- [Setopt](#setopt) -- [Zstyle](#zstyle) -- [Disabling System-Wide `compinit` Call (Ubuntu)](#disabling-system-wide-compinit-call-ubuntu) - -> Contribute to [this page](https://github.com/z-shell/docs/blob/main/wiki/zi/01-introduction/Hints-%26-Tips.md) - ---- - -## Customizing Paths - -Following variables can be set to custom values, before sourcing ZI. The -previous global variables like `$ZPLG_HOME` have been removed to not pollute -the namespace – there's a single `$ZI` hash instead of `8` string -variables. Please update your dotfiles. - -```zsh -declare -A ZI # initial ZI's hash definition, if configuring before loading ZI, and then: -``` - -| Hash Field | Description | -| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ZI[BIN_DIR] | Where ZI code resides, e.g.: "~/.zi/bin" | -| ZI[HOME_DIR] | Where ZI should create all working directories, e.g.: "~/.zi" | -| ZI[PLUGINS_DIR] | Override single working directory – for plugins, e.g. "/opt/zsh/zi/plugins" | -| ZI[COMPLETIONS_DIR] | As above, but for completion files, e.g. "/opt/zsh/zi/root_completions" | -| ZI[SNIPPETS_DIR] | As above, but for snippets | -| | -| ZI[ZMODULES_DIR] | Override single working directory – for Zsh modules e.g. "/opt/zsh/zi/zmodules" | -| | -| ZI[ZCOMPDUMP_PATH] | Path to `.zcompdump` file, with the file included (i.e. its name can be different) | -| ZI[COMPINIT_OPTS] | Options for `compinit` call (i.e. done by `zicompinit`), use to pass -C to speed up loading | -| ZI[MUTE_WARNINGS] | If set to `1`, then mutes some of the ZI warnings, specifically the `plugin already registered` warning | -| ZI[OPTIMIZE_OUT_DISK_ACCESSES] | If set to `1`, then ZI will skip checking if a Turbo-loaded object exists on the disk. By default, ZI skips Turbo for non-existing objects (plugins or snippets) to install them before the first prompt – without any delays, during the normal processing of `zshrc`. This option can give a performance gain of about 10 ms out of 150 ms (i.e.: Zsh will start-up in 140 ms instead of 150 ms). | - -There is also `$ZPFX`, set by default to `~/.zi/polaris` – a directory -where software with `Makefile`, etc. can be pointed to, by e.g. `atclone'./configure --prefix=$ZPFX'`. - -## Non-GitHub (Local) Plugins - -Use `create` subcommand with user name `_local` (the default) to create the plugin's -skeleton in `$ZI[PLUGINS_DIR]`. It will be not connected with the GitHub repository -(because of the user name being `_local`). To enter the plugin's directory use the `cd` command -with just the plugin's name (without `_local`, it's optional). - -If the user name will not be `_local`, then ZI will create a repository also on GitHub -and set up the correct repository origin. - -## Extending Git - -Several projects provide git extensions. Installing them with ZI has many benefits: - -- all files are under `$HOME` – no administrator rights needed, -- declarative setup (like Chef or Puppet) – copying `.zshrc` to a different account - brings also git-related setup, -- easy update by e.g. `zi update --all`. - -Below is a configuration that adds multiple git extensions, loaded in Turbo mode, -1 second after prompt, with use of the -[Bin-Gem-Node](https://github.com/z-shell/z-a-bin-gem-node) annex: - -```zsh -zi as"null" wait"1" lucid for \ - sbin Fakerr/git-recall \ - sbin cloneopts paulirish/git-open \ - sbin paulirish/git-recent \ - sbin davidosomething/git-my \ - sbin atload"export _MENU_THEME=legacy" \ - arzzen/git-quick-stats \ - sbin iwata/git-now \ - make"PREFIX=$ZPFX install" \ - tj/git-extras \ - sbin"bin/git-dsf;bin/diff-so-fancy" \ - z-shell/zsh-diff-so-fancy \ - sbin"git-url;git-guclone" make"GITURL_NO_CGITURL=1" \ - z-shell/git-url -``` - -The target directory for installed files is `$ZPFX` (`~/.zi/polaris` by default). - -With [meta-plugins](https://github.com/z-shell/zi/wiki/z-a-meta-plugins) consisting of: - -Annexes: - -1. [z-shell/z-a-unscope](https://github.com/z-shell/z-a-unscope), -2. [z-shell/z-a-readurl](https://github.com/z-shell/z-a-readurl), -3. [z-shell/z-a-patch-dl](https://github.com/z-shell/z-a-patch-dl), -4. [z-shell/z-a-rust](https://github.com/z-shell/z-a-rust), -5. [z-shell/z-a-submods](https://github.com/z-shell/z-a-submods), -6. [z-shell/z-a-bin-gem-node](https://github.com/z-shell/z-a-bin-gem-node). - -Git tools: - -1. [paulirish/git-open](https://github.com/paulirish/git-open), -2. [paulirish/git-recent](https://github.com/paulirish/git-recent), -3. [davidosomething/git-my](https://github.com/davidosomething/git-my), -4. [arzzen/git-quick-stats](https://github.com/arzzen/git-quick-stats), -5. [iwata/git-now](https://github.com/iwata/git-now), -6. [tj/git-extras](https://github.com/tj/git-extras), -7. [wfxr/forgit](https://github.com/wfxr/forgit). - -just run: - -```zsh -zi light-mode for z-shell/z-a-meta-plugins @annexes @ext-git -``` - -## Setopt - -Options are primarily referred to by name. -These names are case insensitive and underscores are ignored. -For example, `allexport` is equivalent to `A__lleXP_ort`. - -The sense of an option name may be inverted by preceding it with `no`, -so `setopt No_Beep` is equivalent to `unsetopt beep`. -This inversion can only be done once, so `nonobeep` is not a synonym for `beep`. Similarly, -`tify` is not a synonym for `nonotify` (the inversion of `notify`). - -Some options also have one or more single letter names. -There are two sets of single letter options: one used by default, -and another used to emulate sh/ksh (used when the SH_OPTION_LETTERS option is set). -The single letter options can be used on the shell command line, or with the set, -setopt and unsetopt builtins, as normal Unix options preceded by `-`. - -The sense of the single letter options may be inverted by using `+` instead of `-`. -Some of the single letter option names refer to an option being off, -in which case the inversion of that name refers to the option being on. -For example, `+n` is the short name of `exec`, and `-n` is the short name of its inversion, -`noexec`. - -In strings of single letter options supplied to the shell at startup, -trailing whitespace will be ignored; for example the string `-f ` will be treated just as `-f`, -but the string `-f i` is an error. This is because many systems which implement the `#!` mechanism -for calling scripts do not strip trailing whitespace. - -```zsh -# -# setopts -# -setopt bang_hist # Treat The '!' Character Specially During Expansion. -setopt hist_ignore_all_dups # Remove older duplicate entries from history -setopt hist_expire_dups_first # Expire A Duplicate Event First When Trimming History. -setopt hist_ignore_dups # Do Not Record An Event That Was Just Recorded Again. -setopt hist_reduce_blanks # Remove superfluous blanks from history items -setopt hist_find_no_dups # Do Not Display A Previously Found Event. -setopt hist_ignore_space # Do Not Record An Event Starting With A Space. -setopt hist_save_no_dups # Do Not Write A Duplicate Event To The History File. -setopt hist_verify # Do Not Execute Immediately Upon History Expansion. -setopt append_history # Allow multiple terminal sessions to all append to one zsh command history -setopt extended_history # Show Timestamp In History. -setopt inc_append_history # Write To The History File Immediately, Not When The Shell Exits. -setopt share_history # Share history between different instances of the shell -setopt multios # Perform implicit tees or cats when multiple redirections are attempted -setopt interactive_comments # Allow comments even in interactive shells (especially for Muness) -setopt pushd_ignore_dups # Don't push multiple copies of the same directory onto the directory stack -setopt auto_cd # Use cd by typing directory name if it's not a command -setopt no_beep # Don't beep on error -setopt auto_list # Automatically list choices on ambiguous completion -setopt auto_pushd # Make cd push the old directory onto the directory stack -setopt pushdminus # Swapped the meaning of cd +1 and cd -1; we want them to mean the opposite of what they mean -setopt promptsubst # Enables the substitution of parameters inside the prompt each time the prompt is drawn -``` - -## Zstyle - -`zstyle` handles the obvious style control for the completion system, but it seems to cover more than just that. -E.g., the vcs_info module relies on it for display of git status in your prompt. -You can start by looking at the few explanatory paragraphs in man zshmodules in the zstyle section. - -```zsh -# -# zstyle -# -# Fuzzy matching of completions for when you mistype them: -zstyle ':completion:*' completer _complete _match _approximate -zstyle ':completion:*:match:*' original only -zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3>7?7:($#PREFIX+$#SUFFIX)/3))numeric)' -# Pretty completions -zstyle ':completion:*:matches' group 'yes' -zstyle ':completion:*:options' description 'yes' -zstyle ':completion:*:options' auto-description '%d' -zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f' -zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f' -zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f' -zstyle ':completion:*:default' list-prompt '%S%M matches%s' -zstyle ':completion:*' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*' group-name '' -zstyle ':completion:*' verbose yes -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' -zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))' -zstyle ':completion:*' use-cache true -zstyle ':completion:*' rehash true -# Do menu-driven completion. -zstyle ':completion:*' menu select -# Color completion for some things. -# http://linuxshellaccount.blogspot.com/2008/12/color-completion-using-zsh-modules-on.html -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} -``` - -## Disabling System-Wide `compinit` Call (Ubuntu) - -On Ubuntu users might get surprised that e.g. their completions work while they didn't -call `compinit` in their `.zshrc`. That's because the function is being called in `/etc/zshrc`. -To disable this call – what is needed to avoid the slowdown and if the user loads -any completion-equipped plugins, i.e. almost on 100% – add the following lines to `~/.zshenv`: - -```zsh -# Skip the not helping Ubuntu global compinit -skip_global_compinit=1 -``` - -+++ diff --git a/wiki/zi/01-introduction/Installation.md b/wiki/zi/01-introduction/Installation.md deleted file mode 100644 index 76cbda4..0000000 --- a/wiki/zi/01-introduction/Installation.md +++ /dev/null @@ -1,62 +0,0 @@ -- [Quick install](#quick-install) -- [Manual install](#manual-install) -- [Post-install](#post-install) - -> Contribute to [this page](https://github.com/z-shell/docs/blob/main/wiki/zi/01-introduction/Installation.md) - ---- - -## Quick install - -If you prefer stable version with less changes, append `-b ` e.g: - -`sh -c "$(curl -fsSL https://git.io/get-zi)" -- -i skip -b 0.9.9` - -```zsh -# Will add minimal configuration -sh -c "$(curl -fsSL https://git.io/get-zi)" -- - -# Non interactive. Just clone or update repository. -sh -c "$(curl -fsSL https://git.io/get-zi)" -- -i skip - -# Minimal configuration + annexes. -sh -c "$(curl -fsSL https://git.io/get-zi)" -- -a annex - -# Minimal configuration + annexes + zunit. -sh -c "$(curl -fsSL https://git.io/get-zi)" -- -a zunit - -# Minimal configuration with loader -sh -c "$(curl -fsSL https://git.io/get-zi)" -- -a loader - -# Suggest your .zshrc configuration to: -# https://github.com/z-shell/playground -sh -c "$(curl -fsSL https://git.io/get-zi)" -- -a ??? -``` - -## Manual install - -Clone repository: - -```zsh -zi_home="${HOME}/.zi" && command mkdir -p $zi_home -command git clone https://github.com/z-shell/zi.git "${zi_home}/bin" -``` - -Source `zi.zsh` from your `.zshrc`: - -```zsh -zi_home="${HOME}/.zi" -source "${zi_home}/bin/zi.zsh" -# Next two lines must be below the above two -autoload -Uz _zi -(( ${+_comps} )) && _comps[zi]=_zi -``` - -## Post-install - -- Run: `exec zsh` and `zi self-update`. -- Visit [wiki](https://github.com/z-shell/zi/wiki/): - - [Introduction](https://github.com/z-shell/zi/wiki/Introduction) - - [ZI Annex meta plugins](https://github.com/z-shell/zi/wiki/z-a-meta-plugins) - - [Oh My Zsh integration](https://github.com/z-shell/zi/wiki/Oh-My-Zsh-setup) - - [Gallery](https://github.com/z-shell/zi/wiki/Gallery) diff --git a/wiki/zi/01-introduction/Introduction.md b/wiki/zi/01-introduction/Introduction.md deleted file mode 100644 index 04cd3c9..0000000 --- a/wiki/zi/01-introduction/Introduction.md +++ /dev/null @@ -1,396 +0,0 @@ -- [Basic Plugin Loading](#basic-plugin-loading) -- [Oh My Zsh, Prezto](#oh-my-zsh-prezto) -- [Snippets and Performance](#snippets-and-performance) -- [Ice-Modifiers](#ice-modifiers) -- [as"program"](#asprogram) -- [atpull"…"](#atpull) -- [Snippets-Commands](#snippets-commands) -- [Snippets-Completions](#snippets-completions) -- [Completion Management](#completion-management) - - [Listing Completions](#listing-completions) - - [Enabling and Disabling Completions](#enabling-and-disabling-completions) -- [Subversion for Subdirectories](#subversion-for-subdirectories) -- [Turbo Mode (Zsh \>= 5.3)](#turbo-mode-zsh--53) - - [A Quick Glance At The `for''` syntax](#a-quick-glance-at-the-for-syntax) - - [Turbo-Loading Sophisticated Prompts](#turbo-loading-sophisticated-prompts) -- [Automatic Load/Unload on Condition](#automatic-loadunload-on-condition) - -> Contribute to [this page](https://github.com/z-shell/docs/blob/main/wiki/zi/01-introduction/Introduction.md) - ---- - -In the document below you’ll find out how to: - -- use Oh My Zsh and Prezto, -- manage completions, -- use the Turbo mode, -- use the ice-mods like `as"program"`, and much more. - -## Basic Plugin Loading - -```zsh -zi load z-shell/H-S-MW -zi light zsh-users/zsh-syntax-highlighting -``` - -The above commands show two ways of basic plugin loading. load causes reporting to -be enabled – you can track what plugin does, view the information with `zi report {plugin-spec}` and then also unload the plugin with `zi unload {plugin-spec}`. `light` is a significantly faster loading without tracking and -reporting, by using which user resigns of the ability to view the plugin report -and to unload it. - -!!!note -**In Turbo mode the slowdown caused by tracking is negligible.** - -## Oh My Zsh, Prezto - -To load Oh My Zsh and Prezto plugins, use the `snippet` feature. Snippets are single -files downloaded by `curl`, `wget`, etc. (automatic detection of the download -tool is being performed) directly from the URL. For example: - -```zsh -zi snippet 'https://github.com/robbyrussell/oh-my-zsh/raw/master/plugins/git/git.plugin.zsh' -zi snippet 'https://github.com/sorin-ionescu/prezto/blob/master/modules/helper/init.zsh' -``` - -Also, for Oh My Zsh and Prezto, you can use `OMZ::` and `PZT::` shorthands: - -```zsh -zi snippet OMZ::plugins/git/git.plugin.zsh -zi snippet PZT::modules/helper/init.zsh -``` - -Moreover, snippets support Subversion protocol, supported also by Github. This -allows loading snippets that are multi-file (for example, a Prezto module can -consist of two or more files, e.g. `init.zsh` and `alias.zsh`). Default files -that will be sourced are: `*.plugin.zsh`, `init.zsh`, `*.zsh-theme`: - -```zsh -# URL points to a directory -zi ice svn -zi snippet PZT::modules/docker -``` - -## Snippets and Performance - -Using `curl`, `wget`, etc. along with Subversion allows to almost completely -avoid code dedicated to Oh My Zsh and Prezto, and also to other frameworks. This -gives profits in performance of `ZI`, it is really fast and also compact -(causing low memory footprint and short loading time). - -## Ice-Modifiers - -The command `zi ice` provides ice-modifiers for single next command (see [**ice-modifiers**](Ice-modifiers)). The logic is that "ice" is something that’s added (e.g. to a drink or a coffee) – and in the ZI sense this means that ice is a modifier added to the next ZI command, and also something that melts (so it doesn’t last long) – and in the ZI use it means that the modifier lasts for only single next ZI command. Using one other ice-modifier "**pick**" users can explicitly **select the file to source**: - -```zsh -zi ice svn pick"init.zsh" -zi snippet PZT::modules/git -``` - -Content of ice-modifier is simply put into `"…"`, `'…'`, or `$'…'`. No -need for `":"` after the ice-mod name (although it's allowed, so as the equal sign -`=`, so e.g. `pick="init.zsh"` or `pick=init.zsh` are being correctly -recognized). This way editors like `vim` and `emacs` and also -`zsh-users/zsh-syntax-highlighting` and `z-shell/F-Sy-H` will -highlight contents of ice-modifiers. - -## as"program" - -A plugin might not be a file for sourcing, but a command to be added to `$PATH`. -To obtain this effect, use ice-modifier `as` with value `program` (or an alias -value `command`). - -```zsh -zi ice as"program" cp"httpstat.sh -> httpstat" pick"httpstat" -zi light b4b4r07/httpstat -``` - -The above command will add plugin directory to `$PATH`, copy file `httpstat.sh` into -`httpstat` and add execution rights (`+x`) to the file selected with `pick`, -i.e. to `httpstat`. Another ice-mod exists, `mv`, which works like `cp` but -**moves** a file instead of **copying** it. `mv` is ran before `cp`. - -!!!note -**The `cp` and `mv` ices (and also as some other ones, like `atclone`) are -being run when the plugin or snippet is being _installed_. To test them -again first delete the plugin or snippet by `zi delete PZT::modules/osx` (for example).** - -## atpull"…" - -Copying file is safe for doing later updates – original files of the repository are -unmodified and `Git` will report no conflicts. However, `mv` also can be used, -if a proper `atpull` (an ice–modifier ran at **update** of plugin) will be used: - -```zsh -zi ice as"program" mv"httpstat.sh -> httpstat" \ - pick"httpstat" atpull'!git reset --hard' -zi light b4b4r07/httpstat -``` - -If `atpull` starts with an exclamation mark, then it will be run before `git pull`, -and before `mv`. Nevertheless, `atpull`, `mv`, `cp` are run **only if new -commits are to be fetched**. So in summary, when the user runs `zi update b4b4r07/httpstat` to update this plugin, and there are new commits, what happens -first is that `git reset --hard` is run – and it **restores** original -`httpstat.sh`, **then** `git pull` is ran and it downloads new commits (doing -fast-forward), **then** `mv` is running again so that the command is `httpstat` not -`httpstat.sh`. This way the `mv` ice can be used to induce permanent changes -into the plugin's contents without blocking the ability to update it with `git` -(or with `subversion` in case of snippets, more on this below at -[**\*\***](#on_svn_revert)). - -!!!note -**For exclamation mark to not be expanded by Zsh an interactive session, use -`'…'` not `"…"` to enclose contents of `atpull` ice-mod.** - -## Snippets-Commands - -Commands can also be added to `$PATH` using **snippets**. For example: - -```zsh -zi ice mv"httpstat.sh -> httpstat" \ - pick"httpstat" as"program" -zi snippet \ - https://github.com/b4b4r07/httpstat/blob/master/httpstat.sh -``` - - -(**\*\***) Snippets also support `atpull` ice-mod, so it’s possible to do e.g. -`atpull'!svn revert'`. There’s also `atinit` ice-mod, executed before each -loading of plugin or snippet. - -## Snippets-Completions - -By using the `as''` ice-mod with value `completion` you can point the `snippet` -subcommand directly to a completion file, e.g.: - -```zsh -zi ice as"completion" -zi snippet https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker -``` - -## Completion Management - -ZI allows to disable and enable each completion in every plugin. Try -installing a popular plugin that provides completions: - -```zsh -zi ice blockf -zi light zsh-users/zsh-completions -``` - -The first command (the `blockf` ice) will block the traditional method of adding -completions. ZI uses its method (based on symlinks instead of adding several directories to `$fpath`). ZI will automatically **install** -completions of a newly downloaded plugin. To uninstall the completions and -install them again, you would use: - -```zsh -zi cuninstall zsh-users/zsh-completions # uninstall -zi creinstall zsh-users/zsh-completions # install -``` - -### Listing Completions - -**note** **`zini` is an alias that can be used in interactive sessions.** - -To see what completions **all** plugins provide, in tabular formatting and with -name of each plugin, use: - -```zsh -zini clist -``` - -This command is specially adapted for plugins like `zsh-users/zsh-completions`, -which provide many completions – listing will have `3` completions per line (so -that a smaller number of terminal pages will be occupied) like this: - -```zsh -... -atach, bitcoin-cli, bower zsh-users/zsh-completions -bundle, caffeinate, cap zsh-users/zsh-completions -cask, cf, chattr zsh-users/zsh-completions -... -``` - -You can show more completions per line by providing an **argument** to `clist`, -e.g. `zi clist 6`, will show: - -```zsh -... -bundle, caffeinate, cap, cask, cf, chattr zsh-users/zsh-completions -cheat, choc, cmake, coffee, column, composer zsh-users/zsh-completions -console, dad, debuild, dget, dhcpcd, diana zsh-users/zsh-completions -... -``` - -### Enabling and Disabling Completions - -Completions can be disabled so that e.g. original Zsh completion will be used. -The commands are very basic, they only need completion **name**: - -```zsh -$ zi cdisable cmake -Disabled cmake completion belonging to zsh-users/zsh-completions -$ zi cenable cmake -Enabled cmake completion belonging to zsh-users/zsh-completions -``` - -That’s all on completions. There’s one more command, `zi csearch`, that -will **search** all plugin directories for available completions, and show if -they are installed: - -![#csearch screenshot](img/csearch.png) - -This sums up complete control over completions. - -## Subversion for Subdirectories - -In general, to use **subdirectories** of Github projects as snippets add -`/trunk/{path-to-dir}` to URL, for example: - -```zsh -zi ice svn -zi snippet https://github.com/zsh-users/zsh-completions/trunk/src - -# For Oh My Zsh and Prezto, the OMZ:: and PZT:: prefixes work -# without the need to add the `/trunk/` infix (however the path -# should point to a directory, not to a file): -zi ice svn -zi snippet PZT::modules/docker -``` - -Snippets too have completions installed by default, like plugins. - -## Turbo Mode (Zsh \>= 5.3) - -The ice-mod `wait` allows the user to postpone the loading of a plugin to the moment -when the processing of `.zshrc` is finished and the first prompt is being shown. -It is like Windows – during startup, it shows desktop even though it still loads -data in the background. This has drawbacks but is for sure better than a blank screen -for 10 minutes. And here, in ZI, there are no drawbacks of this approach – no -lags, freezes, etc. – the command line is fully usable while the plugins are -being loaded, for any number of plugins. - -**Note:** **Turbo will speed up Zsh startup by 50%–80%. For example, instead of 200 ms, it'll be 40 ms (!)** - -Zsh 5.3 or greater is required. To use this Turbo mode add `wait` ice to the -target plugin in one of the following ways: - -```zsh -PS1="READY > " -zi ice wait'!0' -zi load halfo/lambda-mod-zsh-theme -``` - -This sets plugin `halfo/lambda-mod-zsh-theme` to be loaded `0` seconds after -`zshrc`. It will fire up after c.a. 1 ms of showing the basic prompt `READY >`. -You probably won't load the prompt in such a way, however, it is a good example -in which Turbo can be directly observed. - -The exclamation mark causes ZI to reset the prompt after loading the plugin – it -is needed for themes. The same with Prezto prompts, with a longer delay: - -```zsh -zi ice svn silent wait'!1' atload'prompt smiley' -zi snippet PZT::modules/prompt -``` - -Using `zsh-users/zsh-autosuggestions` without any drawbacks: - -```zsh -zi ice wait lucid atload'_zsh_autosuggest_start' -zi light zsh-users/zsh-autosuggestions -``` - -Explanation: Autosuggestions uses the `precmd` hook, which is being called right -after processing `zshrc` – `precmd` hooks are being called **right before -displaying each prompt**. Turbo with the empty `wait` ice will postpone the -loading `1` ms after that, so `precmd` will not be called at that first prompt. -This makes autosuggestions inactive at the first prompt. **However** the given -`atload` ice-mod fixes this, it calls the same function that `precmd` would, -right after loading autosuggestions, resulting in the same behavior of -the plugin. - -The ice `lucid` causes the under-prompt message saying `Loaded zsh-users/zsh-autosuggestions` that normally appears for every Turbo-loaded -plugin to not show. - -### A Quick Glance At [The `for''` syntax](Syntax#the-for-syntax) - -This introduction is based on the classic, two-command syntax (`zi ice …; zi load/light/snippet …`) of ZI. However, there's also available a -recently added so-called _for-syntax_. It is the right moment to take a glance at -it, by rewriting the above autosuggestions invocation using it: - -```zsh -zi wait lucid atload'_zsh_autosuggest_start' light-mode for \ - zsh-users/zsh-autosuggestions -``` - -The syntax is a more concise one. The single command will work the same -as the previous classic-syntax invocation. It also allows solving some typical -problems when using ZI, like providing common/default ices for a set of -plugins or sourcing multiple files with [`src''` ice](Ice#src-pick-multisrc). -For more information refer to the page dedicated to the syntax ([here](Syntax/)). - -### Turbo-Loading Sophisticated Prompts - -For some, mostly advanced themes the initialization of the prompt is being done in a `precmd`-hook, i.e.; -in a function that's gets called before each prompt. The hook is installed by the [add-zsh-hook](Zsh-Plugin-Standard#use-of-add-zsh-hook-to-install-hooks) Zsh function by adding its name to the `$precmd_functions` array. - -To make the prompt fully initialized after Turbo loading in the middle of the -prompt (the same situation as with the `zsh-autosuggestions` plugin), the hook -should be called from `atload''` ice. - -First, find the name of the hook function by examining the `$precmd_functions` -array. For example, for the `robobenklein/zinc` theme, they'll be two functions: -`prompt_zinc_setup` and `prompt_zinc_precmd`: - -```zsh -root@sg > ~ > print $precmd_functions < ✔ < 22:21:33 -_zsh_autosuggest_start prompt_zinc_setup prompt_zinc_precmd -``` - -Then, add them to the ice-list in the `atload''` ice: - -```zsh -zi ice wait'!' lucid nocd \ - atload'!prompt_zinc_setup; prompt_zinc_precmd' -zi load robobenklein/zinc -``` - -The exclamation mark in `atload'!…'` is to track the functions allowing the -plugin to be unloaded, as described [here](Ice#atclone-atpull-atinit-atload). -It might be useful for the multi-prompt setup described next. - -## Automatic Load/Unload on Condition - -Ices `load` and `unload` allow defining when you want plugins active or -inactive. For example: - -```zsh -# Load when in ~/tmp - -zi ice load'![[ $PWD = */tmp* ]]' unload'![[ $PWD != */tmp* ]]' \ - atload"!promptinit; prompt sprint3" -zi load psprint/zprompts - -# Load when NOT in ~/tmp - -zi ice load'![[ $PWD != */tmp* ]]' unload'![[ $PWD = */tmp* ]]' -zi load russjohnson/angry-fly-zsh -``` - -Two prompts, each active in different directories. This technique can be used to -have plugin-sets, e.g. by defining parameter `$PLUGINS` with possible values -like `cpp`, `web`, `admin` and by setting `load` / `unload` conditions to -activate different plugins on `cpp`, on `web`, etc. - -!!!note -**The difference with `wait` is that `load` / `unload` are constantly -active, not only till first activation.** - -Note that for the unloading of a plugin to work the plugin needs to be loaded with -tracking (so `zi load …`, not `zi light …`). Tracking causes a slight slowdown, -however, this doesn’t influence Zsh startup time when using Turbo mode. - -**See also: [multiple prompts](Multiple-prompts).** It contains a -more real-world examples of a multi-prompt setup, which is being close to what the author uses in his setup. - -+++ diff --git a/wiki/zi/01-introduction/Usage.md b/wiki/zi/01-introduction/Usage.md deleted file mode 100644 index 35e95f1..0000000 --- a/wiki/zi/01-introduction/Usage.md +++ /dev/null @@ -1,488 +0,0 @@ -- [Plugins and snippets](#plugins-and-snippets) -- [Upgrade ZI and plugins](#upgrade-zi-and-plugins) -- [Turbo and lucid](#turbo-and-lucid) - - [Turbo Mode](#turbo-mode) - - [Lucid](#lucid) -- [Migration](#migration) - - [Migration from Oh-My-ZSH](#migration-from-oh-my-zsh) - - [Migration from Prezto](#migration-from-prezto) - - [Migration from Zgen](#migration-from-zgen) - - [Migration from Zplug](#migration-from-zplug) -- [More Examples](#more-examples) - -> Contribute to [this page](https://github.com/z-shell/docs/blob/main/wiki/zi/01-introduction/Usage.md) - ---- - -[Click here to read the introduction to ZI](Introduction). -It explains basic usage and some of the more unique features of ZI such as the Turbo mode. -If you're new to ZI we highly recommend you read it at least once. - -## Plugins and snippets - -Plugins can be loaded using `load` or `light`. - -```zsh -zi load # Load with reporting/investigating. -zi light # Load without reporting/investigating. -``` - -If you want to source local or remote files (using direct URL), you can do so with `snippet`. - -```zsh -zi snippet -``` - -Such lines should be added to `.zshrc`. Snippets are cached locally, use `-f` option to download -a fresh version of a snippet, or `zi update {URL}`. Can also use `zi update --all` to -update all snippets (and plugins). - -**Example** - -```zsh -# Plugin history-search-multi-word loaded with investigating. -zi load z-shell/H-S-MW - -# Two regular plugins loaded without investigating. -zi light zsh-users/zsh-autosuggestions -zi light z-shell/F-Sy-H - -# Snippet -zi snippet https://gist.githubusercontent.com/hightemp/5071909/raw/ -``` - -**Prompt(Theme) Example** - -This is [powerlevel10k](https://github.com/romkatv/powerlevel10k), [pure](https://github.com/sindresorhus/pure), [starship](https://github.com/starship/starship) sample: - -```zsh -# Load powerlevel10k theme -zi ice depth"1" # git clone depth -zi light romkatv/powerlevel10k - -# Load pure theme -zi ice pick"async.zsh" src"pure.zsh" # with the zsh-async library that's bundled with it. -zi light sindresorhus/pure - -# Load starship theme -zi ice as"command" from"gh-r" \ # `starship` binary as command, from github release - atclone"./starship init zsh > init.zsh; ./starship completions zsh > _starship" \ # starship setup at clone(create init.zsh, completion) - atpull"%atclone" src"init.zsh" # pull behavior same as clone, source init.zsh -zi light starship/starship -``` - -## Upgrade ZI and plugins - -ZI can be updated to `self-update` and plugins to `update`. - -```zsh -# Self-update -zi self-update -# Plugin update -zi update -# Plugin parallel update -zi update --parallel -# Increase the number of jobs in a concurrent set to 40 -zi update --parallel 40 -``` - -## Turbo and lucid - -Turbo and lucid are the most used options. - -### Turbo Mode - -Turbo mode is the key to performance. It can be loaded asynchronously, which makes a huge difference when the amount of plugins increases. - -Usually used as `zi ice wait""`, let's use the previous example: - -```zsh -zi ice wait # wait is same wait"0" -zi load z-shell/history-search-multi-word - -zi ice wait"2" # load after 2 seconds -zi load z-shell/history-search-multi-word - -zi ice wait # also be used in `light` and `snippet` -zi snippet https://gist.githubusercontent.com/hightemp/5071909/raw/ -``` - -### Lucid - -Turbo mode is verbose, so you need an option for quiet. - -You can use with `lucid`: - -```zsh -zi ice wait lucid -zi load z-shell/history-search-multi-word -``` - - - -**_F&A:_** What is `ice`? - -`ice` is Zi's options command. The option melts like ice and is used only once. -(more: [Ice Modifiers](Ice-modifiers)). - -## Migration - -### Migration from Oh-My-ZSH - -**Basic** - -```zsh -zi snippet # Raw Syntax with URL -zi snippet OMZ:: # Shorthand OMZ/ (http://github.com/ohmyzsh/ohmyzsh/raw/master/) -zi snippet OMZL:: # Shorthand OMZ/lib/ -zi snippet OMZT:: # Shorthand OMZ/themes/ -zi snippet OMZP:: # Shorthand OMZ/plugins/ -``` - -**Library** - -Importing the [clipboard](https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh) and [termsupport](https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh) Oh-My-Zsh Library Sample: - -```zsh -# Raw Syntax -zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh -zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh - -# OMZ Shorthand Syntax -zi snippet OMZ::lib/clipboard.zsh -zi snippet OMZ::lib/termsupport.zsh - -# OMZL Shorthand Syntax -zi snippet OMZL::clipboard.zsh -zi snippet OMZL::termsupport.zsh -``` - -**Theme** - -To use **themes** created for Oh My Zsh you might want to first source the `git` library there. - -Then you can use the themes as snippets (`zi snippet `). -Some themes require not only Oh My Zsh's Git **library**, but also Git **plugin** (error -about `current_branch` may appear). Load this Git-plugin as single-file -snippet directly from OMZ. - -Most themes require the `promptsubst` option (`setopt promptsubst` in `zshrc`), if it isn't set, then -prompt will appear as something like: `... $(build_prompt) ...`. - -You might want to suppress completions provided by the git plugin by issuing `zi cdclear -q` -(`-q` is for quiet) – see below **Ignoring Compdefs**. - -To summarize: - -```zsh -## Oh My Zsh Setting -ZSH_THEME="robbyrussell" - -## ZI Setting -# Must 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 - -# Load Prompt -zi snippet OMZT::robbyrussell -``` - -External Theme Sample: [NicoSantangelo/Alpharized](https://github.com/nicosantangelo/Alpharized) - -```zsh -## Oh My Zsh Setting -ZSH_THEME="alpharized" - -## ZI Setting -# Must 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 - -# Load Prompt -zi light NicoSantangelo/Alpharized -``` - -**_F&A:_** Error occurs when loading OMZ's theme. - -If the `git` library will not be loaded, then similar to following errors will be appearing: - -```zsh -........:1: command not found: git_prompt_status -........:1: command not found: git_prompt_short_sha -``` - -**Plugin** - -If it consists of a single file, you can just load it. - -```zsh -## Oh-My-Zsh Setting -plugins=( - git - dotenv - rake - rbenv - ruby -) - -## ZI Setting -zi snippet OMZP::git -zi snippet OMZP::dotenv -zi snippet OMZP::rake -zi snippet OMZP::rbenv -zi snippet OMZP::ruby -``` - -Use `zi ice svn` if multiple files require an entire subdirectory. -Like [gitfast](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast), [osx](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/osx): - -```zsh -zi ice svn -zi snippet OMZP::gitfast - -zi ice svn -zi snippet OMZP::osx -``` - -Use `zi ice as"completion"` to directly add single file completion snippets. -Like [docker](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker), [fd](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fd): - -```zsh -zi ice as"completion" -zi snippet OMZP::docker/_docker - -zi ice as"completion" -zi snippet OMZP::fd/_fd -``` - -[You can see an extended explanation of Oh-My-Zsh setup in the Wiki](Oh-My-Zsh-Setup/) - -### Migration from Prezto - -**Basic** - -```shell -zi snippet # Raw Syntax with URL -zi snippet PZT:: # Shorthand PZT/ (https://github.com/sorin-ionescu/prezto/tree/master/) -zi snippet PZTM:: # Shorthand PZT/modules/ -``` - -**Modules** - -Importing the [environment](https://github.com/sorin-ionescu/prezto/tree/master/modules/environment) and [terminal](https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal) Prezto Modules Sample: - -```zsh -## Prezto Setting -zstyle ':prezto:load' pmodule 'environment' 'terminal' - -## ZI Setting -# Raw Syntax -zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/environment/init.zsh -zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/terminal/init.zsh - -# PZT Shorthand Syntax -zi snippet PZT::modules/environment -zi snippet PZT::modules/terminal - -# PZTM Shorthand Syntax -zi snippet PZTM::environment -zi snippet PZTM::terminal -``` - -Use `zi ice svn` if multiple files require an entire subdirectory. -Like [docker](https://github.com/sorin-ionescu/prezto/tree/master/modules/docker), [git](https://github.com/sorin-ionescu/prezto/tree/master/modules/git): - -```zsh -zi ice svn -zi snippet PZTM::docker - -zi ice svn -zi snippet PZTM::git -``` - -Use `zi ice as"null"` if don't exist `*.plugin.zsh`, `init.zsh`, `*.zsh-theme*` files in module. -Like [archive](https://github.com/sorin-ionescu/prezto/tree/master/modules/archive): - -```zsh -zi ice svn as"null" -zi snippet PZTM::archive -``` - -Use `zi ice atclone"git clone "` if module have external module. -Like [completion](https://github.com/sorin-ionescu/prezto/tree/master/modules/completion): - -```shell -zi ice svn blockf \ # use blockf to prevent any unnecessary additions to fpath, as zi manages fpath - atclone"git clone --recursive https://github.com/zsh-users/zsh-completions.git external" -zi snippet PZTM::completion -``` - -**_F&A:_** What is `zstyle`? - -Read [zstyle](http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fzutil-Module) doc (more: [What does `zstyle` do?](https://unix.stackexchange.com/questions/214657/what-does-zstyle-do)). - -### Migration from Zgen - -**Oh My Zsh** - -More reference: check **Migration from Oh-My-ZSH** - -```zsh -# Load ohmyzsh base -zgen oh-my-zsh -zi snippet OMZL:: - -# Load ohmyzsh plugins -zgen oh-my-zsh -zi snippet OMZ:: -``` - -**Prezto** - -More reference: check **Migration from Prezto** - -```zsh -# Load Prezto -zgen prezto -zi snippet PZTM:: # environment terminal editor history directory spectrum utility completion prompt - -# Load prezto plugins -zgen prezto -zi snippet PZTM:: - -# Load a repo as Prezto plugins -zgen pmodule -zi ice ver"" -zi load - -# Set prezto options -zgen prezto