Auto complete and other fixes

Along with syntax highlighting and other cleanup. Fixes #244 and #211
This is not standard C++, the standard is
```
for (const auto& rule : paramHighlightingRules) {

}
```