Code Tooling

This page collects ideas on "code tooling": things that assorted programs have done (or could perhaps do) to make it easier to work with source code. Although the principal focus is the blind and visually-impaired community, many of these ideas are quite relevant to sighted users.

Name Indexing

Programmers invent names for all sorts of things, including:

  • hosts, directories, and files
  • modules, functions, and variables
  • web domains, sites, and pages

Tooling exists for indexing (or at least finding) all of these things, but it tends to be divided up by categories. It seems interesting to consider ways that this could be integrated.

Syntax Highlighting

Many GUI-based text editors support syntax highlighting, using colors and/or fonts to make the code's syntax and structure more evident. For example, they may distinguish comments, control-flow statements, keywords, text strings, and variables. This information should also be available to non-sighted programmers.

Vertical Alignment

Programmers commonly use vertical alignment of monospaced text:

  • alignment (to clarify parallelism)
  • columns (to create informal tables)
  • indentation (to indicate hierarchies)

To a sighted programmer, this usage is obvious upon inspection. It is commonly formalized in programming style guides and (in the case of indentation) may be required by the tooling. So, our tooling should make it possible for blind programmers to:

  • recognize vertical alignment
  • navigate hierarchies and tables
  • maintain alignment in code bases

This wiki page is maintained by Rich Morin, an independent consultant specializing in software design, development, and documentation. Please feel free to email comments, inquiries, suggestions, etc!

Topic revision: r6 - 26 Oct 2016, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email