I am attempting to make a Netbeans 7.2 code completion module. I am trying to have this code completion to only show up for only PHP. I am also trying to have the code completion to only show up with specific methods/function ie x()
and z()
.
I am new at this. I followed this tutorial http://platform.netbeans.org/tutorials/nbm-code-completion.html to get a brief understanding of the API.
How can I determine what method/function the code completion is being rendered on?
Let me know if you need additional information.
EDIT
I am trying to make it so the code completion is on the 1st parameter of function x()
and z()
UPDATE
This is what I have thus far:
return new AsyncCompletionTask(new AsyncCompletionQuery() {
protected void query(CompletionResultSet completionResultSet, Document document, int caretOffset) {
String filter = null;
int startOffset = caretOffset - 1;
try {
final StyledDocument bDoc = (StyledDocument) document;
final int lineStartOffset = getRowFirstNonWhite(bDoc, caretOffset);
final char[] line = bDoc.getText(lineStartOffset, caretOffset - lineStartOffset).toCharArray();
final int whiteOffset = indexOfWhite(line);
filter = new String(line, whiteOffset + 1, line.length - whiteOffset - 1);
if (whiteOffset > 0) {
startOffset = lineStartOffset + whiteOffset + 1;
} else {
startOffset = lineStartOffset;
}
} catch (BadLocationException ex) {
Exceptions.printStackTrace(ex);
}
if(filter.startsWith("x('") || filter.startsWith("z('"))
{
// This is what I would assume is the first param.
String result = filter.replaceFirst("x('|z('", "");
}
}
}, jtc);