after few veeks of hard work, I am happy to announce, that I managed to develop new code editor for blinds called Ride.
And in what is this editor different from many others? I will copy here a part from the documentation, sorry for my english.
1.1 What is Ride
It is a problem of many programmers from our blind community. Experienced developers are struggling with it, beginners still forgotting to use it correctly, taking many errors they can't understand.
I am talking about indentation and programming languages, where it is required, especially about Python. If you are coding some time in Python, you probably know, how annoying is this.
You are often in situation, where you are in sixth or more depth level and must to write many lines, pressing tabulator six or more times, if using space, it can be also more, don't talking about using spaces for indentation, where all is multiplied by 2 or 4.
Another problem in programming is, that when you write a lots of code, you don't see forest because of trees. Browsing it by arrow keys, you are crossing many lines you are not interested in, for example in catching keys from a keyboard, everyone have its code block, but if you are editing them, only block that interest you is thatone you want to edit, not a mass of code for other keys, which hovever are distracting you while navigating through them, because you haven't picture about program's work on higher level, only concrete commands.
So, my thought was: is it possible to take this two problems and join them together, to give us the advantage?
As a result of it, Ride was developed. It is a very simple code editor pointed to use indetation to make code clearer. And it works!
But how it works? It is simple as i sayd. Indentation isn't there for nothing. Sighted programmers are using it to recognize constituent program levels, they can see the distance from the left and ignore all they don't want to see.
That is also reason why Python depends on indentation, many sighted programmers used it a lot also int other languages, so braces started to be useless and Python removed needing of them by using oftenly used indentation to recognize codeblocks. And we can do the same as sighted programmers, ignore all we don't want to see, now with help of Ride.
For this, basic feature of the Ride is indentation level based navigation. Editor always know, in which level of code are you moving, using indentation. Based on this, you can move around in code, but you always see only content in your current indentation level, nothing deeper, because it probably doesn't interest you. Or?
While (True): and you want to see its content? No problem, just expand it and you will see all what you need.
That's it, you can imagine code as a large computer tree, where everything is under something - all content of the while cycle is under it, while is under method, method under class and so.
Ride in basic allows you movement in this tree. You will see all the time only things in your part of code.
For example, take a small piece of code in BGT:
alert("You pressed up", "");
alert("You pressed down", "");
alert("You pressed space", "");
Yeah, little stupid to use blocks of code to one command, but imagine there are hundred lines in it. Before when you wanted to navigate to if (key_pressed(KEY_DOWN)), you needed to press down arrow four times from up of this small piece of code. Not too hard, but if there are 100 lines? Now it is 103, and that is harder.
But not with Ride.
Browsing this code in it gives you something like this:
Nothing more, if you want to see and edit what will happen after pressing key down, you will navigate to it by pressing down arrow one time from up of the code and expand it, then you will see something like this:
alert("You pressed down", "");
And against nothing else, line with } in this case is end of available area, so you will not get out of this branch and can concentrate fully on it.
Line with condition on the top is on lower il, but is also available for better orientation for case when you forget where you are, also for better editation options.
This all in other words, Ride allows you to skip hundreds of lines that you aren't interested in and allows you to dive exactly and only to the currently important areas for you.
And why I wrote that it works?
During development of settings window in Ride, I encountered a problem. I wanted to make events for buttons, checkboxes etc. but I found out that it is not possible, because all window related variables and objects were local, closed in one method not available from outside, including also help methods. Only solution was to write all in thatone method with form.
I did not wanted to struggle with messy code.
So I developed it in Ride.
end of the citation
I hope it is explayning all needed. If you want to try this new editor, now you can, hovever before it is there one important thing to tell, especially for Jaws users.
Ride is programmed in BGT. I thought that install_keyhook will make these two programs compatible. But it didn't. For this I decided to create a simple Jaws keymap file, which you can use to forward important keys to the Ride directly.
All you need to do is download the file from:
https://rastisoftslabs.com/?smd_process … oad_id=253
press win+r, wrote "%appdata%/Freedom scientific/Jaws/version/settings/enu/" if you have english version of Jaws, without quotes and using your Jaws version instead of version of course. Press enter, if folder opens, you are in right direction, if not, navigate only to %appdata% and search folder manually, it should be faster than struggling with path string. If you are in enu folder, copy downloaded file there.
Now Ride and Jaws should to be compatible, try it, there is a large speed increase.
That is all from explanation, if it interested you, feel free to download Ride from:
https://rastisoftslabs.com/?smd_process … oad_id=252
I will be happy to hear your feedback and opinions, I will try to make Ride as good as possible.