aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src
diff options
context:
space:
mode:
Diffstat (limited to 'doc_src')
-rw-r--r--doc_src/FORMATTING.md15
-rw-r--r--doc_src/bind.txt4
-rw-r--r--doc_src/echo.txt2
-rw-r--r--doc_src/fish_vi_mode.txt2
-rw-r--r--doc_src/index.hdr.in16
-rw-r--r--doc_src/math.txt20
-rw-r--r--doc_src/prompt_pwd.txt8
-rw-r--r--doc_src/string.txt98
-rw-r--r--doc_src/tutorial.hdr118
-rw-r--r--doc_src/type.txt2
10 files changed, 154 insertions, 131 deletions
diff --git a/doc_src/FORMATTING.md b/doc_src/FORMATTING.md
index df6de6f8..5ab4e6ac 100644
--- a/doc_src/FORMATTING.md
+++ b/doc_src/FORMATTING.md
@@ -154,14 +154,15 @@ The following can be used in \\fish blocks to render some fish scenarios. These
### Custom formatting tags
-- `<s>`: auto\<s\>suggestion\</s\>.
-- `<m>`: \<m\>Matched\</m\> items, such as tab completions.
-- `<sm>`: Matched items \<sm\>searched\<sm\> for, like grep results.
-- `<error>`: \<error\>This would be shown as an error.\</error\>
-- `<asis>`: \<asis\>This test will not be parsed for fish markup.\</asis\>
-- `<outp>`: \<outp\>This would be rendered as command/script output.\</outp\>
-- `<bs>`: Render the contents with a preceding backslash. Useful when presenting output.
- `{{` and `}}`: Required when wanting curly braces in regular expression example.
+- `\\asis`: \\asis\{This text will not be parsed for fish markup.\}
+- `\\bksl`: \\bksl\{Render the contents with a preceding backslash. Useful when presenting output.}
+- `\\eror`: \\eror\{This would be shown as an error.\}
+- `\\mtch`: \\mtch\{Matched\} items, such as tab completions.
+- `\\outp`: \\outp\{This would be rendered as command/script output.\}
+- `\\sgst`: auto\\sgst\{suggestion\}.
+- `\\smtc`: Matched items \\smtc\{searched\} for, like grep results.
+- `\\undr`: \\undr\{These words are underlined\}.
### Prompts and cursors
diff --git a/doc_src/bind.txt b/doc_src/bind.txt
index f645e32d..c76795e4 100644
--- a/doc_src/bind.txt
+++ b/doc_src/bind.txt
@@ -131,7 +131,7 @@ The following special input functions are available:
\subsection bind-example Examples
\fish
-bind \cd 'exit'
+bind \\cd 'exit'
\endfish
Causes `fish` to exit when @key{Control,D} is pressed.
@@ -142,7 +142,7 @@ Performs a history search when the @key{Page Up} key is pressed.
\fish
set -g fish_key_bindings fish_vi_key_bindings
-bind -M insert \cc kill-whole-line force-repaint
+bind -M insert \\cc kill-whole-line force-repaint
\endfish
Turns on Vi key bindings and rebinds @key{Control,C} to clear the input line.
diff --git a/doc_src/echo.txt b/doc_src/echo.txt
index 75e9ce10..69d6df4e 100644
--- a/doc_src/echo.txt
+++ b/doc_src/echo.txt
@@ -55,6 +55,6 @@ echo 'Hello World'
Print hello world to stdout
\fish
-echo -e 'Top\nBottom'
+echo -e 'Top\\nBottom'
\endfish
Print Top and Bottom on separate lines, using an escape sequence
diff --git a/doc_src/fish_vi_mode.txt b/doc_src/fish_vi_mode.txt
index 3676dedd..d39697c8 100644
--- a/doc_src/fish_vi_mode.txt
+++ b/doc_src/fish_vi_mode.txt
@@ -7,4 +7,6 @@ fish_vi_mode
\subsection fish_vi_mode-description Description
+This function is deprecated. Please call `fish_vi_key_bindings directly`
+
`fish_vi_mode` enters a vi-like command editing mode. To always start in vi mode, add `fish_vi_mode` to your `config.fish` file.
diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in
index 7e889d8e..24f70e31 100644
--- a/doc_src/index.hdr.in
+++ b/doc_src/index.hdr.in
@@ -70,7 +70,7 @@ rm "cumbersome filename.txt"
Will remove the file 'cumbersome filename.txt', while
\fish
-rm <asis>cumbersome filename.txt</asis>
+rm \asis{cumbersome filename.txt}
\endfish
would remove the two files 'cumbersome' and 'filename.txt'.
@@ -551,22 +551,22 @@ Lists adjacent to other lists or strings are expanded as cartesian products:
Examples:
\fish{cli-dark}
>_ echo {good,bad}" apples"
-<outp>good apples bad apples</outp>
+\outp{good apples bad apples}
>_ set -l a x y z
>_ set -l b 1 2 3
>_ echo $a$b
-<outp>x1 y1 z1 x2 y2 z2 x3 y3 z3</outp>
+\outp{x1 y1 z1 x2 y2 z2 x3 y3 z3}
>_ echo $a"-"$b
-<outp>x-1 y-1 z-1 x-2 y-2 z-2 x-3 y-3 z-3</outp>
+\outp{x-1 y-1 z-1 x-2 y-2 z-2 x-3 y-3 z-3}
>_ echo {x,y,z}$b
-<outp>x1 y1 z1 x2 y2 z2 x3 y3 z3</outp>
+\outp{x1 y1 z1 x2 y2 z2 x3 y3 z3}
>_ echo {$b}word
-<outp>1word 2word 3word</outp>
+\outp{1word 2word 3word}
\endfish
Be careful when you try to use braces to separate variable names from text. The dangers noted in the last example above can be avoided by wrapping the variable in double quotes instead of braces (`echo "$b"word`).
@@ -900,6 +900,10 @@ The following variables are available to change the highlighting colors in fish:
- `fish_color_autosuggestion`, the color used for autosuggestions
+- `fish_color_user`, the color used to print the current username in some of fish default prompts
+
+- `fish_color_host`, the color used to print the current host system in some of fish default prompts
+
Additionally, the following variables are available to change the highlighting in the completion pager:
- `fish_pager_color_prefix`, the color of the prefix string, i.e. the string that is to be completed
diff --git a/doc_src/math.txt b/doc_src/math.txt
index 994f1515..a22b0e6e 100644
--- a/doc_src/math.txt
+++ b/doc_src/math.txt
@@ -1,9 +1,8 @@
-
\section math math - Perform mathematics calculations
\subsection math-synopsis Synopsis
\fish{synopsis}
-math EXPRESSION
+math [-sN] EXPRESSION
\endfish
\subsection math-description Description
@@ -12,9 +11,26 @@ math EXPRESSION
For a description of the syntax supported by math, see the manual for the bc program. Keep in mind that parameter expansion takes place on any expressions before they are evaluated. This can be very useful in order to perform calculations involving shell variables or the output of command substitutions, but it also means that parenthesis have to be escaped.
+The following options are available:
+
+- `-sN` Sets the scale of the result. `N` must be an integer and defaults to zero. This simply sets bc's `scale` variable to the provided value. Note that you cannot put a space between `-s` and `N`.
+
+\subsection return-values Return Values
+
+If invalid options or no expression is provided the return `status` is two. If the expression is invalid the return `status` is three. If bc returns a result of `0` (literally, not `0.0` or similar variants) the return `status` is one otherwise it's zero.
\subsection math-example Examples
`math 1+1` outputs 2.
`math $status-128` outputs the numerical exit status of the last command minus 128.
+
+`math 10 / 6` outputs `1`.
+
+`math -s0 10.0 / 6.0` outputs `1`.
+
+`math -s3 10 / 6` outputs `1.666`.
+
+\subsection math-cautions Cautions
+
+Note that the modulo operator (`x % y`) is not well defined for floating point arithmetic. The `bc` command produces a nonsensical result rather than emit an error and fail in that case. It doesn't matter if the arguments are integers; e.g., `10 % 4`. You'll still get an incorrect result. Do not use the `-sN` flag with N greater than zero if you want sensible answers when using the modulo operator.
diff --git a/doc_src/prompt_pwd.txt b/doc_src/prompt_pwd.txt
index 0eafbf99..039efabb 100644
--- a/doc_src/prompt_pwd.txt
+++ b/doc_src/prompt_pwd.txt
@@ -16,16 +16,16 @@ To change the number of characters per path component, set $fish_prompt_pwd_dir_
\fish{cli-dark}
>_ cd ~/
>_ echo $PWD
-<outp>/home/alfa</outp>
+\outp{/home/alfa}
>_ prompt_pwd
-<outp>~</outp>
+\outp{~}
>_ cd /tmp/banana/sausage/with/mustard
>_ prompt_pwd
-<outp>/t/b/s/w/mustard</outp>
+\outp{/t/b/s/w/mustard}
>_ set -g fish_prompt_pwd_dir_length 3
>_ prompt_pwd
-<outp>/tmp/ban/sau/wit/mustard</outp>
+\outp{/tmp/ban/sau/wit/mustard}
\endfish
diff --git a/doc_src/string.txt b/doc_src/string.txt
index 58de93e4..31677858 100644
--- a/doc_src/string.txt
+++ b/doc_src/string.txt
@@ -53,7 +53,7 @@ The following subcommands are available:
\fish{cli-dark}
>_ string length 'hello, world'
-<outp>12</outp>
+\outp{12}
>_ set str foo
>_ string length -q $str; echo $status
@@ -63,125 +63,125 @@ The following subcommands are available:
\fish{cli-dark}
>_ string sub --length 2 abcde
-<outp>ab</outp>
+\outp{ab}
>_ string sub -s 2 -l 2 abcde
-<outp>bc</outp>
+\outp{bc}
>_ string sub --start=-2 abcde
-<outp>de</outp>
+\outp{de}
\endfish
\fish{cli-dark}
>_ string split . example.com
-<outp>example</outp>
-<outp>com</outp>
+\outp{example}
+\outp{com}
>_ string split -r -m1 / /usr/local/bin/fish
-<outp>/usr/local/bin</outp>
-<outp>fish</outp>
+\outp{/usr/local/bin}
+\outp{fish}
>_ string split '' abc
-<outp>a</outp>
-<outp>b</outp>
-<outp>c</outp>
+\outp{a}
+\outp{b}
+\outp{c}
\endfish
\fish{cli-dark}
>_ seq 3 | string join ...
-<outp>1...2...3</outp>
+\outp{1...2...3}
\endfish
\fish{cli-dark}
>_ string trim ' abc '
-<outp>abc</outp>
+\outp{abc}
>_ string trim --right --chars=yz xyzzy zany
-<outp>x</outp>
-<outp>zan</outp>
+\outp{x}
+\outp{zan}
\endfish
\fish{cli-dark}
>_ echo \\x07 | string escape
-<bs>cg</bs>
+\bksl{cg}
\endfish
\subsection string-example-match-glob Match Glob Examples
\fish{cli-dark}
>_ string match '?' a
-<outp>a</outp>
+\outp{a}
>_ string match 'a*b' axxb
-<outp>axxb</outp>
+\outp{axxb}
>_ string match -i 'a??B' Axxb
-<outp>Axxb</outp>
+\outp{Axxb}
>_ echo 'ok?' | string match '*\\?'
->_ <outp>ok?</outp>
+>_ \outp{ok?}
>_ string match -r -v "c.*[12]" {cat,dog}(seq 1 4)
-<outp>dog1</outp>
-<outp>dog2</outp>
-<outp>cat3</outp>
-<outp>dog3</outp>
-<outp>cat4</outp>
-<outp>dog4</outp>
+\outp{dog1}
+\outp{dog2}
+\outp{cat3}
+\outp{dog3}
+\outp{cat4}
+\outp{dog4}
\endfish
\subsection string-example-match-regex Match Regex Examples
\fish{cli-dark}
>_ string match -r 'cat|dog|fish' 'nice dog'
-<outp>dog</outp>
+\outp{dog}
->_ string match -r '(\\d\\d?):(\\d\\d):(\\d\\d)' <asis>2:34:56</asis>
-<outp>2:34:56</outp>
-<outp>2</outp>
-<outp>34</outp>
-<outp>56</outp>
+>_ string match -r '(\\d\\d?):(\\d\\d):(\\d\\d)' \asis{2:34:56}
+\outp{2:34:56}
+\outp{2}
+\outp{34}
+\outp{56}
>_ string match -r '^(\\w{{2,4}})\\g1$' papa mud murmur
-<outp>papa</outp>
-<outp>pa</outp>
-<outp>murmur</outp>
-<outp>mur</outp>
+\outp{papa}
+\outp{pa}
+\outp{murmur}
+\outp{mur}
>_ string match -r -a -n at ratatat
-<outp>2 2</outp>
-<outp>4 2</outp>
-<outp>6 2</outp>
+\outp{2 2}
+\outp{4 2}
+\outp{6 2}
>_ string match -r -i '0x[0-9a-f]{{1,8}}' 'int magic = 0xBadC0de;'
-<outp>0xBadC0de</outp>
+\outp{0xBadC0de}
\endfish
\subsection string-example-replace-literal Replace Literal Examples
\fish{cli-dark}
>_ string replace is was 'blue is my favorite'
-<outp>blue was my favorite</outp>
+\outp{blue was my favorite}
>_ string replace 3rd last 1st 2nd 3rd
-<outp>1st</outp>
-<outp>2nd</outp>
-<outp>last</outp>
+\outp{1st}
+\outp{2nd}
+\outp{last}
>_ string replace -a ' ' _ 'spaces to underscores'
-<outp>spaces_to_underscores</outp>
+\outp{spaces_to_underscores}
\endfish
\subsection string-example-replace-Regex Replace Regex Examples
\fish{cli-dark}
>_ string replace -r -a '[^\\d.]+' ' ' '0 one two 3.14 four 5x'
-<outp>0 3.14 5</outp>
+\outp{0 3.14 5}
>_ string replace -r '(\\w+)\\s+(\\w+)' '$2 $1 $$' 'left right'
-<outp>right left $</outp>
+\outp{right left $}
>_ string replace -r '\\s*newline\\s*' '\\n' 'put a newline here'
-<outp>put a</outp>
-<outp>here</outp>
+\outp{put a}
+\outp{here}
\endfish
diff --git a/doc_src/tutorial.hdr b/doc_src/tutorial.hdr
index cb8427d4..8442b905 100644
--- a/doc_src/tutorial.hdr
+++ b/doc_src/tutorial.hdr
@@ -54,9 +54,9 @@ If you have a strong understanding of other shells, and want to know what `fish`
When you start `fish`, you should see this:
\fish{cli-dark}
-<outp>Welcome to fish, the friendly interactive shell</outp>
-<outp>Type <span class="cwd">help</span> for instructions on how to use fish</outp>
-<asis>you@hostname</asis> ~>____
+\outp{Welcome to fish, the friendly interactive shell}
+\outp{Type <span class="cwd">help</span> for instructions on how to use fish}
+\asis{you@hostname} ~>____
\endfish
`fish` comes with a default prompt that shows your username, hostname, and working directory. You'll see <a href="#tut_prompt">how to change your prompt</a> further down. From now on, we'll pretend your prompt is just a '`>`' to save space.
@@ -68,7 +68,7 @@ When you start `fish`, you should see this:
\fish{cli-dark}
>_ echo hello world
-<outp>hello world</outp>
+\outp{hello world}
\endfish
You can include a literal space in an argument with a backslash, or by using single or double quotes:
@@ -77,7 +77,7 @@ You can include a literal space in an argument with a backslash, or by using sin
>_ mkdir My\ Files
>_ cp ~/Some\ File 'My Files'
>_ ls "My Files"
-<outp>Some File</outp>
+\outp{Some File}
\endfish
Commands can be chained with semicolons.
@@ -89,8 +89,8 @@ Commands can be chained with semicolons.
\fish{cli-dark}
>_ man set
-<outp>set - handle shell variables</outp>
-<outp> Synopsis...</outp>
+\outp{set - handle shell variables}
+\outp{ Synopsis...}
\endfish
@@ -99,7 +99,7 @@ Commands can be chained with semicolons.
You'll quickly notice that `fish` performs syntax highlighting as you type. Invalid commands are colored red by default:
\fish{cli-dark}
->_ <error>/bin/mkd</error>
+>_ \eror{/bin/mkd}
\endfish
A command may be invalid because it does not exist, or refers to a file that you cannot execute. When the command becomes valid, it is shown in a different color:
@@ -111,7 +111,7 @@ A command may be invalid because it does not exist, or refers to a file that you
`fish` will underline valid file paths as you type them:
\fish{cli-dark}
->_ cat <u>~/somefi</u>___
+>_ cat \undr{~/somefi}___
\endfish
This tells you that there exists a file that starts with '`somefi`', which is useful feedback as you type.
@@ -125,25 +125,25 @@ These colors, and many more, can be changed by running `fish_config`, or by modi
\fish{cli-dark}
>_ ls *.jpg
-<outp>lena.jpg</outp>
-<outp>meena.jpg</outp>
-<outp>santa maria.jpg</outp>
+\outp{lena.jpg}
+\outp{meena.jpg}
+\outp{santa maria.jpg}
\endfish
You can include multiple wildcards:
\fish{cli-dark}
>_ ls l*.p*
-<outp>lena.png</outp>
-<outp>lesson.pdf</outp>
+\outp{lena.png}
+\outp{lesson.pdf}
\endfish
Especially powerful is the recursive wildcard ** which searches directories recursively:
\fish{cli-dark}
>_ ls /var/**.log
-<outp>/var/log/system.log</outp>
-<outp>/var/run/sntp.log</outp>
+\outp{/var/log/system.log}
+\outp{/var/run/sntp.log}
\endfish
If that directory traversal is taking a long time, you can @key{Control,C} out of it.
@@ -155,7 +155,7 @@ You can pipe between commands with the usual vertical bar:
\fish{cli-dark}
>_ echo hello world | wc
-<outp> 1 2 12</outp>
+\outp{ 1 2 12}
\endfish
stdin and stdout can be redirected via the familiar &lt; and &gt;. Unlike other shells, stderr is redirected with a caret ^
@@ -170,19 +170,19 @@ stdin and stdout can be redirected via the familiar &lt; and &gt;. Unlike other
`fish` suggests commands as you type, and shows the suggestion to the right of the cursor, in gray. For example:
\fish{cli-dark}
->_ <error>/bin/h</error><s>___ostname</s>
+>_ \eror{/bin/h}\sgst{___ostname}
\endfish
It knows about paths and options:
\fish{cli-dark}
->_ grep --i<s>___gnore-case</s>
+>_ grep --i\sgst{___gnore-case}
\endfish
And history too. Type a command once, and you can re-summon it by just typing a few letters:
\fish{cli-dark}
->_ <error>r</error><s>___sync -avze ssh . myname@somelonghost.com:/some/long/path/doo/dee/doo/dee/doo</s>
+>_ \eror{r<}\sgst{___sync -avze ssh . myname@somelonghost.com:/some/long/path/doo/dee/doo/dee/doo}
\endfish
To accept the autosuggestion, hit @cursor_key{&rarr;,right arrow} or @key{Control,F}. To accept a single word of the autosuggestion, @key{Alt,&rarr;} (right arrow). If the autosuggestion is not what you want, just ignore it.
@@ -194,14 +194,14 @@ To accept the autosuggestion, hit @cursor_key{&rarr;,right arrow} or @key{Contro
Press @key{Tab}, and `fish` will attempt to complete the command, argument, or path:
\fish{cli-dark}
->_ <error>/pri</error> @key{Tab} &rarr; /private/
+>_ \eror{/pri} @key{Tab} &rarr; /private/
\endfish
If there's more than one possibility, it will list them:
\fish{cli-dark}
->_ <error>~/stuff/s</error> @key{Tab}
-<outp><m>~/stuff/s</m>cript.sh <i>(Executable, 4.8kB)</i> <m>~/stuff/s</m>ources/ <i>(Directory)</i></outp>
+>_ \eror{~/stuff/s} @key{Tab}
+\outp{\mtch{~/stuff/s}cript.sh <i>(Executable, 4.8kB)</i> \mtch{~/stuff/s}ources/ <i>(Directory)</i>}
\endfish
Hit tab again to cycle through the possibilities.
@@ -211,7 +211,7 @@ Hit tab again to cycle through the possibilities.
\fish{cli-dark}
>_ git merge pr @key{Tab} &rarr; git merge prompt_designer
>_ git checkout b @key{Tab}
-<outp><m>b</m>uiltin_list_io_merge <i>(Branch)</i> <m>b</m>uiltin_set_color <i>(Branch)</i> <m>b</m>usted_events <i>(Tag)</i></outp>
+\outp{\mtch{b}uiltin_list_io_merge <i>(Branch)</i> \mtch{b}uiltin_set_color <i>(Branch)</i> \mtch{b}usted_events <i>(Tag)</i>}
\endfish
Try hitting tab and see what `fish` can do!
@@ -222,16 +222,16 @@ Like other shells, a dollar sign performs variable substitution:
\fish{cli-dark}
>_ echo My home directory is $HOME
-<outp>My home directory is /home/tutorial</outp>
+\outp{My home directory is /home/tutorial}
\endfish
Variable substitution also occurs in double quotes, but not single quotes:
\fish{cli-dark}
>_ echo "My current directory is $PWD"
-<outp>My current directory is /home/tutorial</outp>
+\outp{My current directory is /home/tutorial}
>_ echo 'My current directory is $PWD'
-<outp>My current directory is $PWD</outp>
+\outp{My current directory is $PWD}
\endfish
Unlike other shells, `fish` has no dedicated syntax for setting variables. Instead it has an ordinary command: `set`, which takes a variable name, and then its value.
@@ -239,7 +239,7 @@ Unlike other shells, `fish` has no dedicated syntax for setting variables. Inste
\fish{cli-dark}
>_ set name 'Mister Noodle'
>_ echo $name
-<outp>Mister Noodle</outp>
+\outp{Mister Noodle}
\endfish
(Notice the quotes: without them, `Mister` and `Noodle` would have been separate arguments, and `$name` would have been made into a list of two elements.)
@@ -249,7 +249,7 @@ Unlike other shells, variables are not further split after substitution:
\fish{cli-dark}
>_ mkdir $name
>_ ls
-<outp>Mister Noodle</outp>
+\outp{Mister Noodle}
\endfish
In bash, this would have created two directories "Mister" and "Noodle". In `fish`, it created only one: the variable had the value "Mister Noodle", so that is the argument that was passed to `mkdir`, spaces and all. Other shells use the term "arrays", rather than lists.
@@ -262,7 +262,7 @@ Unlike other shells, `fish` stores the exit status of the last command in `$stat
\fish{cli-dark}
>_ false
>_ echo $status
-<outp>1</outp>
+\outp{1}
\endfish
Zero is considered success, and non-zero is failure.
@@ -275,7 +275,7 @@ Unlike other shells, `fish` does not have an export command. Instead, a variable
\fish{cli-dark}
>_ set -x MyVariable SomeValue
>_ env | grep MyVariable
-<outp><sm>MyVariable</sm>=SomeValue</outp>
+\outp{\smtc{MyVariablem}=SomeValue}
\endfish
You can erase a variable with `-e` or `--erase`
@@ -283,7 +283,7 @@ You can erase a variable with `-e` or `--erase`
\fish{cli-dark}
>_ set -e MyVariable
>_ env | grep MyVariable
-<outp>(no output)</outp>
+\outp{(no output)}
\endfish
@@ -297,7 +297,7 @@ Other variables, like `$PATH`, really do have multiple values. During variable e
\fish{cli-dark}
>_ echo $PATH
-<outp>/usr/bin /bin /usr/sbin /sbin /usr/local/bin</outp>
+\outp{/usr/bin /bin /usr/sbin /sbin /usr/local/bin}
\endfish
Lists cannot contain other lists: there is no recursion. A variable is a list of strings, full stop.
@@ -306,7 +306,7 @@ Get the length of a list with `count`:
\fish{cli-dark}
>_ count $PATH
-<outp>5</outp>
+\outp{5}
\endfish
You can append (or prepend) to a list by setting the list to itself, with some additional arguments. Here we append /usr/local/bin to $PATH:
@@ -320,20 +320,20 @@ You can access individual elements with square brackets. Indexing starts at 1 fr
\fish{cli-dark}
>_ echo $PATH
-<outp>/usr/bin /bin /usr/sbin /sbin /usr/local/bin</outp>
+\outp{/usr/bin /bin /usr/sbin /sbin /usr/local/bin}
>_ echo $PATH[1]
-<outp>/usr/bin</outp>
+\outp{/usr/bin}
>_ echo $PATH[-1]
-<outp>/usr/local/bin</outp>
+\outp{/usr/local/bin}
\endfish
You can also access ranges of elements, known as "slices:"
\fish{cli-dark}
>_ echo $PATH[1..2]
-<outp>/usr/bin /bin</outp>
+\outp{/usr/bin /bin}
>_ echo $PATH[-1..2]
-<outp>/usr/local/bin /sbin /usr/sbin /bin</outp>
+\outp{/usr/local/bin /sbin /usr/sbin /bin}
\endfish
You can iterate over a list (or a slice) with a for loop:
@@ -342,11 +342,11 @@ You can iterate over a list (or a slice) with a for loop:
>_ for val in $PATH
echo "entry: $val"
end
-<outp>entry: /usr/bin/</outp>
-<outp>entry: /bin</outp>
-<outp>entry: /usr/sbin</outp>
-<outp>entry: /sbin</outp>
-<outp>entry: /usr/local/bin</outp>
+\outp{entry: /usr/bin/}
+\outp{entry: /bin}
+\outp{entry: /usr/sbin}
+\outp{entry: /sbin}
+\outp{entry: /usr/local/bin}
\endfish
Lists adjacent to other lists or strings are expanded as <a href="index.html#cartesian-product">cartesian products</a> unless quoted (see <a href="index.html#expand-variable">Variable expansion</a>):
@@ -355,11 +355,11 @@ Lists adjacent to other lists or strings are expanded as <a href="index.html#car
>_ set -l a 1 2 3
>_ set -l 1 a b c
>_ echo $a$1
-<outp>1a 2a 3a 1b 2b 3b 1c 2c 3c</outp>
+\outp{1a 2a 3a 1b 2b 3b 1c 2c 3c}
>_ echo $a" banana"
-<outp>1 banana 2 banana 3 banana</outp>
+\outp{1 banana 2 banana 3 banana}
>_ echo "$a banana"
-<outp>1 2 3 banana</outp>
+\outp{1 2 3 banana}
\endfish
This is similar to <a href="index.html#expand-brace">Brace expansion</a>.
@@ -370,7 +370,7 @@ Command substitutions use the output of one command as an argument to another. U
\fish{cli-dark}
>_ echo In (pwd), running (uname)
-<outp>In /home/tutorial, running FreeBSD</outp>
+\outp{In /home/tutorial, running FreeBSD}
\endfish
A common idiom is to capture the output of a command in a variable:
@@ -378,7 +378,7 @@ A common idiom is to capture the output of a command in a variable:
\fish{cli-dark}
>_ set os (uname)
>_ echo $os
-<outp>Linux</outp>
+\outp{Linux}
\endfish
Command substitutions are not expanded within quotes. Instead, you can temporarily close the quotes, add the command substitution, and reopen them, all in the same argument:
@@ -386,7 +386,7 @@ Command substitutions are not expanded within quotes. Instead, you can temporari
\fish{cli-dark}
>_ touch <i class="quote">"testing_"</i>(date +%s)<i class="quote">".txt"</i>
>_ ls *.txt
-<outp>testing_1360099791.txt</outp>
+\outp{testing_1360099791.txt}
\endfish
@@ -396,7 +396,7 @@ Unlike other shells, `fish` does not have special syntax like &amp;&amp; or || t
\fish{cli-dark}
>_ cp file1.txt file1_bak.txt; and echo "Backup successful"; or echo "Backup failed"
-<outp>Backup failed</outp>
+\outp{Backup failed}
\endfish
@@ -441,9 +441,9 @@ A `fish` function is a list of commands, which may optionally take arguments. Un
echo Hello $argv
end
>_ say_hello
-<outp>Hello</outp>
+\outp{Hello}
>_ say_hello everybody!
-<outp>Hello everybody!</outp>
+\outp{Hello everybody!}
\endfish
Unlike other shells, `fish` does not have aliases or special prompt syntax. Functions take their place.
@@ -452,7 +452,7 @@ You can list the names of all functions with the `functions` keyword (note the p
\fish{cli-dark}
>_ functions
-<outp>alias, cd, delete-or-exit, dirh, dirs, down-or-search, eval, export, fish_command_not_found_setup, fish_config, fish_default_key_bindings, fish_prompt, fish_right_prompt, fish_sigtrap_handler, fish_update_completions, funced, funcsave, grep, help, history, isatty, ls, man, math, nextd, nextd-or-forward-word, open, popd, prevd, prevd-or-backward-word, prompt_pwd, psub, pushd, seq, setenv, trap, type, umask, up-or-search, vared</outp>
+\outp{alias, cd, delete-or-exit, dirh, dirs, down-or-search, eval, export, fish_command_not_found_setup, fish_config, fish_default_key_bindings, fish_prompt, fish_right_prompt, fish_sigtrap_handler, fish_update_completions, funced, funcsave, grep, help, history, isatty, ls, man, math, nextd, nextd-or-forward-word, open, popd, prevd, prevd-or-backward-word, prompt_pwd, psub, pushd, seq, setenv, trap, type, umask, up-or-search, vared}
\endfish
You can see the source for any function by passing its name to `functions`:
@@ -473,10 +473,10 @@ While loops:
>_ while true
echo <i class="quote">"Loop forever"</i>
end
-<outp>Loop forever</outp>
-<outp>Loop forever</outp>
-<outp>Loop forever</outp>
-<outp>...</outp>
+\outp{Loop forever}
+\outp{Loop forever}
+\outp{Loop forever}
+\outp{...}
\endfish
For loops can be used to iterate over a list. For example, a list of files:
@@ -506,7 +506,7 @@ You can define your own prompt:
>_ function fish_prompt
echo "New Prompt % "
end
-<asis>New Prompt % </asis>___
+\asis{New Prompt % }___
\endfish
Multiple lines are OK. Colors can be set via `set_color`, passing it named ANSI colors, or hex RGB values:
diff --git a/doc_src/type.txt b/doc_src/type.txt
index 2da88c94..7b5f7a9c 100644
--- a/doc_src/type.txt
+++ b/doc_src/type.txt
@@ -28,5 +28,5 @@ The following options are available:
\fish{cli-dark}
>_ type fg
-<outp>fg is a builtin</outp>
+\outp{fg is a builtin}
\endfish