Commit Graph

18188 Commits

Author SHA1 Message Date
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
Dmitriy Shishkov
bd4adf86f4 Replaced double quotation marks with single in dnf.fish completions 2023-11-12 18:35:49 +01:00
exploide
a390e36e9d completions: improved netcat completions
- fixed a copy and paste error from 7b8684e
- enhanced ncat completions
2023-11-10 15:43:39 +01:00
Fabian Boehm
8d5d0c24aa expand_cmdsubst: Make more errors known
These printed "Unknown error while evaluating command substitution".

Now they print something like

```
fish: for: status: cannot overwrite read-only variable
for status in foo; end
    ^~~~~^
in command substitution
fish: Invalid arguments
echo (for status in foo; end)
     ^~~~~~~~~~~~~~~~~~~~~~~^
```

for `echo (for status in foo; end)`

This is, of course, still not *great*. Mostly the `fish: Invalid
arguments` is basically entirely redundant.

An alternative is to simply skip the error message, but that requires some
more scaffolding (describe_with_prefix adds some error messages on its
own, so we can't simply say "don't add the prefix if we don't have a
message")

(cherry picked from commit 1b5eec2af6)
(cherry picked from commit 67faa107b0)
2023-11-09 17:53:32 +01:00
Fabian Boehm
67faa107b0 expand_cmdsubst: Make more errors known
These printed "Unknown error while evaluating command substitution".

Now they print something like

```
fish: for: status: cannot overwrite read-only variable
for status in foo; end
    ^~~~~^
in command substitution
fish: Invalid arguments
echo (for status in foo; end)
     ^~~~~~~~~~~~~~~~~~~~~~~^
```

for `echo (for status in foo; end)`

This is, of course, still not *great*. Mostly the `fish: Invalid
arguments` is basically entirely redundant.

An alternative is to simply skip the error message, but that requires some
more scaffolding (describe_with_prefix adds some error messages on its
own, so we can't simply say "don't add the prefix if we don't have a
message")

(cherry picked from commit 1b5eec2af6)
2023-11-09 17:51:15 +01:00
Fabian Boehm
255653bf32 docs: Make the vendor dirs a nested list
(cherry picked from commit f81c9cba50)
2023-11-07 19:59:32 +01:00
Fabian Boehm
80000ef4d5 Document $__fish_vendor_confdirs and __fish_build_paths
Fixes #10078

(cherry picked from commit ddd9d183e2)
2023-11-07 19:59:32 +01:00