Johannes Altmanninger
f57c5e3a5f
history: remove bogus assertion crashing on empty history items
...
In LastC++11, an empty history item means we either reached the end of history,
or the item is actually empty. The second meaning is still true. We never
append empty history items but the history file might have been modified.
Fixes #10129
2023-11-29 20:26:36 +01:00
Fabian Boehm
b23057ee61
fix fmt
2023-11-29 17:03:10 +01:00
Fabian Boehm
13ba5bd405
disown: Fix a format string
...
Missed in 77aeb6a2a8
, this would crash otherwise.
2023-11-29 16:59:53 +01:00
ridiculousfish
9b54e243b1
Add FFI bindings to universal notifiers and adopt in input_common
...
This removes the C++ bits for universal notifiers.
2023-11-26 17:29:53 -08:00
ridiculousfish
acd0bf1a43
Migrate uvar notifier test helper into its own module
...
Reduce the amount of stuff in mod.rs
2023-11-26 17:29:48 -08:00
ridiculousfish
a950a8270d
Create an inotify based universal notifier for Linux
...
Recall that universal notifiers are used to report changes to universal
variables to other shell instances. This adds a new strategy based on using
inotify to directly monitor the universal variables
file.
We have tried this in the past and abandoned it because it doesn't properly
work on some CI systems - let's try again.
2023-11-26 17:29:48 -08:00
ridiculousfish
38d198a83a
Port macOS universal notifiers to Rust
...
This ports the notifyd-based universal notifier to Rust.
2023-11-26 17:29:48 -08:00
ridiculousfish
0f29e0de2f
Remove extract_most_significant_digit
...
This is now unused.
2023-11-26 17:23:37 -08:00
ridiculousfish
99dfbaffb9
Remove an unreachable_code "allow" declaration
...
This is no longer necessary - all of the code is readable.
2023-11-26 17:23:02 -08:00
Alex Chan
efd5db4a85
Add a missing space after a comma
...
(cherry picked from commit ccc8308d41
)
2023-11-26 22:45:11 +08:00
Alex Chan
ccc8308d41
Add a missing space after a comma
2023-11-26 22:44:54 +08:00
David Adam
f2f41c6eec
drop unused functions and configure checks
...
Remove the following C++ functions/methods, which have no callers:
common.cpp:
- read_loop
- narrow_string_safe
- escape_string_for_double_quotes
- read_unquoted_escape
- format_size
- format_size_safe
- valid_func_name
- get_executable_path
env.cpp:
- env_stack_t::set_empty
- env_stack_t::set_argv
fallback.cpp:
- fish_mkstemp_cloexec
- flock
proc_util.cpp:
- parse_util_slice_length
- parse_util_argument_is_help
path.cpp:
- path_get_path
- path_as_implicit_cd
- path_apply_working_directory
- path_emit_config_directory_messages
- path_get_data_remoteness
- path_get_config_remoteness
- path_is_valid
- paths_are_same_file
wcstringutil.cpp:
- split_string_tok
wutil.cpp:
- wgetcwd
- wunlink
- wrealpath
- wrename
- file_id_for_path
- fish_wcstoull
Also drop unused configure checks/defines:
- HAVE_FLOCK
2023-11-26 22:35:51 +08:00
ridiculousfish
f773697bc1
Fix a clippy lint in ConstPointer
2023-11-25 19:12:14 -08:00
ridiculousfish
0f3d4b754f
Fix some bogus unused import warnings
2023-11-25 19:12:11 -08:00
ridiculousfish
cf4f07b837
Correct a misseplling
2023-11-25 16:01:58 -08:00
Fabian Boehm
62b9a0f983
path: Keep metadata around for special permissions
2023-11-24 17:05:08 +01:00
Fabian Boehm
9d1c0da773
path: Reduce syscalls for special permissions
...
This
1. Skips access() if we only have "special" permissions like the owner
that need stat
2. Does the geteuid()/getegid() *once* outside of filter_path, if we
need it
In the extreme case of `path filter --perm user,group` it will remove
3 syscalls per file.
2023-11-24 17:05:08 +01:00
Yonas Yanfa
1c2440c3ac
Enable dynamic title in Rio and Foot terminals ( #10115 )
2023-11-24 17:04:50 +01:00
Christian Fersch
1980a22522
git completion: Handle aliases referencing other aliases ( #9992 )
2023-11-24 17:03:02 +01:00
Husam Harazi
3c814bf53d
Add wpctl
completions ( #10043 )
...
* Add wpctl completions
* Reviewed comments
2023-11-24 16:59:01 +01:00
Asuka Minato
9f9accf203
Update tar.fish ( #10079 )
...
* Update tar.fish
* add more long options
* add more options
2023-11-24 16:58:32 +01:00
Fabian Boehm
21b5f6f163
docs: Fix markdown links
2023-11-22 18:42:34 +01:00
Fabian Boehm
ed489d0d52
Add __fish_anypager helper
...
This makes it easier to get *any pager* in the number of places we do.
Unfortunately:
1. It can't just execute the pager because that might block
2. We can't really set the necessary options for less here
so they still need to be set outside.
This
Fixes #10074
by falling back to `cat` in that case. We could also decide to abort
instead of using a non-pager, but for history that's probably fine.
2023-11-20 17:16:35 +01:00
Fabian Boehm
6361362996
Replace some direct uses of libc with wrappers ( #10090 )
...
This removes some spurious unsafe blocks and makes usage a bit nicer
2023-11-19 20:07:24 +01:00
Fabian Boehm
45829804af
tests: Skip job_summary under ASAN in CI
2023-11-19 19:46:05 +01:00
Nater0214
1a42c97f75
completions: add checkinstall
2023-11-19 09:42:37 -08:00
ridiculousfish
c1e4a447fd
Remove C++ UTF-8 bits
...
These are no longer used.
2023-11-18 19:21:25 -08:00
ridiculousfish
a718852ad4
Fix a typo and suppress an annoying clippy lint
2023-11-18 19:03:23 -08:00
ridiculousfish
da646a38ba
Remove some unnecessary widestrs
2023-11-18 19:03:23 -08:00
ridiculousfish
f0eaa516c0
Stop boxing ParseExecutionContext
...
This wasn't necessary - probably a holdover from using unique_ptr in C++.
2023-11-18 19:03:23 -08:00
ridiculousfish
89376d5fd0
Fix a clippy lint
2023-11-18 19:03:23 -08:00
Johannes Stölp
1cba28c120
[doc]: fix --path description of set cmd
2023-11-18 19:00:56 -08:00
ridiculousfish
c38a7e4f84
Revert "completions: add chezmoi completions"
...
This reverts commit ee2c0c4a4c
.
chezmoi installs completions to vendor_completions.d - unclear if we want to
ship this.
2023-11-18 18:56:55 -08:00
Jasmin Oster
ee2c0c4a4c
completions: add chezmoi completions
2023-11-18 18:54:03 -08:00
a-kenji
17eadcff03
Fix small typos
2023-11-18 18:27:25 -08:00
ridiculousfish
a9f346acf0
Remove some environment and null_terminated_array ffi bits
...
These are now unused and can be removed.
2023-11-18 11:12:25 -08:00
ridiculousfish
377ef9786e
Remove null_terminated_array C++ bits
...
These are now unused.
2023-11-18 10:28:52 -08:00
Johannes Altmanninger
7df70e18f4
Add hint to error message about cmdsub in command position
...
We might end up allowing this but let's add some help for now.
See #5575
2023-11-18 12:26:45 +01:00
Fabian Boehm
366b3f21c6
tests: Increase a sleep
2023-11-15 17:58:42 +01:00
Johannes Altmanninger
f3ce78bc53
history: remove spurious UTF-8 check regression
...
Closes #10102
2023-11-15 16:31:33 +01:00
Johannes Altmanninger
7f67588e63
fish_tests: label tests to indicate if they need porting
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
4e37dc29dc
Fix autosuggestion dropping too many keyword tokens
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
6569943cb8
Port builtin read
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
77aeb6a2a8
Port execution
...
Drop support for history file version 1.
ParseExecutionContext no longer contains an OperationContext because in my
first implementation, ParseExecutionContext didn't have interior mutability.
We should probably try to add it back.
Add a few to-do style comments. Search for "todo!" and "PORTING".
Co-authored-by: Xiretza <xiretza@xiretza.xyz>
(complete, wildcard, expand, history, history/file)
Co-authored-by: Henrik Hørlück Berg <36937807+henrikhorluck@users.noreply.github.com>
(builtins/set)
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
c4155db933
Rename Rust-side parser_t/io_streams_t to Parser/IoStreams
...
This reduces noise in the upcoming "Port execution" commit.
I accidentally made IoStreams a "class" instead of a "struct". Would be
easy to correct that but this will be deleted soon, so I don't think we care.
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
aaa48e89a5
Temporarily rename Rust-native IoStreams to make way
...
The next commit will use this name.
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
6280fcc8c5
Don't use virtual dispatch for OutputStream
...
It's not really needed since we know all specializations.
Also this allows us to define generic methods like
fn append(&self, s: AsRef<wstr>);
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
7fd4ad025a
Traced refcell and mutex wrappers for debugging
2023-11-15 11:09:48 +01:00
Johannes Altmanninger
aec6b9e5e1
common: simplify a variable definition
2023-11-15 11:09:48 +01:00
Fabian Boehm
723bfb9aaf
docs/complete: List --description with the options
2023-11-14 16:32:43 +01:00