Johannes Altmanninger
f9a48dc946
flog.rs: allow trailing commas
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
91008acd3e
fd_monitor.rs: make NativeCallback public
...
The upcoming io.rs calls "FdMonitorItem::new". We cannot pass a closure,
we must pass an object of type NativeCallback.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
7069455e68
topic_monitor.rs: minor touch-up
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
483f893613
fds.rs: port the open_cloexec family
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
a5cae59082
Replace ScopedPush with scoped_push which is underpinned by ScopeGuard
...
This allows us to use the scoped push in more scenarios by appeasing the
borrow checker.
Use it in a couple of places instead of ScopeGuard. Hopefully this is makes
porting easier.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
2d4fbc290b
Teach ScopeGuard to expose a custom view on deref()
...
This allows the upcoming scoped_push to stuff internal data into the context,
but not expose it to the user.
(This change is a bit ugly, needs polish)
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
a696f16aa1
compat.c: wrapper to access ncurses cur_term
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
9d436ee5e9
common.rs: port get_by_sorted_name()
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
c6b8b7548f
common.rs: add fwprintf and fwputs for convenience
...
We should get rid of them but this helps with porting.
Not sure if they are fully correct.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
f53aa6f2e3
Port the rest of wutil
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
d3a7e3ffd9
Allow to call join_strings with a &[WString]
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
8e972dbab0
Move wrealpath and normalize_path to match C++ structure
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
b7638b50e4
common.rs: convenience function to convert to OsString
...
Even though we generally dont' want to use this type (because it's immutable),
it can be advantageous when working with the std::fs API. This is because
it implements "AsRef<Path>" which neither of CString and Vec<u8> do.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
bfe68e6a83
common.rs: helper to convert from C-string of unknown length to wide
...
On the C++ side we have an overload that called std::wcslen(), this is the
equivalent one.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
3163efb87f
Port most of fallback
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
1426d1bcb0
Port widecharwidth
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
8bbf663dee
common.rs: make some functions public
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
bff0caf1d8
common.rs: remove typedefs that have been ported to elsewhere
...
In general we should keep the existing structure, to minimize surprise.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
8ae1ba3432
wutil: remove unused locale handling code that has been ported already
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
77ae80f842
wutil.cpp: remove unused function
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
d47590b864
proc.h: remove unused declaration
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
16ea4380c5
redirection.rs: don't leak FFI type into Rust code
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
807d1578c3
redirection.rs: make redirection spec fields public like in C++
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
11e16ef6df
env.rs: rename flags::EnvMode to EnvMode
...
The "flags" module was introduced when these where standalone constants.
Now that we define them as bitflags, we no longer need the extra namespace.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
8e5adbf237
Use borrowing syntax instead of std::ptr::addr_of where possible
...
We usually don't need to cast; this looks simpler.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
ed2b98dd9a
lib.rs: group common.rs before other modules, because it exports macros
...
This allows us to keep the next group sorted.
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
a848877e65
Remove an overload in io, to prepare for Rust
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
85ae1861fa
common.rs: fix leftover comment
2023-04-16 17:21:54 +02:00
Johannes Altmanninger
df6525e770
Make RustBuiltin a scoped enum
...
This prevents name clashes. It already is used as scoped enum.
2023-04-16 17:21:54 +02:00
Xiretza
61028f020c
cargo update
...
This fixes an issue with rust-analyzer always rebuilding even without changes,
which was introduced by b8189da011
.
2023-04-16 17:21:54 +02:00
Fabian Boehm
bf0ebd3967
Actually add builtin.rs
2023-04-16 11:41:41 +02:00
Fabian Boehm
72a32f1a12
Rewrite "builtin" builtin in Rust
...
This is very simple and basically a subset of type.
2023-04-16 11:30:31 +02:00
Fabian Boehm
b65a53a2a6
Rewrite "command" builtin in Rust
...
This is basically a subset of type, so we might as well.
To be clear this is `command -s` and friends, if you do `command grep` that's
handled as a keyword.
One issue here is that we can't get "one path or not" because I don't
know how to translate a maybe_t? Do we need to make it a shared_ptr instead?
2023-04-16 11:27:08 +02:00
Fabian Boehm
662a4740e2
Rewrite the type builtin in rust
2023-04-16 11:27:08 +02:00
Fabian Boehm
7c37b681b2
Expose out_is_redirected to rust
2023-04-16 11:27:08 +02:00
Fabian Boehm
d02d0f3309
highlight: Add colorize_shell wrapper
...
Since we don't reuse the vector anyway, this allows us to keep the
highlighting on the C++-side.
2023-04-16 11:27:08 +02:00
Fabian Boehm
31d65de26c
function: Add a bunch of awkward helper functions
...
This makes function_properties_ref_t not const, in order to work
around cxx
2023-04-16 11:27:08 +02:00
Fabian Boehm
d0c2d0c9cf
path: Add method to return wcstring_list_ffi_t
...
This is palatable to Cxx
2023-04-16 11:27:08 +02:00
ridiculousfish
15c8f08458
Eliminate to_rust_string_vec
...
This can just use wcstring_list_ffi_t now.
2023-04-15 18:15:37 -07:00
ridiculousfish
dee969bf3a
Introduce wcstring_list_ffi_t
...
wcstring_list_ffi_t is an autocxx-friendly type for passing lists of
strings from C++ to Rust.
2023-04-15 17:53:52 -07:00
Jan Tojnar
9e223577aa
Fix composer require
completion
...
When no development dependencies are installed, the completion would crash with:
KeyError: 'require-dev'
2023-04-12 21:05:23 +02:00
Paweł Piątkowski
bda9d57417
Ansible completion: fix typo in --limit-hosts
2023-04-12 16:52:13 +02:00
Johannes Altmanninger
9983c32a57
Port over builtin exit codes
...
They used to live in common.h but they are mostly used by builtins so I
grudgingly accept the early move.
2023-04-11 09:29:28 +02:00
Mahmoud Al-Qudsi
d728b884dd
Update pinned cxx dependency
...
Pulls in fish-shell/cxx 00536f3b771c9741bc325b37e7627d52052240a3 which
implements `VectorElement` for `CxxWString`.
2023-04-10 20:51:07 -05:00
Eric N. Vander Weele
fdd4bcf718
completions/git: Allow switch to complete remote branches
...
While it is true that `git switch <remote-branch>` errors to disallow a detached
head without the `-d` option, it is valid to use any starting point (commit or
reference) in conjunction with the `-c` option. Additionally, the starting point
can occur before any option.
This enables the following completions:
* `git switch -c <local-name> <any-branch>`
* `git switch <any-branch> -c <local-name>`
* `git switch -d <any-starting-point>`
* `git switch <any-branch> -d`
The trade-off is this does allow for `git switch <remote-branch>` to be
completed with an error.
Note that this logically reverts 7e3d3cc30f
.
2023-04-10 17:04:34 +02:00
AsukaMinato
8a0510a2f2
add qjs completion
2023-04-10 11:02:43 +02:00
AsukaMinato
36e4b0ff30
add completion for ar ( #9720 )
...
* add completion for ar
* clean the function
* update CHANGELOG
2023-04-10 11:01:47 +02:00
ridiculousfish
de24e84a48
Changelog fix for #9722
2023-04-09 11:34:45 -07:00
abp
bbe2a2ba9b
completions: Shortened descriptions
...
- Mainly work is done on gcc
- Some duplicated removed elsewhere
2023-04-09 11:33:23 -07:00
ridiculousfish
0ad3e3a45d
Changelog fix for #9717
2023-04-08 20:23:21 -07:00