You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I'm gonna work on emsys more I need to make it easier to work on, because life is short and I have other hobbies and spend an awful lot of time programming other things (day job).
One idea is to break up main.c. Currently it has kind of a mixed reason to exist, and is 2000 lines long which is painful to work with (a legacy of being based on kilo). Ideally, it would just have int main in it, but I think that's unrealistic. Here's some quick ideas as to how I could break it up:
Move the terminal code as much as possible into a separate file (term.{c,h}?)
Move the key handling code (keys.{c,h})
Move the code to do with initializing the editor struct
Move the code that handles buffers
Might have to put more shit in headers if I do this, though, argh.
The text was updated successfully, but these errors were encountered:
Would also like to document all the files in HACKING.md. Doing that always makes me feel like I've lowered the bus factor a little bit. emsys is not a complicated piece of code, but it is sloppily organized.
Would also like to document all the files in HACKING.md. Doing that always makes me feel like I've lowered the bus factor a little bit. emsys is not a complicated piece of code, but it is sloppily organized.
If I'm gonna work on emsys more I need to make it easier to work on, because life is short and I have other hobbies and spend an awful lot of time programming other things (day job).
One idea is to break up main.c. Currently it has kind of a mixed reason to exist, and is 2000 lines long which is painful to work with (a legacy of being based on kilo). Ideally, it would just have int main in it, but I think that's unrealistic. Here's some quick ideas as to how I could break it up:
Might have to put more shit in headers if I do this, though, argh.
The text was updated successfully, but these errors were encountered: