#fishshell rewrite-it-in #rust progress, 2023-08-14
48025 rust lines added
23299 / 77063 C++ lines removed
▓▓▓▓▓▓░░░░░░░░░░░░░░ 30 %
--
The path and functions builtins have been ported, as well as some of the spawn machinery and the last pieces of the killring.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-08-07
46458 rust lines added
21679 / 77063 C++ lines removed
▓▓▓▓▓░░░░░░░░░░░░░░░ 28 %
--
Not a lot of movement this week, with some of our committers on break. Personally, I decided it is more important (but less interesting) for me to work on getting a release of the old codebase out than porting little builtins.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-07-31
46368 rust lines added
21685 / 77063 C++ lines removed
▓▓▓▓▓░░░░░░░░░░░░░░░ 28 %
The string builtin port has been merged, which has seen the removal of a lot of C++. There's PRs in for another few builtins but no review as yet. There's work being done on the port of the parser but there's a huge chunk of interlinked code.
I think the string builtin is interesting when you look at fish's history. Under the 1.x design goals it would never have been added - there's already enough string manipulation tools in the standard Unix toolkit. Under the newer guidelines, there's clearly a place for a unified command with consistent UI and the improved performance in loops that comes from builtins.
#fishshell #rust #riir #rustlang
How does the code-base continue working if you progressively replace C++ with Rust? Are you going class-by-class, module-by-module and have some inter-language communication? Or are these separate services? Is there more information about this process?
#CPP #Rust #Rustlang #opensource #FishShell #riir #development
#cpp #rust #rustlang #opensource #fishshell #riir #development
#fishshell rewrite-it-in #rust progress, 2023-07-24
43444 rust lines added
18729 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 24 %
--
The function module and its accompanying builtin have been ported. The string builtin PR edges ever closer to being merged (and currently removes nearly 3000 lines of C++).
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-07-17
42206 rust lines added
17911 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 23 %
--
No new areas ported this week but some refactoring and cleanup, including some unused C++. Any claims that I went looking for unused C++ just to enlarge my progress bar are unfounded.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-07-10
41974 rust lines added
17719 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 22 %
--
Some work on parallelising the tests. I've ported the cd builtin, and the hype is real - Rust's error messages really are good, and if it compiles it's most of the way to working. Already feel confident in Rust in a way I never did in C++.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-07-03
41589 rust lines added
17362 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 22 %
--
Port of status builtin has been merged, string is still in progress. I tried to do some work on the input side and there's a lot of global variables to be untangled.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-06-26
40903 rust lines added
16819 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 21 %
--
Port of argparse has been merged. Looks like string will be next.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-06-19
39871 rust lines added
16090 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 20 %
The output module and the set_color builtin have been ported. There's a PR for the argparse builtin awaiting merge, too.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-06-12
38762 rust lines added
15434 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 20 %
--
Nothing new merged since last report, but there's a PR in for the output module and the set_color builtin.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-06-05
38762 rust lines added
15434 / 77063 C++ lines removed
▓▓▓▓░░░░░░░░░░░░░░░░ 20 %
--
The tiny print_help module and the killring module have been ported. There's been a lot of discussion around some of the supporting data structures.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-05-29
38615 rust lines added
15351 / 77063 C++ lines removed
▓▓▓░░░░░░░░░░░░░░░░░ 19 %
--
The env_dispatch port has been merged. This took a lot of work from the author and reviewers!
Haters (colleagues) continue to attack (provide reasoned discussion on) my methodology for measuring our progress. I don't see them getting dozens (dozens!) of stars though.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-05-22
37348 rust lines added
14702 / 77063 C++ lines removed
▓▓▓░░░░░░░░░░░░░░░░░ 19 %
--
The most important port this week was my shell script which generates the progress updates. Rewriting in Rust slashed 50% off the (40 msec) runtime.
Also the test builtin, which has maybe the worst UI in the history of shell commands.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-05-15
35990 rust lines added
13610 / 77063 C++ lines removed
▓▓▓░░░░░░░░░░░░░░░░░ 17%
--
Nothing major merged this week, but the gnarly env_dispatch module, which handles propagating environment changes, is nearly ready for merge. There's a lot of work being done on the parser but that's hard to port in parts.
#fishshell #rust #riir #rustlang
#fishshell rewrite-it-in #rust progress, 2023-05-01
33778 rust lines added
12769 / 77063 C++ lines removed
▓▓▓░░░░░░░░░░░░░░░░░ 16%
--
The threading and signal handling modules have been ported. These are both pretty tricky areas. Environment variable handling and the actual parser look like they're on the way.
@hjvt it's mostly grinding away through the various modules at the moment. If you've got CXX/autocxx experience that would probably help. We've had a few new contributors who aren't finding it too hard to navigate.
Work list at https://github.com/fish-shell/fish-shell/pull/9726#issuecomment-1510432132 and rough guidance at https://github.com/fish-shell/fish-shell/blob/master/doc_internal/rust-devel.md