fish-shell/src
ridiculousfish 960266fe24 Reimplement the function store and autoloading
This cleans up how functions are stored and autoloaded. It eliminates the
recursive lock. Instead there is a single normal owning_lock that protects
the entirety of the function data. Autoloading is re-implemented via the
new autoloader_t.
2019-04-27 15:30:11 -07:00
..
widecharwidth Migrate to widechar_wcwidth 2018-07-09 20:31:16 -07:00
autoload.cpp Reimplement the function store and autoloading 2019-04-27 15:30:11 -07:00
autoload.h Reimplement the function store and autoloading 2019-04-27 15:30:11 -07:00
builtin.cpp Re-implement eval as a regular builtin 2019-04-12 07:04:15 -05:00
builtin.h Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_argparse.cpp argparse: Use the current function name by default 2019-04-27 15:55:49 +02:00
builtin_argparse.h implement argparse builtin 2017-07-12 22:38:24 -07:00
builtin_bg.cpp Be less aggressive about reclaiming the foreground pgrp 2019-04-07 09:20:32 -07:00
builtin_bg.h split builtin bg into its own module 2017-06-16 21:01:56 -07:00
builtin_bind.cpp std::vector<wcstring> is wcstring_list_t 2019-03-14 11:17:26 -07:00
builtin_bind.h Add separation of "preset" bindings 2018-09-30 16:54:56 +02:00
builtin_block.cpp Event blocks just block all events 2019-02-23 13:02:07 -08:00
builtin_block.h split builtin block into its own module 2017-06-16 21:01:56 -07:00
builtin_builtin.cpp Add builtin -q 2019-02-12 20:34:19 +01:00
builtin_builtin.h split builtin builtin into its own module 2017-06-16 21:01:56 -07:00
builtin_cd.cpp Instantize env_get 2019-01-10 20:07:53 -08:00
builtin_cd.h split builtin cd into its own module 2017-06-16 21:01:56 -07:00
builtin_command.cpp Let command -q work 2019-02-12 20:34:19 +01:00
builtin_command.h split builtin command into its own module 2017-06-16 21:01:56 -07:00
builtin_commandline.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_commandline.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_complete.cpp Stop removing functions and completions in autoload 2019-04-27 14:49:05 -07:00
builtin_complete.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_contains.cpp This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_contains.h split builtin contains into its own module 2017-06-16 21:01:56 -07:00
builtin_disown.cpp Prevent disown from directly removing jobs 2019-04-09 23:29:58 -05:00
builtin_disown.h split builtin disown into its own module 2017-06-16 21:01:56 -07:00
builtin_echo.cpp Mark a null variable const in builtin_echo 2018-10-01 09:47:45 -07:00
builtin_echo.h split builtin echo into its own module 2017-06-16 21:01:56 -07:00
builtin_emit.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_emit.h split builtin emit into its own module 2017-06-16 21:01:56 -07:00
builtin_eval.cpp Make eval override previous status 2019-04-13 17:28:10 -05:00
builtin_eval.h Re-implement eval as a regular builtin 2019-04-12 07:04:15 -05:00
builtin_exit.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_exit.h split builtin exit into its own module 2017-06-16 21:01:56 -07:00
builtin_fg.cpp Be less aggressive about reclaiming the foreground pgrp 2019-04-07 09:20:32 -07:00
builtin_fg.h split builtin fg into its own module 2017-06-16 21:01:56 -07:00
builtin_function.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_function.h Functions to store nodes 2018-02-12 10:49:22 -08:00
builtin_functions.cpp Revert "Optimize function calls by reducing inherit vars heap allocations and copies" 2019-04-13 12:03:02 -07:00
builtin_functions.h split builtin functions into its own module 2017-06-16 21:01:56 -07:00
builtin_history.cpp rearrange structure fields 2019-04-04 13:47:10 -07:00
builtin_history.h split builtin history into its own module 2017-06-16 21:01:56 -07:00
builtin_jobs.cpp Prevent disown from directly removing jobs 2019-04-09 23:29:58 -05:00
builtin_jobs.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_math.cpp remove some wcstring -> wchar_t* -> wcstring conversions 2019-03-14 15:21:08 -07:00
builtin_math.h Implement bare minimum builtin math command 2017-08-23 14:43:45 -07:00
builtin_printf.cpp printf: Don't die on incomplete conversions 2019-03-17 17:00:55 +01:00
builtin_printf.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_pwd.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
builtin_pwd.h split builtin pwd into its own module 2017-06-16 21:01:56 -07:00
builtin_random.cpp This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_random.h split builtin random into its own module 2017-06-16 21:01:56 -07:00
builtin_read.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_read.h split builtin status and read into its own module 2017-06-16 21:01:56 -07:00
builtin_realpath.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
builtin_realpath.h split builtin realpath into its own module 2017-06-16 21:01:56 -07:00
builtin_return.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_return.h split builtin return into its own module 2017-06-16 21:01:56 -07:00
builtin_set.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_set.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_set_color.cpp Factor color and terminal sequence outputting into outputter_t 2019-02-23 20:07:29 -08:00
builtin_set_color.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_source.cpp This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_source.h split builtin source into its own module 2017-06-16 21:01:56 -07:00
builtin_status.cpp rearrange structure fields 2019-04-04 13:47:10 -07:00
builtin_status.h split builtin status and read into its own module 2017-06-16 21:01:56 -07:00
builtin_string.cpp Add string-replace-fewer-backslashes feature 2019-03-15 15:18:19 +01:00
builtin_string.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_test.cpp src/builtin_test: Print backtrace on error 2019-03-28 08:35:32 +01:00
builtin_test.h restyle builtin modules to match project style 2016-04-26 21:58:59 -07:00
builtin_ulimit.cpp Stop printing help summary on error 2019-03-26 19:24:48 +01:00
builtin_ulimit.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
builtin_wait.cpp Use const auto for all jobs 2019-03-28 18:55:36 -05:00
builtin_wait.h add wait command 2017-11-16 10:48:21 -08:00
color.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
color.h Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
common.cpp Remove is_whitespace and whitespace character string declarations 2019-04-06 02:07:56 -07:00
common.h Make owning_lock's template parameter titlecase instead of uppercase 2019-04-27 12:04:36 -07:00
complete.cpp Stop removing functions and completions in autoload 2019-04-27 14:49:05 -07:00
complete.h Remove the COMPLETE_SEP define 2019-04-25 14:23:37 -07:00
enum_set.h Clean up enum_set.h header 2019-04-26 16:08:19 -07:00
env.cpp Attempt to fix the travis build 2019-04-14 17:43:02 -07:00
env.h Adopt env_scoped_t::snapshot() and remove env_var_snapshot_t 2019-04-14 15:50:38 -07:00
env_dispatch.cpp Clean up some headers in env and env_dispatch.cpp 2019-04-13 14:39:20 -07:00
env_dispatch.h Move locale and curses init from env to env_dispatch 2019-04-08 16:22:04 -07:00
env_universal_common.cpp Don't truncate hostnames over 32 characters 2019-03-23 12:34:48 -07:00
env_universal_common.h Remove fish_mutex_t wrapper around std::mutex 2018-12-30 20:37:36 -06:00
event.cpp Fix switch nesting in handler_matches 2019-03-12 15:27:13 -07:00
event.h Cleanup events 2019-02-23 13:33:12 -08:00
exec.cpp Make eval override previous status 2019-04-13 17:28:10 -05:00
exec.h Make eval override previous status 2019-04-13 17:28:10 -05:00
expand.cpp Remove EXPAND prefix from expand_flags and lowercase them 2019-04-25 11:34:49 -07:00
expand.h Remove EXPAND prefix from expand_flags and lowercase them 2019-04-25 11:34:49 -07:00
fallback.cpp Remove option to use system wcwidth (#5777) 2019-04-01 15:59:33 +02:00
fallback.h This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
fish.cpp Revert "fcntl a little less" 2019-04-13 12:27:05 -07:00
fish_indent.cpp src/fish_indent.cpp: Fix return-value warning 2019-04-12 15:38:38 +02:00
fish_key_reader.cpp Stop setting term-modes early 2019-04-05 12:55:13 +02:00
fish_test_helper.cpp Add fish_test_helper executable 2019-04-07 09:20:19 -07:00
fish_tests.cpp Promote completion_mode_t to a real type 2019-04-25 14:21:06 -07:00
fish_version.cpp Eliminate some mutable global variables 2018-09-29 00:20:50 -04:00
fish_version.h Revert "Generate FISH_BUILD_VERSION info for cmake builds" 2018-01-08 22:28:10 -08:00
function.cpp Reimplement the function store and autoloading 2019-04-27 15:30:11 -07:00
function.h Revert "Optimize function calls by reducing inherit vars heap allocations and copies" 2019-04-13 12:03:02 -07:00
future_feature_flags.cpp Add string-replace-fewer-backslashes feature 2019-03-15 15:18:19 +01:00
future_feature_flags.h Add string-replace-fewer-backslashes feature 2019-03-15 15:18:19 +01:00
highlight.cpp Remove EXPAND prefix from expand_flags and lowercase them 2019-04-25 11:34:49 -07:00
highlight.h Switch highlight_spec_t to a struct 2019-03-03 18:04:22 -08:00
history.cpp remove some wcstring -> wchar_t* -> wcstring conversions 2019-03-14 15:21:08 -07:00
history.h Switch some uses of env_get to instanced environment_t 2019-01-10 20:07:31 -08:00
input.cpp Add repaint-mode bind function 2019-04-01 15:59:39 +02:00
input.h Switch readline commands to readline_cmd_t enum class 2019-03-23 23:31:25 -07:00
input_common.cpp Introduce char_event_type_t::readline 2019-03-23 23:31:18 -07:00
input_common.h Add repaint-mode bind function 2019-04-01 15:59:39 +02:00
intern.cpp This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
intern.h restyle intern module to match project style 2016-05-01 20:28:46 -07:00
io.cpp Fix high CPU usage in subsequent select(2) calls 2019-04-09 21:10:30 -05:00
io.h Introduce the notion of a deferred process 2019-03-24 14:27:23 -07:00
iothread.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
iothread.h Introduce topic monitoring 2019-02-17 13:01:59 -08:00
kill.cpp Minor cleanup of kill ring 2019-03-23 23:31:24 -07:00
kill.h Minor cleanup of kill ring 2019-03-23 23:31:24 -07:00
lru.h Titlecase LRU template parameters 2019-04-27 12:07:16 -07:00
maybe.h Switch readline commands to readline_cmd_t enum class 2019-03-23 23:31:25 -07:00
output.cpp Remouve ouveroused U 2019-03-28 12:31:52 +01:00
output.h Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
pager.cpp Fix 32-bit build 2019-03-13 07:44:05 -07:00
pager.h implement our own assert() function 2017-02-14 18:48:27 -08:00
parse_constants.h Re-implement eval as a regular builtin 2019-04-12 07:04:15 -05:00
parse_execution.cpp Remove EXPAND prefix from expand_flags and lowercase them 2019-04-25 11:34:49 -07:00
parse_execution.h Teach each job about its parent 2018-11-04 01:40:07 -08:00
parse_grammar.h Re-implement eval as a regular builtin 2019-04-12 07:04:15 -05:00
parse_grammar_elements.inc Rework 'and' and 'or' to be "job decorators" 2018-03-05 13:41:36 -08:00
parse_productions.cpp Re-implement eval as a regular builtin 2019-04-12 07:04:15 -05:00
parse_productions.h style cleanups 2017-05-01 22:05:35 -07:00
parse_tree.cpp Revert "parser: try to avoid some strings being copied" 2019-04-01 20:22:02 -07:00
parse_tree.h Revert "parser: try to avoid some strings being copied" 2019-04-01 20:22:02 -07:00
parse_util.cpp Switch expand_flags_t to enum_set 2019-04-25 11:23:03 -07:00
parse_util.h Teach parse_util_escape_string_with_quote about tildes 2018-02-17 15:18:43 -08:00
parser.cpp Rename expand_error_t to expand_result_t and make it class enum 2019-04-25 10:47:28 -07:00
parser.h Fix error propagation in parser_t::eval 2019-04-13 17:28:16 -05:00
parser_keywords.cpp Optimize keyword detection 2019-04-03 20:53:29 -05:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp use std::move in a couple spots where things were unsed after copy 2019-04-04 14:16:34 -07:00
path.h Instantize env_get 2019-01-10 20:07:53 -08:00
postfork.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
postfork.h Cleanup handle_builtin_output 2019-02-17 14:17:44 -08:00
print_help.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp Remove get_proc_had_barrier 2019-04-13 12:40:57 -07:00
proc.h Revert overzealous !parent_job is_visible() condition 2019-04-17 22:47:41 -05:00
reader.cpp Adopt env_scoped_t::snapshot() and remove env_var_snapshot_t 2019-04-14 15:50:38 -07:00
reader.h Switch wait command to use topics 2019-03-02 16:58:27 -08:00
redirection.cpp Add dup2_list_t::fd_for_target_fd 2019-02-17 13:01:59 -08:00
redirection.h Add dup2_list_t::fd_for_target_fd 2019-02-17 13:01:59 -08:00
sanity.cpp Remove some empty code 2019-02-24 13:14:36 -08:00
sanity.h improve sanity check code 2017-01-24 15:24:13 -08:00
screen.cpp is_visual_escape_seq: whittle down the escape sequences attempted 2019-04-20 17:03:27 -07:00
screen.h std::vector<wcstring> is wcstring_list_t 2019-03-14 11:17:26 -07:00
signal.cpp Clean up and clarify reader_exit() 2019-02-24 13:24:03 -08:00
signal.h Remove the last of the signal blocking and checks 2019-02-23 14:07:35 -08:00
tinyexpr.cpp rearrange structure fields 2019-04-04 13:47:10 -07:00
tinyexpr.h [tinyexpr] Port to C++ 2018-12-30 19:34:06 +01:00
tnode.cpp Rework 'and' and 'or' to be "job decorators" 2018-03-05 13:41:36 -08:00
tnode.h Fix crash when nodeptr is null and node->get_source() is called 2018-09-26 21:03:55 -05:00
tokenizer.cpp src/tokenizer: Add ":@" to the list of non-path-component chars 2019-04-26 19:16:21 +02:00
tokenizer.h remove some wcstring -> wchar_t* -> wcstring conversions 2019-03-14 15:21:08 -07:00
topic_monitor.cpp Introduce topic monitoring 2019-02-17 13:01:59 -08:00
topic_monitor.h Use "internal" processes to write buffered output 2019-02-17 13:05:20 -08:00
utf8.cpp implement our own assert() function 2017-02-14 18:48:27 -08:00
utf8.h implement our own assert() function 2017-02-14 18:48:27 -08:00
util.cpp wcsfilecmp: sort - after everything else 2019-03-16 01:31:56 -07:00
util.h Remove mini() and maxi() 2019-03-12 23:25:15 -07:00
wcstringutil.cpp This commit changes wchar.h includes to cwchar, and uses std:: 2019-03-12 15:09:36 -07:00
wcstringutil.h Add overload of wcstringutil::trim that automatically trims whitespace 2018-10-01 17:12:18 -05:00
wgetopt.cpp Switches over to cstring from string.h. 2019-03-12 15:09:36 -07:00
wgetopt.h rearrange structure fields 2019-04-04 13:47:10 -07:00
wildcard.cpp Remove EXPAND prefix from expand_flags and lowercase them 2019-04-25 11:34:49 -07:00
wildcard.h Remove EXPAND prefix from expand_flags and lowercase them 2019-04-25 11:34:49 -07:00
wutil.cpp Revert "fcntl a little less" 2019-04-13 12:27:05 -07:00
wutil.h Clean up some headers in env and env_dispatch.cpp 2019-04-13 14:39:20 -07:00