mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 18:03:37 +08:00
47 lines
1.3 KiB
ReStructuredText
47 lines
1.3 KiB
ReStructuredText
|
\section block block - temporarily block delivery of events
|
||
|
|
||
|
\subsection block-synopsis Synopsis
|
||
|
\fish{synopsis}
|
||
|
block [OPTIONS...]
|
||
|
\endfish
|
||
|
|
||
|
\subsection block-description Description
|
||
|
|
||
|
`block` prevents events triggered by `fish` or the <a href="commands.html#emit">`emit`</a> command from being delivered and acted upon while the block is in place.
|
||
|
|
||
|
In functions, `block` can be useful while performing work that should not be interrupted by the shell.
|
||
|
|
||
|
The block can be removed. Any events which triggered while the block was in place will then be delivered.
|
||
|
|
||
|
Event blocks should not be confused with code blocks, which are created with `begin`, `if`, `while` or `for`
|
||
|
|
||
|
The following parameters are available:
|
||
|
|
||
|
- `-l` or `--local` Release the block automatically at the end of the current innermost code block scope
|
||
|
|
||
|
- `-g` or `--global` Never automatically release the lock
|
||
|
|
||
|
- `-e` or `--erase` Release global block
|
||
|
|
||
|
|
||
|
\subsection block-example Example
|
||
|
|
||
|
\fish
|
||
|
# Create a function that listens for events
|
||
|
function --on-event foo foo; echo 'foo fired'; end
|
||
|
|
||
|
# Block the delivery of events
|
||
|
block -g
|
||
|
|
||
|
emit foo
|
||
|
# No output will be produced
|
||
|
|
||
|
block -e
|
||
|
# 'foo fired' will now be printed
|
||
|
\endfish
|
||
|
|
||
|
|
||
|
\subsection block-notes Notes
|
||
|
|
||
|
Note that events are only received from the current fish process as there is no way to send events from one fish process to another.
|