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