Hello all,
I am working on a project to make vim compatible with screenreaders. There is some info on the project here:
https://github.com/averagehat/phonim-jython
and some background here:
http://goo.gl/sQIwZN
As part of this project, I want to capture error messages and send them to the screen-reading process (via netbeans protocol). i.e. when a user attempts to edit a file that has read-only permissions, I want to capture the message: "E21: Cannot make changes, 'modifiable' is off" which gets sent to the command-line window, and fire off a bit of vim script. (I also want to capture the output of ex commands, which is related). For example, I would like something like:
:au OnError * : sendMessage()
However, no such "OnError" autocommand event exists. How can I simulate such an event?
The :redir command could allow me to redirect output to a buffer which is being monitored by netbeans (which would then allow me to capture the message). However, the changes are only written when :redir END is called. And because there are no events for errors, I would never know when to call :redir END.
None of the netbeans events offer any obvious help.
I know I can send the history via :messages, but this doesn't help a user who needs to immediately know about errors they've caused. And there are problems with trying to hack an event-loop into vim.
I have considered neovim but we want something that is totally cross-platform (gvim for windows).