fish-shell/src
ridiculousfish bde2f2111d Introduce debounce_t
debounce_t will be used to limit thread creation from background highlighting
and autosuggestion scenarios. This is a one-element queue backed by a
single thread. New requests displace any existing queued request; this
reflects the fact that autosuggestions and highlighting only care about
the most recent result.

A timeout allows for abandoning hung threads, which may happen if you
attempt to e.g. access a dead hard-mounted NFS server. We don't want
this to defeat autosuggestions and highlighting permanently, so allow
spawning a new thread after the timeout (here 500 ms).
2020-03-06 17:15:21 -08:00
..
widecharwidth Update to latest widecharwidth 2020-01-30 21:17:37 -08:00
autoload.cpp Initialize a const variable 2019-08-16 17:50:41 -07:00
autoload.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_argparse.cpp argparse: Pass validation variables as exported 2020-03-01 19:28:51 +01:00
builtin_argparse.h
builtin_bg.cpp Eliminate more calls to principal_parser() 2020-02-08 12:46:56 -08:00
builtin_bg.h
builtin_bind.cpp [clang-tidy] Convert loops to range based 2019-11-25 14:50:40 -08:00
builtin_bind.h Allow binding nul (zero byte) 2019-09-14 16:37:57 -07:00
builtin_block.cpp Make block_type_t an enum class 2019-12-22 15:37:14 -08:00
builtin_block.h
builtin_builtin.cpp [clang-tidy] Convert loops to range based 2019-11-25 14:50:40 -08:00
builtin_builtin.h
builtin_cd.cpp [clang-tidy] C to C++ headers 2019-11-25 14:17:49 -08:00
builtin_cd.h
builtin_command.cpp [clang-tidy] Convert loops to range based 2019-11-25 14:50:40 -08:00
builtin_command.h
builtin_commandline.cpp Place fish in its own process group when launched with -i 2019-12-23 10:32:37 +01:00
builtin_commandline.h Reformat all files 2019-05-05 12:09:25 +02:00
builtin_complete.cpp Introduce operation_context_t 2020-01-16 15:21:28 -08:00
builtin_complete.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_contains.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
builtin_contains.h
builtin_disown.cpp Introduce the internal jobs for functions 2019-12-31 10:08:50 -08:00
builtin_disown.h
builtin_echo.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
builtin_echo.h
builtin_emit.cpp Use a pager to view long outputs of builtin --help 2019-10-28 18:36:07 +01:00
builtin_emit.h
builtin_eval.cpp Rationalize $status and errors 2020-01-25 17:28:41 -08:00
builtin_eval.h Re-implement eval as a regular builtin 2019-04-12 07:04:15 -05:00
builtin_exit.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
builtin_exit.h
builtin_fg.cpp Skip variable assignments in status current command 2020-02-24 00:16:12 +01:00
builtin_fg.h
builtin_function.cpp Fix up --on-job-exit caller 2020-02-08 16:23:25 -08:00
builtin_function.h Properly print leading comments and indentation in functions 2020-01-03 14:40:28 -08:00
builtin_functions.cpp Rename event_type_t::job_exit to event_type_t::caller_exit 2020-02-08 16:08:26 -08:00
builtin_functions.h
builtin_history.cpp Remove reader_test_should_cancel 2020-01-16 15:21:45 -08:00
builtin_history.h
builtin_jobs.cpp Eliminate yet more calls to principal_parser() 2020-02-08 12:47:13 -08:00
builtin_jobs.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_math.cpp math: Complain about unknown *function*, not *variable* 2020-02-07 17:43:22 +01:00
builtin_math.h
builtin_printf.cpp Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
builtin_printf.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_pwd.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
builtin_pwd.h
builtin_random.cpp [clang-tidy] C to C++ headers 2019-11-25 14:17:49 -08:00
builtin_random.h
builtin_read.cpp Revert "read: discard IFS delimiters before the last token" 2020-02-29 09:53:53 +01:00
builtin_read.h
builtin_realpath.cpp [clang-tidy] C to C++ headers 2019-11-25 14:17:49 -08:00
builtin_realpath.h
builtin_return.cpp Make block_type_t an enum class 2019-12-22 15:37:14 -08:00
builtin_return.h
builtin_set_color.cpp [clang-tidy] Convert loops to range based 2019-11-25 14:50:40 -08:00
builtin_set_color.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_set.cpp Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
builtin_set.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_source.cpp Clean up reader_read 2020-01-28 11:39:26 -08:00
builtin_source.h
builtin_status.cpp [clang-tidy] Switch from size to empty check 2019-12-26 20:07:53 -08:00
builtin_status.h
builtin_string.cpp clang-format .cpp and .h files 2020-01-16 15:18:28 -08:00
builtin_string.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_test.cpp test: Reject nan/inf instead of crashing 2020-02-26 16:43:12 +01:00
builtin_test.h
builtin_ulimit.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
builtin_ulimit.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin_wait.cpp Eliminate yet more calls to principal_parser() 2020-02-08 12:47:13 -08:00
builtin_wait.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin.cpp List time as builtin, support time --help 2020-02-23 23:42:57 +01:00
builtin.h Stop acquiring the terminal before running builtins 2020-01-31 10:42:21 -08:00
color.cpp [clang-tidy] fix small loop variable 2020-02-22 09:33:58 +01:00
color.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
common.cpp Correct the speeling of sentinel 2020-02-29 15:56:52 -08:00
common.h Correct the speeling of sentinel 2020-02-29 15:56:52 -08:00
complete.cpp [clang-tidy] use using instead of typedef 2020-02-22 09:33:16 +01:00
complete.h Introduce operation_context_t 2020-01-16 15:21:28 -08:00
enum_set.h Clean up enum_set.h header 2019-04-26 16:08:19 -07:00
env_dispatch.cpp Fix 256 color detection on xterm-like 2020-03-03 18:03:15 +01:00
env_dispatch.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
env_universal_common.cpp [clang-tidy] mark single argument constructors explicit 2020-02-22 09:33:17 +01:00
env_universal_common.h Continued adoption of autoclose_fd_t and exec_close 2020-01-29 14:16:16 -08:00
env.cpp [clang-tidy] Add several references 2019-12-26 21:55:53 -08:00
env.h Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
event.cpp Fix interactive --on-signal INT handlers 2020-03-01 13:31:59 -08:00
event.h Fix up --on-job-exit caller 2020-02-08 16:23:25 -08:00
exec.cpp Rationalize background-in-background procs 2020-02-29 15:07:09 -08:00
exec.h Factor out logic about how pgroups are assigned 2020-01-30 10:50:16 -08:00
expand.cpp Fix expand.cpp compile failed with old SDK version (#6688) 2020-03-01 13:44:06 +01:00
expand.h Correct the speeling of sentinel 2020-02-29 15:56:52 -08:00
fallback.cpp clang-format .cpp files 2019-11-29 23:57:19 -08:00
fallback.h Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
fd_monitor.cpp Introduce fd_monitor 2020-02-05 12:04:51 -08:00
fd_monitor.h Include sys/select.h for fd_set 2020-02-12 22:02:32 +01:00
fish_indent.cpp Replace debug(1) with FLOGF(warning) 2020-01-19 14:22:39 +01:00
fish_key_reader.cpp Clean up the "press a key" prompt in fish_key_reader 2020-02-13 01:08:35 -08:00
fish_test_helper.cpp Add missing include to fish_test_helper 2020-02-20 21:53:45 +01:00
fish_tests.cpp Introduce debounce_t 2020-03-06 17:15:21 -08:00
fish_version.cpp Reformat all files 2019-05-05 12:09:25 +02:00
fish_version.h
fish.cpp [clang-tidy] use emplace_back 2020-02-22 09:33:17 +01:00
flog.cpp Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
flog.h Add a category for screen repainting 2020-03-02 18:31:24 -08:00
function.cpp Properly print leading comments and indentation in functions 2020-01-03 14:40:28 -08:00
function.h Properly print leading comments and indentation in functions 2020-01-03 14:40:28 -08:00
future_feature_flags.cpp Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
future_feature_flags.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
global_safety.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
highlight.cpp Thread a cancellation function into is_potential_path 2020-03-02 22:10:43 -08:00
highlight.h Thread a cancellation function into is_potential_path 2020-03-02 22:10:43 -08:00
history_file.cpp [clang-tidy] Use strcmp family properly 2019-11-29 23:46:51 -08:00
history_file.h Include ctime in history_file.h 2019-10-16 11:55:40 -07:00
history.cpp [clang-tidy] remove static from namespace 2020-02-22 09:34:02 +01:00
history.h Centralize some calls to principal_parser() 2020-02-08 12:33:47 -08:00
input_common.cpp Add reader flog category 2020-01-19 14:55:08 +01:00
input_common.h Add undo 2020-02-07 17:15:17 +01:00
input.cpp [clang-tidy] convert to range for loops 2020-02-22 09:33:16 +01:00
input.h [clang-tidy] Add several references 2019-12-26 21:55:53 -08:00
intern.cpp Remove a few less useful debug messages 2020-01-19 14:22:50 +01:00
intern.h
io.cpp Adopt fd_monitor in bufferfill 2020-02-05 12:05:39 -08:00
io.h Adopt fd_monitor in bufferfill 2020-02-05 12:05:39 -08:00
iothread.cpp Introduce debounce_t 2020-03-06 17:15:21 -08:00
iothread.h Introduce debounce_t 2020-03-06 17:15:21 -08:00
kill.cpp [clang-tidy] Use C++ using instead of C typedef 2019-11-29 23:46:51 -08:00
kill.h fix typos 2019-10-23 19:38:44 +02:00
lru.h lru to use std::map, not std::unordered_map 2019-12-21 17:09:21 -08:00
maybe.h Reformat all files 2019-05-05 12:09:25 +02:00
null_terminated_array.cpp Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
null_terminated_array.h Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
operation_context.cpp Introduce operation_context_t 2020-01-16 15:21:28 -08:00
operation_context.h Introduce operation_context_t 2020-01-16 15:21:28 -08:00
output.cpp Drop "invalid wide character string" warning down to a debug 2020-02-12 15:00:40 +01:00
output.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
pager.cpp Use accessor functions for editable_line_t::{text,position} 2020-02-06 01:30:45 +01:00
pager.h Use completion_list_t naming everywhere 2020-01-16 15:18:49 -08:00
parse_constants.h Reject time with background jobs 2020-01-03 01:07:49 -06:00
parse_execution.cpp Migrate the "are you sure you want to exit" logic from parse_execution to exec 2020-02-19 18:25:36 -07:00
parse_execution.h Rationalize $status and errors 2020-01-25 17:28:41 -08:00
parse_grammar_elements.inc Make "time" a job prefix 2020-01-03 01:07:49 -06:00
parse_grammar.h Make "time" a job prefix 2020-01-03 01:07:49 -06:00
parse_productions.cpp List time as builtin, support time --help 2020-02-23 23:42:57 +01:00
parse_productions.h
parse_tree.cpp move variable_assignment_equal_pos to tokenizer 2020-02-24 00:14:39 +01:00
parse_tree.h move variable_assignment_equal_pos to tokenizer 2020-02-24 00:14:39 +01:00
parse_util.cpp Optimize parse_util_compute_indents 2020-03-06 16:15:37 -08:00
parse_util.h [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
parser_keywords.cpp clang-format C++ files 2019-12-29 14:25:42 -08:00
parser_keywords.h
parser.cpp parser: Stop crashing when cwd isn't readable 2020-02-14 17:57:07 +01:00
parser.h Fix interactive --on-signal INT handlers 2020-03-01 13:31:59 -08:00
path.cpp Make unusable path warnings their own FLOG category 2020-02-20 17:30:14 +01:00
path.h Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
postfork.cpp Refactor child_set_group 2020-01-30 11:27:21 -08:00
postfork.h Remove the wait_for_threads_to_die parameter to execute_fork 2019-11-23 12:36:44 -08:00
print_help.cpp Run clang-format on all files 2019-10-13 15:50:48 -07:00
print_help.h
proc.cpp Do not remove jobs that need to print a status message 2020-03-02 12:34:07 -08:00
proc.h Make hup_background_jobs accept the job list directly 2020-02-19 20:35:04 -07:00
reader.cpp Clear cancellation_signal before firing fish_postexec event 2020-03-03 21:35:29 -08:00
reader.h Migrate the "are you sure you want to exit" logic from parse_execution to exec 2020-02-19 18:25:36 -07:00
redirection.cpp Collapse io_data switch statements 2019-12-29 15:51:22 -08:00
redirection.h dup2_list_t::resolve_chain to stop returning maybe 2019-12-29 14:49:05 -08:00
sanity.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
sanity.h Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
screen.cpp Add a category for screen repainting 2020-03-02 18:31:24 -08:00
screen.h Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
signal.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
signal.h Eliminate shell_is_interactive 2019-06-29 11:28:26 -07:00
timer.cpp time: decide unit using largest value 2020-03-06 22:16:24 +01:00
timer.h Make "time" a job prefix 2020-01-03 01:07:49 -06:00
tinyexpr.cpp math: Complain about unknown *function*, not *variable* 2020-02-07 17:43:22 +01:00
tinyexpr.h math: Complain about unknown *function*, not *variable* 2020-02-07 17:43:22 +01:00
tnode.cpp Make "time" a job prefix 2020-01-03 01:07:49 -06:00
tnode.h clang-format C++ files 2019-12-29 14:25:42 -08:00
tokenizer.cpp Skip variable assignments in status current command 2020-02-24 00:16:12 +01:00
tokenizer.h Skip variable assignments in status current command 2020-02-24 00:16:12 +01:00
topic_monitor.cpp clang-format C++ files 2019-12-29 14:25:42 -08:00
topic_monitor.h Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
trace.cpp Reverse the order of the block stack 2019-12-22 15:07:41 -08:00
trace.h Add support for fish_trace variable to trace execution 2019-11-02 14:40:57 -07:00
utf8.cpp [clang-tidy] Use C++ using instead of C typedef 2019-11-29 23:46:51 -08:00
utf8.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
util.cpp Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wcstringutil.cpp Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
wcstringutil.h Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
wgetopt.cpp [clang-tidy] Replace NULL with nullptr 2019-11-25 14:23:03 -08:00
wgetopt.h rearrange structure fields 2019-04-04 13:47:10 -07:00
wildcard.cpp [clang-tidy] pass-by-value 2020-02-22 09:33:16 +01:00
wildcard.h Correct the speeling of sentinel 2020-02-29 15:56:52 -08:00
wutil.cpp Restyle 2020-02-17 14:14:05 +01:00
wutil.h Eliminate wopen() 2020-01-28 10:43:37 -08:00