Bueno me dejaron un proyecto donde hacer un editor de texto basico en python, pero realmente (culpa mía por abusar de la IA) no se como empezar y no se que llegare a usar, no estoy pidiendo que me hagan el código, si no pregunto, ¿Qué necesito saber y que necesito aprender para poder llegar a hacerlo?, no tengo mucha idea de planeacion de código, realmente es la primera vez que me dejan hacer algo así
En C usaría ncurses para trabajarlo como una matriz, python tiene una librería para que puedas emplearlo pero nunca he trabajado con python de esa forma.
Lo demás seria el manejo de las entradas y salidas en ncurses, además como leer y escribir archivos.
De preferencia trabaja todo en UTF-8 y no tengas problemas con otras codificaciones.
Si lo que necesitas es aprender Python a nivel básico, por lo menos, te recomendaría el curso que hice en este foro.
Con ese curso vas a aprender todo lo básico sobre el lenguaje, incluyendo la manipulación de archivos como documentos de texto y hojas de calculo y después te quedaría investigar sobre el resto.
Cómo con Linux se puede imprimir un documento desde terminal con CUPS, se puede combinar con bash scripting para eso, también se pueden convertir archivos en PDF y renderizar markdown y HTML para lograr mejores efectos visuales, para también convertir a PDF.
Para un editor de texto lo básico:
- El buffer de datos, en caso de que tengas archivos de texto muy grandes puedas manejarlos sin que consuma RAM en exceso o que colapse el programa
- El acceso al sistema de archivos para crear o editar archivos
- El formato de codificación. Si bien UTF-8 es de lo común, usar otros formatos que pesen menos en memoria es útil en sistemas antiguos o con poca RAM o si no requieres soporte para multiples lenguajes en un mismo texto.
Ya si quieres puedes hacerlo modal, que tenga búsqueda, etc, pero eso se puede ignorar.
Puedes usar la librería curses es ncurses pero en python, y puedes seguir los consejos que te dio @amaterasu.
Y si quieres que sea GUI prueba con SDL o Raylib, y si eres un loco desquiciado que lo dejaron caer de chiquito usa OpenGL puro.
Y si quieres algo más visual, tienes este video es linkfy y te explica cuales son los problemas que tuvo que afrontar para crear un editor de texto con zig. Es perfectamente recomendable y te puede guiar.