Skip to content

Releases: RetroDev256/line_editor

Release 0.0.9

04 Sep 03:11
Compare
Choose a tag to compare

This is by far the most advanced release yet!

Added the ability to specify your current line in ranges, using the ^ symbol.

Added the ability to specify a position+length instead of a start->end in ranges. (Use ; instead of , in the range string)

Added regex-matching print and delete functions - put a regular expression right after the print/delete command, and it will only display/delete those lines :)

By default, the print command now prints out to fill your terminal! Super fancy.

The regex is much more advanced than it was ever before! (except when MVZR was in here, but it is too advanced for this use case.)

Things over all are just improved/more robust.
Also, lots of testing coverage now!

Anyways - some of the things added in this release:
image
image

Release 0.0.8

09 Aug 19:09
Compare
Choose a tag to compare

This release changes the usability of the program - basically, the printing function works slightly better with line numbers, and many functions have been re-written to simplify the implementation, optimize a few edge cases, provide more robustness... and now you can insert/move/copy stuff past the end of the buffer, instead of needing to do it line-by-line. :)

I also changed the way I passed around readers and writers.

All in all, the positive changes measured a net loss in binary size, woohoo!

Release 0.0.7

08 Aug 19:31
Compare
Choose a tag to compare

Tons of bugfixes, reorganization, simplification, auditing, a new "copy" command... oh, and you can now save to files starting with 'q', due to changing the parser for the save command to have a space between the command and the file name.

Release 0.0.6

06 Aug 23:51
Compare
Choose a tag to compare

remove a debug print & more testing

Release 0.0.5

05 Aug 22:38
Compare
Choose a tag to compare

TONS of bugfixes:

  • did comprehensive manual code coverage using kcov
  • tested every possible command for correctness

Release 0.0.4

05 Aug 20:01
Compare
Choose a tag to compare

Basically rewrote everything

  • it is now more robust
  • error handling is better
  • tons of assertions everywhere

Release 0.0.3

05 Aug 06:09
Compare
Choose a tag to compare

bugfixes...

and a new command!

say hello to m

[RANGE?]m[INDEX]

moves text in RANGE to INDEX

also removed duplicate binaries :)

Release 0.0.2

05 Aug 04:25
Compare
Choose a tag to compare

removed MVZR -
No more regex, but I find with a simple program like this, we don't need much
maybe I will add it back in the future with a custom made impl.
let's focus on the small things first :)

reworked line buffer -
no more memory usage beyond what is in the file :)

Release 0.0.1

05 Aug 01:50
87b9061
Compare
Choose a tag to compare

This release fixes a few bugs, and introduces many more targets. I thought it would be funny.

Disclaimer: I have neither the means, nor the willpower to test all these binaries XD

Release 0.0.0

26 Jul 22:05
ff77fd4
Compare
Choose a tag to compare

pretty basic release, but a fun program to mess around with

Welcome to the simple line editor.
    You are currently on line 1, out of 0 lines total.

  Internal Memory:
MODE                     COMMAND or EDIT (swap using .)
LINE                     the current line number
FILE                     the current output file name

  Basic Types:
NUMBER                   any sequence of base-10 digits
STRING                   any sequence of bytes
REGEX                    / deliminated regular expression
INDEX:
    NUMBER               line NUMBER
    $                    the last line
RANGE:
    INDEX                the range spanning [INDEX, INDEX]
    INDEX,               the range spanning [INDEX, the last line]
    ,INDEX               the range spanning [0, INDEX]
    A,B                  the range spanning [A (INDEX), B (INDEX)]

Commands (for EDIT MODE):
    .                    MODE <- COMMAND
    [STRING]             inserts STRING at LINE, LINE <- LINE + 1

Commands (for COMMAND MODE):
    d                    deletes 1 line at LINE
    [RANGE]d             deletes all lines in RANGE
    .                    MODE <- EDIT
    [INDEX].             LINE <- INDEX, MODE <- EDIT
    .[STRING]            inserts STRING at LINE
    [INDEX].[STRING]     LINE <- INDEX, inserts STRING at LINE
    [INDEX]              LINE <- INDEX
    p                    prints 16 lines at LINE
    [RANGE]p             prints all lines in RANGE
    s/[OLD]/[NEW]        replaces all OLD (REGEX) for NEW on LINE
    [RANGE]s/[OLD]/[NEW] replaces all OLD (REGEX) for NEW in RANGE
    w                    saves all lines to FILE
    [RANGE]w             saves all lines in RANGE to FILE
    w [NAME]             FILE <- NAME, saves all lines to FILE
    [RANGE]w [NAME]      FILE <- NAME, saves all lines in RANGE to FILE
    wq                   saves all lines to FILE, exits
    [RANGE]wq            saves all lines in RANGE to FILE, exits
    wq [NAME]            FILE <- NAME, saves all lines to FILE, exits
    [RANGE]wq [NAME]     FILE <- NAME, saves all lines in RANGE to FILE, exits
    q                    exits
    h                    displays this text
    ```