...Then I decided to use grammar and lexer definitions only for tokenizing and parsing Haskell code, and not for syntax checking the code. This is needed for syntax highlighting, all kinds of navigation, and so on. Further Haskell language support is provided with the help of external tools. Show error action to view formatted messages. Useful in case message consists of multiple lines (Ctrl-F10, Meta-F10 on Mac OSX); Intention actions to add language extension (depends on compiler error), add top-level type signature (depends on compiler warning). Intention action to select which module to import if the identifier is not in scope.