block - temporarily block delivery of events¶
Synopsis¶
block [(--local | --global)]
block --erase
Description¶
block
delays delivery of all events triggered by fish
or the emit, thus delaying the execution of any function registered --on-event
, --on-process-exit
, --on-job-exit
, --on-variable
and --on-signal
until after the block is removed.
Event blocks should not be confused with code blocks, which are created with begin
, if
, while
or for
Without options, block
sets up a block that is released automatically at the end of the current function scope.
The following options 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.
- -h or --help
Display help about using this command.
Example¶
# 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
Notes¶
Events are only received from the current fish process as there is no way to send events from one fish process to another.