I'm teaching my kids how to program in Swift. One of the things that I thought would be fun in a roll-up-your-sleeves kind of way is to have them develop the compact Kilo text editor in Swift. The text editor is about 1,000 lines of C code and there is a fantastic step-by-step SnapToken tutorial to walk people through building their own text editor:
https://viewsourcecode.org/snaptoken/kilo/index.html
After having studied the code, I don't think it would be too hard for me to migrate it from C to Swift and thought that would be a fun project in and of itself.
It seems that all the code to covert the terminal from canonical mode to raw mode would require me to call C functions. I understand the general principles of doing that with bridging headers and wrappers. But, could I just use the new Swift System module to do it so that we can use idiomatic Swift?** Is there another way this could be done directly in Swift with no need to call C library functions/datatypes?
Appreciate anyone pointing me in the right direction. Thank you.
** We are developing on a Mac, so I understand that we have access to the System module.