nbros/OcaIDE — pull request #19 by taquangtrung (2014-11-24 17:21:36+00:00)
Title: Many changes to OcaIDE

Hi,

I would like to contribute my recent development to your OcaIDE tool.
Below are summary of what I have done.
Please feel free to merge and contact me if you have any queries.

Best regards,
Quang Trung.

====================

++ Improvement to project building:
- Save all editing files before compiling
- Show time of compilation
- Compile project of current opened file (Hotkey: Ctrl+B)
- Cancel compilation of project built by above compiling command (Hotkey: Ctrl+F12)

++ Auto-completion feature:
- Show type information in auto-completion pop-up window
- Find completion definitions in current editing file, in aliased module (locally or globally aliasing, multiple-level aliasing)

++ Go to definition (Hyperlink):
- search for definition in current editing files, various kinds of aliased modules
- able to search definition of type annotation
- (Hotkey F3)

++ Improve editor:
- Enable annotation navigation by hot key Ctrl+, Ctrl+.
- Smart indentation: indent next line similar to indentation of nearest non-white-space line
- Move cursor / select text by indentation (target line is a line having different indentation with current line)
(Hotkey: Ctrl+Up/Down, Ctrl+Shift+Up/Down)
- Move cursor / select text by block of code (blocks are separated by white-space or empty line)
(Hotkey: Ctrl+[ , Ctrl+], Ctrl+Shift+[ , Ctrl+Shift+] )
- Delete trailing whitespace in the whole file or in a selection of text (Hotkey: Ctrl+\)

++ Improve outline feature:
- Using regular expression in quick-outline feature (can be used to search for type information)
- Synchronize editor without outline view when double-click

++ Debugging:
- Add "_build" folder to find-path of debugger
- show value and type information of variable
- Set call stack focus on selected item

++ Others:
- Remove duplicated paths in ".paths" file. Reset existing ".paths" file when creating a new project based on existing one
- Show type information of variables, function in status bar (Enable/disable in preference)
- Improve error-recovery ability of parser