Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aa:lab:1 [2025/10/03 16:01]
dmihai
aa:lab:1 [2025/10/06 18:16] (current)
dmihai
Line 6: Line 6:
  
 Descărcați scheletul de cod al editorului de text de [[https://​github.com/​cs-pub-ro/​AA-CB-public/​tree/​master/​text-editor|aici]]. Descărcați scheletul de cod al editorului de text de [[https://​github.com/​cs-pub-ro/​AA-CB-public/​tree/​master/​text-editor|aici]].
 +
 +=== Ncurses ===
 +
 +Editorul este bazat pe ''​ncurses''​ -- o bibliotecă lightweight care facilitează crearea de UIs în terminal. The Linux Documentation Project menține [[https://​tldp.org/​HOWTO/​NCURSES-Programming-HOWTO/​intro.html|acest ghid]], care poate servi atât ca introducere cât și ca referință rapidă pentru diverse funcții.
  
 === Cerințe === === Cerințe ===
  
 1. Rețineți textul sub forma unui array bidimensional;​ săgețile de la tastatură schimbă poziția cursorului în cadrul matricei. Alte taste (litere, cifre, simboluri speciale) înlocuiesc textul de sub cursor. 1. Rețineți textul sub forma unui array bidimensional;​ săgețile de la tastatură schimbă poziția cursorului în cadrul matricei. Alte taste (litere, cifre, simboluri speciale) înlocuiesc textul de sub cursor.
 +
 2. Implementați două moduri diferite de folosire: "​view"​ și "​write",​ similare cu modurile "​Normal"​ și "​Insert"​ din ''​vim''​. Modul "​view"​ e default; apăsarea tastei "​i"​ trece în "​write";​ de acolo, apăsarea tastei "<​Esc>"​ trece în "​view"​ (alternativ,​ puteți folosi orice alt shortcut vreți). 2. Implementați două moduri diferite de folosire: "​view"​ și "​write",​ similare cu modurile "​Normal"​ și "​Insert"​ din ''​vim''​. Modul "​view"​ e default; apăsarea tastei "​i"​ trece în "​write";​ de acolo, apăsarea tastei "<​Esc>"​ trece în "​view"​ (alternativ,​ puteți folosi orice alt shortcut vreți).
 +
 3. Adăugați un mod de a insera text fără suprascrie text (textul inserat "​împinge spre dreapta"​ textul existent, în limita dimensiunii unui rând în matrice). 3. Adăugați un mod de a insera text fără suprascrie text (textul inserat "​împinge spre dreapta"​ textul existent, în limita dimensiunii unui rând în matrice).