Build a Terminal Emulator in C

c600 pts
  1. 01 Unix I/O and File Descriptors 2 challenges25 pts
  2. 02 TTYs, PTYs, and the Line Discipline 1 challenge15 pts
  3. 03 Terminal Settings with termios 2 challenges30 pts
  4. 04 Waiting for Input โ€” poll and select 1 challenge15 pts
  5. 05 ANSI Escape Sequences โ€” the Wire Protocol 2 challenges35 pts
  6. 06 Parsing the Protocol โ€” a VT State Machine 1 challenge35 pts
  7. 07 Decoding the Keyboard 1 challenge25 pts
  8. 08 Text Is Not Bytes โ€” UTF-8 1 challenge20 pts
  9. 09 The Screen Model 2 challenges35 pts
  10. 10 Interpreting the Stream โ€” Terminal Semantics 1 challenge35 pts
  11. 11 Scrolling and Scrollback 1 challenge25 pts
  12. 12 Rendering โ€” Damage and Diffs 1 challenge25 pts
  13. 13 Storing Text โ€” Buffers of Lines 1 challenge30 pts
  14. 14 Cursor Movement and the Goal Column 1 challenge20 pts
  15. 15 The Viewport 2 challenges35 pts
  16. 16 Loading and Saving Files 1 challenge25 pts
  17. 17 The Status Bar and Messages 1 challenge20 pts
  18. 18 Search 1 challenge20 pts
  19. 19 The Event Loop, Signals, and Cleanup 1 challenge30 pts
  20. โ˜… Final Challenge: duck โ€” a Terminal Text Editor100 pts