Closed roboguy13 closed 9 years ago
Personally I don't find navigate
mode to be very intuitive and I never use it. It requires looking at the code and picturing the underlying AST (the complexity of which the pretty printer spends so much effort trying to hide).
I left it in because I'm fairly certain Michael Adams uses it with some success, and because I had plans to separate the concepts of 'focus' and 'window' in the shell. The 'focus' would be a highlighted bit of code which is the current target of rewrites (what HERMIT's shell currently prints after each command). When desired, you could fix the current 'focus' as the 'window'. HERMIT would then always print the current 'window', with the 'focus' highlighted. Combine this with in-place pretty printing and the feedback on the arrow keys would be much more clear and intuitive.
I had this mostly working at some point, but the highlighting aspect in curses was gross-looking, and it wasn't on the critical path to anything, so I backed it out.
The navigation stuff can be removed, with the big shell change.
In that case, I will close this.
How should
navigate
andcommand-line
(fromHERMIT.Shell.Externals
) be implemented in hermit-shell? Should we implement them?navigate
puts the original shell into a mode where you send a series of up, down, left and right commands using the arrow keys.command-line
would put it back into the normal mode (although, you can't type it innavigate
mode).