ridiculousfish
82eca4bc86
Run clang-format on all files
...
The main change here is to reorder headers.
2019-10-13 15:50:48 -07:00
ridiculousfish
a19d9b2e73
Add a test for #6130
2019-09-22 14:06:38 -07:00
Johannes Altmanninger
8baea8b157
Do not add a space after completion if one is already there
...
Example: type `cd --help --help`, move the cursor inside the first `--help` and press tab.
This used to add redundant spaces.
2019-09-18 14:02:24 -05:00
ridiculousfish
535a448d0e
Remove an errant fprintf
2019-09-08 15:44:07 -07:00
ridiculousfish
b2fe2f9ff3
Correct escaping and add tests for bracket completion
...
Add some tests for new bracket completion behavior, and fix an escaping
bug where \\[ was incorrectly marked as escaping.
2019-09-08 15:43:20 -07:00
ridiculousfish
0dc5eaeb97
reader_expand_abbreviation_in_command to return maybe_t<wcstring>
2019-08-06 16:09:23 -07:00
ridiculousfish
822b53c67a
Don't color a whole string invalid because of an unclosed quote
...
When syntax highlighting a quoted string, if the string is not closed,
only show the opening quote as an error, not the whole string.
2019-07-24 12:43:47 -07:00
ridiculousfish
8ec568d21f
Add some tests to path_apply_working_directory
2019-07-15 17:56:06 -07:00
ridiculousfish
0e4fe53718
clang-format some files
2019-07-06 13:11:50 -07:00
ridiculousfish
bc0329f775
Add wcstolower
...
Converts a string to lowercase. Eliminates some loops that did this
explicitly.
2019-07-06 12:19:34 -07:00
ridiculousfish
4a2c709fb1
Eliminate shell_is_interactive
...
We used to have a global notion of "is the shell interactive" but soon we
will want to have multiple independent execution threads, only some of
which may be interactive. Start tracking this data per-parser.
2019-06-29 11:28:26 -07:00
Fabian Homborg
caedf01c00
Revert "Latch signal handlers"
...
This reverts commit 7ed1022cf4
.
Fixes #5962 .
2019-06-25 11:25:09 +02:00
ridiculousfish
be97499106
Revert "Revert "Add a test for autoload_t""
...
This reverts commit 2507162f80
.
Put back the autoload test.
2019-06-07 12:12:43 -07:00
ridiculousfish
fc99d6c7af
clang-format all files
2019-06-03 20:30:48 -07:00
ridiculousfish
890c1188ab
Instantize and rationalize locking around the input mapping set
...
Hypothetically a background thread could invoke builtin_bind, etc.
Protect the set of input bindings with a lock.
2019-06-02 22:54:01 -07:00
ridiculousfish
671df14178
Thread a parser into inputter_t
2019-06-02 16:41:13 -07:00
ridiculousfish
a48dbf23b8
Instantize the character event queue
...
Wrap this stuff up in structs so it's no longer global.
2019-06-02 16:37:05 -07:00
Fabian Homborg
61292b0c6c
fish_tests: Fix warnings
2019-05-29 21:11:08 +02:00
David Adam
c848787107
add extra test for wcsfilecmp
...
Test changes added for #5634 in 6e525cc5d9
.
2019-05-28 22:03:03 +08:00
ridiculousfish
7ed1022cf4
Latch signal handlers
...
Now that our interactive signal handlers are a strict superset of
non-interactive ones, there is no reason to "reset" signals or take action
when becoming non-interactive. Clean up how signal handlers get installed.
2019-05-26 18:04:03 -07:00
Dawid Dziurla
0b3bb0e7c1
Underline every valid entered path ( #5872 )
...
* src/highlight: Underline every valid entered path
* update CHANGELOG
* fix highlight test
2019-05-19 10:03:56 +02:00
ridiculousfish
c44dae2d73
Migrate certain runtime flags to atomics hidden behind functions
2019-05-18 18:50:28 -07:00
ridiculousfish
1719d6f136
Make $status and $pipestatus per-parser
...
Another step towards allowing multiple parsers to execute in parallel.
2019-05-12 14:00:44 -07:00
ridiculousfish
cfddd881ef
Make PWD a per-processor variable
...
Handle this variable specially.
2019-05-11 17:13:34 -07:00
ridiculousfish
8a8b2513b5
Eliminate the global jobs() function
...
All job lists are attached to a parser now.
2019-05-05 11:33:08 -07:00
Fabian Homborg
c2970f9618
Reformat all files
...
This runs build_tools/style.fish, which runs clang-format on C++, fish_indent on fish and (new) black on python.
If anything is wrong with the formatting, we should fix the tools, but automated formatting is worth it.
2019-05-05 12:09:25 +02:00
ridiculousfish
f66e010949
Turn a lot of common.h variables into getter functions
...
Improves thread safety.
2019-05-04 20:58:35 -07:00
ridiculousfish
bffacd2fbf
Thread a parser into expansion
...
Expansion may perform command substitution, which needs to know the parser
to use.
2019-05-04 19:30:00 -07:00
ridiculousfish
923a7ca0f0
Thread the parser into complete()
...
Eliminates uses of principal_parser
2019-05-04 18:17:18 -07:00
ridiculousfish
63bdc949ab
Make completion request flags an enum_set
2019-05-04 17:55:57 -07:00
ridiculousfish
ec45f31ad1
Make debug_level an atomic
...
Fixes a tsan warning
2019-05-04 15:28:44 -07:00
ridiculousfish
d8ac051f89
Move selection_direction_t to pager.h and make it a class enum
2019-04-28 14:06:03 -07:00
ridiculousfish
2507162f80
Revert "Add a test for autoload_t"
...
This reverts commit 51c62d6cc6
.
Back out the test while I attempt to fix it
2019-04-27 20:14:06 -07:00
ridiculousfish
51c62d6cc6
Add a test for autoload_t
2019-04-27 16:16:48 -07:00
ridiculousfish
96bc8a14ca
Promote completion_mode_t to a real type
...
Eliminate big #defines like NO_COMMON.
2019-04-25 14:21:06 -07:00
ridiculousfish
496529b20a
Remove EXPAND prefix from expand_flags and lowercase them
2019-04-25 11:34:49 -07:00
ridiculousfish
d8ab6290e8
Switch expand_flags_t to enum_set
2019-04-25 11:23:03 -07:00
ridiculousfish
dcaac58f45
Rename expand_error_t to expand_result_t and make it class enum
...
Also lowercase it all.
2019-04-25 10:47:28 -07:00
ridiculousfish
020d4a2848
Adopt env_scoped_t::snapshot() and remove env_var_snapshot_t
...
Remove the env_var_snapshot_t class and switch everything to the new snapshot
function of env_scoped_t.
Fixes #5658 . Fixes #5571 .
2019-04-14 15:50:38 -07:00
Mahmoud Al-Qudsi
05f52924c1
Fix bad tests
...
These tests used raw, unescaped parentheses to perform `test` logical
grouping, but the test failures weren't caught because the parser
evaluation errors were not being propagated (fixed in bdbd173e).
2019-04-13 17:28:16 -05:00
ridiculousfish
e7d7eff0ee
Rename all readline commands to lowercase and remove R_ prefix
2019-03-23 23:31:35 -07:00
ridiculousfish
2c56e27d37
Switch readline commands to readline_cmd_t enum class
2019-03-23 23:31:25 -07:00
ridiculousfish
c2be5e8986
Introduce char_event_type_t::readline
...
Baby steps towards eliminating readline actions as characters.
2019-03-23 23:31:18 -07:00
ridiculousfish
185805641c
Remove R_TIMEOUT
...
Promote timeout to a char_event_type_t, moving it out of the "char" namespace.
This will help simplify the readline implementation.
2019-03-23 20:10:06 -07:00
ridiculousfish
a58662dd46
Make maybe_t conditionally copyable
...
This allows it to be used with both e.g. unique_ptr and std::vector.
2019-03-17 13:38:18 -07:00
Aaron Gyes
d837eee09d
remove some wcstring -> wchar_t* -> wcstring conversions
...
Mostly related to usage _(L"foo"), keeping in mind the _
macro does a wcstring().c_str() already.
And a smattering of other trivial micro-optimizations certain
to not help tangibly.
2019-03-14 15:21:08 -07:00
Aaron Gyes
477b2e8d7c
std::vector<wcstring> is wcstring_list_t
2019-03-14 11:17:26 -07:00
Aaron Gyes
aaacdb89b6
Switches over to cstring from string.h.
2019-03-12 15:09:36 -07:00
Aaron Gyes
d5ac239f68
This commit changes wchar.h includes to cwchar, and uses std::
...
for everything it provides.
2019-03-12 15:09:36 -07:00
ridiculousfish
9b9c1aa745
Fix some unused variable warnings
2019-03-03 18:06:31 -08:00