# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: D:\workspace\nb72-src\main # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionItem.java --- editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionItem.java Base (BASE) +++ editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionItem.java Locally Modified (Based On LOCAL) @@ -84,9 +84,13 @@ } private String getLeftText() { - return CodeTemplateApiPackageAccessor.get().getSingleLineText(codeTemplate); + return CodeTemplateApiPackageAccessor.get().getSingleLineText(codeTemplate).trim(); } - + + public String getAbbreviation() { + return codeTemplate.getAbbreviation(); + } + private String getRightText() { if (rightText == null) { rightText = ParametrizedTextParser.toHtmlText(codeTemplate.getAbbreviation()); @@ -114,7 +118,7 @@ // Remove the typed part Document doc = component.getDocument(); int caretOffset = component.getSelectionStart(); - int initMatchLen = getInitialMatchLength(doc, caretOffset, codeTemplate.getParametrizedText()); + int initMatchLen = getInitialMatchLength(doc, caretOffset, codeTemplate.getAbbreviation()); if (initMatchLen > 0) { try { // Remove the typed prefix Index: editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java --- editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java Base (BASE) +++ editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java Locally Modified (Based On LOCAL) @@ -145,13 +145,14 @@ } private Collection getFilteredData( - Collection data, + Collection data, String prefix ) { List ret = new ArrayList(); - for (CompletionItem itm : data) { - if (itm.getInsertPrefix().toString().startsWith(prefix)) { - ret.add(itm); + for (CodeTemplateCompletionItem itm : data) { + //only filter by starting abbreviation prefix + if (itm.getAbbreviation().startsWith(prefix)) { + ret.add(itm); } } return ret; @@ -187,20 +188,16 @@ queryCaretOffset = caretOffset; queryAnchorOffset = (identifierBeforeCursor != null) ? caretOffset - identifierBeforeCursor.length() : caretOffset; if (langPath != null && identifierBeforeCursor != null) { - String mimeType = DocumentUtilities.getMimeType(component); - MimePath mimePath = mimeType == null ? MimePath.EMPTY : MimePath.get(mimeType); - Preferences prefs = MimeLookup.getLookup(mimePath).lookup(Preferences.class); - boolean ignoreCase = prefs.getBoolean(SimpleValueNames.COMPLETION_CASE_SENSITIVE, false); - CodeTemplateManagerOperation op = CodeTemplateManagerOperation.get(MimePath.parse(langPath)); op.waitLoaded(); - Collection cts = op.findByParametrizedText(identifierBeforeCursor, ignoreCase); + //only filter by abbreviation + Collection cts=op.findByAbbreviationPrefix(identifierBeforeCursor); Collection filters = CodeTemplateManagerOperation.getTemplateFilters(component, queryAnchorOffset); queryResult = new ArrayList(cts.size()); for (CodeTemplate ct : cts) { - if (ct.getContexts() != null && ct.getContexts().size() > 0 && accept(ct, filters)) { + if (accept(ct, filters)) { queryResult.add(new CodeTemplateCompletionItem(ct)); } } Index: editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateManagerOperation.java --- editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateManagerOperation.java Base (BASE) +++ editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateManagerOperation.java Locally Modified (Based On LOCAL) @@ -163,6 +163,16 @@ public CodeTemplate findByAbbreviation(String abbreviation) { return abbrev2template.get(abbreviation); } + + public Collection findByAbbreviationPrefix(String abbreviation) { + List result = new ArrayList(); + for (CodeTemplate codeTemplate : sortedTemplatesByAbbrev) { + if (codeTemplate.getAbbreviation().startsWith(abbreviation)) { + result.add(codeTemplate); + } + } + return result; + } public Collection findByParametrizedText(String prefix, boolean ignoreCase) { List result = new ArrayList();