Currently dodo has 2 unimplemented functions parse_line and eval_line
A decision needs to be made on whether or not dodo should support line operations.
Any such operations cannot consume more of the file than needed to process any line instructions as dodo must always be able to operate efficiently on large files (a 16G postgres dump is my current example).
The implementation isn't too complex; when dodo is given the instruction l10 to goto line 10 dodo can keep stepping through the file (in chunks to reduce the overhead of frequent reads) counting \n characters until it has seen 9 and then step 1 character past (so at to be at the start of line 10).
If dodo never finds a line 10 then it is an error (similar to a failed expect).
Currently dodo has 2 unimplemented functions
parse_lineandeval_lineA decision needs to be made on whether or not dodo should support line operations.
Any such operations cannot consume more of the file than needed to process any line instructions as dodo must always be able to operate efficiently on large files (a 16G postgres dump is my current example).
The implementation isn't too complex; when dodo is given the instruction
l10to goto line 10 dodo can keep stepping through the file (in chunks to reduce the overhead of frequent reads) counting\ncharacters until it has seen 9 and then step 1 character past (so at to be at the start of line 10).If dodo never finds a line 10 then it is an error (similar to a failed
expect).