CINXE.COM
GitHub - zdharma-continuum/zinit: 🌻 Flexible and fast ZSH plugin manager
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-cba26849680f.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-03f97e65e478.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_buffered_streaming","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_gateway_parse_params","github_models_o3_mini_streaming","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_advanced_search_nested_ownership_filters","issues_dashboard_no_redirects","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","react_override_default_key","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","codespaces_prebuild_region_target_update","turbo_app_id_restore","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-da4ebdfa4a04.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-952d624642a1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-0fd720babc23.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-62f3e9c52ece.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-eda74b9de9cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-c92ce7c6a557.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-94dc7a2157c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-70450e-4b93df70b903.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-52913063a0b9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/codespaces-b419a25ee02f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-b71ef90fbdc7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-10217e4e5a53.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-d6d3c94ee97e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-99bc880bd101.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-56004cde4e29.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-434cb6-95f395b76298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-0e7e3f0bfc4b.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.7110f8bed75b67122d7a.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.7110f8bed75b67122d7a.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>GitHub - zdharma-continuum/zinit: 🌻 Flexible and fast ZSH plugin manager</title> <meta name="route-pattern" content="/:user_id/:repository" data-turbo-transient> <meta name="route-controller" content="files" data-turbo-transient> <meta name="route-action" content="disambiguate" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="9CB2:9A78B:FD63DB:118A622:67EE6043" data-pjax-transient="true"/><meta name="html-safe-nonce" content="0d1b2ee9ef9473037795c4e3450662be541ab40fe0323ec3ec5e634464a48480" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5Q0IyOjlBNzhCOkZENjNEQjoxMThBNjIyOjY3RUU2MDQzIiwidmlzaXRvcl9pZCI6Ijc5MTY0NzY1NTM0MzA0NTg0MzUiLCJyZWdpb25fZWRnZSI6InNvdXRoZWFzdGFzaWEiLCJyZWdpb25fcmVuZGVyIjoic291dGhlYXN0YXNpYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="4e7275930a5f47c41f471ac39e958f8c830832dfa632040fcd2438505d62ed2f" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:422751904" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="🌻 Flexible and fast ZSH plugin manager. Contribute to zdharma-continuum/zinit development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/zdharma-continuum/zinit" /> <meta name="twitter:image" content="https://repository-images.githubusercontent.com/422751904/1a1ffbbd-e8f7-46ff-9b17-d3c696d2e805" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="GitHub - zdharma-continuum/zinit: 🌻 Flexible and fast ZSH plugin manager" /><meta name="twitter:description" content="🌻 Flexible and fast ZSH plugin manager. Contribute to zdharma-continuum/zinit development by creating an account on GitHub." /> <meta property="og:image" content="https://repository-images.githubusercontent.com/422751904/1a1ffbbd-e8f7-46ff-9b17-d3c696d2e805" /><meta property="og:image:alt" content="🌻 Flexible and fast ZSH plugin manager. Contribute to zdharma-continuum/zinit development by creating an account on GitHub." /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="GitHub - zdharma-continuum/zinit: 🌻 Flexible and fast ZSH plugin manager" /><meta property="og:url" content="https://github.com/zdharma-continuum/zinit" /><meta property="og:description" content="🌻 Flexible and fast ZSH plugin manager. Contribute to zdharma-continuum/zinit development by creating an account on GitHub." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="3f35d680450bd65d06d7f9125011f427f230a04132d12921af2c8764aa0ebe00" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="e26f9f0ba624ee85cc7ac057d8faa8618a4f25a85eab052c33d018ac0f6b1a46" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="3880f621a6450d86227686dafe66b79bb840ae1d588507e3f013719db633d34a" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="25553ac0a78a151e68f6d8ce7ce3eb7c7952b82a38bbc969877a1c81caeb4969" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/zdharma-continuum/zinit git https://github.com/zdharma-continuum/zinit.git"> <meta name="octolytics-dimension-user_id" content="93413036" /><meta name="octolytics-dimension-user_login" content="zdharma-continuum" /><meta name="octolytics-dimension-repository_id" content="422751904" /><meta name="octolytics-dimension-repository_nwo" content="zdharma-continuum/zinit" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="422751904" /><meta name="octolytics-dimension-repository_network_root_nwo" content="zdharma-continuum/zinit" /> <link rel="canonical" href="https://github.com/zdharma-continuum/zinit" data-turbo-transient> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="2136cab7b89ead9947b2267161a1524828b31f0a"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-a91da5bca335.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-1edadb4bd04c.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.7110f8bed75b67122d7a.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-45d6658f8b6b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="838e0767753117f6d63e8f7d92be286c71bcdff84f0e7cdba407adce2a77d2ff" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_advanced_security","context":"product","tag":"link","label":"github_advanced_security_link_product_navbar"}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"events_amp_webinars","context":"resources","tag":"link","label":"events_amp_webinars_link_resources_navbar"}" href="https://resources.github.com"> Events & Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ebooks_amp_whitepapers","context":"resources","tag":"link","label":"ebooks_amp_whitepapers_link_resources_navbar"}" href="https://github.com/resources/whitepapers"> Ebooks & Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_advanced_security","context":"enterprise","tag":"link","label":"github_advanced_security_link_enterprise_navbar"}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"copilot_for_business","context":"enterprise","tag":"link","label":"copilot_for_business_link_enterprise_navbar"}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:zdharma-continuum/zinit" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="2jcfKt07jfQCUvCZI7AnQy3OitGOvbt1vTH7SE6xVppdqLwClXkDTAUHKkYmROrgSgvIg8kdftkSCdFHFH04Jw" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="zdharma-continuum/zinit" data-current-org="zdharma-continuum" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-abe43ad6-66ed-4fdf-8ecc-6292a3af1636" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-abe43ad6-66ed-4fdf-8ecc-6292a3af1636" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="tTUudDAWhGBXyz1GJaWC+7JEbi0W69vFmeaFi7y+s0BXQiZZVLvVTW50ho7u1A8KpIsrWI8hRaTQZ7UTr14eUg==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="PeAZGdfS6XpnHznSg9ZjZFgU5lDruqIz7QQc+Jy5p64CgIPYRgUKwl93o3uK1UY8zTAsdonB7sbgfF9JnJvUdg==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="6t5RjR5p5O6rV9mo39K6iE+wgb6ltv/lxZ/CxfQQWW/PZL5kcj5znQHyXF69WwkqHgNG2vnUdGZioGREvNGggQ==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="838e0767753117f6d63e8f7d92be286c71bcdff84f0e7cdba407adce2a77d2ff" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=zdharma-continuum%2Fzinit" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="838e0767753117f6d63e8f7d92be286c71bcdff84f0e7cdba407adce2a77d2ff" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-9b13afbe-cb4e-4735-916d-8338cb24c6b2" aria-labelledby="tooltip-5e842165-432b-47af-b52e-671bcfef9aa4" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-5e842165-432b-47af-b52e-671bcfef9aa4" for="icon-button-9b13afbe-cb4e-4735-916d-8338cb24c6b2" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/zdharma-continuum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/zdharma-continuum"> zdharma-continuum </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/zdharma-continuum/zinit">zinit</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Fzdharma-continuum%2Fzinit" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="9b49280ad3370333276e240ee3d81e2dccfe3ad0479fac403cc26e051ae42389" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-296792be-7c6f-4e9f-bcd2-7bdde6fccc59" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fzdharma-continuum%2Fzinit" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":422751904,"auth_type":"LOG_IN","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="6fdb5ec58930e39f88ae05892d49a341ce3c5f49fd0e4a74d72c09e8d4ac503a" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="141" data-view-component="true" class="Counter">141</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fzdharma-continuum%2Fzinit" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":422751904,"auth_type":"LOG_IN","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="9f8e58ed8e6b61475d3f74e54f786889f41838d47e3cef8e3b33e583e2f1cfff" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="3535 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="3,535" data-view-component="true" class="Counter js-social-count">3.5k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> <div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5"> <p class="f4 mb-3 "> 🌻 Flexible and fast ZSH plugin manager </p> <h3 class="sr-only">License</h3> <div class="mb-2"> <a href="/zdharma-continuum/zinit/blob/main/LICENSE" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> MIT license </a> </div> <div class="mb-3"> <a class="Link--secondary no-underline mr-3" href="/zdharma-continuum/zinit/stargazers"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-1"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <span class="text-bold">3.5k</span> stars </a> <a class="Link--secondary no-underline mr-3" href="/zdharma-continuum/zinit/forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-1"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="text-bold">141</span> forks </a> <a class="Link--secondary no-underline mr-3 d-inline-block" href="/zdharma-continuum/zinit/branches"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch mr-1"> <path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path> </svg> <span>Branches</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/zdharma-continuum/zinit/tags"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag mr-1"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span>Tags</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/zdharma-continuum/zinit/activity"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-1"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span>Activity</span> </a> </div> <div class="d-flex flex-wrap gap-2"> <div class="flex-1"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fzdharma-continuum%2Fzinit" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":422751904,"auth_type":"LOG_IN","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="9f8e58ed8e6b61475d3f74e54f786889f41838d47e3cef8e3b33e583e2f1cfff" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </div> <div class="flex-1"> <a href="/login?return_to=%2Fzdharma-continuum%2Fzinit" rel="nofollow" id="files-overview-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/zdharma-continuum/zinit","user_id":null}}" data-hydro-click-hmac="9b49280ad3370333276e240ee3d81e2dccfe3ad0479fac403cc26e051ae42389" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-2dff5b38-fe0a-40c6-9cdf-4e64f8479671" for="files-overview-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </div> <span> </span> </div> </div> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/zdharma-continuum/zinit" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /zdharma-continuum/zinit" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/zdharma-continuum/zinit/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /zdharma-continuum/zinit/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="87" data-view-component="true" class="Counter">87</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/zdharma-continuum/zinit/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /zdharma-continuum/zinit/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="18" data-view-component="true" class="Counter">18</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab" href="/zdharma-continuum/zinit/discussions" data-tab-item="i3discussions-tab" data-selected-links="repo_discussions /zdharma-continuum/zinit/discussions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g g" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Discussions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> <span data-content="Discussions">Discussions</span> <span id="discussions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/zdharma-continuum/zinit/actions" data-tab-item="i4actions-tab" data-selected-links="repo_actions /zdharma-continuum/zinit/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/zdharma-continuum/zinit/projects" data-tab-item="i5projects-tab" data-selected-links="repo_projects new_repo_project repo_project /zdharma-continuum/zinit/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/zdharma-continuum/zinit/wiki" data-tab-item="i6wiki-tab" data-selected-links="repo_wiki /zdharma-continuum/zinit/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Wiki","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> <span data-content="Wiki">Wiki</span> <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/zdharma-continuum/zinit/security" data-tab-item="i7security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /zdharma-continuum/zinit/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/zdharma-continuum/zinit/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/zdharma-continuum/zinit/pulse" data-tab-item="i8insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /zdharma-continuum/zinit/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-button" popovertarget="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-overlay" aria-controls="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-list" aria-haspopup="true" aria-labelledby="tooltip-8d2e276e-2bdd-43ee-a1d7-13a6af1e6b2c" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-8d2e276e-2bdd-43ee-a1d7-13a6af1e6b2c" for="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-overlay" anchor="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-button" id="action-menu-236e2a85-5e43-4939-a3e0-2cb862246bbd-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3f353db4-5adf-4485-8179-c90ab7416b69" href="/zdharma-continuum/zinit" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-e21836b0-f3ed-457c-a9ca-c0b620cc4ef0" href="/zdharma-continuum/zinit/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-487a520f-8672-481c-bf3b-2331ea1533ce" href="/zdharma-continuum/zinit/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3discussions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-e50b70fe-4e5c-4dbe-a50e-f4b83ee961da" href="/zdharma-continuum/zinit/discussions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Discussions </span> </a> </li> <li hidden="hidden" data-menu-item="i4actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-7bd9a9a9-c1d8-4b9a-99fe-d0f408062bba" href="/zdharma-continuum/zinit/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i5projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-e4128325-65e0-4129-bfb6-a72d65d3f5aa" href="/zdharma-continuum/zinit/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i6wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-ce959849-257b-4628-8bae-4af336cf57ce" href="/zdharma-continuum/zinit/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Wiki </span> </a> </li> <li hidden="hidden" data-menu-item="i7security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-1f83156a-7a94-40a2-9fba-786aa22ee59e" href="/zdharma-continuum/zinit/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i8insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-90e9e653-7b31-4afb-b6ec-2f29c993cb18" href="/zdharma-continuum/zinit/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <h1 class='sr-only'>zdharma-continuum/zinit</h1> <div class="clearfix container-xl px-md-4 px-lg-5 px-3"> <div> <div style="max-width: 100%" data-view-component="true" class="Layout Layout--flowRow-until-md react-repos-overview-margin Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end"> <div data-view-component="true" class="Layout-main"> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryObserver_js-node_modules_tanstack_-defd52-843b41414e0e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_history_history_ts-ui_packages_promise-with-re-01dc80-b13b6c1d97b0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-04e7ec2d63d9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-762eaa-d78307eadb45.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-c2dbff-fc59bb4d3e8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repos-overview-4ec6cc265f7f.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.7110f8bed75b67122d7a.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repos-overview.0ee7cac3ab511a65d9f9.module.css" /> <react-partial partial-name="repos-overview" data-ssr="true" data-attempted-ssr="true" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"initialPayload":{"allShortcutsEnabled":false,"path":"/","repo":{"id":422751904,"defaultBranch":"main","name":"zinit","ownerLogin":"zdharma-continuum","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-10-30T01:07:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/93413036?v=4","public":true,"private":false,"isOrgOwned":true},"currentUser":null,"refInfo":{"name":"main","listCacheKey":"v0:1739897875.0","canEdit":false,"refType":"branch","currentOid":"5c0c0454deeb9eac95e08ef214b5d7ba6859db14"},"tree":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"doc","path":"doc","contentType":"directory"},{"name":"docker","path":"docker","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":"share","path":"share","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":".dockerignore","path":".dockerignore","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".releaserc.json","path":".releaserc.json","contentType":"file"},{"name":".zunit.yml","path":".zunit.yml","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"VERSION","path":"VERSION","contentType":"file"},{"name":"_zinit","path":"_zinit","contentType":"file"},{"name":"zi-browse-symbol","path":"zi-browse-symbol","contentType":"file"},{"name":"zinit-additional.zsh","path":"zinit-additional.zsh","contentType":"file"},{"name":"zinit-autoload.zsh","path":"zinit-autoload.zsh","contentType":"file"},{"name":"zinit-install.zsh","path":"zinit-install.zsh","contentType":"file"},{"name":"zinit-side.zsh","path":"zinit-side.zsh","contentType":"file"},{"name":"zinit.zsh","path":"zinit.zsh","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":null,"totalCount":24,"showBranchInfobar":false},"fileTree":null,"fileTreeProcessingTime":null,"foldersToFetch":[],"treeExpanded":false,"symbolsExpanded":false,"isOverview":true,"overview":{"banners":{"shouldRecommendReadme":false,"isPersonalRepo":false,"showUseActionBanner":false,"actionSlug":null,"actionId":null,"showProtectBranchBanner":false,"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_repo","releasePath":"/zdharma-continuum/zinit/releases/new?marketplace=true","showPublishActionBanner":false},"interactionLimitBanner":null,"showInvitationBanner":false,"inviterName":null,"actionsMigrationBannerInfo":{"releaseTags":[],"showImmutableActionsMigrationBanner":false,"initialMigrationStatus":null}},"codeButton":{"contactPath":"/contact","isEnterprise":false,"local":{"protocolInfo":{"httpAvailable":true,"sshAvailable":null,"httpUrl":"https://github.com/zdharma-continuum/zinit.git","showCloneWarning":null,"sshUrl":null,"sshCertificatesRequired":null,"sshCertificatesAvailable":null,"ghCliUrl":"gh repo clone zdharma-continuum/zinit","defaultProtocol":"http","newSshKeyUrl":"/settings/ssh/new","setProtocolPath":"/users/set_protocol"},"platformInfo":{"cloneUrl":"https://desktop.github.com","showVisualStudioCloneButton":false,"visualStudioCloneUrl":"https://windows.github.com","showXcodeCloneButton":false,"xcodeCloneUrl":"xcode://clone?repo=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit","zipballUrl":"/zdharma-continuum/zinit/archive/refs/heads/main.zip"}},"newCodespacePath":"/codespaces/new?hide_repo_select=true\u0026repo=422751904"},"popovers":{"rename":null,"renamedParentRepo":null},"commitCount":"3,870","overviewFiles":[{"displayName":"README.md","repoName":"zinit","refName":"main","path":"README.md","preferredFileType":"readme","tabName":"README","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cp align=\"center\" dir=\"auto\"\u003e\n \u003ca href=\"https://github.com/zdharma-continuum/zinit\"\u003e\n \u003cimg alt=\"zinit logo\" src=\"https://raw.githubusercontent.com/zdharma-continuum/zinit/images/zinit.png\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZinit\u003ca name=\"user-content-zinit\"\u003e\u003c/a\u003e\u003c/h1\u003e\u003ca id=\"user-content-zinit\" class=\"anchor\" aria-label=\"Permalink: Zinit\" href=\"#zinit\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"/zdharma-continuum/zinit/blob/main/LICENSE\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/6581c31c16c1b13ddc2efb92e2ad69a93ddc4a92fd871ff15d401c4c6c9155a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667\" alt=\"MIT License\" data-canonical-src=\"https://img.shields.io/badge/license-MIT-blue.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/zdharma-continuum/zinit/releases\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/539708af11d0e482f6967ca8268b2ce96ac0076e9fa5d060409f3518b68394ed/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7461672f7a646861726d612d636f6e74696e75756d2f7a696e69742e737667\" alt=\"zinit version\" data-canonical-src=\"https://img.shields.io/github/tag/zdharma-continuum/zinit.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/zdharma-continuum/zinit/actions/workflows/tests.yaml\"\u003e\u003cimg src=\"https://github.com/zdharma-continuum/zinit/actions/workflows/tests.yaml/badge.svg\" alt=\"zunit tests\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://gitter.im/zdharma-continuum/community?utm_source=badge\u0026amp;utm_medium=badge\u0026amp;utm_campaign=pr-badge\u0026amp;utm_content=badge\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/4ae3027798cb49c13addd96651fc2d322052770d7fbd573ff50eb5f3e344cd91/68747470733a2f2f6261646765732e6769747465722e696d2f7a646861726d612d636f6e74696e75756d2f7a696e69742e737667\" alt=\"Join the chat at https://gitter.im/zdharma-continuum/zinit\" data-canonical-src=\"https://badges.gitter.im/zdharma-continuum/zinit.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#zinit-wiki\"\u003eZinit Wiki\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#install\"\u003eInstall\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#automatic\"\u003eAutomatic\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#manual\"\u003eManual\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#introduction\"\u003eIntroduction\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#plugins-and-snippets\"\u003ePlugins and snippets\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#upgrade-zinit-and-plugins\"\u003eUpgrade Zinit and plugins\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#turbo-and-lucid\"\u003eTurbo and lucid\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#migration\"\u003eMigration\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#frequently-asked-questions\"\u003eFrequently Asked Questions\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory\"\u003eUse \u003ccode\u003ezi ice svn\u003c/code\u003e if a plugin/snippet requires an entire subdirectory\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets\"\u003eUse \u003ccode\u003ezi ice as'completion'\u003c/code\u003e to directly add single file completion snippets\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#more-examples\"\u003eMore Examples\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#ice-modifiers\"\u003eIce Modifiers\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#cloning-options\"\u003eCloning Options\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#selection-of-files-to-source-%E2%80%A6\"\u003eSelection of Files (To Source, …)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#conditional-loading\"\u003eConditional Loading\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#plugin-output\"\u003ePlugin Output\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#completions\"\u003eCompletions\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#command-execution-after-cloning-updating-or-loading\"\u003eCommand Execution After Cloning, Updating or Loading\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#sticky-emulation-of-other-shells\"\u003eSticky-Emulation Of Other Shells\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#others\"\u003eOthers\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#order-of-execution\"\u003eOrder of Execution\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#zinit-commands\"\u003eZinit Commands\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#help\"\u003eHelp\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#loading-and-unloading\"\u003eLoading and Unloading\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#completions-1\"\u003eCompletions\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#tracking-of-the-active-session\"\u003eTracking of the Active Session\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#reports-and-statistics\"\u003eReports and Statistics\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#compiling\"\u003eCompiling\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#other\"\u003eOther\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#updating-zinit-and-plugins\"\u003eUpdating Zinit and Plugins\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#completions-2\"\u003eCompletions\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#calling-compinit-without-turbo-mode\"\u003eCalling \u003ccode\u003ecompinit\u003c/code\u003e Without Turbo Mode\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#calling-compinit-with-turbo-mode\"\u003eCalling \u003ccode\u003ecompinit\u003c/code\u003e With Turbo Mode\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#ignoring-compdefs\"\u003eIgnoring Compdefs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#disabling-system-wide-compinit-call-ubuntu\"\u003eDisabling System-Wide \u003ccode\u003ecompinit\u003c/code\u003e Call (Ubuntu)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#zinit-module\"\u003eZinit Module\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#hints-and-tips\"\u003eHints and Tips\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#using-zpfx-variable\"\u003eUsing ZPFX variable\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#customizing-paths\"\u003eCustomizing Paths\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#non-github-local-plugins\"\u003eNon-GitHub (Local) Plugins\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#extending-git\"\u003eExtending Git\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#changelog\"\u003eChangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#support\"\u003eSupport\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#getting-help-and-community\"\u003eGetting Help and Community\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp align=\"center\" dir=\"auto\"\u003e\n\u003ca href=\"https://github.com/zdharma-continuum/pm-perf-test\"\u003e\n\u003cimg alt=\"startup times graph\" width=\"550px\" src=\"https://raw.githubusercontent.com/zdharma-continuum/zinit/images/startup-times.png\" style=\"max-width: 100%;\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eZinit is a flexible and fast Zshell plugin manager that will allow you to install everything from GitHub and other\nsites. Its characteristics are:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eZinit is currently the only plugin manager that provides Turbo mode, which yields \u003cstrong\u003e50-80% faster Zsh startup\u003c/strong\u003e\n(i.e., the shell will start up to \u003cstrong\u003e5\u003c/strong\u003e times faster!). Check out a speed comparison with other popular plugin\nmanagers \u003ca href=\"https://github.com/zdharma-continuum/pm-perf-test\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eThe plugin manager gives \u003cstrong\u003ereports\u003c/strong\u003e from plugin loadings describing what \u003cstrong\u003ealiases\u003c/strong\u003e, functions, \u003cstrong\u003ebindkeys\u003c/strong\u003e, Zle\nwidgets, zstyles, \u003cstrong\u003ecompletions\u003c/strong\u003e, variables, \u003ccode\u003ePATH\u003c/code\u003e and \u003ccode\u003eFPATH\u003c/code\u003e elements a plugin has set up. This allows one to\nquickly familiarize oneself with a new plugin and provides rich and easy-to-digest information which might be helpful\non various occasions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eSupported is the unloading of plugin and ability to list, (un)install and \u003cstrong\u003eselectively disable\u003c/strong\u003e, \u003cstrong\u003eenable\u003c/strong\u003e\nplugin's completions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eThe plugin manager supports loading plugins and libraries from Oh My Zsh or Prezto. However, the implementation isn't\nframework-specific and doesn't bloat the plugin manager with such code (more on this topic can be found on the Wiki,\nin the \u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/INTRODUCTION/#oh_my_zsh_prezto\" rel=\"nofollow\"\u003eIntroduction\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eThe system does not use \u003ccode\u003e$FPATH\u003c/code\u003e, loading multiple plugins doesn't clutter \u003ccode\u003e$FPATH\u003c/code\u003e with the same number of entries\n(e.g. \u003ccode\u003e10\u003c/code\u003e, \u003ccode\u003e15\u003c/code\u003e or more). Code is immune to \u003ccode\u003eKSH_ARRAYS\u003c/code\u003e and other options typically causing compatibility problems.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eZinit supports special, dedicated \u003cstrong\u003epackages\u003c/strong\u003e that offload the user from providing long and complex commands. See\nthe \u003ca href=\"https://github.com/zdharma-continuum/zinit-packages\"\u003ezinit-packages repository\u003c/a\u003e for a growing, complete list of\nZinit packages and the \u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Zinit-Packages/\" rel=\"nofollow\"\u003eWiki page\u003c/a\u003e for an article\nabout the feature.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eAlso, specialized Zinit extensions — called \u003cstrong\u003eannexes\u003c/strong\u003e — have the ability to extend the plugin manager with new\ncommands, URL-preprocessors (used by e.g.:\n\u003ca href=\"https://github.com/zdharma-continuum/zinit-annex-readurl\"\u003ezinit-annex-readurl\u003c/a\u003e annex), post-install and post-update\nhooks, and much more. See the \u003ca href=\"https://github.com/zdharma-continuum\"\u003ezdharma-continuum\u003c/a\u003e organization for a growing,\ncomplete list of available Zinit extensions and refer to the\n\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Annexes/\" rel=\"nofollow\"\u003eWiki article\u003c/a\u003e for an introduction on creating your annex.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZinit Wiki\u003ca name=\"user-content-zinit-wiki\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-zinit-wiki\" class=\"anchor\" aria-label=\"Permalink: Zinit Wiki\" href=\"#zinit-wiki\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe information in this README is complemented by the \u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/\" rel=\"nofollow\"\u003eZinit Wiki\u003c/a\u003e. The\nREADME is an introductory overview of Zinit, while the Wiki gives complete information with examples. Make sure to read\nit to get the most out of Zinit.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstall\u003ca name=\"user-content-install\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-install\" class=\"anchor\" aria-label=\"Permalink: Install\" href=\"#install\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAutomatic\u003ca name=\"user-content-automatic\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-automatic\" class=\"anchor\" aria-label=\"Permalink: Automatic\" href=\"#automatic\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe easiest way to install Zinit is to execute:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"bash -c \u0026quot;$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)\u0026quot;\"\u003e\u003cpre\u003ebash -c \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e$(\u003c/span\u003ecurl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh\u003cspan class=\"pl-pds\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis will install Zinit in \u003ccode\u003e~/.local/share/zinit/zinit.git\u003c/code\u003e. \u003ccode\u003e.zshrc\u003c/code\u003e will be updated with three lines of code that will\nbe added to the bottom. The lines will be sourcing \u003ccode\u003ezinit.zsh\u003c/code\u003e and setting up completion for command \u003ccode\u003ezinit\u003c/code\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAfter installing and reloading the shell, compile Zinit via:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit self-update\"\u003e\u003cpre\u003ezinit self-update\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eManual\u003ca name=\"user-content-manual\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-manual\" class=\"anchor\" aria-label=\"Permalink: Manual\" href=\"#manual\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIn your \u003ccode\u003e.zshrc\u003c/code\u003e, add the following snippet\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"ZINIT_HOME=\u0026quot;${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git\u0026quot;\n[ ! -d $ZINIT_HOME ] \u0026amp;\u0026amp; mkdir -p \u0026quot;$(dirname $ZINIT_HOME)\u0026quot;\n[ ! -d $ZINIT_HOME/.git ] \u0026amp;\u0026amp; git clone https://github.com/zdharma-continuum/zinit.git \u0026quot;$ZINIT_HOME\u0026quot;\nsource \u0026quot;${ZINIT_HOME}/zinit.zsh\u0026quot;\"\u003e\u003cpre\u003eZINIT_HOME=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${XDG_DATA_HOME\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${HOME}\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003e.local\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003eshare}\u003c/span\u003e/zinit/zinit.git\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n[ \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-d\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e$ZINIT_HOME\u003c/span\u003e ] \u003cspan class=\"pl-k\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e mkdir -p \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e$(\u003c/span\u003edirname \u003cspan class=\"pl-smi\"\u003e$ZINIT_HOME\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n[ \u003cspan class=\"pl-k\"\u003e!\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e-d\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e$ZINIT_HOME\u003c/span\u003e/.git ] \u003cspan class=\"pl-k\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e git clone https://github.com/zdharma-continuum/zinit.git \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e$ZINIT_HOME\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003esource\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${ZINIT_HOME}\u003c/span\u003e/zinit.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization\" rel=\"nofollow\"\u003ecompinit\u003c/a\u003e):\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf you source \u003ccode\u003ezinit.zsh\u003c/code\u003e after \u003ccode\u003ecompinit\u003c/code\u003e, add the following snippet after sourcing \u003ccode\u003ezinit.zsh\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"autoload -Uz _zinit\n(( ${+_comps} )) \u0026amp;\u0026amp; _comps[zinit]=_zinit\"\u003e\u003cpre\u003eautoload -Uz _zinit\n\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e((\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e${+_comps}\u003c/span\u003e \u003cspan class=\"pl-pds\"\u003e))\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e _comps[zinit]=_zinit\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eReload Zsh to install Zinit:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"exec zsh\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c1\"\u003eexec\u003c/span\u003e zsh\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eVarious paths can be customized; see section \u003ca href=\"#customizing-paths\"\u003eCustomizing Paths\u003c/a\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUsage\u003ca name=\"user-content-usage\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-usage\" class=\"anchor\" aria-label=\"Permalink: Usage\" href=\"#usage\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIntroduction\u003ca name=\"user-content-introduction\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-introduction\" class=\"anchor\" aria-label=\"Permalink: Introduction\" href=\"#introduction\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/INTRODUCTION/\" rel=\"nofollow\"\u003eClick here to read the introduction to Zinit\u003c/a\u003e. It\nexplains basic usage and some of the more unique features of Zinit, such as the Turbo mode. If you're new to Zinit, we\nrecommend you read it at least once.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePlugins and snippets\u003ca name=\"user-content-plugins-and-snippets\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-plugins-and-snippets\" class=\"anchor\" aria-label=\"Permalink: Plugins and snippets\" href=\"#plugins-and-snippets\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ePlugins can be loaded using \u003ccode\u003eload\u003c/code\u003e or \u003ccode\u003elight\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit load \u0026lt;repo/plugin\u0026gt; # Load with reporting/investigating.\nzinit light \u0026lt;repo/plugin\u0026gt; # Load without reporting/investigating.\"\u003e\u003cpre\u003ezinit load \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003erepo/plugin\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load with reporting/investigating.\u003c/span\u003e\nzinit light \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003erepo/plugin\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load without reporting/investigating.\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIf you want to source local or remote files (using direct URL), you can do so with \u003ccode\u003esnippet\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit snippet \u0026lt;URL\u0026gt;\"\u003e\u003cpre\u003ezinit snippet \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eURL\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eSuch lines should be added to \u003ccode\u003e.zshrc\u003c/code\u003e. Snippets are cached locally. Use the \u003ccode\u003e-f\u003c/code\u003e option to download a new version of a\nsnippet or \u003ccode\u003ezinit update {URL}\u003c/code\u003e. You can also use \u003ccode\u003ezinit update --all\u003c/code\u003e to update all snippets (and plugins).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eExample\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Plugin history-search-multi-word loaded with investigating.\nzinit load zdharma-continuum/history-search-multi-word\n\n# Two regular plugins loaded without investigating.\nzinit light zsh-users/zsh-autosuggestions\nzinit light zdharma-continuum/fast-syntax-highlighting\n\n# Snippet\nzinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Plugin history-search-multi-word loaded with investigating.\u003c/span\u003e\nzinit load zdharma-continuum/history-search-multi-word\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Two regular plugins loaded without investigating.\u003c/span\u003e\nzinit light zsh-users/zsh-autosuggestions\nzinit light zdharma-continuum/fast-syntax-highlighting\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Snippet\u003c/span\u003e\nzinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003ePrompt(Theme) Example\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThis is \u003ca href=\"https://github.com/romkatv/powerlevel10k\"\u003epowerlevel10k\u003c/a\u003e, \u003ca href=\"https://github.com/sindresorhus/pure\"\u003epure\u003c/a\u003e,\n\u003ca href=\"https://github.com/starship/starship\"\u003estarship\u003c/a\u003e sample:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Load powerlevel10k theme\nzinit ice depth\u0026quot;1\u0026quot; # git clone depth\nzinit light romkatv/powerlevel10k\n\n# Load pure theme\nzinit ice pick\u0026quot;async.zsh\u0026quot; src\u0026quot;pure.zsh\u0026quot; # with zsh-async library that's bundled with it.\nzinit light sindresorhus/pure\n\n# Load starship theme\n# line 1: `starship` binary as command, from github release\n# line 2: starship setup at clone(create init.zsh, completion)\n# line 3: pull behavior same as clone, source init.zsh\nzinit ice as\u0026quot;command\u0026quot; from\u0026quot;gh-r\u0026quot; \\\n atclone\u0026quot;./starship init zsh \u0026gt; init.zsh; ./starship completions zsh \u0026gt; _starship\u0026quot; \\\n atpull\u0026quot;%atclone\u0026quot; src\u0026quot;init.zsh\u0026quot;\nzinit light starship/starship\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load powerlevel10k theme\u003c/span\u003e\nzinit ice depth\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e1\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e git clone depth\u003c/span\u003e\nzinit light romkatv/powerlevel10k\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load pure theme\u003c/span\u003e\nzinit ice pick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003easync.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e src\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003epure.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e with zsh-async library that's bundled with it.\u003c/span\u003e\nzinit light sindresorhus/pure\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load starship theme\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e line 1: `starship` binary as command, from github release\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e line 2: starship setup at clone(create init.zsh, completion)\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e line 3: pull behavior same as clone, source init.zsh\u003c/span\u003e\nzinit ice as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ecommand\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e from\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003egh-r\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e./starship init zsh \u0026gt; init.zsh; ./starship completions zsh \u0026gt; _starship\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n atpull\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e%atclone\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e src\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003einit.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzinit light starship/starship\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpgrade Zinit and plugins\u003ca name=\"user-content-upgrade-zinit-and-plugins\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-upgrade-zinit-and-plugins\" class=\"anchor\" aria-label=\"Permalink: Upgrade Zinit and plugins\" href=\"#upgrade-zinit-and-plugins\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eZinit can be updated to \u003ccode\u003eself-update\u003c/code\u003e and plugins to \u003ccode\u003eupdate\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Self update\nzinit self-update\n\n# Plugin update\nzinit update\n\n# Plugin parallel update\nzinit update --parallel\n\n# Increase the number of jobs in a concurrent-set to 40\nzinit update --parallel 40\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Self update\u003c/span\u003e\nzinit self-update\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Plugin update\u003c/span\u003e\nzinit update\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Plugin parallel update\u003c/span\u003e\nzinit update --parallel\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Increase the number of jobs in a concurrent-set to 40\u003c/span\u003e\nzinit update --parallel 40\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTurbo and lucid\u003ca name=\"user-content-turbo-and-lucid\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-turbo-and-lucid\" class=\"anchor\" aria-label=\"Permalink: Turbo and lucid\" href=\"#turbo-and-lucid\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTurbo and lucid are the most used options.\u003c/p\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eTurbo Mode\u003c/b\u003e\u003c/summary\u003e\nTurbo mode is the key to performance. It can be loaded asynchronously, which makes a huge difference when the amount of plugins increases.\n\u003cp dir=\"auto\"\u003eUsually used as \u003ccode\u003ezinit ice wait\"\u0026lt;SECONDS\u0026gt;\"\u003c/code\u003e, let's use the previous example:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit ice wait # wait is the same as wait\u0026quot;0\u0026quot;\nzinit load zdharma-continuum/history-search-multi-word\n\nzinit ice wait\u0026quot;2\u0026quot; # load after 2 seconds\nzinit load zdharma-continuum/history-search-multi-word\n\nzinit ice wait # also be used in `light` and `snippet`\nzinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/\"\u003e\u003cpre\u003ezinit ice \u003cspan class=\"pl-c1\"\u003ewait\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e wait is the same as wait\"0\"\u003c/span\u003e\nzinit load zdharma-continuum/history-search-multi-word\n\nzinit ice wait\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e2\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e load after 2 seconds\u003c/span\u003e\nzinit load zdharma-continuum/history-search-multi-word\n\nzinit ice \u003cspan class=\"pl-c1\"\u003ewait\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e also be used in `light` and `snippet`\u003c/span\u003e\nzinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/\u003c/pre\u003e\u003c/div\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eLucid\u003c/b\u003e\u003c/summary\u003e\n\u003cp dir=\"auto\"\u003eTurbo mode is verbose, so you need an option for quiet.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eYou can use \u003ccode\u003elucid\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit ice wait lucid\nzinit load zdharma-continuum/history-search-multi-word\"\u003e\u003cpre\u003ezinit ice \u003cspan class=\"pl-c1\"\u003ewait\u003c/span\u003e lucid\nzinit load zdharma-continuum/history-search-multi-word\u003c/pre\u003e\u003c/div\u003e\n\u003c/details\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e\u003cem\u003eF\u0026amp;A:\u003c/em\u003e\u003c/strong\u003e What is \u003ccode\u003eice\u003c/code\u003e?\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003eice\u003c/code\u003e is zinit's options command. The option melts like ice and is used only once. (more:\n\u003ca href=\"#ice-modifiers\"\u003eIce Modifiers\u003c/a\u003e)\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMigration\u003ca name=\"user-content-migration\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-migration\" class=\"anchor\" aria-label=\"Permalink: Migration\" href=\"#migration\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eMigration from Oh-My-ZSH\u003c/b\u003e\u003c/summary\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eBasic\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit snippet \u0026lt;URL\u0026gt; # Raw Syntax with URL\nzinit snippet OMZ::\u0026lt;PATH\u0026gt; # Shorthand OMZ/ (https://github.com/ohmyzsh/ohmyzsh/raw/master/)\nzinit snippet OMZL::\u0026lt;PATH\u0026gt; # Shorthand OMZ/lib/\nzinit snippet OMZT::\u0026lt;PATH\u0026gt; # Shorthand OMZ/themes/\nzinit snippet OMZP::\u0026lt;PATH\u0026gt; # Shorthand OMZ/plugins/\"\u003e\u003cpre\u003ezinit snippet \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eURL\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Raw Syntax with URL\u003c/span\u003e\nzinit snippet OMZ::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Shorthand OMZ/ (https://github.com/ohmyzsh/ohmyzsh/raw/master/)\u003c/span\u003e\nzinit snippet OMZL::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Shorthand OMZ/lib/\u003c/span\u003e\nzinit snippet OMZT::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Shorthand OMZ/themes/\u003c/span\u003e\nzinit snippet OMZP::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Shorthand OMZ/plugins/\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eLibrary\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eImporting the \u003ca href=\"https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh\"\u003eclipboard\u003c/a\u003e and\n\u003ca href=\"https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh\"\u003etermsupport\u003c/a\u003e Oh-My-Zsh Library Sample:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Raw Syntax\nzi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh\nzi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh\n\n# OMZ Shorthand Syntax\nzi snippet OMZ::lib/clipboard.zsh\nzi snippet OMZ::lib/termsupport.zsh\n\n# OMZL Shorthand Syntax\nzi snippet OMZL::clipboard.zsh\nzi snippet OMZL::termsupport.zsh\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Raw Syntax\u003c/span\u003e\nzi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh\nzi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e OMZ Shorthand Syntax\u003c/span\u003e\nzi snippet OMZ::lib/clipboard.zsh\nzi snippet OMZ::lib/termsupport.zsh\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e OMZL Shorthand Syntax\u003c/span\u003e\nzi snippet OMZL::clipboard.zsh\nzi snippet OMZL::termsupport.zsh\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eTheme\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTo use \u003cstrong\u003ethemes\u003c/strong\u003e created for Oh My Zsh you might want to first source the \u003ccode\u003egit\u003c/code\u003e library there.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThen you can use the themes as snippets (\u003ccode\u003ezinit snippet \u0026lt;file path or GitHub URL\u0026gt;\u003c/code\u003e). Some themes require not only Oh My\nZsh's Git \u003cstrong\u003elibrary\u003c/strong\u003e, but also Git \u003cstrong\u003eplugin\u003c/strong\u003e (error about \u003ccode\u003ecurrent_branch\u003c/code\u003e may appear). Load this Git-plugin as\nsingle-file snippet directly from OMZ.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eMost themes require \u003ccode\u003epromptsubst\u003c/code\u003e option (\u003ccode\u003esetopt promptsubst\u003c/code\u003e in \u003ccode\u003ezshrc\u003c/code\u003e), if it isn't set, then prompt will appear as\nsomething like: \u003ccode\u003e... $(build_prompt) ...\u003c/code\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eYou might want to suppress completions provided by the git plugin by issuing \u003ccode\u003ezinit cdclear -q\u003c/code\u003e (\u003ccode\u003e-q\u003c/code\u003e is for quiet) –\nsee below \u003cstrong\u003eIgnoring Compdefs\u003c/strong\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTo summarize:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"## Oh My Zsh Setting\nZSH_THEME=\u0026quot;robbyrussell\u0026quot;\n\n## Zinit Setting\n# Must Load OMZ Git library\nzi snippet OMZL::git.zsh\n\n# Load Git plugin from OMZ\nzi snippet OMZP::git\nzi cdclear -q # \u0026lt;- forget completions provided up to this moment\n\nsetopt promptsubst\n\n# Load Prompt\nzi snippet OMZT::robbyrussell\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Oh My Zsh Setting\u003c/span\u003e\nZSH_THEME=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003erobbyrussell\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Zinit Setting\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Must Load OMZ Git library\u003c/span\u003e\nzi snippet OMZL::git.zsh\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load Git plugin from OMZ\u003c/span\u003e\nzi snippet OMZP::git\nzi cdclear -q \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e \u0026lt;- forget completions provided up to this moment\u003c/span\u003e\n\nsetopt promptsubst\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load Prompt\u003c/span\u003e\nzi snippet OMZT::robbyrussell\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eExternal Theme Sample: \u003ca href=\"https://github.com/nicosantangelo/Alpharized\"\u003eNicoSantangelo/Alpharized\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"## Oh My Zsh Setting\nZSH_THEME=\u0026quot;alpharized\u0026quot;\n\n## Zinit Setting\n# Must Load OMZ Git library\nzi snippet OMZL::git.zsh\n\n# Load Git plugin from OMZ\nzi snippet OMZP::git\nzi cdclear -q # \u0026lt;- forget completions provided up to this moment\n\nsetopt promptsubst\n\n# Load Prompt\nzi light NicoSantangelo/Alpharized\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Oh My Zsh Setting\u003c/span\u003e\nZSH_THEME=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ealpharized\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Zinit Setting\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Must Load OMZ Git library\u003c/span\u003e\nzi snippet OMZL::git.zsh\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load Git plugin from OMZ\u003c/span\u003e\nzi snippet OMZP::git\nzi cdclear -q \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e \u0026lt;- forget completions provided up to this moment\u003c/span\u003e\n\nsetopt promptsubst\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load Prompt\u003c/span\u003e\nzi light NicoSantangelo/Alpharized\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFrequently Asked Questions\u003ca name=\"user-content-frequently-asked-questions\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-frequently-asked-questions\" class=\"anchor\" aria-label=\"Permalink: Frequently Asked Questions\" href=\"#frequently-asked-questions\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eError occurs when loading OMZ's theme.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf the \u003ccode\u003egit\u003c/code\u003e library will not be loaded, the following errors will appear:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"........:1: command not found: git_prompt_status\n........:1: command not found: git_prompt_short_sha\"\u003e\u003cpre\u003e........:1: \u003cspan class=\"pl-c1\"\u003ecommand\u003c/span\u003e not found: git_prompt_status\n........:1: \u003cspan class=\"pl-c1\"\u003ecommand\u003c/span\u003e not found: git_prompt_short_sha\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003ePlugin\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf it consists of a single file, you can just load it.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"## Oh-My-Zsh Setting\nplugins=(\n git\n dotenv\n rake\n rbenv\n ruby\n)\n\n## Zinit Setting\nzi snippet OMZP::git\nzi snippet OMZP::dotenv\nzi snippet OMZP::rake\nzi snippet OMZP::rbenv\nzi snippet OMZP::ruby\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Oh-My-Zsh Setting\u003c/span\u003e\nplugins=(\n git\n dotenv\n rake\n rbenv\n ruby\n)\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Zinit Setting\u003c/span\u003e\nzi snippet OMZP::git\nzi snippet OMZP::dotenv\nzi snippet OMZP::rake\nzi snippet OMZP::rbenv\nzi snippet OMZP::ruby\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUse \u003ccode\u003ezi ice svn\u003c/code\u003e if a plugin/snippet requires an entire subdirectory\u003ca name=\"user-content-use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory\" class=\"anchor\" aria-label=\"Permalink: Use zi ice svn if a plugin/snippet requires an entire subdirectory\" href=\"#use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast\"\u003egitfast\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/osx\"\u003eosx\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi ice svn\nzi snippet OMZP::gitfast\n\nzi ice svn\nzi snippet OMZP::osx\"\u003e\u003cpre\u003ezi ice svn\nzi snippet OMZP::gitfast\n\nzi ice svn\nzi snippet OMZP::osx\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUse \u003ccode\u003ezi ice as'completion'\u003c/code\u003e to directly add single file completion snippets\u003ca name=\"user-content-use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets\" class=\"anchor\" aria-label=\"Permalink: Use zi ice as'completion' to directly add single file completion snippets\" href=\"#use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker\"\u003edocker\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fd\"\u003efd\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi ice as\u0026quot;completion\u0026quot;\nzi snippet OMZP::docker/_docker\n\nzi ice as\u0026quot;completion\u0026quot;\nzi snippet OMZP::fd/_fd\"\u003e\u003cpre\u003ezi ice as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ecompletion\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi snippet OMZP::docker/_docker\n\nzi ice as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ecompletion\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi snippet OMZP::fd/_fd\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/\" rel=\"nofollow\"\u003eFind more information on Oh-My-Zsh + Zinit on the Wiki\u003c/a\u003e\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eMigration from Prezto\u003c/b\u003e\u003c/summary\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eBasic\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi snippet \u0026lt;URL\u0026gt; # Raw Syntax with URL\nzi snippet PZT::\u0026lt;PATH\u0026gt; # Shorthand PZT/ (https://github.com/sorin-ionescu/prezto/tree/master/)\nzi snippet PZTM::\u0026lt;PATH\u0026gt; # Shorthand PZT/modules/\"\u003e\u003cpre\u003ezi snippet \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eURL\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Raw Syntax with URL\u003c/span\u003e\nzi snippet PZT::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Shorthand PZT/ (https://github.com/sorin-ionescu/prezto/tree/master/)\u003c/span\u003e\nzi snippet PZTM::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Shorthand PZT/modules/\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eModules\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eImporting the \u003ca href=\"https://github.com/sorin-ionescu/prezto/tree/master/modules/environment\"\u003eenvironment\u003c/a\u003e and\n\u003ca href=\"https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal\"\u003eterminal\u003c/a\u003e Prezto Modules Sample:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"## Prezto Setting\nzstyle ':prezto:load' pmodule 'environment' 'terminal'\n\n## Zinit Setting\n# Raw Syntax\nzi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/environment/init.zsh\nzi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/terminal/init.zsh\n\n# PZT Shorthand Syntax\nzi snippet PZT::modules/environment\nzi snippet PZT::modules/terminal\n\n# PZTM Shorthand Syntax\nzi snippet PZTM::environment\nzi snippet PZTM::terminal\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Prezto Setting\u003c/span\u003e\nzstyle \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e:prezto:load\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e pmodule \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003eenvironment\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003eterminal\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e# Zinit Setting\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Raw Syntax\u003c/span\u003e\nzi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/environment/init.zsh\nzi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/terminal/init.zsh\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e PZT Shorthand Syntax\u003c/span\u003e\nzi snippet PZT::modules/environment\nzi snippet PZT::modules/terminal\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e PZTM Shorthand Syntax\u003c/span\u003e\nzi snippet PZTM::environment\nzi snippet PZTM::terminal\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUse \u003ccode\u003ezinit ice svn\u003c/code\u003e if multiple files require an entire subdirectory. Like\n\u003ca href=\"https://github.com/sorin-ionescu/prezto/tree/master/modules/docker\"\u003edocker\u003c/a\u003e,\n\u003ca href=\"https://github.com/sorin-ionescu/prezto/tree/master/modules/git\"\u003egit\u003c/a\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi ice svn\nzi snippet PZTM::docker\n\nzi ice svn\nzi snippet PZTM::git\"\u003e\u003cpre\u003ezi ice svn\nzi snippet PZTM::docker\n\nzi ice svn\nzi snippet PZTM::git\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUse \u003ccode\u003ezinit ice as\"null\"\u003c/code\u003e if don't exist \u003ccode\u003e*.plugin.zsh\u003c/code\u003e, \u003ccode\u003einit.zsh\u003c/code\u003e, \u003ccode\u003e*.zsh-theme*\u003c/code\u003e files in module. Like\n\u003ca href=\"https://github.com/sorin-ionescu/prezto/tree/master/modules/archive\"\u003earchive\u003c/a\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi ice svn as\u0026quot;null\u0026quot;\nzi snippet PZTM::archive\"\u003e\u003cpre\u003ezi ice svn as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003enull\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi snippet PZTM::archive\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUse \u003ccode\u003ezinit ice atclone\"git clone \u0026lt;repo\u0026gt; \u0026lt;location\u0026gt;\"\u003c/code\u003e if module have external module. Like\n\u003ca href=\"https://github.com/sorin-ionescu/prezto/tree/master/modules/completion\"\u003ecompletion\u003c/a\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi ice \\\n atclone\u0026quot;git clone --recursive https://github.com/zsh-users/zsh-completions.git external\u0026quot; \\\n blockf \\ # use blockf to prevent any unnecessary additions to fpath, as zinit manages fpath\n svn\n\nzi snippet PZTM::completion\"\u003e\u003cpre\u003ezi ice \\\n atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003egit clone --recursive https://github.com/zsh-users/zsh-completions.git external\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n blockf \u003cspan class=\"pl-cce\"\u003e\\ \u003c/span\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e use blockf to prevent any unnecessary additions to fpath, as zinit manages fpath\u003c/span\u003e\n svn\n\nzi snippet PZTM::completion\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e\u003cem\u003eF\u0026amp;A:\u003c/em\u003e\u003c/strong\u003e What is \u003ccode\u003ezstyle\u003c/code\u003e?\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eRead \u003ca href=\"http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fzutil-Module\" rel=\"nofollow\"\u003ezstyle\u003c/a\u003e doc (more:\n\u003ca href=\"https://unix.stackexchange.com/questions/214657/what-does-zstyle-do\" rel=\"nofollow\"\u003eWhat does \u003ccode\u003ezstyle\u003c/code\u003e do?\u003c/a\u003e).\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eMigration from Zgen\u003c/b\u003e\u003c/summary\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eOh My Zsh\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eMore reference: check \u003cstrong\u003eMigration from Oh-My-ZSH\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Load ohmyzsh base\nzgen oh-my-zsh\nzi snippet OMZL::\u0026lt;ALL OF THEM\u0026gt;\n\n# Load ohmyzsh plugins\nzgen oh-my-zsh \u0026lt;PATH\u0026gt;\nzi snippet OMZ::\u0026lt;PATH\u0026gt;\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load ohmyzsh base\u003c/span\u003e\nzgen oh-my-zsh\nzi snippet OMZL::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eALL OF THEM\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load ohmyzsh plugins\u003c/span\u003e\nzgen oh-my-zsh \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\nzi snippet OMZ::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003ePATH\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003ePrezto\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eMore reference: check \u003cstrong\u003eMigration from Prezto\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Load Prezto\nzgen prezto\nzi snippet PZTM::\u0026lt;COMMENT's List\u0026gt; # environment terminal editor history directory spectrum utility completion prompt\n\n# Load prezto plugins\nzgen prezto \u0026lt;modulename\u0026gt;\nzi snippet PZTM::\u0026lt;modulename\u0026gt;\n\n# Load a repo as Prezto plugins\nzgen pmodule \u0026lt;reponame\u0026gt; \u0026lt;branch\u0026gt;\nzi ice ver\u0026quot;\u0026lt;branch\u0026gt;\u0026quot;\nzi load \u0026lt;repo/plugin\u0026gt;\n\n# Set prezto options\nzgen prezto \u0026lt;modulename\u0026gt; \u0026lt;option\u0026gt; \u0026lt;value(s)\u0026gt;\nzstyle ':prezto:\u0026lt;modulename\u0026gt;:' \u0026lt;option\u0026gt; \u0026lt;values(s)\u0026gt; # Set original prezto style\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load Prezto\u003c/span\u003e\nzgen prezto\nzi snippet PZTM::\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eCOMMENT\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003es List\u0026gt; # environment terminal editor history directory spectrum utility completion prompt\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e# Load prezto plugins\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezgen prezto \u0026lt;modulename\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezi snippet PZTM::\u0026lt;modulename\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e# Load a repo as Prezto plugins\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezgen pmodule \u0026lt;reponame\u0026gt; \u0026lt;branch\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezi ice ver\"\u0026lt;branch\u0026gt;\"\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezi load \u0026lt;repo/plugin\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e# Set prezto options\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezgen prezto \u0026lt;modulename\u0026gt; \u0026lt;option\u0026gt; \u0026lt;value(s)\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003ezstyle \u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e:prezto:\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003emodulename\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e:\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e \u0026lt;option\u0026gt; \u0026lt;values(s)\u0026gt; # Set original prezto style\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eGeneral\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003elocation\u003c/code\u003e: refer \u003ca href=\"#selection-of-files-to-source-\"\u003eSelection of Files\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zgen load \u0026lt;repo\u0026gt; [location] [branch]\n\nzi ice ver\u0026quot;[branch]\u0026quot;\nzi load \u0026lt;repo\u0026gt;\"\u003e\u003cpre\u003ezgen load \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003erepo\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e [location] [branch]\n\nzi ice ver\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e[branch]\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi load \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003erepo\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eMigration from Zplug\u003c/b\u003e\u003c/summary\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eBasic\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zplug \u0026lt;repo/plugin\u0026gt;, tag1:\u0026lt;option1\u0026gt;, tag2:\u0026lt;option2\u0026gt;\n\nzi ice tag1\u0026quot;\u0026lt;option1\u0026gt;\u0026quot; tag2\u0026quot;\u0026lt;option2\u0026gt;\u0026quot;\nzi load \u0026lt;repo/plugin\u0026gt;\"\u003e\u003cpre\u003ezplug \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003erepo/plugin\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e, tag1:\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eoption\u003cspan class=\"pl-k\"\u003e1\u0026gt;\u003c/span\u003e, tag2:\u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eoption\u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e\n\nzi ice tag1\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u0026lt;option1\u0026gt;\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e tag2\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u0026lt;option2\u0026gt;\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi load \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003erepo/plugin\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eTag comparison\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eas\u003c/code\u003e =\u0026gt; \u003ccode\u003eas\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euse\u003c/code\u003e =\u0026gt; \u003ccode\u003epick\u003c/code\u003e, \u003ccode\u003esrc\u003c/code\u003e, \u003ccode\u003emultisrc\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eignore\u003c/code\u003e =\u0026gt; None\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efrom\u003c/code\u003e =\u0026gt; \u003ccode\u003efrom\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eat\u003c/code\u003e =\u0026gt; \u003ccode\u003ever\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erename-to\u003c/code\u003e =\u0026gt; \u003ccode\u003emv\u003c/code\u003e, \u003ccode\u003ecp\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edir\u003c/code\u003e =\u0026gt; Selection(\u003ccode\u003epick\u003c/code\u003e, ...) with rename\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eif\u003c/code\u003e =\u0026gt; \u003ccode\u003eif\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehook-build\u003c/code\u003e =\u0026gt; \u003ccode\u003eatclone\u003c/code\u003e, \u003ccode\u003eatpull\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehook-load\u003c/code\u003e =\u0026gt; \u003ccode\u003eatload\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efrozen\u003c/code\u003e =\u0026gt; None\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eon\u003c/code\u003e =\u0026gt; None\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edefer\u003c/code\u003e =\u0026gt; \u003ccode\u003ewait\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elazy\u003c/code\u003e =\u0026gt; \u003ccode\u003eautoload\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edepth\u003c/code\u003e =\u0026gt; \u003ccode\u003edepth\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMore Examples\u003ca name=\"user-content-more-examples\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-more-examples\" class=\"anchor\" aria-label=\"Permalink: More Examples\" href=\"#more-examples\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAfter installing Zinit you can start adding some actions (load some plugins) to \u003ccode\u003e~/.zshrc\u003c/code\u003e, at bottom. Some examples:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Load the pure theme, with zsh-async library that's bundled with it.\nzi ice pick\u0026quot;async.zsh\u0026quot; src\u0026quot;pure.zsh\u0026quot;\nzi light sindresorhus/pure\n\n# A glance at the new for-syntax – load all of the above\n# plugins with a single command. For more information see:\n# https://zdharma-continuum.github.io/zinit/wiki/For-Syntax/\nzinit for \\\n light-mode \\\n zsh-users/zsh-autosuggestions \\\n light-mode \\\n zdharma-continuum/fast-syntax-highlighting \\\n zdharma-continuum/history-search-multi-word \\\n light-mode \\\n pick\u0026quot;async.zsh\u0026quot; \\\n src\u0026quot;pure.zsh\u0026quot; \\\n sindresorhus/pure\n\n# Binary release in archive, from GitHub-releases page.\n# After automatic unpacking it provides program \u0026quot;fzf\u0026quot;.\nzi ice from\u0026quot;gh-r\u0026quot; as\u0026quot;program\u0026quot;\nzi light junegunn/fzf\n\n# One other binary release, it needs renaming from `docker-compose-Linux-x86_64`.\n# This is done by ice-mod `mv'{from} -\u0026gt; {to}'. There are multiple packages per\n# single version, for OS X, Linux and Windows – so ice-mod `bpick' is used to\n# select Linux package – in this case this is actually not needed, Zinit will\n# grep operating system name and architecture automatically when there's no `bpick'.\nzi ice from\u0026quot;gh-r\u0026quot; as\u0026quot;program\u0026quot; mv\u0026quot;docker* -\u0026gt; docker-compose\u0026quot; bpick\u0026quot;*linux*\u0026quot;\nzi load docker/compose\n\n# Vim repository on GitHub – a typical source code that needs compilation – Zinit\n# can manage it for you if you like, run `./configure` and other `make`, etc.\n# Ice-mod `pick` selects a binary program to add to $PATH. You could also install the\n# package under the path $ZPFX, see: https://zdharma-continuum.github.io/zinit/wiki/Compiling-programs\nzi ice \\\n as\u0026quot;program\u0026quot; \\\n atclone\u0026quot;rm -f src/auto/config.cache; ./configure\u0026quot; \\\n atpull\u0026quot;%atclone\u0026quot; \\\n make \\\n pick\u0026quot;src/vim\u0026quot;\nzi light vim/vim\n\n# Scripts built at install (there's single default make target, \u0026quot;install\u0026quot;,\n# and it constructs scripts by `cat'ing a few files). The make'' ice could also be:\n# `make\u0026quot;install PREFIX=$ZPFX\u0026quot;`, if \u0026quot;install\u0026quot; wouldn't be the only default target.\nzi ice as\u0026quot;program\u0026quot; pick\u0026quot;$ZPFX/bin/git-*\u0026quot; make\u0026quot;PREFIX=$ZPFX\u0026quot;\nzi light tj/git-extras\n\n# Handle completions without loading any plugin; see \u0026quot;completions\u0026quot; command.\n# This one is to be ran just once, in interactive session.\nzi creinstall %HOME/my_completions\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load the pure theme, with zsh-async library that's bundled with it.\u003c/span\u003e\nzi ice pick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003easync.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e src\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003epure.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi light sindresorhus/pure\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e A glance at the new for-syntax – load all of the above\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e plugins with a single command. For more information see:\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e https://zdharma-continuum.github.io/zinit/wiki/For-Syntax/\u003c/span\u003e\nzinit \u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e \\\n light-mode \\\n zsh-users/zsh-autosuggestions \\\n light-mode \\\n zdharma-continuum/fast-syntax-highlighting \\\n zdharma-continuum/history-search-multi-word \\\n light-mode \\\n pick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003easync.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n src\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003epure.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n sindresorhus/pure\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Binary release in archive, from GitHub-releases page.\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e After automatic unpacking it provides program \"fzf\".\u003c/span\u003e\nzi ice from\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003egh-r\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eprogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi light junegunn/fzf\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e One other binary release, it needs renaming from `docker-compose-Linux-x86_64`.\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e This is done by ice-mod `mv'{from} -\u0026gt; {to}'. There are multiple packages per\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e single version, for OS X, Linux and Windows – so ice-mod `bpick' is used to\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e select Linux package – in this case this is actually not needed, Zinit will\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e grep operating system name and architecture automatically when there's no `bpick'.\u003c/span\u003e\nzi ice from\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003egh-r\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eprogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e mv\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003edocker* -\u0026gt; docker-compose\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e bpick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e*linux*\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi load docker/compose\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Vim repository on GitHub – a typical source code that needs compilation – Zinit\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e can manage it for you if you like, run `./configure` and other `make`, etc.\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Ice-mod `pick` selects a binary program to add to $PATH. You could also install the\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e package under the path $ZPFX, see: https://zdharma-continuum.github.io/zinit/wiki/Compiling-programs\u003c/span\u003e\nzi ice \\\n as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eprogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003erm -f src/auto/config.cache; ./configure\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n atpull\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e%atclone\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n make \\\n pick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003esrc/vim\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi light vim/vim\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Scripts built at install (there's single default make target, \"install\",\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e and it constructs scripts by `cat'ing a few files). The make'' ice could also be:\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e `make\"install PREFIX=$ZPFX\"`, if \"install\" wouldn't be the only default target.\u003c/span\u003e\nzi ice as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eprogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e pick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e/bin/git-*\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e make\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ePREFIX=\u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi light tj/git-extras\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Handle completions without loading any plugin; see \"completions\" command.\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e This one is to be ran just once, in interactive session.\u003c/span\u003e\nzi creinstall %HOME/my_completions\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# For GNU ls (the binaries can be gls, gdircolors, e.g. on OS X when installing the\n# coreutils package from Homebrew; you can also use https://github.com/ogham/exa)\nzi ice atclone\u0026quot;dircolors -b LS_COLORS \u0026gt; c.zsh\u0026quot; atpull'%atclone' pick\u0026quot;c.zsh\u0026quot; nocompile'!'\nzi light trapd00r/LS_COLORS\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e For GNU ls (the binaries can be gls, gdircolors, e.g. on OS X when installing the\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e coreutils package from Homebrew; you can also use https://github.com/ogham/exa)\u003c/span\u003e\nzi ice atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003edircolors -b LS_COLORS \u0026gt; c.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e atpull\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e%atclone\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e pick\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ec.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e nocompile\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e!\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e\nzi light trapd00r/LS_COLORS\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/LS_COLORS-explanation/\" rel=\"nofollow\"\u003eYou can see an extended explanation of LS_COLORS in the Wiki.\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# make'!...' -\u0026gt; run make before atclone \u0026amp; atpull\nzi ice as\u0026quot;program\u0026quot; make'!' atclone'./direnv hook zsh \u0026gt; zhook.zsh' atpull'%atclone' src\u0026quot;zhook.zsh\u0026quot;\nzi light direnv/direnv\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e make'!...' -\u0026gt; run make before atclone \u0026amp; atpull\u003c/span\u003e\nzi ice as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eprogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e make\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e!\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e./direnv hook zsh \u0026gt; zhook.zsh\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e atpull\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e%atclone\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e src\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ezhook.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\nzi light direnv/direnv\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Direnv-explanation/\" rel=\"nofollow\"\u003eYou can see an extended explanation of direnv in the Wiki.\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf you're interested in more examples, then check out the\n\u003ca href=\"https://github.com/zdharma-continuum/zinit-configs\"\u003ezinit-configs repository\u003c/a\u003e, where users have uploaded their\n\u003ccode\u003e~/.zshrc\u003c/code\u003e and Zinit configurations. Feel free to\n\u003ca href=\"https://github.com/zdharma-continuum/zinit-configs/issues/new?template=request-to-add-zshrc-to-the-zinit-configs-repo.md\"\u003esubmit\u003c/a\u003e\nyour \u003ccode\u003e~/.zshrc\u003c/code\u003e there if it contains Zinit commands.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eYou can also check out the \u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/GALLERY/\" rel=\"nofollow\"\u003eGallery of Zinit Invocations\u003c/a\u003e for\nsome additional examples.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAlso, two articles on the Wiki present an example setup\n\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Example-Minimal-Setup/\" rel=\"nofollow\"\u003ehere\u003c/a\u003e and\n\u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/\" rel=\"nofollow\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eHow to Use\u003ca name=\"user-content-how-to-use\"\u003e\u003c/a\u003e\u003c/h1\u003e\u003ca id=\"user-content-how-to-use\" class=\"anchor\" aria-label=\"Permalink: How to Use\" href=\"#how-to-use\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIce Modifiers\u003ca name=\"user-content-ice-modifiers\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-ice-modifiers\" class=\"anchor\" aria-label=\"Permalink: Ice Modifiers\" href=\"#ice-modifiers\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFollowing \u003ccode\u003eice\u003c/code\u003e modifiers are to be \u003ca href=\"https://zdharma-continuum.github.io/zinit/wiki/Alternate-Ice-Syntax/\" rel=\"nofollow\"\u003epassed\u003c/a\u003e to\n\u003ccode\u003ezinit ice ...\u003c/code\u003e to obtain described effects. The word \u003ccode\u003eice\u003c/code\u003e means something that's added (like ice to a drink) – and in\nZinit it means adding modifier to a next \u003ccode\u003ezinit\u003c/code\u003e command, and also something that's temporary because it melts – and\nthis means that the modification will last only for a \u003cstrong\u003esingle\u003c/strong\u003e next \u003ccode\u003ezinit\u003c/code\u003e command.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eSome Ice-modifiers are highlighted and clicking on them will take you to the appropriate Wiki page for an extended\nexplanation.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eYou may safely assume a given ice works with both plugins and snippets unless explicitly stated otherwise.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCloning Options\u003ca name=\"user-content-cloning-options\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-cloning-options\" class=\"anchor\" aria-label=\"Permalink: Cloning Options\" href=\"#cloning-options\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ebpick\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUsed to select which release from GitHub Releases to download, e.g. \u003ccode\u003ezini ice from\"gh-r\" as\"program\" bpick\"*Darwin*\"; zini load docker/compose\u003c/code\u003e. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecloneopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePass the contents of \u003ccode\u003ecloneopts\u003c/code\u003e to \u003ccode\u003egit clone\u003c/code\u003e. Defaults to \u003ccode\u003e--recursive\u003c/code\u003e. I.e.: change cloning options. Pass empty ice to disable recursive cloning. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003edepth\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePass \u003ccode\u003e--depth\u003c/code\u003e to \u003ccode\u003egit\u003c/code\u003e, i.e. limit how much of history to download. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003efrom\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eClone plugin from given site. Supported are \u003ccode\u003efrom\"github\"\u003c/code\u003e (default), \u003ccode\u003e...\"github-rel\"\u003c/code\u003e, \u003ccode\u003e...\"gitlab\"\u003c/code\u003e, \u003ccode\u003e...\"bitbucket\"\u003c/code\u003e, \u003ccode\u003e...\"notabug\"\u003c/code\u003e (short names: \u003ccode\u003egh\u003c/code\u003e, \u003ccode\u003egh-r\u003c/code\u003e, \u003ccode\u003egl\u003c/code\u003e, \u003ccode\u003ebb\u003c/code\u003e, \u003ccode\u003enb\u003c/code\u003e). Can also be a full domain name (e.g. for GitHub enterprise). \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eproto\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eChange protocol to \u003ccode\u003egit\u003c/code\u003e,\u003ccode\u003eftp\u003c/code\u003e,\u003ccode\u003eftps\u003c/code\u003e,\u003ccode\u003essh\u003c/code\u003e, \u003ccode\u003ersync\u003c/code\u003e, etc. Default is \u003ccode\u003ehttps\u003c/code\u003e. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003epullopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePass the contents of \u003ccode\u003epullopts\u003c/code\u003e to \u003ccode\u003egit pull\u003c/code\u003e used when updating plugins. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esvn\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUse Subversion for downloading snippet. GitHub supports \u003ccode\u003eSVN\u003c/code\u003e protocol, this allows to clone subdirectories as snippets, e.g. \u003ccode\u003ezinit ice svn; zinit snippet OMZP::git\u003c/code\u003e. Other ice \u003ccode\u003epick\u003c/code\u003e can be used to select file to source (default are: \u003ccode\u003e*.plugin.zsh\u003c/code\u003e, \u003ccode\u003einit.zsh\u003c/code\u003e, \u003ccode\u003e*.zsh-theme\u003c/code\u003e). \u003cstrong\u003eDoes not work with plugins.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ever\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUsed with \u003ccode\u003efrom\"gh-r\"\u003c/code\u003e (i.e. downloading a binary release, e.g. for use with \u003ccode\u003eas\"program\"\u003c/code\u003e) – selects which version to download. Default is latest, can also be explicitly \u003ccode\u003ever\"latest\"\u003c/code\u003e. Works also with regular plugins and packages (\u003ccode\u003epack\u003c/code\u003e ice) checkouts e.g. \u003ccode\u003ever\"abranch\"\u003c/code\u003e, i.e. a specific version. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSelection of Files (To Source, …)\u003ca name=\"user-content-selection-of-files-to-source-%E2%80%A6\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-selection-of-files-to-source-\" class=\"anchor\" aria-label=\"Permalink: Selection of Files (To Source, …)\" href=\"#selection-of-files-to-source-\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003emultisrc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAllows to specify multiple files for sourcing, enumerated with spaces as the separators (e.g. \u003ccode\u003emultisrc'misc.zsh grep.zsh'\u003c/code\u003e) and also using brace-expansion syntax (e.g. \u003ccode\u003emultisrc'{misc,grep}.zsh'\u003c/code\u003e). Supports patterns.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003epick\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSelect the file to source, or the file to set as command (when using \u003ccode\u003esnippet --command\u003c/code\u003e or the ice \u003ccode\u003eas\"program\"\u003c/code\u003e); it is a pattern, alphabetically first matched file is being chosen; e.g. \u003ccode\u003ezinit ice pick\"*.plugin.zsh\"; zinit load …\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esrc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSpecify additional file to source after sourcing main file or after setting up command (via \u003ccode\u003eas\"program\"\u003c/code\u003e). It is not a pattern but a plain file name.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConditional Loading\u003ca name=\"user-content-conditional-loading\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-conditional-loading\" class=\"anchor\" aria-label=\"Permalink: Conditional Loading\" href=\"#conditional-loading\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecloneonly\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDon't load the plugin / snippet, only download it\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ehas\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLoad plugin or snippet only when given command is available (in $PATH), e.g. \u003ccode\u003ezinit ice has'git' ...\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eif\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLoad plugin or snippet only when given condition is fulfilled, for example: \u003ccode\u003ezinit ice if'[[ -n \"$commands[otool]\" ]]'; zinit load ...\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eload\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA condition to check which should cause plugin to load. It will load once, the condition can be still true, but will not trigger second load (unless plugin is unloaded earlier, see \u003ccode\u003eunload\u003c/code\u003e below). E.g.: \u003ccode\u003eload'[[ $PWD = */github* ]]'\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esubscribe\u003c/code\u003e / \u003ccode\u003eon-update-of\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePostpone loading of a plugin or snippet until the given file(s) get updated, e.g. \u003ccode\u003esubscribe'{~/files-*,/tmp/files-*}'\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003etrigger-load\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCreates a function that loads the associated plugin/snippet, with an option (to use it, precede the ice content with \u003ccode\u003e!\u003c/code\u003e) to automatically forward the call afterwards, to a command of the same name as the function. Can obtain multiple functions to create – sparate with \u003ccode\u003e;\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eunload\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA condition to check causing plugin to unload. It will unload once, then only if loaded again. E.g.: \u003ccode\u003eunload'[[ $PWD != */github* ]]'\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ewait\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePostpone loading a plugin or snippet. For \u003ccode\u003ewait'1'\u003c/code\u003e, loading is done \u003ccode\u003e1\u003c/code\u003e second after prompt. For \u003ccode\u003ewait'[[ ... ]]'\u003c/code\u003e, \u003ccode\u003ewait'(( ... ))'\u003c/code\u003e, loading is done when given condition is meet. For \u003ccode\u003ewait'!...'\u003c/code\u003e, prompt is reset after load. Zsh can start 80% (i.e.: 5x) faster thanks to postponed loading. \u003cstrong\u003eFact:\u003c/strong\u003e when \u003ccode\u003ewait\u003c/code\u003e is used without value, it works as \u003ccode\u003ewait'0'\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePlugin Output\u003ca name=\"user-content-plugin-output\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-plugin-output\" class=\"anchor\" aria-label=\"Permalink: Plugin Output\" href=\"#plugin-output\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003elucid\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSkip \u003ccode\u003eLoaded ...\u003c/code\u003e message under prompt for \u003ccode\u003ewait\u003c/code\u003e, etc. loaded plugins (a subset of \u003ccode\u003esilent\u003c/code\u003e).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003enotify\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eOutput given message under-prompt after successfully loading a plugin/snippet. In case of problems with the loading, output a warning message and the return code. If starts with \u003ccode\u003e!\u003c/code\u003e it will then always output the given message. Hint: if the message is empty, then it will just notify about problems.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esilent\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eMute plugin's or snippet's \u003ccode\u003estderr\u003c/code\u003e \u0026amp; \u003ccode\u003estdout\u003c/code\u003e. Also skip \u003ccode\u003eLoaded ...\u003c/code\u003e message under prompt for \u003ccode\u003ewait\u003c/code\u003e, etc. loaded plugins, and completion-installation messages.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCompletions\u003ca name=\"user-content-completions\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-completions\" class=\"anchor\" aria-label=\"Permalink: Completions\" href=\"#completions\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eblockf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDisallow plugin to modify \u003ccode\u003efpath\u003c/code\u003e. Useful when a plugin wants to provide completions in traditional way. Zinit can manage completions and plugin can be blocked from exposing them.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecompletions\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDo detect, install and manage completions for this plugin. Overwrites \u003ccode\u003eas'null'\u003c/code\u003e or \u003ccode\u003enocompletions\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003enocompletions\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDon't detect, install and manage completions for this plugin. Completions can be installed later with \u003ccode\u003ezinit creinstall {plugin-spec}\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCommand Execution After Cloning, Updating or Loading\u003ca name=\"user-content-command-execution-after-cloning-updating-or-loading\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-command-execution-after-cloning-updating-or-loading\" class=\"anchor\" aria-label=\"Permalink: Command Execution After Cloning, Updating or Loading\" href=\"#command-execution-after-cloning-updating-or-loading\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eatclone\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRun command after cloning, within plugin's directory, e.g. \u003ccode\u003ezinit ice atclone\"echo Cloned\"\u003c/code\u003e. Ran also after downloading snippet.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eatinit\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRun command after directory setup (cloning, checking it, etc.) of plugin/snippet but before loading.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eatload\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRun command after loading, within plugin's directory. Can be also used with snippets. Passed code can be preceded with \u003ccode\u003e!\u003c/code\u003e, it will then be investigated (if using \u003ccode\u003eload\u003c/code\u003e, not \u003ccode\u003elight\u003c/code\u003e).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eatpull\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRun command after updating (\u003cstrong\u003eonly if new commits are waiting for download\u003c/strong\u003e), within plugin's directory. If starts with \"!\" then command will be ran before \u003ccode\u003emv\u003c/code\u003e \u0026amp; \u003ccode\u003ecp\u003c/code\u003e ices and before \u003ccode\u003egit pull\u003c/code\u003e or \u003ccode\u003esvn update\u003c/code\u003e. Otherwise it is ran after them. Can be \u003ccode\u003eatpull'%atclone'\u003c/code\u003e, to repeat \u003ccode\u003eatclone\u003c/code\u003e Ice-mod.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003econfigure\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRuns \u003ccode\u003e./configure\u003c/code\u003e script and by default changes the installation directory by passing \u003ccode\u003e--prefix=$ZPFX\u003c/code\u003e to the script. Runs before \u003ccode\u003emake''\u003c/code\u003e and after \u003ccode\u003emake'!'\u003c/code\u003e, you can pass \u003ccode\u003e'!'\u003c/code\u003e too to this ice (i.e.: \u003ccode\u003econfigure'!'\u003c/code\u003e) to make it execute earlier – before \u003ccode\u003emake'!'\u003c/code\u003e and after \u003ccode\u003emake'!!'\u003c/code\u003e. If \u003ccode\u003e#\u003c/code\u003e given in the ice value then also executes script \u003ccode\u003e./autogen.sh\u003c/code\u003e first before running \u003ccode\u003e./configure\u003c/code\u003e. The script is run anyway if there is no \u003ccode\u003econfigure\u003c/code\u003e script. Also, when there exist another build-system related files, then it is run if no \u003ccode\u003econfigure\u003c/code\u003e script is found. Currently supported systems are: CMake, scons and meson, checked-for/run in this order\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecountdown\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCauses an interruptable (by Ctrl-C) countdown 5…4…3…2…1…0 to be displayed before executing \u003ccode\u003eatclone''\u003c/code\u003e,\u003ccode\u003eatpull''\u003c/code\u003e and \u003ccode\u003emake\u003c/code\u003e ices\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCopy file after cloning or after update (then, only if new commits were downloaded). Example: \u003ccode\u003ecp \"docker-c* -\u0026gt; dcompose\"\u003c/code\u003e. Ran after \u003ccode\u003emv\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003emake\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRun \u003ccode\u003emake\u003c/code\u003e command after cloning/updating and executing \u003ccode\u003emv\u003c/code\u003e, \u003ccode\u003ecp\u003c/code\u003e, \u003ccode\u003eatpull\u003c/code\u003e, \u003ccode\u003eatclone\u003c/code\u003e Ice mods. Can obtain argument, e.g. \u003ccode\u003emake\"install PREFIX=/opt\"\u003c/code\u003e. If the value starts with \u003ccode\u003e!\u003c/code\u003e then \u003ccode\u003emake\u003c/code\u003e is ran before \u003ccode\u003eatclone\u003c/code\u003e/\u003ccode\u003eatpull\u003c/code\u003e, e.g. \u003ccode\u003emake'!'\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003emv\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eMove file after cloning or after update (then, only if new commits were downloaded). Example: \u003ccode\u003emv \"fzf-* -\u0026gt; fzf\"\u003c/code\u003e. It uses \u003ccode\u003e-\u0026gt;\u003c/code\u003e as separator for old and new file names. Works also with snippets.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003enocd\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDon't switch the current directory into the plugin's directory when evaluating the above ice-mods \u003ccode\u003eatinit''\u003c/code\u003e,\u003ccode\u003eatload''\u003c/code\u003e, etc.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ereset\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eInvokes \u003ccode\u003egit reset --hard HEAD\u003c/code\u003e for plugins or \u003ccode\u003esvn revert\u003c/code\u003e for SVN snippets before pulling any new changes. This way \u003ccode\u003egit\u003c/code\u003e or \u003ccode\u003esvn\u003c/code\u003e will not report conflicts if some changes were done in e.g.: \u003ccode\u003eatclone''\u003c/code\u003e ice. For file snippets and \u003ccode\u003egh-r\u003c/code\u003e plugins it invokes \u003ccode\u003erm -rf *\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003erun-atpull\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAlways run the atpull hook (when updating), not only when there are new commits to be downloaded.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSticky-Emulation Of Other Shells\u003ca name=\"user-content-sticky-emulation-of-other-shells\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-sticky-emulation-of-other-shells\" class=\"anchor\" aria-label=\"Permalink: Sticky-Emulation Of Other Shells\" href=\"#sticky-emulation-of-other-shells\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esh\u003c/code\u003e/\u003ccode\u003e!sh\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSource the plugin's (or snippet's) script with \u003ccode\u003esh\u003c/code\u003e emulation so that also all functions declared within the file will get a \u003cem\u003esticky\u003c/em\u003e emulation assigned – when invoked they'll execute also with the \u003ccode\u003esh\u003c/code\u003e emulation set-up. The \u003ccode\u003e!sh\u003c/code\u003e version switches additional options that are rather not important from the portability perspective.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecsh\u003c/code\u003e/\u003ccode\u003e!csh\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe same as \u003ccode\u003esh\u003c/code\u003e, but emulating \u003ccode\u003ecsh\u003c/code\u003e shell.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eksh\u003c/code\u003e/\u003ccode\u003e!ksh\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe same as \u003ccode\u003esh\u003c/code\u003e, but emulating \u003ccode\u003eksh\u003c/code\u003e shell.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ebash\u003c/code\u003e/\u003ccode\u003e!bash\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe same as \u003ccode\u003esh\u003c/code\u003e, but with the \u003ccode\u003eSH_GLOB\u003c/code\u003e option disabled, so that Bash regular expressions work.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eOthers\u003ca name=\"user-content-others\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-others\" class=\"anchor\" aria-label=\"Permalink: Others\" href=\"#others\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eModifier\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eas\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCan be \u003ccode\u003eas\"program\"\u003c/code\u003e (also the alias: \u003ccode\u003eas\"command\"\u003c/code\u003e), and will cause to add script/program to \u003ccode\u003e$PATH\u003c/code\u003e instead of sourcing (see \u003ccode\u003epick\u003c/code\u003e). Can also be \u003ccode\u003eas\"completion\"\u003c/code\u003e – use with plugins or snippets in whose only underscore-starting \u003ccode\u003e_*\u003c/code\u003e files you are interested in. The third possible value is \u003ccode\u003eas\"null\"\u003c/code\u003e – a shorthand for \u003ccode\u003epick\"/dev/null\" nocompletions\u003c/code\u003e – i.e.: it disables the default script-file sourcing and also the installation of completions.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003elink\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUse a symlink to cache a local snippet instead of copying into the snippets directory. Uses relative links if realpath \u0026gt;= 8.23 is found. \u003cstrong\u003e\u003cem\u003eDoes not apply to URL-based snippets. Does not work with plugins.\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eid-as\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eNickname a plugin or snippet, to e.g. create a short handler for long-url snippet.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esubst\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSubstitute the given string into another string when sourcing the plugin script, e.g.: \u003ccode\u003ezinit subst'autoload → autoload -Uz' …\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ealiases\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLoad the plugin with the aliases mechanism enabled. Use with plugins that define \u003cstrong\u003eand use\u003c/strong\u003e aliases in their scripts.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eautoload\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAutoload the given functions (from their files). Equvalent to calling \u003ccode\u003eatinit'autoload the-function'\u003c/code\u003e. Supports renaming of the function – pass \u003ccode\u003e'… → new-name'\u003c/code\u003e or \u003ccode\u003e'… -\u0026gt; new-name'\u003c/code\u003e, e.g.: \u003ccode\u003ezinit autoload'fun → my-fun; fun2 → my-fun2'\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ebindmap\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eTo hold \u003ccode\u003e;\u003c/code\u003e-separated strings like \u003ccode\u003eKey(s)A -\u0026gt; Key(s)B\u003c/code\u003e, e.g. \u003ccode\u003e^R -\u0026gt; ^T; ^A -\u0026gt; ^B\u003c/code\u003e. In general, \u003ccode\u003ebindmap''\u003c/code\u003echanges bindings (done with the \u003ccode\u003ebindkey\u003c/code\u003e builtin) the plugin does. The example would cause the plugin to map Ctrl-T instead of Ctrl-R, and Ctrl-B instead of Ctrl-A. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ecompile\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePattern (+ possible \u003ccode\u003e{...}\u003c/code\u003e expansion, like \u003ccode\u003e{a/*,b*}\u003c/code\u003e) to select additional files to compile, e.g. \u003ccode\u003ecompile'*.zsh'\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eextract\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePerforms archive extraction supporting multiple formats like \u003ccode\u003ezip\u003c/code\u003e, \u003ccode\u003etar.gz\u003c/code\u003e, etc. and also notably OS X \u003ccode\u003edmg\u003c/code\u003e images. If it has no value, then it works in the \u003cem\u003eauto\u003c/em\u003e mode – it automatically extracts all files of known archive extensions IF they aren't located deeper than in a sub-directory (this is to prevent extraction of some helper archive files, typically located somewhere deeper in the tree). If no such files will be found, then it extracts all found files of known \u003cstrong\u003etype\u003c/strong\u003e – the type is being read by the \u003ccode\u003efile\u003c/code\u003e Unix command. If not empty, then takes names of the files to extract. Refer to the Wiki page for further information.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eservice\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eMake following plugin or snippet a \u003cem\u003eservice\u003c/em\u003e, which will be ran in background, and only in single Zshell instance. See \u003ca href=\"https://github.com/orgs/zdharma-continuum/repositories?q=zservice-\"\u003ethe zservice-* repositories\u003c/a\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003elight-mode\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLoad the plugin without the investigating, i.e.: as if it would be loaded with the \u003ccode\u003elight\u003c/code\u003e command. Useful for the for-syntax, where there is no \u003ccode\u003eload\u003c/code\u003e nor \u003ccode\u003elight\u003c/code\u003e subcommand\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003enocompile\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDon't try to compile \u003ccode\u003epick\u003c/code\u003e-pointed files. If passed the exclamation mark (i.e. \u003ccode\u003enocompile'!'\u003c/code\u003e), then do compile, but after \u003ccode\u003emake''\u003c/code\u003e and \u003ccode\u003eatclone''\u003c/code\u003e (useful if Makefile installs some scripts, to point \u003ccode\u003epick''\u003c/code\u003e at the location of their installation).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003etrackbinds\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eShadow but only \u003ccode\u003ebindkey\u003c/code\u003e calls even with \u003ccode\u003ezinit light ...\u003c/code\u003e, i.e. even with investigating disabled (fast loading), to allow \u003ccode\u003ebindmap\u003c/code\u003e to remap the key-binds. The same effect has \u003ccode\u003ezinit light -b ...\u003c/code\u003e, i.e. additional \u003ccode\u003e-b\u003c/code\u003e option to the \u003ccode\u003elight\u003c/code\u003e-subcommand. \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ewrap-track\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eTakes a \u003ccode\u003e;\u003c/code\u003e-separated list of function names that are to be investigated (meaning gathering report and unload data) \u003cstrong\u003eonce\u003c/strong\u003e during execution. It works by wrapping the functions with a investigating-enabling and disabling snippet of code. In summary, \u003ccode\u003ewrap-track\u003c/code\u003e allows to extend the investigating beyond the moment of loading of a plugin. Example use is to \u003ccode\u003ewrap-track\u003c/code\u003e a precmd function of a prompt (like \u003ccode\u003e_p9k_precmd()\u003c/code\u003e of powerlevel10k) or other plugin that \u003cem\u003epostpones its initialization till the first prompt\u003c/em\u003e (like e.g.: zsh-autosuggestions). \u003cstrong\u003eDoes not work with snippets.\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ereset-prompt\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eReset the prompt after loading the plugin/snippet (by issuing \u003ccode\u003ezle .reset-prompt\u003c/code\u003e). Note: normally it's sufficient to precede the value of \u003ccode\u003ewait''\u003c/code\u003e ice with \u003ccode\u003e!\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eOrder of Execution\u003ca name=\"user-content-order-of-execution\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-order-of-execution\" class=\"anchor\" aria-label=\"Permalink: Order of Execution\" href=\"#order-of-execution\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eOrder of execution of related Ice-mods: \u003ccode\u003eatinit\u003c/code\u003e -\u0026gt; \u003ccode\u003eatpull!\u003c/code\u003e -\u0026gt; \u003ccode\u003emake'!!'\u003c/code\u003e -\u0026gt; \u003ccode\u003emv\u003c/code\u003e -\u0026gt; \u003ccode\u003ecp\u003c/code\u003e -\u0026gt; \u003ccode\u003emake!\u003c/code\u003e -\u0026gt;\n\u003ccode\u003eatclone\u003c/code\u003e/\u003ccode\u003eatpull\u003c/code\u003e -\u0026gt; \u003ccode\u003emake\u003c/code\u003e -\u0026gt; \u003ccode\u003e(plugin script loading)\u003c/code\u003e -\u0026gt; \u003ccode\u003esrc\u003c/code\u003e -\u0026gt; \u003ccode\u003emultisrc\u003c/code\u003e -\u0026gt; \u003ccode\u003eatload\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZinit Commands\u003ca name=\"user-content-zinit-commands\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-zinit-commands\" class=\"anchor\" aria-label=\"Permalink: Zinit Commands\" href=\"#zinit-commands\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFollowing commands are passed to \u003ccode\u003ezinit ...\u003c/code\u003e to obtain described effects.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eHelp\u003ca name=\"user-content-help\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-help\" class=\"anchor\" aria-label=\"Permalink: Help\" href=\"#help\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eCommand\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003ehelp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUsage information.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eman\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eManual.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eversion\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDisplay Zinit version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLoading and Unloading\u003ca name=\"user-content-loading-and-unloading\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-loading-and-unloading\" class=\"anchor\" aria-label=\"Permalink: Loading and Unloading\" href=\"#loading-and-unloading\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003eCommand\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eload {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLoad plugin, can also receive absolute local path.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003esnippet [-f] {url}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSource local or remote file (by direct URL). \u003ccode\u003e-f\u003c/code\u003e – don't use cache (force redownload). The URL can use the following shorthands: \u003ccode\u003ePZT::\u003c/code\u003e (Prezto), \u003ccode\u003ePZTM::\u003c/code\u003e (Prezto module), \u003ccode\u003eOMZ::\u003c/code\u003e (Oh My Zsh), \u003ccode\u003eOMZP::\u003c/code\u003e (OMZ plugin), \u003ccode\u003eOMZL::\u003c/code\u003e (OMZ library), \u003ccode\u003eOMZT::\u003c/code\u003e (OMZ theme), e.g.: \u003ccode\u003ePZTM::environment\u003c/code\u003e, \u003ccode\u003eOMZP::git\u003c/code\u003e, etc.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003elight [-b] {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLight plugin load, without reporting/investigating. \u003ccode\u003e-b\u003c/code\u003e – investigate \u003ccode\u003ebindkey\u003c/code\u003e-calls only. There's also \u003ccode\u003elight-mode\u003c/code\u003e ice which can be used to induce the no-investigating (i.e.: \u003cem\u003elight\u003c/em\u003e) loading, regardless of the command used.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\u003ccode\u003eunload [-q] {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUnload plugin loaded with \u003ccode\u003ezinit load ...\u003c/code\u003e. \u003ccode\u003e-q\u003c/code\u003e – quiet.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCompletions\u003ca name=\"user-content-completions-1\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-completions-1\" class=\"anchor\" aria-label=\"Permalink: Completions\" href=\"#completions-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommand\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecclear\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eClear stray and improper completions.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecdclear [-q]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eClear compdef replay list. \u003ccode\u003e-q\u003c/code\u003e – quiet.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecdisable {cname}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDisable completion \u003ccode\u003ecname\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecdlist\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eShow compdef replay list.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecdreplay [-q]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eReplay compdefs (to be done after compinit). \u003ccode\u003e-q\u003c/code\u003e – quiet.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecenable {cname}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eEnable completion \u003ccode\u003ecname\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecompletions \\[*columns*\\]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eList completions in use, with \u003ccode\u003ecolumns\u003c/code\u003e completions per line. \u003ccode\u003ezpl clist 5\u003c/code\u003e will for example print 5 completions per line. Default is 3.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecompinit\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRefresh installed completions.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecreinstall [-q] [-Q] {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eInstall completions for plugin, can also receive absolute local path. \u003ccode\u003e-q\u003c/code\u003e – quiet. \u003ccode\u003e-Q\u003c/code\u003e - quiet all.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecsearch\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSearch for available completions from any plugin.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecuninstall {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUninstall completions for plugin.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTracking of the Active Session\u003ca name=\"user-content-tracking-of-the-active-session\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-tracking-of-the-active-session\" class=\"anchor\" aria-label=\"Permalink: Tracking of the Active Session\" href=\"#tracking-of-the-active-session\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommand\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edclear\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eClear report of what was going on in session.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edstop\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eStop investigating what's going on in session.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edreport\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eReport what was going on in session.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edunload\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRevert changes recorded between dstart and dstop.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edtrace, dstart\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eStart investigating what's going on in session.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReports and Statistics\u003ca name=\"user-content-reports-and-statistics\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-reports-and-statistics\" class=\"anchor\" aria-label=\"Permalink: Reports and Statistics\" href=\"#reports-and-statistics\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommand\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ebindkeys\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLists bindkeys set up by each plugin.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elist-plugins [keyword]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eShow what plugins are loaded (filter with 'keyword').\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elist-snippets\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eList snippets in formatted and colorized manner. Requires \u003ccode\u003etree\u003c/code\u003e program.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erecently [time-spec]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eShow plugins that changed recently, argument is e.g. 1 month 2 days.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ereport {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eShow plugin report. \u003ccode\u003e--all\u003c/code\u003e – do it for all plugins.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003estatus {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eGit status for plugin or svn status for snippet. \u003ccode\u003e--all\u003c/code\u003e – do it for all plugins and snippets.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ezstatus\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDisplay brief statistics for your Zinit installation.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etimes [-a] [-m] [-s]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePrint load times for each plugin. \u003ccode\u003e-s\u003c/code\u003e – Times are printed in seconds. \u003ccode\u003e-m\u003c/code\u003e – Show plugin loading moments. \u003ccode\u003e-a\u003c/code\u003e - Times and loading moments are printed.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCompiling\u003ca name=\"user-content-compiling\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-compiling\" class=\"anchor\" aria-label=\"Permalink: Compiling\" href=\"#compiling\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ecompile\u003ca name=\"user-content-compile\"\u003e\u003c/a\u003e\u003c/h4\u003e\u003ca id=\"user-content-compile\" class=\"anchor\" aria-label=\"Permalink: compile\" href=\"#compile\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eList plugins that are compiled.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit [options] compile PLUGIN\"\u003e\u003cpre\u003ezinit [options] compile PLUGIN\u003c/pre\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eOption\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e-a, --all\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCompile all plugins\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e-h, --help\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePrint usage\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e-q, --quiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSuppress the build output\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ecompiled\u003ca name=\"user-content-compiled\"\u003e\u003c/a\u003e\u003c/h4\u003e\u003ca id=\"user-content-compiled\" class=\"anchor\" aria-label=\"Permalink: compiled\" href=\"#compiled\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eList plugins that are compiled.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit compiled\"\u003e\u003cpre\u003ezinit compiled\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003euncompile\u003ca name=\"user-content-uncompile\"\u003e\u003c/a\u003e\u003c/h4\u003e\u003ca id=\"user-content-uncompile\" class=\"anchor\" aria-label=\"Permalink: uncompile\" href=\"#uncompile\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eList plugins that are compiled.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit [options] uncompile PLUGIN\"\u003e\u003cpre\u003ezinit [options] uncompile PLUGIN\u003c/pre\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eOption\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e-a, --all\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRemove any compiled files for all plugins\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e-h, --help\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePrint usage\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e-q, --quiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSuppress the output\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eOther\u003ca name=\"user-content-other\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-other\" class=\"anchor\" aria-label=\"Permalink: Other\" href=\"#other\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommand\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emodule\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eManage binary Zsh module shipped with Zinit, see \u003ccode\u003ezinit module help\u003c/code\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eself-update\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eUpdates and compiles Zinit.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecd {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCd into plugin's directory. Also support snippets if fed with URL.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eedit {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eEdit plugin's file with $EDITOR.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003echanges {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eView plugin's git log.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecreate {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCreate plugin (also together with GitHub repository).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eglance {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eLook at plugin's source (pygmentize, {,source-}highlight).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003estress {plg-spec}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eTest plugin for compatibility with set of options.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erecall {plg-spec}|URL\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eFetch saved ice modifiers and construct \u003ccode\u003ezinit ice ...\u003c/code\u003e command.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esrv {service-id} [cmd]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eControl a service, command can be: stop,start,restart,next,quit; \u003ccode\u003enext\u003c/code\u003e moves the service to another Zshell.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eice \u0026lt;ice specification\u0026gt;\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAdd ice to next command, argument is e.g. from\"gitlab\".\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eenv-whitelist [-v] [-h] {env..}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAllows to specify names (also patterns) of variables left unchanged during an unload. \u003ccode\u003e-v\u003c/code\u003e – verbose.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erun\u003c/code\u003e \u003ccode\u003e[-l]\u003c/code\u003e \u003ccode\u003e[plugin]\u003c/code\u003e \u003ccode\u003e{command}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRuns the given command in the given plugin's directory. If the option \u003ccode\u003e-l\u003c/code\u003e will be given then the plugin should be skipped – the option will cause the previous plugin to be reused.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edelete {plg-spec}|URL|--clean|--all\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eRemove plugin or snippet from disk (good to forget wrongly passed ice-mods). \u003cbr\u003e \u003ccode\u003e--all\u003c/code\u003e – purge.\u003cbr\u003e \u003ccode\u003e--clean\u003c/code\u003e – delete plugins and snippets that are not loaded.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eupdate [-q] [-r] {plg-spec}|URL|--all\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eGit update plugin or snippet.\u003cbr\u003e \u003ccode\u003e--all\u003c/code\u003e – update all plugins and snippets.\u003cbr\u003e \u003ccode\u003e-q\u003c/code\u003e – quiet.\u003cbr\u003e \u003ccode\u003e-r\u003c/code\u003e | \u003ccode\u003e--reset\u003c/code\u003e – run \u003ccode\u003egit reset --hard\u003c/code\u003e / \u003ccode\u003esvn revert\u003c/code\u003e before pulling changes.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eadd-fpath|fpath\u003c/code\u003e \u003ccode\u003e[-f|--front]\u003c/code\u003e \u003ccode\u003e{plg-spec}\u003c/code\u003e \u003ccode\u003e[subdirectory]\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAdds given plugin (not yet snippet) directory to \u003ccode\u003e$fpath\u003c/code\u003e. If the second argument is given, it is appended to the directory path. If the option \u003ccode\u003e-f\u003c/code\u003e/\u003ccode\u003e--front\u003c/code\u003e is given, the directory path is prepended instead of appended to \u003ccode\u003e$fpath\u003c/code\u003e. The \u003ccode\u003e{plg-spec}\u003c/code\u003e can be absolute path, i.e.: it's possible to also add regular directories.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpdating Zinit and Plugins\u003ca name=\"user-content-updating-zinit-and-plugins\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-updating-zinit-and-plugins\" class=\"anchor\" aria-label=\"Permalink: Updating Zinit and Plugins\" href=\"#updating-zinit-and-plugins\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo update Zinit issue \u003ccode\u003ezinit self-update\u003c/code\u003e in the command line.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTo update all plugins and snippets, issue \u003ccode\u003ezinit update\u003c/code\u003e. If you wish to update only a single plugin/snippet instead\nissue \u003ccode\u003ezinit update NAME_OF_PLUGIN\u003c/code\u003e. A list of commits will be shown:\u003c/p\u003e\n\u003cp align=\"center\" dir=\"auto\"\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/zdharma-continuum/zinit/blob/main/doc/img/update.png\"\u003e\u003cimg alt=\"screenshot displaying zinit update tj/git-extras and its output\" src=\"/zdharma-continuum/zinit/raw/main/doc/img/update.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eSome plugins require performing an action each time they're updated. One way you can do this is by using the \u003ccode\u003eatpull\u003c/code\u003e\nice modifier. For example, writing \u003ccode\u003ezinit ice atpull'./configure'\u003c/code\u003e before loading a plugin will execute \u003ccode\u003e./configure\u003c/code\u003e\nafter a successful update. Refer to \u003ca href=\"#ice-modifiers\"\u003eIce Modifiers\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe ice modifiers for any plugin or snippet are stored in their directory in a \u003ccode\u003e._zinit\u003c/code\u003e subdirectory, hence the plugin\ndoesn't have to be loaded to be correctly updated. There's one other file created there, \u003ccode\u003e.zinit_lstupd\u003c/code\u003e – it holds the\nlog of the new commits pulled-in in the last update.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCompletions\u003ca name=\"user-content-completions-2\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-completions-2\" class=\"anchor\" aria-label=\"Permalink: Completions\" href=\"#completions-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCalling \u003ccode\u003ecompinit\u003c/code\u003e Without Turbo Mode\u003ca name=\"user-content-calling-compinit-without-turbo-mode\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-calling-compinit-without-turbo-mode\" class=\"anchor\" aria-label=\"Permalink: Calling compinit Without Turbo Mode\" href=\"#calling-compinit-without-turbo-mode\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWith no Turbo mode in use, compinit can be called normally, i.e.: as \u003ccode\u003eautoload compinit; compinit\u003c/code\u003e. This should be done\nafter loading of all plugins and before possibly calling \u003ccode\u003ezinit cdreplay\u003c/code\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ccode\u003ecdreplay\u003c/code\u003e subcommand is provided to re-play all catched \u003ccode\u003ecompdef\u003c/code\u003e calls. The \u003ccode\u003ecompdef\u003c/code\u003e calls are used to define a\ncompletion for a command. For example, \u003ccode\u003ecompdef _git git\u003c/code\u003e defines that the \u003ccode\u003egit\u003c/code\u003e command should be completed by a \u003ccode\u003e_git\u003c/code\u003e\nfunction.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ccode\u003ecompdef\u003c/code\u003e function is provided by \u003ccode\u003ecompinit\u003c/code\u003e call. As it should be called later, after loading all of the plugins,\nZinit provides its own \u003ccode\u003ecompdef\u003c/code\u003e function that catches (i.e.: records in an array) the arguments of the call, so that\nthe loaded plugins can freely call \u003ccode\u003ecompdef\u003c/code\u003e. Then, the \u003ccode\u003ecdreplay\u003c/code\u003e (\u003cem\u003ecompdef-replay\u003c/em\u003e) can be used, after \u003ccode\u003ecompinit\u003c/code\u003e will\nbe called (and the original \u003ccode\u003ecompdef\u003c/code\u003e function will become available), to execute all detected \u003ccode\u003ecompdef\u003c/code\u003e calls. To\nsummarize:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"ZINIT_HOME=\u0026quot;${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git\u0026quot;\nsource \u0026quot;${ZINIT_HOME}/zinit.zsh\u0026quot;\n\nzinit load \u0026quot;some/plugin\u0026quot;\n...\ncompdef _gnu_generic fd # this will be intercepted by Zinit, because as the compinit\n # isn't yet loaded, thus there's no such function `compdef'; yet\n # Zinit provides its own `compdef' function which saves the\n # completion-definition for later possible re-run with `zinit\n # cdreplay' or `zicdreplay' (the second one can be used in hooks\n # like atload'', atinit'', etc.)\n...\nzinit load \u0026quot;other/plugin\u0026quot;\n\nautoload -Uz compinit\ncompinit\n\n# -q is for quiet; actually run all the `compdef's saved before `compinit` call\n# (`compinit' declares the `compdef' function, so it cannot be used until\n# `compinit' is ran; Zinit solves this via intercepting the `compdef'-calls and\n# storing them for later use with `zinit cdreplay')\n\nzinit cdreplay -q\"\u003e\u003cpre\u003eZINIT_HOME=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${XDG_DATA_HOME\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${HOME}\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003e.local\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003eshare}\u003c/span\u003e/zinit/zinit.git\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003esource\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${ZINIT_HOME}\u003c/span\u003e/zinit.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\nzinit load \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003esome/plugin\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n...\ncompdef _gnu_generic fd \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e this will be intercepted by Zinit, because as the compinit\u003c/span\u003e\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e isn't yet loaded, thus there's no such function `compdef'; yet\u003c/span\u003e\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Zinit provides its own `compdef' function which saves the\u003c/span\u003e\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e completion-definition for later possible re-run with `zinit\u003c/span\u003e\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e cdreplay' or `zicdreplay' (the second one can be used in hooks\u003c/span\u003e\n \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e like atload'', atinit'', etc.)\u003c/span\u003e\n...\nzinit load \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eother/plugin\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\nautoload -Uz compinit\ncompinit\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e -q is for quiet; actually run all the `compdef's saved before `compinit` call\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e (`compinit' declares the `compdef' function, so it cannot be used until\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e `compinit' is ran; Zinit solves this via intercepting the `compdef'-calls and\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e storing them for later use with `zinit cdreplay')\u003c/span\u003e\n\nzinit cdreplay -q\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis allows to call compinit once. Performance gains are huge, example shell startup time with double \u003ccode\u003ecompinit\u003c/code\u003e:\n\u003cstrong\u003e0.980\u003c/strong\u003e sec, with \u003ccode\u003ecdreplay\u003c/code\u003e and single \u003ccode\u003ecompinit\u003c/code\u003e: \u003cstrong\u003e0.156\u003c/strong\u003e sec.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCalling \u003ccode\u003ecompinit\u003c/code\u003e With Turbo Mode\u003ca name=\"user-content-calling-compinit-with-turbo-mode\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-calling-compinit-with-turbo-mode\" class=\"anchor\" aria-label=\"Permalink: Calling compinit With Turbo Mode\" href=\"#calling-compinit-with-turbo-mode\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIf you load completions using \u003ccode\u003ewait''\u003c/code\u003e Turbo mode then you can add \u003ccode\u003eatinit'zicompinit'\u003c/code\u003e to syntax-highlighting plugin\n(which should be the last one loaded, as their (2 projects,\n\u003ca href=\"https://github.com/zsh-users/zsh-syntax-highlighting\"\u003ez-sy-h\u003c/a\u003e \u0026amp;\n\u003ca href=\"https://github.com/zdharma-continuum/fast-syntax-highlighting\"\u003ef-sy-h\u003c/a\u003e) documentation state), or \u003ccode\u003eatload'zicompinit'\u003c/code\u003e\nto last completion-related plugin. \u003ccode\u003ezicompinit\u003c/code\u003e is a function that just runs \u003ccode\u003eautoload compinit; compinit\u003c/code\u003e, created for\nconvenience. There's also \u003ccode\u003ezicdreplay\u003c/code\u003e which will replay any caught compdefs so you can also do:\n\u003ccode\u003eatinit'zicompinit; zicdreplay'\u003c/code\u003e, etc. Basically, the whole topic is the same as normal \u003ccode\u003ecompinit\u003c/code\u003e call, but it is done\nin \u003ccode\u003eatinit\u003c/code\u003e or \u003ccode\u003eatload\u003c/code\u003e hook of the last related plugin with use of the helper functions (\u003ccode\u003ezicompinit\u003c/code\u003e,\u003ccode\u003ezicdreplay\u003c/code\u003e \u0026amp;\n\u003ccode\u003ezicdclear\u003c/code\u003e – see below for explanation of the last one). To summarize:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"ZINIT_HOME=\u0026quot;${XDG_DATA_HOME:-${HOME}/.local/share/zinit}\u0026quot;\nsource \u0026quot;${ZINIT_HOME}/zinit.zsh\u0026quot;\n\n# Load using the for-syntax\nzinit lucid wait for \\\n \u0026quot;some/plugin\u0026quot;\n\nzinit lucid wait for \\\n \u0026quot;other/plugin\u0026quot;\n\nzi for \\\n atload\u0026quot;zicompinit; zicdreplay\u0026quot; \\\n blockf \\\n lucid \\\n wait \\\n zsh-users/zsh-completions\"\u003e\u003cpre\u003eZINIT_HOME=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${XDG_DATA_HOME\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${HOME}\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003e.local\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003eshare\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003ezinit}\u003c/span\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003esource\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${ZINIT_HOME}\u003c/span\u003e/zinit.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Load using the for-syntax\u003c/span\u003e\nzinit lucid \u003cspan class=\"pl-c1\"\u003ewait\u003c/span\u003e \u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e \\\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003esome/plugin\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\nzinit lucid \u003cspan class=\"pl-c1\"\u003ewait\u003c/span\u003e \u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e \\\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eother/plugin\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\nzi \u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e \\\n atload\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ezicompinit; zicdreplay\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \\\n blockf \\\n lucid \\\n \u003cspan class=\"pl-c1\"\u003ewait\u003c/span\u003e \\\n zsh-users/zsh-completions\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIgnoring Compdefs\u003ca name=\"user-content-ignoring-compdefs\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-ignoring-compdefs\" class=\"anchor\" aria-label=\"Permalink: Ignoring Compdefs\" href=\"#ignoring-compdefs\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIf you want to ignore compdefs provided by some plugins or snippets, place their load commands before commands loading\nother plugins or snippets, and issue \u003ccode\u003ezinit cdclear\u003c/code\u003e (or \u003ccode\u003ezicdclear\u003c/code\u003e, designed to be used in hooks like \u003ccode\u003eatload''\u003c/code\u003e):\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"ZINIT_HOME=\u0026quot;${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git\u0026quot;\nsource \u0026quot;${ZINIT_HOME}/zinit.zsh\u0026quot;\n\nzi snippet OMZP::git\nzi cdclear -q # \u0026lt;- forget completions provided by Git plugin\n\nzi load \u0026quot;some/plugin\u0026quot;\n...\nzi load \u0026quot;other/plugin\u0026quot;\n\nautoload -Uz compinit\ncompinit\nzi cdreplay -q # \u0026lt;- execute compdefs provided by rest of plugins\nzi cdlist # look at gathered compdefs\"\u003e\u003cpre\u003eZINIT_HOME=\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${XDG_DATA_HOME\u003cspan class=\"pl-k\"\u003e:-\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${HOME}\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003e.local\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003eshare}\u003c/span\u003e/zinit/zinit.git\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003esource\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003cspan class=\"pl-smi\"\u003e${ZINIT_HOME}\u003c/span\u003e/zinit.zsh\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\nzi snippet OMZP::git\nzi cdclear -q \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e \u0026lt;- forget completions provided by Git plugin\u003c/span\u003e\n\nzi load \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003esome/plugin\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n...\nzi load \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eother/plugin\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n\nautoload -Uz compinit\ncompinit\nzi cdreplay -q \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e \u0026lt;- execute compdefs provided by rest of plugins\u003c/span\u003e\nzi cdlist \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e look at gathered compdefs\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ccode\u003ecdreplay\u003c/code\u003e is important if you use plugins like \u003ccode\u003eOMZP::kubectl\u003c/code\u003e or \u003ccode\u003easdf-vm/asdf\u003c/code\u003e, because these plugins call\n\u003ccode\u003ecompdef\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDisabling System-Wide \u003ccode\u003ecompinit\u003c/code\u003e Call (Ubuntu)\u003ca name=\"user-content-disabling-system-wide-compinit-call-ubuntu\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-disabling-system-wide-compinit-call-ubuntu\" class=\"anchor\" aria-label=\"Permalink: Disabling System-Wide compinit Call (Ubuntu)\" href=\"#disabling-system-wide-compinit-call-ubuntu\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eOn Ubuntu users might get surprised that e.g. their completions work while they didn't call \u003ccode\u003ecompinit\u003c/code\u003e in their\n\u003ccode\u003e.zshrc\u003c/code\u003e. That's because the function is being called in \u003ccode\u003e/etc/zshrc\u003c/code\u003e. To disable this call – what is needed to avoid\nthe slowdown and if user loads any completion-equipped plugins, i.e. almost on 100% – add the following lines to\n\u003ccode\u003e~/.zshenv\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Skip the not really helping Ubuntu global compinit\nskip_global_compinit=1\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Skip the not really helping Ubuntu global compinit\u003c/span\u003e\nskip_global_compinit=1\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZinit Module\u003ca name=\"user-content-zinit-module\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-zinit-module\" class=\"anchor\" aria-label=\"Permalink: Zinit Module\" href=\"#zinit-module\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe module is now hosted \u003ca href=\"https://github.com/zdharma-continuum/zinit-module\"\u003ein its own repository\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eHints and Tips\u003ca name=\"user-content-hints-and-tips\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-hints-and-tips\" class=\"anchor\" aria-label=\"Permalink: Hints and Tips\" href=\"#hints-and-tips\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUsing ZPFX variable\u003ca name=\"user-content-using-zpfx-variable\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-using-zpfx-variable\" class=\"anchor\" aria-label=\"Permalink: Using ZPFX variable\" href=\"#using-zpfx-variable\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eZinit uses a special, short named variable \u003ccode\u003e$ZPFX\u003c/code\u003e to denote a standard \"prefix\" for installing compiled software. Such,\ncommonly used, prefixes are usually, e.g.: \u003ccode\u003e/usr/\u003c/code\u003e,\u003ccode\u003e/usr/local\u003c/code\u003e or \u003ccode\u003e$HOME/.local\u003c/code\u003e. Basically, when one would want to\nexplain what a prefix-dir is in one sentence, it would be something like: a root directory, under which\n\u003ccode\u003e…/bin\u003c/code\u003e,\u003ccode\u003e…/share\u003c/code\u003e, \u003ccode\u003e…/lib\u003c/code\u003e sub-dirs are populated with installed binaries, data-files, libraries, etc.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eHow to use the variable? It is automatically exploited when using \u003ccode\u003econfigure''\u003c/code\u003e and \u003ccode\u003emake''\u003c/code\u003e ices, and user doesn't have\nto take any actions. This means that the \u003ccode\u003econfigure\u003c/code\u003e command that'll be run will be:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"./configure --prefix=$ZPFX\"\u003e\u003cpre\u003e./configure --prefix=\u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe default location used for \u003ccode\u003e$ZPFX\u003c/code\u003e is: \u003ccode\u003e~/.local/share/zinit/polaris\u003c/code\u003e. You can, for example, set it to \u003ccode\u003e$HOME/.local\u003c/code\u003e\nto have the software installed with \u003ccode\u003econfigure''\u003c/code\u003e and \u003ccode\u003emake''\u003c/code\u003e ices installed to that directory.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTypical use cases when working with \u003ccode\u003e$ZPFX\u003c/code\u003e are, e.g.:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"ls $ZPFX\ncd $ZPFX\ncd $ZPFX/bin # note: $ZPFX/bin is automatically prepended to $PATH\ncd $ZPFX/share\"\u003e\u003cpre\u003els \u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e/bin \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e note: $ZPFX/bin is automatically prepended to $PATH\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e \u003cspan class=\"pl-smi\"\u003e$ZPFX\u003c/span\u003e/share\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eBefore the \u003ccode\u003econfigure''\u003c/code\u003e ice appeared one would use \u003ccode\u003e$ZPFX\u003c/code\u003e as follows:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zinit atclone'./configure --prefix=$ZPFX` atpull'%atclone' make \\\n for universal-ctags/ctags\"\u003e\u003cpre\u003ezinit atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e./configure --prefix=$ZPFX` atpull\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e%atclone\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e make \\\u003c/span\u003e\n\u003cspan class=\"pl-s\"\u003e for universal-ctags/ctags\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ebut now it's sufficient to do:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# Will work for any build system\n# (supported are: configure, cmake, scons and meson)\nzinit configure make for universal-ctags/ctags\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e Will work for any build system\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e (supported are: configure, cmake, scons and meson)\u003c/span\u003e\nzinit configure make \u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e universal-ctags/ctags\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo set ZPFX, one should do (in \u003ccode\u003e.zshrc\u003c/code\u003e before loading \u003ccode\u003ezinit\u003c/code\u003e):\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"export ZPFX=$HOME/my-software # or: ZPFX=$HOME/.local, etc.\"\u003e\u003cpre\u003e\u003cspan class=\"pl-k\"\u003eexport\u003c/span\u003e ZPFX=\u003cspan class=\"pl-smi\"\u003e$HOME\u003c/span\u003e/my-software \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e or: ZPFX=$HOME/.local, etc.\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWe encourage people to install compiled software with use of \u003ccode\u003e$ZPFX\u003c/code\u003e and \u003ccode\u003econfigure''\u003c/code\u003e and \u003ccode\u003emake''\u003c/code\u003e ices, to have a\nnice, clean user-home dir based setup.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCustomizing Paths\u003ca name=\"user-content-customizing-paths\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-customizing-paths\" class=\"anchor\" aria-label=\"Permalink: Customizing Paths\" href=\"#customizing-paths\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFollowing variables can be set to custom values, before sourcing Zinit. The previous global variables like \u003ccode\u003e$ZPLG_HOME\u003c/code\u003e\nhave been removed to not pollute the namespace – there's single \u003ccode\u003e$ZINIT\u003c/code\u003e hash instead of \u003ccode\u003e8\u003c/code\u003e string variables. Please\nupdate your dotfiles.\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"declare -A ZINIT # initial Zinit's hash definition, if configuring before loading Zinit, and then:\"\u003e\u003cpre\u003e\u003cspan class=\"pl-k\"\u003edeclare\u003c/span\u003e -A ZINIT \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e initial Zinit's hash definition, if configuring before loading Zinit, and then:\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eHash Field\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[BIN_DIR]\u003c/td\u003e\n\u003ctd\u003eWhere Zinit code resides, e.g.: \"~/.local/share/zinit/zinit.git\"\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[HOME_DIR]\u003c/td\u003e\n\u003ctd\u003eWhere Zinit should create all working directories, e.g.: \"~/.local/share/zinit\"\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[MAN_DIR]\u003c/td\u003e\n\u003ctd\u003eDirectory where plugins can store their manpages (\u003ccode\u003eatclone\"cp -vf myplugin.1 $ZINIT[MAN_DIR]/man1\"\u003c/code\u003e). If overridden, this directory will not necessarily be used by \u003ccode\u003eman\u003c/code\u003e (See #8). Default: \u003ccode\u003e$ZPFX/man\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[PLUGINS_DIR]\u003c/td\u003e\n\u003ctd\u003eOverride single working directory – for plugins, e.g. \"/opt/zsh/zinit/plugins\"\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[COMPLETIONS_DIR]\u003c/td\u003e\n\u003ctd\u003eAs above, but for completion files, e.g. \"/opt/zsh/zinit/root_completions\"\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[SNIPPETS_DIR]\u003c/td\u003e\n\u003ctd\u003eAs above, but for snippets\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[LIST_COMMAND]\u003c/td\u003e\n\u003ctd\u003eCommand to use for displaying a directory tree (e.g., \u003ccode\u003els --tree\u003c/code\u003e, \u003ccode\u003etree\u003c/code\u003e, etc.)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[ZCOMPDUMP_PATH]\u003c/td\u003e\n\u003ctd\u003ePath to \u003ccode\u003e.zcompdump\u003c/code\u003e file, with the file included (i.e. its name can be different)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[COMPINIT_OPTS]\u003c/td\u003e\n\u003ctd\u003eOptions for \u003ccode\u003ecompinit\u003c/code\u003e call (i.e. done by \u003ccode\u003ezicompinit\u003c/code\u003e), use to pass -C to speed up loading\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[MUTE_WARNINGS]\u003c/td\u003e\n\u003ctd\u003eIf set to \u003ccode\u003e1\u003c/code\u003e, then mutes some of the Zinit warnings, specifically the \u003ccode\u003eplugin already registered\u003c/code\u003e warning\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[OPTIMIZE_OUT_DISK_ACCESSES]\u003c/td\u003e\n\u003ctd\u003eIf set to \u003ccode\u003e1\u003c/code\u003e, then Zinit will skip checking if a Turbo-loaded object exists on the disk. By default Zinit skips Turbo for non-existing objects (plugins or snippets) to install them before the first prompt – without any delays, during the normal processing of \u003ccode\u003ezshrc\u003c/code\u003e. 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).\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZINIT[NO_ALIASES]\u003c/td\u003e\n\u003ctd\u003eIf set to \u003ccode\u003e1\u003c/code\u003e, then Zinit will not set aliases such as \u003ccode\u003ezi\u003c/code\u003e or \u003ccode\u003ezini\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cp dir=\"auto\"\u003eThere is also \u003ccode\u003e$ZPFX\u003c/code\u003e, set by default to \u003ccode\u003e~/.local/share/zinit/polaris\u003c/code\u003e – a directory where software with \u003ccode\u003eMakefile\u003c/code\u003e,\netc. can be pointed to, by e.g. \u003ccode\u003eatclone'./configure --prefix=$ZPFX'\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNon-GitHub (Local) Plugins\u003ca name=\"user-content-non-github-local-plugins\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-non-github-local-plugins\" class=\"anchor\" aria-label=\"Permalink: Non-GitHub (Local) Plugins\" href=\"#non-github-local-plugins\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUse \u003ccode\u003ecreate\u003c/code\u003e subcommand with user name \u003ccode\u003e_local\u003c/code\u003e (the default) to create plugin's skeleton in \u003ccode\u003e$ZINIT[PLUGINS_DIR]\u003c/code\u003e. It\nwill be not connected with GitHub repository (because of user name being \u003ccode\u003e_local\u003c/code\u003e). To enter the plugin's directory use\n\u003ccode\u003ecd\u003c/code\u003e command with just plugin's name (without \u003ccode\u003e_local\u003c/code\u003e, it's optional).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf user name will not be \u003ccode\u003e_local\u003c/code\u003e, then Zinit will create repository also on GitHub and setup correct repository origin.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eExtending Git\u003ca name=\"user-content-extending-git\"\u003e\u003c/a\u003e\u003c/h3\u003e\u003ca id=\"user-content-extending-git\" class=\"anchor\" aria-label=\"Permalink: Extending Git\" href=\"#extending-git\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThere are several projects that provide git extensions. Installing them with Zinit has many benefits:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eall files are under \u003ccode\u003e$HOME\u003c/code\u003e – no administrator rights needed,\u003c/li\u003e\n\u003cli\u003edeclarative setup (like Chef or Puppet) – copying \u003ccode\u003e.zshrc\u003c/code\u003e to different account brings also git-related setup,\u003c/li\u003e\n\u003cli\u003eeasy update by e.g. \u003ccode\u003ezinit update --all\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eBelow is a configuration that adds multiple git extensions, loaded in Turbo mode, 1 second after prompt, with use of the\n\u003ca href=\"https://github.com/zdharma-continuum/zinit-annex-bin-gem-node\"\u003eBin-Gem-Node\u003c/a\u003e annex:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"zi as'null' lucid sbin wait'1' for \\\n Fakerr/git-recall \\\n davidosomething/git-my \\\n iwata/git-now \\\n paulirish/git-open \\\n paulirish/git-recent \\\n atload'export _MENU_THEME=legacy' \\\n arzzen/git-quick-stats \\\n make'install' \\\n tj/git-extras \\\n make'GITURL_NO_CGITURL=1' \\\n sbin'git-url;git-guclone' \\\n zdharma-continuum/git-url\"\u003e\u003cpre\u003ezi as\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003enull\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e lucid sbin wait\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e1\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e \\\n Fakerr/git-recall \\\n davidosomething/git-my \\\n iwata/git-now \\\n paulirish/git-open \\\n paulirish/git-recent \\\n atload\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003eexport _MENU_THEME=legacy\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e \\\n arzzen/git-quick-stats \\\n make\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003einstall\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e \\\n tj/git-extras \\\n make\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003eGITURL_NO_CGITURL=1\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e \\\n sbin\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003egit-url;git-guclone\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e \\\n zdharma-continuum/git-url\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTarget directory for installed files is \u003ccode\u003e$ZPFX\u003c/code\u003e (\u003ccode\u003e~/.local/share/zinit/polaris\u003c/code\u003e by default).\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChangelog\u003ca name=\"user-content-changelog\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-changelog\" class=\"anchor\" aria-label=\"Permalink: Changelog\" href=\"#changelog\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eLink to the \u003ca href=\"/zdharma-continuum/zinit/blob/main/doc/CHANGELOG.md\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSupport\u003ca name=\"user-content-support\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-support\" class=\"anchor\" aria-label=\"Permalink: Support\" href=\"#support\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eZinit is a personal, free-time project with no funding and a huge\n\u003ca href=\"https://github.com/zdharma-continuum/zinit/issues\"\u003efeature request backlog\u003c/a\u003e. If you love it, consider supporting its\ndevelopment via GitHub Sponsors [pending]. Any help counts!\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGetting Help and Community\u003ca name=\"user-content-getting-help-and-community\"\u003e\u003c/a\u003e\u003c/h2\u003e\u003ca id=\"user-content-getting-help-and-community\" class=\"anchor\" aria-label=\"Permalink: Getting Help and Community\" href=\"#getting-help-and-community\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eDo you need help or wish to get in touch with other Zinit users?\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/zdharma-continuum/zinit/discussions\"\u003eOpen a discussion\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eOr via reach out via Gitter\n\u003ca href=\"https://gitter.im/zdharma-continuum/community?utm_source=badge\u0026amp;utm_medium=badge\u0026amp;utm_campaign=pr-badge\u0026amp;utm_content=badge\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/4ae3027798cb49c13addd96651fc2d322052770d7fbd573ff50eb5f3e344cd91/68747470733a2f2f6261646765732e6769747465722e696d2f7a646861726d612d636f6e74696e75756d2f7a696e69742e737667\" alt=\"Join the chat at https://gitter.im/zdharma-continuum/community\" data-canonical-src=\"https://badges.gitter.im/zdharma-continuum/zinit.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/article\u003e","loaded":true,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":[{"level":1,"text":"Zinit","anchor":"zinit","htmlText":"Zinit"},{"level":2,"text":"Zinit Wiki","anchor":"zinit-wiki","htmlText":"Zinit Wiki"},{"level":2,"text":"Install","anchor":"install","htmlText":"Install"},{"level":3,"text":"Automatic","anchor":"automatic","htmlText":"Automatic"},{"level":3,"text":"Manual","anchor":"manual","htmlText":"Manual"},{"level":2,"text":"Usage","anchor":"usage","htmlText":"Usage"},{"level":3,"text":"Introduction","anchor":"introduction","htmlText":"Introduction"},{"level":3,"text":"Plugins and snippets","anchor":"plugins-and-snippets","htmlText":"Plugins and snippets"},{"level":3,"text":"Upgrade Zinit and plugins","anchor":"upgrade-zinit-and-plugins","htmlText":"Upgrade Zinit and plugins"},{"level":3,"text":"Turbo and lucid","anchor":"turbo-and-lucid","htmlText":"Turbo and lucid"},{"level":3,"text":"Migration","anchor":"migration","htmlText":"Migration"},{"level":2,"text":"Frequently Asked Questions","anchor":"frequently-asked-questions","htmlText":"Frequently Asked Questions"},{"level":3,"text":"Use zi ice svn if a plugin/snippet requires an entire subdirectory","anchor":"use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory","htmlText":"Use zi ice svn if a plugin/snippet requires an entire subdirectory"},{"level":3,"text":"Use zi ice as'completion' to directly add single file completion snippets","anchor":"use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets","htmlText":"Use zi ice as'completion' to directly add single file completion snippets"},{"level":3,"text":"More Examples","anchor":"more-examples","htmlText":"More Examples"},{"level":1,"text":"How to Use","anchor":"how-to-use","htmlText":"How to Use"},{"level":2,"text":"Ice Modifiers","anchor":"ice-modifiers","htmlText":"Ice Modifiers"},{"level":3,"text":"Cloning Options","anchor":"cloning-options","htmlText":"Cloning Options"},{"level":3,"text":"Selection of Files (To Source, …)","anchor":"selection-of-files-to-source-","htmlText":"Selection of Files (To Source, …)"},{"level":3,"text":"Conditional Loading","anchor":"conditional-loading","htmlText":"Conditional Loading"},{"level":3,"text":"Plugin Output","anchor":"plugin-output","htmlText":"Plugin Output"},{"level":3,"text":"Completions","anchor":"completions","htmlText":"Completions"},{"level":3,"text":"Command Execution After Cloning, Updating or Loading","anchor":"command-execution-after-cloning-updating-or-loading","htmlText":"Command Execution After Cloning, Updating or Loading"},{"level":3,"text":"Sticky-Emulation Of Other Shells","anchor":"sticky-emulation-of-other-shells","htmlText":"Sticky-Emulation Of Other Shells"},{"level":3,"text":"Others","anchor":"others","htmlText":"Others"},{"level":3,"text":"Order of Execution","anchor":"order-of-execution","htmlText":"Order of Execution"},{"level":2,"text":"Zinit Commands","anchor":"zinit-commands","htmlText":"Zinit Commands"},{"level":3,"text":"Help","anchor":"help","htmlText":"Help"},{"level":3,"text":"Loading and Unloading","anchor":"loading-and-unloading","htmlText":"Loading and Unloading"},{"level":3,"text":"Completions","anchor":"completions-1","htmlText":"Completions"},{"level":3,"text":"Tracking of the Active Session","anchor":"tracking-of-the-active-session","htmlText":"Tracking of the Active Session"},{"level":3,"text":"Reports and Statistics","anchor":"reports-and-statistics","htmlText":"Reports and Statistics"},{"level":3,"text":"Compiling","anchor":"compiling","htmlText":"Compiling"},{"level":4,"text":"compile","anchor":"compile","htmlText":"compile"},{"level":4,"text":"compiled","anchor":"compiled","htmlText":"compiled"},{"level":4,"text":"uncompile","anchor":"uncompile","htmlText":"uncompile"},{"level":3,"text":"Other","anchor":"other","htmlText":"Other"},{"level":2,"text":"Updating Zinit and Plugins","anchor":"updating-zinit-and-plugins","htmlText":"Updating Zinit and Plugins"},{"level":2,"text":"Completions","anchor":"completions-2","htmlText":"Completions"},{"level":3,"text":"Calling compinit Without Turbo Mode","anchor":"calling-compinit-without-turbo-mode","htmlText":"Calling compinit Without Turbo Mode"},{"level":3,"text":"Calling compinit With Turbo Mode","anchor":"calling-compinit-with-turbo-mode","htmlText":"Calling compinit With Turbo Mode"},{"level":3,"text":"Ignoring Compdefs","anchor":"ignoring-compdefs","htmlText":"Ignoring Compdefs"},{"level":3,"text":"Disabling System-Wide compinit Call (Ubuntu)","anchor":"disabling-system-wide-compinit-call-ubuntu","htmlText":"Disabling System-Wide compinit Call (Ubuntu)"},{"level":2,"text":"Zinit Module","anchor":"zinit-module","htmlText":"Zinit Module"},{"level":2,"text":"Hints and Tips","anchor":"hints-and-tips","htmlText":"Hints and Tips"},{"level":3,"text":"Using ZPFX variable","anchor":"using-zpfx-variable","htmlText":"Using ZPFX variable"},{"level":3,"text":"Customizing Paths","anchor":"customizing-paths","htmlText":"Customizing Paths"},{"level":3,"text":"Non-GitHub (Local) Plugins","anchor":"non-github-local-plugins","htmlText":"Non-GitHub (Local) Plugins"},{"level":3,"text":"Extending Git","anchor":"extending-git","htmlText":"Extending Git"},{"level":2,"text":"Changelog","anchor":"changelog","htmlText":"Changelog"},{"level":2,"text":"Support","anchor":"support","htmlText":"Support"},{"level":2,"text":"Getting Help and Community","anchor":"getting-help-and-community","htmlText":"Getting Help and Community"}],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit"}},{"displayName":"CODE_OF_CONDUCT.md","repoName":"zinit","refName":"main","path":"CODE_OF_CONDUCT.md","preferredFileType":"code_of_conduct","tabName":"Code of conduct","richText":null,"loaded":false,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":null,"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit"}},{"displayName":"LICENSE","repoName":"zinit","refName":"main","path":"LICENSE","preferredFileType":"license","tabName":"MIT","richText":null,"loaded":false,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":null,"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit"}}],"overviewFilesProcessingTime":0}},"appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-708ec8ade250.js","githubDevUrl":null,"enabled_features":{"copilot_workspace":null,"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}}</script> <div data-target="react-partial.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.iVEunk{margin-top:16px;margin-bottom:16px;}/*!sc*/ .jzuOtQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .bGojzy{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}/*!sc*/ .iNSVHo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-bottom:16px;padding-top:8px;}/*!sc*/ .bVgnfw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:8px;}/*!sc*/ @media screen and (max-width:320px){.bVgnfw{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .CEgMp{position:relative;}/*!sc*/ @media screen and (max-width:380px){.CEgMp .ref-selector-button-text-container{max-width:80px;}}/*!sc*/ @media screen and (max-width:320px){.CEgMp{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.CEgMp .overview-ref-selector{width:100%;}.CEgMp .overview-ref-selector > span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}.CEgMp .overview-ref-selector > span > span[data-component="text"]{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .gMOVLe[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;}/*!sc*/ .gMOVLe[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .gMOVLe[data-size="medium"] > span{width:inherit;}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ffLUq{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .bmcJak{min-width:0;}/*!sc*/ .fLXEGX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1079px){.fLXEGX{display:none;}}/*!sc*/ .lmSMZJ[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:4px;padding-right:4px;}/*!sc*/ .lmSMZJ[data-size="medium"] span[data-component="leadingVisual"]{margin-right:4px !important;}/*!sc*/ .dqfxud{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1080px){.dqfxud{display:none;}}/*!sc*/ @media screen and (max-width:543px){.dqfxud{display:none;}}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jxTzTd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;gap:8px;}/*!sc*/ .gqqBXN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/ @media screen and (max-width:543px){.gqqBXN{display:none;}}/*!sc*/ .dzXgxt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1011px){.dzXgxt{display:none;}}/*!sc*/ .iWFGlI{margin-left:8px;margin-right:8px;margin:0;}/*!sc*/ .vcvyP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .YUPas{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1012px){.YUPas{display:none;}}/*!sc*/ .izFOf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:544px){.izFOf{display:none;}}/*!sc*/ .vIPPs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;}/*!sc*/ .fdROMU{width:100%;border-collapse:separate;border-spacing:0;border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;table-layout:fixed;overflow:unset;}/*!sc*/ .jGKpsv{height:0px;line-height:0px;}/*!sc*/ .jGKpsv tr{height:0px;font-size:0px;}/*!sc*/ .jdgHnn{padding:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;text-align:left;height:40px;}/*!sc*/ .jdgHnn th{padding-left:16px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));}/*!sc*/ .bQivRW{width:100%;border-top-left-radius:6px;}/*!sc*/ @media screen and (min-width:544px){.bQivRW{display:none;}}/*!sc*/ .ldkMIO{width:40%;border-top-left-radius:6px;}/*!sc*/ @media screen and (max-width:543px){.ldkMIO{display:none;}}/*!sc*/ .jMbWeI{text-align:right;padding-right:16px;width:136px;border-top-right-radius:6px;}/*!sc*/ .gpqjiB{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;height:40px;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .eNCcrz{text-align:center;vertical-align:center;height:40px;border-top:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .bHTcCe{border-top:1px solid var(--borderColor-default,var(--color-border-default));cursor:pointer;}/*!sc*/ .csrIcr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;gap:16px;}/*!sc*/ .bUQNHB{border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ @media screen and (max-width:543px){.bUQNHB{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);}}/*!sc*/ @media screen and (min-width:544px){.bUQNHB{max-width:100%;}}/*!sc*/ .jPdcfu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid;border-bottom-color:var(--borderColor-default,var(--color-border-default,#d0d7de));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:8px;position:-webkit-sticky;position:sticky;top:0;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/ .iphEWz{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-bottom:none;max-width:100%;padding-left:8px;padding-right:8px;}/*!sc*/ .hUCRAk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .cwoBXV[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-subtle,#6e7781));padding-left:8px;padding-right:8px;}/*!sc*/ .QkQOb{padding:32px;overflow:auto;}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"iVEunk,jzuOtQ,bGojzy,iNSVHo,bVgnfw,CEgMp,gMOVLe,gUkoLg,bZBlpz,lhTYNA,ffLUq,bmcJak,fLXEGX,lmSMZJ,dqfxud,fGwBZA,jxTzTd,gqqBXN,dzXgxt,iWFGlI,vcvyP,YUPas,izFOf,vIPPs,fdROMU,jGKpsv,jdgHnn,bQivRW,ldkMIO,jMbWeI,gpqjiB,dzCJzi,eNCcrz,bHTcCe,csrIcr,bUQNHB,jPdcfu,iphEWz,hUCRAk,cwoBXV,QkQOb,"}/*!sc*/ .brGdpi{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip:rect(0,0,0,0);clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/*!sc*/ data-styled.g5[id="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0"]{content:"brGdpi,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g16[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .liVpTx{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;}/*!sc*/ data-styled.g18[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"liVpTx,"}/*!sc*/ </style> <!-- --> <!-- --> <div class="Box-sc-g0xbh4-0 iVEunk"><div class="Box-sc-g0xbh4-0 jzuOtQ"><div class="Box-sc-g0xbh4-0 bGojzy"></div></div><div class="Box-sc-g0xbh4-0 iNSVHo"><div class="Box-sc-g0xbh4-0 bVgnfw"><div class="Box-sc-g0xbh4-0 CEgMp"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 gMOVLe prc-Button-ButtonBase-c50BI overview-ref-selector width-full" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 ffLUq ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 fLXEGX"><a style="--button-color:fg.muted" type="button" href="/zdharma-continuum/zinit/branches" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rclab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Branches</span></span></a><a style="--button-color:fg.muted" type="button" href="/zdharma-continuum/zinit/tags" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rklab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Tags</span></span></a></div><div class="Box-sc-g0xbh4-0 dqfxud"><a style="--button-color:fg.muted" type="button" aria-label="Go to Branches page" href="/zdharma-continuum/zinit/branches" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Relab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></a><a style="--button-color:fg.muted" type="button" aria-label="Go to Tags page" href="/zdharma-continuum/zinit/tags" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Rmlab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></a></div></div><div class="Box-sc-g0xbh4-0 jxTzTd"><div class="Box-sc-g0xbh4-0 gqqBXN"><div class="Box-sc-g0xbh4-0 dzXgxt"><!--$--><div class="Box-sc-g0xbh4-0 iWFGlI"><span class="Box-sc-g0xbh4-0 vcvyP TextInput-wrapper prc-components-TextInputWrapper-i1ofR prc-components-TextInputBaseWrapper-ueK9q" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":R2j5ab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":R2j5ab: :R2j5abH1:" data-component="input" class="prc-components-Input-Ic-y8" value=""/><span class="TextInput-icon" id=":R2j5abH1:" aria-hidden="true"></span></span></div><!--/$--></div><div class="Box-sc-g0xbh4-0 YUPas"><button type="button" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":Rr5ab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Go to file</span></span></button></div><div class="react-directory-add-file-icon"></div><div class="react-directory-remove-file-icon"></div></div><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="primary" aria-describedby=":R55ab:-loading-announcement" id=":R55ab:"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-code hide-sm" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Code</span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="Box-sc-g0xbh4-0 izFOf"><button data-component="IconButton" type="button" aria-label="Open more actions menu" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R75ab:-loading-announcement" id=":R75ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div><div class="Box-sc-g0xbh4-0 vIPPs"><div data-hpc="true"><button hidden="" data-testid="focus-next-element-button" data-hotkey="j"></button><button hidden="" data-testid="focus-previous-element-button" data-hotkey="k"></button><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="folders-and-files">Folders and files</h2><table aria-labelledby="folders-and-files" class="Box-sc-g0xbh4-0 fdROMU"><thead class="Box-sc-g0xbh4-0 jGKpsv"><tr class="Box-sc-g0xbh4-0 jdgHnn"><th colSpan="2" class="Box-sc-g0xbh4-0 bQivRW"><span class="text-bold">Name</span></th><th colSpan="1" class="Box-sc-g0xbh4-0 ldkMIO"><span class="text-bold">Name</span></th><th class="hide-sm"><div title="Last commit message" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit message</span></div></th><th colSpan="1" class="Box-sc-g0xbh4-0 jMbWeI"><div title="Last commit date" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit date</span></div></th></tr></thead><tbody><tr class="Box-sc-g0xbh4-0 gpqjiB"><td colSpan="3" class="bgColor-muted p-1 rounded-top-2"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/zdharma-continuum/zinit/commits/main/" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Raqj8pab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">3,870 Commits</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="3,870 Commits" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/zdharma-continuum/zinit/commits/main/" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R1iqj8pab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></td></tr><tr class="react-directory-row undefined" id="folder-row-0"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".github" aria-label=".github, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/.github">.github</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".github" aria-label=".github, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/.github">.github</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-1"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="doc" aria-label="doc, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/doc">doc</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="doc" aria-label="doc, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/doc">doc</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-2"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="docker" aria-label="docker, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/docker">docker</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="docker" aria-label="docker, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/docker">docker</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-3"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="scripts" aria-label="scripts, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/scripts">scripts</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="scripts" aria-label="scripts, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/scripts">scripts</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-4"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="share" aria-label="share, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/share">share</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="share" aria-label="share, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/share">share</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-5"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="tests" aria-label="tests, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/tests">tests</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="tests" aria-label="tests, (Directory)" class="Link--primary" href="/zdharma-continuum/zinit/tree/main/tests">tests</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-6"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".dockerignore" aria-label=".dockerignore, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.dockerignore">.dockerignore</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".dockerignore" aria-label=".dockerignore, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.dockerignore">.dockerignore</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-7"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitattributes" aria-label=".gitattributes, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.gitattributes">.gitattributes</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitattributes" aria-label=".gitattributes, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.gitattributes">.gitattributes</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-8"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-9"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".releaserc.json" aria-label=".releaserc.json, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.releaserc.json">.releaserc.json</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".releaserc.json" aria-label=".releaserc.json, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.releaserc.json">.releaserc.json</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-10"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".zunit.yml" aria-label=".zunit.yml, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.zunit.yml">.zunit.yml</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".zunit.yml" aria-label=".zunit.yml, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/.zunit.yml">.zunit.yml</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-11"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CHANGELOG.md" aria-label="CHANGELOG.md, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/CHANGELOG.md">CHANGELOG.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CHANGELOG.md" aria-label="CHANGELOG.md, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/CHANGELOG.md">CHANGELOG.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-12"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CODE_OF_CONDUCT.md" aria-label="CODE_OF_CONDUCT.md, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/CODE_OF_CONDUCT.md">CODE_OF_CONDUCT.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CODE_OF_CONDUCT.md" aria-label="CODE_OF_CONDUCT.md, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/CODE_OF_CONDUCT.md">CODE_OF_CONDUCT.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-13"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="LICENSE" aria-label="LICENSE, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/LICENSE">LICENSE</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="LICENSE" aria-label="LICENSE, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/LICENSE">LICENSE</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-14"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="Makefile" aria-label="Makefile, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/Makefile">Makefile</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="Makefile" aria-label="Makefile, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/Makefile">Makefile</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-15"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-16"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="VERSION" aria-label="VERSION, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/VERSION">VERSION</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="VERSION" aria-label="VERSION, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/VERSION">VERSION</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-17"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="_zinit" aria-label="_zinit, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/_zinit">_zinit</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="_zinit" aria-label="_zinit, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/_zinit">_zinit</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-18"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zi-browse-symbol" aria-label="zi-browse-symbol, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zi-browse-symbol">zi-browse-symbol</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zi-browse-symbol" aria-label="zi-browse-symbol, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zi-browse-symbol">zi-browse-symbol</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-19"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-additional.zsh" aria-label="zinit-additional.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-additional.zsh">zinit-additional.zsh</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-additional.zsh" aria-label="zinit-additional.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-additional.zsh">zinit-additional.zsh</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-20"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-autoload.zsh" aria-label="zinit-autoload.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-autoload.zsh">zinit-autoload.zsh</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-autoload.zsh" aria-label="zinit-autoload.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-autoload.zsh">zinit-autoload.zsh</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-21"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-install.zsh" aria-label="zinit-install.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-install.zsh">zinit-install.zsh</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-install.zsh" aria-label="zinit-install.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-install.zsh">zinit-install.zsh</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-22"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-side.zsh" aria-label="zinit-side.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-side.zsh">zinit-side.zsh</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit-side.zsh" aria-label="zinit-side.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit-side.zsh">zinit-side.zsh</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-23"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit.zsh" aria-label="zinit.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit.zsh">zinit.zsh</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="zinit.zsh" aria-label="zinit.zsh, (File)" class="Link--primary" href="/zdharma-continuum/zinit/blob/main/zinit.zsh">zinit.zsh</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="Box-sc-g0xbh4-0 eNCcrz show-for-mobile" data-testid="view-all-files-row"><td colSpan="3" class="Box-sc-g0xbh4-0 bHTcCe"><div><button class="prc-Link-Link-85e08">View all files</button></div></td></tr></tbody></table></div><div class="Box-sc-g0xbh4-0 csrIcr"><div class="Box-sc-g0xbh4-0 bUQNHB"><div itemscope="" itemType="https://schema.org/abstract" class="Box-sc-g0xbh4-0 jPdcfu"><h2 class="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0 brGdpi">Repository files navigation</h2><nav class="Box-sc-g0xbh4-0 iphEWz prc-components-UnderlineWrapper-oOh5J" aria-label="Repository files"><ul class="prc-components-UnderlineItemList-b23Hf" role="list"><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#" aria-current="page"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-book" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path></svg></span><span data-component="text" data-content="README">README</span></a></li><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-code-of-conduct" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.048 2.241c.964-.709 2.079-1.238 3.325-1.241a4.616 4.616 0 0 1 3.282 1.355c.41.408.757.86.996 1.428.238.568.348 1.206.347 1.968 0 2.193-1.505 4.254-3.081 5.862-1.496 1.526-3.213 2.796-4.249 3.563l-.22.163a.749.749 0 0 1-.895 0l-.221-.163c-1.036-.767-2.753-2.037-4.249-3.563C1.51 10.008.007 7.952.002 5.762a4.614 4.614 0 0 1 1.353-3.407C3.123.585 6.223.537 8.048 2.24Zm-1.153.983c-1.25-1.033-3.321-.967-4.48.191a3.115 3.115 0 0 0-.913 2.335c0 1.556 1.109 3.24 2.652 4.813C5.463 11.898 6.96 13.032 8 13.805c.353-.262.758-.565 1.191-.905l-1.326-1.223a.75.75 0 0 1 1.018-1.102l1.48 1.366c.328-.281.659-.577.984-.887L9.99 9.802a.75.75 0 1 1 1.019-1.103l1.384 1.28c.295-.329.566-.661.81-.995L12.92 8.7l-1.167-1.168c-.674-.671-1.78-.664-2.474.03-.268.269-.538.537-.802.797-.893.882-2.319.843-3.185-.032-.346-.35-.693-.697-1.043-1.047a.75.75 0 0 1-.04-1.016c.162-.191.336-.401.52-.623.62-.748 1.356-1.637 2.166-2.417Zm7.112 4.442c.313-.65.491-1.293.491-1.916v-.001c0-.614-.088-1.045-.23-1.385-.143-.339-.357-.633-.673-.949a3.111 3.111 0 0 0-2.218-.915c-1.092.003-2.165.627-3.226 1.602-.823.755-1.554 1.637-2.228 2.45l-.127.154.562.566a.755.755 0 0 0 1.066.02l.794-.79c1.258-1.258 3.312-1.31 4.594-.032.396.394.792.791 1.173 1.173Z"></path></svg></span><span data-component="text" data-content="Code of conduct">Code of conduct</span></a></li><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg></span><span data-component="text" data-content="MIT license">MIT license</span></a></li></ul></nav><button style="--button-color:fg.subtle" type="button" aria-label="Outline" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 cwoBXV prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rr9ab:-loading-announcement" id=":Rr9ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button></div><div class="Box-sc-g0xbh4-0 QkQOb js-snippet-clipboard-copy-unpositioned undefined" data-hpc="true"><article class="markdown-body entry-content container-lg" itemprop="text"><p align="center" dir="auto"> <a href="https://github.com/zdharma-continuum/zinit"> <img alt="zinit logo" src="https://raw.githubusercontent.com/zdharma-continuum/zinit/images/zinit.png" style="max-width: 100%;"> </a> </p> <div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">Zinit<a name="user-content-zinit"></a></h1><a id="user-content-zinit" class="anchor" aria-label="Permalink: Zinit" href="#zinit"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a href="/zdharma-continuum/zinit/blob/main/LICENSE"><img src="https://camo.githubusercontent.com/6581c31c16c1b13ddc2efb92e2ad69a93ddc4a92fd871ff15d401c4c6c9155a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667" alt="MIT License" data-canonical-src="https://img.shields.io/badge/license-MIT-blue.svg" style="max-width: 100%;"></a> <a href="https://github.com/zdharma-continuum/zinit/releases"><img src="https://camo.githubusercontent.com/539708af11d0e482f6967ca8268b2ce96ac0076e9fa5d060409f3518b68394ed/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7461672f7a646861726d612d636f6e74696e75756d2f7a696e69742e737667" alt="zinit version" data-canonical-src="https://img.shields.io/github/tag/zdharma-continuum/zinit.svg" style="max-width: 100%;"></a> <a href="https://github.com/zdharma-continuum/zinit/actions/workflows/tests.yaml"><img src="https://github.com/zdharma-continuum/zinit/actions/workflows/tests.yaml/badge.svg" alt="zunit tests" style="max-width: 100%;"></a> <a href="https://gitter.im/zdharma-continuum/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" rel="nofollow"><img src="https://camo.githubusercontent.com/4ae3027798cb49c13addd96651fc2d322052770d7fbd573ff50eb5f3e344cd91/68747470733a2f2f6261646765732e6769747465722e696d2f7a646861726d612d636f6e74696e75756d2f7a696e69742e737667" alt="Join the chat at https://gitter.im/zdharma-continuum/zinit" data-canonical-src="https://badges.gitter.im/zdharma-continuum/zinit.svg" style="max-width: 100%;"></a></p> <ul dir="auto"> <li><a href="#zinit-wiki">Zinit Wiki</a></li> <li><a href="#install">Install</a> <ul dir="auto"> <li><a href="#automatic">Automatic</a></li> <li><a href="#manual">Manual</a></li> </ul> </li> <li><a href="#usage">Usage</a> <ul dir="auto"> <li><a href="#introduction">Introduction</a></li> <li><a href="#plugins-and-snippets">Plugins and snippets</a></li> <li><a href="#upgrade-zinit-and-plugins">Upgrade Zinit and plugins</a></li> <li><a href="#turbo-and-lucid">Turbo and lucid</a></li> <li><a href="#migration">Migration</a></li> </ul> </li> <li><a href="#frequently-asked-questions">Frequently Asked Questions</a> <ul dir="auto"> <li><a href="#use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory">Use <code>zi ice svn</code> if a plugin/snippet requires an entire subdirectory</a></li> <li><a href="#use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets">Use <code>zi ice as'completion'</code> to directly add single file completion snippets</a></li> <li><a href="#more-examples">More Examples</a></li> </ul> </li> <li><a href="#ice-modifiers">Ice Modifiers</a> <ul dir="auto"> <li><a href="#cloning-options">Cloning Options</a></li> <li><a href="#selection-of-files-to-source-%E2%80%A6">Selection of Files (To Source, …)</a></li> <li><a href="#conditional-loading">Conditional Loading</a></li> <li><a href="#plugin-output">Plugin Output</a></li> <li><a href="#completions">Completions</a></li> <li><a href="#command-execution-after-cloning-updating-or-loading">Command Execution After Cloning, Updating or Loading</a></li> <li><a href="#sticky-emulation-of-other-shells">Sticky-Emulation Of Other Shells</a></li> <li><a href="#others">Others</a></li> <li><a href="#order-of-execution">Order of Execution</a></li> </ul> </li> <li><a href="#zinit-commands">Zinit Commands</a> <ul dir="auto"> <li><a href="#help">Help</a></li> <li><a href="#loading-and-unloading">Loading and Unloading</a></li> <li><a href="#completions-1">Completions</a></li> <li><a href="#tracking-of-the-active-session">Tracking of the Active Session</a></li> <li><a href="#reports-and-statistics">Reports and Statistics</a></li> <li><a href="#compiling">Compiling</a></li> <li><a href="#other">Other</a></li> </ul> </li> <li><a href="#updating-zinit-and-plugins">Updating Zinit and Plugins</a></li> <li><a href="#completions-2">Completions</a> <ul dir="auto"> <li><a href="#calling-compinit-without-turbo-mode">Calling <code>compinit</code> Without Turbo Mode</a></li> <li><a href="#calling-compinit-with-turbo-mode">Calling <code>compinit</code> With Turbo Mode</a></li> <li><a href="#ignoring-compdefs">Ignoring Compdefs</a></li> <li><a href="#disabling-system-wide-compinit-call-ubuntu">Disabling System-Wide <code>compinit</code> Call (Ubuntu)</a></li> </ul> </li> <li><a href="#zinit-module">Zinit Module</a></li> <li><a href="#hints-and-tips">Hints and Tips</a> <ul dir="auto"> <li><a href="#using-zpfx-variable">Using ZPFX variable</a></li> <li><a href="#customizing-paths">Customizing Paths</a></li> <li><a href="#non-github-local-plugins">Non-GitHub (Local) Plugins</a></li> <li><a href="#extending-git">Extending Git</a></li> </ul> </li> <li><a href="#changelog">Changelog</a></li> <li><a href="#support">Support</a></li> <li><a href="#getting-help-and-community">Getting Help and Community</a></li> </ul> <p align="center" dir="auto"> <a href="https://github.com/zdharma-continuum/pm-perf-test"> <img alt="startup times graph" width="550px" src="https://raw.githubusercontent.com/zdharma-continuum/zinit/images/startup-times.png" style="max-width: 100%;"> </a> </p> <p dir="auto">Zinit is a flexible and fast Zshell plugin manager that will allow you to install everything from GitHub and other sites. Its characteristics are:</p> <ol dir="auto"> <li> <p dir="auto">Zinit is currently the only plugin manager that provides Turbo mode, which yields <strong>50-80% faster Zsh startup</strong> (i.e., the shell will start up to <strong>5</strong> times faster!). Check out a speed comparison with other popular plugin managers <a href="https://github.com/zdharma-continuum/pm-perf-test">here</a>.</p> </li> <li> <p dir="auto">The plugin manager gives <strong>reports</strong> from plugin loadings describing what <strong>aliases</strong>, functions, <strong>bindkeys</strong>, Zle widgets, zstyles, <strong>completions</strong>, variables, <code>PATH</code> and <code>FPATH</code> elements a plugin has set up. This allows one to quickly familiarize oneself with a new plugin and provides rich and easy-to-digest information which might be helpful on various occasions.</p> </li> <li> <p dir="auto">Supported is the unloading of plugin and ability to list, (un)install and <strong>selectively disable</strong>, <strong>enable</strong> plugin's completions.</p> </li> <li> <p dir="auto">The plugin manager supports loading plugins and libraries from Oh My Zsh or Prezto. However, the implementation isn't framework-specific and doesn't bloat the plugin manager with such code (more on this topic can be found on the Wiki, in the <a href="https://zdharma-continuum.github.io/zinit/wiki/INTRODUCTION/#oh_my_zsh_prezto" rel="nofollow">Introduction</a>).</p> </li> <li> <p dir="auto">The system does not use <code>$FPATH</code>, loading multiple plugins doesn't clutter <code>$FPATH</code> with the same number of entries (e.g. <code>10</code>, <code>15</code> or more). Code is immune to <code>KSH_ARRAYS</code> and other options typically causing compatibility problems.</p> </li> <li> <p dir="auto">Zinit supports special, dedicated <strong>packages</strong> that offload the user from providing long and complex commands. See the <a href="https://github.com/zdharma-continuum/zinit-packages">zinit-packages repository</a> for a growing, complete list of Zinit packages and the <a href="https://zdharma-continuum.github.io/zinit/wiki/Zinit-Packages/" rel="nofollow">Wiki page</a> for an article about the feature.</p> </li> <li> <p dir="auto">Also, specialized Zinit extensions — called <strong>annexes</strong> — have the ability to extend the plugin manager with new commands, URL-preprocessors (used by e.g.: <a href="https://github.com/zdharma-continuum/zinit-annex-readurl">zinit-annex-readurl</a> annex), post-install and post-update hooks, and much more. See the <a href="https://github.com/zdharma-continuum">zdharma-continuum</a> organization for a growing, complete list of available Zinit extensions and refer to the <a href="https://zdharma-continuum.github.io/zinit/wiki/Annexes/" rel="nofollow">Wiki article</a> for an introduction on creating your annex.</p> </li> </ol> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Zinit Wiki<a name="user-content-zinit-wiki"></a></h2><a id="user-content-zinit-wiki" class="anchor" aria-label="Permalink: Zinit Wiki" href="#zinit-wiki"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">The information in this README is complemented by the <a href="https://zdharma-continuum.github.io/zinit/wiki/" rel="nofollow">Zinit Wiki</a>. The README is an introductory overview of Zinit, while the Wiki gives complete information with examples. Make sure to read it to get the most out of Zinit.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Install<a name="user-content-install"></a></h2><a id="user-content-install" class="anchor" aria-label="Permalink: Install" href="#install"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Automatic<a name="user-content-automatic"></a></h3><a id="user-content-automatic" class="anchor" aria-label="Permalink: Automatic" href="#automatic"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">The easiest way to install Zinit is to execute:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)""><pre>bash -c <span class="pl-s"><span class="pl-pds">"</span><span class="pl-s"><span class="pl-pds">$(</span>curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh<span class="pl-pds">)</span></span><span class="pl-pds">"</span></span></pre></div> <p dir="auto">This will install Zinit in <code>~/.local/share/zinit/zinit.git</code>. <code>.zshrc</code> will be updated with three lines of code that will be added to the bottom. The lines will be sourcing <code>zinit.zsh</code> and setting up completion for command <code>zinit</code>.</p> <p dir="auto">After installing and reloading the shell, compile Zinit via:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit self-update"><pre>zinit self-update</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Manual<a name="user-content-manual"></a></h3><a id="user-content-manual" class="anchor" aria-label="Permalink: Manual" href="#manual"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">In your <code>.zshrc</code>, add the following snippet</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" [ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)" [ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" source "${ZINIT_HOME}/zinit.zsh""><pre>ZINIT_HOME=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${XDG_DATA_HOME<span class="pl-k">:-</span><span class="pl-smi">${HOME}</span><span class="pl-k">/</span>.local<span class="pl-k">/</span>share}</span>/zinit/zinit.git<span class="pl-pds">"</span></span> [ <span class="pl-k">!</span> <span class="pl-k">-d</span> <span class="pl-smi">$ZINIT_HOME</span> ] <span class="pl-k">&&</span> mkdir -p <span class="pl-s"><span class="pl-pds">"</span><span class="pl-s"><span class="pl-pds">$(</span>dirname <span class="pl-smi">$ZINIT_HOME</span><span class="pl-pds">)</span></span><span class="pl-pds">"</span></span> [ <span class="pl-k">!</span> <span class="pl-k">-d</span> <span class="pl-smi">$ZINIT_HOME</span>/.git ] <span class="pl-k">&&</span> git clone https://github.com/zdharma-continuum/zinit.git <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$ZINIT_HOME</span><span class="pl-pds">"</span></span> <span class="pl-c1">source</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${ZINIT_HOME}</span>/zinit.zsh<span class="pl-pds">"</span></span></pre></div> <p dir="auto"><a href="http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization" rel="nofollow">compinit</a>):</p> <p dir="auto">If you source <code>zinit.zsh</code> after <code>compinit</code>, add the following snippet after sourcing <code>zinit.zsh</code>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="autoload -Uz _zinit (( ${+_comps} )) && _comps[zinit]=_zinit"><pre>autoload -Uz _zinit <span class="pl-s"><span class="pl-pds">((</span> <span class="pl-smi">${+_comps}</span> <span class="pl-pds">))</span></span> <span class="pl-k">&&</span> _comps[zinit]=_zinit</pre></div> <p dir="auto">Reload Zsh to install Zinit:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="exec zsh"><pre><span class="pl-c1">exec</span> zsh</pre></div> <p dir="auto">Various paths can be customized; see section <a href="#customizing-paths">Customizing Paths</a>.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Usage<a name="user-content-usage"></a></h2><a id="user-content-usage" class="anchor" aria-label="Permalink: Usage" href="#usage"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Introduction<a name="user-content-introduction"></a></h3><a id="user-content-introduction" class="anchor" aria-label="Permalink: Introduction" href="#introduction"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a href="https://zdharma-continuum.github.io/zinit/wiki/INTRODUCTION/" rel="nofollow">Click here to read the introduction to Zinit</a>. It explains basic usage and some of the more unique features of Zinit, such as the Turbo mode. If you're new to Zinit, we recommend you read it at least once.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Plugins and snippets<a name="user-content-plugins-and-snippets"></a></h3><a id="user-content-plugins-and-snippets" class="anchor" aria-label="Permalink: Plugins and snippets" href="#plugins-and-snippets"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Plugins can be loaded using <code>load</code> or <code>light</code>.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit load <repo/plugin> # Load with reporting/investigating. zinit light <repo/plugin> # Load without reporting/investigating."><pre>zinit load <span class="pl-k"><</span>repo/plugin<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Load with reporting/investigating.</span> zinit light <span class="pl-k"><</span>repo/plugin<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Load without reporting/investigating.</span></pre></div> <p dir="auto">If you want to source local or remote files (using direct URL), you can do so with <code>snippet</code>.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit snippet <URL>"><pre>zinit snippet <span class="pl-k"><</span>URL<span class="pl-k">></span></pre></div> <p dir="auto">Such lines should be added to <code>.zshrc</code>. Snippets are cached locally. Use the <code>-f</code> option to download a new version of a snippet or <code>zinit update {URL}</code>. You can also use <code>zinit update --all</code> to update all snippets (and plugins).</p> <p dir="auto"><strong>Example</strong></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Plugin history-search-multi-word loaded with investigating. zinit load zdharma-continuum/history-search-multi-word # Two regular plugins loaded without investigating. zinit light zsh-users/zsh-autosuggestions zinit light zdharma-continuum/fast-syntax-highlighting # Snippet zinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/"><pre><span class="pl-c"><span class="pl-c">#</span> Plugin history-search-multi-word loaded with investigating.</span> zinit load zdharma-continuum/history-search-multi-word <span class="pl-c"><span class="pl-c">#</span> Two regular plugins loaded without investigating.</span> zinit light zsh-users/zsh-autosuggestions zinit light zdharma-continuum/fast-syntax-highlighting <span class="pl-c"><span class="pl-c">#</span> Snippet</span> zinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/</pre></div> <p dir="auto"><strong>Prompt(Theme) Example</strong></p> <p dir="auto">This is <a href="https://github.com/romkatv/powerlevel10k">powerlevel10k</a>, <a href="https://github.com/sindresorhus/pure">pure</a>, <a href="https://github.com/starship/starship">starship</a> sample:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Load powerlevel10k theme zinit ice depth"1" # git clone depth zinit light romkatv/powerlevel10k # Load pure theme zinit ice pick"async.zsh" src"pure.zsh" # with zsh-async library that's bundled with it. zinit light sindresorhus/pure # Load starship theme # line 1: `starship` binary as command, from github release # line 2: starship setup at clone(create init.zsh, completion) # line 3: pull behavior same as clone, source init.zsh zinit ice as"command" from"gh-r" \ atclone"./starship init zsh > init.zsh; ./starship completions zsh > _starship" \ atpull"%atclone" src"init.zsh" zinit light starship/starship"><pre><span class="pl-c"><span class="pl-c">#</span> Load powerlevel10k theme</span> zinit ice depth<span class="pl-s"><span class="pl-pds">"</span>1<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> git clone depth</span> zinit light romkatv/powerlevel10k <span class="pl-c"><span class="pl-c">#</span> Load pure theme</span> zinit ice pick<span class="pl-s"><span class="pl-pds">"</span>async.zsh<span class="pl-pds">"</span></span> src<span class="pl-s"><span class="pl-pds">"</span>pure.zsh<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> with zsh-async library that's bundled with it.</span> zinit light sindresorhus/pure <span class="pl-c"><span class="pl-c">#</span> Load starship theme</span> <span class="pl-c"><span class="pl-c">#</span> line 1: `starship` binary as command, from github release</span> <span class="pl-c"><span class="pl-c">#</span> line 2: starship setup at clone(create init.zsh, completion)</span> <span class="pl-c"><span class="pl-c">#</span> line 3: pull behavior same as clone, source init.zsh</span> zinit ice as<span class="pl-s"><span class="pl-pds">"</span>command<span class="pl-pds">"</span></span> from<span class="pl-s"><span class="pl-pds">"</span>gh-r<span class="pl-pds">"</span></span> \ atclone<span class="pl-s"><span class="pl-pds">"</span>./starship init zsh > init.zsh; ./starship completions zsh > _starship<span class="pl-pds">"</span></span> \ atpull<span class="pl-s"><span class="pl-pds">"</span>%atclone<span class="pl-pds">"</span></span> src<span class="pl-s"><span class="pl-pds">"</span>init.zsh<span class="pl-pds">"</span></span> zinit light starship/starship</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Upgrade Zinit and plugins<a name="user-content-upgrade-zinit-and-plugins"></a></h3><a id="user-content-upgrade-zinit-and-plugins" class="anchor" aria-label="Permalink: Upgrade Zinit and plugins" href="#upgrade-zinit-and-plugins"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Zinit can be updated to <code>self-update</code> and plugins to <code>update</code>.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Self update zinit self-update # Plugin update zinit update # Plugin parallel update zinit update --parallel # Increase the number of jobs in a concurrent-set to 40 zinit update --parallel 40"><pre><span class="pl-c"><span class="pl-c">#</span> Self update</span> zinit self-update <span class="pl-c"><span class="pl-c">#</span> Plugin update</span> zinit update <span class="pl-c"><span class="pl-c">#</span> Plugin parallel update</span> zinit update --parallel <span class="pl-c"><span class="pl-c">#</span> Increase the number of jobs in a concurrent-set to 40</span> zinit update --parallel 40</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Turbo and lucid<a name="user-content-turbo-and-lucid"></a></h3><a id="user-content-turbo-and-lucid" class="anchor" aria-label="Permalink: Turbo and lucid" href="#turbo-and-lucid"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Turbo and lucid are the most used options.</p> <details> <summary><b>Turbo Mode</b></summary> Turbo mode is the key to performance. It can be loaded asynchronously, which makes a huge difference when the amount of plugins increases. <p dir="auto">Usually used as <code>zinit ice wait"<SECONDS>"</code>, let's use the previous example:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit ice wait # wait is the same as wait"0" zinit load zdharma-continuum/history-search-multi-word zinit ice wait"2" # load after 2 seconds zinit load zdharma-continuum/history-search-multi-word zinit ice wait # also be used in `light` and `snippet` zinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/"><pre>zinit ice <span class="pl-c1">wait</span> <span class="pl-c"><span class="pl-c">#</span> wait is the same as wait"0"</span> zinit load zdharma-continuum/history-search-multi-word zinit ice wait<span class="pl-s"><span class="pl-pds">"</span>2<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> load after 2 seconds</span> zinit load zdharma-continuum/history-search-multi-word zinit ice <span class="pl-c1">wait</span> <span class="pl-c"><span class="pl-c">#</span> also be used in `light` and `snippet`</span> zinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/</pre></div> </details> <details> <summary><b>Lucid</b></summary> <p dir="auto">Turbo mode is verbose, so you need an option for quiet.</p> <p dir="auto">You can use <code>lucid</code>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit ice wait lucid zinit load zdharma-continuum/history-search-multi-word"><pre>zinit ice <span class="pl-c1">wait</span> lucid zinit load zdharma-continuum/history-search-multi-word</pre></div> </details> <p dir="auto"><strong><em>F&A:</em></strong> What is <code>ice</code>?</p> <p dir="auto"><code>ice</code> is zinit's options command. The option melts like ice and is used only once. (more: <a href="#ice-modifiers">Ice Modifiers</a>)</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Migration<a name="user-content-migration"></a></h3><a id="user-content-migration" class="anchor" aria-label="Permalink: Migration" href="#migration"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <details> <summary><b>Migration from Oh-My-ZSH</b></summary> <p dir="auto"><strong>Basic</strong></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit snippet <URL> # Raw Syntax with URL zinit snippet OMZ::<PATH> # Shorthand OMZ/ (https://github.com/ohmyzsh/ohmyzsh/raw/master/) zinit snippet OMZL::<PATH> # Shorthand OMZ/lib/ zinit snippet OMZT::<PATH> # Shorthand OMZ/themes/ zinit snippet OMZP::<PATH> # Shorthand OMZ/plugins/"><pre>zinit snippet <span class="pl-k"><</span>URL<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Raw Syntax with URL</span> zinit snippet OMZ::<span class="pl-k"><</span>PATH<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Shorthand OMZ/ (https://github.com/ohmyzsh/ohmyzsh/raw/master/)</span> zinit snippet OMZL::<span class="pl-k"><</span>PATH<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Shorthand OMZ/lib/</span> zinit snippet OMZT::<span class="pl-k"><</span>PATH<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Shorthand OMZ/themes/</span> zinit snippet OMZP::<span class="pl-k"><</span>PATH<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Shorthand OMZ/plugins/</span></pre></div> <p dir="auto"><strong>Library</strong></p> <p dir="auto">Importing the <a href="https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh">clipboard</a> and <a href="https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh">termsupport</a> Oh-My-Zsh Library Sample:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# 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"><pre><span class="pl-c"><span class="pl-c">#</span> Raw Syntax</span> zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh <span class="pl-c"><span class="pl-c">#</span> OMZ Shorthand Syntax</span> zi snippet OMZ::lib/clipboard.zsh zi snippet OMZ::lib/termsupport.zsh <span class="pl-c"><span class="pl-c">#</span> OMZL Shorthand Syntax</span> zi snippet OMZL::clipboard.zsh zi snippet OMZL::termsupport.zsh</pre></div> <p dir="auto"><strong>Theme</strong></p> <p dir="auto">To use <strong>themes</strong> created for Oh My Zsh you might want to first source the <code>git</code> library there.</p> <p dir="auto">Then you can use the themes as snippets (<code>zinit snippet <file path or GitHub URL></code>). Some themes require not only Oh My Zsh's Git <strong>library</strong>, but also Git <strong>plugin</strong> (error about <code>current_branch</code> may appear). Load this Git-plugin as single-file snippet directly from OMZ.</p> <p dir="auto">Most themes require <code>promptsubst</code> option (<code>setopt promptsubst</code> in <code>zshrc</code>), if it isn't set, then prompt will appear as something like: <code>... $(build_prompt) ...</code>.</p> <p dir="auto">You might want to suppress completions provided by the git plugin by issuing <code>zinit cdclear -q</code> (<code>-q</code> is for quiet) – see below <strong>Ignoring Compdefs</strong>.</p> <p dir="auto">To summarize:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## Oh My Zsh Setting ZSH_THEME="robbyrussell" ## Zinit 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"><pre><span class="pl-c"><span class="pl-c">#</span># Oh My Zsh Setting</span> ZSH_THEME=<span class="pl-s"><span class="pl-pds">"</span>robbyrussell<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span># Zinit Setting</span> <span class="pl-c"><span class="pl-c">#</span> Must Load OMZ Git library</span> zi snippet OMZL::git.zsh <span class="pl-c"><span class="pl-c">#</span> Load Git plugin from OMZ</span> zi snippet OMZP::git zi cdclear -q <span class="pl-c"><span class="pl-c">#</span> <- forget completions provided up to this moment</span> setopt promptsubst <span class="pl-c"><span class="pl-c">#</span> Load Prompt</span> zi snippet OMZT::robbyrussell</pre></div> <p dir="auto">External Theme Sample: <a href="https://github.com/nicosantangelo/Alpharized">NicoSantangelo/Alpharized</a></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## Oh My Zsh Setting ZSH_THEME="alpharized" ## Zinit 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"><pre><span class="pl-c"><span class="pl-c">#</span># Oh My Zsh Setting</span> ZSH_THEME=<span class="pl-s"><span class="pl-pds">"</span>alpharized<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span># Zinit Setting</span> <span class="pl-c"><span class="pl-c">#</span> Must Load OMZ Git library</span> zi snippet OMZL::git.zsh <span class="pl-c"><span class="pl-c">#</span> Load Git plugin from OMZ</span> zi snippet OMZP::git zi cdclear -q <span class="pl-c"><span class="pl-c">#</span> <- forget completions provided up to this moment</span> setopt promptsubst <span class="pl-c"><span class="pl-c">#</span> Load Prompt</span> zi light NicoSantangelo/Alpharized</pre></div> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Frequently Asked Questions<a name="user-content-frequently-asked-questions"></a></h2><a id="user-content-frequently-asked-questions" class="anchor" aria-label="Permalink: Frequently Asked Questions" href="#frequently-asked-questions"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Error occurs when loading OMZ's theme.</p> <p dir="auto">If the <code>git</code> library will not be loaded, the following errors will appear:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="........:1: command not found: git_prompt_status ........:1: command not found: git_prompt_short_sha"><pre>........:1: <span class="pl-c1">command</span> not found: git_prompt_status ........:1: <span class="pl-c1">command</span> not found: git_prompt_short_sha</pre></div> <p dir="auto"><strong>Plugin</strong></p> <p dir="auto">If it consists of a single file, you can just load it.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## Oh-My-Zsh Setting plugins=( git dotenv rake rbenv ruby ) ## Zinit Setting zi snippet OMZP::git zi snippet OMZP::dotenv zi snippet OMZP::rake zi snippet OMZP::rbenv zi snippet OMZP::ruby"><pre><span class="pl-c"><span class="pl-c">#</span># Oh-My-Zsh Setting</span> plugins=( git dotenv rake rbenv ruby ) <span class="pl-c"><span class="pl-c">#</span># Zinit Setting</span> zi snippet OMZP::git zi snippet OMZP::dotenv zi snippet OMZP::rake zi snippet OMZP::rbenv zi snippet OMZP::ruby</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Use <code>zi ice svn</code> if a plugin/snippet requires an entire subdirectory<a name="user-content-use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory"></a></h3><a id="user-content-use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory" class="anchor" aria-label="Permalink: Use zi ice svn if a plugin/snippet requires an entire subdirectory" href="#use-zi-ice-svn-if-a-pluginsnippet-requires-an-entire-subdirectory"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ol dir="auto"> <li><a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast">gitfast</a></li> <li><a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/osx">osx</a></li> </ol> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi ice svn zi snippet OMZP::gitfast zi ice svn zi snippet OMZP::osx"><pre>zi ice svn zi snippet OMZP::gitfast zi ice svn zi snippet OMZP::osx</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Use <code>zi ice as'completion'</code> to directly add single file completion snippets<a name="user-content-use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets"></a></h3><a id="user-content-use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets" class="anchor" aria-label="Permalink: Use zi ice as'completion' to directly add single file completion snippets" href="#use-zi-ice-ascompletion-to-directly-add-single-file-completion-snippets"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ol dir="auto"> <li><a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker">docker</a></li> <li><a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fd">fd</a></li> </ol> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi ice as"completion" zi snippet OMZP::docker/_docker zi ice as"completion" zi snippet OMZP::fd/_fd"><pre>zi ice as<span class="pl-s"><span class="pl-pds">"</span>completion<span class="pl-pds">"</span></span> zi snippet OMZP::docker/_docker zi ice as<span class="pl-s"><span class="pl-pds">"</span>completion<span class="pl-pds">"</span></span> zi snippet OMZP::fd/_fd</pre></div> <p dir="auto"><a href="https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/" rel="nofollow">Find more information on Oh-My-Zsh + Zinit on the Wiki</a></p> </details> <details> <summary><b>Migration from Prezto</b></summary> <p dir="auto"><strong>Basic</strong></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi snippet <URL> # Raw Syntax with URL zi snippet PZT::<PATH> # Shorthand PZT/ (https://github.com/sorin-ionescu/prezto/tree/master/) zi snippet PZTM::<PATH> # Shorthand PZT/modules/"><pre>zi snippet <span class="pl-k"><</span>URL<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Raw Syntax with URL</span> zi snippet PZT::<span class="pl-k"><</span>PATH<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Shorthand PZT/ (https://github.com/sorin-ionescu/prezto/tree/master/)</span> zi snippet PZTM::<span class="pl-k"><</span>PATH<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Shorthand PZT/modules/</span></pre></div> <p dir="auto"><strong>Modules</strong></p> <p dir="auto">Importing the <a href="https://github.com/sorin-ionescu/prezto/tree/master/modules/environment">environment</a> and <a href="https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal">terminal</a> Prezto Modules Sample:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## Prezto Setting zstyle ':prezto:load' pmodule 'environment' 'terminal' ## Zinit 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"><pre><span class="pl-c"><span class="pl-c">#</span># Prezto Setting</span> zstyle <span class="pl-s"><span class="pl-pds">'</span>:prezto:load<span class="pl-pds">'</span></span> pmodule <span class="pl-s"><span class="pl-pds">'</span>environment<span class="pl-pds">'</span></span> <span class="pl-s"><span class="pl-pds">'</span>terminal<span class="pl-pds">'</span></span> <span class="pl-c"><span class="pl-c">#</span># Zinit Setting</span> <span class="pl-c"><span class="pl-c">#</span> Raw Syntax</span> 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 <span class="pl-c"><span class="pl-c">#</span> PZT Shorthand Syntax</span> zi snippet PZT::modules/environment zi snippet PZT::modules/terminal <span class="pl-c"><span class="pl-c">#</span> PZTM Shorthand Syntax</span> zi snippet PZTM::environment zi snippet PZTM::terminal</pre></div> <p dir="auto">Use <code>zinit ice svn</code> if multiple files require an entire subdirectory. Like <a href="https://github.com/sorin-ionescu/prezto/tree/master/modules/docker">docker</a>, <a href="https://github.com/sorin-ionescu/prezto/tree/master/modules/git">git</a>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi ice svn zi snippet PZTM::docker zi ice svn zi snippet PZTM::git"><pre>zi ice svn zi snippet PZTM::docker zi ice svn zi snippet PZTM::git</pre></div> <p dir="auto">Use <code>zinit ice as"null"</code> if don't exist <code>*.plugin.zsh</code>, <code>init.zsh</code>, <code>*.zsh-theme*</code> files in module. Like <a href="https://github.com/sorin-ionescu/prezto/tree/master/modules/archive">archive</a>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi ice svn as"null" zi snippet PZTM::archive"><pre>zi ice svn as<span class="pl-s"><span class="pl-pds">"</span>null<span class="pl-pds">"</span></span> zi snippet PZTM::archive</pre></div> <p dir="auto">Use <code>zinit ice atclone"git clone <repo> <location>"</code> if module have external module. Like <a href="https://github.com/sorin-ionescu/prezto/tree/master/modules/completion">completion</a>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi ice \ atclone"git clone --recursive https://github.com/zsh-users/zsh-completions.git external" \ blockf \ # use blockf to prevent any unnecessary additions to fpath, as zinit manages fpath svn zi snippet PZTM::completion"><pre>zi ice \ atclone<span class="pl-s"><span class="pl-pds">"</span>git clone --recursive https://github.com/zsh-users/zsh-completions.git external<span class="pl-pds">"</span></span> \ blockf <span class="pl-cce">\ </span><span class="pl-c"><span class="pl-c">#</span> use blockf to prevent any unnecessary additions to fpath, as zinit manages fpath</span> svn zi snippet PZTM::completion</pre></div> <p dir="auto"><strong><em>F&A:</em></strong> What is <code>zstyle</code>?</p> <p dir="auto">Read <a href="http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fzutil-Module" rel="nofollow">zstyle</a> doc (more: <a href="https://unix.stackexchange.com/questions/214657/what-does-zstyle-do" rel="nofollow">What does <code>zstyle</code> do?</a>).</p> </details> <details> <summary><b>Migration from Zgen</b></summary> <p dir="auto"><strong>Oh My Zsh</strong></p> <p dir="auto">More reference: check <strong>Migration from Oh-My-ZSH</strong></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Load ohmyzsh base zgen oh-my-zsh zi snippet OMZL::<ALL OF THEM> # Load ohmyzsh plugins zgen oh-my-zsh <PATH> zi snippet OMZ::<PATH>"><pre><span class="pl-c"><span class="pl-c">#</span> Load ohmyzsh base</span> zgen oh-my-zsh zi snippet OMZL::<span class="pl-k"><</span>ALL OF THEM<span class="pl-k">></span> <span class="pl-c"><span class="pl-c">#</span> Load ohmyzsh plugins</span> zgen oh-my-zsh <span class="pl-k"><</span>PATH<span class="pl-k">></span> zi snippet OMZ::<span class="pl-k"><</span>PATH<span class="pl-k">></span></pre></div> <p dir="auto"><strong>Prezto</strong></p> <p dir="auto">More reference: check <strong>Migration from Prezto</strong></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Load Prezto zgen prezto zi snippet PZTM::<COMMENT's List> # environment terminal editor history directory spectrum utility completion prompt # Load prezto plugins zgen prezto <modulename> zi snippet PZTM::<modulename> # Load a repo as Prezto plugins zgen pmodule <reponame> <branch> zi ice ver"<branch>" zi load <repo/plugin> # Set prezto options zgen prezto <modulename> <option> <value(s)> zstyle ':prezto:<modulename>:' <option> <values(s)> # Set original prezto style"><pre><span class="pl-c"><span class="pl-c">#</span> Load Prezto</span> zgen prezto zi snippet PZTM::<span class="pl-k"><</span>COMMENT<span class="pl-s"><span class="pl-pds">'</span>s List> # environment terminal editor history directory spectrum utility completion prompt</span> <span class="pl-s"></span> <span class="pl-s"># Load prezto plugins</span> <span class="pl-s">zgen prezto <modulename></span> <span class="pl-s">zi snippet PZTM::<modulename></span> <span class="pl-s"></span> <span class="pl-s"># Load a repo as Prezto plugins</span> <span class="pl-s">zgen pmodule <reponame> <branch></span> <span class="pl-s">zi ice ver"<branch>"</span> <span class="pl-s">zi load <repo/plugin></span> <span class="pl-s"></span> <span class="pl-s"># Set prezto options</span> <span class="pl-s">zgen prezto <modulename> <option> <value(s)></span> <span class="pl-s">zstyle <span class="pl-pds">'</span></span>:prezto:<span class="pl-k"><</span>modulename<span class="pl-k">></span>:<span class="pl-s"><span class="pl-pds">'</span> <option> <values(s)> # Set original prezto style</span></pre></div> <p dir="auto"><strong>General</strong></p> <p dir="auto"><code>location</code>: refer <a href="#selection-of-files-to-source-">Selection of Files</a></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zgen load <repo> [location] [branch] zi ice ver"[branch]" zi load <repo>"><pre>zgen load <span class="pl-k"><</span>repo<span class="pl-k">></span> [location] [branch] zi ice ver<span class="pl-s"><span class="pl-pds">"</span>[branch]<span class="pl-pds">"</span></span> zi load <span class="pl-k"><</span>repo<span class="pl-k">></span></pre></div> </details> <details> <summary><b>Migration from Zplug</b></summary> <p dir="auto"><strong>Basic</strong></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zplug <repo/plugin>, tag1:<option1>, tag2:<option2> zi ice tag1"<option1>" tag2"<option2>" zi load <repo/plugin>"><pre>zplug <span class="pl-k"><</span>repo/plugin<span class="pl-k">></span>, tag1:<span class="pl-k"><</span>option<span class="pl-k">1></span>, tag2:<span class="pl-k"><</span>option<span class="pl-k">2></span> zi ice tag1<span class="pl-s"><span class="pl-pds">"</span><option1><span class="pl-pds">"</span></span> tag2<span class="pl-s"><span class="pl-pds">"</span><option2><span class="pl-pds">"</span></span> zi load <span class="pl-k"><</span>repo/plugin<span class="pl-k">></span></pre></div> <p dir="auto"><strong>Tag comparison</strong></p> <ul dir="auto"> <li><code>as</code> => <code>as</code></li> <li><code>use</code> => <code>pick</code>, <code>src</code>, <code>multisrc</code></li> <li><code>ignore</code> => None</li> <li><code>from</code> => <code>from</code></li> <li><code>at</code> => <code>ver</code></li> <li><code>rename-to</code> => <code>mv</code>, <code>cp</code></li> <li><code>dir</code> => Selection(<code>pick</code>, ...) with rename</li> <li><code>if</code> => <code>if</code></li> <li><code>hook-build</code> => <code>atclone</code>, <code>atpull</code></li> <li><code>hook-load</code> => <code>atload</code></li> <li><code>frozen</code> => None</li> <li><code>on</code> => None</li> <li><code>defer</code> => <code>wait</code></li> <li><code>lazy</code> => <code>autoload</code></li> <li><code>depth</code> => <code>depth</code></li> </ul> </details> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">More Examples<a name="user-content-more-examples"></a></h3><a id="user-content-more-examples" class="anchor" aria-label="Permalink: More Examples" href="#more-examples"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">After installing Zinit you can start adding some actions (load some plugins) to <code>~/.zshrc</code>, at bottom. Some examples:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Load the pure theme, with zsh-async library that's bundled with it. zi ice pick"async.zsh" src"pure.zsh" zi light sindresorhus/pure # A glance at the new for-syntax – load all of the above # plugins with a single command. For more information see: # https://zdharma-continuum.github.io/zinit/wiki/For-Syntax/ zinit for \ light-mode \ zsh-users/zsh-autosuggestions \ light-mode \ zdharma-continuum/fast-syntax-highlighting \ zdharma-continuum/history-search-multi-word \ light-mode \ pick"async.zsh" \ src"pure.zsh" \ sindresorhus/pure # Binary release in archive, from GitHub-releases page. # After automatic unpacking it provides program "fzf". zi ice from"gh-r" as"program" zi light junegunn/fzf # One other binary release, it needs renaming from `docker-compose-Linux-x86_64`. # This is done by ice-mod `mv'{from} -> {to}'. There are multiple packages per # single version, for OS X, Linux and Windows – so ice-mod `bpick' is used to # select Linux package – in this case this is actually not needed, Zinit will # grep operating system name and architecture automatically when there's no `bpick'. zi ice from"gh-r" as"program" mv"docker* -> docker-compose" bpick"*linux*" zi load docker/compose # Vim repository on GitHub – a typical source code that needs compilation – Zinit # can manage it for you if you like, run `./configure` and other `make`, etc. # Ice-mod `pick` selects a binary program to add to $PATH. You could also install the # package under the path $ZPFX, see: https://zdharma-continuum.github.io/zinit/wiki/Compiling-programs zi ice \ as"program" \ atclone"rm -f src/auto/config.cache; ./configure" \ atpull"%atclone" \ make \ pick"src/vim" zi light vim/vim # Scripts built at install (there's single default make target, "install", # and it constructs scripts by `cat'ing a few files). The make'' ice could also be: # `make"install PREFIX=$ZPFX"`, if "install" wouldn't be the only default target. zi ice as"program" pick"$ZPFX/bin/git-*" make"PREFIX=$ZPFX" zi light tj/git-extras # Handle completions without loading any plugin; see "completions" command. # This one is to be ran just once, in interactive session. zi creinstall %HOME/my_completions"><pre><span class="pl-c"><span class="pl-c">#</span> Load the pure theme, with zsh-async library that's bundled with it.</span> zi ice pick<span class="pl-s"><span class="pl-pds">"</span>async.zsh<span class="pl-pds">"</span></span> src<span class="pl-s"><span class="pl-pds">"</span>pure.zsh<span class="pl-pds">"</span></span> zi light sindresorhus/pure <span class="pl-c"><span class="pl-c">#</span> A glance at the new for-syntax – load all of the above</span> <span class="pl-c"><span class="pl-c">#</span> plugins with a single command. For more information see:</span> <span class="pl-c"><span class="pl-c">#</span> https://zdharma-continuum.github.io/zinit/wiki/For-Syntax/</span> zinit <span class="pl-k">for</span> \ light-mode \ zsh-users/zsh-autosuggestions \ light-mode \ zdharma-continuum/fast-syntax-highlighting \ zdharma-continuum/history-search-multi-word \ light-mode \ pick<span class="pl-s"><span class="pl-pds">"</span>async.zsh<span class="pl-pds">"</span></span> \ src<span class="pl-s"><span class="pl-pds">"</span>pure.zsh<span class="pl-pds">"</span></span> \ sindresorhus/pure <span class="pl-c"><span class="pl-c">#</span> Binary release in archive, from GitHub-releases page.</span> <span class="pl-c"><span class="pl-c">#</span> After automatic unpacking it provides program "fzf".</span> zi ice from<span class="pl-s"><span class="pl-pds">"</span>gh-r<span class="pl-pds">"</span></span> as<span class="pl-s"><span class="pl-pds">"</span>program<span class="pl-pds">"</span></span> zi light junegunn/fzf <span class="pl-c"><span class="pl-c">#</span> One other binary release, it needs renaming from `docker-compose-Linux-x86_64`.</span> <span class="pl-c"><span class="pl-c">#</span> This is done by ice-mod `mv'{from} -> {to}'. There are multiple packages per</span> <span class="pl-c"><span class="pl-c">#</span> single version, for OS X, Linux and Windows – so ice-mod `bpick' is used to</span> <span class="pl-c"><span class="pl-c">#</span> select Linux package – in this case this is actually not needed, Zinit will</span> <span class="pl-c"><span class="pl-c">#</span> grep operating system name and architecture automatically when there's no `bpick'.</span> zi ice from<span class="pl-s"><span class="pl-pds">"</span>gh-r<span class="pl-pds">"</span></span> as<span class="pl-s"><span class="pl-pds">"</span>program<span class="pl-pds">"</span></span> mv<span class="pl-s"><span class="pl-pds">"</span>docker* -> docker-compose<span class="pl-pds">"</span></span> bpick<span class="pl-s"><span class="pl-pds">"</span>*linux*<span class="pl-pds">"</span></span> zi load docker/compose <span class="pl-c"><span class="pl-c">#</span> Vim repository on GitHub – a typical source code that needs compilation – Zinit</span> <span class="pl-c"><span class="pl-c">#</span> can manage it for you if you like, run `./configure` and other `make`, etc.</span> <span class="pl-c"><span class="pl-c">#</span> Ice-mod `pick` selects a binary program to add to $PATH. You could also install the</span> <span class="pl-c"><span class="pl-c">#</span> package under the path $ZPFX, see: https://zdharma-continuum.github.io/zinit/wiki/Compiling-programs</span> zi ice \ as<span class="pl-s"><span class="pl-pds">"</span>program<span class="pl-pds">"</span></span> \ atclone<span class="pl-s"><span class="pl-pds">"</span>rm -f src/auto/config.cache; ./configure<span class="pl-pds">"</span></span> \ atpull<span class="pl-s"><span class="pl-pds">"</span>%atclone<span class="pl-pds">"</span></span> \ make \ pick<span class="pl-s"><span class="pl-pds">"</span>src/vim<span class="pl-pds">"</span></span> zi light vim/vim <span class="pl-c"><span class="pl-c">#</span> Scripts built at install (there's single default make target, "install",</span> <span class="pl-c"><span class="pl-c">#</span> and it constructs scripts by `cat'ing a few files). The make'' ice could also be:</span> <span class="pl-c"><span class="pl-c">#</span> `make"install PREFIX=$ZPFX"`, if "install" wouldn't be the only default target.</span> zi ice as<span class="pl-s"><span class="pl-pds">"</span>program<span class="pl-pds">"</span></span> pick<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$ZPFX</span>/bin/git-*<span class="pl-pds">"</span></span> make<span class="pl-s"><span class="pl-pds">"</span>PREFIX=<span class="pl-smi">$ZPFX</span><span class="pl-pds">"</span></span> zi light tj/git-extras <span class="pl-c"><span class="pl-c">#</span> Handle completions without loading any plugin; see "completions" command.</span> <span class="pl-c"><span class="pl-c">#</span> This one is to be ran just once, in interactive session.</span> zi creinstall %HOME/my_completions</pre></div> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# For GNU ls (the binaries can be gls, gdircolors, e.g. on OS X when installing the # coreutils package from Homebrew; you can also use https://github.com/ogham/exa) zi ice atclone"dircolors -b LS_COLORS > c.zsh" atpull'%atclone' pick"c.zsh" nocompile'!' zi light trapd00r/LS_COLORS"><pre><span class="pl-c"><span class="pl-c">#</span> For GNU ls (the binaries can be gls, gdircolors, e.g. on OS X when installing the</span> <span class="pl-c"><span class="pl-c">#</span> coreutils package from Homebrew; you can also use https://github.com/ogham/exa)</span> zi ice atclone<span class="pl-s"><span class="pl-pds">"</span>dircolors -b LS_COLORS > c.zsh<span class="pl-pds">"</span></span> atpull<span class="pl-s"><span class="pl-pds">'</span>%atclone<span class="pl-pds">'</span></span> pick<span class="pl-s"><span class="pl-pds">"</span>c.zsh<span class="pl-pds">"</span></span> nocompile<span class="pl-s"><span class="pl-pds">'</span>!<span class="pl-pds">'</span></span> zi light trapd00r/LS_COLORS</pre></div> <p dir="auto"><a href="https://zdharma-continuum.github.io/zinit/wiki/LS_COLORS-explanation/" rel="nofollow">You can see an extended explanation of LS_COLORS in the Wiki.</a></p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# make'!...' -> run make before atclone & atpull zi ice as"program" make'!' atclone'./direnv hook zsh > zhook.zsh' atpull'%atclone' src"zhook.zsh" zi light direnv/direnv"><pre><span class="pl-c"><span class="pl-c">#</span> make'!...' -> run make before atclone & atpull</span> zi ice as<span class="pl-s"><span class="pl-pds">"</span>program<span class="pl-pds">"</span></span> make<span class="pl-s"><span class="pl-pds">'</span>!<span class="pl-pds">'</span></span> atclone<span class="pl-s"><span class="pl-pds">'</span>./direnv hook zsh > zhook.zsh<span class="pl-pds">'</span></span> atpull<span class="pl-s"><span class="pl-pds">'</span>%atclone<span class="pl-pds">'</span></span> src<span class="pl-s"><span class="pl-pds">"</span>zhook.zsh<span class="pl-pds">"</span></span> zi light direnv/direnv</pre></div> <p dir="auto"><a href="https://zdharma-continuum.github.io/zinit/wiki/Direnv-explanation/" rel="nofollow">You can see an extended explanation of direnv in the Wiki.</a></p> <p dir="auto">If you're interested in more examples, then check out the <a href="https://github.com/zdharma-continuum/zinit-configs">zinit-configs repository</a>, where users have uploaded their <code>~/.zshrc</code> and Zinit configurations. Feel free to <a href="https://github.com/zdharma-continuum/zinit-configs/issues/new?template=request-to-add-zshrc-to-the-zinit-configs-repo.md">submit</a> your <code>~/.zshrc</code> there if it contains Zinit commands.</p> <p dir="auto">You can also check out the <a href="https://zdharma-continuum.github.io/zinit/wiki/GALLERY/" rel="nofollow">Gallery of Zinit Invocations</a> for some additional examples.</p> <p dir="auto">Also, two articles on the Wiki present an example setup <a href="https://zdharma-continuum.github.io/zinit/wiki/Example-Minimal-Setup/" rel="nofollow">here</a> and <a href="https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/" rel="nofollow">here</a>.</p> <div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">How to Use<a name="user-content-how-to-use"></a></h1><a id="user-content-how-to-use" class="anchor" aria-label="Permalink: How to Use" href="#how-to-use"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Ice Modifiers<a name="user-content-ice-modifiers"></a></h2><a id="user-content-ice-modifiers" class="anchor" aria-label="Permalink: Ice Modifiers" href="#ice-modifiers"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Following <code>ice</code> modifiers are to be <a href="https://zdharma-continuum.github.io/zinit/wiki/Alternate-Ice-Syntax/" rel="nofollow">passed</a> to <code>zinit ice ...</code> to obtain described effects. The word <code>ice</code> means something that's added (like ice to a drink) – and in Zinit it means adding modifier to a next <code>zinit</code> command, and also something that's temporary because it melts – and this means that the modification will last only for a <strong>single</strong> next <code>zinit</code> command.</p> <p dir="auto">Some Ice-modifiers are highlighted and clicking on them will take you to the appropriate Wiki page for an extended explanation.</p> <p dir="auto">You may safely assume a given ice works with both plugins and snippets unless explicitly stated otherwise.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Cloning Options<a name="user-content-cloning-options"></a></h3><a id="user-content-cloning-options" class="anchor" aria-label="Permalink: Cloning Options" href="#cloning-options"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>bpick</code></td> <td>Used to select which release from GitHub Releases to download, e.g. <code>zini ice from"gh-r" as"program" bpick"*Darwin*"; zini load docker/compose</code>. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>cloneopts</code></td> <td>Pass the contents of <code>cloneopts</code> to <code>git clone</code>. Defaults to <code>--recursive</code>. I.e.: change cloning options. Pass empty ice to disable recursive cloning. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>depth</code></td> <td>Pass <code>--depth</code> to <code>git</code>, i.e. limit how much of history to download. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>from</code></td> <td>Clone plugin from given site. Supported are <code>from"github"</code> (default), <code>..."github-rel"</code>, <code>..."gitlab"</code>, <code>..."bitbucket"</code>, <code>..."notabug"</code> (short names: <code>gh</code>, <code>gh-r</code>, <code>gl</code>, <code>bb</code>, <code>nb</code>). Can also be a full domain name (e.g. for GitHub enterprise). <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>proto</code></td> <td>Change protocol to <code>git</code>,<code>ftp</code>,<code>ftps</code>,<code>ssh</code>, <code>rsync</code>, etc. Default is <code>https</code>. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>pullopts</code></td> <td>Pass the contents of <code>pullopts</code> to <code>git pull</code> used when updating plugins. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>svn</code></td> <td>Use Subversion for downloading snippet. GitHub supports <code>SVN</code> protocol, this allows to clone subdirectories as snippets, e.g. <code>zinit ice svn; zinit snippet OMZP::git</code>. Other ice <code>pick</code> can be used to select file to source (default are: <code>*.plugin.zsh</code>, <code>init.zsh</code>, <code>*.zsh-theme</code>). <strong>Does not work with plugins.</strong></td> </tr> <tr> <td align="left"><code>ver</code></td> <td>Used with <code>from"gh-r"</code> (i.e. downloading a binary release, e.g. for use with <code>as"program"</code>) – selects which version to download. Default is latest, can also be explicitly <code>ver"latest"</code>. Works also with regular plugins and packages (<code>pack</code> ice) checkouts e.g. <code>ver"abranch"</code>, i.e. a specific version. <strong>Does not work with snippets.</strong></td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Selection of Files (To Source, …)<a name="user-content-selection-of-files-to-source-%E2%80%A6"></a></h3><a id="user-content-selection-of-files-to-source-" class="anchor" aria-label="Permalink: Selection of Files (To Source, …)" href="#selection-of-files-to-source-"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>multisrc</code></td> <td>Allows to specify multiple files for sourcing, enumerated with spaces as the separators (e.g. <code>multisrc'misc.zsh grep.zsh'</code>) and also using brace-expansion syntax (e.g. <code>multisrc'{misc,grep}.zsh'</code>). Supports patterns.</td> </tr> <tr> <td align="left"><code>pick</code></td> <td>Select the file to source, or the file to set as command (when using <code>snippet --command</code> or the ice <code>as"program"</code>); it is a pattern, alphabetically first matched file is being chosen; e.g. <code>zinit ice pick"*.plugin.zsh"; zinit load …</code>.</td> </tr> <tr> <td align="left"><code>src</code></td> <td>Specify additional file to source after sourcing main file or after setting up command (via <code>as"program"</code>). It is not a pattern but a plain file name.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Conditional Loading<a name="user-content-conditional-loading"></a></h3><a id="user-content-conditional-loading" class="anchor" aria-label="Permalink: Conditional Loading" href="#conditional-loading"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>cloneonly</code></td> <td>Don't load the plugin / snippet, only download it</td> </tr> <tr> <td align="left"><code>has</code></td> <td>Load plugin or snippet only when given command is available (in $PATH), e.g. <code>zinit ice has'git' ...</code></td> </tr> <tr> <td align="left"><code>if</code></td> <td>Load plugin or snippet only when given condition is fulfilled, for example: <code>zinit ice if'[[ -n "$commands[otool]" ]]'; zinit load ...</code>.</td> </tr> <tr> <td align="left"><code>load</code></td> <td>A condition to check which should cause plugin to load. It will load once, the condition can be still true, but will not trigger second load (unless plugin is unloaded earlier, see <code>unload</code> below). E.g.: <code>load'[[ $PWD = */github* ]]'</code>.</td> </tr> <tr> <td align="left"><code>subscribe</code> / <code>on-update-of</code></td> <td>Postpone loading of a plugin or snippet until the given file(s) get updated, e.g. <code>subscribe'{~/files-*,/tmp/files-*}'</code></td> </tr> <tr> <td align="left"><code>trigger-load</code></td> <td>Creates a function that loads the associated plugin/snippet, with an option (to use it, precede the ice content with <code>!</code>) to automatically forward the call afterwards, to a command of the same name as the function. Can obtain multiple functions to create – sparate with <code>;</code>.</td> </tr> <tr> <td align="left"><code>unload</code></td> <td>A condition to check causing plugin to unload. It will unload once, then only if loaded again. E.g.: <code>unload'[[ $PWD != */github* ]]'</code>.</td> </tr> <tr> <td align="left"><code>wait</code></td> <td>Postpone loading a plugin or snippet. For <code>wait'1'</code>, loading is done <code>1</code> second after prompt. For <code>wait'[[ ... ]]'</code>, <code>wait'(( ... ))'</code>, loading is done when given condition is meet. For <code>wait'!...'</code>, prompt is reset after load. Zsh can start 80% (i.e.: 5x) faster thanks to postponed loading. <strong>Fact:</strong> when <code>wait</code> is used without value, it works as <code>wait'0'</code>.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Plugin Output<a name="user-content-plugin-output"></a></h3><a id="user-content-plugin-output" class="anchor" aria-label="Permalink: Plugin Output" href="#plugin-output"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>lucid</code></td> <td>Skip <code>Loaded ...</code> message under prompt for <code>wait</code>, etc. loaded plugins (a subset of <code>silent</code>).</td> </tr> <tr> <td align="left"><code>notify</code></td> <td>Output given message under-prompt after successfully loading a plugin/snippet. In case of problems with the loading, output a warning message and the return code. If starts with <code>!</code> it will then always output the given message. Hint: if the message is empty, then it will just notify about problems.</td> </tr> <tr> <td align="left"><code>silent</code></td> <td>Mute plugin's or snippet's <code>stderr</code> & <code>stdout</code>. Also skip <code>Loaded ...</code> message under prompt for <code>wait</code>, etc. loaded plugins, and completion-installation messages.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Completions<a name="user-content-completions"></a></h3><a id="user-content-completions" class="anchor" aria-label="Permalink: Completions" href="#completions"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>blockf</code></td> <td>Disallow plugin to modify <code>fpath</code>. Useful when a plugin wants to provide completions in traditional way. Zinit can manage completions and plugin can be blocked from exposing them.</td> </tr> <tr> <td align="left"><code>completions</code></td> <td>Do detect, install and manage completions for this plugin. Overwrites <code>as'null'</code> or <code>nocompletions</code>.</td> </tr> <tr> <td align="left"><code>nocompletions</code></td> <td>Don't detect, install and manage completions for this plugin. Completions can be installed later with <code>zinit creinstall {plugin-spec}</code>.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Command Execution After Cloning, Updating or Loading<a name="user-content-command-execution-after-cloning-updating-or-loading"></a></h3><a id="user-content-command-execution-after-cloning-updating-or-loading" class="anchor" aria-label="Permalink: Command Execution After Cloning, Updating or Loading" href="#command-execution-after-cloning-updating-or-loading"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>atclone</code></td> <td>Run command after cloning, within plugin's directory, e.g. <code>zinit ice atclone"echo Cloned"</code>. Ran also after downloading snippet.</td> </tr> <tr> <td align="left"><code>atinit</code></td> <td>Run command after directory setup (cloning, checking it, etc.) of plugin/snippet but before loading.</td> </tr> <tr> <td align="left"><code>atload</code></td> <td>Run command after loading, within plugin's directory. Can be also used with snippets. Passed code can be preceded with <code>!</code>, it will then be investigated (if using <code>load</code>, not <code>light</code>).</td> </tr> <tr> <td align="left"><code>atpull</code></td> <td>Run command after updating (<strong>only if new commits are waiting for download</strong>), within plugin's directory. If starts with "!" then command will be ran before <code>mv</code> & <code>cp</code> ices and before <code>git pull</code> or <code>svn update</code>. Otherwise it is ran after them. Can be <code>atpull'%atclone'</code>, to repeat <code>atclone</code> Ice-mod.</td> </tr> <tr> <td align="left"><code>configure</code></td> <td>Runs <code>./configure</code> script and by default changes the installation directory by passing <code>--prefix=$ZPFX</code> to the script. Runs before <code>make''</code> and after <code>make'!'</code>, you can pass <code>'!'</code> too to this ice (i.e.: <code>configure'!'</code>) to make it execute earlier – before <code>make'!'</code> and after <code>make'!!'</code>. If <code>#</code> given in the ice value then also executes script <code>./autogen.sh</code> first before running <code>./configure</code>. The script is run anyway if there is no <code>configure</code> script. Also, when there exist another build-system related files, then it is run if no <code>configure</code> script is found. Currently supported systems are: CMake, scons and meson, checked-for/run in this order</td> </tr> <tr> <td align="left"><code>countdown</code></td> <td>Causes an interruptable (by Ctrl-C) countdown 5…4…3…2…1…0 to be displayed before executing <code>atclone''</code>,<code>atpull''</code> and <code>make</code> ices</td> </tr> <tr> <td align="left"><code>cp</code></td> <td>Copy file after cloning or after update (then, only if new commits were downloaded). Example: <code>cp "docker-c* -> dcompose"</code>. Ran after <code>mv</code>.</td> </tr> <tr> <td align="left"><code>make</code></td> <td>Run <code>make</code> command after cloning/updating and executing <code>mv</code>, <code>cp</code>, <code>atpull</code>, <code>atclone</code> Ice mods. Can obtain argument, e.g. <code>make"install PREFIX=/opt"</code>. If the value starts with <code>!</code> then <code>make</code> is ran before <code>atclone</code>/<code>atpull</code>, e.g. <code>make'!'</code>.</td> </tr> <tr> <td align="left"><code>mv</code></td> <td>Move file after cloning or after update (then, only if new commits were downloaded). Example: <code>mv "fzf-* -> fzf"</code>. It uses <code>-></code> as separator for old and new file names. Works also with snippets.</td> </tr> <tr> <td align="left"><code>nocd</code></td> <td>Don't switch the current directory into the plugin's directory when evaluating the above ice-mods <code>atinit''</code>,<code>atload''</code>, etc.</td> </tr> <tr> <td align="left"><code>reset</code></td> <td>Invokes <code>git reset --hard HEAD</code> for plugins or <code>svn revert</code> for SVN snippets before pulling any new changes. This way <code>git</code> or <code>svn</code> will not report conflicts if some changes were done in e.g.: <code>atclone''</code> ice. For file snippets and <code>gh-r</code> plugins it invokes <code>rm -rf *</code>.</td> </tr> <tr> <td align="left"><code>run-atpull</code></td> <td>Always run the atpull hook (when updating), not only when there are new commits to be downloaded.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Sticky-Emulation Of Other Shells<a name="user-content-sticky-emulation-of-other-shells"></a></h3><a id="user-content-sticky-emulation-of-other-shells" class="anchor" aria-label="Permalink: Sticky-Emulation Of Other Shells" href="#sticky-emulation-of-other-shells"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>sh</code>/<code>!sh</code></td> <td>Source the plugin's (or snippet's) script with <code>sh</code> emulation so that also all functions declared within the file will get a <em>sticky</em> emulation assigned – when invoked they'll execute also with the <code>sh</code> emulation set-up. The <code>!sh</code> version switches additional options that are rather not important from the portability perspective.</td> </tr> <tr> <td align="left"><code>csh</code>/<code>!csh</code></td> <td>The same as <code>sh</code>, but emulating <code>csh</code> shell.</td> </tr> <tr> <td align="left"><code>ksh</code>/<code>!ksh</code></td> <td>The same as <code>sh</code>, but emulating <code>ksh</code> shell.</td> </tr> <tr> <td align="left"><code>bash</code>/<code>!bash</code></td> <td>The same as <code>sh</code>, but with the <code>SH_GLOB</code> option disabled, so that Bash regular expressions work.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Others<a name="user-content-others"></a></h3><a id="user-content-others" class="anchor" aria-label="Permalink: Others" href="#others"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Modifier</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>as</code></td> <td>Can be <code>as"program"</code> (also the alias: <code>as"command"</code>), and will cause to add script/program to <code>$PATH</code> instead of sourcing (see <code>pick</code>). Can also be <code>as"completion"</code> – use with plugins or snippets in whose only underscore-starting <code>_*</code> files you are interested in. The third possible value is <code>as"null"</code> – a shorthand for <code>pick"/dev/null" nocompletions</code> – i.e.: it disables the default script-file sourcing and also the installation of completions.</td> </tr> <tr> <td align="left"><code>link</code></td> <td>Use a symlink to cache a local snippet instead of copying into the snippets directory. Uses relative links if realpath >= 8.23 is found. <strong><em>Does not apply to URL-based snippets. Does not work with plugins.</em></strong></td> </tr> <tr> <td align="left"><code>id-as</code></td> <td>Nickname a plugin or snippet, to e.g. create a short handler for long-url snippet.</td> </tr> <tr> <td align="left"><code>subst</code></td> <td>Substitute the given string into another string when sourcing the plugin script, e.g.: <code>zinit subst'autoload → autoload -Uz' …</code>.</td> </tr> <tr> <td align="left"><code>aliases</code></td> <td>Load the plugin with the aliases mechanism enabled. Use with plugins that define <strong>and use</strong> aliases in their scripts.</td> </tr> <tr> <td align="left"><code>autoload</code></td> <td>Autoload the given functions (from their files). Equvalent to calling <code>atinit'autoload the-function'</code>. Supports renaming of the function – pass <code>'… → new-name'</code> or <code>'… -> new-name'</code>, e.g.: <code>zinit autoload'fun → my-fun; fun2 → my-fun2'</code>.</td> </tr> <tr> <td align="left"><code>bindmap</code></td> <td>To hold <code>;</code>-separated strings like <code>Key(s)A -> Key(s)B</code>, e.g. <code>^R -> ^T; ^A -> ^B</code>. In general, <code>bindmap''</code>changes bindings (done with the <code>bindkey</code> builtin) the plugin does. The example would cause the plugin to map Ctrl-T instead of Ctrl-R, and Ctrl-B instead of Ctrl-A. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>compile</code></td> <td>Pattern (+ possible <code>{...}</code> expansion, like <code>{a/*,b*}</code>) to select additional files to compile, e.g. <code>compile'*.zsh'</code>.</td> </tr> <tr> <td align="left"><code>extract</code></td> <td>Performs archive extraction supporting multiple formats like <code>zip</code>, <code>tar.gz</code>, etc. and also notably OS X <code>dmg</code> images. If it has no value, then it works in the <em>auto</em> mode – it automatically extracts all files of known archive extensions IF they aren't located deeper than in a sub-directory (this is to prevent extraction of some helper archive files, typically located somewhere deeper in the tree). If no such files will be found, then it extracts all found files of known <strong>type</strong> – the type is being read by the <code>file</code> Unix command. If not empty, then takes names of the files to extract. Refer to the Wiki page for further information.</td> </tr> <tr> <td align="left"><code>service</code></td> <td>Make following plugin or snippet a <em>service</em>, which will be ran in background, and only in single Zshell instance. See <a href="https://github.com/orgs/zdharma-continuum/repositories?q=zservice-">the zservice-* repositories</a>.</td> </tr> <tr> <td align="left"><code>light-mode</code></td> <td>Load the plugin without the investigating, i.e.: as if it would be loaded with the <code>light</code> command. Useful for the for-syntax, where there is no <code>load</code> nor <code>light</code> subcommand</td> </tr> <tr> <td align="left"><code>nocompile</code></td> <td>Don't try to compile <code>pick</code>-pointed files. If passed the exclamation mark (i.e. <code>nocompile'!'</code>), then do compile, but after <code>make''</code> and <code>atclone''</code> (useful if Makefile installs some scripts, to point <code>pick''</code> at the location of their installation).</td> </tr> <tr> <td align="left"><code>trackbinds</code></td> <td>Shadow but only <code>bindkey</code> calls even with <code>zinit light ...</code>, i.e. even with investigating disabled (fast loading), to allow <code>bindmap</code> to remap the key-binds. The same effect has <code>zinit light -b ...</code>, i.e. additional <code>-b</code> option to the <code>light</code>-subcommand. <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>wrap-track</code></td> <td>Takes a <code>;</code>-separated list of function names that are to be investigated (meaning gathering report and unload data) <strong>once</strong> during execution. It works by wrapping the functions with a investigating-enabling and disabling snippet of code. In summary, <code>wrap-track</code> allows to extend the investigating beyond the moment of loading of a plugin. Example use is to <code>wrap-track</code> a precmd function of a prompt (like <code>_p9k_precmd()</code> of powerlevel10k) or other plugin that <em>postpones its initialization till the first prompt</em> (like e.g.: zsh-autosuggestions). <strong>Does not work with snippets.</strong></td> </tr> <tr> <td align="left"><code>reset-prompt</code></td> <td>Reset the prompt after loading the plugin/snippet (by issuing <code>zle .reset-prompt</code>). Note: normally it's sufficient to precede the value of <code>wait''</code> ice with <code>!</code>.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Order of Execution<a name="user-content-order-of-execution"></a></h3><a id="user-content-order-of-execution" class="anchor" aria-label="Permalink: Order of Execution" href="#order-of-execution"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Order of execution of related Ice-mods: <code>atinit</code> -> <code>atpull!</code> -> <code>make'!!'</code> -> <code>mv</code> -> <code>cp</code> -> <code>make!</code> -> <code>atclone</code>/<code>atpull</code> -> <code>make</code> -> <code>(plugin script loading)</code> -> <code>src</code> -> <code>multisrc</code> -> <code>atload</code>.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Zinit Commands<a name="user-content-zinit-commands"></a></h2><a id="user-content-zinit-commands" class="anchor" aria-label="Permalink: Zinit Commands" href="#zinit-commands"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Following commands are passed to <code>zinit ...</code> to obtain described effects.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Help<a name="user-content-help"></a></h3><a id="user-content-help" class="anchor" aria-label="Permalink: Help" href="#help"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Command</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>help</code></td> <td>Usage information.</td> </tr> <tr> <td align="left"><code>man</code></td> <td>Manual.</td> </tr> <tr> <td align="left"><code>version</code></td> <td>Display Zinit version</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Loading and Unloading<a name="user-content-loading-and-unloading"></a></h3><a id="user-content-loading-and-unloading" class="anchor" aria-label="Permalink: Loading and Unloading" href="#loading-and-unloading"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th align="left">Command</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>load {plg-spec}</code></td> <td>Load plugin, can also receive absolute local path.</td> </tr> <tr> <td align="left"><code>snippet [-f] {url}</code></td> <td>Source local or remote file (by direct URL). <code>-f</code> – don't use cache (force redownload). The URL can use the following shorthands: <code>PZT::</code> (Prezto), <code>PZTM::</code> (Prezto module), <code>OMZ::</code> (Oh My Zsh), <code>OMZP::</code> (OMZ plugin), <code>OMZL::</code> (OMZ library), <code>OMZT::</code> (OMZ theme), e.g.: <code>PZTM::environment</code>, <code>OMZP::git</code>, etc.</td> </tr> <tr> <td align="left"><code>light [-b] {plg-spec}</code></td> <td>Light plugin load, without reporting/investigating. <code>-b</code> – investigate <code>bindkey</code>-calls only. There's also <code>light-mode</code> ice which can be used to induce the no-investigating (i.e.: <em>light</em>) loading, regardless of the command used.</td> </tr> <tr> <td align="left"><code>unload [-q] {plg-spec}</code></td> <td>Unload plugin loaded with <code>zinit load ...</code>. <code>-q</code> – quiet.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Completions<a name="user-content-completions-1"></a></h3><a id="user-content-completions-1" class="anchor" aria-label="Permalink: Completions" href="#completions-1"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Command</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>cclear</code></td> <td>Clear stray and improper completions.</td> </tr> <tr> <td><code>cdclear [-q]</code></td> <td>Clear compdef replay list. <code>-q</code> – quiet.</td> </tr> <tr> <td><code>cdisable {cname}</code></td> <td>Disable completion <code>cname</code>.</td> </tr> <tr> <td><code>cdlist</code></td> <td>Show compdef replay list.</td> </tr> <tr> <td><code>cdreplay [-q]</code></td> <td>Replay compdefs (to be done after compinit). <code>-q</code> – quiet.</td> </tr> <tr> <td><code>cenable {cname}</code></td> <td>Enable completion <code>cname</code>.</td> </tr> <tr> <td><code>completions \[*columns*\]</code></td> <td>List completions in use, with <code>columns</code> completions per line. <code>zpl clist 5</code> will for example print 5 completions per line. Default is 3.</td> </tr> <tr> <td><code>compinit</code></td> <td>Refresh installed completions.</td> </tr> <tr> <td><code>creinstall [-q] [-Q] {plg-spec}</code></td> <td>Install completions for plugin, can also receive absolute local path. <code>-q</code> – quiet. <code>-Q</code> - quiet all.</td> </tr> <tr> <td><code>csearch</code></td> <td>Search for available completions from any plugin.</td> </tr> <tr> <td><code>cuninstall {plg-spec}</code></td> <td>Uninstall completions for plugin.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Tracking of the Active Session<a name="user-content-tracking-of-the-active-session"></a></h3><a id="user-content-tracking-of-the-active-session" class="anchor" aria-label="Permalink: Tracking of the Active Session" href="#tracking-of-the-active-session"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Command</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>dclear</code></td> <td>Clear report of what was going on in session.</td> </tr> <tr> <td><code>dstop</code></td> <td>Stop investigating what's going on in session.</td> </tr> <tr> <td><code>dreport</code></td> <td>Report what was going on in session.</td> </tr> <tr> <td><code>dunload</code></td> <td>Revert changes recorded between dstart and dstop.</td> </tr> <tr> <td><code>dtrace, dstart</code></td> <td>Start investigating what's going on in session.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Reports and Statistics<a name="user-content-reports-and-statistics"></a></h3><a id="user-content-reports-and-statistics" class="anchor" aria-label="Permalink: Reports and Statistics" href="#reports-and-statistics"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Command</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>bindkeys</code></td> <td>Lists bindkeys set up by each plugin.</td> </tr> <tr> <td><code>list-plugins [keyword]</code></td> <td>Show what plugins are loaded (filter with 'keyword').</td> </tr> <tr> <td><code>list-snippets</code></td> <td>List snippets in formatted and colorized manner. Requires <code>tree</code> program.</td> </tr> <tr> <td><code>recently [time-spec]</code></td> <td>Show plugins that changed recently, argument is e.g. 1 month 2 days.</td> </tr> <tr> <td><code>report {plg-spec}</code></td> <td>Show plugin report. <code>--all</code> – do it for all plugins.</td> </tr> <tr> <td><code>status {plg-spec}</code></td> <td>Git status for plugin or svn status for snippet. <code>--all</code> – do it for all plugins and snippets.</td> </tr> <tr> <td><code>zstatus</code></td> <td>Display brief statistics for your Zinit installation.</td> </tr> <tr> <td><code>times [-a] [-m] [-s]</code></td> <td>Print load times for each plugin. <code>-s</code> – Times are printed in seconds. <code>-m</code> – Show plugin loading moments. <code>-a</code> - Times and loading moments are printed.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Compiling<a name="user-content-compiling"></a></h3><a id="user-content-compiling" class="anchor" aria-label="Permalink: Compiling" href="#compiling"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">compile<a name="user-content-compile"></a></h4><a id="user-content-compile" class="anchor" aria-label="Permalink: compile" href="#compile"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">List plugins that are compiled.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit [options] compile PLUGIN"><pre>zinit [options] compile PLUGIN</pre></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Option</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>-a, --all</code></td> <td>Compile all plugins</td> </tr> <tr> <td><code>-h, --help</code></td> <td>Print usage</td> </tr> <tr> <td><code>-q, --quiet</code></td> <td>Suppress the build output</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">compiled<a name="user-content-compiled"></a></h4><a id="user-content-compiled" class="anchor" aria-label="Permalink: compiled" href="#compiled"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">List plugins that are compiled.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit compiled"><pre>zinit compiled</pre></div> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">uncompile<a name="user-content-uncompile"></a></h4><a id="user-content-uncompile" class="anchor" aria-label="Permalink: uncompile" href="#uncompile"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">List plugins that are compiled.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit [options] uncompile PLUGIN"><pre>zinit [options] uncompile PLUGIN</pre></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Option</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>-a, --all</code></td> <td>Remove any compiled files for all plugins</td> </tr> <tr> <td><code>-h, --help</code></td> <td>Print usage</td> </tr> <tr> <td><code>-q, --quiet</code></td> <td>Suppress the output</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Other<a name="user-content-other"></a></h3><a id="user-content-other" class="anchor" aria-label="Permalink: Other" href="#other"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Command</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>module</code></td> <td>Manage binary Zsh module shipped with Zinit, see <code>zinit module help</code>.</td> </tr> <tr> <td><code>self-update</code></td> <td>Updates and compiles Zinit.</td> </tr> <tr> <td><code>cd {plg-spec}</code></td> <td>Cd into plugin's directory. Also support snippets if fed with URL.</td> </tr> <tr> <td><code>edit {plg-spec}</code></td> <td>Edit plugin's file with $EDITOR.</td> </tr> <tr> <td><code>changes {plg-spec}</code></td> <td>View plugin's git log.</td> </tr> <tr> <td><code>create {plg-spec}</code></td> <td>Create plugin (also together with GitHub repository).</td> </tr> <tr> <td><code>glance {plg-spec}</code></td> <td>Look at plugin's source (pygmentize, {,source-}highlight).</td> </tr> <tr> <td><code>stress {plg-spec}</code></td> <td>Test plugin for compatibility with set of options.</td> </tr> <tr> <td><code>recall {plg-spec}|URL</code></td> <td>Fetch saved ice modifiers and construct <code>zinit ice ...</code> command.</td> </tr> <tr> <td><code>srv {service-id} [cmd]</code></td> <td>Control a service, command can be: stop,start,restart,next,quit; <code>next</code> moves the service to another Zshell.</td> </tr> <tr> <td><code>ice <ice specification></code></td> <td>Add ice to next command, argument is e.g. from"gitlab".</td> </tr> <tr> <td><code>env-whitelist [-v] [-h] {env..}</code></td> <td>Allows to specify names (also patterns) of variables left unchanged during an unload. <code>-v</code> – verbose.</td> </tr> <tr> <td><code>run</code> <code>[-l]</code> <code>[plugin]</code> <code>{command}</code></td> <td>Runs the given command in the given plugin's directory. If the option <code>-l</code> will be given then the plugin should be skipped – the option will cause the previous plugin to be reused.</td> </tr> <tr> <td><code>delete {plg-spec}|URL|--clean|--all</code></td> <td>Remove plugin or snippet from disk (good to forget wrongly passed ice-mods). <br> <code>--all</code> – purge.<br> <code>--clean</code> – delete plugins and snippets that are not loaded.</td> </tr> <tr> <td><code>update [-q] [-r] {plg-spec}|URL|--all</code></td> <td>Git update plugin or snippet.<br> <code>--all</code> – update all plugins and snippets.<br> <code>-q</code> – quiet.<br> <code>-r</code> | <code>--reset</code> – run <code>git reset --hard</code> / <code>svn revert</code> before pulling changes.</td> </tr> <tr> <td><code>add-fpath|fpath</code> <code>[-f|--front]</code> <code>{plg-spec}</code> <code>[subdirectory]</code></td> <td>Adds given plugin (not yet snippet) directory to <code>$fpath</code>. If the second argument is given, it is appended to the directory path. If the option <code>-f</code>/<code>--front</code> is given, the directory path is prepended instead of appended to <code>$fpath</code>. The <code>{plg-spec}</code> can be absolute path, i.e.: it's possible to also add regular directories.</td> </tr> </tbody> </table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Updating Zinit and Plugins<a name="user-content-updating-zinit-and-plugins"></a></h2><a id="user-content-updating-zinit-and-plugins" class="anchor" aria-label="Permalink: Updating Zinit and Plugins" href="#updating-zinit-and-plugins"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">To update Zinit issue <code>zinit self-update</code> in the command line.</p> <p dir="auto">To update all plugins and snippets, issue <code>zinit update</code>. If you wish to update only a single plugin/snippet instead issue <code>zinit update NAME_OF_PLUGIN</code>. A list of commits will be shown:</p> <p align="center" dir="auto"> <a target="_blank" rel="noopener noreferrer" href="/zdharma-continuum/zinit/blob/main/doc/img/update.png"><img alt="screenshot displaying zinit update tj/git-extras and its output" src="/zdharma-continuum/zinit/raw/main/doc/img/update.png" style="max-width: 100%;"></a> </p> <p dir="auto">Some plugins require performing an action each time they're updated. One way you can do this is by using the <code>atpull</code> ice modifier. For example, writing <code>zinit ice atpull'./configure'</code> before loading a plugin will execute <code>./configure</code> after a successful update. Refer to <a href="#ice-modifiers">Ice Modifiers</a> for more information.</p> <p dir="auto">The ice modifiers for any plugin or snippet are stored in their directory in a <code>._zinit</code> subdirectory, hence the plugin doesn't have to be loaded to be correctly updated. There's one other file created there, <code>.zinit_lstupd</code> – it holds the log of the new commits pulled-in in the last update.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Completions<a name="user-content-completions-2"></a></h2><a id="user-content-completions-2" class="anchor" aria-label="Permalink: Completions" href="#completions-2"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Calling <code>compinit</code> Without Turbo Mode<a name="user-content-calling-compinit-without-turbo-mode"></a></h3><a id="user-content-calling-compinit-without-turbo-mode" class="anchor" aria-label="Permalink: Calling compinit Without Turbo Mode" href="#calling-compinit-without-turbo-mode"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">With no Turbo mode in use, compinit can be called normally, i.e.: as <code>autoload compinit; compinit</code>. This should be done after loading of all plugins and before possibly calling <code>zinit cdreplay</code>.</p> <p dir="auto">The <code>cdreplay</code> subcommand is provided to re-play all catched <code>compdef</code> calls. The <code>compdef</code> calls are used to define a completion for a command. For example, <code>compdef _git git</code> defines that the <code>git</code> command should be completed by a <code>_git</code> function.</p> <p dir="auto">The <code>compdef</code> function is provided by <code>compinit</code> call. As it should be called later, after loading all of the plugins, Zinit provides its own <code>compdef</code> function that catches (i.e.: records in an array) the arguments of the call, so that the loaded plugins can freely call <code>compdef</code>. Then, the <code>cdreplay</code> (<em>compdef-replay</em>) can be used, after <code>compinit</code> will be called (and the original <code>compdef</code> function will become available), to execute all detected <code>compdef</code> calls. To summarize:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" source "${ZINIT_HOME}/zinit.zsh" zinit load "some/plugin" ... compdef _gnu_generic fd # this will be intercepted by Zinit, because as the compinit # isn't yet loaded, thus there's no such function `compdef'; yet # Zinit provides its own `compdef' function which saves the # completion-definition for later possible re-run with `zinit # cdreplay' or `zicdreplay' (the second one can be used in hooks # like atload'', atinit'', etc.) ... zinit load "other/plugin" autoload -Uz compinit compinit # -q is for quiet; actually run all the `compdef's saved before `compinit` call # (`compinit' declares the `compdef' function, so it cannot be used until # `compinit' is ran; Zinit solves this via intercepting the `compdef'-calls and # storing them for later use with `zinit cdreplay') zinit cdreplay -q"><pre>ZINIT_HOME=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${XDG_DATA_HOME<span class="pl-k">:-</span><span class="pl-smi">${HOME}</span><span class="pl-k">/</span>.local<span class="pl-k">/</span>share}</span>/zinit/zinit.git<span class="pl-pds">"</span></span> <span class="pl-c1">source</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${ZINIT_HOME}</span>/zinit.zsh<span class="pl-pds">"</span></span> zinit load <span class="pl-s"><span class="pl-pds">"</span>some/plugin<span class="pl-pds">"</span></span> ... compdef _gnu_generic fd <span class="pl-c"><span class="pl-c">#</span> this will be intercepted by Zinit, because as the compinit</span> <span class="pl-c"><span class="pl-c">#</span> isn't yet loaded, thus there's no such function `compdef'; yet</span> <span class="pl-c"><span class="pl-c">#</span> Zinit provides its own `compdef' function which saves the</span> <span class="pl-c"><span class="pl-c">#</span> completion-definition for later possible re-run with `zinit</span> <span class="pl-c"><span class="pl-c">#</span> cdreplay' or `zicdreplay' (the second one can be used in hooks</span> <span class="pl-c"><span class="pl-c">#</span> like atload'', atinit'', etc.)</span> ... zinit load <span class="pl-s"><span class="pl-pds">"</span>other/plugin<span class="pl-pds">"</span></span> autoload -Uz compinit compinit <span class="pl-c"><span class="pl-c">#</span> -q is for quiet; actually run all the `compdef's saved before `compinit` call</span> <span class="pl-c"><span class="pl-c">#</span> (`compinit' declares the `compdef' function, so it cannot be used until</span> <span class="pl-c"><span class="pl-c">#</span> `compinit' is ran; Zinit solves this via intercepting the `compdef'-calls and</span> <span class="pl-c"><span class="pl-c">#</span> storing them for later use with `zinit cdreplay')</span> zinit cdreplay -q</pre></div> <p dir="auto">This allows to call compinit once. Performance gains are huge, example shell startup time with double <code>compinit</code>: <strong>0.980</strong> sec, with <code>cdreplay</code> and single <code>compinit</code>: <strong>0.156</strong> sec.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Calling <code>compinit</code> With Turbo Mode<a name="user-content-calling-compinit-with-turbo-mode"></a></h3><a id="user-content-calling-compinit-with-turbo-mode" class="anchor" aria-label="Permalink: Calling compinit With Turbo Mode" href="#calling-compinit-with-turbo-mode"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">If you load completions using <code>wait''</code> Turbo mode then you can add <code>atinit'zicompinit'</code> to syntax-highlighting plugin (which should be the last one loaded, as their (2 projects, <a href="https://github.com/zsh-users/zsh-syntax-highlighting">z-sy-h</a> & <a href="https://github.com/zdharma-continuum/fast-syntax-highlighting">f-sy-h</a>) documentation state), or <code>atload'zicompinit'</code> to last completion-related plugin. <code>zicompinit</code> is a function that just runs <code>autoload compinit; compinit</code>, created for convenience. There's also <code>zicdreplay</code> which will replay any caught compdefs so you can also do: <code>atinit'zicompinit; zicdreplay'</code>, etc. Basically, the whole topic is the same as normal <code>compinit</code> call, but it is done in <code>atinit</code> or <code>atload</code> hook of the last related plugin with use of the helper functions (<code>zicompinit</code>,<code>zicdreplay</code> & <code>zicdclear</code> – see below for explanation of the last one). To summarize:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share/zinit}" source "${ZINIT_HOME}/zinit.zsh" # Load using the for-syntax zinit lucid wait for \ "some/plugin" zinit lucid wait for \ "other/plugin" zi for \ atload"zicompinit; zicdreplay" \ blockf \ lucid \ wait \ zsh-users/zsh-completions"><pre>ZINIT_HOME=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${XDG_DATA_HOME<span class="pl-k">:-</span><span class="pl-smi">${HOME}</span><span class="pl-k">/</span>.local<span class="pl-k">/</span>share<span class="pl-k">/</span>zinit}</span><span class="pl-pds">"</span></span> <span class="pl-c1">source</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${ZINIT_HOME}</span>/zinit.zsh<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> Load using the for-syntax</span> zinit lucid <span class="pl-c1">wait</span> <span class="pl-k">for</span> \ <span class="pl-s"><span class="pl-pds">"</span>some/plugin<span class="pl-pds">"</span></span> zinit lucid <span class="pl-c1">wait</span> <span class="pl-k">for</span> \ <span class="pl-s"><span class="pl-pds">"</span>other/plugin<span class="pl-pds">"</span></span> zi <span class="pl-k">for</span> \ atload<span class="pl-s"><span class="pl-pds">"</span>zicompinit; zicdreplay<span class="pl-pds">"</span></span> \ blockf \ lucid \ <span class="pl-c1">wait</span> \ zsh-users/zsh-completions</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Ignoring Compdefs<a name="user-content-ignoring-compdefs"></a></h3><a id="user-content-ignoring-compdefs" class="anchor" aria-label="Permalink: Ignoring Compdefs" href="#ignoring-compdefs"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">If you want to ignore compdefs provided by some plugins or snippets, place their load commands before commands loading other plugins or snippets, and issue <code>zinit cdclear</code> (or <code>zicdclear</code>, designed to be used in hooks like <code>atload''</code>):</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" source "${ZINIT_HOME}/zinit.zsh" zi snippet OMZP::git zi cdclear -q # <- forget completions provided by Git plugin zi load "some/plugin" ... zi load "other/plugin" autoload -Uz compinit compinit zi cdreplay -q # <- execute compdefs provided by rest of plugins zi cdlist # look at gathered compdefs"><pre>ZINIT_HOME=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${XDG_DATA_HOME<span class="pl-k">:-</span><span class="pl-smi">${HOME}</span><span class="pl-k">/</span>.local<span class="pl-k">/</span>share}</span>/zinit/zinit.git<span class="pl-pds">"</span></span> <span class="pl-c1">source</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${ZINIT_HOME}</span>/zinit.zsh<span class="pl-pds">"</span></span> zi snippet OMZP::git zi cdclear -q <span class="pl-c"><span class="pl-c">#</span> <- forget completions provided by Git plugin</span> zi load <span class="pl-s"><span class="pl-pds">"</span>some/plugin<span class="pl-pds">"</span></span> ... zi load <span class="pl-s"><span class="pl-pds">"</span>other/plugin<span class="pl-pds">"</span></span> autoload -Uz compinit compinit zi cdreplay -q <span class="pl-c"><span class="pl-c">#</span> <- execute compdefs provided by rest of plugins</span> zi cdlist <span class="pl-c"><span class="pl-c">#</span> look at gathered compdefs</span></pre></div> <p dir="auto">The <code>cdreplay</code> is important if you use plugins like <code>OMZP::kubectl</code> or <code>asdf-vm/asdf</code>, because these plugins call <code>compdef</code>.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Disabling System-Wide <code>compinit</code> Call (Ubuntu)<a name="user-content-disabling-system-wide-compinit-call-ubuntu"></a></h3><a id="user-content-disabling-system-wide-compinit-call-ubuntu" class="anchor" aria-label="Permalink: Disabling System-Wide compinit Call (Ubuntu)" href="#disabling-system-wide-compinit-call-ubuntu"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">On Ubuntu users might get surprised that e.g. their completions work while they didn't call <code>compinit</code> in their <code>.zshrc</code>. That's because the function is being called in <code>/etc/zshrc</code>. To disable this call – what is needed to avoid the slowdown and if user loads any completion-equipped plugins, i.e. almost on 100% – add the following lines to <code>~/.zshenv</code>:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Skip the not really helping Ubuntu global compinit skip_global_compinit=1"><pre><span class="pl-c"><span class="pl-c">#</span> Skip the not really helping Ubuntu global compinit</span> skip_global_compinit=1</pre></div> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Zinit Module<a name="user-content-zinit-module"></a></h2><a id="user-content-zinit-module" class="anchor" aria-label="Permalink: Zinit Module" href="#zinit-module"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">The module is now hosted <a href="https://github.com/zdharma-continuum/zinit-module">in its own repository</a></p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Hints and Tips<a name="user-content-hints-and-tips"></a></h2><a id="user-content-hints-and-tips" class="anchor" aria-label="Permalink: Hints and Tips" href="#hints-and-tips"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Using ZPFX variable<a name="user-content-using-zpfx-variable"></a></h3><a id="user-content-using-zpfx-variable" class="anchor" aria-label="Permalink: Using ZPFX variable" href="#using-zpfx-variable"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Zinit uses a special, short named variable <code>$ZPFX</code> to denote a standard "prefix" for installing compiled software. Such, commonly used, prefixes are usually, e.g.: <code>/usr/</code>,<code>/usr/local</code> or <code>$HOME/.local</code>. Basically, when one would want to explain what a prefix-dir is in one sentence, it would be something like: a root directory, under which <code>…/bin</code>,<code>…/share</code>, <code>…/lib</code> sub-dirs are populated with installed binaries, data-files, libraries, etc.</p> <p dir="auto">How to use the variable? It is automatically exploited when using <code>configure''</code> and <code>make''</code> ices, and user doesn't have to take any actions. This means that the <code>configure</code> command that'll be run will be:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="./configure --prefix=$ZPFX"><pre>./configure --prefix=<span class="pl-smi">$ZPFX</span></pre></div> <p dir="auto">The default location used for <code>$ZPFX</code> is: <code>~/.local/share/zinit/polaris</code>. You can, for example, set it to <code>$HOME/.local</code> to have the software installed with <code>configure''</code> and <code>make''</code> ices installed to that directory.</p> <p dir="auto">Typical use cases when working with <code>$ZPFX</code> are, e.g.:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="ls $ZPFX cd $ZPFX cd $ZPFX/bin # note: $ZPFX/bin is automatically prepended to $PATH cd $ZPFX/share"><pre>ls <span class="pl-smi">$ZPFX</span> <span class="pl-c1">cd</span> <span class="pl-smi">$ZPFX</span> <span class="pl-c1">cd</span> <span class="pl-smi">$ZPFX</span>/bin <span class="pl-c"><span class="pl-c">#</span> note: $ZPFX/bin is automatically prepended to $PATH</span> <span class="pl-c1">cd</span> <span class="pl-smi">$ZPFX</span>/share</pre></div> <p dir="auto">Before the <code>configure''</code> ice appeared one would use <code>$ZPFX</code> as follows:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zinit atclone'./configure --prefix=$ZPFX` atpull'%atclone' make \ for universal-ctags/ctags"><pre>zinit atclone<span class="pl-s"><span class="pl-pds">'</span>./configure --prefix=$ZPFX` atpull<span class="pl-pds">'</span></span>%atclone<span class="pl-s"><span class="pl-pds">'</span> make \</span> <span class="pl-s"> for universal-ctags/ctags</span></pre></div> <p dir="auto">but now it's sufficient to do:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# Will work for any build system # (supported are: configure, cmake, scons and meson) zinit configure make for universal-ctags/ctags"><pre><span class="pl-c"><span class="pl-c">#</span> Will work for any build system</span> <span class="pl-c"><span class="pl-c">#</span> (supported are: configure, cmake, scons and meson)</span> zinit configure make <span class="pl-k">for</span> universal-ctags/ctags</pre></div> <p dir="auto">To set ZPFX, one should do (in <code>.zshrc</code> before loading <code>zinit</code>):</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="export ZPFX=$HOME/my-software # or: ZPFX=$HOME/.local, etc."><pre><span class="pl-k">export</span> ZPFX=<span class="pl-smi">$HOME</span>/my-software <span class="pl-c"><span class="pl-c">#</span> or: ZPFX=$HOME/.local, etc.</span></pre></div> <p dir="auto">We encourage people to install compiled software with use of <code>$ZPFX</code> and <code>configure''</code> and <code>make''</code> ices, to have a nice, clean user-home dir based setup.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Customizing Paths<a name="user-content-customizing-paths"></a></h3><a id="user-content-customizing-paths" class="anchor" aria-label="Permalink: Customizing Paths" href="#customizing-paths"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Following variables can be set to custom values, before sourcing Zinit. The previous global variables like <code>$ZPLG_HOME</code> have been removed to not pollute the namespace – there's single <code>$ZINIT</code> hash instead of <code>8</code> string variables. Please update your dotfiles.</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="declare -A ZINIT # initial Zinit's hash definition, if configuring before loading Zinit, and then:"><pre><span class="pl-k">declare</span> -A ZINIT <span class="pl-c"><span class="pl-c">#</span> initial Zinit's hash definition, if configuring before loading Zinit, and then:</span></pre></div> <markdown-accessiblity-table><table> <thead> <tr> <th>Hash Field</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>ZINIT[BIN_DIR]</td> <td>Where Zinit code resides, e.g.: "~/.local/share/zinit/zinit.git"</td> </tr> <tr> <td>ZINIT[HOME_DIR]</td> <td>Where Zinit should create all working directories, e.g.: "~/.local/share/zinit"</td> </tr> <tr> <td>ZINIT[MAN_DIR]</td> <td>Directory where plugins can store their manpages (<code>atclone"cp -vf myplugin.1 $ZINIT[MAN_DIR]/man1"</code>). If overridden, this directory will not necessarily be used by <code>man</code> (See #8). Default: <code>$ZPFX/man</code></td> </tr> <tr> <td>ZINIT[PLUGINS_DIR]</td> <td>Override single working directory – for plugins, e.g. "/opt/zsh/zinit/plugins"</td> </tr> <tr> <td>ZINIT[COMPLETIONS_DIR]</td> <td>As above, but for completion files, e.g. "/opt/zsh/zinit/root_completions"</td> </tr> <tr> <td>ZINIT[SNIPPETS_DIR]</td> <td>As above, but for snippets</td> </tr> <tr> <td>ZINIT[LIST_COMMAND]</td> <td>Command to use for displaying a directory tree (e.g., <code>ls --tree</code>, <code>tree</code>, etc.)</td> </tr> <tr> <td>ZINIT[ZCOMPDUMP_PATH]</td> <td>Path to <code>.zcompdump</code> file, with the file included (i.e. its name can be different)</td> </tr> <tr> <td>ZINIT[COMPINIT_OPTS]</td> <td>Options for <code>compinit</code> call (i.e. done by <code>zicompinit</code>), use to pass -C to speed up loading</td> </tr> <tr> <td>ZINIT[MUTE_WARNINGS]</td> <td>If set to <code>1</code>, then mutes some of the Zinit warnings, specifically the <code>plugin already registered</code> warning</td> </tr> <tr> <td>ZINIT[OPTIMIZE_OUT_DISK_ACCESSES]</td> <td>If set to <code>1</code>, then Zinit will skip checking if a Turbo-loaded object exists on the disk. By default Zinit skips Turbo for non-existing objects (plugins or snippets) to install them before the first prompt – without any delays, during the normal processing of <code>zshrc</code>. 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).</td> </tr> <tr> <td>ZINIT[NO_ALIASES]</td> <td>If set to <code>1</code>, then Zinit will not set aliases such as <code>zi</code> or <code>zini</code></td> </tr> </tbody> </table></markdown-accessiblity-table> <p dir="auto">There is also <code>$ZPFX</code>, set by default to <code>~/.local/share/zinit/polaris</code> – a directory where software with <code>Makefile</code>, etc. can be pointed to, by e.g. <code>atclone'./configure --prefix=$ZPFX'</code>.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Non-GitHub (Local) Plugins<a name="user-content-non-github-local-plugins"></a></h3><a id="user-content-non-github-local-plugins" class="anchor" aria-label="Permalink: Non-GitHub (Local) Plugins" href="#non-github-local-plugins"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Use <code>create</code> subcommand with user name <code>_local</code> (the default) to create plugin's skeleton in <code>$ZINIT[PLUGINS_DIR]</code>. It will be not connected with GitHub repository (because of user name being <code>_local</code>). To enter the plugin's directory use <code>cd</code> command with just plugin's name (without <code>_local</code>, it's optional).</p> <p dir="auto">If user name will not be <code>_local</code>, then Zinit will create repository also on GitHub and setup correct repository origin.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Extending Git<a name="user-content-extending-git"></a></h3><a id="user-content-extending-git" class="anchor" aria-label="Permalink: Extending Git" href="#extending-git"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">There are several projects that provide git extensions. Installing them with Zinit has many benefits:</p> <ul dir="auto"> <li>all files are under <code>$HOME</code> – no administrator rights needed,</li> <li>declarative setup (like Chef or Puppet) – copying <code>.zshrc</code> to different account brings also git-related setup,</li> <li>easy update by e.g. <code>zinit update --all</code>.</li> </ul> <p dir="auto">Below is a configuration that adds multiple git extensions, loaded in Turbo mode, 1 second after prompt, with use of the <a href="https://github.com/zdharma-continuum/zinit-annex-bin-gem-node">Bin-Gem-Node</a> annex:</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="zi as'null' lucid sbin wait'1' for \ Fakerr/git-recall \ davidosomething/git-my \ iwata/git-now \ paulirish/git-open \ paulirish/git-recent \ atload'export _MENU_THEME=legacy' \ arzzen/git-quick-stats \ make'install' \ tj/git-extras \ make'GITURL_NO_CGITURL=1' \ sbin'git-url;git-guclone' \ zdharma-continuum/git-url"><pre>zi as<span class="pl-s"><span class="pl-pds">'</span>null<span class="pl-pds">'</span></span> lucid sbin wait<span class="pl-s"><span class="pl-pds">'</span>1<span class="pl-pds">'</span></span> <span class="pl-k">for</span> \ Fakerr/git-recall \ davidosomething/git-my \ iwata/git-now \ paulirish/git-open \ paulirish/git-recent \ atload<span class="pl-s"><span class="pl-pds">'</span>export _MENU_THEME=legacy<span class="pl-pds">'</span></span> \ arzzen/git-quick-stats \ make<span class="pl-s"><span class="pl-pds">'</span>install<span class="pl-pds">'</span></span> \ tj/git-extras \ make<span class="pl-s"><span class="pl-pds">'</span>GITURL_NO_CGITURL=1<span class="pl-pds">'</span></span> \ sbin<span class="pl-s"><span class="pl-pds">'</span>git-url;git-guclone<span class="pl-pds">'</span></span> \ zdharma-continuum/git-url</pre></div> <p dir="auto">Target directory for installed files is <code>$ZPFX</code> (<code>~/.local/share/zinit/polaris</code> by default).</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Changelog<a name="user-content-changelog"></a></h2><a id="user-content-changelog" class="anchor" aria-label="Permalink: Changelog" href="#changelog"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Link to the <a href="/zdharma-continuum/zinit/blob/main/doc/CHANGELOG.md">CHANGELOG</a>.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Support<a name="user-content-support"></a></h2><a id="user-content-support" class="anchor" aria-label="Permalink: Support" href="#support"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Zinit is a personal, free-time project with no funding and a huge <a href="https://github.com/zdharma-continuum/zinit/issues">feature request backlog</a>. If you love it, consider supporting its development via GitHub Sponsors [pending]. Any help counts!</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Getting Help and Community<a name="user-content-getting-help-and-community"></a></h2><a id="user-content-getting-help-and-community" class="anchor" aria-label="Permalink: Getting Help and Community" href="#getting-help-and-community"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Do you need help or wish to get in touch with other Zinit users?</p> <ul dir="auto"> <li> <p dir="auto"><a href="https://github.com/zdharma-continuum/zinit/discussions">Open a discussion</a>.</p> </li> <li> <p dir="auto">Or via reach out via Gitter <a href="https://gitter.im/zdharma-continuum/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" rel="nofollow"><img src="https://camo.githubusercontent.com/4ae3027798cb49c13addd96651fc2d322052770d7fbd573ff50eb5f3e344cd91/68747470733a2f2f6261646765732e6769747465722e696d2f7a646861726d612d636f6e74696e75756d2f7a696e69742e737667" alt="Join the chat at https://gitter.im/zdharma-continuum/community" data-canonical-src="https://badges.gitter.im/zdharma-continuum/zinit.svg" style="max-width: 100%;"></a></p> </li> </ul> </article></div></div></div></div></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-partial> <input type="hidden" data-csrf="true" value="pAsNCY0dLhkTVwipia3zRfobMRDtXptHgnXTduuxw6E8ebRfsV/9xJGf41uLs+urmACT9j/SCMn2tkfaTbiIjA==" /> </div> <div data-view-component="true" class="Layout-sidebar"> <div class="BorderGrid about-margin" data-pjax> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <div class="hide-sm hide-md"> <h2 class="mb-3 h4">About</h2> <p class="f4 my-3"> 🌻 Flexible and fast ZSH plugin manager </p> <h3 class="sr-only">Topics</h3> <div class="my-3"> <div class="f6"> <a href="/topics/zsh" title="Topic: zsh" data-view-component="true" class="topic-tag topic-tag-link"> zsh </a> <a href="/topics/package-manager" title="Topic: package-manager" data-view-component="true" class="topic-tag topic-tag-link"> package-manager </a> <a href="/topics/plugin-manager" title="Topic: plugin-manager" data-view-component="true" class="topic-tag topic-tag-link"> plugin-manager </a> <a href="/topics/zsh-plugin" title="Topic: zsh-plugin" data-view-component="true" class="topic-tag topic-tag-link"> zsh-plugin </a> <a href="/topics/zsh-configuration" title="Topic: zsh-configuration" data-view-component="true" class="topic-tag topic-tag-link"> zsh-configuration </a> <a href="/topics/zinit" title="Topic: zinit" data-view-component="true" class="topic-tag topic-tag-link"> zinit </a> <a href="/topics/zinit-annex" title="Topic: zinit-annex" data-view-component="true" class="topic-tag topic-tag-link"> zinit-annex </a> </div> </div> <h3 class="sr-only">Resources</h3> <div class="mt-2"> <a class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:readme"}" href="#readme-ov-file"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book mr-2"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> Readme </a> </div> <h3 class="sr-only">License</h3> <div class="mt-2"> <a href="#MIT-1-ov-file" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> MIT license </a> </div> <h3 class="sr-only">Code of conduct</h3> <div class="mt-2"> <a href="#coc-ov-file" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:code of conduct"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-of-conduct mr-2"> <path d="M8.048 2.241c.964-.709 2.079-1.238 3.325-1.241a4.616 4.616 0 0 1 3.282 1.355c.41.408.757.86.996 1.428.238.568.348 1.206.347 1.968 0 2.193-1.505 4.254-3.081 5.862-1.496 1.526-3.213 2.796-4.249 3.563l-.22.163a.749.749 0 0 1-.895 0l-.221-.163c-1.036-.767-2.753-2.037-4.249-3.563C1.51 10.008.007 7.952.002 5.762a4.614 4.614 0 0 1 1.353-3.407C3.123.585 6.223.537 8.048 2.24Zm-1.153.983c-1.25-1.033-3.321-.967-4.48.191a3.115 3.115 0 0 0-.913 2.335c0 1.556 1.109 3.24 2.652 4.813C5.463 11.898 6.96 13.032 8 13.805c.353-.262.758-.565 1.191-.905l-1.326-1.223a.75.75 0 0 1 1.018-1.102l1.48 1.366c.328-.281.659-.577.984-.887L9.99 9.802a.75.75 0 1 1 1.019-1.103l1.384 1.28c.295-.329.566-.661.81-.995L12.92 8.7l-1.167-1.168c-.674-.671-1.78-.664-2.474.03-.268.269-.538.537-.802.797-.893.882-2.319.843-3.185-.032-.346-.35-.693-.697-1.043-1.047a.75.75 0 0 1-.04-1.016c.162-.191.336-.401.52-.623.62-.748 1.356-1.637 2.166-2.417Zm7.112 4.442c.313-.65.491-1.293.491-1.916v-.001c0-.614-.088-1.045-.23-1.385-.143-.339-.357-.633-.673-.949a3.111 3.111 0 0 0-2.218-.915c-1.092.003-2.165.627-3.226 1.602-.823.755-1.554 1.637-2.228 2.45l-.127.154.562.566a.755.755 0 0 0 1.066.02l.794-.79c1.258-1.258 3.312-1.31 4.594-.032.396.394.792.791 1.173 1.173Z"></path> </svg> Code of conduct </a> </div> <include-fragment src="/zdharma-continuum/zinit/hovercards/citation/sidebar_partial?tree_name=main"> </include-fragment> <div class="mt-2"> <a href="/zdharma-continuum/zinit/activity" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-2"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span class="color-fg-muted">Activity</span></a> </div> <div class="mt-2"> <a href="/zdharma-continuum/zinit/custom-properties" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-note mr-2"> <path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25ZM3.5 6.25a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Zm.75 2.25h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1 0-1.5Z"></path> </svg> <span class="color-fg-muted">Custom properties</span></a> </div> <h3 class="sr-only">Stars</h3> <div class="mt-2"> <a href="/zdharma-continuum/zinit/stargazers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <strong>3.5k</strong> stars</a> </div> <h3 class="sr-only">Watchers</h3> <div class="mt-2"> <a href="/zdharma-continuum/zinit/watchers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye mr-2"> <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path> </svg> <strong>23</strong> watching</a> </div> <h3 class="sr-only">Forks</h3> <div class="mt-2"> <a href="/zdharma-continuum/zinit/forks" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <strong>141</strong> forks</a> </div> <div class="mt-2"> <a class="Link--muted" href="/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fzdharma-continuum%2Fzinit&report=zdharma-continuum+%28user%29"> Report repository </a> </div> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/zdharma-continuum/zinit/releases" data-view-component="true" class="Link--primary no-underline Link">Releases <span title="8" data-view-component="true" class="Counter">8</span></a></h2> <a class="Link--primary d-flex no-underline" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/zdharma-continuum/zinit/releases/tag/v3.13.1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag flex-shrink-0 mt-1 color-fg-success"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <div class="ml-2 min-width-0"> <div class="d-flex"> <span class="css-truncate css-truncate-target text-bold mr-2" style="max-width: none;">v3.13.1</span> <span title="Label: Latest" data-view-component="true" class="Label Label--success flex-shrink-0"> Latest </span> </div> <div class="text-small color-fg-muted"><relative-time datetime="2024-01-22T05:15:35Z" class="no-wrap">Jan 22, 2024</relative-time></div> </div> </a> <div data-view-component="true" class="mt-3"> <a text="small" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/zdharma-continuum/zinit/releases" data-view-component="true" class="Link">+ 7 releases</a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <include-fragment src="/zdharma-continuum/zinit/packages_list?current_repository=zinit" aria-busy="true" aria-label="Loading latest packages"> <h2 class="h4 mb-3"> <a href="/orgs/zdharma-continuum/packages?repo_name=zinit" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter ml-1">0</span></a></h2> <div class="mb-2 d-flex flex-items-center"> <div class="Skeleton mr-2" style="width:20px;height:20px;"></div> <div class="Skeleton Skeleton--text flex-auto"> </div> </div> <div class="mb-2 d-flex flex-items-center"> <div class="Skeleton mr-2" style="width:20px;height:20px;"></div> <div class="Skeleton Skeleton--text flex-auto"> </div> </div> <div class="mb-2 d-flex flex-items-center"> <div class="Skeleton mr-2" style="width:20px;height:20px;"></div> <div class="Skeleton Skeleton--text flex-auto"> </div> </div> </include-fragment> </div> </div> <div class="BorderGrid-row" hidden> <div class="BorderGrid-cell"> <include-fragment src="/zdharma-continuum/zinit/used_by_list" accept="text/fragment+html"> </include-fragment> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/zdharma-continuum/zinit/graphs/contributors" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Contributors <span title="64" data-view-component="true" class="Counter ml-1">64</span></a></h2> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 mr-2" > <a href="https://github.com/psprint" class="" data-hovercard-type="user" data-hovercard-url="/users/psprint/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/6049288?s=64&v=4" alt="@psprint" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/pschmitt" class="" data-hovercard-type="user" data-hovercard-url="/users/pschmitt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/37886?s=64&v=4" alt="@pschmitt" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/vladdoster" class="" data-hovercard-type="user" data-hovercard-url="/users/vladdoster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/10052309?s=64&v=4" alt="@vladdoster" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/alichtman" class="" data-hovercard-type="user" data-hovercard-url="/users/alichtman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/20600565?s=64&v=4" alt="@alichtman" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/NICHOLAS85" class="" data-hovercard-type="user" data-hovercard-url="/users/NICHOLAS85/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/15698885?s=64&v=4" alt="@NICHOLAS85" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/apps/dependabot" class="" > <img src="https://avatars.githubusercontent.com/in/29110?s=64&v=4" alt="@dependabot[bot]" size="32" height="32" width="32" data-view-component="true" class="avatar" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/black7375" class="" data-hovercard-type="user" data-hovercard-url="/users/black7375/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/25581533?s=64&v=4" alt="@black7375" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/docwhat" class="" data-hovercard-type="user" data-hovercard-url="/users/docwhat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/40799?s=64&v=4" alt="@docwhat" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/agkozak" class="" data-hovercard-type="user" data-hovercard-url="/users/agkozak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/7599319?s=64&v=4" alt="@agkozak" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/nbrown" class="" data-hovercard-type="user" data-hovercard-url="/users/nbrown/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/59011?s=64&v=4" alt="@nbrown" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/davidosomething" class="" data-hovercard-type="user" data-hovercard-url="/users/davidosomething/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/609213?s=64&v=4" alt="@davidosomething" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/jankatins" class="" data-hovercard-type="user" data-hovercard-url="/users/jankatins/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/890156?s=64&v=4" alt="@jankatins" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/Freed-Wu" class="" data-hovercard-type="user" data-hovercard-url="/users/Freed-Wu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/32936898?s=64&v=4" alt="@Freed-Wu" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> <li class="mb-2 mr-2" > <a href="https://github.com/akatrevorjay" class="" data-hovercard-type="user" data-hovercard-url="/users/akatrevorjay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" > <img src="https://avatars.githubusercontent.com/u/1312290?s=64&v=4" alt="@akatrevorjay" size="32" height="32" width="32" data-view-component="true" class="avatar circle" /> </a> </li> </ul> <div data-view-component="true" class="mt-3"> <a text="small" href="/zdharma-continuum/zinit/graphs/contributors" data-view-component="true" class="Link--inTextBlock Link">+ 50 contributors</a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3">Languages</h2> <div class="mb-2"> <span data-view-component="true" class="Progress"> <span style="background-color:#89e051 !important;;width: 99.5%;" itemprop="keywords" data-view-component="true" class="Progress-item color-bg-success-emphasis"></span> <span style="background-color:#ededed !important;;width: 0.5%;" itemprop="keywords" data-view-component="true" class="Progress-item color-bg-success-emphasis"></span> </span></div> <ul class="list-style-none"> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap Link--secondary no-underline text-small mr-3" href="/zdharma-continuum/zinit/search?l=shell" data-ga-click="Repository, language stats search click, location:repo overview"> <svg style="color:#89e051;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill mr-2"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> <span class="color-fg-default text-bold mr-1">Shell</span> <span>99.5%</span> </a> </li> <li class="d-inline"> <span class="d-inline-flex flex-items-center flex-nowrap text-small mr-3"> <svg style="color:#ededed;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill mr-2"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> <span class="color-fg-default text-bold mr-1">Other</span> <span>0.5%</span> </span> </li> </ul> </div> </div> </div> </div> </div></div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>