mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Allow only exact word matches for context information
This commit is contained in:
parent
386f58f011
commit
7bd2f84e6a
1 changed files with 9 additions and 4 deletions
|
@ -186,17 +186,22 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
|
||||||
|
|
||||||
private void addMacroProposals(CContentAssistInvocationContext context, String prefix, List<CCompletionProposal> proposals) {
|
private void addMacroProposals(CContentAssistInvocationContext context, String prefix, List<CCompletionProposal> proposals) {
|
||||||
char[] prefixChars= prefix.toCharArray();
|
char[] prefixChars= prefix.toCharArray();
|
||||||
|
final boolean matchPrefix= !context.isContextInformationStyle();
|
||||||
IASTCompletionNode completionNode = context.getCompletionNode();
|
IASTCompletionNode completionNode = context.getCompletionNode();
|
||||||
IASTPreprocessorMacroDefinition[] macros = completionNode.getTranslationUnit().getMacroDefinitions();
|
IASTPreprocessorMacroDefinition[] macros = completionNode.getTranslationUnit().getMacroDefinitions();
|
||||||
if (macros != null)
|
if (macros != null)
|
||||||
for (int i = 0; i < macros.length; ++i)
|
for (int i = 0; i < macros.length; ++i) {
|
||||||
if (CharArrayUtils.equals(macros[i].getName().toCharArray(), 0, prefixChars.length, prefixChars, true))
|
final char[] macroName= macros[i].getName().toCharArray();
|
||||||
|
if (CharArrayUtils.equals(macroName, 0, matchPrefix ? prefixChars.length : macroName.length, prefixChars, true))
|
||||||
handleMacro(macros[i], context, prefix, proposals);
|
handleMacro(macros[i], context, prefix, proposals);
|
||||||
|
}
|
||||||
macros = completionNode.getTranslationUnit().getBuiltinMacroDefinitions();
|
macros = completionNode.getTranslationUnit().getBuiltinMacroDefinitions();
|
||||||
if (macros != null)
|
if (macros != null)
|
||||||
for (int i = 0; i < macros.length; ++i)
|
for (int i = 0; i < macros.length; ++i) {
|
||||||
if (CharArrayUtils.equals(macros[i].getName().toCharArray(), 0, prefixChars.length, prefixChars, true))
|
final char[] macroName= macros[i].getName().toCharArray();
|
||||||
|
if (CharArrayUtils.equals(macroName, 0, matchPrefix ? prefixChars.length : macroName.length, prefixChars, true))
|
||||||
handleMacro(macros[i], context, prefix, proposals);
|
handleMacro(macros[i], context, prefix, proposals);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleMacro(IASTPreprocessorMacroDefinition macro, CContentAssistInvocationContext context, String prefix, List<CCompletionProposal> proposals) {
|
private void handleMacro(IASTPreprocessorMacroDefinition macro, CContentAssistInvocationContext context, String prefix, List<CCompletionProposal> proposals) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue