Marco Codes - Building a Text Editor
How to build a terminal-based text editor with Java
Introduction & ANSI Escape Codes
The role of ANSI escape codes
Terminal Raw Mode & Terminal Attributes
Using RAW Mode and JNA
Building The Text Viewer Skeleton
Using escape codes and placeholder icons
Getting Terminal Rows & Columns With The IOCTL API
Counting rows and columns and using the IOCTL API
Bugfixing Flickering & Cursor Positioning
Fixing bugs with flickering
The Problem with Arrow Up & Down and Key Mappings
Arrow motion & How to map 3 or 4 keys to 1
How to Move your Cursor
Drawing and cursor
How to Load and Display Text Files
Using the PATH API
Some Refactoring and Scrolling
Tidying up and tweaking
Page Up and Page Down
Implementing arrow keys for page up and down
Horizontal Scrolling
Implementing horizontal scrolling
End Key
Getting the End key to the end
Cursor Snapping
Autosnapping when you need it
Cursor Line Wrapping
Wrap around on lines
MacOS and Windows Support
Support for different OS
Summary
Summary and acknowledgements