private CodeAssistProcessor getFallbackProcessor() { final CodeAssistProcessor emptyTypeProcessor = getCodeAssistProcessor(""); if (emptyTypeProcessor != null) { return emptyTypeProcessor; } return getCodeAssistProcessor(null); }
@Override public void computeCompletionProposals( final int offset, final boolean triggered, final CodeAssistCallback callback) { this.lastErrorMessage = "processing"; final CodeAssistProcessor processor = getProcessor(offset); if (processor != null) { processor.computeCompletionProposals(textEditor, offset, triggered, callback); this.lastErrorMessage = processor.getErrorMessage(); if (this.lastErrorMessage != null) { notificationManager.notify("", lastErrorMessage, FAIL, EMERGE_MODE); this.textEditor.showMessage(this.lastErrorMessage); } } else { final CodeAssistProcessor fallbackProcessor = getFallbackProcessor(); if (fallbackProcessor != null) { fallbackProcessor.computeCompletionProposals(textEditor, offset, triggered, callback); this.lastErrorMessage = fallbackProcessor.getErrorMessage(); if (this.lastErrorMessage != null) { this.textEditor.showMessage(this.lastErrorMessage); } } } }
@Override public CodeAssistProcessor getProcessor(final int offset) { final String contentType = this.textEditor.getContentType(); if (contentType == null) { return null; } final String type = this.partitioner.getContentType(offset); return getCodeAssistProcessor(type); }