source code editor

From Free Pascal wiki
Revision as of 22:33, 19 January 2007 by DoDi (talk | contribs) (A lot of topics to explain...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

What's a source code editor?

Let's first exclude, what it is not. It is not a textprocessor, i.e.

  • uses an single monospaced western font of unique size and spacing [Courier].
  • lines have a unique height and spacing.
  • does not add hidden properties to the stored text.
  • text attributes are used only for syntax highliting or similar predefined purposes.
  • has left justified tabstops [of unique width?]
  • does not normally wrap long lines.
  • has no document, page or paragraph formatting or layout.

Some common and desireable features are:

  • adjustable tab expansion.
  • right margin marker (soft).
  • block selection and processing (single block).
  • read-only, insert and overwrite input modes.
  • rich choice of keyboard commands.
  • scrollbars, mouse and mousewheel support.
  • undo/redo support.
  • clipboard support.
  • line number and special marker display (gutter).

Additional useful extensions:

  • syntax highlighting.
  • bookmarks.
  • hyperlink and block navigation.
  • code completion.
  • visualization of white characters.
  • display and editing of embedded Unicode literals.
  • macro capabilites.
  • block folding.
  • block movement.
  • EOL adjustment.
  • tab replacement.
  • smart indentation.
  • multiple text windows, easy content switch, multiple display of same text source.
  • persistent user settings.
  • context menu.

Also desireable, but not for source code editing:

  • word wrap.
  • Unicode support.
  • hexdump of binary sources.