Commit Graph

57 Commits

Author SHA1 Message Date
xfnw 4f6e6d6d82 add move functionality into ce-command-copy 2024-01-14 10:43:27 -05:00
xfnw 94cf2d0c50 ce-command-copy: implement 2023-11-23 14:19:42 -05:00
xfnw 14ad178349 add x and X commands
not originally planned, but would be nice to have a counterpart to i/I
2023-11-21 20:02:12 -05:00
xfnw 9685d31af6 factor out general region application from insert
'send the selected lines through this function' seems like a
common pattern
2023-11-21 19:59:53 -05:00
xfnw b51e79fbd6 move error format string to variable
allows easily changing it at runtime, since some tts voices
silently filter out the standard ed "?"
2023-11-18 12:35:05 -05:00
xfnw cff2736ed3 ce-command-insert: reduce code duplication 2023-11-16 16:49:38 -05:00
xfnw c907c24caf ce-command-insert: implement 2023-11-15 20:07:15 -05:00
xfnw a0dd27ab3f ce-push-lines: optimise
get rid of unnecessary recursion with repeated memory allocation
2023-11-15 18:52:34 -05:00
xfnw 1ebb212178 ce-command-num-print: create
this adds the n command to print with line numbers.

line numbers allow for better ease of use, however this is slower than
normal printing.

the line numbers pad to 3 digits, as extremely large files are a bit out
of scope with commoned (especially with everything being a linked list)
2023-11-13 15:27:44 -05:00
xfnw 0a0e57d18d ce-command-reg-replace: single replacement
a bit code duplicatey :/

sadly no case-insensitive i flag, as far as i can tell pregexp does not
support case insensitivity
2023-11-12 11:23:15 -05:00
xfnw 098b6f9469 ce-command-reg-replace: global replace 2023-11-12 11:07:08 -05:00
xfnw f393d65ad1 begin ce-command-reg-replace parsing 2023-11-11 23:13:28 -05:00
xfnw ac99a5ac95 ce-command-open: re-read current file if no name specified 2023-11-11 18:37:20 -05:00
xfnw 81400a9ad2 ce-tokens: parse out \'s used for escaping tok 2023-11-11 18:18:16 -05:00
xfnw f3641ab1e3 create tokenization function
needed for ce-command-reg-replace
2023-11-11 17:45:57 -05:00
xfnw 472099f03d ce-command-search: implement 2023-11-04 16:19:54 -04:00
xfnw 2364d35113 ce-command-expand: condense a bit 2023-11-04 15:58:34 -04:00
xfnw 46f1bdac1f ce-command-expand: switch to matching regex
now considers lines with just spaces/tabs as blank
2023-11-04 13:56:38 -04:00
xfnw 4f85d218fb readme: add note about alpine dependencies 2023-10-28 21:28:43 -04:00
xfnw ca946964f5 add pregexp as a dependency
we will need it for stuff like ce-command-reg-replace

added as a git submodule because common lisp package management
is a bit complex looking and i have no idea what i am doing :P
2023-10-28 15:49:56 -04:00
xfnw f7e9cf3357 ed-style simple error handling
most errors will now print a ? be put into the err variable

^D on input is intentionally not handled, to allow easy
access to the debugger
2023-10-26 18:57:41 -04:00
xfnw 7565560df3 add some comments 2023-10-26 14:43:51 -04:00
xfnw 74abc86c7a add ctags to gitignore 2023-10-26 14:39:25 -04:00
xfnw 6b6e3904e4 ce-command-get-point: show resulting points instead
conveniently lets the user see how long the file is
2023-10-26 14:37:16 -04:00
xfnw f5a5665f62 declare unused variables as unused
sadly there seems to not be a way to do this globally, so
we have to add this into nearly all the normal commands
2023-10-26 14:22:32 -04:00
xfnw 8f786b8a90 ce-command-expand-before: only offset if matching empty line 2023-10-26 14:17:36 -04:00
xfnw 28e50589e8 ce-command-expand-before and ce-command-expand 2023-10-26 14:13:29 -04:00
xfnw 49c4a66ac2 add { and } to planned features 2023-10-26 12:11:54 -04:00
xfnw 6dc8a417a9 ce-open: actually check if file exists 2023-10-25 20:33:27 -04:00
xfnw 6b58fbc523 ce-command-get-point: show filename too 2023-10-25 20:23:51 -04:00
xfnw 94b8d0b4b4 ce-main: open file from arguments
works as the git commit editor now
2023-10-25 20:23:26 -04:00
xfnw e4f707cd39 makefile: add note about clean effectiveness 2023-10-24 21:30:33 -04:00
xfnw 43ee950398 mark unused variables as optional
still need to figure out how to silence the style warnings
about them being unused...
2023-10-24 21:19:07 -04:00
xfnw a079cf3bf6 makefile: watch source files 2023-10-24 20:45:08 -04:00
xfnw f3acbea18d readme: reword a bit 2023-10-21 12:43:51 -04:00
xfnw ec04dcaa6c build: add a makefile 2023-10-21 11:52:35 -04:00
xfnw d59bebaba9 readme: document how to build 2023-10-18 21:29:02 -04:00
xfnw 3e85a92627 build to standalone binary 2023-10-18 21:14:30 -04:00
xfnw 2a4b4d51cc add line replace
we're now a somewhat usable editor
2023-10-13 18:28:51 -04:00
xfnw 91748eeef8 handle printing empty buffer gracefully 2023-10-13 18:13:51 -04:00
xfnw 23a85bcc9a add delete 2023-10-13 18:09:05 -04:00
xfnw 532d3a6a66 do not bork add when buffer nil 2023-10-12 21:34:39 -04:00
xfnw 853333a333 add add and add-before 2023-10-12 21:23:08 -04:00
xfnw 0039691543 ce-command-enter: remove unnecessary subseq 2023-10-12 18:37:28 -04:00
xfnw 0c498871ad push lines helper function and switch to 1+ 2023-10-12 18:33:34 -04:00
xfnw 1dc9f3757b rename some more of the commands 2023-10-12 17:37:48 -04:00
xfnw 57ed91354d eval region
also rename B to e
2023-10-12 16:51:01 -04:00
xfnw cd7a4cc682 reorder functions a bit, comment 2023-10-11 19:13:40 -04:00
xfnw 66b29f6df0 open and write files
we are now a functional-ish pager
2023-10-11 19:04:46 -04:00
xfnw 91440040af printing 2023-10-10 21:55:53 -04:00