mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
41fa1a1461
The initial version of sed implements only the `s` command (given on the command line) applied to all lines of the input file. While this is probably the most common scenario that people use sed with in the wild, it's limited in several ways: * `s` is only one of the many commands that sed is meant to implement. * Commands may take one or two addresses that limits its applicability to input lines. * Commands in general operate over the "pattern" and "hold" spaces rather than blindly over input lines. * Command line parameters include specifying a script file, and optionally input file(s) and/or a script to execute. This commit implements a big portion of these missing features: * It adds support for parsing *almost* all commands and their arguments. * It also implements the execution of a big portion of the commands. * It adds support for parsing the optional addresses that prefix a command, and enables/disables commands based on these address ranges. * It implements the pattern and hold spaces, which are the source of input/output for most of the commands. * It improves the command line argument handling to receive a script file, potentially multiple execution scripts, and optional input files. Some know missing functionality: * The `{` and `}` commands are not supported yet. * Pattern-based addresses are not supported yet. * Labels and branches are parsed, but not supported at runtime. |
||
---|---|---|
.. | ||
Applets | ||
Applications | ||
BuggieBox | ||
Demos | ||
DevTools | ||
DynamicLoader | ||
Games | ||
Libraries | ||
Services | ||
Shell | ||
Utilities | ||
CMakeLists.txt |