2020-02-12

More work on the editor: it's mostly stable [1]. I keep running into some memmove bugs, which I'm hoping are going to go away now that I'm compiling with -fno-builtin-memmove. I also want to find a way to be a little kinder on the memory thrashing; probably by separating the notion of length and capacity; I'd rather use a few more bytes. Anyways, I'll have to keep using the editor to figure out if it's stable now or not. Unfortunately, I do occasionally get text corruption bugs. This is hard to capture; I think one thing that would help would be to update row rendering on screen refresh. I finally added the ability to display non-printable characters, so that's going to be helpful to see what's happening.

It's a lot of fun to work on, and nice to have more immediate feedback.

Features I'd like to implement:

  • word skipping (M-b,e)
  • paragraph reflowing
  • brace matching and automagic cursor moving
  • undo support
  • marking, yanking, and killing text
  • cua-rectangle-mark-mode (or basically, multicursor)

The codebase has gotten to a neat little milestone:

~/code/kst/ke
(0) <phobos:kyle> $ cloc abuf.c defs.h erow.c main.c
       4 text files.
       4 unique files.
       0 files ignored.

github.com/AlDanial/cloc v 1.80  T=0.03 s (152.6 files/s, 52356.3 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                                3            228             73            999
C/C++ Header                     1             22             11             39
-------------------------------------------------------------------------------
SUM:                             4            250             84           1038
-------------------------------------------------------------------------------

I also started setting up a monorepo of a bunch of my code (pretty much all C); I don't really like that I ended up autoconfing it, but I don't know a better way except CMake with CMakePack. Which... I might still do. I don't know.

I was going through the old bitbucket dump and I found my old tyrfingr site; I'd like to resurrect it but I thought I'd go through and see what was in there. It's not great, but interesting to see a snapshot of where I was at that point in my life.

Other tech stuff:

  • I need to get back to working on platformio and porting the fomu stuff
  • My netbook has crashed a few times, and I have kernel dumps to go through. That means I need to get the sources for my laptop.
[1]I'm writing yet another post in it :)

Tags: