Skip to content
Ed Howland edited this page Aug 21, 2022 · 9 revisions

Documentation and Tooling for Viper - Visually Impaired Programmer's Editor in Ruby

Welcome to the homepage for Viper editor. This Wiki is for documenting setup, configuration and extending the Viper editor, a programmer's editor developed for blind or visually impaired programmers. Wiki pages linked from here can not only be used to discuss the Viper editor, but any other tools for programmers using non-visual tools. For example, I list here my Mac VoiceOver settings and shell aliases, etc.

Abstract

The Viper editor was written by me, Ed Howland https://github.com/edhowland, to help to overcome some shortcommings of traditional programmer's editors when used with screen readers. I wanted an editor that told me only what I needed to know at the time I needed to know it. For instance, updating the status bar or chrome of a graphical window, while cool for someone who can choose to glance at it, it just gets in the way for anyone using a screen reader. I also wanted some of the features found in more elaborate IDE's or editors designedfor programmers.

Wiki Editing Policy

Any are welcome to edit this page and all pages from here with the proviso that the content remain on subject and adhere toCode of Conduct. The subject matter is only the Viper editor or tools used by blind and visually impairedprogrammers. This can also include tools for general use by visual impaired users that would also be of interest to the blind programmer community. For instance, discussion about web browsers, screen reader software, Braille readers, etc.

Viper and its Environs

Viper is hosted on GitHub at https://github.com/edhowland/viper. You can clone the project with:

  $ git clone [email protected]:edhowland/viper.git

Ruby version and gems

Ruby version 2.4 or later.

Gems

The gems are listed in the Gemfile in the root folder of the GitHub progect. But also listed here:

  • gem 'pry'
  • gem 'remedy', '0.2.0'
  • gem 'kpeg', '1.1.0'

Mac VoiceOver Settings

Viper is run from any Unix shell where Ruby 2 is installed. This includes the Terminal.app on the Mac. I include a link to the VoiceOver Activity profile I use for this application.

[VoiceOver Terminal Activity.voprefs](VoiceOver Terminal Activity.voprefs) Basically, these settings just announce punctuation, special characters and whitespace. You might also want to adjust the speech rate to your own preference or the voice, etc. Also, this settings file sets typing echo to characters. You might want only words, or characters and words.

Viper Setup

Viper should run out of the box. But there are some configuration settings you may want to apply.

'~/.viperrc'

Viper looks for a file '~/.viperrc' ($HOME/.viperc) for any Vish settings or functions or commands. Any commands you can use in the command mode can be usedin these files. Typically, you would these files to loadmacros and other functions or aliases.

See Vish and Macros

Viper command Syntax

When invoke the command entry buffer with Alt+; (Meta plus semicolon), you can enter Viper commands. If you are familiar with Vim, this is similar to the ':' (colon) command. But there is actually more to command mode than simple Vim style commands. See CommandMode The Vim style commands are actually aliases to longer snippets of Vish code.

Want to learn more?

Go to BootUp