String filter = "";
try {
final StyledDocument styled = (StyledDocument) document;
final int lineStartOffset = getRowFirst(styled, caretOffset);
Line myLine = NbEditorUtilities.getLine(document, lineStartOffset, false);
final String line = styled.getText(lineStartOffset, caretOffset - lineStartOffset);
Object titleProperty = styled.getProperty("title");
String title = "";
if(titleProperty != null) {
title = titleProperty.toString();
}
if(compiler != null) {
CompilerCodeCompletionRequest request = new CompilerCodeCompletionRequest();
request.setLine(line);
request.setFileKey(title);
request.setStartOffset(caretOffset - lineStartOffset);
request.setLine(myLine.getText());
request.setLineNumber(myLine.getLineNumber());
CompilerCodeCompletionResults completionResults = compiler.requestCodeCompletionResult(request);
Set<CompilerCodeCompletionResult> results = completionResults.getResults();
if(results.size() > 0) {
filter = completionResults.getFilter();
}