Install Catppuccin theme

This commit is contained in:
Jeffrey Serio 2022-09-01 00:20:37 -05:00
parent 18be5de345
commit 0996546048
61 changed files with 3630 additions and 885 deletions

View File

@ -4,3 +4,13 @@ language = "en"
multilingual = false multilingual = false
src = "src" src = "src"
title = "Zsh User's Guide" title = "Zsh User's Guide"
[preprocessor]
[preprocessor.catppuccin]
assets_version = "0.1.1" # DO NOT EDIT: Managed by `mdbook-catppuccin install`
[output]
[output.html]
additional-css = ["./theme/catppuccin.css", "./theme/catppuccin-highlight.css"]

View File

@ -3,49 +3,36 @@
<head> <head>
<!-- Book generated using mdBook --> <!-- Book generated using mdBook -->
<meta charset="UTF-8"> <meta charset="UTF-8">
<title></title> <title>Page not found - Zsh User&#x27;s Guide</title>
<base href="/"> <base href="/">
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -105,8 +92,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -121,29 +107,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -155,7 +138,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -176,8 +158,6 @@
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
@ -185,32 +165,11 @@
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -218,14 +177,10 @@
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -233,7 +188,5 @@
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -8,7 +8,6 @@ Original by Dempfi (https://github.com/dempfi/ayu)
overflow-x: auto; overflow-x: auto;
background: #191f26; background: #191f26;
color: #e6e1cf; color: #e6e1cf;
padding: 0.5em;
} }
.hljs-comment, .hljs-comment,

View File

@ -108,9 +108,12 @@ function playground_text(playground) {
let text = playground_text(code_block); let text = playground_text(code_block);
let classes = code_block.querySelector('code').classList; let classes = code_block.querySelector('code').classList;
let has_2018 = classes.contains("edition2018"); let edition = "2015";
let edition = has_2018 ? "2018" : "2015"; if(classes.contains("edition2018")) {
edition = "2018";
} else if(classes.contains("edition2021")) {
edition = "2021";
}
var params = { var params = {
version: "stable", version: "stable",
optimize: "0", optimize: "0",
@ -133,7 +136,15 @@ function playground_text(playground) {
body: JSON.stringify(params) body: JSON.stringify(params)
}) })
.then(response => response.json()) .then(response => response.json())
.then(response => result_block.innerText = response.result) .then(response => {
if (response.result.trim() === '') {
result_block.innerText = "No output";
result_block.classList.add("result-no-output");
} else {
result_block.innerText = response.result;
result_block.classList.remove("result-no-output");
}
})
.catch(error => result_block.innerText = "Playground Communication: " + error.message); .catch(error => result_block.innerText = "Playground Communication: " + error.message);
} }
@ -151,12 +162,13 @@ function playground_text(playground) {
if (window.ace) { if (window.ace) {
// language-rust class needs to be removed for editable // language-rust class needs to be removed for editable
// blocks or highlightjs will capture events // blocks or highlightjs will capture events
Array code_nodes
.from(document.querySelectorAll('code.editable')) .filter(function (node) {return node.classList.contains("editable"); })
.forEach(function (block) { block.classList.remove('language-rust'); }); .forEach(function (block) { block.classList.remove('language-rust'); });
Array Array
.from(document.querySelectorAll('code:not(.editable)')) code_nodes
.filter(function (node) {return !node.classList.contains("editable"); })
.forEach(function (block) { hljs.highlightBlock(block); }); .forEach(function (block) { hljs.highlightBlock(block); });
} else { } else {
code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); code_nodes.forEach(function (block) { hljs.highlightBlock(block); });
@ -359,7 +371,14 @@ function playground_text(playground) {
}); });
themePopup.addEventListener('click', function (e) { themePopup.addEventListener('click', function (e) {
var theme = e.target.id || e.target.parentElement.id; var theme;
if (e.target.className === "theme") {
theme = e.target.id;
} else if (e.target.parentElement.className === "theme") {
theme = e.target.parentElement.id;
} else {
return;
}
set_theme(theme); set_theme(theme);
}); });

View File

@ -208,24 +208,63 @@ pre {
pre > .buttons { pre > .buttons {
position: absolute; position: absolute;
z-index: 100; z-index: 100;
right: 5px; right: 0px;
top: 5px; top: 2px;
margin: 0px;
padding: 2px 0px;
color: var(--sidebar-fg); color: var(--sidebar-fg);
cursor: pointer; cursor: pointer;
visibility: hidden;
opacity: 0;
transition: visibility 0.1s linear, opacity 0.1s linear;
}
pre:hover > .buttons {
visibility: visible;
opacity: 1
} }
pre > .buttons :hover { pre > .buttons :hover {
color: var(--sidebar-active); color: var(--sidebar-active);
border-color: var(--icons-hover);
background-color: var(--theme-hover);
} }
pre > .buttons i { pre > .buttons i {
margin-left: 8px; margin-left: 8px;
} }
pre > .buttons button { pre > .buttons button {
color: inherit;
background: transparent;
border: none;
cursor: inherit; cursor: inherit;
margin: 0px 5px;
padding: 3px 5px;
font-size: 14px;
border-style: solid;
border-width: 1px;
border-radius: 4px;
border-color: var(--icons);
background-color: var(--theme-popup-bg);
transition: 100ms;
transition-property: color,border-color,background-color;
color: var(--icons);
} }
@media (pointer: coarse) {
pre > .buttons button {
/* On mobile, make it easier to tap buttons. */
padding: 0.3rem 1rem;
}
}
pre > code {
padding: 1rem;
}
/* FIXME: ACE editors overlap their buttons because ACE does absolute
positioning within the code block which breaks padding. The only solution I
can think of is to move the padding to the outer pre tag (or insert a div
wrapper), but that would require fixing a whole bunch of CSS rules.
*/
.hljs.ace_editor {
padding: 0rem 0rem;
}
pre > .result { pre > .result {
margin-top: 10px; margin-top: 10px;
} }

View File

@ -12,6 +12,7 @@ html {
color: var(--fg); color: var(--fg);
background-color: var(--bg); background-color: var(--bg);
text-size-adjust: none; text-size-adjust: none;
-webkit-text-size-adjust: none;
} }
body { body {
@ -25,6 +26,16 @@ code {
font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */ font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */
} }
/* make long words/inline code not x overflow */
main {
overflow-wrap: break-word;
}
/* make wide tables scroll if they overflow */
.table-wrapper {
overflow-x: auto;
}
/* Don't change font size in headers. */ /* Don't change font size in headers. */
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
font-size: unset; font-size: unset;
@ -79,8 +90,7 @@ h6:target::before {
.content { .content {
overflow-y: auto; overflow-y: auto;
padding: 0 15px; padding: 0 5px 50px 5px;
padding-bottom: 50px;
} }
.content main { .content main {
margin-left: auto; margin-left: auto;
@ -92,7 +102,7 @@ h6:target::before {
.content ul { line-height: 1.45em; } .content ul { line-height: 1.45em; }
.content a { text-decoration: none; } .content a { text-decoration: none; }
.content a:hover { text-decoration: underline; } .content a:hover { text-decoration: underline; }
.content img { max-width: 100%; } .content img, .content video { max-width: 100%; }
.content .header:link, .content .header:link,
.content .header:visited { .content .header:visited {
color: var(--fg); color: var(--fg);
@ -175,3 +185,7 @@ blockquote {
margin: 5px 0px; margin: 5px 0px;
font-weight: bold; font-weight: bold;
} }
.result-no-output {
font-style: italic;
}

View File

@ -67,7 +67,7 @@
--links: #2b79a2; --links: #2b79a2;
--inline-code-color: #c5c8c6;; --inline-code-color: #c5c8c6;
--theme-popup-bg: #141617; --theme-popup-bg: #141617;
--theme-popup-border: #43484d; --theme-popup-border: #43484d;
@ -147,7 +147,7 @@
--links: #2b79a2; --links: #2b79a2;
--inline-code-color: #c5c8c6;; --inline-code-color: #c5c8c6;
--theme-popup-bg: #161923; --theme-popup-bg: #161923;
--theme-popup-border: #737480; --theme-popup-border: #737480;
@ -228,7 +228,7 @@
--links: #2b79a2; --links: #2b79a2;
--inline-code-color: #c5c8c6;; --inline-code-color: #c5c8c6;
--theme-popup-bg: #141617; --theme-popup-bg: #141617;
--theme-popup-border: #43484d; --theme-popup-border: #43484d;

View File

@ -61,7 +61,6 @@
overflow-x: auto; overflow-x: auto;
background: #f6f7f6; background: #f6f7f6;
color: #000; color: #000;
padding: 0.5em;
} }
.hljs-emphasis { .hljs-emphasis {

View File

@ -6,44 +6,32 @@
<title>A User&#x27;s Guide to the Z-Shell - Zsh User&#x27;s Guide</title> <title>A User&#x27;s Guide to the Z-Shell - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -95,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents"> <nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox"> <div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded affix "><a href="zshguide.html">A User's Guide to the Z-Shell</a></li><li class="chapter-item expanded "><a href="zshguide01.html"><strong aria-hidden="true">1.</strong> A short introduction</a></li><li class="chapter-item expanded "><a href="zshguide02.html"><strong aria-hidden="true">2.</strong> What to put in your startup files</a></li><li class="chapter-item expanded "><a href="zshguide03.html"><strong aria-hidden="true">3.</strong> Dealing with basic shell syntax</a></li><li class="chapter-item expanded "><a href="zshguide04.html"><strong aria-hidden="true">4.</strong> The Z-Shell Line Editor</a></li><li class="chapter-item expanded "><a href="zshguide05.html"><strong aria-hidden="true">5.</strong> Substitutions</a></li><li class="chapter-item expanded "><a href="zshguide06.html"><strong aria-hidden="true">6.</strong> Completion, old and new</a></li><li class="chapter-item expanded "><a href="zshguide07.html"><strong aria-hidden="true">7.</strong> Modules and other bits and pieces Not written</a></li></ol> <ol class="chapter"><li class="chapter-item expanded affix "><a href="zshguide.html" class="active">A User's Guide to the Z-Shell</a></li><li class="chapter-item expanded "><a href="zshguide01.html"><strong aria-hidden="true">1.</strong> A short introduction</a></li><li class="chapter-item expanded "><a href="zshguide02.html"><strong aria-hidden="true">2.</strong> What to put in your startup files</a></li><li class="chapter-item expanded "><a href="zshguide03.html"><strong aria-hidden="true">3.</strong> Dealing with basic shell syntax</a></li><li class="chapter-item expanded "><a href="zshguide04.html"><strong aria-hidden="true">4.</strong> The Z-Shell Line Editor</a></li><li class="chapter-item expanded "><a href="zshguide05.html"><strong aria-hidden="true">5.</strong> Substitutions</a></li><li class="chapter-item expanded "><a href="zshguide06.html"><strong aria-hidden="true">6.</strong> Completion, old and new</a></li><li class="chapter-item expanded "><a href="zshguide07.html"><strong aria-hidden="true">7.</strong> Modules and other bits and pieces Not written</a></li></ol>
</div> </div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div> <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav> </nav>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -170,19 +153,19 @@
<h2 id="peter-stephenson"><a class="header" href="#peter-stephenson">Peter Stephenson</a></h2> <h2 id="peter-stephenson"><a class="header" href="#peter-stephenson">Peter Stephenson</a></h2>
<h2 id="20030323"><a class="header" href="#20030323">2003/03/23</a></h2> <h2 id="20030323"><a class="header" href="#20030323">2003/03/23</a></h2>
<h1 id="table-of-contents"><a class="header" href="#table-of-contents">Table of Contents</a></h1> <h1 id="table-of-contents"><a class="header" href="#table-of-contents">Table of Contents</a></h1>
<h2 id="a-hrefzshguide01htmll1chapter-1-a-short-introductiona"><a class="header" href="#a-hrefzshguide01htmll1chapter-1-a-short-introductiona"><a href="zshguide01.html#l1">Chapter 1: A short introduction</a></a></h2> <h2 id="chapter-1-a-short-introduction"><a class="header" href="#chapter-1-a-short-introduction"><a href="zshguide01.html#l1">Chapter 1: A short introduction</a></a></h2>
<h3 id="a-hrefzshguide01htmll211-other-shells-and-other-guidesa"><a class="header" href="#a-hrefzshguide01htmll211-other-shells-and-other-guidesa"><a href="zshguide01.html#l2">1.1: Other shells and other guides</a></a></h3> <h3 id="11-other-shells-and-other-guides"><a class="header" href="#11-other-shells-and-other-guides"><a href="zshguide01.html#l2">1.1: Other shells and other guides</a></a></h3>
<h3 id="a-hrefzshguide01htmll312-versions-of-zsha"><a class="header" href="#a-hrefzshguide01htmll312-versions-of-zsha"><a href="zshguide01.html#l3">1.2: Versions of zsh</a></a></h3> <h3 id="12-versions-of-zsh"><a class="header" href="#12-versions-of-zsh"><a href="zshguide01.html#l3">1.2: Versions of zsh</a></a></h3>
<h3 id="a-hrefzshguide01htmll413-conventionsa"><a class="header" href="#a-hrefzshguide01htmll413-conventionsa"><a href="zshguide01.html#l4">1.3: Conventions</a></a></h3> <h3 id="13-conventions"><a class="header" href="#13-conventions"><a href="zshguide01.html#l4">1.3: Conventions</a></a></h3>
<h3 id="a-hrefzshguide01htmll514-acknowledgmentsa"><a class="header" href="#a-hrefzshguide01htmll514-acknowledgmentsa"><a href="zshguide01.html#l5">1.4: Acknowledgments</a></a></h3> <h3 id="14-acknowledgments"><a class="header" href="#14-acknowledgments"><a href="zshguide01.html#l5">1.4: Acknowledgments</a></a></h3>
<h2 id="a-hrefzshguide02htmll6chapter-2-what-to-put-in-your-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll6chapter-2-what-to-put-in-your-startup-filesa"><a href="zshguide02.html#l6">Chapter 2: What to put in your startup files</a></a></h2> <h2 id="chapter-2-what-to-put-in-your-startup-files"><a class="header" href="#chapter-2-what-to-put-in-your-startup-files"><a href="zshguide02.html#l6">Chapter 2: What to put in your startup files</a></a></h2>
<h3 id="a-hrefzshguide02htmll721-types-of-shell-interactive-and-login-shellsa"><a class="header" href="#a-hrefzshguide02htmll721-types-of-shell-interactive-and-login-shellsa"><a href="zshguide02.html#l7">2.1: Types of shell: interactive and login shells</a></a></h3> <h3 id="21-types-of-shell-interactive-and-login-shells"><a class="header" href="#21-types-of-shell-interactive-and-login-shells"><a href="zshguide02.html#l7">2.1: Types of shell: interactive and login shells</a></a></h3>
<p><a href="zshguide02.html#l8">2.1.1: What is a login shell? Simple tests</a></p> <p><a href="zshguide02.html#l8">2.1.1: What is a login shell? Simple tests</a></p>
<h3 id="a-hrefzshguide02htmll922-all-the-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll922-all-the-startup-filesa"><a href="zshguide02.html#l9">2.2: All the startup files</a></a></h3> <h3 id="22-all-the-startup-files"><a class="header" href="#22-all-the-startup-files"><a href="zshguide02.html#l9">2.2: All the startup files</a></a></h3>
<h3 id="a-hrefzshguide02htmll1023-optionsa"><a class="header" href="#a-hrefzshguide02htmll1023-optionsa"><a href="zshguide02.html#l10">2.3: Options</a></a></h3> <h3 id="23-options"><a class="header" href="#23-options"><a href="zshguide02.html#l10">2.3: Options</a></a></h3>
<h3 id="a-hrefzshguide02htmll1124-parametersa"><a class="header" href="#a-hrefzshguide02htmll1124-parametersa"><a href="zshguide02.html#l11">2.4: Parameters</a></a></h3> <h3 id="24-parameters"><a class="header" href="#24-parameters"><a href="zshguide02.html#l11">2.4: Parameters</a></a></h3>
<p><a href="zshguide02.html#l12">2.4.1: Arrays</a></p> <p><a href="zshguide02.html#l12">2.4.1: Arrays</a></p>
<h3 id="a-hrefzshguide02htmll1325-what-to-put-in-your-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll1325-what-to-put-in-your-startup-filesa"><a href="zshguide02.html#l13">2.5: What to put in your startup files</a></a></h3> <h3 id="25-what-to-put-in-your-startup-files"><a class="header" href="#25-what-to-put-in-your-startup-files"><a href="zshguide02.html#l13">2.5: What to put in your startup files</a></a></h3>
<p><a href="zshguide02.html#l14">2.5.1: Compatibility options: <code>SH_WORD_SPLIT</code> and <p><a href="zshguide02.html#l14">2.5.1: Compatibility options: <code>SH_WORD_SPLIT</code> and
others</a></p> others</a></p>
<p><a href="zshguide02.html#l15">2.5.2: Options for csh junkies</a></p> <p><a href="zshguide02.html#l15">2.5.2: Options for csh junkies</a></p>
@ -199,9 +182,9 @@ others</a></p>
<p><a href="zshguide02.html#l26">2.5.13: Other path-like things</a></p> <p><a href="zshguide02.html#l26">2.5.13: Other path-like things</a></p>
<p><a href="zshguide02.html#l27">2.5.14: Version-specific things</a></p> <p><a href="zshguide02.html#l27">2.5.14: Version-specific things</a></p>
<p><a href="zshguide02.html#l28">2.5.15: Everything else</a></p> <p><a href="zshguide02.html#l28">2.5.15: Everything else</a></p>
<h2 id="a-hrefzshguide03htmll29chapter-3-dealing-with-basic-shell-syntaxa"><a class="header" href="#a-hrefzshguide03htmll29chapter-3-dealing-with-basic-shell-syntaxa"><a href="zshguide03.html#l29">Chapter 3: Dealing with basic shell syntax</a></a></h2> <h2 id="chapter-3-dealing-with-basic-shell-syntax"><a class="header" href="#chapter-3-dealing-with-basic-shell-syntax"><a href="zshguide03.html#l29">Chapter 3: Dealing with basic shell syntax</a></a></h2>
<h3 id="a-hrefzshguide03htmll3031-external-commandsa"><a class="header" href="#a-hrefzshguide03htmll3031-external-commandsa"><a href="zshguide03.html#l30">3.1: External commands</a></a></h3> <h3 id="31-external-commands"><a class="header" href="#31-external-commands"><a href="zshguide03.html#l30">3.1: External commands</a></a></h3>
<h3 id="a-hrefzshguide03htmll3132-builtin-commandsa"><a class="header" href="#a-hrefzshguide03htmll3132-builtin-commandsa"><a href="zshguide03.html#l31">3.2: Builtin commands</a></a></h3> <h3 id="32-builtin-commands"><a class="header" href="#32-builtin-commands"><a href="zshguide03.html#l31">3.2: Builtin commands</a></a></h3>
<p><a href="zshguide03.html#l32">3.2.1: Builtins for printing</a></p> <p><a href="zshguide03.html#l32">3.2.1: Builtins for printing</a></p>
<p><a href="zshguide03.html#l33">3.2.2: Other builtins just for speed</a></p> <p><a href="zshguide03.html#l33">3.2.2: Other builtins just for speed</a></p>
<p><a href="zshguide03.html#l34">3.2.3: Builtins which change the shell's state</a></p> <p><a href="zshguide03.html#l34">3.2.3: Builtins which change the shell's state</a></p>
@ -219,20 +202,20 @@ others</a></p>
<p><a href="zshguide03.html#l45">3.2.14: Random file control things</a></p> <p><a href="zshguide03.html#l45">3.2.14: Random file control things</a></p>
<p><a href="zshguide03.html#l46">3.2.15: Don't watch this space, watch some other</a></p> <p><a href="zshguide03.html#l46">3.2.15: Don't watch this space, watch some other</a></p>
<p><a href="zshguide03.html#l47">3.2.16: And also</a></p> <p><a href="zshguide03.html#l47">3.2.16: And also</a></p>
<h3 id="a-hrefzshguide03htmll4833-functionsa"><a class="header" href="#a-hrefzshguide03htmll4833-functionsa"><a href="zshguide03.html#l48">3.3: Functions</a></a></h3> <h3 id="33-functions"><a class="header" href="#33-functions"><a href="zshguide03.html#l48">3.3: Functions</a></a></h3>
<p><a href="zshguide03.html#l49">3.3.1: Loading functions</a></p> <p><a href="zshguide03.html#l49">3.3.1: Loading functions</a></p>
<p><a href="zshguide03.html#l50">3.3.2: Function parameters</a></p> <p><a href="zshguide03.html#l50">3.3.2: Function parameters</a></p>
<p><a href="zshguide03.html#l51">3.3.3: Compiling functions</a></p> <p><a href="zshguide03.html#l51">3.3.3: Compiling functions</a></p>
<h3 id="a-hrefzshguide03htmll5234-aliasesa"><a class="header" href="#a-hrefzshguide03htmll5234-aliasesa"><a href="zshguide03.html#l52">3.4: Aliases</a></a></h3> <h3 id="34-aliases"><a class="header" href="#34-aliases"><a href="zshguide03.html#l52">3.4: Aliases</a></a></h3>
<h3 id="a-hrefzshguide03htmll5335-command-summarya"><a class="header" href="#a-hrefzshguide03htmll5335-command-summarya"><a href="zshguide03.html#l53">3.5: Command summary</a></a></h3> <h3 id="35-command-summary"><a class="header" href="#35-command-summary"><a href="zshguide03.html#l53">3.5: Command summary</a></a></h3>
<h3 id="a-hrefzshguide03htmll5436-expansions-and-quotesa"><a class="header" href="#a-hrefzshguide03htmll5436-expansions-and-quotesa"><a href="zshguide03.html#l54">3.6: Expansions and quotes</a></a></h3> <h3 id="36-expansions-and-quotes"><a class="header" href="#36-expansions-and-quotes"><a href="zshguide03.html#l54">3.6: Expansions and quotes</a></a></h3>
<p><a href="zshguide03.html#l55">3.6.1: History expansion</a></p> <p><a href="zshguide03.html#l55">3.6.1: History expansion</a></p>
<p><a href="zshguide03.html#l56">3.6.2: Alias expansion</a></p> <p><a href="zshguide03.html#l56">3.6.2: Alias expansion</a></p>
<p><a href="zshguide03.html#l57">3.6.3: Process, parameter, command, arithmetic and brace <p><a href="zshguide03.html#l57">3.6.3: Process, parameter, command, arithmetic and brace
expansion</a></p> expansion</a></p>
<p><a href="zshguide03.html#l58">3.6.4: Filename Expansion</a></p> <p><a href="zshguide03.html#l58">3.6.4: Filename Expansion</a></p>
<p><a href="zshguide03.html#l59">3.6.5: Filename Generation</a></p> <p><a href="zshguide03.html#l59">3.6.5: Filename Generation</a></p>
<h3 id="a-hrefzshguide03htmll6037-redirection-greater-thans-and-less-thansa"><a class="header" href="#a-hrefzshguide03htmll6037-redirection-greater-thans-and-less-thansa"><a href="zshguide03.html#l60">3.7: Redirection: greater-thans and less-thans</a></a></h3> <h3 id="37-redirection-greater-thans-and-less-thans"><a class="header" href="#37-redirection-greater-thans-and-less-thans"><a href="zshguide03.html#l60">3.7: Redirection: greater-thans and less-thans</a></a></h3>
<p><a href="zshguide03.html#l61">3.7.1: Clobber</a></p> <p><a href="zshguide03.html#l61">3.7.1: Clobber</a></p>
<p><a href="zshguide03.html#l62">3.7.2: File descriptors</a></p> <p><a href="zshguide03.html#l62">3.7.2: File descriptors</a></p>
<p><a href="zshguide03.html#l63">3.7.3: Appending, here documents, here strings, read <p><a href="zshguide03.html#l63">3.7.3: Appending, here documents, here strings, read
@ -240,45 +223,45 @@ write</a></p>
<p><a href="zshguide03.html#l64">3.7.4: Clever tricks: exec and other file <p><a href="zshguide03.html#l64">3.7.4: Clever tricks: exec and other file
descriptors</a></p> descriptors</a></p>
<p><a href="zshguide03.html#l65">3.7.5: Multios</a></p> <p><a href="zshguide03.html#l65">3.7.5: Multios</a></p>
<h3 id="a-hrefzshguide03htmll6638-shell-syntax-loops-subshells-and-so-ona"><a class="header" href="#a-hrefzshguide03htmll6638-shell-syntax-loops-subshells-and-so-ona"><a href="zshguide03.html#l66">3.8: Shell syntax: loops, (sub)shells and so on</a></a></h3> <h3 id="38-shell-syntax-loops-subshells-and-so-on"><a class="header" href="#38-shell-syntax-loops-subshells-and-so-on"><a href="zshguide03.html#l66">3.8: Shell syntax: loops, (sub)shells and so on</a></a></h3>
<p><a href="zshguide03.html#l67">3.8.1: Logical command connectors</a></p> <p><a href="zshguide03.html#l67">3.8.1: Logical command connectors</a></p>
<p><a href="zshguide03.html#l68">3.8.2: Structures</a></p> <p><a href="zshguide03.html#l68">3.8.2: Structures</a></p>
<p><a href="zshguide03.html#l69">3.8.3: Subshells and current shell constructs</a></p> <p><a href="zshguide03.html#l69">3.8.3: Subshells and current shell constructs</a></p>
<p><a href="zshguide03.html#l70">3.8.4: Subshells and current shells</a></p> <p><a href="zshguide03.html#l70">3.8.4: Subshells and current shells</a></p>
<h3 id="a-hrefzshguide03htmll7139-emulation-and-portabilitya"><a class="header" href="#a-hrefzshguide03htmll7139-emulation-and-portabilitya"><a href="zshguide03.html#l71">3.9: Emulation and portability</a></a></h3> <h3 id="39-emulation-and-portability"><a class="header" href="#39-emulation-and-portability"><a href="zshguide03.html#l71">3.9: Emulation and portability</a></a></h3>
<p><a href="zshguide03.html#l72">3.9.1: Differences in detail</a></p> <p><a href="zshguide03.html#l72">3.9.1: Differences in detail</a></p>
<p><a href="zshguide03.html#l73">3.9.2: Making your own scripts and functions <p><a href="zshguide03.html#l73">3.9.2: Making your own scripts and functions
portable</a></p> portable</a></p>
<h3 id="a-hrefzshguide03htmll74310-running-scriptsa"><a class="header" href="#a-hrefzshguide03htmll74310-running-scriptsa"><a href="zshguide03.html#l74">3.10: Running scripts</a></a></h3> <h3 id="310-running-scripts"><a class="header" href="#310-running-scripts"><a href="zshguide03.html#l74">3.10: Running scripts</a></a></h3>
<h2 id="a-hrefzshguide04htmll75chapter-4-the-z-shell-line-editora"><a class="header" href="#a-hrefzshguide04htmll75chapter-4-the-z-shell-line-editora"><a href="zshguide04.html#l75">Chapter 4: The Z-Shell Line Editor</a></a></h2> <h2 id="chapter-4-the-z-shell-line-editor"><a class="header" href="#chapter-4-the-z-shell-line-editor"><a href="zshguide04.html#l75">Chapter 4: The Z-Shell Line Editor</a></a></h2>
<h3 id="a-hrefzshguide04htmll7641-introducing-zlea"><a class="header" href="#a-hrefzshguide04htmll7641-introducing-zlea"><a href="zshguide04.html#l76">4.1: Introducing zle</a></a></h3> <h3 id="41-introducing-zle"><a class="header" href="#41-introducing-zle"><a href="zshguide04.html#l76">4.1: Introducing zle</a></a></h3>
<p><a href="zshguide04.html#l77">4.1.1: The simple facts</a></p> <p><a href="zshguide04.html#l77">4.1.1: The simple facts</a></p>
<p><a href="zshguide04.html#l78">4.1.2: Vi mode</a></p> <p><a href="zshguide04.html#l78">4.1.2: Vi mode</a></p>
<h3 id="a-hrefzshguide04htmll7942-basic-editinga"><a class="header" href="#a-hrefzshguide04htmll7942-basic-editinga"><a href="zshguide04.html#l79">4.2: Basic editing</a></a></h3> <h3 id="42-basic-editing"><a class="header" href="#42-basic-editing"><a href="zshguide04.html#l79">4.2: Basic editing</a></a></h3>
<p><a href="zshguide04.html#l80">4.2.1: Moving</a></p> <p><a href="zshguide04.html#l80">4.2.1: Moving</a></p>
<p><a href="zshguide04.html#l81">4.2.2: Deleting</a></p> <p><a href="zshguide04.html#l81">4.2.2: Deleting</a></p>
<p><a href="zshguide04.html#l82">4.2.3: More deletion</a></p> <p><a href="zshguide04.html#l82">4.2.3: More deletion</a></p>
<h3 id="a-hrefzshguide04htmll8343-fancier-editinga"><a class="header" href="#a-hrefzshguide04htmll8343-fancier-editinga"><a href="zshguide04.html#l83">4.3: Fancier editing</a></a></h3> <h3 id="43-fancier-editing"><a class="header" href="#43-fancier-editing"><a href="zshguide04.html#l83">4.3: Fancier editing</a></a></h3>
<p><a href="zshguide04.html#l84">4.3.1: Options controlling zle</a></p> <p><a href="zshguide04.html#l84">4.3.1: Options controlling zle</a></p>
<p><a href="zshguide04.html#l85">4.3.2: The minibuffer and extended commands</a></p> <p><a href="zshguide04.html#l85">4.3.2: The minibuffer and extended commands</a></p>
<p><a href="zshguide04.html#l86">4.3.3: Prefix (digit) arguments</a></p> <p><a href="zshguide04.html#l86">4.3.3: Prefix (digit) arguments</a></p>
<p><a href="zshguide04.html#l87">4.3.4: Words, regions and marks</a></p> <p><a href="zshguide04.html#l87">4.3.4: Words, regions and marks</a></p>
<p><a href="zshguide04.html#l88">4.3.5: Regions and marks</a></p> <p><a href="zshguide04.html#l88">4.3.5: Regions and marks</a></p>
<h3 id="a-hrefzshguide04htmll8944-history-and-searchinga"><a class="header" href="#a-hrefzshguide04htmll8944-history-and-searchinga"><a href="zshguide04.html#l89">4.4: History and searching</a></a></h3> <h3 id="44-history-and-searching"><a class="header" href="#44-history-and-searching"><a href="zshguide04.html#l89">4.4: History and searching</a></a></h3>
<p><a href="zshguide04.html#l90">4.4.1: Moving through the history</a></p> <p><a href="zshguide04.html#l90">4.4.1: Moving through the history</a></p>
<p><a href="zshguide04.html#l91">4.4.2: Searching through the history</a></p> <p><a href="zshguide04.html#l91">4.4.2: Searching through the history</a></p>
<p><a href="zshguide04.html#l92">4.4.3: Extracting words from the history</a></p> <p><a href="zshguide04.html#l92">4.4.3: Extracting words from the history</a></p>
<h3 id="a-hrefzshguide04htmll9345-binding-keys-and-handling-keymapsa"><a class="header" href="#a-hrefzshguide04htmll9345-binding-keys-and-handling-keymapsa"><a href="zshguide04.html#l93">4.5: Binding keys and handling keymaps</a></a></h3> <h3 id="45-binding-keys-and-handling-keymaps"><a class="header" href="#45-binding-keys-and-handling-keymaps"><a href="zshguide04.html#l93">4.5: Binding keys and handling keymaps</a></a></h3>
<p><a href="zshguide04.html#l94">4.5.1: Simple key bindings</a></p> <p><a href="zshguide04.html#l94">4.5.1: Simple key bindings</a></p>
<p><a href="zshguide04.html#l95">4.5.2: Removing key bindings</a></p> <p><a href="zshguide04.html#l95">4.5.2: Removing key bindings</a></p>
<p><a href="zshguide04.html#l96">4.5.3: Function keys and so on</a></p> <p><a href="zshguide04.html#l96">4.5.3: Function keys and so on</a></p>
<p><a href="zshguide04.html#l97">4.5.4: Binding strings instead of commands</a></p> <p><a href="zshguide04.html#l97">4.5.4: Binding strings instead of commands</a></p>
<p><a href="zshguide04.html#l98">4.5.5: Keymaps</a></p> <p><a href="zshguide04.html#l98">4.5.5: Keymaps</a></p>
<h3 id="a-hrefzshguide04htmll9946-advanced-editinga"><a class="header" href="#a-hrefzshguide04htmll9946-advanced-editinga"><a href="zshguide04.html#l99">4.6: Advanced editing</a></a></h3> <h3 id="46-advanced-editing"><a class="header" href="#46-advanced-editing"><a href="zshguide04.html#l99">4.6: Advanced editing</a></a></h3>
<p><a href="zshguide04.html#l100">4.6.1: Multi-line editing</a></p> <p><a href="zshguide04.html#l100">4.6.1: Multi-line editing</a></p>
<p><a href="zshguide04.html#l101">4.6.2: The builtin vared and the function zed</a></p> <p><a href="zshguide04.html#l101">4.6.2: The builtin vared and the function zed</a></p>
<p><a href="zshguide04.html#l102">4.6.3: The buffer stack</a></p> <p><a href="zshguide04.html#l102">4.6.3: The buffer stack</a></p>
<h3 id="a-hrefzshguide04htmll10347-extending-zlea"><a class="header" href="#a-hrefzshguide04htmll10347-extending-zlea"><a href="zshguide04.html#l103">4.7: Extending zle</a></a></h3> <h3 id="47-extending-zle"><a class="header" href="#47-extending-zle"><a href="zshguide04.html#l103">4.7: Extending zle</a></a></h3>
<p><a href="zshguide04.html#l104">4.7.1: Widgets</a></p> <p><a href="zshguide04.html#l104">4.7.1: Widgets</a></p>
<p><a href="zshguide04.html#l105">4.7.2: Executing other widgets</a></p> <p><a href="zshguide04.html#l105">4.7.2: Executing other widgets</a></p>
<p><a href="zshguide04.html#l106">4.7.3: Some special builtin widgets and their <p><a href="zshguide04.html#l106">4.7.3: Some special builtin widgets and their
@ -287,16 +270,16 @@ uses</a></p>
<p><a href="zshguide04.html#l108">4.7.5: Other special parameters</a></p> <p><a href="zshguide04.html#l108">4.7.5: Other special parameters</a></p>
<p><a href="zshguide04.html#l109">4.7.6: Reading keys and using the minibuffer</a></p> <p><a href="zshguide04.html#l109">4.7.6: Reading keys and using the minibuffer</a></p>
<p><a href="zshguide04.html#l110">4.7.7: Examples</a></p> <p><a href="zshguide04.html#l110">4.7.7: Examples</a></p>
<h2 id="a-hrefzshguide05htmll111chapter-5-substitutionsa"><a class="header" href="#a-hrefzshguide05htmll111chapter-5-substitutionsa"><a href="zshguide05.html#l111">Chapter 5: Substitutions</a></a></h2> <h2 id="chapter-5-substitutions"><a class="header" href="#chapter-5-substitutions"><a href="zshguide05.html#l111">Chapter 5: Substitutions</a></a></h2>
<h3 id="a-hrefzshguide05htmll11251-quotinga"><a class="header" href="#a-hrefzshguide05htmll11251-quotinga"><a href="zshguide05.html#l112">5.1: Quoting</a></a></h3> <h3 id="51-quoting"><a class="header" href="#51-quoting"><a href="zshguide05.html#l112">5.1: Quoting</a></a></h3>
<p><a href="zshguide05.html#l113">5.1.1: Backslashes</a></p> <p><a href="zshguide05.html#l113">5.1.1: Backslashes</a></p>
<p><a href="zshguide05.html#l114">5.1.2: Single quotes</a></p> <p><a href="zshguide05.html#l114">5.1.2: Single quotes</a></p>
<p><a href="zshguide05.html#l115">5.1.3: POSIX quotes</a></p> <p><a href="zshguide05.html#l115">5.1.3: POSIX quotes</a></p>
<p><a href="zshguide05.html#l116">5.1.4: Double quotes</a></p> <p><a href="zshguide05.html#l116">5.1.4: Double quotes</a></p>
<p><a href="zshguide05.html#l117">5.1.5: Backquotes</a></p> <p><a href="zshguide05.html#l117">5.1.5: Backquotes</a></p>
<h3 id="a-hrefzshguide05htmll11852-modifiers-and-what-they-modifya"><a class="header" href="#a-hrefzshguide05htmll11852-modifiers-and-what-they-modifya"><a href="zshguide05.html#l118">5.2: Modifiers and what they modify</a></a></h3> <h3 id="52-modifiers-and-what-they-modify"><a class="header" href="#52-modifiers-and-what-they-modify"><a href="zshguide05.html#l118">5.2: Modifiers and what they modify</a></a></h3>
<h3 id="a-hrefzshguide05htmll11953-process-substitutiona"><a class="header" href="#a-hrefzshguide05htmll11953-process-substitutiona"><a href="zshguide05.html#l119">5.3: Process Substitution</a></a></h3> <h3 id="53-process-substitution"><a class="header" href="#53-process-substitution"><a href="zshguide05.html#l119">5.3: Process Substitution</a></a></h3>
<h3 id="a-hrefzshguide05htmll12054-parameter-substitutiona"><a class="header" href="#a-hrefzshguide05htmll12054-parameter-substitutiona"><a href="zshguide05.html#l120">5.4: Parameter substitution</a></a></h3> <h3 id="54-parameter-substitution"><a class="header" href="#54-parameter-substitution"><a href="zshguide05.html#l120">5.4: Parameter substitution</a></a></h3>
<p><a href="zshguide05.html#l121">5.4.1: Using arrays</a></p> <p><a href="zshguide05.html#l121">5.4.1: Using arrays</a></p>
<p><a href="zshguide05.html#l122">5.4.2: Using associative arrays</a></p> <p><a href="zshguide05.html#l122">5.4.2: Using associative arrays</a></p>
<p><a href="zshguide05.html#l123">5.4.3: Substituted substitutions, top- and tailing, <p><a href="zshguide05.html#l123">5.4.3: Substituted substitutions, top- and tailing,
@ -307,13 +290,13 @@ etc.</a></p>
<p><a href="zshguide05.html#l126">5.4.6: Yet more parameter flags</a></p> <p><a href="zshguide05.html#l126">5.4.6: Yet more parameter flags</a></p>
<p><a href="zshguide05.html#l127">5.4.7: A couple of parameter substitution tricks</a></p> <p><a href="zshguide05.html#l127">5.4.7: A couple of parameter substitution tricks</a></p>
<p><a href="zshguide05.html#l128">5.4.8: Nested parameter substitutions</a></p> <p><a href="zshguide05.html#l128">5.4.8: Nested parameter substitutions</a></p>
<h3 id="a-hrefzshguide05htmll12955-that-substitution-againa"><a class="header" href="#a-hrefzshguide05htmll12955-that-substitution-againa"><a href="zshguide05.html#l129">5.5: That substitution again</a></a></h3> <h3 id="55-that-substitution-again"><a class="header" href="#55-that-substitution-again"><a href="zshguide05.html#l129">5.5: That substitution again</a></a></h3>
<h3 id="a-hrefzshguide05htmll13056-arithmetic-expansiona"><a class="header" href="#a-hrefzshguide05htmll13056-arithmetic-expansiona"><a href="zshguide05.html#l130">5.6: Arithmetic Expansion</a></a></h3> <h3 id="56-arithmetic-expansion"><a class="header" href="#56-arithmetic-expansion"><a href="zshguide05.html#l130">5.6: Arithmetic Expansion</a></a></h3>
<p><a href="zshguide05.html#l131">5.6.1: Entering and outputting bases</a></p> <p><a href="zshguide05.html#l131">5.6.1: Entering and outputting bases</a></p>
<p><a href="zshguide05.html#l132">5.6.2: Parameter typing</a></p> <p><a href="zshguide05.html#l132">5.6.2: Parameter typing</a></p>
<h3 id="a-hrefzshguide05htmll13357-brace-expansion-and-arraysa"><a class="header" href="#a-hrefzshguide05htmll13357-brace-expansion-and-arraysa"><a href="zshguide05.html#l133">5.7: Brace Expansion and Arrays</a></a></h3> <h3 id="57-brace-expansion-and-arrays"><a class="header" href="#57-brace-expansion-and-arrays"><a href="zshguide05.html#l133">5.7: Brace Expansion and Arrays</a></a></h3>
<h3 id="a-hrefzshguide05htmll13458-filename-expansiona"><a class="header" href="#a-hrefzshguide05htmll13458-filename-expansiona"><a href="zshguide05.html#l134">5.8: Filename Expansion</a></a></h3> <h3 id="58-filename-expansion"><a class="header" href="#58-filename-expansion"><a href="zshguide05.html#l134">5.8: Filename Expansion</a></a></h3>
<h3 id="a-hrefzshguide05htmll13559-filename-generation-and-pattern-matchinga"><a class="header" href="#a-hrefzshguide05htmll13559-filename-generation-and-pattern-matchinga"><a href="zshguide05.html#l135">5.9: Filename Generation and Pattern Matching</a></a></h3> <h3 id="59-filename-generation-and-pattern-matching"><a class="header" href="#59-filename-generation-and-pattern-matching"><a href="zshguide05.html#l135">5.9: Filename Generation and Pattern Matching</a></a></h3>
<p><a href="zshguide05.html#l136">5.9.1: Comparing patterns and regular <p><a href="zshguide05.html#l136">5.9.1: Comparing patterns and regular
expressions</a></p> expressions</a></p>
<p><a href="zshguide05.html#l137">5.9.2: Standard features</a></p> <p><a href="zshguide05.html#l137">5.9.2: Standard features</a></p>
@ -324,9 +307,9 @@ expressions</a></p>
<p><a href="zshguide05.html#l142">5.9.7: Globbing flags: alter the behaviour of <p><a href="zshguide05.html#l142">5.9.7: Globbing flags: alter the behaviour of
matches</a></p> matches</a></p>
<p><a href="zshguide05.html#l143">5.9.8: The function <code>zmv</code></a></p> <p><a href="zshguide05.html#l143">5.9.8: The function <code>zmv</code></a></p>
<h2 id="a-hrefzshguide06htmll144chapter-6-completion-old-and-newa"><a class="header" href="#a-hrefzshguide06htmll144chapter-6-completion-old-and-newa"><a href="zshguide06.html#l144">Chapter 6: Completion, old and new</a></a></h2> <h2 id="chapter-6-completion-old-and-new"><a class="header" href="#chapter-6-completion-old-and-new"><a href="zshguide06.html#l144">Chapter 6: Completion, old and new</a></a></h2>
<h3 id="a-hrefzshguide06htmll14561-completion-and-expansiona"><a class="header" href="#a-hrefzshguide06htmll14561-completion-and-expansiona"><a href="zshguide06.html#l145">6.1: Completion and expansion</a></a></h3> <h3 id="61-completion-and-expansion"><a class="header" href="#61-completion-and-expansion"><a href="zshguide06.html#l145">6.1: Completion and expansion</a></a></h3>
<h3 id="a-hrefzshguide06htmll14662-configuring-completion-using-shell-optionsa"><a class="header" href="#a-hrefzshguide06htmll14662-configuring-completion-using-shell-optionsa"><a href="zshguide06.html#l146">6.2: Configuring completion using shell options</a></a></h3> <h3 id="62-configuring-completion-using-shell-options"><a class="header" href="#62-configuring-completion-using-shell-options"><a href="zshguide06.html#l146">6.2: Configuring completion using shell options</a></a></h3>
<p><a href="zshguide06.html#l147">6.2.1: Ambiguous completions</a></p> <p><a href="zshguide06.html#l147">6.2.1: Ambiguous completions</a></p>
<p><a href="zshguide06.html#l148">6.2.2: <code>ALWAYS_LAST_PROMPT</code></a></p> <p><a href="zshguide06.html#l148">6.2.2: <code>ALWAYS_LAST_PROMPT</code></a></p>
<p><a href="zshguide06.html#l149">6.2.3: Menu completion and menu selection</a></p> <p><a href="zshguide06.html#l149">6.2.3: Menu completion and menu selection</a></p>
@ -334,16 +317,16 @@ matches</a></p>
behaviour</a></p> behaviour</a></p>
<p><a href="zshguide06.html#l151">6.2.5: Changing the way completions are <p><a href="zshguide06.html#l151">6.2.5: Changing the way completions are
displayed</a></p> displayed</a></p>
<h3 id="a-hrefzshguide06htmll15263-getting-started-with-new-completiona"><a class="header" href="#a-hrefzshguide06htmll15263-getting-started-with-new-completiona"><a href="zshguide06.html#l152">6.3: Getting started with new completion</a></a></h3> <h3 id="63-getting-started-with-new-completion"><a class="header" href="#63-getting-started-with-new-completion"><a href="zshguide06.html#l152">6.3: Getting started with new completion</a></a></h3>
<h3 id="a-hrefzshguide06htmll15364-how-the-shell-finds-the-right-completionsa"><a class="header" href="#a-hrefzshguide06htmll15364-how-the-shell-finds-the-right-completionsa"><a href="zshguide06.html#l153">6.4: How the shell finds the right completions</a></a></h3> <h3 id="64-how-the-shell-finds-the-right-completions"><a class="header" href="#64-how-the-shell-finds-the-right-completions"><a href="zshguide06.html#l153">6.4: How the shell finds the right completions</a></a></h3>
<p><a href="zshguide06.html#l154">6.4.1: Contexts</a></p> <p><a href="zshguide06.html#l154">6.4.1: Contexts</a></p>
<p><a href="zshguide06.html#l155">6.4.2: Tags</a></p> <p><a href="zshguide06.html#l155">6.4.2: Tags</a></p>
<h3 id="a-hrefzshguide06htmll15665-configuring-completion-using-stylesa"><a class="header" href="#a-hrefzshguide06htmll15665-configuring-completion-using-stylesa"><a href="zshguide06.html#l156">6.5: Configuring completion using styles</a></a></h3> <h3 id="65-configuring-completion-using-styles"><a class="header" href="#65-configuring-completion-using-styles"><a href="zshguide06.html#l156">6.5: Configuring completion using styles</a></a></h3>
<p><a href="zshguide06.html#l157">6.5.1: Specifying completers and their options</a></p> <p><a href="zshguide06.html#l157">6.5.1: Specifying completers and their options</a></p>
<p><a href="zshguide06.html#l158">6.5.2: Changing the format of listings: groups <p><a href="zshguide06.html#l158">6.5.2: Changing the format of listings: groups
etc.</a></p> etc.</a></p>
<p><a href="zshguide06.html#l159">6.5.3: Styles affecting particular completions</a></p> <p><a href="zshguide06.html#l159">6.5.3: Styles affecting particular completions</a></p>
<h3 id="a-hrefzshguide06htmll16066-command-widgetsa"><a class="header" href="#a-hrefzshguide06htmll16066-command-widgetsa"><a href="zshguide06.html#l160">6.6: Command widgets</a></a></h3> <h3 id="66-command-widgets"><a class="header" href="#66-command-widgets"><a href="zshguide06.html#l160">6.6: Command widgets</a></a></h3>
<p><a href="zshguide06.html#l161">6.6.1: <code>_complete_help</code></a></p> <p><a href="zshguide06.html#l161">6.6.1: <code>_complete_help</code></a></p>
<p><a href="zshguide06.html#l162">6.6.2: <code>_correct_word</code>, <code>_correct_filename</code>, <p><a href="zshguide06.html#l162">6.6.2: <code>_correct_word</code>, <code>_correct_filename</code>,
<code>_expand_word</code></a></p> <code>_expand_word</code></a></p>
@ -354,19 +337,19 @@ etc.</a></p>
<p><a href="zshguide06.html#l167">6.6.7: <code>_read_comp</code></a></p> <p><a href="zshguide06.html#l167">6.6.7: <code>_read_comp</code></a></p>
<p><a href="zshguide06.html#l168">6.6.8: <code>_generic</code></a></p> <p><a href="zshguide06.html#l168">6.6.8: <code>_generic</code></a></p>
<p><a href="zshguide06.html#l169">6.6.9: <code>predict-on</code>, <code>incremental-complete-word</code></a></p> <p><a href="zshguide06.html#l169">6.6.9: <code>predict-on</code>, <code>incremental-complete-word</code></a></p>
<h3 id="a-hrefzshguide06htmll17067-matching-control-and-controlling-where-things-are-inserteda"><a class="header" href="#a-hrefzshguide06htmll17067-matching-control-and-controlling-where-things-are-inserteda"><a href="zshguide06.html#l170">6.7: Matching control and controlling where things are inserted</a></a></h3> <h3 id="67-matching-control-and-controlling-where-things-are-inserted"><a class="header" href="#67-matching-control-and-controlling-where-things-are-inserted"><a href="zshguide06.html#l170">6.7: Matching control and controlling where things are inserted</a></a></h3>
<p><a href="zshguide06.html#l171">6.7.1: Case-insensitive matching</a></p> <p><a href="zshguide06.html#l171">6.7.1: Case-insensitive matching</a></p>
<p><a href="zshguide06.html#l172">6.7.2: Matching option names</a></p> <p><a href="zshguide06.html#l172">6.7.2: Matching option names</a></p>
<p><a href="zshguide06.html#l173">6.7.3: Partial word completion</a></p> <p><a href="zshguide06.html#l173">6.7.3: Partial word completion</a></p>
<p><a href="zshguide06.html#l174">6.7.4: Substring completion</a></p> <p><a href="zshguide06.html#l174">6.7.4: Substring completion</a></p>
<p><a href="zshguide06.html#l175">6.7.5: Partial words with capitals</a></p> <p><a href="zshguide06.html#l175">6.7.5: Partial words with capitals</a></p>
<p><a href="zshguide06.html#l176">6.7.6: Final notes</a></p> <p><a href="zshguide06.html#l176">6.7.6: Final notes</a></p>
<h3 id="a-hrefzshguide06htmll17768-tutoriala"><a class="header" href="#a-hrefzshguide06htmll17768-tutoriala"><a href="zshguide06.html#l177">6.8: Tutorial</a></a></h3> <h3 id="68-tutorial"><a class="header" href="#68-tutorial"><a href="zshguide06.html#l177">6.8: Tutorial</a></a></h3>
<p><a href="zshguide06.html#l178">6.8.1: The dispatcher</a></p> <p><a href="zshguide06.html#l178">6.8.1: The dispatcher</a></p>
<p><a href="zshguide06.html#l179">6.8.2: Subcommand completion: <code>_arguments</code></a></p> <p><a href="zshguide06.html#l179">6.8.2: Subcommand completion: <code>_arguments</code></a></p>
<p><a href="zshguide06.html#l180">6.8.3: Completing particular argument types</a></p> <p><a href="zshguide06.html#l180">6.8.3: Completing particular argument types</a></p>
<p><a href="zshguide06.html#l181">6.8.4: The rest</a></p> <p><a href="zshguide06.html#l181">6.8.4: The rest</a></p>
<h3 id="a-hrefzshguide06htmll18269-writing-new-completion-functions-and-widgetsa"><a class="header" href="#a-hrefzshguide06htmll18269-writing-new-completion-functions-and-widgetsa"><a href="zshguide06.html#l182">6.9: Writing new completion functions and widgets</a></a></h3> <h3 id="69-writing-new-completion-functions-and-widgets"><a class="header" href="#69-writing-new-completion-functions-and-widgets"><a href="zshguide06.html#l182">6.9: Writing new completion functions and widgets</a></a></h3>
<p><a href="zshguide06.html#l183">6.9.1: Loading completion functions: <code>compdef</code></a></p> <p><a href="zshguide06.html#l183">6.9.1: Loading completion functions: <code>compdef</code></a></p>
<p><a href="zshguide06.html#l184">6.9.2: Adding a set of completions: <code>compadd</code></a></p> <p><a href="zshguide06.html#l184">6.9.2: Adding a set of completions: <code>compadd</code></a></p>
<p><a href="zshguide06.html#l185">6.9.3: Functions for generating filenames, etc.</a></p> <p><a href="zshguide06.html#l185">6.9.3: Functions for generating filenames, etc.</a></p>
@ -378,16 +361,16 @@ mechanism</a></p>
<p><a href="zshguide06.html#l189">6.9.7: Getting the work done for you: handling arguments <p><a href="zshguide06.html#l189">6.9.7: Getting the work done for you: handling arguments
etc.</a></p> etc.</a></p>
<p><a href="zshguide06.html#l190">6.9.8: More completion utility functions</a></p> <p><a href="zshguide06.html#l190">6.9.8: More completion utility functions</a></p>
<h3 id="a-hrefzshguide06htmll191610-finallya"><a class="header" href="#a-hrefzshguide06htmll191610-finallya"><a href="zshguide06.html#l191">6.10: Finally</a></a></h3> <h3 id="610-finally"><a class="header" href="#610-finally"><a href="zshguide06.html#l191">6.10: Finally</a></a></h3>
<h2 id="a-hrefzshguide07htmll192chapter-7-modules-and-other-bits-and-pieces-not-writtena"><a class="header" href="#a-hrefzshguide07htmll192chapter-7-modules-and-other-bits-and-pieces-not-writtena"><a href="zshguide07.html#l192">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></a></h2> <h2 id="chapter-7-modules-and-other-bits-and-pieces-not-written"><a class="header" href="#chapter-7-modules-and-other-bits-and-pieces-not-written"><a href="zshguide07.html#l192">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></a></h2>
<h3 id="a-hrefzshguide07htmll19371-control-over-modules-zmodloada"><a class="header" href="#a-hrefzshguide07htmll19371-control-over-modules-zmodloada"><a href="zshguide07.html#l193">7.1: Control over modules: <code>zmodload</code></a></a></h3> <h3 id="71-control-over-modules-zmodload"><a class="header" href="#71-control-over-modules-zmodload"><a href="zshguide07.html#l193">7.1: Control over modules: <code>zmodload</code></a></a></h3>
<p><a href="zshguide07.html#l194">7.1.1: Modules defining parameters</a></p> <p><a href="zshguide07.html#l194">7.1.1: Modules defining parameters</a></p>
<p><a href="zshguide07.html#l195">7.1.2: Low-level system interaction</a></p> <p><a href="zshguide07.html#l195">7.1.2: Low-level system interaction</a></p>
<p><a href="zshguide07.html#l196">7.1.3: ZFTP</a></p> <p><a href="zshguide07.html#l196">7.1.3: ZFTP</a></p>
<h3 id="a-hrefzshguide07htmll19772-contributed-bitsa"><a class="header" href="#a-hrefzshguide07htmll19772-contributed-bitsa"><a href="zshguide07.html#l197">7.2: Contributed bits</a></a></h3> <h3 id="72-contributed-bits"><a class="header" href="#72-contributed-bits"><a href="zshguide07.html#l197">7.2: Contributed bits</a></a></h3>
<p><a href="zshguide07.html#l198">7.2.1: Prompt themes</a></p> <p><a href="zshguide07.html#l198">7.2.1: Prompt themes</a></p>
<h3 id="a-hrefzshguide07htmll19973-whats-new-in-41a"><a class="header" href="#a-hrefzshguide07htmll19973-whats-new-in-41a"><a href="zshguide07.html#l199">7.3: What's new in 4.1</a></a></h3> <h3 id="73-whats-new-in-41"><a class="header" href="#73-whats-new-in-41"><a href="zshguide07.html#l199">7.3: What's new in 4.1</a></a></h3>
<h2 id="a-hrefzshguide08htmll200appendix-1-obtaining-zsh-and-getting-more-information-not-writtena"><a class="header" href="#a-hrefzshguide08htmll200appendix-1-obtaining-zsh-and-getting-more-information-not-writtena"><a href="zshguide08.html#l200">Appendix 1: Obtaining zsh and getting more information <em>Not written</em></a></a></h2> <h2 id="appendix-1-obtaining-zsh-and-getting-more-information-not-written"><a class="header" href="#appendix-1-obtaining-zsh-and-getting-more-information-not-written"><a href="zshguide08.html#l200">Appendix 1: Obtaining zsh and getting more information <em>Not written</em></a></a></h2>
<hr /> <hr />
</main> </main>
@ -395,13 +378,10 @@ etc.</a></p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="next" href="zshguide01.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide01.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
@ -409,36 +389,14 @@ etc.</a></p>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="next" href="zshguide01.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide01.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -446,14 +404,10 @@ etc.</a></p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -461,7 +415,5 @@ etc.</a></p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -4,48 +4,35 @@
<!-- Book generated using mdBook --> <!-- Book generated using mdBook -->
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Zsh User&#x27;s Guide</title> <title>Zsh User&#x27;s Guide</title>
<meta name="robots" content="noindex" /> <meta name="robots" content="noindex" />
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -105,8 +92,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -121,29 +107,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -155,7 +138,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -172,19 +154,19 @@
<h2 id="peter-stephenson"><a class="header" href="#peter-stephenson">Peter Stephenson</a></h2> <h2 id="peter-stephenson"><a class="header" href="#peter-stephenson">Peter Stephenson</a></h2>
<h2 id="20030323"><a class="header" href="#20030323">2003/03/23</a></h2> <h2 id="20030323"><a class="header" href="#20030323">2003/03/23</a></h2>
<h1 id="table-of-contents"><a class="header" href="#table-of-contents">Table of Contents</a></h1> <h1 id="table-of-contents"><a class="header" href="#table-of-contents">Table of Contents</a></h1>
<h2 id="a-hrefzshguide01htmll1chapter-1-a-short-introductiona"><a class="header" href="#a-hrefzshguide01htmll1chapter-1-a-short-introductiona"><a href="zshguide01.html#l1">Chapter 1: A short introduction</a></a></h2> <h2 id="chapter-1-a-short-introduction"><a class="header" href="#chapter-1-a-short-introduction"><a href="zshguide01.html#l1">Chapter 1: A short introduction</a></a></h2>
<h3 id="a-hrefzshguide01htmll211-other-shells-and-other-guidesa"><a class="header" href="#a-hrefzshguide01htmll211-other-shells-and-other-guidesa"><a href="zshguide01.html#l2">1.1: Other shells and other guides</a></a></h3> <h3 id="11-other-shells-and-other-guides"><a class="header" href="#11-other-shells-and-other-guides"><a href="zshguide01.html#l2">1.1: Other shells and other guides</a></a></h3>
<h3 id="a-hrefzshguide01htmll312-versions-of-zsha"><a class="header" href="#a-hrefzshguide01htmll312-versions-of-zsha"><a href="zshguide01.html#l3">1.2: Versions of zsh</a></a></h3> <h3 id="12-versions-of-zsh"><a class="header" href="#12-versions-of-zsh"><a href="zshguide01.html#l3">1.2: Versions of zsh</a></a></h3>
<h3 id="a-hrefzshguide01htmll413-conventionsa"><a class="header" href="#a-hrefzshguide01htmll413-conventionsa"><a href="zshguide01.html#l4">1.3: Conventions</a></a></h3> <h3 id="13-conventions"><a class="header" href="#13-conventions"><a href="zshguide01.html#l4">1.3: Conventions</a></a></h3>
<h3 id="a-hrefzshguide01htmll514-acknowledgmentsa"><a class="header" href="#a-hrefzshguide01htmll514-acknowledgmentsa"><a href="zshguide01.html#l5">1.4: Acknowledgments</a></a></h3> <h3 id="14-acknowledgments"><a class="header" href="#14-acknowledgments"><a href="zshguide01.html#l5">1.4: Acknowledgments</a></a></h3>
<h2 id="a-hrefzshguide02htmll6chapter-2-what-to-put-in-your-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll6chapter-2-what-to-put-in-your-startup-filesa"><a href="zshguide02.html#l6">Chapter 2: What to put in your startup files</a></a></h2> <h2 id="chapter-2-what-to-put-in-your-startup-files"><a class="header" href="#chapter-2-what-to-put-in-your-startup-files"><a href="zshguide02.html#l6">Chapter 2: What to put in your startup files</a></a></h2>
<h3 id="a-hrefzshguide02htmll721-types-of-shell-interactive-and-login-shellsa"><a class="header" href="#a-hrefzshguide02htmll721-types-of-shell-interactive-and-login-shellsa"><a href="zshguide02.html#l7">2.1: Types of shell: interactive and login shells</a></a></h3> <h3 id="21-types-of-shell-interactive-and-login-shells"><a class="header" href="#21-types-of-shell-interactive-and-login-shells"><a href="zshguide02.html#l7">2.1: Types of shell: interactive and login shells</a></a></h3>
<p><a href="zshguide02.html#l8">2.1.1: What is a login shell? Simple tests</a></p> <p><a href="zshguide02.html#l8">2.1.1: What is a login shell? Simple tests</a></p>
<h3 id="a-hrefzshguide02htmll922-all-the-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll922-all-the-startup-filesa"><a href="zshguide02.html#l9">2.2: All the startup files</a></a></h3> <h3 id="22-all-the-startup-files"><a class="header" href="#22-all-the-startup-files"><a href="zshguide02.html#l9">2.2: All the startup files</a></a></h3>
<h3 id="a-hrefzshguide02htmll1023-optionsa"><a class="header" href="#a-hrefzshguide02htmll1023-optionsa"><a href="zshguide02.html#l10">2.3: Options</a></a></h3> <h3 id="23-options"><a class="header" href="#23-options"><a href="zshguide02.html#l10">2.3: Options</a></a></h3>
<h3 id="a-hrefzshguide02htmll1124-parametersa"><a class="header" href="#a-hrefzshguide02htmll1124-parametersa"><a href="zshguide02.html#l11">2.4: Parameters</a></a></h3> <h3 id="24-parameters"><a class="header" href="#24-parameters"><a href="zshguide02.html#l11">2.4: Parameters</a></a></h3>
<p><a href="zshguide02.html#l12">2.4.1: Arrays</a></p> <p><a href="zshguide02.html#l12">2.4.1: Arrays</a></p>
<h3 id="a-hrefzshguide02htmll1325-what-to-put-in-your-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll1325-what-to-put-in-your-startup-filesa"><a href="zshguide02.html#l13">2.5: What to put in your startup files</a></a></h3> <h3 id="25-what-to-put-in-your-startup-files"><a class="header" href="#25-what-to-put-in-your-startup-files"><a href="zshguide02.html#l13">2.5: What to put in your startup files</a></a></h3>
<p><a href="zshguide02.html#l14">2.5.1: Compatibility options: <code>SH_WORD_SPLIT</code> and <p><a href="zshguide02.html#l14">2.5.1: Compatibility options: <code>SH_WORD_SPLIT</code> and
others</a></p> others</a></p>
<p><a href="zshguide02.html#l15">2.5.2: Options for csh junkies</a></p> <p><a href="zshguide02.html#l15">2.5.2: Options for csh junkies</a></p>
@ -201,9 +183,9 @@ others</a></p>
<p><a href="zshguide02.html#l26">2.5.13: Other path-like things</a></p> <p><a href="zshguide02.html#l26">2.5.13: Other path-like things</a></p>
<p><a href="zshguide02.html#l27">2.5.14: Version-specific things</a></p> <p><a href="zshguide02.html#l27">2.5.14: Version-specific things</a></p>
<p><a href="zshguide02.html#l28">2.5.15: Everything else</a></p> <p><a href="zshguide02.html#l28">2.5.15: Everything else</a></p>
<h2 id="a-hrefzshguide03htmll29chapter-3-dealing-with-basic-shell-syntaxa"><a class="header" href="#a-hrefzshguide03htmll29chapter-3-dealing-with-basic-shell-syntaxa"><a href="zshguide03.html#l29">Chapter 3: Dealing with basic shell syntax</a></a></h2> <h2 id="chapter-3-dealing-with-basic-shell-syntax"><a class="header" href="#chapter-3-dealing-with-basic-shell-syntax"><a href="zshguide03.html#l29">Chapter 3: Dealing with basic shell syntax</a></a></h2>
<h3 id="a-hrefzshguide03htmll3031-external-commandsa"><a class="header" href="#a-hrefzshguide03htmll3031-external-commandsa"><a href="zshguide03.html#l30">3.1: External commands</a></a></h3> <h3 id="31-external-commands"><a class="header" href="#31-external-commands"><a href="zshguide03.html#l30">3.1: External commands</a></a></h3>
<h3 id="a-hrefzshguide03htmll3132-builtin-commandsa"><a class="header" href="#a-hrefzshguide03htmll3132-builtin-commandsa"><a href="zshguide03.html#l31">3.2: Builtin commands</a></a></h3> <h3 id="32-builtin-commands"><a class="header" href="#32-builtin-commands"><a href="zshguide03.html#l31">3.2: Builtin commands</a></a></h3>
<p><a href="zshguide03.html#l32">3.2.1: Builtins for printing</a></p> <p><a href="zshguide03.html#l32">3.2.1: Builtins for printing</a></p>
<p><a href="zshguide03.html#l33">3.2.2: Other builtins just for speed</a></p> <p><a href="zshguide03.html#l33">3.2.2: Other builtins just for speed</a></p>
<p><a href="zshguide03.html#l34">3.2.3: Builtins which change the shell's state</a></p> <p><a href="zshguide03.html#l34">3.2.3: Builtins which change the shell's state</a></p>
@ -221,20 +203,20 @@ others</a></p>
<p><a href="zshguide03.html#l45">3.2.14: Random file control things</a></p> <p><a href="zshguide03.html#l45">3.2.14: Random file control things</a></p>
<p><a href="zshguide03.html#l46">3.2.15: Don't watch this space, watch some other</a></p> <p><a href="zshguide03.html#l46">3.2.15: Don't watch this space, watch some other</a></p>
<p><a href="zshguide03.html#l47">3.2.16: And also</a></p> <p><a href="zshguide03.html#l47">3.2.16: And also</a></p>
<h3 id="a-hrefzshguide03htmll4833-functionsa"><a class="header" href="#a-hrefzshguide03htmll4833-functionsa"><a href="zshguide03.html#l48">3.3: Functions</a></a></h3> <h3 id="33-functions"><a class="header" href="#33-functions"><a href="zshguide03.html#l48">3.3: Functions</a></a></h3>
<p><a href="zshguide03.html#l49">3.3.1: Loading functions</a></p> <p><a href="zshguide03.html#l49">3.3.1: Loading functions</a></p>
<p><a href="zshguide03.html#l50">3.3.2: Function parameters</a></p> <p><a href="zshguide03.html#l50">3.3.2: Function parameters</a></p>
<p><a href="zshguide03.html#l51">3.3.3: Compiling functions</a></p> <p><a href="zshguide03.html#l51">3.3.3: Compiling functions</a></p>
<h3 id="a-hrefzshguide03htmll5234-aliasesa"><a class="header" href="#a-hrefzshguide03htmll5234-aliasesa"><a href="zshguide03.html#l52">3.4: Aliases</a></a></h3> <h3 id="34-aliases"><a class="header" href="#34-aliases"><a href="zshguide03.html#l52">3.4: Aliases</a></a></h3>
<h3 id="a-hrefzshguide03htmll5335-command-summarya"><a class="header" href="#a-hrefzshguide03htmll5335-command-summarya"><a href="zshguide03.html#l53">3.5: Command summary</a></a></h3> <h3 id="35-command-summary"><a class="header" href="#35-command-summary"><a href="zshguide03.html#l53">3.5: Command summary</a></a></h3>
<h3 id="a-hrefzshguide03htmll5436-expansions-and-quotesa"><a class="header" href="#a-hrefzshguide03htmll5436-expansions-and-quotesa"><a href="zshguide03.html#l54">3.6: Expansions and quotes</a></a></h3> <h3 id="36-expansions-and-quotes"><a class="header" href="#36-expansions-and-quotes"><a href="zshguide03.html#l54">3.6: Expansions and quotes</a></a></h3>
<p><a href="zshguide03.html#l55">3.6.1: History expansion</a></p> <p><a href="zshguide03.html#l55">3.6.1: History expansion</a></p>
<p><a href="zshguide03.html#l56">3.6.2: Alias expansion</a></p> <p><a href="zshguide03.html#l56">3.6.2: Alias expansion</a></p>
<p><a href="zshguide03.html#l57">3.6.3: Process, parameter, command, arithmetic and brace <p><a href="zshguide03.html#l57">3.6.3: Process, parameter, command, arithmetic and brace
expansion</a></p> expansion</a></p>
<p><a href="zshguide03.html#l58">3.6.4: Filename Expansion</a></p> <p><a href="zshguide03.html#l58">3.6.4: Filename Expansion</a></p>
<p><a href="zshguide03.html#l59">3.6.5: Filename Generation</a></p> <p><a href="zshguide03.html#l59">3.6.5: Filename Generation</a></p>
<h3 id="a-hrefzshguide03htmll6037-redirection-greater-thans-and-less-thansa"><a class="header" href="#a-hrefzshguide03htmll6037-redirection-greater-thans-and-less-thansa"><a href="zshguide03.html#l60">3.7: Redirection: greater-thans and less-thans</a></a></h3> <h3 id="37-redirection-greater-thans-and-less-thans"><a class="header" href="#37-redirection-greater-thans-and-less-thans"><a href="zshguide03.html#l60">3.7: Redirection: greater-thans and less-thans</a></a></h3>
<p><a href="zshguide03.html#l61">3.7.1: Clobber</a></p> <p><a href="zshguide03.html#l61">3.7.1: Clobber</a></p>
<p><a href="zshguide03.html#l62">3.7.2: File descriptors</a></p> <p><a href="zshguide03.html#l62">3.7.2: File descriptors</a></p>
<p><a href="zshguide03.html#l63">3.7.3: Appending, here documents, here strings, read <p><a href="zshguide03.html#l63">3.7.3: Appending, here documents, here strings, read
@ -242,45 +224,45 @@ write</a></p>
<p><a href="zshguide03.html#l64">3.7.4: Clever tricks: exec and other file <p><a href="zshguide03.html#l64">3.7.4: Clever tricks: exec and other file
descriptors</a></p> descriptors</a></p>
<p><a href="zshguide03.html#l65">3.7.5: Multios</a></p> <p><a href="zshguide03.html#l65">3.7.5: Multios</a></p>
<h3 id="a-hrefzshguide03htmll6638-shell-syntax-loops-subshells-and-so-ona"><a class="header" href="#a-hrefzshguide03htmll6638-shell-syntax-loops-subshells-and-so-ona"><a href="zshguide03.html#l66">3.8: Shell syntax: loops, (sub)shells and so on</a></a></h3> <h3 id="38-shell-syntax-loops-subshells-and-so-on"><a class="header" href="#38-shell-syntax-loops-subshells-and-so-on"><a href="zshguide03.html#l66">3.8: Shell syntax: loops, (sub)shells and so on</a></a></h3>
<p><a href="zshguide03.html#l67">3.8.1: Logical command connectors</a></p> <p><a href="zshguide03.html#l67">3.8.1: Logical command connectors</a></p>
<p><a href="zshguide03.html#l68">3.8.2: Structures</a></p> <p><a href="zshguide03.html#l68">3.8.2: Structures</a></p>
<p><a href="zshguide03.html#l69">3.8.3: Subshells and current shell constructs</a></p> <p><a href="zshguide03.html#l69">3.8.3: Subshells and current shell constructs</a></p>
<p><a href="zshguide03.html#l70">3.8.4: Subshells and current shells</a></p> <p><a href="zshguide03.html#l70">3.8.4: Subshells and current shells</a></p>
<h3 id="a-hrefzshguide03htmll7139-emulation-and-portabilitya"><a class="header" href="#a-hrefzshguide03htmll7139-emulation-and-portabilitya"><a href="zshguide03.html#l71">3.9: Emulation and portability</a></a></h3> <h3 id="39-emulation-and-portability"><a class="header" href="#39-emulation-and-portability"><a href="zshguide03.html#l71">3.9: Emulation and portability</a></a></h3>
<p><a href="zshguide03.html#l72">3.9.1: Differences in detail</a></p> <p><a href="zshguide03.html#l72">3.9.1: Differences in detail</a></p>
<p><a href="zshguide03.html#l73">3.9.2: Making your own scripts and functions <p><a href="zshguide03.html#l73">3.9.2: Making your own scripts and functions
portable</a></p> portable</a></p>
<h3 id="a-hrefzshguide03htmll74310-running-scriptsa"><a class="header" href="#a-hrefzshguide03htmll74310-running-scriptsa"><a href="zshguide03.html#l74">3.10: Running scripts</a></a></h3> <h3 id="310-running-scripts"><a class="header" href="#310-running-scripts"><a href="zshguide03.html#l74">3.10: Running scripts</a></a></h3>
<h2 id="a-hrefzshguide04htmll75chapter-4-the-z-shell-line-editora"><a class="header" href="#a-hrefzshguide04htmll75chapter-4-the-z-shell-line-editora"><a href="zshguide04.html#l75">Chapter 4: The Z-Shell Line Editor</a></a></h2> <h2 id="chapter-4-the-z-shell-line-editor"><a class="header" href="#chapter-4-the-z-shell-line-editor"><a href="zshguide04.html#l75">Chapter 4: The Z-Shell Line Editor</a></a></h2>
<h3 id="a-hrefzshguide04htmll7641-introducing-zlea"><a class="header" href="#a-hrefzshguide04htmll7641-introducing-zlea"><a href="zshguide04.html#l76">4.1: Introducing zle</a></a></h3> <h3 id="41-introducing-zle"><a class="header" href="#41-introducing-zle"><a href="zshguide04.html#l76">4.1: Introducing zle</a></a></h3>
<p><a href="zshguide04.html#l77">4.1.1: The simple facts</a></p> <p><a href="zshguide04.html#l77">4.1.1: The simple facts</a></p>
<p><a href="zshguide04.html#l78">4.1.2: Vi mode</a></p> <p><a href="zshguide04.html#l78">4.1.2: Vi mode</a></p>
<h3 id="a-hrefzshguide04htmll7942-basic-editinga"><a class="header" href="#a-hrefzshguide04htmll7942-basic-editinga"><a href="zshguide04.html#l79">4.2: Basic editing</a></a></h3> <h3 id="42-basic-editing"><a class="header" href="#42-basic-editing"><a href="zshguide04.html#l79">4.2: Basic editing</a></a></h3>
<p><a href="zshguide04.html#l80">4.2.1: Moving</a></p> <p><a href="zshguide04.html#l80">4.2.1: Moving</a></p>
<p><a href="zshguide04.html#l81">4.2.2: Deleting</a></p> <p><a href="zshguide04.html#l81">4.2.2: Deleting</a></p>
<p><a href="zshguide04.html#l82">4.2.3: More deletion</a></p> <p><a href="zshguide04.html#l82">4.2.3: More deletion</a></p>
<h3 id="a-hrefzshguide04htmll8343-fancier-editinga"><a class="header" href="#a-hrefzshguide04htmll8343-fancier-editinga"><a href="zshguide04.html#l83">4.3: Fancier editing</a></a></h3> <h3 id="43-fancier-editing"><a class="header" href="#43-fancier-editing"><a href="zshguide04.html#l83">4.3: Fancier editing</a></a></h3>
<p><a href="zshguide04.html#l84">4.3.1: Options controlling zle</a></p> <p><a href="zshguide04.html#l84">4.3.1: Options controlling zle</a></p>
<p><a href="zshguide04.html#l85">4.3.2: The minibuffer and extended commands</a></p> <p><a href="zshguide04.html#l85">4.3.2: The minibuffer and extended commands</a></p>
<p><a href="zshguide04.html#l86">4.3.3: Prefix (digit) arguments</a></p> <p><a href="zshguide04.html#l86">4.3.3: Prefix (digit) arguments</a></p>
<p><a href="zshguide04.html#l87">4.3.4: Words, regions and marks</a></p> <p><a href="zshguide04.html#l87">4.3.4: Words, regions and marks</a></p>
<p><a href="zshguide04.html#l88">4.3.5: Regions and marks</a></p> <p><a href="zshguide04.html#l88">4.3.5: Regions and marks</a></p>
<h3 id="a-hrefzshguide04htmll8944-history-and-searchinga"><a class="header" href="#a-hrefzshguide04htmll8944-history-and-searchinga"><a href="zshguide04.html#l89">4.4: History and searching</a></a></h3> <h3 id="44-history-and-searching"><a class="header" href="#44-history-and-searching"><a href="zshguide04.html#l89">4.4: History and searching</a></a></h3>
<p><a href="zshguide04.html#l90">4.4.1: Moving through the history</a></p> <p><a href="zshguide04.html#l90">4.4.1: Moving through the history</a></p>
<p><a href="zshguide04.html#l91">4.4.2: Searching through the history</a></p> <p><a href="zshguide04.html#l91">4.4.2: Searching through the history</a></p>
<p><a href="zshguide04.html#l92">4.4.3: Extracting words from the history</a></p> <p><a href="zshguide04.html#l92">4.4.3: Extracting words from the history</a></p>
<h3 id="a-hrefzshguide04htmll9345-binding-keys-and-handling-keymapsa"><a class="header" href="#a-hrefzshguide04htmll9345-binding-keys-and-handling-keymapsa"><a href="zshguide04.html#l93">4.5: Binding keys and handling keymaps</a></a></h3> <h3 id="45-binding-keys-and-handling-keymaps"><a class="header" href="#45-binding-keys-and-handling-keymaps"><a href="zshguide04.html#l93">4.5: Binding keys and handling keymaps</a></a></h3>
<p><a href="zshguide04.html#l94">4.5.1: Simple key bindings</a></p> <p><a href="zshguide04.html#l94">4.5.1: Simple key bindings</a></p>
<p><a href="zshguide04.html#l95">4.5.2: Removing key bindings</a></p> <p><a href="zshguide04.html#l95">4.5.2: Removing key bindings</a></p>
<p><a href="zshguide04.html#l96">4.5.3: Function keys and so on</a></p> <p><a href="zshguide04.html#l96">4.5.3: Function keys and so on</a></p>
<p><a href="zshguide04.html#l97">4.5.4: Binding strings instead of commands</a></p> <p><a href="zshguide04.html#l97">4.5.4: Binding strings instead of commands</a></p>
<p><a href="zshguide04.html#l98">4.5.5: Keymaps</a></p> <p><a href="zshguide04.html#l98">4.5.5: Keymaps</a></p>
<h3 id="a-hrefzshguide04htmll9946-advanced-editinga"><a class="header" href="#a-hrefzshguide04htmll9946-advanced-editinga"><a href="zshguide04.html#l99">4.6: Advanced editing</a></a></h3> <h3 id="46-advanced-editing"><a class="header" href="#46-advanced-editing"><a href="zshguide04.html#l99">4.6: Advanced editing</a></a></h3>
<p><a href="zshguide04.html#l100">4.6.1: Multi-line editing</a></p> <p><a href="zshguide04.html#l100">4.6.1: Multi-line editing</a></p>
<p><a href="zshguide04.html#l101">4.6.2: The builtin vared and the function zed</a></p> <p><a href="zshguide04.html#l101">4.6.2: The builtin vared and the function zed</a></p>
<p><a href="zshguide04.html#l102">4.6.3: The buffer stack</a></p> <p><a href="zshguide04.html#l102">4.6.3: The buffer stack</a></p>
<h3 id="a-hrefzshguide04htmll10347-extending-zlea"><a class="header" href="#a-hrefzshguide04htmll10347-extending-zlea"><a href="zshguide04.html#l103">4.7: Extending zle</a></a></h3> <h3 id="47-extending-zle"><a class="header" href="#47-extending-zle"><a href="zshguide04.html#l103">4.7: Extending zle</a></a></h3>
<p><a href="zshguide04.html#l104">4.7.1: Widgets</a></p> <p><a href="zshguide04.html#l104">4.7.1: Widgets</a></p>
<p><a href="zshguide04.html#l105">4.7.2: Executing other widgets</a></p> <p><a href="zshguide04.html#l105">4.7.2: Executing other widgets</a></p>
<p><a href="zshguide04.html#l106">4.7.3: Some special builtin widgets and their <p><a href="zshguide04.html#l106">4.7.3: Some special builtin widgets and their
@ -289,16 +271,16 @@ uses</a></p>
<p><a href="zshguide04.html#l108">4.7.5: Other special parameters</a></p> <p><a href="zshguide04.html#l108">4.7.5: Other special parameters</a></p>
<p><a href="zshguide04.html#l109">4.7.6: Reading keys and using the minibuffer</a></p> <p><a href="zshguide04.html#l109">4.7.6: Reading keys and using the minibuffer</a></p>
<p><a href="zshguide04.html#l110">4.7.7: Examples</a></p> <p><a href="zshguide04.html#l110">4.7.7: Examples</a></p>
<h2 id="a-hrefzshguide05htmll111chapter-5-substitutionsa"><a class="header" href="#a-hrefzshguide05htmll111chapter-5-substitutionsa"><a href="zshguide05.html#l111">Chapter 5: Substitutions</a></a></h2> <h2 id="chapter-5-substitutions"><a class="header" href="#chapter-5-substitutions"><a href="zshguide05.html#l111">Chapter 5: Substitutions</a></a></h2>
<h3 id="a-hrefzshguide05htmll11251-quotinga"><a class="header" href="#a-hrefzshguide05htmll11251-quotinga"><a href="zshguide05.html#l112">5.1: Quoting</a></a></h3> <h3 id="51-quoting"><a class="header" href="#51-quoting"><a href="zshguide05.html#l112">5.1: Quoting</a></a></h3>
<p><a href="zshguide05.html#l113">5.1.1: Backslashes</a></p> <p><a href="zshguide05.html#l113">5.1.1: Backslashes</a></p>
<p><a href="zshguide05.html#l114">5.1.2: Single quotes</a></p> <p><a href="zshguide05.html#l114">5.1.2: Single quotes</a></p>
<p><a href="zshguide05.html#l115">5.1.3: POSIX quotes</a></p> <p><a href="zshguide05.html#l115">5.1.3: POSIX quotes</a></p>
<p><a href="zshguide05.html#l116">5.1.4: Double quotes</a></p> <p><a href="zshguide05.html#l116">5.1.4: Double quotes</a></p>
<p><a href="zshguide05.html#l117">5.1.5: Backquotes</a></p> <p><a href="zshguide05.html#l117">5.1.5: Backquotes</a></p>
<h3 id="a-hrefzshguide05htmll11852-modifiers-and-what-they-modifya"><a class="header" href="#a-hrefzshguide05htmll11852-modifiers-and-what-they-modifya"><a href="zshguide05.html#l118">5.2: Modifiers and what they modify</a></a></h3> <h3 id="52-modifiers-and-what-they-modify"><a class="header" href="#52-modifiers-and-what-they-modify"><a href="zshguide05.html#l118">5.2: Modifiers and what they modify</a></a></h3>
<h3 id="a-hrefzshguide05htmll11953-process-substitutiona"><a class="header" href="#a-hrefzshguide05htmll11953-process-substitutiona"><a href="zshguide05.html#l119">5.3: Process Substitution</a></a></h3> <h3 id="53-process-substitution"><a class="header" href="#53-process-substitution"><a href="zshguide05.html#l119">5.3: Process Substitution</a></a></h3>
<h3 id="a-hrefzshguide05htmll12054-parameter-substitutiona"><a class="header" href="#a-hrefzshguide05htmll12054-parameter-substitutiona"><a href="zshguide05.html#l120">5.4: Parameter substitution</a></a></h3> <h3 id="54-parameter-substitution"><a class="header" href="#54-parameter-substitution"><a href="zshguide05.html#l120">5.4: Parameter substitution</a></a></h3>
<p><a href="zshguide05.html#l121">5.4.1: Using arrays</a></p> <p><a href="zshguide05.html#l121">5.4.1: Using arrays</a></p>
<p><a href="zshguide05.html#l122">5.4.2: Using associative arrays</a></p> <p><a href="zshguide05.html#l122">5.4.2: Using associative arrays</a></p>
<p><a href="zshguide05.html#l123">5.4.3: Substituted substitutions, top- and tailing, <p><a href="zshguide05.html#l123">5.4.3: Substituted substitutions, top- and tailing,
@ -309,13 +291,13 @@ etc.</a></p>
<p><a href="zshguide05.html#l126">5.4.6: Yet more parameter flags</a></p> <p><a href="zshguide05.html#l126">5.4.6: Yet more parameter flags</a></p>
<p><a href="zshguide05.html#l127">5.4.7: A couple of parameter substitution tricks</a></p> <p><a href="zshguide05.html#l127">5.4.7: A couple of parameter substitution tricks</a></p>
<p><a href="zshguide05.html#l128">5.4.8: Nested parameter substitutions</a></p> <p><a href="zshguide05.html#l128">5.4.8: Nested parameter substitutions</a></p>
<h3 id="a-hrefzshguide05htmll12955-that-substitution-againa"><a class="header" href="#a-hrefzshguide05htmll12955-that-substitution-againa"><a href="zshguide05.html#l129">5.5: That substitution again</a></a></h3> <h3 id="55-that-substitution-again"><a class="header" href="#55-that-substitution-again"><a href="zshguide05.html#l129">5.5: That substitution again</a></a></h3>
<h3 id="a-hrefzshguide05htmll13056-arithmetic-expansiona"><a class="header" href="#a-hrefzshguide05htmll13056-arithmetic-expansiona"><a href="zshguide05.html#l130">5.6: Arithmetic Expansion</a></a></h3> <h3 id="56-arithmetic-expansion"><a class="header" href="#56-arithmetic-expansion"><a href="zshguide05.html#l130">5.6: Arithmetic Expansion</a></a></h3>
<p><a href="zshguide05.html#l131">5.6.1: Entering and outputting bases</a></p> <p><a href="zshguide05.html#l131">5.6.1: Entering and outputting bases</a></p>
<p><a href="zshguide05.html#l132">5.6.2: Parameter typing</a></p> <p><a href="zshguide05.html#l132">5.6.2: Parameter typing</a></p>
<h3 id="a-hrefzshguide05htmll13357-brace-expansion-and-arraysa"><a class="header" href="#a-hrefzshguide05htmll13357-brace-expansion-and-arraysa"><a href="zshguide05.html#l133">5.7: Brace Expansion and Arrays</a></a></h3> <h3 id="57-brace-expansion-and-arrays"><a class="header" href="#57-brace-expansion-and-arrays"><a href="zshguide05.html#l133">5.7: Brace Expansion and Arrays</a></a></h3>
<h3 id="a-hrefzshguide05htmll13458-filename-expansiona"><a class="header" href="#a-hrefzshguide05htmll13458-filename-expansiona"><a href="zshguide05.html#l134">5.8: Filename Expansion</a></a></h3> <h3 id="58-filename-expansion"><a class="header" href="#58-filename-expansion"><a href="zshguide05.html#l134">5.8: Filename Expansion</a></a></h3>
<h3 id="a-hrefzshguide05htmll13559-filename-generation-and-pattern-matchinga"><a class="header" href="#a-hrefzshguide05htmll13559-filename-generation-and-pattern-matchinga"><a href="zshguide05.html#l135">5.9: Filename Generation and Pattern Matching</a></a></h3> <h3 id="59-filename-generation-and-pattern-matching"><a class="header" href="#59-filename-generation-and-pattern-matching"><a href="zshguide05.html#l135">5.9: Filename Generation and Pattern Matching</a></a></h3>
<p><a href="zshguide05.html#l136">5.9.1: Comparing patterns and regular <p><a href="zshguide05.html#l136">5.9.1: Comparing patterns and regular
expressions</a></p> expressions</a></p>
<p><a href="zshguide05.html#l137">5.9.2: Standard features</a></p> <p><a href="zshguide05.html#l137">5.9.2: Standard features</a></p>
@ -326,9 +308,9 @@ expressions</a></p>
<p><a href="zshguide05.html#l142">5.9.7: Globbing flags: alter the behaviour of <p><a href="zshguide05.html#l142">5.9.7: Globbing flags: alter the behaviour of
matches</a></p> matches</a></p>
<p><a href="zshguide05.html#l143">5.9.8: The function <code>zmv</code></a></p> <p><a href="zshguide05.html#l143">5.9.8: The function <code>zmv</code></a></p>
<h2 id="a-hrefzshguide06htmll144chapter-6-completion-old-and-newa"><a class="header" href="#a-hrefzshguide06htmll144chapter-6-completion-old-and-newa"><a href="zshguide06.html#l144">Chapter 6: Completion, old and new</a></a></h2> <h2 id="chapter-6-completion-old-and-new"><a class="header" href="#chapter-6-completion-old-and-new"><a href="zshguide06.html#l144">Chapter 6: Completion, old and new</a></a></h2>
<h3 id="a-hrefzshguide06htmll14561-completion-and-expansiona"><a class="header" href="#a-hrefzshguide06htmll14561-completion-and-expansiona"><a href="zshguide06.html#l145">6.1: Completion and expansion</a></a></h3> <h3 id="61-completion-and-expansion"><a class="header" href="#61-completion-and-expansion"><a href="zshguide06.html#l145">6.1: Completion and expansion</a></a></h3>
<h3 id="a-hrefzshguide06htmll14662-configuring-completion-using-shell-optionsa"><a class="header" href="#a-hrefzshguide06htmll14662-configuring-completion-using-shell-optionsa"><a href="zshguide06.html#l146">6.2: Configuring completion using shell options</a></a></h3> <h3 id="62-configuring-completion-using-shell-options"><a class="header" href="#62-configuring-completion-using-shell-options"><a href="zshguide06.html#l146">6.2: Configuring completion using shell options</a></a></h3>
<p><a href="zshguide06.html#l147">6.2.1: Ambiguous completions</a></p> <p><a href="zshguide06.html#l147">6.2.1: Ambiguous completions</a></p>
<p><a href="zshguide06.html#l148">6.2.2: <code>ALWAYS_LAST_PROMPT</code></a></p> <p><a href="zshguide06.html#l148">6.2.2: <code>ALWAYS_LAST_PROMPT</code></a></p>
<p><a href="zshguide06.html#l149">6.2.3: Menu completion and menu selection</a></p> <p><a href="zshguide06.html#l149">6.2.3: Menu completion and menu selection</a></p>
@ -336,16 +318,16 @@ matches</a></p>
behaviour</a></p> behaviour</a></p>
<p><a href="zshguide06.html#l151">6.2.5: Changing the way completions are <p><a href="zshguide06.html#l151">6.2.5: Changing the way completions are
displayed</a></p> displayed</a></p>
<h3 id="a-hrefzshguide06htmll15263-getting-started-with-new-completiona"><a class="header" href="#a-hrefzshguide06htmll15263-getting-started-with-new-completiona"><a href="zshguide06.html#l152">6.3: Getting started with new completion</a></a></h3> <h3 id="63-getting-started-with-new-completion"><a class="header" href="#63-getting-started-with-new-completion"><a href="zshguide06.html#l152">6.3: Getting started with new completion</a></a></h3>
<h3 id="a-hrefzshguide06htmll15364-how-the-shell-finds-the-right-completionsa"><a class="header" href="#a-hrefzshguide06htmll15364-how-the-shell-finds-the-right-completionsa"><a href="zshguide06.html#l153">6.4: How the shell finds the right completions</a></a></h3> <h3 id="64-how-the-shell-finds-the-right-completions"><a class="header" href="#64-how-the-shell-finds-the-right-completions"><a href="zshguide06.html#l153">6.4: How the shell finds the right completions</a></a></h3>
<p><a href="zshguide06.html#l154">6.4.1: Contexts</a></p> <p><a href="zshguide06.html#l154">6.4.1: Contexts</a></p>
<p><a href="zshguide06.html#l155">6.4.2: Tags</a></p> <p><a href="zshguide06.html#l155">6.4.2: Tags</a></p>
<h3 id="a-hrefzshguide06htmll15665-configuring-completion-using-stylesa"><a class="header" href="#a-hrefzshguide06htmll15665-configuring-completion-using-stylesa"><a href="zshguide06.html#l156">6.5: Configuring completion using styles</a></a></h3> <h3 id="65-configuring-completion-using-styles"><a class="header" href="#65-configuring-completion-using-styles"><a href="zshguide06.html#l156">6.5: Configuring completion using styles</a></a></h3>
<p><a href="zshguide06.html#l157">6.5.1: Specifying completers and their options</a></p> <p><a href="zshguide06.html#l157">6.5.1: Specifying completers and their options</a></p>
<p><a href="zshguide06.html#l158">6.5.2: Changing the format of listings: groups <p><a href="zshguide06.html#l158">6.5.2: Changing the format of listings: groups
etc.</a></p> etc.</a></p>
<p><a href="zshguide06.html#l159">6.5.3: Styles affecting particular completions</a></p> <p><a href="zshguide06.html#l159">6.5.3: Styles affecting particular completions</a></p>
<h3 id="a-hrefzshguide06htmll16066-command-widgetsa"><a class="header" href="#a-hrefzshguide06htmll16066-command-widgetsa"><a href="zshguide06.html#l160">6.6: Command widgets</a></a></h3> <h3 id="66-command-widgets"><a class="header" href="#66-command-widgets"><a href="zshguide06.html#l160">6.6: Command widgets</a></a></h3>
<p><a href="zshguide06.html#l161">6.6.1: <code>_complete_help</code></a></p> <p><a href="zshguide06.html#l161">6.6.1: <code>_complete_help</code></a></p>
<p><a href="zshguide06.html#l162">6.6.2: <code>_correct_word</code>, <code>_correct_filename</code>, <p><a href="zshguide06.html#l162">6.6.2: <code>_correct_word</code>, <code>_correct_filename</code>,
<code>_expand_word</code></a></p> <code>_expand_word</code></a></p>
@ -356,19 +338,19 @@ etc.</a></p>
<p><a href="zshguide06.html#l167">6.6.7: <code>_read_comp</code></a></p> <p><a href="zshguide06.html#l167">6.6.7: <code>_read_comp</code></a></p>
<p><a href="zshguide06.html#l168">6.6.8: <code>_generic</code></a></p> <p><a href="zshguide06.html#l168">6.6.8: <code>_generic</code></a></p>
<p><a href="zshguide06.html#l169">6.6.9: <code>predict-on</code>, <code>incremental-complete-word</code></a></p> <p><a href="zshguide06.html#l169">6.6.9: <code>predict-on</code>, <code>incremental-complete-word</code></a></p>
<h3 id="a-hrefzshguide06htmll17067-matching-control-and-controlling-where-things-are-inserteda"><a class="header" href="#a-hrefzshguide06htmll17067-matching-control-and-controlling-where-things-are-inserteda"><a href="zshguide06.html#l170">6.7: Matching control and controlling where things are inserted</a></a></h3> <h3 id="67-matching-control-and-controlling-where-things-are-inserted"><a class="header" href="#67-matching-control-and-controlling-where-things-are-inserted"><a href="zshguide06.html#l170">6.7: Matching control and controlling where things are inserted</a></a></h3>
<p><a href="zshguide06.html#l171">6.7.1: Case-insensitive matching</a></p> <p><a href="zshguide06.html#l171">6.7.1: Case-insensitive matching</a></p>
<p><a href="zshguide06.html#l172">6.7.2: Matching option names</a></p> <p><a href="zshguide06.html#l172">6.7.2: Matching option names</a></p>
<p><a href="zshguide06.html#l173">6.7.3: Partial word completion</a></p> <p><a href="zshguide06.html#l173">6.7.3: Partial word completion</a></p>
<p><a href="zshguide06.html#l174">6.7.4: Substring completion</a></p> <p><a href="zshguide06.html#l174">6.7.4: Substring completion</a></p>
<p><a href="zshguide06.html#l175">6.7.5: Partial words with capitals</a></p> <p><a href="zshguide06.html#l175">6.7.5: Partial words with capitals</a></p>
<p><a href="zshguide06.html#l176">6.7.6: Final notes</a></p> <p><a href="zshguide06.html#l176">6.7.6: Final notes</a></p>
<h3 id="a-hrefzshguide06htmll17768-tutoriala"><a class="header" href="#a-hrefzshguide06htmll17768-tutoriala"><a href="zshguide06.html#l177">6.8: Tutorial</a></a></h3> <h3 id="68-tutorial"><a class="header" href="#68-tutorial"><a href="zshguide06.html#l177">6.8: Tutorial</a></a></h3>
<p><a href="zshguide06.html#l178">6.8.1: The dispatcher</a></p> <p><a href="zshguide06.html#l178">6.8.1: The dispatcher</a></p>
<p><a href="zshguide06.html#l179">6.8.2: Subcommand completion: <code>_arguments</code></a></p> <p><a href="zshguide06.html#l179">6.8.2: Subcommand completion: <code>_arguments</code></a></p>
<p><a href="zshguide06.html#l180">6.8.3: Completing particular argument types</a></p> <p><a href="zshguide06.html#l180">6.8.3: Completing particular argument types</a></p>
<p><a href="zshguide06.html#l181">6.8.4: The rest</a></p> <p><a href="zshguide06.html#l181">6.8.4: The rest</a></p>
<h3 id="a-hrefzshguide06htmll18269-writing-new-completion-functions-and-widgetsa"><a class="header" href="#a-hrefzshguide06htmll18269-writing-new-completion-functions-and-widgetsa"><a href="zshguide06.html#l182">6.9: Writing new completion functions and widgets</a></a></h3> <h3 id="69-writing-new-completion-functions-and-widgets"><a class="header" href="#69-writing-new-completion-functions-and-widgets"><a href="zshguide06.html#l182">6.9: Writing new completion functions and widgets</a></a></h3>
<p><a href="zshguide06.html#l183">6.9.1: Loading completion functions: <code>compdef</code></a></p> <p><a href="zshguide06.html#l183">6.9.1: Loading completion functions: <code>compdef</code></a></p>
<p><a href="zshguide06.html#l184">6.9.2: Adding a set of completions: <code>compadd</code></a></p> <p><a href="zshguide06.html#l184">6.9.2: Adding a set of completions: <code>compadd</code></a></p>
<p><a href="zshguide06.html#l185">6.9.3: Functions for generating filenames, etc.</a></p> <p><a href="zshguide06.html#l185">6.9.3: Functions for generating filenames, etc.</a></p>
@ -380,18 +362,18 @@ mechanism</a></p>
<p><a href="zshguide06.html#l189">6.9.7: Getting the work done for you: handling arguments <p><a href="zshguide06.html#l189">6.9.7: Getting the work done for you: handling arguments
etc.</a></p> etc.</a></p>
<p><a href="zshguide06.html#l190">6.9.8: More completion utility functions</a></p> <p><a href="zshguide06.html#l190">6.9.8: More completion utility functions</a></p>
<h3 id="a-hrefzshguide06htmll191610-finallya"><a class="header" href="#a-hrefzshguide06htmll191610-finallya"><a href="zshguide06.html#l191">6.10: Finally</a></a></h3> <h3 id="610-finally"><a class="header" href="#610-finally"><a href="zshguide06.html#l191">6.10: Finally</a></a></h3>
<h2 id="a-hrefzshguide07htmll192chapter-7-modules-and-other-bits-and-pieces-not-writtena"><a class="header" href="#a-hrefzshguide07htmll192chapter-7-modules-and-other-bits-and-pieces-not-writtena"><a href="zshguide07.html#l192">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></a></h2> <h2 id="chapter-7-modules-and-other-bits-and-pieces-not-written"><a class="header" href="#chapter-7-modules-and-other-bits-and-pieces-not-written"><a href="zshguide07.html#l192">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></a></h2>
<h3 id="a-hrefzshguide07htmll19371-control-over-modules-zmodloada"><a class="header" href="#a-hrefzshguide07htmll19371-control-over-modules-zmodloada"><a href="zshguide07.html#l193">7.1: Control over modules: <code>zmodload</code></a></a></h3> <h3 id="71-control-over-modules-zmodload"><a class="header" href="#71-control-over-modules-zmodload"><a href="zshguide07.html#l193">7.1: Control over modules: <code>zmodload</code></a></a></h3>
<p><a href="zshguide07.html#l194">7.1.1: Modules defining parameters</a></p> <p><a href="zshguide07.html#l194">7.1.1: Modules defining parameters</a></p>
<p><a href="zshguide07.html#l195">7.1.2: Low-level system interaction</a></p> <p><a href="zshguide07.html#l195">7.1.2: Low-level system interaction</a></p>
<p><a href="zshguide07.html#l196">7.1.3: ZFTP</a></p> <p><a href="zshguide07.html#l196">7.1.3: ZFTP</a></p>
<h3 id="a-hrefzshguide07htmll19772-contributed-bitsa"><a class="header" href="#a-hrefzshguide07htmll19772-contributed-bitsa"><a href="zshguide07.html#l197">7.2: Contributed bits</a></a></h3> <h3 id="72-contributed-bits"><a class="header" href="#72-contributed-bits"><a href="zshguide07.html#l197">7.2: Contributed bits</a></a></h3>
<p><a href="zshguide07.html#l198">7.2.1: Prompt themes</a></p> <p><a href="zshguide07.html#l198">7.2.1: Prompt themes</a></p>
<h3 id="a-hrefzshguide07htmll19973-whats-new-in-41a"><a class="header" href="#a-hrefzshguide07htmll19973-whats-new-in-41a"><a href="zshguide07.html#l199">7.3: What's new in 4.1</a></a></h3> <h3 id="73-whats-new-in-41"><a class="header" href="#73-whats-new-in-41"><a href="zshguide07.html#l199">7.3: What's new in 4.1</a></a></h3>
<h2 id="a-hrefzshguide08htmll200appendix-1-obtaining-zsh-and-getting-more-information-not-writtena"><a class="header" href="#a-hrefzshguide08htmll200appendix-1-obtaining-zsh-and-getting-more-information-not-writtena"><a href="zshguide08.html#l200">Appendix 1: Obtaining zsh and getting more information <em>Not written</em></a></a></h2> <h2 id="appendix-1-obtaining-zsh-and-getting-more-information-not-written"><a class="header" href="#appendix-1-obtaining-zsh-and-getting-more-information-not-written"><a href="zshguide08.html#l200">Appendix 1: Obtaining zsh and getting more information <em>Not written</em></a></a></h2>
<hr /> <hr />
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -406,7 +388,7 @@ etc.</a></p>
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="intro"></span><span id="l1"></span></p> <p><span id="intro"></span><span id="l1"></span></p>
<h1 id="chapter-1-a-short-introduction"><a class="header" href="#chapter-1-a-short-introduction">Chapter 1: A short introduction</a></h1> <h1 id="chapter-1-a-short-introduction-1"><a class="header" href="#chapter-1-a-short-introduction-1">Chapter 1: A short introduction</a></h1>
<p>The Z-Shell, `zsh' for short, is a command interpreter for UNIX <p>The Z-Shell, `zsh' for short, is a command interpreter for UNIX
systems, or in UNIX jargon, a `shell', because it wraps around the systems, or in UNIX jargon, a `shell', because it wraps around the
commands you use. More than that, however, zsh is a particularly commands you use. More than that, however, zsh is a particularly
@ -489,7 +471,7 @@ That's important to know, because things which don't run in the shell
itself can't affect it, and hence can't alter parameters, functions, itself can't affect it, and hence can't alter parameters, functions,
aliases, and all the other things I shall talk about.</p> aliases, and all the other things I shall talk about.</p>
<p><span id="l2"></span></p> <p><span id="l2"></span></p>
<h2 id="11-other-shells-and-other-guides"><a class="header" href="#11-other-shells-and-other-guides">1.1: Other shells and other guides</a></h2> <h2 id="11-other-shells-and-other-guides-1"><a class="header" href="#11-other-shells-and-other-guides-1">1.1: Other shells and other guides</a></h2>
<p>If you want a basic grounding in how shells work, what their syntax is <p>If you want a basic grounding in how shells work, what their syntax is
(i.e. how to write commands), and how to write scripts and functions, (i.e. how to write commands), and how to write scripts and functions,
you should read one of the many books on the subject. In particular, you you should read one of the many books on the subject. In particular, you
@ -539,7 +521,7 @@ try and use csh/tcsh commands beyond the very simplest in zsh; but if
you are a tcsh user, you will find virtually every capability you are you are a tcsh user, you will find virtually every capability you are
used to in zsh somewhere, plus a lot more.</p> used to in zsh somewhere, plus a lot more.</p>
<p><span id="l3"></span></p> <p><span id="l3"></span></p>
<h2 id="12-versions-of-zsh"><a class="header" href="#12-versions-of-zsh">1.2: Versions of zsh</a></h2> <h2 id="12-versions-of-zsh-1"><a class="header" href="#12-versions-of-zsh-1">1.2: Versions of zsh</a></h2>
<p>At the time of writing, the most recent version of zsh available for <p>At the time of writing, the most recent version of zsh available for
widespread use was 4.0.6. You will commonly find two sets of older zsh's widespread use was 4.0.6. You will commonly find two sets of older zsh's
around. The 3.0 series, of which the last release was 3.0.9, was a around. The 3.0 series, of which the last release was 3.0.9, was a
@ -566,7 +548,7 @@ notes in <a href="zshguide07.html#ragbag">chapter 7</a> about new features in 4.
but nothing you write for 4.0 is likely to become obsolete in the but nothing you write for 4.0 is likely to become obsolete in the
foreseeable future.</p> foreseeable future.</p>
<p><span id="l4"></span></p> <p><span id="l4"></span></p>
<h2 id="13-conventions"><a class="header" href="#13-conventions">1.3: Conventions</a></h2> <h2 id="13-conventions-1"><a class="header" href="#13-conventions-1">1.3: Conventions</a></h2>
<p>Most of what I say will be reasonably self-contained (which means I use <p>Most of what I say will be reasonably self-contained (which means I use
phrases like `as I said before' and `as I'll discuss later on' more phrases like `as I said before' and `as I'll discuss later on' more
than a real stylist would like, and the number times I refer to other than a real stylist would like, and the number times I refer to other
@ -627,7 +609,7 @@ is made with LaTeX. One day, I will turn this into a macro and it will
appear properly in other versions; but then, one day the universe will appear properly in other versions; but then, one day the universe will
come to an end.</p> come to an end.</p>
<p><span id="l5"></span></p> <p><span id="l5"></span></p>
<h2 id="14-acknowledgments"><a class="header" href="#14-acknowledgments">1.4: Acknowledgments</a></h2> <h2 id="14-acknowledgments-1"><a class="header" href="#14-acknowledgments-1">1.4: Acknowledgments</a></h2>
<p>I am grateful for comments from various zsh users. In particular, I have <p>I am grateful for comments from various zsh users. In particular, I have
had detailed comments and corrections from Bart Schaefer, Sven `Mr had detailed comments and corrections from Bart Schaefer, Sven `Mr
Completion' Wischnowsky and Oliver Kiddle. It's usual to add that any Completion' Wischnowsky and Oliver Kiddle. It's usual to add that any
@ -638,7 +620,7 @@ derivative of Red Hat), with the usual GNU and XFree86 tools. Since all
of this was free, it only seems fair to say `thank you' for the gift. of this was free, it only seems fair to say `thank you' for the gift.
It also works a lot better than the operating system that came with this It also works a lot better than the operating system that came with this
particular PC.</p> particular PC.</p>
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -680,7 +662,7 @@ particular PC.</p>
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="init"></span><span id="l6"></span></p> <p><span id="init"></span><span id="l6"></span></p>
<h1 id="chapter-2-what-to-put-in-your-startup-files"><a class="header" href="#chapter-2-what-to-put-in-your-startup-files">Chapter 2: What to put in your startup files</a></h1> <h1 id="chapter-2-what-to-put-in-your-startup-files-1"><a class="header" href="#chapter-2-what-to-put-in-your-startup-files-1">Chapter 2: What to put in your startup files</a></h1>
<p>There are probably various changes you want to make to the shell's <p>There are probably various changes you want to make to the shell's
behaviour. All shells have `startup' files, containing commands which behaviour. All shells have `startup' files, containing commands which
are executed as soon as the shell starts. Like many others, zsh allows are executed as soon as the shell starts. Like many others, zsh allows
@ -695,7 +677,7 @@ about how the shell works and correcting it later on: most people will
simply want to know how the shell normally works, and note that there simply want to know how the shell normally works, and note that there
are other ways of doing it.</p> are other ways of doing it.</p>
<p><span id="l7"></span></p> <p><span id="l7"></span></p>
<h2 id="21-types-of-shell-interactive-and-login-shells"><a class="header" href="#21-types-of-shell-interactive-and-login-shells">2.1: Types of shell: interactive and login shells</a></h2> <h2 id="21-types-of-shell-interactive-and-login-shells-1"><a class="header" href="#21-types-of-shell-interactive-and-login-shells-1">2.1: Types of shell: interactive and login shells</a></h2>
<p>First, you need to know what is meant by an <strong>interactive</strong> and a <p>First, you need to know what is meant by an <strong>interactive</strong> and a
<strong>login</strong> shell. Basically, the shell is just there to take a list of <strong>login</strong> shell. Basically, the shell is just there to take a list of
commands and run them; it doesn't really care whether the commands are commands and run them; it doesn't really care whether the commands are
@ -827,7 +809,7 @@ to use the less clear `<code>-a</code>' and `<code>-o</code>'. Actually, zsh pro
old form of test for backward compatibility, but things will work a lot old form of test for backward compatibility, but things will work a lot
more smoothly if you don't use it.</p> more smoothly if you don't use it.</p>
<p><span id="l9"></span></p> <p><span id="l9"></span></p>
<h2 id="22-all-the-startup-files"><a class="header" href="#22-all-the-startup-files">2.2: All the startup files</a></h2> <h2 id="22-all-the-startup-files-1"><a class="header" href="#22-all-the-startup-files-1">2.2: All the startup files</a></h2>
<p>Now here's a list of the startup files and when they're run. You'll see <p>Now here's a list of the startup files and when they're run. You'll see
they fall into two classes: those in the <code>/etc</code> directory, which are put they fall into two classes: those in the <code>/etc</code> directory, which are put
there by the system administrator and are run for all users, and those there by the system administrator and are run for all users, and those
@ -918,7 +900,7 @@ clear the screen to remove sensitive information with the `<code>clear</code>'
command. Other than that, you might need to tidy a few files up when you command. Other than that, you might need to tidy a few files up when you
exit.</p> exit.</p>
<p><span id="l10"></span></p> <p><span id="l10"></span></p>
<h2 id="23-options"><a class="header" href="#23-options">2.3: Options</a></h2> <h2 id="23-options-1"><a class="header" href="#23-options-1">2.3: Options</a></h2>
<p>It's time to talk about options, since I've mentioned them several <p>It's time to talk about options, since I've mentioned them several
times. Each option describes one particular shell behaviour; they are times. Each option describes one particular shell behaviour; they are
all Boolean, i.e. can either be on or off, with no other state. They all Boolean, i.e. can either be on or off, with no other state. They
@ -956,7 +938,7 @@ to work a bit harder to make sure scripts are unaffected by that sort of
thing anyway. In the following, I just assume they are going to be in thing anyway. In the following, I just assume they are going to be in
<code>~/.zshrc</code>.</p> <code>~/.zshrc</code>.</p>
<p><span id="l11"></span></p> <p><span id="l11"></span></p>
<h2 id="24-parameters"><a class="header" href="#24-parameters">2.4: Parameters</a></h2> <h2 id="24-parameters-1"><a class="header" href="#24-parameters-1">2.4: Parameters</a></h2>
<p>One more thing you'll need to know about in order to write startup files <p>One more thing you'll need to know about in order to write startup files
is parameters, also known as variables. These are mostly like variables is parameters, also known as variables. These are mostly like variables
in other programming languages. Simple parameters can be stored like in other programming languages. Simple parameters can be stored like
@ -1074,7 +1056,7 @@ startup file. Users of ksh will have noticed that things are a bit
different in zsh, but for now I'll just assume you're using the normal different in zsh, but for now I'll just assume you're using the normal
zsh way of doing things.</p> zsh way of doing things.</p>
<p><span id="l13"></span></p> <p><span id="l13"></span></p>
<h2 id="25-what-to-put-in-your-startup-files"><a class="header" href="#25-what-to-put-in-your-startup-files">2.5: What to put in your startup files</a></h2> <h2 id="25-what-to-put-in-your-startup-files-1"><a class="header" href="#25-what-to-put-in-your-startup-files-1">2.5: What to put in your startup files</a></h2>
<p>At the last count there were over 130 options and several dozen <p>At the last count there were over 130 options and several dozen
parameters which are special to the shell, and many of them deal with parameters which are special to the shell, and many of them deal with
things I won't talk about till much later. But as a guide to get you things I won't talk about till much later. But as a guide to get you
@ -2378,17 +2360,15 @@ looks like this.</p>
the elements are on different lines; this is one very good reason for the elements are on different lines; this is one very good reason for
setting <code>$mailpath</code> rather than <code>$MAILPATH</code>, which needs one long chunk.</p> setting <code>$mailpath</code> rather than <code>$MAILPATH</code>, which needs one long chunk.</p>
<p>The other parameter of interest is <code>$MAILCHECK</code>, which gives the <p>The other parameter of interest is <code>$MAILCHECK</code>, which gives the
frequency in seconds when zsh should check for new mail. The default is</p> frequency in seconds when zsh should check for new mail. The default is
<ol start="60"> 60. Actually, zsh only checks just after a command has finished running
<li>Actually, zsh only checks just after a command has finished running
and it is about to print a prompt. Since checking files doesn't take and it is about to print a prompt. Since checking files doesn't take
long, you can usually set this to its minimum value, which is long, you can usually set this to its minimum value, which is
<code>MAILCHECK=1</code>; zero doesn't work because it switches off checking. One <code>MAILCHECK=1</code>; zero doesn't work because it switches off checking. One
reason why you wouldn't want to do that might be because <code>$MAIL</code> and reason why you wouldn't want to do that might be because <code>$MAIL</code> and
<code>$mailpath</code> can contain directories instead of ordinary files; these <code>$mailpath</code> can contain directories instead of ordinary files; these
will be checked recursively for any files with something new in them, so will be checked recursively for any files with something new in them, so
this can be slow.</li> this can be slow.</p>
</ol>
<p>Finally, there is one associated option, <code>MAIL_WARNING</code> (though <p>Finally, there is one associated option, <code>MAIL_WARNING</code> (though
<code>MAIL_WARN</code> is also accepted for the same thing for reasons of <code>MAIL_WARN</code> is also accepted for the same thing for reasons of
compatibility with less grammatical shells). The shell remembers when it compatibility with less grammatical shells). The shell remembers when it
@ -2464,7 +2444,7 @@ setting up completion. There's quite a lot to explain for those, so I'll
come back to those in the appropriate chapters. You just need to come back to those in the appropriate chapters. You just need to
remember that all that stuff should go in <code>.zshrc</code>, since you need it remember that all that stuff should go in <code>.zshrc</code>, since you need it
for all interactive shells, and for no others.</p> for all interactive shells, and for no others.</p>
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -2538,7 +2518,7 @@ for all interactive shells, and for no others.</p>
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="syntax"></span><span id="l29"></span></p> <p><span id="syntax"></span><span id="l29"></span></p>
<h1 id="chapter-3-dealing-with-basic-shell-syntax"><a class="header" href="#chapter-3-dealing-with-basic-shell-syntax">Chapter 3: Dealing with basic shell syntax</a></h1> <h1 id="chapter-3-dealing-with-basic-shell-syntax-1"><a class="header" href="#chapter-3-dealing-with-basic-shell-syntax-1">Chapter 3: Dealing with basic shell syntax</a></h1>
<p>This chapter is a more thorough examination of much of what appeared in <p>This chapter is a more thorough examination of much of what appeared in
the <a href="zshguide02.html#init">chapter 2</a>; to be more specific, I assume the <a href="zshguide02.html#init">chapter 2</a>; to be more specific, I assume
you're sitting in front of your terminal about to use the features you you're sitting in front of your terminal about to use the features you
@ -2571,7 +2551,7 @@ running commands. As you know, you just type words separated by spaces,
where the first word is a command and the remainder are arguments to it. where the first word is a command and the remainder are arguments to it.
It's important to distinguish between the types of command.</p> It's important to distinguish between the types of command.</p>
<p><span id="l30"></span></p> <p><span id="l30"></span></p>
<h2 id="31-external-commands"><a class="header" href="#31-external-commands">3.1: External commands</a></h2> <h2 id="31-external-commands-1"><a class="header" href="#31-external-commands-1">3.1: External commands</a></h2>
<p>External commands are the easiest, because they have the least <p>External commands are the easiest, because they have the least
interaction with the shell --- many of the commands provided by the interaction with the shell --- many of the commands provided by the
shell itself, which are described in the next section, are built into shell itself, which are described in the next section, are built into
@ -2662,7 +2642,7 @@ starts up where it left off after the command has run. So if you need to
do something which changes the state of the shell, an external command do something which changes the state of the shell, an external command
isn't good enough. This brings us to builtin commands.</p> isn't good enough. This brings us to builtin commands.</p>
<p><span id="l31"></span></p> <p><span id="l31"></span></p>
<h2 id="32-builtin-commands"><a class="header" href="#32-builtin-commands">3.2: Builtin commands</a></h2> <h2 id="32-builtin-commands-1"><a class="header" href="#32-builtin-commands-1">3.2: Builtin commands</a></h2>
<p>Builtin commands, or builtins for short, are commands which are part of <p>Builtin commands, or builtins for short, are commands which are part of
the shell itself. Since builtins are necessary for controlling the the shell itself. Since builtins are necessary for controlling the
shell's own behaviour, introducing them actually serves as an shell's own behaviour, introducing them actually serves as an
@ -5170,7 +5150,7 @@ addons, generically referred to as modules --- the line editor, zle, is
itself a separate module, though heavily dependent on the main shell --- itself a separate module, though heavily dependent on the main shell ---
and you've probably forgotten I mentioned above using `<code>zmodload zsh/mathfunc</code>' to load mathematical functions.</p> and you've probably forgotten I mentioned above using `<code>zmodload zsh/mathfunc</code>' to load mathematical functions.</p>
<p><span id="l48"></span></p> <p><span id="l48"></span></p>
<h2 id="33-functions"><a class="header" href="#33-functions">3.3: Functions</a></h2> <h2 id="33-functions-1"><a class="header" href="#33-functions-1">3.3: Functions</a></h2>
<p>Now it's time to look at functions in more detail. The various issues to <p>Now it's time to look at functions in more detail. The various issues to
be discussed are: loading functions, handling parameters, compiling be discussed are: loading functions, handling parameters, compiling
functions, and repairing bike tyres when the rubber solution won't stick functions, and repairing bike tyres when the rubber solution won't stick
@ -5892,7 +5872,7 @@ to set <code>$PERIOD</code> when you defined <code>periodic</code>. If <code>$PE
is zero, nothing happens. Don't get <code>$PERIOD</code> confused with <code>$SECONDS</code>, is zero, nothing happens. Don't get <code>$PERIOD</code> confused with <code>$SECONDS</code>,
which just counts up from 0 when the shell starts.</p> which just counts up from 0 when the shell starts.</p>
<p><span id="l52"></span></p> <p><span id="l52"></span></p>
<h2 id="34-aliases"><a class="header" href="#34-aliases">3.4: Aliases</a></h2> <h2 id="34-aliases-1"><a class="header" href="#34-aliases-1">3.4: Aliases</a></h2>
<p>Aliases are much simpler than functions. In the C shell and its <p>Aliases are much simpler than functions. In the C shell and its
derivatives, there are no functions, so aliases take their place and can derivatives, there are no functions, so aliases take their place and can
have arguments, which involve expressions rather like those which have arguments, which involve expressions rather like those which
@ -6032,7 +6012,7 @@ return will execute the whole thing in one go. If you have redefined
not see the full prompt, but you will usually see something ending in not see the full prompt, but you will usually see something ending in
`<code>&gt;</code>' which means the same.</p> `<code>&gt;</code>' which means the same.</p>
<p><span id="l53"></span></p> <p><span id="l53"></span></p>
<h2 id="35-command-summary"><a class="header" href="#35-command-summary">3.5: Command summary</a></h2> <h2 id="35-command-summary-1"><a class="header" href="#35-command-summary-1">3.5: Command summary</a></h2>
<p>As a reminder, the shell looks up commands in this order:</p> <p>As a reminder, the shell looks up commands in this order:</p>
<ul> <ul>
<li>aliases, which will immediately be interpreted again as texts for <li>aliases, which will immediately be interpreted again as texts for
@ -6050,7 +6030,7 @@ clashes with one of the above types, by putting `<code>command</code>' in
front.</li> front.</li>
</ul> </ul>
<p><span id="l54"></span></p> <p><span id="l54"></span></p>
<h2 id="36-expansions-and-quotes"><a class="header" href="#36-expansions-and-quotes">3.6: Expansions and quotes</a></h2> <h2 id="36-expansions-and-quotes-1"><a class="header" href="#36-expansions-and-quotes-1">3.6: Expansions and quotes</a></h2>
<p>As I keep advertising, there will be a whole chapter dedicated to the <p>As I keep advertising, there will be a whole chapter dedicated to the
subject of shell expansions and what to do with them. However, it's a subject of shell expansions and what to do with them. However, it's a
rather basic subject, which definitely comes under the heading of basic rather basic subject, which definitely comes under the heading of basic
@ -6687,7 +6667,7 @@ by digits. These turn on special features from that point in the pattern
and are one of the newest features of zsh patterns; they will receive and are one of the newest features of zsh patterns; they will receive
much more space in <a href="zshguide05.html#subst">chapter 5</a>.</p> much more space in <a href="zshguide05.html#subst">chapter 5</a>.</p>
<p><span id="l60"></span></p> <p><span id="l60"></span></p>
<h2 id="37-redirection-greater-thans-and-less-thans"><a class="header" href="#37-redirection-greater-thans-and-less-thans">3.7: Redirection: greater-thans and less-thans</a></h2> <h2 id="37-redirection-greater-thans-and-less-thans-1"><a class="header" href="#37-redirection-greater-thans-and-less-thans-1">3.7: Redirection: greater-thans and less-thans</a></h2>
<p>Redirection means retrieving input from some other file than the usual <p>Redirection means retrieving input from some other file than the usual
one, or sending output to some other file than the usual one. The one, or sending output to some other file than the usual one. The
simplest examples of these are `<code>&lt;</code>' and `<code>&gt;</code>', respectively.</p> simplest examples of these are `<code>&lt;</code>' and `<code>&gt;</code>', respectively.</p>
@ -6962,7 +6942,7 @@ script or function it is safer to use <code>tee</code>,</p>
process <code>file1</code> and <code>file2</code> are guaranteed to be complete when the process <code>file1</code> and <code>file2</code> are guaranteed to be complete when the
pipeline exits.</p> pipeline exits.</p>
<p><span id="l66"></span></p> <p><span id="l66"></span></p>
<h2 id="38-shell-syntax-loops-subshells-and-so-on"><a class="header" href="#38-shell-syntax-loops-subshells-and-so-on">3.8: Shell syntax: loops, (sub)shells and so on</a></h2> <h2 id="38-shell-syntax-loops-subshells-and-so-on-1"><a class="header" href="#38-shell-syntax-loops-subshells-and-so-on-1">3.8: Shell syntax: loops, (sub)shells and so on</a></h2>
<p><span id="l67"></span></p> <p><span id="l67"></span></p>
<h3 id="381-logical-command-connectors"><a class="header" href="#381-logical-command-connectors">3.8.1: Logical command connectors</a></h3> <h3 id="381-logical-command-connectors"><a class="header" href="#381-logical-command-connectors">3.8.1: Logical command connectors</a></h3>
<p>I have been rather cavalier in using a couple of elements of syntax <p>I have been rather cavalier in using a couple of elements of syntax
@ -7386,7 +7366,7 @@ new process for the <code>cat</code>, it will simply replace the subshell which
not needed any more. This can only happen in simple cases where the not needed any more. This can only happen in simple cases where the
shell has no clearing up to do.)</p> shell has no clearing up to do.)</p>
<p><span id="l71"></span></p> <p><span id="l71"></span></p>
<h2 id="39-emulation-and-portability"><a class="header" href="#39-emulation-and-portability">3.9: Emulation and portability</a></h2> <h2 id="39-emulation-and-portability-1"><a class="header" href="#39-emulation-and-portability-1">3.9: Emulation and portability</a></h2>
<p>I described the options you need to set for compatibility with ksh in <p>I described the options you need to set for compatibility with ksh in
the previous chapter. Here I'm more interested in the best way of the previous chapter. Here I'm more interested in the best way of
running ksh scripts and functions.</p> running ksh scripts and functions.</p>
@ -7594,7 +7574,7 @@ system administrators not to set options unconditionally in that file
unless absolutely necessary; but they don't always listen. Hence an unless absolutely necessary; but they don't always listen. Hence an
<code>emulate</code> can still save a lot of grief.</p> <code>emulate</code> can still save a lot of grief.</p>
<p><span id="l74"></span></p> <p><span id="l74"></span></p>
<h2 id="310-running-scripts"><a class="header" href="#310-running-scripts">3.10: Running scripts</a></h2> <h2 id="310-running-scripts-1"><a class="header" href="#310-running-scripts-1">3.10: Running scripts</a></h2>
<p>Here are some final comments on running scripts: they apply regardless <p>Here are some final comments on running scripts: they apply regardless
of the problems of portability, but you should certainly also be aware of the problems of portability, but you should certainly also be aware
of what I was saying in the previous section.</p> of what I was saying in the previous section.</p>
@ -7716,7 +7696,7 @@ execution path. If the operating system returned the more natural error,
`<code>exec format error</code>', then the shell would know that there was `<code>exec format error</code>', then the shell would know that there was
something wrong with the file, and could investigate; but unfortunately something wrong with the file, and could investigate; but unfortunately
life's not that simple.</p> life's not that simple.</p>
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -7783,7 +7763,7 @@ life's not that simple.</p>
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="zle"></span><span id="l75"></span></p> <p><span id="zle"></span><span id="l75"></span></p>
<h1 id="chapter-4-the-z-shell-line-editor"><a class="header" href="#chapter-4-the-z-shell-line-editor">Chapter 4: The Z-Shell Line Editor</a></h1> <h1 id="chapter-4-the-z-shell-line-editor-1"><a class="header" href="#chapter-4-the-z-shell-line-editor-1">Chapter 4: The Z-Shell Line Editor</a></h1>
<p>The zsh line editor is probably the first part of the shell you ever <p>The zsh line editor is probably the first part of the shell you ever
used, when you started typing in commands. Even the most basic shells, used, when you started typing in commands. Even the most basic shells,
such as sh, provide some kind of editing capability, although in that such as sh, provide some kind of editing capability, although in that
@ -7792,7 +7772,7 @@ delete the last character, delete the entire line. Most shells you're
likely to use nowadays do quite a lot more. With zsh you can even extend likely to use nowadays do quite a lot more. With zsh you can even extend
the set of editor commands using shell functions.</p> the set of editor commands using shell functions.</p>
<p><span id="l76"></span></p> <p><span id="l76"></span></p>
<h2 id="41-introducing-zle"><a class="header" href="#41-introducing-zle">4.1: Introducing zle</a></h2> <h2 id="41-introducing-zle-1"><a class="header" href="#41-introducing-zle-1">4.1: Introducing zle</a></h2>
<p>The zsh line editor is usually abbreviated to `zle'. Normally it fires <p>The zsh line editor is usually abbreviated to `zle'. Normally it fires
itself up for any interative shell; you don't have to do anything itself up for any interative shell; you don't have to do anything
special until you decide you need to change its behaviour. If everything special until you decide you need to change its behaviour. If everything
@ -7934,7 +7914,7 @@ keys will do (less impressive than it sounds, since a lot of keys may be
set to `<code>undefined-key</code>, which means they don't do anything useful), set to `<code>undefined-key</code>, which means they don't do anything useful),
and you will see how to change the behaviour in both modes.</p> and you will see how to change the behaviour in both modes.</p>
<p><span id="l79"></span></p> <p><span id="l79"></span></p>
<h2 id="42-basic-editing"><a class="header" href="#42-basic-editing">4.2: Basic editing</a></h2> <h2 id="42-basic-editing-1"><a class="header" href="#42-basic-editing-1">4.2: Basic editing</a></h2>
<p>If you know Emacs or vi, you will very soon find out how to do simple <p>If you know Emacs or vi, you will very soon find out how to do simple
commands like moving the cursor, going up and down the history list, and commands like moving the cursor, going up and down the history list, and
deleting and copying words. If you don't, you should read the <code>zshzle</code> deleting and copying words. If you don't, you should read the <code>zshzle</code>
@ -8083,7 +8063,7 @@ Windows, that is another suitable binding for <code>undo</code>.</p>
default. This means that if you undo to much, you can put back what you default. This means that if you undo to much, you can put back what you
just undid by repeatedly using the <code>redo</code> command.</p> just undid by repeatedly using the <code>redo</code> command.</p>
<p><span id="l83"></span></p> <p><span id="l83"></span></p>
<h2 id="43-fancier-editing"><a class="header" href="#43-fancier-editing">4.3: Fancier editing</a></h2> <h2 id="43-fancier-editing-1"><a class="header" href="#43-fancier-editing-1">4.3: Fancier editing</a></h2>
<p><span id="l84"></span></p> <p><span id="l84"></span></p>
<h3 id="431-options-controlling-zle"><a class="header" href="#431-options-controlling-zle">4.3.1: Options controlling zle</a></h3> <h3 id="431-options-controlling-zle"><a class="header" href="#431-options-controlling-zle">4.3.1: Options controlling zle</a></h3>
<p>Unlike completion, <code>zle</code> doesn't have many options associated with it; <p>Unlike completion, <code>zle</code> doesn't have many options associated with it;
@ -8267,7 +8247,7 @@ you perform a yank, then type `<code>&lt;ESC&gt;y</code>' (<code>yank-pop</code>
shell cycles back through previously killed or copied text, so that you shell cycles back through previously killed or copied text, so that you
have more available than just the last one.</p> have more available than just the last one.</p>
<p><span id="l89"></span></p> <p><span id="l89"></span></p>
<h2 id="44-history-and-searching"><a class="header" href="#44-history-and-searching">4.4: History and searching</a></h2> <h2 id="44-history-and-searching-1"><a class="header" href="#44-history-and-searching-1">4.4: History and searching</a></h2>
<p>Zle has access to the lines saved in the shell's history, as described <p>Zle has access to the lines saved in the shell's history, as described
in `Setting up history' in <a href="zshguide02.html#init">chapter 2</a>. There are in `Setting up history' in <a href="zshguide02.html#init">chapter 2</a>. There are
essentially three ways of retrieving bits of the history: moving back essentially three ways of retrieving bits of the history: moving back
@ -8433,7 +8413,7 @@ but it is arguably more useful.</p>
<p>Sometimes you want to complete a word from the history; this is possible <p>Sometimes you want to complete a word from the history; this is possible
using the completion system, described in the next chapter.</p> using the completion system, described in the next chapter.</p>
<p><span id="l93"></span></p> <p><span id="l93"></span></p>
<h2 id="45-binding-keys-and-handling-keymaps"><a class="header" href="#45-binding-keys-and-handling-keymaps">4.5: Binding keys and handling keymaps</a></h2> <h2 id="45-binding-keys-and-handling-keymaps-1"><a class="header" href="#45-binding-keys-and-handling-keymaps-1">4.5: Binding keys and handling keymaps</a></h2>
<p>There are two topics to cover under the heading of key bindings: first, <p>There are two topics to cover under the heading of key bindings: first,
how to bind keys themselves, and secondly, keymaps and how to use them. how to bind keys themselves, and secondly, keymaps and how to use them.
Manipulating both key bindings and keymaps is done with the <code>bindkey</code> Manipulating both key bindings and keymaps is done with the <code>bindkey</code>
@ -8698,7 +8678,7 @@ terminal window, and <code>menuselect</code> allows you to select items
interactively from a displayed list. You can bind keys in them as with interactively from a displayed list. You can bind keys in them as with
any other keymap.</p> any other keymap.</p>
<p><span id="l99"></span></p> <p><span id="l99"></span></p>
<h2 id="46-advanced-editing"><a class="header" href="#46-advanced-editing">4.6: Advanced editing</a></h2> <h2 id="46-advanced-editing-1"><a class="header" href="#46-advanced-editing-1">4.6: Advanced editing</a></h2>
<p>(In physics, the `advanced wave' is a hypothetical wave which moves <p>(In physics, the `advanced wave' is a hypothetical wave which moves
backwards in time. Unfortunately, however useful it would be to meet backwards in time. Unfortunately, however useful it would be to meet
deadlines, that's not what I meant by `advanced editing'.)</p> deadlines, that's not what I meant by `advanced editing'.)</p>
@ -8898,7 +8878,7 @@ thinking about bindings. Hence I would recommend users of Emacs mode add</p>
</code></pre> </code></pre>
<p>to their <code>.zshrc</code> and forget the distinctions.</p> <p>to their <code>.zshrc</code> and forget the distinctions.</p>
<p><span id="l103"></span></p> <p><span id="l103"></span></p>
<h2 id="47-extending-zle"><a class="header" href="#47-extending-zle">4.7: Extending zle</a></h2> <h2 id="47-extending-zle-1"><a class="header" href="#47-extending-zle-1">4.7: Extending zle</a></h2>
<p>We now come to the newest and most flexible part of zle, the ability to <p>We now come to the newest and most flexible part of zle, the ability to
create new editing commands, as complicated as you like, using shell create new editing commands, as complicated as you like, using shell
functions. This was originally introduced by Andrew Main (`Zefram') in functions. This was originally introduced by Andrew Main (`Zefram') in
@ -9548,7 +9528,7 @@ things up to use UTF-8 (a UNIX-friendly version of the international
standard for multi-byte characters, Unicode) to appeal to the standard for multi-byte characters, Unicode) to appeal to the
international market, I'm afraid zsh is stuck with ISO 8859 and similar international market, I'm afraid zsh is stuck with ISO 8859 and similar
character sets for now.</p> character sets for now.</p>
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -9603,7 +9583,7 @@ character sets for now.</p>
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="subst"></span><span id="l111"></span></p> <p><span id="subst"></span><span id="l111"></span></p>
<h1 id="chapter-5-substitutions"><a class="header" href="#chapter-5-substitutions">Chapter 5: Substitutions</a></h1> <h1 id="chapter-5-substitutions-1"><a class="header" href="#chapter-5-substitutions-1">Chapter 5: Substitutions</a></h1>
<p>This chapter will appeal above all to people who are excited by the fact <p>This chapter will appeal above all to people who are excited by the fact
that</p> that</p>
<pre><code> print ${array[(r)${(l.${#${(O@)array//?/X}[1]}..?.)}]} <pre><code> print ${array[(r)${(l.${#${(O@)array//?/X}[1]}..?.)}]}
@ -9619,7 +9599,7 @@ probably that on filename generation (i.e. globbing) at the end of the
chapter. This will teach you how to avoid wasting your time with <code>find</code> chapter. This will teach you how to avoid wasting your time with <code>find</code>
and the like when you want to select files for a command.</p> and the like when you want to select files for a command.</p>
<p><span id="l112"></span></p> <p><span id="l112"></span></p>
<h2 id="51-quoting"><a class="header" href="#51-quoting">5.1: Quoting</a></h2> <h2 id="51-quoting-1"><a class="header" href="#51-quoting-1">5.1: Quoting</a></h2>
<p>I've been using quotes of some sort throughout this guide, but I've <p>I've been using quotes of some sort throughout this guide, but I've
never gone into the detail. It's about time I did, since using quotes is never gone into the detail. It's about time I did, since using quotes is
an important part of controlling the effects of the shell's various an important part of controlling the effects of the shell's various
@ -9989,7 +9969,7 @@ pressure is so important in this complex world.</p>
said a lot about it when I discussed the basic syntax in <a href="zshguide03.html#syntax">chapter said a lot about it when I discussed the basic syntax in <a href="zshguide03.html#syntax">chapter
3</a>.</p> 3</a>.</p>
<p><span id="l118"></span></p> <p><span id="l118"></span></p>
<h2 id="52-modifiers-and-what-they-modify"><a class="header" href="#52-modifiers-and-what-they-modify">5.2: Modifiers and what they modify</a></h2> <h2 id="52-modifiers-and-what-they-modify-1"><a class="header" href="#52-modifiers-and-what-they-modify-1">5.2: Modifiers and what they modify</a></h2>
<p>Modifiers were introduced in <a href="zshguide02.html#init">chapter 2</a> when I <p>Modifiers were introduced in <a href="zshguide02.html#init">chapter 2</a> when I
talked about `bang history', since that's where they came from. In zsh, talked about `bang history', since that's where they came from. In zsh,
however, they can be used in a couple of other places. They have the however, they can be used in a couple of other places. They have the
@ -10095,7 +10075,7 @@ example, insert the right value by hand in a simple case like this, or
more realistically store the value in a parameter and apply the modifier more realistically store the value in a parameter and apply the modifier
to that.</p> to that.</p>
<p><span id="l119"></span></p> <p><span id="l119"></span></p>
<h2 id="53-process-substitution"><a class="header" href="#53-process-substitution">5.3: Process Substitution</a></h2> <h2 id="53-process-substitution-1"><a class="header" href="#53-process-substitution-1">5.3: Process Substitution</a></h2>
<p>I don't have much new to say on process substitution, but I do have an <p>I don't have much new to say on process substitution, but I do have an
example of where I find it useful. If you use the pager `less' you may example of where I find it useful. If you use the pager `less' you may
know it has the facility to preprocess the files you look at, for know it has the facility to preprocess the files you look at, for
@ -10166,7 +10146,7 @@ may well find that the next prompt is printed before the output from
<code>sed</code> shows up on the terminal. This can probably be considered a bug, <code>sed</code> shows up on the terminal. This can probably be considered a bug,
but it is quite difficult to fix.</p> but it is quite difficult to fix.</p>
<p><span id="l120"></span></p> <p><span id="l120"></span></p>
<h2 id="54-parameter-substitution"><a class="header" href="#54-parameter-substitution">5.4: Parameter substitution</a></h2> <h2 id="54-parameter-substitution-1"><a class="header" href="#54-parameter-substitution-1">5.4: Parameter substitution</a></h2>
<p>You can probably see from the above that parameter substitutions are at <p>You can probably see from the above that parameter substitutions are at
the heart of much of the power available to transform zsh command lines. the heart of much of the power available to transform zsh command lines.
What's more, we haven't covered even a significant fraction of what's on What's more, we haven't covered even a significant fraction of what's on
@ -11118,7 +11098,7 @@ as another parameter substitution, using the <code>(P)</code> substitution flag
described above. Just remember that <code>${${foo}}</code> and <code>${(P)foo}</code> are described above. Just remember that <code>${${foo}}</code> and <code>${(P)foo}</code> are
different.</p> different.</p>
<p><span id="l129"></span></p> <p><span id="l129"></span></p>
<h2 id="55-that-substitution-again"><a class="header" href="#55-that-substitution-again">5.5: That substitution again</a></h2> <h2 id="55-that-substitution-again-1"><a class="header" href="#55-that-substitution-again-1">5.5: That substitution again</a></h2>
<p>Finally, here is a brief explanation of how to read the expression at <p>Finally, here is a brief explanation of how to read the expression at
the top of the chapter. This is for advanced students only (nutcases, if the top of the chapter. This is for advanced students only (nutcases, if
you ask me). You can find all the bits in the manual, if you try hard you ask me). You can find all the bits in the manual, if you try hard
@ -11245,7 +11225,7 @@ even though it illustrates its power.</p>
<p>If you enjoyed that expression, there are many more like it in the <p>If you enjoyed that expression, there are many more like it in the
completion function suite for you to goggle at.</p> completion function suite for you to goggle at.</p>
<p><span id="l130"></span></p> <p><span id="l130"></span></p>
<h2 id="56-arithmetic-expansion"><a class="header" href="#56-arithmetic-expansion">5.6: Arithmetic Expansion</a></h2> <h2 id="56-arithmetic-expansion-1"><a class="header" href="#56-arithmetic-expansion-1">5.6: Arithmetic Expansion</a></h2>
<p>Performing mathematics within the shell was first described in <a href="zshguide03.html#syntax">chapter <p>Performing mathematics within the shell was first described in <a href="zshguide03.html#syntax">chapter
3</a> where I showed how to create numeric 3</a> where I showed how to create numeric
parameters with variants of `<code>typeset</code>', and said a little about parameters with variants of `<code>typeset</code>', and said a little about
@ -11541,7 +11521,7 @@ formula. The function uses <code>vared</code> to read the formulae, so the full
shell editing mechanism is available. It will also read in shell editing mechanism is available. It will also read in
<code>zsh/mathfunc</code> if that is present.</p> <code>zsh/mathfunc</code> if that is present.</p>
<p><span id="l133"></span></p> <p><span id="l133"></span></p>
<h2 id="57-brace-expansion-and-arrays"><a class="header" href="#57-brace-expansion-and-arrays">5.7: Brace Expansion and Arrays</a></h2> <h2 id="57-brace-expansion-and-arrays-1"><a class="header" href="#57-brace-expansion-and-arrays-1">5.7: Brace Expansion and Arrays</a></h2>
<p>Brace expansion, which you met in <a href="zshguide03.html#syntax">chapter 3</a>, <p>Brace expansion, which you met in <a href="zshguide03.html#syntax">chapter 3</a>,
appears in all csh derivatives, in some versions of ksh, and in bash, so appears in all csh derivatives, in some versions of ksh, and in bash, so
is fairly standard. However, there are some features and aspects of it is fairly standard. However, there are some features and aspects of it
@ -11660,7 +11640,7 @@ to `<code>file[12]</code>' and `<code>f*[12]</code>', but that's not true if you
than one character in either branch --- you are protected from this than one character in either branch --- you are protected from this
difference.</p> difference.</p>
<p><span id="l134"></span></p> <p><span id="l134"></span></p>
<h2 id="58-filename-expansion"><a class="header" href="#58-filename-expansion">5.8: Filename Expansion</a></h2> <h2 id="58-filename-expansion-1"><a class="header" href="#58-filename-expansion-1">5.8: Filename Expansion</a></h2>
<p>Filename expansions consists of just `<code>~/...</code>', `<code>~user/...</code>', <p>Filename expansions consists of just `<code>~/...</code>', `<code>~user/...</code>',
`<code>~namedir/...</code>' and `<code>=prog</code>', where the `<code>~</code>' and `<code>=</code>' must be `<code>~namedir/...</code>' and `<code>=prog</code>', where the `<code>~</code>' and `<code>=</code>' must be
the first character of a word, and the option <code>EQUALS</code> must be set (it the first character of a word, and the option <code>EQUALS</code> must be set (it
@ -11713,7 +11693,7 @@ anything following an `<code>=</code>' which wasn't at the start of the word, so
<p>It seems that bash behaves as if both <code>KSH_TYPESET</code> <em>and</em> <p>It seems that bash behaves as if both <code>KSH_TYPESET</code> <em>and</em>
<code>MAGIC_EQUAL_SUBST</code> are always in effect.</p> <code>MAGIC_EQUAL_SUBST</code> are always in effect.</p>
<p><span id="l135"></span></p> <p><span id="l135"></span></p>
<h2 id="59-filename-generation-and-pattern-matching"><a class="header" href="#59-filename-generation-and-pattern-matching">5.9: Filename Generation and Pattern Matching</a></h2> <h2 id="59-filename-generation-and-pattern-matching-1"><a class="header" href="#59-filename-generation-and-pattern-matching-1">5.9: Filename Generation and Pattern Matching</a></h2>
<p>The final topic is perhaps the biggest, even richer than parameter <p>The final topic is perhaps the biggest, even richer than parameter
expansion. I'm finally going to explain the wonderful world of zsh expansion. I'm finally going to explain the wonderful world of zsh
pattern matching. In addition to patterns as such, you will learn such pattern matching. In addition to patterns as such, you will learn such
@ -12866,7 +12846,7 @@ generic way of passing down options to the programmes executed, using
% zmv -np frud -o'-a -b' '(*)' '${(U)1}' % zmv -np frud -o'-a -b' '(*)' '${(U)1}'
frud -a -b -- foo FOO frud -a -b -- foo FOO
</code></pre> </code></pre>
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -12945,7 +12925,7 @@ generic way of passing down options to the programmes executed, using
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="comp"></span><span id="l144"></span></p> <p><span id="comp"></span><span id="l144"></span></p>
<h1 id="chapter-6-completion-old-and-new"><a class="header" href="#chapter-6-completion-old-and-new">Chapter 6: Completion, old and new</a></h1> <h1 id="chapter-6-completion-old-and-new-1"><a class="header" href="#chapter-6-completion-old-and-new-1">Chapter 6: Completion, old and new</a></h1>
<p>Completion of command arguments is something zsh is particularly good <p>Completion of command arguments is something zsh is particularly good
at. The simplest case is that you hit <code>&lt;TAB&gt;</code>, and the shell guesses at. The simplest case is that you hit <code>&lt;TAB&gt;</code>, and the shell guesses
what has to go there and fills it in for you:</p> what has to go there and fills it in for you:</p>
@ -13063,7 +13043,7 @@ and options.</li>
principle.</li> principle.</li>
</ol> </ol>
<p><span id="l145"></span></p> <p><span id="l145"></span></p>
<h2 id="61-completion-and-expansion"><a class="header" href="#61-completion-and-expansion">6.1: Completion and expansion</a></h2> <h2 id="61-completion-and-expansion-1"><a class="header" href="#61-completion-and-expansion-1">6.1: Completion and expansion</a></h2>
<p>More things than just completion happen when you hit tab. The first <p>More things than just completion happen when you hit tab. The first
thing that zsh tries to do is expand the line. Expansion was covered in thing that zsh tries to do is expand the line. Expansion was covered in
a previous chapter: basically all the things described there are a previous chapter: basically all the things described there are
@ -13165,7 +13145,7 @@ talk about options. You have to make sure the <code>zsh/complist</code> module i
loaded to use this zle command. If you use the style, zsh should be able loaded to use this zle command. If you use the style, zsh should be able
to load this automatically when needed, as long as you have dynamic to load this automatically when needed, as long as you have dynamic
loading, which you probably do these days. <span id="l146"></span></p> loading, which you probably do these days. <span id="l146"></span></p>
<h2 id="62-configuring-completion-using-shell-options"><a class="header" href="#62-configuring-completion-using-shell-options">6.2: Configuring completion using shell options</a></h2> <h2 id="62-configuring-completion-using-shell-options-1"><a class="header" href="#62-configuring-completion-using-shell-options-1">6.2: Configuring completion using shell options</a></h2>
<p>There are two main ways of altering the behaviour of completion without <p>There are two main ways of altering the behaviour of completion without
writing or rewriting shell functions: shell options, as introduced in writing or rewriting shell functions: shell options, as introduced in
<a href="zshguide02.html#init">chapter 2</a>, and styles, as introduced above. I <a href="zshguide02.html#init">chapter 2</a>, and styles, as introduced above. I
@ -13438,7 +13418,7 @@ corresponding style is found.</p>
to have different types of completion appear in separate lists, which to have different types of completion appear in separate lists, which
may then be formatted differently using these tag-sensitive styles.</p> may then be formatted differently using these tag-sensitive styles.</p>
<p><span id="l152"></span></p> <p><span id="l152"></span></p>
<h2 id="63-getting-started-with-new-completion"><a class="header" href="#63-getting-started-with-new-completion">6.3: Getting started with new completion</a></h2> <h2 id="63-getting-started-with-new-completion-1"><a class="header" href="#63-getting-started-with-new-completion-1">6.3: Getting started with new completion</a></h2>
<p>Before I go into any detail about new completion, here's how to set it <p>Before I go into any detail about new completion, here's how to set it
up so that you can try it out. As I said above, the basic objects that up so that you can try it out. As I said above, the basic objects that
do completions are shell functions. These are all autoloaded, so the do completions are shell functions. These are all autoloaded, so the
@ -13531,7 +13511,7 @@ in your <code>.zshrc</code>:</p>
mechanism in more detail and you will see that this fits in with the mechanism in more detail and you will see that this fits in with the
normal way of turning things off in new-style completion.</p> normal way of turning things off in new-style completion.</p>
<p><span id="l153"></span></p> <p><span id="l153"></span></p>
<h2 id="64-how-the-shell-finds-the-right-completions"><a class="header" href="#64-how-the-shell-finds-the-right-completions">6.4: How the shell finds the right completions</a></h2> <h2 id="64-how-the-shell-finds-the-right-completions-1"><a class="header" href="#64-how-the-shell-finds-the-right-completions-1">6.4: How the shell finds the right completions</a></h2>
<p><span id="l154"></span></p> <p><span id="l154"></span></p>
<h3 id="641-contexts"><a class="header" href="#641-contexts">6.4.1: Contexts</a></h3> <h3 id="641-contexts"><a class="header" href="#641-contexts">6.4.1: Contexts</a></h3>
<p>The examples above show that the completion system is highly <p>The examples above show that the completion system is highly
@ -13792,7 +13772,7 @@ Remember, however, that the tags part of the context, like other parts,
may be empty if the completion system hasn't figured out what it should may be empty if the completion system hasn't figured out what it should
be yet.</p> be yet.</p>
<p><span id="l156"></span></p> <p><span id="l156"></span></p>
<h2 id="65-configuring-completion-using-styles"><a class="header" href="#65-configuring-completion-using-styles">6.5: Configuring completion using styles</a></h2> <h2 id="65-configuring-completion-using-styles-1"><a class="header" href="#65-configuring-completion-using-styles-1">6.5: Configuring completion using styles</a></h2>
<p>You now know how to define a style for a particular context, using</p> <p>You now know how to define a style for a particular context, using</p>
<pre><code> zstyle &lt;context&gt; &lt;style&gt; &lt;value...&gt; <pre><code> zstyle &lt;context&gt; &lt;style&gt; &lt;value...&gt;
</code></pre> </code></pre>
@ -15102,7 +15082,7 @@ completes the name of a colour to set your root window (wallpaper) to.
It may be that the default value works on your system without your It may be that the default value works on your system without your
needing to set this.</p> needing to set this.</p>
<p><span id="l160"></span></p> <p><span id="l160"></span></p>
<h2 id="66-command-widgets"><a class="header" href="#66-command-widgets">6.6: Command widgets</a></h2> <h2 id="66-command-widgets-1"><a class="header" href="#66-command-widgets-1">6.6: Command widgets</a></h2>
<p><span id="l161"></span></p> <p><span id="l161"></span></p>
<h3 id="661-_complete_help"><a class="header" href="#661-_complete_help">6.6.1: <code>_complete_help</code></a></h3> <h3 id="661-_complete_help"><a class="header" href="#661-_complete_help">6.6.1: <code>_complete_help</code></a></h3>
<p>You've already met this, usually bound to `<code>^Xh</code>' unless you already <p>You've already met this, usually bound to `<code>^Xh</code>' unless you already
@ -15364,7 +15344,7 @@ as normal and <code>^D</code> to list possibilities; otherwise, keys which do no
insert are unlikely to have a useful effect. The completion is done insert are unlikely to have a useful effect. The completion is done
behind the scenes by the standard function <code>complete-word</code>.</p> behind the scenes by the standard function <code>complete-word</code>.</p>
<p><span id="l170"></span></p> <p><span id="l170"></span></p>
<h2 id="67-matching-control-and-controlling-where-things-are-inserted"><a class="header" href="#67-matching-control-and-controlling-where-things-are-inserted">6.7: Matching control and controlling where things are inserted</a></h2> <h2 id="67-matching-control-and-controlling-where-things-are-inserted-1"><a class="header" href="#67-matching-control-and-controlling-where-things-are-inserted-1">6.7: Matching control and controlling where things are inserted</a></h2>
<p>The final matter before I delve into the system for writing new <p>The final matter before I delve into the system for writing new
completion functions is matching control; the name refers in this case completion functions is matching control; the name refers in this case
to how the matching between characters already typed on the command line to how the matching between characters already typed on the command line
@ -15632,7 +15612,7 @@ match uppercase ones. The upshot is that completion of anything at all
for the command <code>foo</code> will be tried first case-sensitively, then for the command <code>foo</code> will be tried first case-sensitively, then
case-insensitively.</p> case-insensitively.</p>
<p><span id="l177"></span></p> <p><span id="l177"></span></p>
<h2 id="68-tutorial"><a class="header" href="#68-tutorial">6.8: Tutorial</a></h2> <h2 id="68-tutorial-1"><a class="header" href="#68-tutorial-1">6.8: Tutorial</a></h2>
<p>Before bamboozling you with everything there is to know about writing <p>Before bamboozling you with everything there is to know about writing
your own completion function, I'll give you an example of something I your own completion function, I'll give you an example of something I
wrote myself recently. If you were doing this yourself, you would then wrote myself recently. If you were doing this yourself, you would then
@ -16326,7 +16306,7 @@ takes the completion system apart and looks at the individual
components. It should at least now be a bit more obvious where each components. It should at least now be a bit more obvious where each
component fits.</p> component fits.</p>
<p><span id="l182"></span></p> <p><span id="l182"></span></p>
<h2 id="69-writing-new-completion-functions-and-widgets"><a class="header" href="#69-writing-new-completion-functions-and-widgets">6.9: Writing new completion functions and widgets</a></h2> <h2 id="69-writing-new-completion-functions-and-widgets-1"><a class="header" href="#69-writing-new-completion-functions-and-widgets-1">6.9: Writing new completion functions and widgets</a></h2>
<p>Now down to the nitty gritty. When I first talked about new completion, <p>Now down to the nitty gritty. When I first talked about new completion,
I explained that the functions beginning `<code>_</code>' were the core of the I explained that the functions beginning `<code>_</code>' were the core of the
system. For the remainder of the chapter, I'll explain what goes in them system. For the remainder of the chapter, I'll explain what goes in them
@ -17613,7 +17593,7 @@ I won't explain it because I haven't yet figured out how it works. If
you think you need to use it, look at the manual entry and then at the you think you need to use it, look at the manual entry and then at the
<code>_apt</code> function which is currently its main application.</p> <code>_apt</code> function which is currently its main application.</p>
<p><span id="l191"></span></p> <p><span id="l191"></span></p>
<h2 id="610-finally"><a class="header" href="#610-finally">6.10: Finally</a></h2> <h2 id="610-finally-1"><a class="header" href="#610-finally-1">6.10: Finally</a></h2>
<p>Completion is big and complex: this means that there are probably lots <p>Completion is big and complex: this means that there are probably lots
of bugs around, and things that I haven't described simply enough or of bugs around, and things that I haven't described simply enough or
which may be implemented in too complicated a way. Please send the which may be implemented in too complicated a way. Please send the
@ -17623,7 +17603,7 @@ subject.</p>
supposed to work without you needing to worry exactly how. That's a bold supposed to work without you needing to worry exactly how. That's a bold
hope, but at least much of the time you should be able to get away with hope, but at least much of the time you should be able to get away with
using just the tab key and ordinary characters.</p> using just the tab key and ordinary characters.</p>
<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update --> <div style="break-before: page; page-break-before: always;"></div><!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p> <p><strong>Table of Contents</strong> <em>generated with <a href="https://github.com/thlorenz/doctoc">DocToc</a></em></p>
<ul> <ul>
@ -17647,9 +17627,9 @@ using just the tab key and ordinary characters.</p>
</ul> </ul>
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
<p><span id="ragbag"></span><span id="l192"></span></p> <p><span id="ragbag"></span><span id="l192"></span></p>
<h1 id="chapter-7-modules-and-other-bits-and-pieces-not-written"><a class="header" href="#chapter-7-modules-and-other-bits-and-pieces-not-written">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></h1> <h1 id="chapter-7-modules-and-other-bits-and-pieces-not-written-1"><a class="header" href="#chapter-7-modules-and-other-bits-and-pieces-not-written-1">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></h1>
<p><span id="l193"></span></p> <p><span id="l193"></span></p>
<h2 id="71-control-over-modules-zmodload"><a class="header" href="#71-control-over-modules-zmodload">7.1: Control over modules: <code>zmodload</code></a></h2> <h2 id="71-control-over-modules-zmodload-1"><a class="header" href="#71-control-over-modules-zmodload-1">7.1: Control over modules: <code>zmodload</code></a></h2>
<p><span id="l194"></span></p> <p><span id="l194"></span></p>
<h3 id="711-modules-defining-parameters"><a class="header" href="#711-modules-defining-parameters">7.1.1: Modules defining parameters</a></h3> <h3 id="711-modules-defining-parameters"><a class="header" href="#711-modules-defining-parameters">7.1.1: Modules defining parameters</a></h3>
<p><span id="l195"></span></p> <p><span id="l195"></span></p>
@ -17657,11 +17637,11 @@ using just the tab key and ordinary characters.</p>
<p><span id="l196"></span></p> <p><span id="l196"></span></p>
<h3 id="713-zftp"><a class="header" href="#713-zftp">7.1.3: ZFTP</a></h3> <h3 id="713-zftp"><a class="header" href="#713-zftp">7.1.3: ZFTP</a></h3>
<p><span id="l197"></span></p> <p><span id="l197"></span></p>
<h2 id="72-contributed-bits"><a class="header" href="#72-contributed-bits">7.2: Contributed bits</a></h2> <h2 id="72-contributed-bits-1"><a class="header" href="#72-contributed-bits-1">7.2: Contributed bits</a></h2>
<p><span id="l198"></span></p> <p><span id="l198"></span></p>
<h3 id="721-prompt-themes"><a class="header" href="#721-prompt-themes">7.2.1: Prompt themes</a></h3> <h3 id="721-prompt-themes"><a class="header" href="#721-prompt-themes">7.2.1: Prompt themes</a></h3>
<p><span id="l199"></span></p> <p><span id="l199"></span></p>
<h2 id="73-whats-new-in-41"><a class="header" href="#73-whats-new-in-41">7.3: What's new in 4.1</a></h2> <h2 id="73-whats-new-in-41-1"><a class="header" href="#73-whats-new-in-41-1">7.3: What's new in 4.1</a></h2>
</main> </main>
@ -17669,8 +17649,6 @@ using just the tab key and ordinary characters.</p>
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
@ -17678,32 +17656,11 @@ using just the tab key and ordinary characters.</p>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -17711,30 +17668,21 @@ using just the tab key and ordinary characters.</p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
<script type="text/javascript"> <script type="text/javascript">
window.addEventListener('load', function() { window.addEventListener('load', function() {
window.setTimeout(window.print, 100); window.setTimeout(window.print, 100);
}); });
</script> </script>
</body> </body>
</html> </html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,359 @@
.mocha code,
.mocha .hljs {
background: #181825;
}
.mocha code .hljs-attr,
.mocha code .hljs-string {
color: #a6e3a1;
}
.mocha code .hljs-tag {
color: #f38ba8;
}
.mocha code .hljs-name {
color: #f2cdcd;
}
.mocha pre .hljs {
background: #181825 !important;
}
.mocha pre .hljs-params {
color: #f38ba8 !important;
}
.mocha pre .hljs-built_in,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-section,
.mocha pre .hljs-link {
color: #74c7ec !important;
}
.mocha pre .hljs-keyword {
color: #cba6f7 !important;
}
.mocha pre .hljs,
.mocha pre .hljs-subst {
color: #a6adc8 !important;
}
.mocha pre .hljs-title {
color: #89b4fa !important;
}
.mocha pre .hljs-attr,
.mocha pre .hljs-meta-keyword {
color: #a6e3a1 !important;
}
.mocha pre .hljs-type {
color: #89b4fa !important;
}
.mocha pre .hljs-string {
color: #a6e3a1 !important;
}
.mocha pre .hljs-tag {
color: #f38ba8 !important;
}
.mocha pre .hljs-meta,
.mocha pre .hljs-name,
.mocha pre .hljs-symbol,
.mocha pre .hljs-bullet,
.mocha pre .hljs-addition,
.mocha pre .hljs-variable,
.mocha pre .hljs-template-tag,
.mocha pre .hljs-template-variable {
color: #f2cdcd !important;
}
.mocha pre .hljs-addition {
background-color: #181825 !important;
color: #a6e3a1 !important;
}
.mocha pre .hljs-deletion {
background-color: #181825 !important;
color: #f38ba8 !important;
}
.mocha pre .hljs-comment,
.mocha pre .hljs-quote {
color: #585b70 !important;
}
.mocha pre .hljs-keyword,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-literal,
.mocha pre .hljs-title,
.mocha pre .hljs-section,
.mocha pre .hljs-doctag,
.mocha pre .hljs-type,
.mocha pre .hljs-name,
.mocha pre .hljs-strong {
font-weight: bold !important;
}
.mocha pre .hljs-literal,
.mocha pre .hljs-number {
color: #fab387 !important;
}
.mocha pre .hljs-emphasis {
font-style: italic !important;
}
.macchiato code,
.macchiato .hljs {
background: #1e2030;
}
.macchiato code .hljs-attr,
.macchiato code .hljs-string {
color: #a6da95;
}
.macchiato code .hljs-tag {
color: #ed8796;
}
.macchiato code .hljs-name {
color: #f0c6c6;
}
.macchiato pre .hljs {
background: #1e2030 !important;
}
.macchiato pre .hljs-params {
color: #ed8796 !important;
}
.macchiato pre .hljs-built_in,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-section,
.macchiato pre .hljs-link {
color: #7dc4e4 !important;
}
.macchiato pre .hljs-keyword {
color: #c6a0f6 !important;
}
.macchiato pre .hljs,
.macchiato pre .hljs-subst {
color: #a5adcb !important;
}
.macchiato pre .hljs-title {
color: #8aadf4 !important;
}
.macchiato pre .hljs-attr,
.macchiato pre .hljs-meta-keyword {
color: #a6da95 !important;
}
.macchiato pre .hljs-type {
color: #8aadf4 !important;
}
.macchiato pre .hljs-string {
color: #a6da95 !important;
}
.macchiato pre .hljs-tag {
color: #ed8796 !important;
}
.macchiato pre .hljs-meta,
.macchiato pre .hljs-name,
.macchiato pre .hljs-symbol,
.macchiato pre .hljs-bullet,
.macchiato pre .hljs-addition,
.macchiato pre .hljs-variable,
.macchiato pre .hljs-template-tag,
.macchiato pre .hljs-template-variable {
color: #f0c6c6 !important;
}
.macchiato pre .hljs-addition {
background-color: #1e2030 !important;
color: #a6da95 !important;
}
.macchiato pre .hljs-deletion {
background-color: #1e2030 !important;
color: #ed8796 !important;
}
.macchiato pre .hljs-comment,
.macchiato pre .hljs-quote {
color: #5b6078 !important;
}
.macchiato pre .hljs-keyword,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-literal,
.macchiato pre .hljs-title,
.macchiato pre .hljs-section,
.macchiato pre .hljs-doctag,
.macchiato pre .hljs-type,
.macchiato pre .hljs-name,
.macchiato pre .hljs-strong {
font-weight: bold !important;
}
.macchiato pre .hljs-literal,
.macchiato pre .hljs-number {
color: #f5a97f !important;
}
.macchiato pre .hljs-emphasis {
font-style: italic !important;
}
.frappe code,
.frappe .hljs {
background: #292c3c;
}
.frappe code .hljs-attr,
.frappe code .hljs-string {
color: #a6d189;
}
.frappe code .hljs-tag {
color: #e78284;
}
.frappe code .hljs-name {
color: #eebebe;
}
.frappe pre .hljs {
background: #292c3c !important;
}
.frappe pre .hljs-params {
color: #e78284 !important;
}
.frappe pre .hljs-built_in,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-section,
.frappe pre .hljs-link {
color: #85c1dc !important;
}
.frappe pre .hljs-keyword {
color: #ca9ee6 !important;
}
.frappe pre .hljs,
.frappe pre .hljs-subst {
color: #a5adce !important;
}
.frappe pre .hljs-title {
color: #8caaee !important;
}
.frappe pre .hljs-attr,
.frappe pre .hljs-meta-keyword {
color: #a6d189 !important;
}
.frappe pre .hljs-type {
color: #8caaee !important;
}
.frappe pre .hljs-string {
color: #a6d189 !important;
}
.frappe pre .hljs-tag {
color: #e78284 !important;
}
.frappe pre .hljs-meta,
.frappe pre .hljs-name,
.frappe pre .hljs-symbol,
.frappe pre .hljs-bullet,
.frappe pre .hljs-addition,
.frappe pre .hljs-variable,
.frappe pre .hljs-template-tag,
.frappe pre .hljs-template-variable {
color: #eebebe !important;
}
.frappe pre .hljs-addition {
background-color: #292c3c !important;
color: #a6d189 !important;
}
.frappe pre .hljs-deletion {
background-color: #292c3c !important;
color: #e78284 !important;
}
.frappe pre .hljs-comment,
.frappe pre .hljs-quote {
color: #626880 !important;
}
.frappe pre .hljs-keyword,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-literal,
.frappe pre .hljs-title,
.frappe pre .hljs-section,
.frappe pre .hljs-doctag,
.frappe pre .hljs-type,
.frappe pre .hljs-name,
.frappe pre .hljs-strong {
font-weight: bold !important;
}
.frappe pre .hljs-literal,
.frappe pre .hljs-number {
color: #ef9f76 !important;
}
.frappe pre .hljs-emphasis {
font-style: italic !important;
}
.latte code,
.latte .hljs {
background: #e6e9ef;
}
.latte code .hljs-attr,
.latte code .hljs-string {
color: #40a02b;
}
.latte code .hljs-tag {
color: #d20f39;
}
.latte code .hljs-name {
color: #dd7878;
}
.latte pre .hljs {
background: #e6e9ef !important;
}
.latte pre .hljs-params {
color: #d20f39 !important;
}
.latte pre .hljs-built_in,
.latte pre .hljs-selector-tag,
.latte pre .hljs-section,
.latte pre .hljs-link {
color: #209fb5 !important;
}
.latte pre .hljs-keyword {
color: #8839ef !important;
}
.latte pre .hljs,
.latte pre .hljs-subst {
color: #6c6f85 !important;
}
.latte pre .hljs-title {
color: #1e66f5 !important;
}
.latte pre .hljs-attr,
.latte pre .hljs-meta-keyword {
color: #40a02b !important;
}
.latte pre .hljs-type {
color: #1e66f5 !important;
}
.latte pre .hljs-string {
color: #40a02b !important;
}
.latte pre .hljs-tag {
color: #d20f39 !important;
}
.latte pre .hljs-meta,
.latte pre .hljs-name,
.latte pre .hljs-symbol,
.latte pre .hljs-bullet,
.latte pre .hljs-addition,
.latte pre .hljs-variable,
.latte pre .hljs-template-tag,
.latte pre .hljs-template-variable {
color: #dd7878 !important;
}
.latte pre .hljs-addition {
background-color: #e6e9ef !important;
color: #40a02b !important;
}
.latte pre .hljs-deletion {
background-color: #e6e9ef !important;
color: #d20f39 !important;
}
.latte pre .hljs-comment,
.latte pre .hljs-quote {
color: #acb0be !important;
}
.latte pre .hljs-keyword,
.latte pre .hljs-selector-tag,
.latte pre .hljs-literal,
.latte pre .hljs-title,
.latte pre .hljs-section,
.latte pre .hljs-doctag,
.latte pre .hljs-type,
.latte pre .hljs-name,
.latte pre .hljs-strong {
font-weight: bold !important;
}
.latte pre .hljs-literal,
.latte pre .hljs-number {
color: #fe640b !important;
}
.latte pre .hljs-emphasis {
font-style: italic !important;
}

View File

@ -0,0 +1,123 @@
.mocha {
--bg: #1e1e2e;
--fg: #cdd6f4;
--sidebar-bg: #181825;
--sidebar-fg: #cdd6f4;
--sidebar-non-existant: #6c7086;
--sidebar-active: #f5e0dc;
--sidebar-spacer: #6c7086;
--scrollbar: #6c7086;
--icons: #6c7086;
--icons-hover: #7f849c;
--links: #89b4fa;
--inline-code-color: #fab387;
--theme-popup-bg: #181825;
--theme-popup-border: #6c7086;
--theme-hover: #6c7086;
--quote-bg: #181825;
--quote-border: #11111b;
--table-border-color: #11111b;
--table-header-bg: #181825;
--table-alternate-bg: #11111b;
--searchbar-border-color: #11111b;
--searchbar-bg: #181825;
--searchbar-fg: #cdd6f4;
--searchbar-shadow-color: #11111b;
--searchresults-header-fg: #cdd6f4;
--searchresults-border-color: #11111b;
--searchresults-li-bg: #1e1e2e;
--search-mark-bg: #fab387;
}
.macchiato {
--bg: #24273a;
--fg: #cad3f5;
--sidebar-bg: #1e2030;
--sidebar-fg: #cad3f5;
--sidebar-non-existant: #6e738d;
--sidebar-active: #f4dbd6;
--sidebar-spacer: #6e738d;
--scrollbar: #6e738d;
--icons: #6e738d;
--icons-hover: #8087a2;
--links: #8aadf4;
--inline-code-color: #f5a97f;
--theme-popup-bg: #1e2030;
--theme-popup-border: #6e738d;
--theme-hover: #6e738d;
--quote-bg: #1e2030;
--quote-border: #181926;
--table-border-color: #181926;
--table-header-bg: #1e2030;
--table-alternate-bg: #181926;
--searchbar-border-color: #181926;
--searchbar-bg: #1e2030;
--searchbar-fg: #cad3f5;
--searchbar-shadow-color: #181926;
--searchresults-header-fg: #cad3f5;
--searchresults-border-color: #181926;
--searchresults-li-bg: #24273a;
--search-mark-bg: #f5a97f;
}
.frappe {
--bg: #303446;
--fg: #c6d0f5;
--sidebar-bg: #292c3c;
--sidebar-fg: #c6d0f5;
--sidebar-non-existant: #737994;
--sidebar-active: #f2d5cf;
--sidebar-spacer: #737994;
--scrollbar: #737994;
--icons: #737994;
--icons-hover: #838ba7;
--links: #8caaee;
--inline-code-color: #ef9f76;
--theme-popup-bg: #292c3c;
--theme-popup-border: #737994;
--theme-hover: #737994;
--quote-bg: #292c3c;
--quote-border: #232634;
--table-border-color: #232634;
--table-header-bg: #292c3c;
--table-alternate-bg: #232634;
--searchbar-border-color: #232634;
--searchbar-bg: #292c3c;
--searchbar-fg: #c6d0f5;
--searchbar-shadow-color: #232634;
--searchresults-header-fg: #c6d0f5;
--searchresults-border-color: #232634;
--searchresults-li-bg: #303446;
--search-mark-bg: #ef9f76;
}
.latte {
--bg: #eff1f5;
--fg: #4c4f69;
--sidebar-bg: #e6e9ef;
--sidebar-fg: #4c4f69;
--sidebar-non-existant: #9ca0b0;
--sidebar-active: #dc8a78;
--sidebar-spacer: #9ca0b0;
--scrollbar: #9ca0b0;
--icons: #9ca0b0;
--icons-hover: #8c8fa1;
--links: #1e66f5;
--inline-code-color: #fe640b;
--theme-popup-bg: #e6e9ef;
--theme-popup-border: #9ca0b0;
--theme-hover: #9ca0b0;
--quote-bg: #e6e9ef;
--quote-border: #dce0e8;
--table-border-color: #dce0e8;
--table-header-bg: #e6e9ef;
--table-alternate-bg: #dce0e8;
--searchbar-border-color: #dce0e8;
--searchbar-bg: #e6e9ef;
--searchbar-fg: #4c4f69;
--searchbar-shadow-color: #dce0e8;
--searchresults-header-fg: #4c4f69;
--searchresults-border-color: #dce0e8;
--searchresults-li-bg: #eff1f5;
--search-mark-bg: #fe640b;
}

View File

@ -81,8 +81,6 @@
overflow-x: auto; overflow-x: auto;
background: #1d1f21; background: #1d1f21;
color: #c5c8c6; color: #c5c8c6;
padding: 0.5em;
-webkit-text-size-adjust: none;
} }
.coffeescript .javascript, .coffeescript .javascript,

View File

@ -6,44 +6,32 @@
<title>A User&#x27;s Guide to the Z-Shell - Zsh User&#x27;s Guide</title> <title>A User&#x27;s Guide to the Z-Shell - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -170,19 +153,19 @@
<h2 id="peter-stephenson"><a class="header" href="#peter-stephenson">Peter Stephenson</a></h2> <h2 id="peter-stephenson"><a class="header" href="#peter-stephenson">Peter Stephenson</a></h2>
<h2 id="20030323"><a class="header" href="#20030323">2003/03/23</a></h2> <h2 id="20030323"><a class="header" href="#20030323">2003/03/23</a></h2>
<h1 id="table-of-contents"><a class="header" href="#table-of-contents">Table of Contents</a></h1> <h1 id="table-of-contents"><a class="header" href="#table-of-contents">Table of Contents</a></h1>
<h2 id="a-hrefzshguide01htmll1chapter-1-a-short-introductiona"><a class="header" href="#a-hrefzshguide01htmll1chapter-1-a-short-introductiona"><a href="zshguide01.html#l1">Chapter 1: A short introduction</a></a></h2> <h2 id="chapter-1-a-short-introduction"><a class="header" href="#chapter-1-a-short-introduction"><a href="zshguide01.html#l1">Chapter 1: A short introduction</a></a></h2>
<h3 id="a-hrefzshguide01htmll211-other-shells-and-other-guidesa"><a class="header" href="#a-hrefzshguide01htmll211-other-shells-and-other-guidesa"><a href="zshguide01.html#l2">1.1: Other shells and other guides</a></a></h3> <h3 id="11-other-shells-and-other-guides"><a class="header" href="#11-other-shells-and-other-guides"><a href="zshguide01.html#l2">1.1: Other shells and other guides</a></a></h3>
<h3 id="a-hrefzshguide01htmll312-versions-of-zsha"><a class="header" href="#a-hrefzshguide01htmll312-versions-of-zsha"><a href="zshguide01.html#l3">1.2: Versions of zsh</a></a></h3> <h3 id="12-versions-of-zsh"><a class="header" href="#12-versions-of-zsh"><a href="zshguide01.html#l3">1.2: Versions of zsh</a></a></h3>
<h3 id="a-hrefzshguide01htmll413-conventionsa"><a class="header" href="#a-hrefzshguide01htmll413-conventionsa"><a href="zshguide01.html#l4">1.3: Conventions</a></a></h3> <h3 id="13-conventions"><a class="header" href="#13-conventions"><a href="zshguide01.html#l4">1.3: Conventions</a></a></h3>
<h3 id="a-hrefzshguide01htmll514-acknowledgmentsa"><a class="header" href="#a-hrefzshguide01htmll514-acknowledgmentsa"><a href="zshguide01.html#l5">1.4: Acknowledgments</a></a></h3> <h3 id="14-acknowledgments"><a class="header" href="#14-acknowledgments"><a href="zshguide01.html#l5">1.4: Acknowledgments</a></a></h3>
<h2 id="a-hrefzshguide02htmll6chapter-2-what-to-put-in-your-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll6chapter-2-what-to-put-in-your-startup-filesa"><a href="zshguide02.html#l6">Chapter 2: What to put in your startup files</a></a></h2> <h2 id="chapter-2-what-to-put-in-your-startup-files"><a class="header" href="#chapter-2-what-to-put-in-your-startup-files"><a href="zshguide02.html#l6">Chapter 2: What to put in your startup files</a></a></h2>
<h3 id="a-hrefzshguide02htmll721-types-of-shell-interactive-and-login-shellsa"><a class="header" href="#a-hrefzshguide02htmll721-types-of-shell-interactive-and-login-shellsa"><a href="zshguide02.html#l7">2.1: Types of shell: interactive and login shells</a></a></h3> <h3 id="21-types-of-shell-interactive-and-login-shells"><a class="header" href="#21-types-of-shell-interactive-and-login-shells"><a href="zshguide02.html#l7">2.1: Types of shell: interactive and login shells</a></a></h3>
<p><a href="zshguide02.html#l8">2.1.1: What is a login shell? Simple tests</a></p> <p><a href="zshguide02.html#l8">2.1.1: What is a login shell? Simple tests</a></p>
<h3 id="a-hrefzshguide02htmll922-all-the-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll922-all-the-startup-filesa"><a href="zshguide02.html#l9">2.2: All the startup files</a></a></h3> <h3 id="22-all-the-startup-files"><a class="header" href="#22-all-the-startup-files"><a href="zshguide02.html#l9">2.2: All the startup files</a></a></h3>
<h3 id="a-hrefzshguide02htmll1023-optionsa"><a class="header" href="#a-hrefzshguide02htmll1023-optionsa"><a href="zshguide02.html#l10">2.3: Options</a></a></h3> <h3 id="23-options"><a class="header" href="#23-options"><a href="zshguide02.html#l10">2.3: Options</a></a></h3>
<h3 id="a-hrefzshguide02htmll1124-parametersa"><a class="header" href="#a-hrefzshguide02htmll1124-parametersa"><a href="zshguide02.html#l11">2.4: Parameters</a></a></h3> <h3 id="24-parameters"><a class="header" href="#24-parameters"><a href="zshguide02.html#l11">2.4: Parameters</a></a></h3>
<p><a href="zshguide02.html#l12">2.4.1: Arrays</a></p> <p><a href="zshguide02.html#l12">2.4.1: Arrays</a></p>
<h3 id="a-hrefzshguide02htmll1325-what-to-put-in-your-startup-filesa"><a class="header" href="#a-hrefzshguide02htmll1325-what-to-put-in-your-startup-filesa"><a href="zshguide02.html#l13">2.5: What to put in your startup files</a></a></h3> <h3 id="25-what-to-put-in-your-startup-files"><a class="header" href="#25-what-to-put-in-your-startup-files"><a href="zshguide02.html#l13">2.5: What to put in your startup files</a></a></h3>
<p><a href="zshguide02.html#l14">2.5.1: Compatibility options: <code>SH_WORD_SPLIT</code> and <p><a href="zshguide02.html#l14">2.5.1: Compatibility options: <code>SH_WORD_SPLIT</code> and
others</a></p> others</a></p>
<p><a href="zshguide02.html#l15">2.5.2: Options for csh junkies</a></p> <p><a href="zshguide02.html#l15">2.5.2: Options for csh junkies</a></p>
@ -199,9 +182,9 @@ others</a></p>
<p><a href="zshguide02.html#l26">2.5.13: Other path-like things</a></p> <p><a href="zshguide02.html#l26">2.5.13: Other path-like things</a></p>
<p><a href="zshguide02.html#l27">2.5.14: Version-specific things</a></p> <p><a href="zshguide02.html#l27">2.5.14: Version-specific things</a></p>
<p><a href="zshguide02.html#l28">2.5.15: Everything else</a></p> <p><a href="zshguide02.html#l28">2.5.15: Everything else</a></p>
<h2 id="a-hrefzshguide03htmll29chapter-3-dealing-with-basic-shell-syntaxa"><a class="header" href="#a-hrefzshguide03htmll29chapter-3-dealing-with-basic-shell-syntaxa"><a href="zshguide03.html#l29">Chapter 3: Dealing with basic shell syntax</a></a></h2> <h2 id="chapter-3-dealing-with-basic-shell-syntax"><a class="header" href="#chapter-3-dealing-with-basic-shell-syntax"><a href="zshguide03.html#l29">Chapter 3: Dealing with basic shell syntax</a></a></h2>
<h3 id="a-hrefzshguide03htmll3031-external-commandsa"><a class="header" href="#a-hrefzshguide03htmll3031-external-commandsa"><a href="zshguide03.html#l30">3.1: External commands</a></a></h3> <h3 id="31-external-commands"><a class="header" href="#31-external-commands"><a href="zshguide03.html#l30">3.1: External commands</a></a></h3>
<h3 id="a-hrefzshguide03htmll3132-builtin-commandsa"><a class="header" href="#a-hrefzshguide03htmll3132-builtin-commandsa"><a href="zshguide03.html#l31">3.2: Builtin commands</a></a></h3> <h3 id="32-builtin-commands"><a class="header" href="#32-builtin-commands"><a href="zshguide03.html#l31">3.2: Builtin commands</a></a></h3>
<p><a href="zshguide03.html#l32">3.2.1: Builtins for printing</a></p> <p><a href="zshguide03.html#l32">3.2.1: Builtins for printing</a></p>
<p><a href="zshguide03.html#l33">3.2.2: Other builtins just for speed</a></p> <p><a href="zshguide03.html#l33">3.2.2: Other builtins just for speed</a></p>
<p><a href="zshguide03.html#l34">3.2.3: Builtins which change the shell's state</a></p> <p><a href="zshguide03.html#l34">3.2.3: Builtins which change the shell's state</a></p>
@ -219,20 +202,20 @@ others</a></p>
<p><a href="zshguide03.html#l45">3.2.14: Random file control things</a></p> <p><a href="zshguide03.html#l45">3.2.14: Random file control things</a></p>
<p><a href="zshguide03.html#l46">3.2.15: Don't watch this space, watch some other</a></p> <p><a href="zshguide03.html#l46">3.2.15: Don't watch this space, watch some other</a></p>
<p><a href="zshguide03.html#l47">3.2.16: And also</a></p> <p><a href="zshguide03.html#l47">3.2.16: And also</a></p>
<h3 id="a-hrefzshguide03htmll4833-functionsa"><a class="header" href="#a-hrefzshguide03htmll4833-functionsa"><a href="zshguide03.html#l48">3.3: Functions</a></a></h3> <h3 id="33-functions"><a class="header" href="#33-functions"><a href="zshguide03.html#l48">3.3: Functions</a></a></h3>
<p><a href="zshguide03.html#l49">3.3.1: Loading functions</a></p> <p><a href="zshguide03.html#l49">3.3.1: Loading functions</a></p>
<p><a href="zshguide03.html#l50">3.3.2: Function parameters</a></p> <p><a href="zshguide03.html#l50">3.3.2: Function parameters</a></p>
<p><a href="zshguide03.html#l51">3.3.3: Compiling functions</a></p> <p><a href="zshguide03.html#l51">3.3.3: Compiling functions</a></p>
<h3 id="a-hrefzshguide03htmll5234-aliasesa"><a class="header" href="#a-hrefzshguide03htmll5234-aliasesa"><a href="zshguide03.html#l52">3.4: Aliases</a></a></h3> <h3 id="34-aliases"><a class="header" href="#34-aliases"><a href="zshguide03.html#l52">3.4: Aliases</a></a></h3>
<h3 id="a-hrefzshguide03htmll5335-command-summarya"><a class="header" href="#a-hrefzshguide03htmll5335-command-summarya"><a href="zshguide03.html#l53">3.5: Command summary</a></a></h3> <h3 id="35-command-summary"><a class="header" href="#35-command-summary"><a href="zshguide03.html#l53">3.5: Command summary</a></a></h3>
<h3 id="a-hrefzshguide03htmll5436-expansions-and-quotesa"><a class="header" href="#a-hrefzshguide03htmll5436-expansions-and-quotesa"><a href="zshguide03.html#l54">3.6: Expansions and quotes</a></a></h3> <h3 id="36-expansions-and-quotes"><a class="header" href="#36-expansions-and-quotes"><a href="zshguide03.html#l54">3.6: Expansions and quotes</a></a></h3>
<p><a href="zshguide03.html#l55">3.6.1: History expansion</a></p> <p><a href="zshguide03.html#l55">3.6.1: History expansion</a></p>
<p><a href="zshguide03.html#l56">3.6.2: Alias expansion</a></p> <p><a href="zshguide03.html#l56">3.6.2: Alias expansion</a></p>
<p><a href="zshguide03.html#l57">3.6.3: Process, parameter, command, arithmetic and brace <p><a href="zshguide03.html#l57">3.6.3: Process, parameter, command, arithmetic and brace
expansion</a></p> expansion</a></p>
<p><a href="zshguide03.html#l58">3.6.4: Filename Expansion</a></p> <p><a href="zshguide03.html#l58">3.6.4: Filename Expansion</a></p>
<p><a href="zshguide03.html#l59">3.6.5: Filename Generation</a></p> <p><a href="zshguide03.html#l59">3.6.5: Filename Generation</a></p>
<h3 id="a-hrefzshguide03htmll6037-redirection-greater-thans-and-less-thansa"><a class="header" href="#a-hrefzshguide03htmll6037-redirection-greater-thans-and-less-thansa"><a href="zshguide03.html#l60">3.7: Redirection: greater-thans and less-thans</a></a></h3> <h3 id="37-redirection-greater-thans-and-less-thans"><a class="header" href="#37-redirection-greater-thans-and-less-thans"><a href="zshguide03.html#l60">3.7: Redirection: greater-thans and less-thans</a></a></h3>
<p><a href="zshguide03.html#l61">3.7.1: Clobber</a></p> <p><a href="zshguide03.html#l61">3.7.1: Clobber</a></p>
<p><a href="zshguide03.html#l62">3.7.2: File descriptors</a></p> <p><a href="zshguide03.html#l62">3.7.2: File descriptors</a></p>
<p><a href="zshguide03.html#l63">3.7.3: Appending, here documents, here strings, read <p><a href="zshguide03.html#l63">3.7.3: Appending, here documents, here strings, read
@ -240,45 +223,45 @@ write</a></p>
<p><a href="zshguide03.html#l64">3.7.4: Clever tricks: exec and other file <p><a href="zshguide03.html#l64">3.7.4: Clever tricks: exec and other file
descriptors</a></p> descriptors</a></p>
<p><a href="zshguide03.html#l65">3.7.5: Multios</a></p> <p><a href="zshguide03.html#l65">3.7.5: Multios</a></p>
<h3 id="a-hrefzshguide03htmll6638-shell-syntax-loops-subshells-and-so-ona"><a class="header" href="#a-hrefzshguide03htmll6638-shell-syntax-loops-subshells-and-so-ona"><a href="zshguide03.html#l66">3.8: Shell syntax: loops, (sub)shells and so on</a></a></h3> <h3 id="38-shell-syntax-loops-subshells-and-so-on"><a class="header" href="#38-shell-syntax-loops-subshells-and-so-on"><a href="zshguide03.html#l66">3.8: Shell syntax: loops, (sub)shells and so on</a></a></h3>
<p><a href="zshguide03.html#l67">3.8.1: Logical command connectors</a></p> <p><a href="zshguide03.html#l67">3.8.1: Logical command connectors</a></p>
<p><a href="zshguide03.html#l68">3.8.2: Structures</a></p> <p><a href="zshguide03.html#l68">3.8.2: Structures</a></p>
<p><a href="zshguide03.html#l69">3.8.3: Subshells and current shell constructs</a></p> <p><a href="zshguide03.html#l69">3.8.3: Subshells and current shell constructs</a></p>
<p><a href="zshguide03.html#l70">3.8.4: Subshells and current shells</a></p> <p><a href="zshguide03.html#l70">3.8.4: Subshells and current shells</a></p>
<h3 id="a-hrefzshguide03htmll7139-emulation-and-portabilitya"><a class="header" href="#a-hrefzshguide03htmll7139-emulation-and-portabilitya"><a href="zshguide03.html#l71">3.9: Emulation and portability</a></a></h3> <h3 id="39-emulation-and-portability"><a class="header" href="#39-emulation-and-portability"><a href="zshguide03.html#l71">3.9: Emulation and portability</a></a></h3>
<p><a href="zshguide03.html#l72">3.9.1: Differences in detail</a></p> <p><a href="zshguide03.html#l72">3.9.1: Differences in detail</a></p>
<p><a href="zshguide03.html#l73">3.9.2: Making your own scripts and functions <p><a href="zshguide03.html#l73">3.9.2: Making your own scripts and functions
portable</a></p> portable</a></p>
<h3 id="a-hrefzshguide03htmll74310-running-scriptsa"><a class="header" href="#a-hrefzshguide03htmll74310-running-scriptsa"><a href="zshguide03.html#l74">3.10: Running scripts</a></a></h3> <h3 id="310-running-scripts"><a class="header" href="#310-running-scripts"><a href="zshguide03.html#l74">3.10: Running scripts</a></a></h3>
<h2 id="a-hrefzshguide04htmll75chapter-4-the-z-shell-line-editora"><a class="header" href="#a-hrefzshguide04htmll75chapter-4-the-z-shell-line-editora"><a href="zshguide04.html#l75">Chapter 4: The Z-Shell Line Editor</a></a></h2> <h2 id="chapter-4-the-z-shell-line-editor"><a class="header" href="#chapter-4-the-z-shell-line-editor"><a href="zshguide04.html#l75">Chapter 4: The Z-Shell Line Editor</a></a></h2>
<h3 id="a-hrefzshguide04htmll7641-introducing-zlea"><a class="header" href="#a-hrefzshguide04htmll7641-introducing-zlea"><a href="zshguide04.html#l76">4.1: Introducing zle</a></a></h3> <h3 id="41-introducing-zle"><a class="header" href="#41-introducing-zle"><a href="zshguide04.html#l76">4.1: Introducing zle</a></a></h3>
<p><a href="zshguide04.html#l77">4.1.1: The simple facts</a></p> <p><a href="zshguide04.html#l77">4.1.1: The simple facts</a></p>
<p><a href="zshguide04.html#l78">4.1.2: Vi mode</a></p> <p><a href="zshguide04.html#l78">4.1.2: Vi mode</a></p>
<h3 id="a-hrefzshguide04htmll7942-basic-editinga"><a class="header" href="#a-hrefzshguide04htmll7942-basic-editinga"><a href="zshguide04.html#l79">4.2: Basic editing</a></a></h3> <h3 id="42-basic-editing"><a class="header" href="#42-basic-editing"><a href="zshguide04.html#l79">4.2: Basic editing</a></a></h3>
<p><a href="zshguide04.html#l80">4.2.1: Moving</a></p> <p><a href="zshguide04.html#l80">4.2.1: Moving</a></p>
<p><a href="zshguide04.html#l81">4.2.2: Deleting</a></p> <p><a href="zshguide04.html#l81">4.2.2: Deleting</a></p>
<p><a href="zshguide04.html#l82">4.2.3: More deletion</a></p> <p><a href="zshguide04.html#l82">4.2.3: More deletion</a></p>
<h3 id="a-hrefzshguide04htmll8343-fancier-editinga"><a class="header" href="#a-hrefzshguide04htmll8343-fancier-editinga"><a href="zshguide04.html#l83">4.3: Fancier editing</a></a></h3> <h3 id="43-fancier-editing"><a class="header" href="#43-fancier-editing"><a href="zshguide04.html#l83">4.3: Fancier editing</a></a></h3>
<p><a href="zshguide04.html#l84">4.3.1: Options controlling zle</a></p> <p><a href="zshguide04.html#l84">4.3.1: Options controlling zle</a></p>
<p><a href="zshguide04.html#l85">4.3.2: The minibuffer and extended commands</a></p> <p><a href="zshguide04.html#l85">4.3.2: The minibuffer and extended commands</a></p>
<p><a href="zshguide04.html#l86">4.3.3: Prefix (digit) arguments</a></p> <p><a href="zshguide04.html#l86">4.3.3: Prefix (digit) arguments</a></p>
<p><a href="zshguide04.html#l87">4.3.4: Words, regions and marks</a></p> <p><a href="zshguide04.html#l87">4.3.4: Words, regions and marks</a></p>
<p><a href="zshguide04.html#l88">4.3.5: Regions and marks</a></p> <p><a href="zshguide04.html#l88">4.3.5: Regions and marks</a></p>
<h3 id="a-hrefzshguide04htmll8944-history-and-searchinga"><a class="header" href="#a-hrefzshguide04htmll8944-history-and-searchinga"><a href="zshguide04.html#l89">4.4: History and searching</a></a></h3> <h3 id="44-history-and-searching"><a class="header" href="#44-history-and-searching"><a href="zshguide04.html#l89">4.4: History and searching</a></a></h3>
<p><a href="zshguide04.html#l90">4.4.1: Moving through the history</a></p> <p><a href="zshguide04.html#l90">4.4.1: Moving through the history</a></p>
<p><a href="zshguide04.html#l91">4.4.2: Searching through the history</a></p> <p><a href="zshguide04.html#l91">4.4.2: Searching through the history</a></p>
<p><a href="zshguide04.html#l92">4.4.3: Extracting words from the history</a></p> <p><a href="zshguide04.html#l92">4.4.3: Extracting words from the history</a></p>
<h3 id="a-hrefzshguide04htmll9345-binding-keys-and-handling-keymapsa"><a class="header" href="#a-hrefzshguide04htmll9345-binding-keys-and-handling-keymapsa"><a href="zshguide04.html#l93">4.5: Binding keys and handling keymaps</a></a></h3> <h3 id="45-binding-keys-and-handling-keymaps"><a class="header" href="#45-binding-keys-and-handling-keymaps"><a href="zshguide04.html#l93">4.5: Binding keys and handling keymaps</a></a></h3>
<p><a href="zshguide04.html#l94">4.5.1: Simple key bindings</a></p> <p><a href="zshguide04.html#l94">4.5.1: Simple key bindings</a></p>
<p><a href="zshguide04.html#l95">4.5.2: Removing key bindings</a></p> <p><a href="zshguide04.html#l95">4.5.2: Removing key bindings</a></p>
<p><a href="zshguide04.html#l96">4.5.3: Function keys and so on</a></p> <p><a href="zshguide04.html#l96">4.5.3: Function keys and so on</a></p>
<p><a href="zshguide04.html#l97">4.5.4: Binding strings instead of commands</a></p> <p><a href="zshguide04.html#l97">4.5.4: Binding strings instead of commands</a></p>
<p><a href="zshguide04.html#l98">4.5.5: Keymaps</a></p> <p><a href="zshguide04.html#l98">4.5.5: Keymaps</a></p>
<h3 id="a-hrefzshguide04htmll9946-advanced-editinga"><a class="header" href="#a-hrefzshguide04htmll9946-advanced-editinga"><a href="zshguide04.html#l99">4.6: Advanced editing</a></a></h3> <h3 id="46-advanced-editing"><a class="header" href="#46-advanced-editing"><a href="zshguide04.html#l99">4.6: Advanced editing</a></a></h3>
<p><a href="zshguide04.html#l100">4.6.1: Multi-line editing</a></p> <p><a href="zshguide04.html#l100">4.6.1: Multi-line editing</a></p>
<p><a href="zshguide04.html#l101">4.6.2: The builtin vared and the function zed</a></p> <p><a href="zshguide04.html#l101">4.6.2: The builtin vared and the function zed</a></p>
<p><a href="zshguide04.html#l102">4.6.3: The buffer stack</a></p> <p><a href="zshguide04.html#l102">4.6.3: The buffer stack</a></p>
<h3 id="a-hrefzshguide04htmll10347-extending-zlea"><a class="header" href="#a-hrefzshguide04htmll10347-extending-zlea"><a href="zshguide04.html#l103">4.7: Extending zle</a></a></h3> <h3 id="47-extending-zle"><a class="header" href="#47-extending-zle"><a href="zshguide04.html#l103">4.7: Extending zle</a></a></h3>
<p><a href="zshguide04.html#l104">4.7.1: Widgets</a></p> <p><a href="zshguide04.html#l104">4.7.1: Widgets</a></p>
<p><a href="zshguide04.html#l105">4.7.2: Executing other widgets</a></p> <p><a href="zshguide04.html#l105">4.7.2: Executing other widgets</a></p>
<p><a href="zshguide04.html#l106">4.7.3: Some special builtin widgets and their <p><a href="zshguide04.html#l106">4.7.3: Some special builtin widgets and their
@ -287,16 +270,16 @@ uses</a></p>
<p><a href="zshguide04.html#l108">4.7.5: Other special parameters</a></p> <p><a href="zshguide04.html#l108">4.7.5: Other special parameters</a></p>
<p><a href="zshguide04.html#l109">4.7.6: Reading keys and using the minibuffer</a></p> <p><a href="zshguide04.html#l109">4.7.6: Reading keys and using the minibuffer</a></p>
<p><a href="zshguide04.html#l110">4.7.7: Examples</a></p> <p><a href="zshguide04.html#l110">4.7.7: Examples</a></p>
<h2 id="a-hrefzshguide05htmll111chapter-5-substitutionsa"><a class="header" href="#a-hrefzshguide05htmll111chapter-5-substitutionsa"><a href="zshguide05.html#l111">Chapter 5: Substitutions</a></a></h2> <h2 id="chapter-5-substitutions"><a class="header" href="#chapter-5-substitutions"><a href="zshguide05.html#l111">Chapter 5: Substitutions</a></a></h2>
<h3 id="a-hrefzshguide05htmll11251-quotinga"><a class="header" href="#a-hrefzshguide05htmll11251-quotinga"><a href="zshguide05.html#l112">5.1: Quoting</a></a></h3> <h3 id="51-quoting"><a class="header" href="#51-quoting"><a href="zshguide05.html#l112">5.1: Quoting</a></a></h3>
<p><a href="zshguide05.html#l113">5.1.1: Backslashes</a></p> <p><a href="zshguide05.html#l113">5.1.1: Backslashes</a></p>
<p><a href="zshguide05.html#l114">5.1.2: Single quotes</a></p> <p><a href="zshguide05.html#l114">5.1.2: Single quotes</a></p>
<p><a href="zshguide05.html#l115">5.1.3: POSIX quotes</a></p> <p><a href="zshguide05.html#l115">5.1.3: POSIX quotes</a></p>
<p><a href="zshguide05.html#l116">5.1.4: Double quotes</a></p> <p><a href="zshguide05.html#l116">5.1.4: Double quotes</a></p>
<p><a href="zshguide05.html#l117">5.1.5: Backquotes</a></p> <p><a href="zshguide05.html#l117">5.1.5: Backquotes</a></p>
<h3 id="a-hrefzshguide05htmll11852-modifiers-and-what-they-modifya"><a class="header" href="#a-hrefzshguide05htmll11852-modifiers-and-what-they-modifya"><a href="zshguide05.html#l118">5.2: Modifiers and what they modify</a></a></h3> <h3 id="52-modifiers-and-what-they-modify"><a class="header" href="#52-modifiers-and-what-they-modify"><a href="zshguide05.html#l118">5.2: Modifiers and what they modify</a></a></h3>
<h3 id="a-hrefzshguide05htmll11953-process-substitutiona"><a class="header" href="#a-hrefzshguide05htmll11953-process-substitutiona"><a href="zshguide05.html#l119">5.3: Process Substitution</a></a></h3> <h3 id="53-process-substitution"><a class="header" href="#53-process-substitution"><a href="zshguide05.html#l119">5.3: Process Substitution</a></a></h3>
<h3 id="a-hrefzshguide05htmll12054-parameter-substitutiona"><a class="header" href="#a-hrefzshguide05htmll12054-parameter-substitutiona"><a href="zshguide05.html#l120">5.4: Parameter substitution</a></a></h3> <h3 id="54-parameter-substitution"><a class="header" href="#54-parameter-substitution"><a href="zshguide05.html#l120">5.4: Parameter substitution</a></a></h3>
<p><a href="zshguide05.html#l121">5.4.1: Using arrays</a></p> <p><a href="zshguide05.html#l121">5.4.1: Using arrays</a></p>
<p><a href="zshguide05.html#l122">5.4.2: Using associative arrays</a></p> <p><a href="zshguide05.html#l122">5.4.2: Using associative arrays</a></p>
<p><a href="zshguide05.html#l123">5.4.3: Substituted substitutions, top- and tailing, <p><a href="zshguide05.html#l123">5.4.3: Substituted substitutions, top- and tailing,
@ -307,13 +290,13 @@ etc.</a></p>
<p><a href="zshguide05.html#l126">5.4.6: Yet more parameter flags</a></p> <p><a href="zshguide05.html#l126">5.4.6: Yet more parameter flags</a></p>
<p><a href="zshguide05.html#l127">5.4.7: A couple of parameter substitution tricks</a></p> <p><a href="zshguide05.html#l127">5.4.7: A couple of parameter substitution tricks</a></p>
<p><a href="zshguide05.html#l128">5.4.8: Nested parameter substitutions</a></p> <p><a href="zshguide05.html#l128">5.4.8: Nested parameter substitutions</a></p>
<h3 id="a-hrefzshguide05htmll12955-that-substitution-againa"><a class="header" href="#a-hrefzshguide05htmll12955-that-substitution-againa"><a href="zshguide05.html#l129">5.5: That substitution again</a></a></h3> <h3 id="55-that-substitution-again"><a class="header" href="#55-that-substitution-again"><a href="zshguide05.html#l129">5.5: That substitution again</a></a></h3>
<h3 id="a-hrefzshguide05htmll13056-arithmetic-expansiona"><a class="header" href="#a-hrefzshguide05htmll13056-arithmetic-expansiona"><a href="zshguide05.html#l130">5.6: Arithmetic Expansion</a></a></h3> <h3 id="56-arithmetic-expansion"><a class="header" href="#56-arithmetic-expansion"><a href="zshguide05.html#l130">5.6: Arithmetic Expansion</a></a></h3>
<p><a href="zshguide05.html#l131">5.6.1: Entering and outputting bases</a></p> <p><a href="zshguide05.html#l131">5.6.1: Entering and outputting bases</a></p>
<p><a href="zshguide05.html#l132">5.6.2: Parameter typing</a></p> <p><a href="zshguide05.html#l132">5.6.2: Parameter typing</a></p>
<h3 id="a-hrefzshguide05htmll13357-brace-expansion-and-arraysa"><a class="header" href="#a-hrefzshguide05htmll13357-brace-expansion-and-arraysa"><a href="zshguide05.html#l133">5.7: Brace Expansion and Arrays</a></a></h3> <h3 id="57-brace-expansion-and-arrays"><a class="header" href="#57-brace-expansion-and-arrays"><a href="zshguide05.html#l133">5.7: Brace Expansion and Arrays</a></a></h3>
<h3 id="a-hrefzshguide05htmll13458-filename-expansiona"><a class="header" href="#a-hrefzshguide05htmll13458-filename-expansiona"><a href="zshguide05.html#l134">5.8: Filename Expansion</a></a></h3> <h3 id="58-filename-expansion"><a class="header" href="#58-filename-expansion"><a href="zshguide05.html#l134">5.8: Filename Expansion</a></a></h3>
<h3 id="a-hrefzshguide05htmll13559-filename-generation-and-pattern-matchinga"><a class="header" href="#a-hrefzshguide05htmll13559-filename-generation-and-pattern-matchinga"><a href="zshguide05.html#l135">5.9: Filename Generation and Pattern Matching</a></a></h3> <h3 id="59-filename-generation-and-pattern-matching"><a class="header" href="#59-filename-generation-and-pattern-matching"><a href="zshguide05.html#l135">5.9: Filename Generation and Pattern Matching</a></a></h3>
<p><a href="zshguide05.html#l136">5.9.1: Comparing patterns and regular <p><a href="zshguide05.html#l136">5.9.1: Comparing patterns and regular
expressions</a></p> expressions</a></p>
<p><a href="zshguide05.html#l137">5.9.2: Standard features</a></p> <p><a href="zshguide05.html#l137">5.9.2: Standard features</a></p>
@ -324,9 +307,9 @@ expressions</a></p>
<p><a href="zshguide05.html#l142">5.9.7: Globbing flags: alter the behaviour of <p><a href="zshguide05.html#l142">5.9.7: Globbing flags: alter the behaviour of
matches</a></p> matches</a></p>
<p><a href="zshguide05.html#l143">5.9.8: The function <code>zmv</code></a></p> <p><a href="zshguide05.html#l143">5.9.8: The function <code>zmv</code></a></p>
<h2 id="a-hrefzshguide06htmll144chapter-6-completion-old-and-newa"><a class="header" href="#a-hrefzshguide06htmll144chapter-6-completion-old-and-newa"><a href="zshguide06.html#l144">Chapter 6: Completion, old and new</a></a></h2> <h2 id="chapter-6-completion-old-and-new"><a class="header" href="#chapter-6-completion-old-and-new"><a href="zshguide06.html#l144">Chapter 6: Completion, old and new</a></a></h2>
<h3 id="a-hrefzshguide06htmll14561-completion-and-expansiona"><a class="header" href="#a-hrefzshguide06htmll14561-completion-and-expansiona"><a href="zshguide06.html#l145">6.1: Completion and expansion</a></a></h3> <h3 id="61-completion-and-expansion"><a class="header" href="#61-completion-and-expansion"><a href="zshguide06.html#l145">6.1: Completion and expansion</a></a></h3>
<h3 id="a-hrefzshguide06htmll14662-configuring-completion-using-shell-optionsa"><a class="header" href="#a-hrefzshguide06htmll14662-configuring-completion-using-shell-optionsa"><a href="zshguide06.html#l146">6.2: Configuring completion using shell options</a></a></h3> <h3 id="62-configuring-completion-using-shell-options"><a class="header" href="#62-configuring-completion-using-shell-options"><a href="zshguide06.html#l146">6.2: Configuring completion using shell options</a></a></h3>
<p><a href="zshguide06.html#l147">6.2.1: Ambiguous completions</a></p> <p><a href="zshguide06.html#l147">6.2.1: Ambiguous completions</a></p>
<p><a href="zshguide06.html#l148">6.2.2: <code>ALWAYS_LAST_PROMPT</code></a></p> <p><a href="zshguide06.html#l148">6.2.2: <code>ALWAYS_LAST_PROMPT</code></a></p>
<p><a href="zshguide06.html#l149">6.2.3: Menu completion and menu selection</a></p> <p><a href="zshguide06.html#l149">6.2.3: Menu completion and menu selection</a></p>
@ -334,16 +317,16 @@ matches</a></p>
behaviour</a></p> behaviour</a></p>
<p><a href="zshguide06.html#l151">6.2.5: Changing the way completions are <p><a href="zshguide06.html#l151">6.2.5: Changing the way completions are
displayed</a></p> displayed</a></p>
<h3 id="a-hrefzshguide06htmll15263-getting-started-with-new-completiona"><a class="header" href="#a-hrefzshguide06htmll15263-getting-started-with-new-completiona"><a href="zshguide06.html#l152">6.3: Getting started with new completion</a></a></h3> <h3 id="63-getting-started-with-new-completion"><a class="header" href="#63-getting-started-with-new-completion"><a href="zshguide06.html#l152">6.3: Getting started with new completion</a></a></h3>
<h3 id="a-hrefzshguide06htmll15364-how-the-shell-finds-the-right-completionsa"><a class="header" href="#a-hrefzshguide06htmll15364-how-the-shell-finds-the-right-completionsa"><a href="zshguide06.html#l153">6.4: How the shell finds the right completions</a></a></h3> <h3 id="64-how-the-shell-finds-the-right-completions"><a class="header" href="#64-how-the-shell-finds-the-right-completions"><a href="zshguide06.html#l153">6.4: How the shell finds the right completions</a></a></h3>
<p><a href="zshguide06.html#l154">6.4.1: Contexts</a></p> <p><a href="zshguide06.html#l154">6.4.1: Contexts</a></p>
<p><a href="zshguide06.html#l155">6.4.2: Tags</a></p> <p><a href="zshguide06.html#l155">6.4.2: Tags</a></p>
<h3 id="a-hrefzshguide06htmll15665-configuring-completion-using-stylesa"><a class="header" href="#a-hrefzshguide06htmll15665-configuring-completion-using-stylesa"><a href="zshguide06.html#l156">6.5: Configuring completion using styles</a></a></h3> <h3 id="65-configuring-completion-using-styles"><a class="header" href="#65-configuring-completion-using-styles"><a href="zshguide06.html#l156">6.5: Configuring completion using styles</a></a></h3>
<p><a href="zshguide06.html#l157">6.5.1: Specifying completers and their options</a></p> <p><a href="zshguide06.html#l157">6.5.1: Specifying completers and their options</a></p>
<p><a href="zshguide06.html#l158">6.5.2: Changing the format of listings: groups <p><a href="zshguide06.html#l158">6.5.2: Changing the format of listings: groups
etc.</a></p> etc.</a></p>
<p><a href="zshguide06.html#l159">6.5.3: Styles affecting particular completions</a></p> <p><a href="zshguide06.html#l159">6.5.3: Styles affecting particular completions</a></p>
<h3 id="a-hrefzshguide06htmll16066-command-widgetsa"><a class="header" href="#a-hrefzshguide06htmll16066-command-widgetsa"><a href="zshguide06.html#l160">6.6: Command widgets</a></a></h3> <h3 id="66-command-widgets"><a class="header" href="#66-command-widgets"><a href="zshguide06.html#l160">6.6: Command widgets</a></a></h3>
<p><a href="zshguide06.html#l161">6.6.1: <code>_complete_help</code></a></p> <p><a href="zshguide06.html#l161">6.6.1: <code>_complete_help</code></a></p>
<p><a href="zshguide06.html#l162">6.6.2: <code>_correct_word</code>, <code>_correct_filename</code>, <p><a href="zshguide06.html#l162">6.6.2: <code>_correct_word</code>, <code>_correct_filename</code>,
<code>_expand_word</code></a></p> <code>_expand_word</code></a></p>
@ -354,19 +337,19 @@ etc.</a></p>
<p><a href="zshguide06.html#l167">6.6.7: <code>_read_comp</code></a></p> <p><a href="zshguide06.html#l167">6.6.7: <code>_read_comp</code></a></p>
<p><a href="zshguide06.html#l168">6.6.8: <code>_generic</code></a></p> <p><a href="zshguide06.html#l168">6.6.8: <code>_generic</code></a></p>
<p><a href="zshguide06.html#l169">6.6.9: <code>predict-on</code>, <code>incremental-complete-word</code></a></p> <p><a href="zshguide06.html#l169">6.6.9: <code>predict-on</code>, <code>incremental-complete-word</code></a></p>
<h3 id="a-hrefzshguide06htmll17067-matching-control-and-controlling-where-things-are-inserteda"><a class="header" href="#a-hrefzshguide06htmll17067-matching-control-and-controlling-where-things-are-inserteda"><a href="zshguide06.html#l170">6.7: Matching control and controlling where things are inserted</a></a></h3> <h3 id="67-matching-control-and-controlling-where-things-are-inserted"><a class="header" href="#67-matching-control-and-controlling-where-things-are-inserted"><a href="zshguide06.html#l170">6.7: Matching control and controlling where things are inserted</a></a></h3>
<p><a href="zshguide06.html#l171">6.7.1: Case-insensitive matching</a></p> <p><a href="zshguide06.html#l171">6.7.1: Case-insensitive matching</a></p>
<p><a href="zshguide06.html#l172">6.7.2: Matching option names</a></p> <p><a href="zshguide06.html#l172">6.7.2: Matching option names</a></p>
<p><a href="zshguide06.html#l173">6.7.3: Partial word completion</a></p> <p><a href="zshguide06.html#l173">6.7.3: Partial word completion</a></p>
<p><a href="zshguide06.html#l174">6.7.4: Substring completion</a></p> <p><a href="zshguide06.html#l174">6.7.4: Substring completion</a></p>
<p><a href="zshguide06.html#l175">6.7.5: Partial words with capitals</a></p> <p><a href="zshguide06.html#l175">6.7.5: Partial words with capitals</a></p>
<p><a href="zshguide06.html#l176">6.7.6: Final notes</a></p> <p><a href="zshguide06.html#l176">6.7.6: Final notes</a></p>
<h3 id="a-hrefzshguide06htmll17768-tutoriala"><a class="header" href="#a-hrefzshguide06htmll17768-tutoriala"><a href="zshguide06.html#l177">6.8: Tutorial</a></a></h3> <h3 id="68-tutorial"><a class="header" href="#68-tutorial"><a href="zshguide06.html#l177">6.8: Tutorial</a></a></h3>
<p><a href="zshguide06.html#l178">6.8.1: The dispatcher</a></p> <p><a href="zshguide06.html#l178">6.8.1: The dispatcher</a></p>
<p><a href="zshguide06.html#l179">6.8.2: Subcommand completion: <code>_arguments</code></a></p> <p><a href="zshguide06.html#l179">6.8.2: Subcommand completion: <code>_arguments</code></a></p>
<p><a href="zshguide06.html#l180">6.8.3: Completing particular argument types</a></p> <p><a href="zshguide06.html#l180">6.8.3: Completing particular argument types</a></p>
<p><a href="zshguide06.html#l181">6.8.4: The rest</a></p> <p><a href="zshguide06.html#l181">6.8.4: The rest</a></p>
<h3 id="a-hrefzshguide06htmll18269-writing-new-completion-functions-and-widgetsa"><a class="header" href="#a-hrefzshguide06htmll18269-writing-new-completion-functions-and-widgetsa"><a href="zshguide06.html#l182">6.9: Writing new completion functions and widgets</a></a></h3> <h3 id="69-writing-new-completion-functions-and-widgets"><a class="header" href="#69-writing-new-completion-functions-and-widgets"><a href="zshguide06.html#l182">6.9: Writing new completion functions and widgets</a></a></h3>
<p><a href="zshguide06.html#l183">6.9.1: Loading completion functions: <code>compdef</code></a></p> <p><a href="zshguide06.html#l183">6.9.1: Loading completion functions: <code>compdef</code></a></p>
<p><a href="zshguide06.html#l184">6.9.2: Adding a set of completions: <code>compadd</code></a></p> <p><a href="zshguide06.html#l184">6.9.2: Adding a set of completions: <code>compadd</code></a></p>
<p><a href="zshguide06.html#l185">6.9.3: Functions for generating filenames, etc.</a></p> <p><a href="zshguide06.html#l185">6.9.3: Functions for generating filenames, etc.</a></p>
@ -378,16 +361,16 @@ mechanism</a></p>
<p><a href="zshguide06.html#l189">6.9.7: Getting the work done for you: handling arguments <p><a href="zshguide06.html#l189">6.9.7: Getting the work done for you: handling arguments
etc.</a></p> etc.</a></p>
<p><a href="zshguide06.html#l190">6.9.8: More completion utility functions</a></p> <p><a href="zshguide06.html#l190">6.9.8: More completion utility functions</a></p>
<h3 id="a-hrefzshguide06htmll191610-finallya"><a class="header" href="#a-hrefzshguide06htmll191610-finallya"><a href="zshguide06.html#l191">6.10: Finally</a></a></h3> <h3 id="610-finally"><a class="header" href="#610-finally"><a href="zshguide06.html#l191">6.10: Finally</a></a></h3>
<h2 id="a-hrefzshguide07htmll192chapter-7-modules-and-other-bits-and-pieces-not-writtena"><a class="header" href="#a-hrefzshguide07htmll192chapter-7-modules-and-other-bits-and-pieces-not-writtena"><a href="zshguide07.html#l192">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></a></h2> <h2 id="chapter-7-modules-and-other-bits-and-pieces-not-written"><a class="header" href="#chapter-7-modules-and-other-bits-and-pieces-not-written"><a href="zshguide07.html#l192">Chapter 7: Modules and other bits and pieces <em>Not written</em></a></a></h2>
<h3 id="a-hrefzshguide07htmll19371-control-over-modules-zmodloada"><a class="header" href="#a-hrefzshguide07htmll19371-control-over-modules-zmodloada"><a href="zshguide07.html#l193">7.1: Control over modules: <code>zmodload</code></a></a></h3> <h3 id="71-control-over-modules-zmodload"><a class="header" href="#71-control-over-modules-zmodload"><a href="zshguide07.html#l193">7.1: Control over modules: <code>zmodload</code></a></a></h3>
<p><a href="zshguide07.html#l194">7.1.1: Modules defining parameters</a></p> <p><a href="zshguide07.html#l194">7.1.1: Modules defining parameters</a></p>
<p><a href="zshguide07.html#l195">7.1.2: Low-level system interaction</a></p> <p><a href="zshguide07.html#l195">7.1.2: Low-level system interaction</a></p>
<p><a href="zshguide07.html#l196">7.1.3: ZFTP</a></p> <p><a href="zshguide07.html#l196">7.1.3: ZFTP</a></p>
<h3 id="a-hrefzshguide07htmll19772-contributed-bitsa"><a class="header" href="#a-hrefzshguide07htmll19772-contributed-bitsa"><a href="zshguide07.html#l197">7.2: Contributed bits</a></a></h3> <h3 id="72-contributed-bits"><a class="header" href="#72-contributed-bits"><a href="zshguide07.html#l197">7.2: Contributed bits</a></a></h3>
<p><a href="zshguide07.html#l198">7.2.1: Prompt themes</a></p> <p><a href="zshguide07.html#l198">7.2.1: Prompt themes</a></p>
<h3 id="a-hrefzshguide07htmll19973-whats-new-in-41a"><a class="header" href="#a-hrefzshguide07htmll19973-whats-new-in-41a"><a href="zshguide07.html#l199">7.3: What's new in 4.1</a></a></h3> <h3 id="73-whats-new-in-41"><a class="header" href="#73-whats-new-in-41"><a href="zshguide07.html#l199">7.3: What's new in 4.1</a></a></h3>
<h2 id="a-hrefzshguide08htmll200appendix-1-obtaining-zsh-and-getting-more-information-not-writtena"><a class="header" href="#a-hrefzshguide08htmll200appendix-1-obtaining-zsh-and-getting-more-information-not-writtena"><a href="zshguide08.html#l200">Appendix 1: Obtaining zsh and getting more information <em>Not written</em></a></a></h2> <h2 id="appendix-1-obtaining-zsh-and-getting-more-information-not-written"><a class="header" href="#appendix-1-obtaining-zsh-and-getting-more-information-not-written"><a href="zshguide08.html#l200">Appendix 1: Obtaining zsh and getting more information <em>Not written</em></a></a></h2>
<hr /> <hr />
</main> </main>
@ -395,13 +378,10 @@ etc.</a></p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="next" href="zshguide01.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide01.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
@ -409,36 +389,14 @@ etc.</a></p>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="next" href="zshguide01.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide01.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -446,14 +404,10 @@ etc.</a></p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -461,7 +415,5 @@ etc.</a></p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>A short introduction - Zsh User&#x27;s Guide</title> <title>A short introduction - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -417,59 +400,32 @@ particular PC.</p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide02.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide02.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide02.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide02.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -477,14 +433,10 @@ particular PC.</p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -492,7 +444,5 @@ particular PC.</p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>What to put in your startup files - Zsh User&#x27;s Guide</title> <title>What to put in your startup files - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -1905,17 +1888,15 @@ looks like this.</p>
the elements are on different lines; this is one very good reason for the elements are on different lines; this is one very good reason for
setting <code>$mailpath</code> rather than <code>$MAILPATH</code>, which needs one long chunk.</p> setting <code>$mailpath</code> rather than <code>$MAILPATH</code>, which needs one long chunk.</p>
<p>The other parameter of interest is <code>$MAILCHECK</code>, which gives the <p>The other parameter of interest is <code>$MAILCHECK</code>, which gives the
frequency in seconds when zsh should check for new mail. The default is</p> frequency in seconds when zsh should check for new mail. The default is
<ol start="60"> 60. Actually, zsh only checks just after a command has finished running
<li>Actually, zsh only checks just after a command has finished running
and it is about to print a prompt. Since checking files doesn't take and it is about to print a prompt. Since checking files doesn't take
long, you can usually set this to its minimum value, which is long, you can usually set this to its minimum value, which is
<code>MAILCHECK=1</code>; zero doesn't work because it switches off checking. One <code>MAILCHECK=1</code>; zero doesn't work because it switches off checking. One
reason why you wouldn't want to do that might be because <code>$MAIL</code> and reason why you wouldn't want to do that might be because <code>$MAIL</code> and
<code>$mailpath</code> can contain directories instead of ordinary files; these <code>$mailpath</code> can contain directories instead of ordinary files; these
will be checked recursively for any files with something new in them, so will be checked recursively for any files with something new in them, so
this can be slow.</li> this can be slow.</p>
</ol>
<p>Finally, there is one associated option, <code>MAIL_WARNING</code> (though <p>Finally, there is one associated option, <code>MAIL_WARNING</code> (though
<code>MAIL_WARN</code> is also accepted for the same thing for reasons of <code>MAIL_WARN</code> is also accepted for the same thing for reasons of
compatibility with less grammatical shells). The shell remembers when it compatibility with less grammatical shells). The shell remembers when it
@ -1996,59 +1977,32 @@ for all interactive shells, and for no others.</p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide01.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide01.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide03.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide03.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide01.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide01.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide03.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide03.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -2056,14 +2010,10 @@ for all interactive shells, and for no others.</p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -2071,7 +2021,5 @@ for all interactive shells, and for no others.</p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>Dealing with basic shell syntax - Zsh User&#x27;s Guide</title> <title>Dealing with basic shell syntax - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -5422,59 +5405,32 @@ life's not that simple.</p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide02.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide02.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide04.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide04.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide02.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide02.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide04.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide04.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -5482,14 +5438,10 @@ life's not that simple.</p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -5497,7 +5449,5 @@ life's not that simple.</p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>The Z-Shell Line Editor - Zsh User&#x27;s Guide</title> <title>The Z-Shell Line Editor - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -2002,59 +1985,32 @@ character sets for now.</p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide03.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide03.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide05.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide05.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide03.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide03.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide05.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide05.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -2062,14 +2018,10 @@ character sets for now.</p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -2077,7 +2029,5 @@ character sets for now.</p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>Substitutions - Zsh User&#x27;s Guide</title> <title>Substitutions - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -3488,59 +3471,32 @@ generic way of passing down options to the programmes executed, using
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide04.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide04.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide06.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide06.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide04.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide04.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide06.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide06.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -3548,14 +3504,10 @@ generic way of passing down options to the programmes executed, using
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -3563,7 +3515,5 @@ generic way of passing down options to the programmes executed, using
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>Completion, old and new - Zsh User&#x27;s Guide</title> <title>Completion, old and new - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -4927,59 +4910,32 @@ using just the tab key and ordinary characters.</p>
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide05.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide05.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide07.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide07.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide05.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide05.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<a rel="next" href="zshguide07.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> <a rel="next" href="zshguide07.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i> <i class="fa fa-angle-right"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -4987,14 +4943,10 @@ using just the tab key and ordinary characters.</p>
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -5002,7 +4954,5 @@ using just the tab key and ordinary characters.</p>
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -6,44 +6,32 @@
<title>Modules and other bits and pieces Not written - Zsh User&#x27;s Guide</title> <title>Modules and other bits and pieces Not written - Zsh User&#x27;s Guide</title>
<!-- Custom HTML head --> <!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" /> <meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg"> <link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png"> <link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css"> <link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css"> <link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print"> <link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts --> <!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css"> <link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets --> <!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css"> <link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css"> <link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -103,8 +91,7 @@
<div id="page-wrapper" class="page-wrapper"> <div id="page-wrapper" class="page-wrapper">
<div class="page"> <div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered"> <div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons"> <div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
@ -119,29 +106,26 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</button> </button>
</div> </div>
<h1 class="menu-title">Zsh User&#x27;s Guide</h1> <h1 class="menu-title">Zsh User&#x27;s Guide</h1>
<div class="right-buttons"> <div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book"> <a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i> <i id="print-button" class="fa fa-print"></i>
</a> </a>
</div> </div>
</div> </div>
<div id="search-wrapper" class="hidden"> <div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer"> <form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@ -153,7 +137,6 @@
</div> </div>
</div> </div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript"> <script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@ -209,51 +192,26 @@
<nav class="nav-wrapper" aria-label="Page navigation"> <nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons --> <!-- Mobile navigation buttons -->
<a rel="prev" href="zshguide06.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide06.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
<div style="clear: both"></div> <div style="clear: both"></div>
</nav> </nav>
</div> </div>
</div> </div>
<nav class="nav-wide-wrapper" aria-label="Page navigation"> <nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="zshguide06.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> <a rel="prev" href="zshguide06.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i> <i class="fa fa-angle-left"></i>
</a> </a>
</nav> </nav>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script type="text/javascript"> <script type="text/javascript">
@ -261,14 +219,10 @@
</script> </script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script> <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script> <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script> <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script> <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script> <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script> <script src="book.js" type="text/javascript" charset="utf-8"></script>
@ -276,7 +230,5 @@
<!-- Custom JS scripts --> <!-- Custom JS scripts -->
</body> </body>
</html> </html>

View File

@ -0,0 +1,359 @@
.mocha code,
.mocha .hljs {
background: #181825;
}
.mocha code .hljs-attr,
.mocha code .hljs-string {
color: #a6e3a1;
}
.mocha code .hljs-tag {
color: #f38ba8;
}
.mocha code .hljs-name {
color: #f2cdcd;
}
.mocha pre .hljs {
background: #181825 !important;
}
.mocha pre .hljs-params {
color: #f38ba8 !important;
}
.mocha pre .hljs-built_in,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-section,
.mocha pre .hljs-link {
color: #74c7ec !important;
}
.mocha pre .hljs-keyword {
color: #cba6f7 !important;
}
.mocha pre .hljs,
.mocha pre .hljs-subst {
color: #a6adc8 !important;
}
.mocha pre .hljs-title {
color: #89b4fa !important;
}
.mocha pre .hljs-attr,
.mocha pre .hljs-meta-keyword {
color: #a6e3a1 !important;
}
.mocha pre .hljs-type {
color: #89b4fa !important;
}
.mocha pre .hljs-string {
color: #a6e3a1 !important;
}
.mocha pre .hljs-tag {
color: #f38ba8 !important;
}
.mocha pre .hljs-meta,
.mocha pre .hljs-name,
.mocha pre .hljs-symbol,
.mocha pre .hljs-bullet,
.mocha pre .hljs-addition,
.mocha pre .hljs-variable,
.mocha pre .hljs-template-tag,
.mocha pre .hljs-template-variable {
color: #f2cdcd !important;
}
.mocha pre .hljs-addition {
background-color: #181825 !important;
color: #a6e3a1 !important;
}
.mocha pre .hljs-deletion {
background-color: #181825 !important;
color: #f38ba8 !important;
}
.mocha pre .hljs-comment,
.mocha pre .hljs-quote {
color: #585b70 !important;
}
.mocha pre .hljs-keyword,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-literal,
.mocha pre .hljs-title,
.mocha pre .hljs-section,
.mocha pre .hljs-doctag,
.mocha pre .hljs-type,
.mocha pre .hljs-name,
.mocha pre .hljs-strong {
font-weight: bold !important;
}
.mocha pre .hljs-literal,
.mocha pre .hljs-number {
color: #fab387 !important;
}
.mocha pre .hljs-emphasis {
font-style: italic !important;
}
.macchiato code,
.macchiato .hljs {
background: #1e2030;
}
.macchiato code .hljs-attr,
.macchiato code .hljs-string {
color: #a6da95;
}
.macchiato code .hljs-tag {
color: #ed8796;
}
.macchiato code .hljs-name {
color: #f0c6c6;
}
.macchiato pre .hljs {
background: #1e2030 !important;
}
.macchiato pre .hljs-params {
color: #ed8796 !important;
}
.macchiato pre .hljs-built_in,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-section,
.macchiato pre .hljs-link {
color: #7dc4e4 !important;
}
.macchiato pre .hljs-keyword {
color: #c6a0f6 !important;
}
.macchiato pre .hljs,
.macchiato pre .hljs-subst {
color: #a5adcb !important;
}
.macchiato pre .hljs-title {
color: #8aadf4 !important;
}
.macchiato pre .hljs-attr,
.macchiato pre .hljs-meta-keyword {
color: #a6da95 !important;
}
.macchiato pre .hljs-type {
color: #8aadf4 !important;
}
.macchiato pre .hljs-string {
color: #a6da95 !important;
}
.macchiato pre .hljs-tag {
color: #ed8796 !important;
}
.macchiato pre .hljs-meta,
.macchiato pre .hljs-name,
.macchiato pre .hljs-symbol,
.macchiato pre .hljs-bullet,
.macchiato pre .hljs-addition,
.macchiato pre .hljs-variable,
.macchiato pre .hljs-template-tag,
.macchiato pre .hljs-template-variable {
color: #f0c6c6 !important;
}
.macchiato pre .hljs-addition {
background-color: #1e2030 !important;
color: #a6da95 !important;
}
.macchiato pre .hljs-deletion {
background-color: #1e2030 !important;
color: #ed8796 !important;
}
.macchiato pre .hljs-comment,
.macchiato pre .hljs-quote {
color: #5b6078 !important;
}
.macchiato pre .hljs-keyword,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-literal,
.macchiato pre .hljs-title,
.macchiato pre .hljs-section,
.macchiato pre .hljs-doctag,
.macchiato pre .hljs-type,
.macchiato pre .hljs-name,
.macchiato pre .hljs-strong {
font-weight: bold !important;
}
.macchiato pre .hljs-literal,
.macchiato pre .hljs-number {
color: #f5a97f !important;
}
.macchiato pre .hljs-emphasis {
font-style: italic !important;
}
.frappe code,
.frappe .hljs {
background: #292c3c;
}
.frappe code .hljs-attr,
.frappe code .hljs-string {
color: #a6d189;
}
.frappe code .hljs-tag {
color: #e78284;
}
.frappe code .hljs-name {
color: #eebebe;
}
.frappe pre .hljs {
background: #292c3c !important;
}
.frappe pre .hljs-params {
color: #e78284 !important;
}
.frappe pre .hljs-built_in,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-section,
.frappe pre .hljs-link {
color: #85c1dc !important;
}
.frappe pre .hljs-keyword {
color: #ca9ee6 !important;
}
.frappe pre .hljs,
.frappe pre .hljs-subst {
color: #a5adce !important;
}
.frappe pre .hljs-title {
color: #8caaee !important;
}
.frappe pre .hljs-attr,
.frappe pre .hljs-meta-keyword {
color: #a6d189 !important;
}
.frappe pre .hljs-type {
color: #8caaee !important;
}
.frappe pre .hljs-string {
color: #a6d189 !important;
}
.frappe pre .hljs-tag {
color: #e78284 !important;
}
.frappe pre .hljs-meta,
.frappe pre .hljs-name,
.frappe pre .hljs-symbol,
.frappe pre .hljs-bullet,
.frappe pre .hljs-addition,
.frappe pre .hljs-variable,
.frappe pre .hljs-template-tag,
.frappe pre .hljs-template-variable {
color: #eebebe !important;
}
.frappe pre .hljs-addition {
background-color: #292c3c !important;
color: #a6d189 !important;
}
.frappe pre .hljs-deletion {
background-color: #292c3c !important;
color: #e78284 !important;
}
.frappe pre .hljs-comment,
.frappe pre .hljs-quote {
color: #626880 !important;
}
.frappe pre .hljs-keyword,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-literal,
.frappe pre .hljs-title,
.frappe pre .hljs-section,
.frappe pre .hljs-doctag,
.frappe pre .hljs-type,
.frappe pre .hljs-name,
.frappe pre .hljs-strong {
font-weight: bold !important;
}
.frappe pre .hljs-literal,
.frappe pre .hljs-number {
color: #ef9f76 !important;
}
.frappe pre .hljs-emphasis {
font-style: italic !important;
}
.latte code,
.latte .hljs {
background: #e6e9ef;
}
.latte code .hljs-attr,
.latte code .hljs-string {
color: #40a02b;
}
.latte code .hljs-tag {
color: #d20f39;
}
.latte code .hljs-name {
color: #dd7878;
}
.latte pre .hljs {
background: #e6e9ef !important;
}
.latte pre .hljs-params {
color: #d20f39 !important;
}
.latte pre .hljs-built_in,
.latte pre .hljs-selector-tag,
.latte pre .hljs-section,
.latte pre .hljs-link {
color: #209fb5 !important;
}
.latte pre .hljs-keyword {
color: #8839ef !important;
}
.latte pre .hljs,
.latte pre .hljs-subst {
color: #6c6f85 !important;
}
.latte pre .hljs-title {
color: #1e66f5 !important;
}
.latte pre .hljs-attr,
.latte pre .hljs-meta-keyword {
color: #40a02b !important;
}
.latte pre .hljs-type {
color: #1e66f5 !important;
}
.latte pre .hljs-string {
color: #40a02b !important;
}
.latte pre .hljs-tag {
color: #d20f39 !important;
}
.latte pre .hljs-meta,
.latte pre .hljs-name,
.latte pre .hljs-symbol,
.latte pre .hljs-bullet,
.latte pre .hljs-addition,
.latte pre .hljs-variable,
.latte pre .hljs-template-tag,
.latte pre .hljs-template-variable {
color: #dd7878 !important;
}
.latte pre .hljs-addition {
background-color: #e6e9ef !important;
color: #40a02b !important;
}
.latte pre .hljs-deletion {
background-color: #e6e9ef !important;
color: #d20f39 !important;
}
.latte pre .hljs-comment,
.latte pre .hljs-quote {
color: #acb0be !important;
}
.latte pre .hljs-keyword,
.latte pre .hljs-selector-tag,
.latte pre .hljs-literal,
.latte pre .hljs-title,
.latte pre .hljs-section,
.latte pre .hljs-doctag,
.latte pre .hljs-type,
.latte pre .hljs-name,
.latte pre .hljs-strong {
font-weight: bold !important;
}
.latte pre .hljs-literal,
.latte pre .hljs-number {
color: #fe640b !important;
}
.latte pre .hljs-emphasis {
font-style: italic !important;
}

View File

@ -0,0 +1,123 @@
.mocha {
--bg: #1e1e2e;
--fg: #cdd6f4;
--sidebar-bg: #181825;
--sidebar-fg: #cdd6f4;
--sidebar-non-existant: #6c7086;
--sidebar-active: #f5e0dc;
--sidebar-spacer: #6c7086;
--scrollbar: #6c7086;
--icons: #6c7086;
--icons-hover: #7f849c;
--links: #89b4fa;
--inline-code-color: #fab387;
--theme-popup-bg: #181825;
--theme-popup-border: #6c7086;
--theme-hover: #6c7086;
--quote-bg: #181825;
--quote-border: #11111b;
--table-border-color: #11111b;
--table-header-bg: #181825;
--table-alternate-bg: #11111b;
--searchbar-border-color: #11111b;
--searchbar-bg: #181825;
--searchbar-fg: #cdd6f4;
--searchbar-shadow-color: #11111b;
--searchresults-header-fg: #cdd6f4;
--searchresults-border-color: #11111b;
--searchresults-li-bg: #1e1e2e;
--search-mark-bg: #fab387;
}
.macchiato {
--bg: #24273a;
--fg: #cad3f5;
--sidebar-bg: #1e2030;
--sidebar-fg: #cad3f5;
--sidebar-non-existant: #6e738d;
--sidebar-active: #f4dbd6;
--sidebar-spacer: #6e738d;
--scrollbar: #6e738d;
--icons: #6e738d;
--icons-hover: #8087a2;
--links: #8aadf4;
--inline-code-color: #f5a97f;
--theme-popup-bg: #1e2030;
--theme-popup-border: #6e738d;
--theme-hover: #6e738d;
--quote-bg: #1e2030;
--quote-border: #181926;
--table-border-color: #181926;
--table-header-bg: #1e2030;
--table-alternate-bg: #181926;
--searchbar-border-color: #181926;
--searchbar-bg: #1e2030;
--searchbar-fg: #cad3f5;
--searchbar-shadow-color: #181926;
--searchresults-header-fg: #cad3f5;
--searchresults-border-color: #181926;
--searchresults-li-bg: #24273a;
--search-mark-bg: #f5a97f;
}
.frappe {
--bg: #303446;
--fg: #c6d0f5;
--sidebar-bg: #292c3c;
--sidebar-fg: #c6d0f5;
--sidebar-non-existant: #737994;
--sidebar-active: #f2d5cf;
--sidebar-spacer: #737994;
--scrollbar: #737994;
--icons: #737994;
--icons-hover: #838ba7;
--links: #8caaee;
--inline-code-color: #ef9f76;
--theme-popup-bg: #292c3c;
--theme-popup-border: #737994;
--theme-hover: #737994;
--quote-bg: #292c3c;
--quote-border: #232634;
--table-border-color: #232634;
--table-header-bg: #292c3c;
--table-alternate-bg: #232634;
--searchbar-border-color: #232634;
--searchbar-bg: #292c3c;
--searchbar-fg: #c6d0f5;
--searchbar-shadow-color: #232634;
--searchresults-header-fg: #c6d0f5;
--searchresults-border-color: #232634;
--searchresults-li-bg: #303446;
--search-mark-bg: #ef9f76;
}
.latte {
--bg: #eff1f5;
--fg: #4c4f69;
--sidebar-bg: #e6e9ef;
--sidebar-fg: #4c4f69;
--sidebar-non-existant: #9ca0b0;
--sidebar-active: #dc8a78;
--sidebar-spacer: #9ca0b0;
--scrollbar: #9ca0b0;
--icons: #9ca0b0;
--icons-hover: #8c8fa1;
--links: #1e66f5;
--inline-code-color: #fe640b;
--theme-popup-bg: #e6e9ef;
--theme-popup-border: #9ca0b0;
--theme-hover: #9ca0b0;
--quote-bg: #e6e9ef;
--quote-border: #dce0e8;
--table-border-color: #dce0e8;
--table-header-bg: #e6e9ef;
--table-alternate-bg: #dce0e8;
--searchbar-border-color: #dce0e8;
--searchbar-bg: #e6e9ef;
--searchbar-fg: #4c4f69;
--searchbar-shadow-color: #dce0e8;
--searchresults-header-fg: #4c4f69;
--searchresults-border-color: #dce0e8;
--searchresults-li-bg: #eff1f5;
--search-mark-bg: #fe640b;
}

318
zsh_guide/theme/index.hbs Normal file
View File

@ -0,0 +1,318 @@
<!DOCTYPE HTML>
<html lang="{{ language }}" class="sidebar-visible no-js {{ default_theme }}">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>{{ title }}</title>
{{#if is_print }}
<meta name="robots" content="noindex" />
{{/if}}
{{#if base_url}}
<base href="{{ base_url }}">
{{/if}}
<!-- Custom HTML head -->
{{> head}}
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="{{ description }}">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" />
{{#if favicon_svg}}
<link rel="icon" href="{{ path_to_root }}favicon.svg">
{{/if}}
{{#if favicon_png}}
<link rel="shortcut icon" href="{{ path_to_root }}favicon.png">
{{/if}}
<link rel="stylesheet" href="{{ path_to_root }}css/variables.css">
<link rel="stylesheet" href="{{ path_to_root }}css/general.css">
<link rel="stylesheet" href="{{ path_to_root }}css/chrome.css">
{{#if print_enable}}
<link rel="stylesheet" href="{{ path_to_root }}css/print.css" media="print">
{{/if}}
<!-- Fonts -->
<link rel="stylesheet" href="{{ path_to_root }}FontAwesome/css/font-awesome.css">
{{#if copy_fonts}}
<link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
{{/if}}
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="{{ path_to_root }}highlight.css">
<link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css">
<link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css">
<!-- Custom theme stylesheets -->
{{#each additional_css}}
<link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}">
{{/each}}
{{#if mathjax_support}}
<!-- MathJax -->
<script async type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
{{/if}}
</head>
<body>
<!-- Provide site root to javascript -->
<script type="text/javascript">
var path_to_root = "{{ path_to_root }}";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script type="text/javascript">
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script type="text/javascript">
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('{{ default_theme }}')
html.classList.add(theme);
html.classList.add('js');
</script>
<!-- Hide / unhide sidebar before it is displayed -->
<script type="text/javascript">
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
{{#toc}}{{/toc}}
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
{{> header}}
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</button>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">{{ theme_option "Light" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">{{ theme_option "Rust" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">{{ theme_option "Coal" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">{{ theme_option "Navy" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">{{ theme_option "Ayu" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">{{ theme_option "Latte" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">{{ theme_option "Frappé" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">{{ theme_option "Macchiato" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">{{ theme_option "Mocha" }}</button></li>
</ul>
{{#if search_enabled}}
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
{{/if}}
</div>
<h1 class="menu-title">{{ book_title }}</h1>
<div class="right-buttons">
{{#if print_enable}}
<a href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
{{/if}}
{{#if git_repository_url}}
<a href="{{git_repository_url}}" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa {{git_repository_icon}}"></i>
</a>
{{/if}}
{{#if git_repository_edit_url}}
<a href="{{git_repository_edit_url}}" title="Suggest an edit" aria-label="Suggest an edit">
<i id="git-edit-button" class="fa fa-edit"></i>
</a>
{{/if}}
</div>
</div>
{{#if search_enabled}}
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
{{/if}}
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
{{{ content }}}
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
{{#previous}}
<a rel="prev" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
{{/previous}}
{{#next}}
<a rel="next" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
{{/next}}
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
{{#previous}}
<a rel="prev" href="{{ path_to_root }}{{link}}" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
{{/previous}}
{{#next}}
<a rel="next" href="{{ path_to_root }}{{link}}" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
{{/next}}
</nav>
</div>
{{#if live_reload_endpoint}}
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "{{{live_reload_endpoint}}}";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
{{/if}}
{{#if google_analytics}}
<!-- Google Analytics Tag -->
<script type="text/javascript">
var localAddrs = ["localhost", "127.0.0.1", ""];
// make sure we don't activate google analytics if the developer is
// inspecting the book locally...
if (localAddrs.indexOf(document.location.hostname) === -1) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{google_analytics}}', 'auto');
ga('send', 'pageview');
}
</script>
{{/if}}
{{#if playground_line_numbers}}
<script type="text/javascript">
window.playground_line_numbers = true;
</script>
{{/if}}
{{#if playground_copyable}}
<script type="text/javascript">
window.playground_copyable = true;
</script>
{{/if}}
{{#if playground_js}}
<script src="{{ path_to_root }}ace.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}editor.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}mode-rust.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}theme-dawn.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}theme-tomorrow_night.js" type="text/javascript" charset="utf-8"></script>
{{/if}}
{{#if search_js}}
<script src="{{ path_to_root }}elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}searcher.js" type="text/javascript" charset="utf-8"></script>
{{/if}}
<script src="{{ path_to_root }}clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}book.js" type="text/javascript" charset="utf-8"></script>
<!-- Custom JS scripts -->
{{#each additional_js}}
<script type="text/javascript" src="{{ ../path_to_root }}{{this}}"></script>
{{/each}}
{{#if is_print}}
{{#if mathjax_support}}
<script type="text/javascript">
window.addEventListener('load', function() {
MathJax.Hub.Register.StartupHook('End', function() {
window.setTimeout(window.print, 100);
});
});
</script>
{{else}}
<script type="text/javascript">
window.addEventListener('load', function() {
window.setTimeout(window.print, 100);
});
</script>
{{/if}}
{{/if}}
</body>
</html>

View File

@ -4,3 +4,13 @@ language = "en"
multilingual = false multilingual = false
src = "src" src = "src"
title = "Zsh Manual" title = "Zsh Manual"
[preprocessor]
[preprocessor.catppuccin]
assets_version = "0.1.1" # DO NOT EDIT: Managed by `mdbook-catppuccin install`
[output]
[output.html]
additional-css = ["./theme/catppuccin.css", "./theme/catppuccin-highlight.css"]

View File

@ -31,6 +31,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -105,6 +107,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -163,6 +169,22 @@
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -444,6 +450,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -959,6 +965,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -216,6 +222,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -4714,6 +4720,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -733,6 +739,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -1109,6 +1115,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -369,6 +375,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -2666,6 +2672,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -255,6 +261,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -551,6 +557,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -292,6 +298,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -386,6 +392,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -305,6 +311,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -2560,6 +2566,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -1702,6 +1708,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -518,6 +524,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -494,6 +500,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -359,6 +365,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -2608,6 +2614,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -758,6 +764,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -864,6 +870,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -210,6 +216,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -4374,6 +4380,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -769,6 +775,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -2494,6 +2500,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -3632,6 +3638,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -30,6 +30,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -104,6 +106,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -210,6 +216,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -31,6 +31,8 @@
<link rel="stylesheet" href="ayu-highlight.css"> <link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets --> <!-- Custom theme stylesheets -->
<link rel="stylesheet" href="./theme/catppuccin.css">
<link rel="stylesheet" href="./theme/catppuccin-highlight.css">
</head> </head>
<body> <body>
@ -105,6 +107,10 @@
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">Latte</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">Frappé</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">Macchiato</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">Mocha</button></li>
</ul> </ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
@ -30042,6 +30048,22 @@ Zsh version 5.9, released on May 14, 2022.</p>
</div> </div>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>

View File

@ -0,0 +1,359 @@
.mocha code,
.mocha .hljs {
background: #181825;
}
.mocha code .hljs-attr,
.mocha code .hljs-string {
color: #a6e3a1;
}
.mocha code .hljs-tag {
color: #f38ba8;
}
.mocha code .hljs-name {
color: #f2cdcd;
}
.mocha pre .hljs {
background: #181825 !important;
}
.mocha pre .hljs-params {
color: #f38ba8 !important;
}
.mocha pre .hljs-built_in,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-section,
.mocha pre .hljs-link {
color: #74c7ec !important;
}
.mocha pre .hljs-keyword {
color: #cba6f7 !important;
}
.mocha pre .hljs,
.mocha pre .hljs-subst {
color: #a6adc8 !important;
}
.mocha pre .hljs-title {
color: #89b4fa !important;
}
.mocha pre .hljs-attr,
.mocha pre .hljs-meta-keyword {
color: #a6e3a1 !important;
}
.mocha pre .hljs-type {
color: #89b4fa !important;
}
.mocha pre .hljs-string {
color: #a6e3a1 !important;
}
.mocha pre .hljs-tag {
color: #f38ba8 !important;
}
.mocha pre .hljs-meta,
.mocha pre .hljs-name,
.mocha pre .hljs-symbol,
.mocha pre .hljs-bullet,
.mocha pre .hljs-addition,
.mocha pre .hljs-variable,
.mocha pre .hljs-template-tag,
.mocha pre .hljs-template-variable {
color: #f2cdcd !important;
}
.mocha pre .hljs-addition {
background-color: #181825 !important;
color: #a6e3a1 !important;
}
.mocha pre .hljs-deletion {
background-color: #181825 !important;
color: #f38ba8 !important;
}
.mocha pre .hljs-comment,
.mocha pre .hljs-quote {
color: #585b70 !important;
}
.mocha pre .hljs-keyword,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-literal,
.mocha pre .hljs-title,
.mocha pre .hljs-section,
.mocha pre .hljs-doctag,
.mocha pre .hljs-type,
.mocha pre .hljs-name,
.mocha pre .hljs-strong {
font-weight: bold !important;
}
.mocha pre .hljs-literal,
.mocha pre .hljs-number {
color: #fab387 !important;
}
.mocha pre .hljs-emphasis {
font-style: italic !important;
}
.macchiato code,
.macchiato .hljs {
background: #1e2030;
}
.macchiato code .hljs-attr,
.macchiato code .hljs-string {
color: #a6da95;
}
.macchiato code .hljs-tag {
color: #ed8796;
}
.macchiato code .hljs-name {
color: #f0c6c6;
}
.macchiato pre .hljs {
background: #1e2030 !important;
}
.macchiato pre .hljs-params {
color: #ed8796 !important;
}
.macchiato pre .hljs-built_in,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-section,
.macchiato pre .hljs-link {
color: #7dc4e4 !important;
}
.macchiato pre .hljs-keyword {
color: #c6a0f6 !important;
}
.macchiato pre .hljs,
.macchiato pre .hljs-subst {
color: #a5adcb !important;
}
.macchiato pre .hljs-title {
color: #8aadf4 !important;
}
.macchiato pre .hljs-attr,
.macchiato pre .hljs-meta-keyword {
color: #a6da95 !important;
}
.macchiato pre .hljs-type {
color: #8aadf4 !important;
}
.macchiato pre .hljs-string {
color: #a6da95 !important;
}
.macchiato pre .hljs-tag {
color: #ed8796 !important;
}
.macchiato pre .hljs-meta,
.macchiato pre .hljs-name,
.macchiato pre .hljs-symbol,
.macchiato pre .hljs-bullet,
.macchiato pre .hljs-addition,
.macchiato pre .hljs-variable,
.macchiato pre .hljs-template-tag,
.macchiato pre .hljs-template-variable {
color: #f0c6c6 !important;
}
.macchiato pre .hljs-addition {
background-color: #1e2030 !important;
color: #a6da95 !important;
}
.macchiato pre .hljs-deletion {
background-color: #1e2030 !important;
color: #ed8796 !important;
}
.macchiato pre .hljs-comment,
.macchiato pre .hljs-quote {
color: #5b6078 !important;
}
.macchiato pre .hljs-keyword,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-literal,
.macchiato pre .hljs-title,
.macchiato pre .hljs-section,
.macchiato pre .hljs-doctag,
.macchiato pre .hljs-type,
.macchiato pre .hljs-name,
.macchiato pre .hljs-strong {
font-weight: bold !important;
}
.macchiato pre .hljs-literal,
.macchiato pre .hljs-number {
color: #f5a97f !important;
}
.macchiato pre .hljs-emphasis {
font-style: italic !important;
}
.frappe code,
.frappe .hljs {
background: #292c3c;
}
.frappe code .hljs-attr,
.frappe code .hljs-string {
color: #a6d189;
}
.frappe code .hljs-tag {
color: #e78284;
}
.frappe code .hljs-name {
color: #eebebe;
}
.frappe pre .hljs {
background: #292c3c !important;
}
.frappe pre .hljs-params {
color: #e78284 !important;
}
.frappe pre .hljs-built_in,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-section,
.frappe pre .hljs-link {
color: #85c1dc !important;
}
.frappe pre .hljs-keyword {
color: #ca9ee6 !important;
}
.frappe pre .hljs,
.frappe pre .hljs-subst {
color: #a5adce !important;
}
.frappe pre .hljs-title {
color: #8caaee !important;
}
.frappe pre .hljs-attr,
.frappe pre .hljs-meta-keyword {
color: #a6d189 !important;
}
.frappe pre .hljs-type {
color: #8caaee !important;
}
.frappe pre .hljs-string {
color: #a6d189 !important;
}
.frappe pre .hljs-tag {
color: #e78284 !important;
}
.frappe pre .hljs-meta,
.frappe pre .hljs-name,
.frappe pre .hljs-symbol,
.frappe pre .hljs-bullet,
.frappe pre .hljs-addition,
.frappe pre .hljs-variable,
.frappe pre .hljs-template-tag,
.frappe pre .hljs-template-variable {
color: #eebebe !important;
}
.frappe pre .hljs-addition {
background-color: #292c3c !important;
color: #a6d189 !important;
}
.frappe pre .hljs-deletion {
background-color: #292c3c !important;
color: #e78284 !important;
}
.frappe pre .hljs-comment,
.frappe pre .hljs-quote {
color: #626880 !important;
}
.frappe pre .hljs-keyword,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-literal,
.frappe pre .hljs-title,
.frappe pre .hljs-section,
.frappe pre .hljs-doctag,
.frappe pre .hljs-type,
.frappe pre .hljs-name,
.frappe pre .hljs-strong {
font-weight: bold !important;
}
.frappe pre .hljs-literal,
.frappe pre .hljs-number {
color: #ef9f76 !important;
}
.frappe pre .hljs-emphasis {
font-style: italic !important;
}
.latte code,
.latte .hljs {
background: #e6e9ef;
}
.latte code .hljs-attr,
.latte code .hljs-string {
color: #40a02b;
}
.latte code .hljs-tag {
color: #d20f39;
}
.latte code .hljs-name {
color: #dd7878;
}
.latte pre .hljs {
background: #e6e9ef !important;
}
.latte pre .hljs-params {
color: #d20f39 !important;
}
.latte pre .hljs-built_in,
.latte pre .hljs-selector-tag,
.latte pre .hljs-section,
.latte pre .hljs-link {
color: #209fb5 !important;
}
.latte pre .hljs-keyword {
color: #8839ef !important;
}
.latte pre .hljs,
.latte pre .hljs-subst {
color: #6c6f85 !important;
}
.latte pre .hljs-title {
color: #1e66f5 !important;
}
.latte pre .hljs-attr,
.latte pre .hljs-meta-keyword {
color: #40a02b !important;
}
.latte pre .hljs-type {
color: #1e66f5 !important;
}
.latte pre .hljs-string {
color: #40a02b !important;
}
.latte pre .hljs-tag {
color: #d20f39 !important;
}
.latte pre .hljs-meta,
.latte pre .hljs-name,
.latte pre .hljs-symbol,
.latte pre .hljs-bullet,
.latte pre .hljs-addition,
.latte pre .hljs-variable,
.latte pre .hljs-template-tag,
.latte pre .hljs-template-variable {
color: #dd7878 !important;
}
.latte pre .hljs-addition {
background-color: #e6e9ef !important;
color: #40a02b !important;
}
.latte pre .hljs-deletion {
background-color: #e6e9ef !important;
color: #d20f39 !important;
}
.latte pre .hljs-comment,
.latte pre .hljs-quote {
color: #acb0be !important;
}
.latte pre .hljs-keyword,
.latte pre .hljs-selector-tag,
.latte pre .hljs-literal,
.latte pre .hljs-title,
.latte pre .hljs-section,
.latte pre .hljs-doctag,
.latte pre .hljs-type,
.latte pre .hljs-name,
.latte pre .hljs-strong {
font-weight: bold !important;
}
.latte pre .hljs-literal,
.latte pre .hljs-number {
color: #fe640b !important;
}
.latte pre .hljs-emphasis {
font-style: italic !important;
}

View File

@ -0,0 +1,123 @@
.mocha {
--bg: #1e1e2e;
--fg: #cdd6f4;
--sidebar-bg: #181825;
--sidebar-fg: #cdd6f4;
--sidebar-non-existant: #6c7086;
--sidebar-active: #f5e0dc;
--sidebar-spacer: #6c7086;
--scrollbar: #6c7086;
--icons: #6c7086;
--icons-hover: #7f849c;
--links: #89b4fa;
--inline-code-color: #fab387;
--theme-popup-bg: #181825;
--theme-popup-border: #6c7086;
--theme-hover: #6c7086;
--quote-bg: #181825;
--quote-border: #11111b;
--table-border-color: #11111b;
--table-header-bg: #181825;
--table-alternate-bg: #11111b;
--searchbar-border-color: #11111b;
--searchbar-bg: #181825;
--searchbar-fg: #cdd6f4;
--searchbar-shadow-color: #11111b;
--searchresults-header-fg: #cdd6f4;
--searchresults-border-color: #11111b;
--searchresults-li-bg: #1e1e2e;
--search-mark-bg: #fab387;
}
.macchiato {
--bg: #24273a;
--fg: #cad3f5;
--sidebar-bg: #1e2030;
--sidebar-fg: #cad3f5;
--sidebar-non-existant: #6e738d;
--sidebar-active: #f4dbd6;
--sidebar-spacer: #6e738d;
--scrollbar: #6e738d;
--icons: #6e738d;
--icons-hover: #8087a2;
--links: #8aadf4;
--inline-code-color: #f5a97f;
--theme-popup-bg: #1e2030;
--theme-popup-border: #6e738d;
--theme-hover: #6e738d;
--quote-bg: #1e2030;
--quote-border: #181926;
--table-border-color: #181926;
--table-header-bg: #1e2030;
--table-alternate-bg: #181926;
--searchbar-border-color: #181926;
--searchbar-bg: #1e2030;
--searchbar-fg: #cad3f5;
--searchbar-shadow-color: #181926;
--searchresults-header-fg: #cad3f5;
--searchresults-border-color: #181926;
--searchresults-li-bg: #24273a;
--search-mark-bg: #f5a97f;
}
.frappe {
--bg: #303446;
--fg: #c6d0f5;
--sidebar-bg: #292c3c;
--sidebar-fg: #c6d0f5;
--sidebar-non-existant: #737994;
--sidebar-active: #f2d5cf;
--sidebar-spacer: #737994;
--scrollbar: #737994;
--icons: #737994;
--icons-hover: #838ba7;
--links: #8caaee;
--inline-code-color: #ef9f76;
--theme-popup-bg: #292c3c;
--theme-popup-border: #737994;
--theme-hover: #737994;
--quote-bg: #292c3c;
--quote-border: #232634;
--table-border-color: #232634;
--table-header-bg: #292c3c;
--table-alternate-bg: #232634;
--searchbar-border-color: #232634;
--searchbar-bg: #292c3c;
--searchbar-fg: #c6d0f5;
--searchbar-shadow-color: #232634;
--searchresults-header-fg: #c6d0f5;
--searchresults-border-color: #232634;
--searchresults-li-bg: #303446;
--search-mark-bg: #ef9f76;
}
.latte {
--bg: #eff1f5;
--fg: #4c4f69;
--sidebar-bg: #e6e9ef;
--sidebar-fg: #4c4f69;
--sidebar-non-existant: #9ca0b0;
--sidebar-active: #dc8a78;
--sidebar-spacer: #9ca0b0;
--scrollbar: #9ca0b0;
--icons: #9ca0b0;
--icons-hover: #8c8fa1;
--links: #1e66f5;
--inline-code-color: #fe640b;
--theme-popup-bg: #e6e9ef;
--theme-popup-border: #9ca0b0;
--theme-hover: #9ca0b0;
--quote-bg: #e6e9ef;
--quote-border: #dce0e8;
--table-border-color: #dce0e8;
--table-header-bg: #e6e9ef;
--table-alternate-bg: #dce0e8;
--searchbar-border-color: #dce0e8;
--searchbar-bg: #e6e9ef;
--searchbar-fg: #4c4f69;
--searchbar-shadow-color: #dce0e8;
--searchresults-header-fg: #4c4f69;
--searchresults-border-color: #dce0e8;
--searchresults-li-bg: #eff1f5;
--search-mark-bg: #fe640b;
}

View File

@ -0,0 +1,359 @@
.mocha code,
.mocha .hljs {
background: #181825;
}
.mocha code .hljs-attr,
.mocha code .hljs-string {
color: #a6e3a1;
}
.mocha code .hljs-tag {
color: #f38ba8;
}
.mocha code .hljs-name {
color: #f2cdcd;
}
.mocha pre .hljs {
background: #181825 !important;
}
.mocha pre .hljs-params {
color: #f38ba8 !important;
}
.mocha pre .hljs-built_in,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-section,
.mocha pre .hljs-link {
color: #74c7ec !important;
}
.mocha pre .hljs-keyword {
color: #cba6f7 !important;
}
.mocha pre .hljs,
.mocha pre .hljs-subst {
color: #a6adc8 !important;
}
.mocha pre .hljs-title {
color: #89b4fa !important;
}
.mocha pre .hljs-attr,
.mocha pre .hljs-meta-keyword {
color: #a6e3a1 !important;
}
.mocha pre .hljs-type {
color: #89b4fa !important;
}
.mocha pre .hljs-string {
color: #a6e3a1 !important;
}
.mocha pre .hljs-tag {
color: #f38ba8 !important;
}
.mocha pre .hljs-meta,
.mocha pre .hljs-name,
.mocha pre .hljs-symbol,
.mocha pre .hljs-bullet,
.mocha pre .hljs-addition,
.mocha pre .hljs-variable,
.mocha pre .hljs-template-tag,
.mocha pre .hljs-template-variable {
color: #f2cdcd !important;
}
.mocha pre .hljs-addition {
background-color: #181825 !important;
color: #a6e3a1 !important;
}
.mocha pre .hljs-deletion {
background-color: #181825 !important;
color: #f38ba8 !important;
}
.mocha pre .hljs-comment,
.mocha pre .hljs-quote {
color: #585b70 !important;
}
.mocha pre .hljs-keyword,
.mocha pre .hljs-selector-tag,
.mocha pre .hljs-literal,
.mocha pre .hljs-title,
.mocha pre .hljs-section,
.mocha pre .hljs-doctag,
.mocha pre .hljs-type,
.mocha pre .hljs-name,
.mocha pre .hljs-strong {
font-weight: bold !important;
}
.mocha pre .hljs-literal,
.mocha pre .hljs-number {
color: #fab387 !important;
}
.mocha pre .hljs-emphasis {
font-style: italic !important;
}
.macchiato code,
.macchiato .hljs {
background: #1e2030;
}
.macchiato code .hljs-attr,
.macchiato code .hljs-string {
color: #a6da95;
}
.macchiato code .hljs-tag {
color: #ed8796;
}
.macchiato code .hljs-name {
color: #f0c6c6;
}
.macchiato pre .hljs {
background: #1e2030 !important;
}
.macchiato pre .hljs-params {
color: #ed8796 !important;
}
.macchiato pre .hljs-built_in,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-section,
.macchiato pre .hljs-link {
color: #7dc4e4 !important;
}
.macchiato pre .hljs-keyword {
color: #c6a0f6 !important;
}
.macchiato pre .hljs,
.macchiato pre .hljs-subst {
color: #a5adcb !important;
}
.macchiato pre .hljs-title {
color: #8aadf4 !important;
}
.macchiato pre .hljs-attr,
.macchiato pre .hljs-meta-keyword {
color: #a6da95 !important;
}
.macchiato pre .hljs-type {
color: #8aadf4 !important;
}
.macchiato pre .hljs-string {
color: #a6da95 !important;
}
.macchiato pre .hljs-tag {
color: #ed8796 !important;
}
.macchiato pre .hljs-meta,
.macchiato pre .hljs-name,
.macchiato pre .hljs-symbol,
.macchiato pre .hljs-bullet,
.macchiato pre .hljs-addition,
.macchiato pre .hljs-variable,
.macchiato pre .hljs-template-tag,
.macchiato pre .hljs-template-variable {
color: #f0c6c6 !important;
}
.macchiato pre .hljs-addition {
background-color: #1e2030 !important;
color: #a6da95 !important;
}
.macchiato pre .hljs-deletion {
background-color: #1e2030 !important;
color: #ed8796 !important;
}
.macchiato pre .hljs-comment,
.macchiato pre .hljs-quote {
color: #5b6078 !important;
}
.macchiato pre .hljs-keyword,
.macchiato pre .hljs-selector-tag,
.macchiato pre .hljs-literal,
.macchiato pre .hljs-title,
.macchiato pre .hljs-section,
.macchiato pre .hljs-doctag,
.macchiato pre .hljs-type,
.macchiato pre .hljs-name,
.macchiato pre .hljs-strong {
font-weight: bold !important;
}
.macchiato pre .hljs-literal,
.macchiato pre .hljs-number {
color: #f5a97f !important;
}
.macchiato pre .hljs-emphasis {
font-style: italic !important;
}
.frappe code,
.frappe .hljs {
background: #292c3c;
}
.frappe code .hljs-attr,
.frappe code .hljs-string {
color: #a6d189;
}
.frappe code .hljs-tag {
color: #e78284;
}
.frappe code .hljs-name {
color: #eebebe;
}
.frappe pre .hljs {
background: #292c3c !important;
}
.frappe pre .hljs-params {
color: #e78284 !important;
}
.frappe pre .hljs-built_in,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-section,
.frappe pre .hljs-link {
color: #85c1dc !important;
}
.frappe pre .hljs-keyword {
color: #ca9ee6 !important;
}
.frappe pre .hljs,
.frappe pre .hljs-subst {
color: #a5adce !important;
}
.frappe pre .hljs-title {
color: #8caaee !important;
}
.frappe pre .hljs-attr,
.frappe pre .hljs-meta-keyword {
color: #a6d189 !important;
}
.frappe pre .hljs-type {
color: #8caaee !important;
}
.frappe pre .hljs-string {
color: #a6d189 !important;
}
.frappe pre .hljs-tag {
color: #e78284 !important;
}
.frappe pre .hljs-meta,
.frappe pre .hljs-name,
.frappe pre .hljs-symbol,
.frappe pre .hljs-bullet,
.frappe pre .hljs-addition,
.frappe pre .hljs-variable,
.frappe pre .hljs-template-tag,
.frappe pre .hljs-template-variable {
color: #eebebe !important;
}
.frappe pre .hljs-addition {
background-color: #292c3c !important;
color: #a6d189 !important;
}
.frappe pre .hljs-deletion {
background-color: #292c3c !important;
color: #e78284 !important;
}
.frappe pre .hljs-comment,
.frappe pre .hljs-quote {
color: #626880 !important;
}
.frappe pre .hljs-keyword,
.frappe pre .hljs-selector-tag,
.frappe pre .hljs-literal,
.frappe pre .hljs-title,
.frappe pre .hljs-section,
.frappe pre .hljs-doctag,
.frappe pre .hljs-type,
.frappe pre .hljs-name,
.frappe pre .hljs-strong {
font-weight: bold !important;
}
.frappe pre .hljs-literal,
.frappe pre .hljs-number {
color: #ef9f76 !important;
}
.frappe pre .hljs-emphasis {
font-style: italic !important;
}
.latte code,
.latte .hljs {
background: #e6e9ef;
}
.latte code .hljs-attr,
.latte code .hljs-string {
color: #40a02b;
}
.latte code .hljs-tag {
color: #d20f39;
}
.latte code .hljs-name {
color: #dd7878;
}
.latte pre .hljs {
background: #e6e9ef !important;
}
.latte pre .hljs-params {
color: #d20f39 !important;
}
.latte pre .hljs-built_in,
.latte pre .hljs-selector-tag,
.latte pre .hljs-section,
.latte pre .hljs-link {
color: #209fb5 !important;
}
.latte pre .hljs-keyword {
color: #8839ef !important;
}
.latte pre .hljs,
.latte pre .hljs-subst {
color: #6c6f85 !important;
}
.latte pre .hljs-title {
color: #1e66f5 !important;
}
.latte pre .hljs-attr,
.latte pre .hljs-meta-keyword {
color: #40a02b !important;
}
.latte pre .hljs-type {
color: #1e66f5 !important;
}
.latte pre .hljs-string {
color: #40a02b !important;
}
.latte pre .hljs-tag {
color: #d20f39 !important;
}
.latte pre .hljs-meta,
.latte pre .hljs-name,
.latte pre .hljs-symbol,
.latte pre .hljs-bullet,
.latte pre .hljs-addition,
.latte pre .hljs-variable,
.latte pre .hljs-template-tag,
.latte pre .hljs-template-variable {
color: #dd7878 !important;
}
.latte pre .hljs-addition {
background-color: #e6e9ef !important;
color: #40a02b !important;
}
.latte pre .hljs-deletion {
background-color: #e6e9ef !important;
color: #d20f39 !important;
}
.latte pre .hljs-comment,
.latte pre .hljs-quote {
color: #acb0be !important;
}
.latte pre .hljs-keyword,
.latte pre .hljs-selector-tag,
.latte pre .hljs-literal,
.latte pre .hljs-title,
.latte pre .hljs-section,
.latte pre .hljs-doctag,
.latte pre .hljs-type,
.latte pre .hljs-name,
.latte pre .hljs-strong {
font-weight: bold !important;
}
.latte pre .hljs-literal,
.latte pre .hljs-number {
color: #fe640b !important;
}
.latte pre .hljs-emphasis {
font-style: italic !important;
}

View File

@ -0,0 +1,123 @@
.mocha {
--bg: #1e1e2e;
--fg: #cdd6f4;
--sidebar-bg: #181825;
--sidebar-fg: #cdd6f4;
--sidebar-non-existant: #6c7086;
--sidebar-active: #f5e0dc;
--sidebar-spacer: #6c7086;
--scrollbar: #6c7086;
--icons: #6c7086;
--icons-hover: #7f849c;
--links: #89b4fa;
--inline-code-color: #fab387;
--theme-popup-bg: #181825;
--theme-popup-border: #6c7086;
--theme-hover: #6c7086;
--quote-bg: #181825;
--quote-border: #11111b;
--table-border-color: #11111b;
--table-header-bg: #181825;
--table-alternate-bg: #11111b;
--searchbar-border-color: #11111b;
--searchbar-bg: #181825;
--searchbar-fg: #cdd6f4;
--searchbar-shadow-color: #11111b;
--searchresults-header-fg: #cdd6f4;
--searchresults-border-color: #11111b;
--searchresults-li-bg: #1e1e2e;
--search-mark-bg: #fab387;
}
.macchiato {
--bg: #24273a;
--fg: #cad3f5;
--sidebar-bg: #1e2030;
--sidebar-fg: #cad3f5;
--sidebar-non-existant: #6e738d;
--sidebar-active: #f4dbd6;
--sidebar-spacer: #6e738d;
--scrollbar: #6e738d;
--icons: #6e738d;
--icons-hover: #8087a2;
--links: #8aadf4;
--inline-code-color: #f5a97f;
--theme-popup-bg: #1e2030;
--theme-popup-border: #6e738d;
--theme-hover: #6e738d;
--quote-bg: #1e2030;
--quote-border: #181926;
--table-border-color: #181926;
--table-header-bg: #1e2030;
--table-alternate-bg: #181926;
--searchbar-border-color: #181926;
--searchbar-bg: #1e2030;
--searchbar-fg: #cad3f5;
--searchbar-shadow-color: #181926;
--searchresults-header-fg: #cad3f5;
--searchresults-border-color: #181926;
--searchresults-li-bg: #24273a;
--search-mark-bg: #f5a97f;
}
.frappe {
--bg: #303446;
--fg: #c6d0f5;
--sidebar-bg: #292c3c;
--sidebar-fg: #c6d0f5;
--sidebar-non-existant: #737994;
--sidebar-active: #f2d5cf;
--sidebar-spacer: #737994;
--scrollbar: #737994;
--icons: #737994;
--icons-hover: #838ba7;
--links: #8caaee;
--inline-code-color: #ef9f76;
--theme-popup-bg: #292c3c;
--theme-popup-border: #737994;
--theme-hover: #737994;
--quote-bg: #292c3c;
--quote-border: #232634;
--table-border-color: #232634;
--table-header-bg: #292c3c;
--table-alternate-bg: #232634;
--searchbar-border-color: #232634;
--searchbar-bg: #292c3c;
--searchbar-fg: #c6d0f5;
--searchbar-shadow-color: #232634;
--searchresults-header-fg: #c6d0f5;
--searchresults-border-color: #232634;
--searchresults-li-bg: #303446;
--search-mark-bg: #ef9f76;
}
.latte {
--bg: #eff1f5;
--fg: #4c4f69;
--sidebar-bg: #e6e9ef;
--sidebar-fg: #4c4f69;
--sidebar-non-existant: #9ca0b0;
--sidebar-active: #dc8a78;
--sidebar-spacer: #9ca0b0;
--scrollbar: #9ca0b0;
--icons: #9ca0b0;
--icons-hover: #8c8fa1;
--links: #1e66f5;
--inline-code-color: #fe640b;
--theme-popup-bg: #e6e9ef;
--theme-popup-border: #9ca0b0;
--theme-hover: #9ca0b0;
--quote-bg: #e6e9ef;
--quote-border: #dce0e8;
--table-border-color: #dce0e8;
--table-header-bg: #e6e9ef;
--table-alternate-bg: #dce0e8;
--searchbar-border-color: #dce0e8;
--searchbar-bg: #e6e9ef;
--searchbar-fg: #4c4f69;
--searchbar-shadow-color: #dce0e8;
--searchresults-header-fg: #4c4f69;
--searchresults-border-color: #dce0e8;
--searchresults-li-bg: #eff1f5;
--search-mark-bg: #fe640b;
}

318
zsh_manual/theme/index.hbs Normal file
View File

@ -0,0 +1,318 @@
<!DOCTYPE HTML>
<html lang="{{ language }}" class="sidebar-visible no-js {{ default_theme }}">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>{{ title }}</title>
{{#if is_print }}
<meta name="robots" content="noindex" />
{{/if}}
{{#if base_url}}
<base href="{{ base_url }}">
{{/if}}
<!-- Custom HTML head -->
{{> head}}
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="{{ description }}">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" />
{{#if favicon_svg}}
<link rel="icon" href="{{ path_to_root }}favicon.svg">
{{/if}}
{{#if favicon_png}}
<link rel="shortcut icon" href="{{ path_to_root }}favicon.png">
{{/if}}
<link rel="stylesheet" href="{{ path_to_root }}css/variables.css">
<link rel="stylesheet" href="{{ path_to_root }}css/general.css">
<link rel="stylesheet" href="{{ path_to_root }}css/chrome.css">
{{#if print_enable}}
<link rel="stylesheet" href="{{ path_to_root }}css/print.css" media="print">
{{/if}}
<!-- Fonts -->
<link rel="stylesheet" href="{{ path_to_root }}FontAwesome/css/font-awesome.css">
{{#if copy_fonts}}
<link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
{{/if}}
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="{{ path_to_root }}highlight.css">
<link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css">
<link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css">
<!-- Custom theme stylesheets -->
{{#each additional_css}}
<link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}">
{{/each}}
{{#if mathjax_support}}
<!-- MathJax -->
<script async type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
{{/if}}
</head>
<body>
<!-- Provide site root to javascript -->
<script type="text/javascript">
var path_to_root = "{{ path_to_root }}";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script type="text/javascript">
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script type="text/javascript">
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('{{ default_theme }}')
html.classList.add(theme);
html.classList.add('js');
</script>
<!-- Hide / unhide sidebar before it is displayed -->
<script type="text/javascript">
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
{{#toc}}{{/toc}}
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
{{> header}}
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</button>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">{{ theme_option "Light" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">{{ theme_option "Rust" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">{{ theme_option "Coal" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">{{ theme_option "Navy" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">{{ theme_option "Ayu" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="latte">{{ theme_option "Latte" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="frappe">{{ theme_option "Frappé" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="macchiato">{{ theme_option "Macchiato" }}</button></li>
<li role="none"><button role="menuitem" class="theme" id="mocha">{{ theme_option "Mocha" }}</button></li>
</ul>
{{#if search_enabled}}
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
{{/if}}
</div>
<h1 class="menu-title">{{ book_title }}</h1>
<div class="right-buttons">
{{#if print_enable}}
<a href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
{{/if}}
{{#if git_repository_url}}
<a href="{{git_repository_url}}" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa {{git_repository_icon}}"></i>
</a>
{{/if}}
{{#if git_repository_edit_url}}
<a href="{{git_repository_edit_url}}" title="Suggest an edit" aria-label="Suggest an edit">
<i id="git-edit-button" class="fa fa-edit"></i>
</a>
{{/if}}
</div>
</div>
{{#if search_enabled}}
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
{{/if}}
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
{{{ content }}}
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
{{#previous}}
<a rel="prev" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
{{/previous}}
{{#next}}
<a rel="next" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
{{/next}}
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
{{#previous}}
<a rel="prev" href="{{ path_to_root }}{{link}}" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
{{/previous}}
{{#next}}
<a rel="next" href="{{ path_to_root }}{{link}}" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
{{/next}}
</nav>
</div>
{{#if live_reload_endpoint}}
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "{{{live_reload_endpoint}}}";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
{{/if}}
{{#if google_analytics}}
<!-- Google Analytics Tag -->
<script type="text/javascript">
var localAddrs = ["localhost", "127.0.0.1", ""];
// make sure we don't activate google analytics if the developer is
// inspecting the book locally...
if (localAddrs.indexOf(document.location.hostname) === -1) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{google_analytics}}', 'auto');
ga('send', 'pageview');
}
</script>
{{/if}}
{{#if playground_line_numbers}}
<script type="text/javascript">
window.playground_line_numbers = true;
</script>
{{/if}}
{{#if playground_copyable}}
<script type="text/javascript">
window.playground_copyable = true;
</script>
{{/if}}
{{#if playground_js}}
<script src="{{ path_to_root }}ace.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}editor.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}mode-rust.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}theme-dawn.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}theme-tomorrow_night.js" type="text/javascript" charset="utf-8"></script>
{{/if}}
{{#if search_js}}
<script src="{{ path_to_root }}elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}searcher.js" type="text/javascript" charset="utf-8"></script>
{{/if}}
<script src="{{ path_to_root }}clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="{{ path_to_root }}book.js" type="text/javascript" charset="utf-8"></script>
<!-- Custom JS scripts -->
{{#each additional_js}}
<script type="text/javascript" src="{{ ../path_to_root }}{{this}}"></script>
{{/each}}
{{#if is_print}}
{{#if mathjax_support}}
<script type="text/javascript">
window.addEventListener('load', function() {
MathJax.Hub.Register.StartupHook('End', function() {
window.setTimeout(window.print, 100);
});
});
</script>
{{else}}
<script type="text/javascript">
window.addEventListener('load', function() {
window.setTimeout(window.print, 100);
});
</script>
{{/if}}
{{/if}}
</body>
</html>