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
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
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
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
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
xfnw
ac257634ad
help command
...
commoned is now self-documenting
2023-10-10 18:24:21 -04:00
xfnw
b2322308a2
swap-point and get-point
2023-10-10 17:09:16 -04:00
xfnw
e0a5afb451
implement ce-command-number
2023-10-10 16:29:33 -04:00
xfnw
e3b29b5081
command placeholders
2023-10-09 19:58:24 -04:00
xfnw
e0995c073c
run commands
2023-10-09 19:58:24 -04:00
xfnw
203b6ce7cf
start input parsing
2023-10-09 19:58:16 -04:00