The following lines should be added to .ensime file: ;; :formatting-prefs (symbol_map) ;; https://github.com/mdr/scalariform :formatting-prefs (:alignParameters t :alignSingleLineCaseStatements nil :alignSingleLineCaseStatements_maxArrowIndent 20 :compactControlReadability t :compactStringConcatenation t :doubleIndentClassDeclaration t :indentLocalDefs nil :indentPackageBlocks nil :indentSpaces 2 :indentWithTabs nil :multilineScaladocCommentsStartOnFirstLine nil :preserveDanglingCloseParenthesis t :placeScaladocAsterisksBeneathSecondAsterisk nil :preserveSpaceBeforeArguments nil :rewriteArrowSymbols nil :spaceBeforeColon nil :spaceInsideBrackets nil :spaceInsideParentheses nil :spacesWithinPatternBinders t) Thanks to Richard Emberson for the initial patch!!
This way, we can see that there is nothing without the need to open the quickfix list by hand. This is clearly a matter of choice, I guess that time will tell us what is the most confortable way.
Unfortunately, BufWinLeave is not triggered on the quickfix list, which make it annoying to track if the window has been closed. Therefore, simply remove all tracking of the state of the quickfix list, and open each time is necessary. This also remove the burden of tracking the tab number in which has been opened. Take the opportunity to fix properly the "non-styling" of the quickfix list by forcing line number and cursor line to be off.
Fix issue #11
TODO: find the reason behind this strangeness!
This is a temporary solution (hope so) until proper utf8 handling is done in vim (e.g. omni-completion menu...etc.)
When triggering omni-completion after few letters have been entered, vim is moving the cursor back to the beginning of the partially entered word. (The details rely to the number returned by the first call to omni-completion(), which calculate the column where the word start) Vim is then moving back the cursor to that position when displaying the omni-completion menu. This were then detected as the end-of-completion. After this detection, vim receive ensime last messages which hide the omni-completion menu. This is easily fixed by setting the 'showCompletion' at appropriate moment.
Update how errors are displayed due to the use of async-beans.
* Start vim-async-beans when executing :Envim * Add completion support (May be still a bit buggy in some cases, however, most of it is here) * Replace vim-addon-async porcelaine features by python made ones: - trigger events on matching patterns (such as starting EnsimeClient) - splitting window and "tailing" logs * Create object representations of ServerOutput, PreviewOutput and OmniOutput. * Create an Envim singleton object to hold all python main methods. * Extract Envim specific tools from VimHelper and create EnvimTools.py * Automatically "copen" when looking for Uses Of Symbol At Point. This version is now quite good. However, I hope that hacks which must have been done in vim-async-beans won't have too much impacts. A clean solution for asynchronous communications is still missing.
Logger was defined in ensime-common