mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 09:03:37 +08:00
c71342b933
This is not yet used but will take eventually take the place of all (n)curses access. The curses C library does a lot of header file magic with macro voodoo to make it easier to perform certain tasks (such as access or override string capabilities) but this functionality isn't actually directly exposed by the library's ABI. The rust wrapper eschews all of that for a more straight-forward implementation, directly wrapping only the basic curses library calls that are required to perform the tasks we care about. This should let us avoid the subtle cross-platform differences between the various curses implementations that plagued the previous C++ implementation. All functionality in this module that requires an initialized curses TERMINAL pointer (`cur_term`, traditionally) has been subsumed by the `Term` instance, which once initialized with `curses::setup()` can be obtained at any time with `curses::Term()` (which returns an Option that evaluates to `None` if `cur_term` hasn't yet been initialized). |
||
---|---|---|
.. | ||
src | ||
widestring-suffix | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml |