source code editor

From Free Pascal wiki
Jump to navigationJump to search

A source code editor is an editor program particularly addressing programmers’ demands, either exclusively (cf. IDE) or as part of a general-purpose suite.


A source code editor is not a text processor, instead:

  • It uses an single mono space western font of one size and with uniform spacing [e.g. Courier is such a font].
  • Lines have a unique height and spacing.
  • There are no hidden attributes added to the stored text.
  • Text attributes are used only for #syntax highlighting or similar predefined purposes.
  • All text is left justified. Indentation is done with tabstops.
  • Long lines are not automatically wrapped on hyphens (hyphenated word) or syllable boundaries.
  • There is no document, page or paragraph formatting or layout.

Some common and desirable features are:

Additional useful extensions:

Also desireable, but not for source code editing:


(to be categorized)


For traditional and performance reasons, a mono space font shall be used. This allows to manage the display in form of a grid, with easy mapping between screen coordinates and character indices. Most compilers only accept ASCII code, other characters can be used only in comments.

Of course support for other character sets (input and display) and input orientation (right-to-left) can be added - by persons with according knowledge and skills. I have no idea how to e.g. mix RTL string literals with LTR program code. OTOH I'm not comfortable with ASCII text myself, as are many more non-English speakers. I'll support any (every?) attempt to remove language barriers from SynEdit, but cannot contribute many ideas or techniques to this subject.

See also