DRAFT — Not yet publishedEdit

Writing a Programmers Editor (Keymaps & Input Handling) - Part 6

Draft — not yet published.

In Part 5 we will have learned how to read raw keystrokes from the terminal. But a keystroke is just a byte sequence. \e [ A means "up arrow" only because we decide it does. The mapping from bytes to actions is the keymap, and it is one of the most important design decisions in any editor.

This part covers:

The keymap is where the editor's personality lives. Emacs feels different from vim because of the keymap, not the buffer.

Watchout for this assay when it is published, till then.

Shorel'aran

Article Series

Writing a Programmer's Editor

A series of assays on building a programmable text editor from scratch in Scheme — exploring the balance of power between the C runtime and the scripting language, data structures, terminal I/O, and extensibility.

  1. 1 Writing a Programmers Editor - Part 1 2018-08-06
  2. 2 Writing a Programmers Editor (DS/Gapbuffer) - Part 2 2018-08-11
  3. 3 Writing a Programmers Editor (Gap Buffer in Scheme) - Part 3 Draft 2018-08-18
  4. 4 Writing a Programmers Editor (Lines & Display) - Part 4 Draft 2018-08-25
  5. 5 Writing a Programmers Editor (Terminal I/O & Raw Mode) - Part 5 Draft 2018-09-01
  6. 6 Writing a Programmers Editor (Keymaps & Input Handling) - Part 6 Here 2018-09-08
  7. 7 Writing a Programmers Editor (Rendering & Redisplay) - Part 7 Draft 2018-09-15
  8. 8 Writing a Programmers Editor (Search & Replace) - Part 8 Draft 2018-09-22
  9. 9 Writing a Programmers Editor (Syntax Highlighting) - Part 9 Draft 2018-09-29
  10. 10 Writing a Programmers Editor (Undo/Redo & Command Log) - Part 10 Draft 2018-10-06
  11. 11 Writing a Programmers Editor (Modes & Extensibility) - Part 11 Draft 2018-10-13
  12. 12 Writing a Programmers Editor (Reflections & Lessons) - Part 12 Draft 2018-10-20
2 of 12 articles published

Responses