25 lines
746 B
Fish
25 lines
746 B
Fish
function _sponge_on_postexec --on-event fish_postexec
|
|
set --global _sponge_current_command_exit_code $status
|
|
|
|
# Remove command from the queue if it's been added previously
|
|
if set --local index (contains --index -- $_sponge_current_command $_sponge_queue)
|
|
set --erase _sponge_queue[$index]
|
|
end
|
|
|
|
# Ignore empty commands
|
|
if test -n $_sponge_current_command
|
|
set --local command ''
|
|
# Run filters
|
|
for filter in $sponge_filters
|
|
if $filter \
|
|
$_sponge_current_command \
|
|
$_sponge_current_command_exit_code \
|
|
$_sponge_current_command_previously_in_history
|
|
set command $_sponge_current_command
|
|
break
|
|
end
|
|
end
|
|
set --prepend --global _sponge_queue $command
|
|
end
|
|
end
|