fish/conf.d/sponge.fish 1.5 K raw
1
# Sponge version
2
set --global sponge_version 1.1.0
3
4
# Allow to repeat previous command by default
5
if not set --query --universal sponge_delay
6
  set --universal sponge_delay 2
7
end
8
9
# Purge entries both after `sponge_delay` entries and on exit by default
10
if not set --query --universal sponge_purge_only_on_exit
11
  set --universal sponge_purge_only_on_exit false
12
end
13
14
# Add default filters
15
if not set --query --universal sponge_filters
16
  set --universal sponge_filters sponge_filter_failed sponge_filter_matched
17
end
18
19
# Don't filter out commands that already have been in the history by default
20
if not set --query --universal sponge_allow_previously_successful
21
  set --universal sponge_allow_previously_successful true
22
end
23
24
# Consider `0` the only successful exit code by default
25
if not set --query --universal sponge_successful_exit_codes
26
  set --universal sponge_successful_exit_codes 0
27
end
28
29
# No active regex patterns by default
30
if not set --query --universal sponge_regex_patterns
31
  set --universal sponge_regex_patterns
32
end
33
34
# Attach event handlers
35
functions --query \
36
  _sponge_on_prompt \
37
  _sponge_on_preexec \
38
  _sponge_on_postexec \
39
  _sponge_on_exit
40
41
# Initialize empty state for the first run
42
function _sponge_install --on-event sponge_install
43
  set --global _sponge_current_command ''
44
  set --global _sponge_current_command_exit_code 0
45
  set --global _sponge_current_command_previously_in_history false
46
end
47
48
# Clean up variables
49
function _sponge_uninstall --on-event sponge_uninstall
50
  _sponge_clear_state
51
  set --erase sponge_version
52
end