aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Preserve existing file permissions when rewriting a history fileGravatar ridiculousfish2015-09-26
| | | | Fixes #2335
* Teach builtin_string to recognize redirections, not just pipesGravatar ridiculousfish2015-09-25
| | | | | Allows cases like `string split \n < file.txt` to work. Fixes 2422
* Prefix errors with 'string:', not 'string string:'Gravatar Michael Steed2015-09-24
|
* Eliminate global variables associated with builtin IOGravatar ridiculousfish2015-09-22
| | | | | | | This change eliminates global variables like stdout_buffer. Instead we wrap up the IO information into a new struct io_streams_t, and thread that through every builtin. This makes the intent clearer, gives us a place to hang new IO data, and eliminates the ugly global state management like builtin_push_io.
* Apply some care regarding overflow in `string sub`Gravatar ridiculousfish2015-09-21
|
* Include headers needed on LinuxGravatar ridiculousfish2015-09-21
|
* Clarify string split implementationGravatar ridiculousfish2015-09-21
| | | | | Use some template magic to handle the forward and reverse string split cases uniformly
* Take advantage of find_first_not_of and friendsGravatar ridiculousfish2015-09-21
| | | | Simplifies some of the logic in string_trim
* pcre2_strerror should use wcstring instead of static wchar_tGravatar ridiculousfish2015-09-21
|
* Use append_formatv in string_errorGravatar ridiculousfish2015-09-21
|
* Fix some type conversion warnings in builtin_stringGravatar ridiculousfish2015-09-21
| | | | Also pass around a wcstring for storage, instead of using a static
* Migrate builtin_string.cpp to its own object fileGravatar ridiculousfish2015-09-21
| | | | This keeps the architecture a little less surprising
* Merge new string builtinGravatar Michael Steed2015-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the new builtin 'string' which supports various string manipulation and matching algorithms, including PCRE based regular expressions. Fixes #2296 Squashed commit of the following: commit 4c3eaeb6e57d76463e9683c327142b0aeafb92b8 Author: ridiculousfish <corydoras@ridiculousfish.com> Date: Sat Sep 12 12:51:30 2015 -0700 Remove testdata and doc dirs from pcre2 source commit b2a8b4b50f2398b204fb72cfe4b5ba77ece2e1ab Merge: 11c8a47 7974aab Author: ridiculousfish <corydoras@ridiculousfish.com> Date: Sat Sep 12 12:32:40 2015 -0700 Merge branch 'string' of git://github.com/msteed/fish-shell into string-test commit 7974aab6d367f999f1140ab34c2535cef5cf3b00 Author: Michael Steed <msteed@saltstack.com> Date: Fri Sep 11 13:00:02 2015 -0600 build pcre2 lib only, no docs commit eb20b43d2d96b7e6d24618158ce71078de83c40b Merge: 1a09e70 5f519cb Author: Michael Steed <msteed68@gmail.com> Date: Thu Sep 10 20:00:47 2015 -0600 Merge branch 'string' of github.com:msteed/fish-shell into string commit 1a09e709d028393c9e9e6dc9a84278f399a15f3d Author: Michael Steed <msteed68@gmail.com> Date: Thu Sep 10 19:58:24 2015 -0600 rebase on master & address the fallout commit a0ec9772cd1a0a548a501a7633be05dab4e5ee46 Author: Michael Steed <msteed68@gmail.com> Date: Thu Sep 10 19:26:45 2015 -0600 use fish's wildcard_match() for glob matching commit 64c25a01e3f7234f220ba13545cf658a7492b1a4 Author: Michael Steed <msteed68@gmail.com> Date: Thu Aug 27 08:19:23 2015 -0600 some fixes from review - string_get_arg_stdin(): simplify and don't discard the argument when the trailing newline is absent - fix calls to pcre2 for e.g. string match -r -a 'a*' 'b' - correct test for args coming from stdin commit ece7f35ec5f4093763627d68d671b6c0c876896d Author: Michael Steed <msteed68@gmail.com> Date: Sat Aug 22 19:35:56 2015 -0600 fixes from review - Makefile.in: restore iwyu target - regex_replacer_t::replace_matches(): correct size passed to realloc() commit 9ff7477a926c4572e26171cab3cd42f8086be678 Author: Michael Steed <msteed68@gmail.com> Date: Thu Aug 20 13:08:33 2015 -0600 Minor doc improvements commit baf4e096b22dde3063b85b833795eb570d660ba7 Author: Michael Steed <msteed68@gmail.com> Date: Wed Aug 19 18:29:02 2015 -0600 another attempt to fix the ci build commit 896a2c2b279a419747bea26102229fbe84534a6f Author: Michael Steed <msteed68@gmail.com> Date: Wed Aug 19 18:03:49 2015 -0600 Updates after review comments - make match/replace without -a operate on the first match on each argument - use different exit codes for "no operation performed" and errors, as grep does - refactor regex compile code - use human-friendly error messages from pcre2 - improve error handling & reporting elsewhere - add a few tests - make some doc fixes - some simplification & cleanup - fix ci build failure (I hope) commit efd47dcbda2ca247d58bee56a7774cd75a1062fd Author: Michael Steed <msteed68@gmail.com> Date: Wed Aug 12 00:26:07 2015 -0600 fix dependencies for parallel make commit ed0850e2db467362066a3d94e3ececd17c1756cd Author: Michael Steed <msteed68@gmail.com> Date: Tue Aug 11 23:37:22 2015 -0600 Add missing pcre2 files + .gitignore commit 9492e7a7e929c03554336be1ddf80ca6b37f53c5 Author: Michael Steed <msteed68@gmail.com> Date: Tue Aug 11 22:44:05 2015 -0600 add pcre2-10.20 and update license.hdr commit 1a60b933718feb20c0bf7c9e257b8e495014ea1b Author: Michael Steed <msteed68@gmail.com> Date: Tue Aug 11 22:41:19 2015 -0600 add string builtin files - string builtin source, tests, & docs - changes to configure.ac & Makefile.in commit 5f519cb2a2c05213e0a88a7add7af288bc1c1352 Author: Michael Steed <msteed68@gmail.com> Date: Thu Sep 10 19:26:45 2015 -0600 use fish's wildcard_match() for glob matching commit 2ecd24f79500879e2de5bdf1b4c19dd44fc6ac85 Author: Michael Steed <msteed68@gmail.com> Date: Thu Aug 27 08:19:23 2015 -0600 some fixes from review - string_get_arg_stdin(): simplify and don't discard the argument when the trailing newline is absent - fix calls to pcre2 for e.g. string match -r -a 'a*' 'b' - correct test for args coming from stdin commit 45b777e4dc85c05cd4a186f4bdcae543c21aaf08 Author: Michael Steed <msteed68@gmail.com> Date: Sat Aug 22 19:35:56 2015 -0600 fixes from review - Makefile.in: restore iwyu target - regex_replacer_t::replace_matches(): correct size passed to realloc() commit 981cbb6ddf742a5fe8881af916e7b870b7e6422a Author: Michael Steed <msteed68@gmail.com> Date: Thu Aug 20 13:08:33 2015 -0600 Minor doc improvements commit ddb6a2a8fdb6aa31aad41e80d5481bb32c6ed8ff Author: Michael Steed <msteed68@gmail.com> Date: Wed Aug 19 18:29:02 2015 -0600 another attempt to fix the ci build commit 1e34e3191b028162863d263e9868052f75194aa5 Author: Michael Steed <msteed68@gmail.com> Date: Wed Aug 19 18:03:49 2015 -0600 Updates after review comments - make match/replace without -a operate on the first match on each argument - use different exit codes for "no operation performed" and errors, as grep does - refactor regex compile code - use human-friendly error messages from pcre2 - improve error handling & reporting elsewhere - add a few tests - make some doc fixes - some simplification & cleanup - fix ci build failure (I hope) commit 34232e152df17a3cfbf0a094dd51d148a4f04e6f Author: Michael Steed <msteed68@gmail.com> Date: Wed Aug 12 00:26:07 2015 -0600 fix dependencies for parallel make commit 00d7e781697f53454beb91c1d0fc4b2d28d6e034 Author: Michael Steed <msteed68@gmail.com> Date: Tue Aug 11 23:37:22 2015 -0600 Add missing pcre2 files + .gitignore commit 4498aa5f576e09634f7f619443e74d2f33c108e4 Author: Michael Steed <msteed68@gmail.com> Date: Tue Aug 11 22:44:05 2015 -0600 add pcre2-10.20 and update license.hdr commit 290c58c72e22db644ccf6fa9088051644980ed0a Author: Michael Steed <msteed68@gmail.com> Date: Tue Aug 11 22:41:19 2015 -0600 add string builtin files - string builtin source, tests, & docs - changes to configure.ac & Makefile.in
* Fix process expansion on OS XGravatar ridiculousfish2015-09-15
| | | | | Puts back sys/sysctl.h header, so we know to use BSD style process expansion
* Fix tests under certain vswprintf callsGravatar ridiculousfish2015-09-12
| | | | | Work around an issue where vswprintf may not append ANY_STRING from a format specifier
* Don't crash on complete -C in non-interactive modeGravatar ridiculousfish2015-09-10
| | | | Fixes #2361
* reader.cpp: send smkx/rmkx when entering/leaving interactive modeGravatar David Adam2015-09-10
| | | | Closes #2139.
* Stop exporting fish configuration directories (argh)Gravatar ridiculousfish2015-09-09
|
* Rename sgrep to __fish_sgrepGravatar Fabian Homborg2015-09-09
| | | | Makes it harder to cause issues with aliases, see fish-shell#2245
* Use the $TERM value from fish's computed environment for ncurses setupGravatar Chris Pick2015-09-09
| | | | | | | | | | Previously, the process's inherited $TERM value would be used. This prevented users from being able to set $TERM in their config.fish files. To make matters worse, the error message would print the computed $TERM value, giving the mistaken impression that it was being used. Signed-off-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
* Fix error message for variable used as commandGravatar Corey Ford2015-09-03
|
* env_universal_common: always pick shmem strategy on CygwinGravatar David Adam2015-08-24
| | | | | | | | Cygwin FIFOs do not support more than one reader, so avoid them on this platform. An autoconf feature test would be helpful but is tricky to write. Closes #2152.
* Rewrite parse_util_unescape_wildcardsGravatar ridiculousfish2015-08-19
| | | | Make it simpler, and use wcstring instead of wcsdup
* Remove unused original_pid variableGravatar ridiculousfish2015-08-18
|
* Define a constant for function-not-found in input.cppGravatar ridiculousfish2015-08-16
| | | | | Avoids differences in widths of wchar_t, hopefully addressing issue #2284
* Factor function environment preparation into its own functionGravatar ridiculousfish2015-08-15
|
* Remove some dead #definesGravatar ridiculousfish2015-08-11
|
* Dead macro cleanupGravatar ridiculousfish2015-08-10
| | | | Enable -Wunused-macros, and remove said unused macros
* Use ++iter, not iter++ in input.cppGravatar ridiculousfish2015-08-10
|
* Correct the caret position for unbalanced square bracketsGravatar ridiculousfish2015-08-10
|
* Correct the positioning of the error caretGravatar ridiculousfish2015-08-10
| | | | | | When an error occurs midway through a token, like abc(def, make the caret point at the location of the error (i.e. the paren) instead of at the beginning of the token.
* Make expansion test robust against different filesystem ordersGravatar ridiculousfish2015-08-08
| | | | Should make the tests pass on Linux
* Add wreaddir_for_dirs functionGravatar ridiculousfish2015-08-08
| | | | Eliminates some stat calls, speeding up wildcard expansion
* Remove a bogus function declarationGravatar ridiculousfish2015-08-08
|
* Eliminate wildcard_expand functionGravatar ridiculousfish2015-08-08
|
* Initial implementation of intermediate fuzzy completionGravatar ridiculousfish2015-08-08
| | | | e.g. /u/l/b<tab> may be expanded to /usr/local/bin
* Experiment to rework wildcard matchingGravatar ridiculousfish2015-08-08
| | | | | Preparation for zsh-style intermediate component tab completion
* Tweak try_add_completion_result logicGravatar ridiculousfish2015-08-08
| | | | Preparation for zsh-style intermediate fuzzy matching
* Migrate the prepend_token_prefix logic into the expanderGravatar ridiculousfish2015-08-08
|
* Factor the expander class a bit moreGravatar ridiculousfish2015-08-08
|
* Move the "wildcard_complete" test into wildcard_test_flags_then_completeGravatar ridiculousfish2015-08-08
| | | | Simplifies code yet further
* Eliminate the wildcard_expand_internal functionGravatar ridiculousfish2015-08-08
|
* rename FOR_COMPLETIONS to EXPAND_FOR_COMPLETIONSGravatar ridiculousfish2015-08-08
| | | | This is yet clearer
* Slight refactoring of expander's return code implementationGravatar ridiculousfish2015-08-08
|
* Rewrite wildcard_complete_internal to be easier to followGravatar ridiculousfish2015-08-08
|
* Remove some dead codeGravatar ridiculousfish2015-08-08
|
* Factor the completion prefix behavior into its own functionGravatar ridiculousfish2015-08-08
| | | | | | In a few places, we need to add a prefix to completions that replace the token. This change factors that logic into its own function prepend_token_prefix.
* Eliminate recurse_to_subdirectories functionGravatar ridiculousfish2015-08-08
|
* rename ACCEPT_INCOMPLETE to FOR_COMPLETIONS, which is clearerGravatar ridiculousfish2015-08-08
|
* Turn on the new wildcard expanderGravatar ridiculousfish2015-08-08
|