The editor should be readily familiar as it provides much the same functionality as any other fullscreen editor or word-processor. Since there is no longer any restriction on linelengths, spaces have been used more freely to improve readability. The size of the screen when editing is not constrained to 24 rows of 80 columns and on larger screens the editor will take advantage of the available screen size.
We only have one edit window but can be editing multiple files. The edit window is split into multiple tab panes. For each loaded source file a new tab is created at the top of the edit window. The tab ear displays the source filename. By clicking tab ears we can move between source files.
The current statement is the one containing the cursor. To call your attention to it, the current statement is displayed in a distinctive color. If the statement is longer than the screen width then it will be wrapped across more than one line. The cursor can be moved elsewhere in the program using the navigation keys.
New text can be added to a program at the cursor by just typing it. In Insert mode as the text is typed the rest of the line is moved off to the right to leave space for the new characters but in Overwrite mode the new text overwrites existing text on the line. The default mode is Insert mode and the Insert key can be used to toggle between Insert mode and Overwrite mode. Whichever mode is in use text may be entered freely.
When the cursor is moved off a modified statement the line is syntax checked and the user alerted about any problems with a message on the status line. Statements failing the syntax check are displayed in a distinctive color (normally red). A program may be syntax checked at any time using the Show error command (F7) which searches from the current statement to the end of the program for statements that contain an error. SHIFT F7 will move the cursor to the last statement in the program with a syntax error.
Note that each individual statement is syntax checked independently, so it is possible for a portion of a line to be in error whilst surrounding statements on the same line are correct. This does not cause any compatibility problems with KCML versions prior to KCML 4.