Proyecto: C-Edit para Linux - Editor de texto en terminal.

Iniciado por velorek, 17 Febrero 2019, 00:28 AM

0 Miembros y 1 Visitante están viendo este tema.

velorek

C-EDIT es un editor de archivos de texto para terminales linux que imita el clásico EDIT de MS-DOS.
(en progreso, no es 100% funcional todavía)
Código fuente: https://github.com/velorek1/C-edit

He intentado no utilizar la librería ncurses para aprender lo máximo posible.  Para tener mayor control sobre como se
muestran los datos en el terminal, he implementado un doble buffer de memoria. Así puedo volver a pantallas anteriores,
creando ventanas y un interfaz de usuario rudimentario para consola, muy al estilo de los 90.



Sé que en 2019, con todos los editores y liberías que existen, quizá sea un proyecto irrelevante. Pero aún así quería sondear la opinión
de la comunidad hispana para continuar o desestimarlo definitivamente. Desde luego, he aprendido mucho en este proyecto.

Un saludo a todos,

Velorek.

CalgaryCorpus

Se ve interesante y entretenido. Felicitaciones!

Si encuentras entusiasmo para continuarlo, te sugiero separar algunas funcionalidades para poder probar que ellas trabajan correctamente y no dudar de otras cosas si algo llega a fallar.

Tests de funcionalidades por separado podrian ayudarte a detectar y corregir problemas antes de unirlas al codigo principal.

Un problema que podria haber sido capturado siguiendo esto aparece en las lineas 434 y suguientes : 
https://github.com/velorek1/C-edit/blob/master/src/cedit.c#L434

Copio a continuacion:

  if(editBuffer[positionY].charBuf[oldPosition].ch != CHAR_NIL ||
     editBuffer[positionY].charBuf[oldPosition].ch !=
     END_LINE_CHAR) {


Puedo estar equivocado, pero este if parece SIEMPRE cierto tal como esta escrito y por tanto lo que quieres hacer solo en 2 ocasiones (o excepto en 2 ocasiones?), lo estas haciendo siempre.

La solucion, en este caso, es reemplazar el || por &&
Aqui mi perfil en LinkedIn, invitame un cafe aqui

velorek

Gracias por el feeback, corregido!! :)

Intentaré dividirlo en más secciones y continuar añadiendo funcionalidades.

Saludos,

Velorek.