com.intellij.psi.codeStyle.SuggestedNameInfo Java Examples
The following examples show how to use
com.intellij.psi.codeStyle.SuggestedNameInfo.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: RenameDialog.java From consulo with Apache License 2.0 | 6 votes |
public String[] getSuggestedNames() { final LinkedHashSet<String> result = new LinkedHashSet<String>(); final String initialName = VariableInplaceRenameHandler.getInitialName(); if (initialName != null) { result.add(initialName); } result.add(UsageViewUtil.getShortName(myPsiElement)); final NameSuggestionProvider[] providers = Extensions.getExtensions(NameSuggestionProvider.EP_NAME); for(NameSuggestionProvider provider: providers) { SuggestedNameInfo info = provider.getSuggestedNames(myPsiElement, myNameSuggestionContext, result); if (info != null) { mySuggestedNameInfo = info; if (provider instanceof PreferrableNameSuggestionProvider && !((PreferrableNameSuggestionProvider)provider).shouldCheckOthers()) break; } } return ArrayUtil.toStringArray(result); }
Example #2
Source File: TypeHintSuggestionProvider.java From idea-php-toolbox with MIT License | 5 votes |
@Nullable @Override public SuggestedNameInfo getSuggestedNames(PsiElement psiElement, PsiElement psiElement1, Set<String> set) { if(!(psiElement instanceof Parameter)) { return null; } List<String> filter = ContainerUtil.filter(PhpNameSuggestionUtil.variableNameByType((Parameter) psiElement, psiElement.getProject(), false), s -> !StringUtil.containsChar(s, '\\')); if(filter.size() == 0) { return null; } for (String item : filter) { for(String end: TRIM_STRINGS) { // ending if(item.toLowerCase().endsWith(end)) { item = item.substring(0, item.length() - end.length()); } // remove starting if(item.toLowerCase().startsWith(end)) { item = WordUtils.uncapitalize(item.substring(end.length())); } } if(StringUtils.isNotBlank(item)) { set.add(item); } } return null; }
Example #3
Source File: TypeHintSuggestionProvider.java From idea-php-toolbox with MIT License | 5 votes |
@Nullable @Override public SuggestedNameInfo getSuggestedNames(PsiElement psiElement, PsiElement psiElement1, Set<String> set) { if(!(psiElement instanceof Parameter)) { return null; } List<String> filter = ContainerUtil.filter(PhpNameSuggestionUtil.variableNameByType((Parameter) psiElement, psiElement.getProject(), false), s -> !StringUtil.containsChar(s, '\\')); if(filter.size() == 0) { return null; } for (String item : filter) { for(String end: TRIM_STRINGS) { // ending if(item.toLowerCase().endsWith(end)) { item = item.substring(0, item.length() - end.length()); } // remove starting if(item.toLowerCase().startsWith(end)) { item = WordUtils.uncapitalize(item.substring(end.length())); } } if(StringUtils.isNotBlank(item)) { set.add(item); } } return null; }
Example #4
Source File: CSharpNameSuggestionProvider.java From consulo-csharp with Apache License 2.0 | 5 votes |
@Nullable @Override public SuggestedNameInfo getSuggestedNames(PsiElement element, @Nullable PsiElement nameSuggestionContext, Set<String> result) { if(element.getLanguage() != CSharpLanguage.INSTANCE) { return null; } Iterator<String> iterator = result.iterator(); while(iterator.hasNext()) { String next = iterator.next(); if(CSharpNameSuggesterUtil.isKeyword(next)) { iterator.remove(); } } if(element instanceof DotNetVariable) { Collection<String> names = CSharpNameSuggesterUtil.getSuggestedVariableNames((DotNetVariable) element); result.addAll(names); return new SuggestedNameInfo(ArrayUtil.toStringArray(names)) { }; } return null; }
Example #5
Source File: MyLookupExpression.java From consulo with Apache License 2.0 | 5 votes |
private static LookupElement[] initLookupItems(LinkedHashSet<String> names, PsiNamedElement elementToRename, PsiElement nameSuggestionContext, final boolean shouldSelectAll) { if (names == null) { names = new LinkedHashSet<String>(); for (NameSuggestionProvider provider : Extensions.getExtensions(NameSuggestionProvider.EP_NAME)) { final SuggestedNameInfo suggestedNameInfo = provider.getSuggestedNames(elementToRename, nameSuggestionContext, names); if (suggestedNameInfo != null && provider instanceof PreferrableNameSuggestionProvider && !((PreferrableNameSuggestionProvider)provider).shouldCheckOthers()) { break; } } } final LookupElement[] lookupElements = new LookupElement[names.size()]; final Iterator<String> iterator = names.iterator(); for (int i = 0; i < lookupElements.length; i++) { final String suggestion = iterator.next(); lookupElements[i] = LookupElementBuilder.create(suggestion).withInsertHandler(new InsertHandler<LookupElement>() { @Override public void handleInsert(InsertionContext context, LookupElement item) { if (shouldSelectAll) return; final Editor topLevelEditor = InjectedLanguageUtil.getTopLevelEditor(context.getEditor()); final TemplateState templateState = TemplateManagerImpl.getTemplateState(topLevelEditor); if (templateState != null) { final TextRange range = templateState.getCurrentVariableRange(); if (range != null) { topLevelEditor.getDocument().replaceString(range.getStartOffset(), range.getEndOffset(), suggestion); } } } }); } return lookupElements; }
Example #6
Source File: InplaceVariableIntroducer.java From consulo with Apache License 2.0 | 5 votes |
@Nullable private LookupElement[] createLookupItems(String name, Editor editor, PsiNamedElement psiVariable) { TemplateState templateState = TemplateManagerImpl.getTemplateState(editor); if (psiVariable != null) { final TextResult insertedValue = templateState != null ? templateState.getVariableValue(PRIMARY_VARIABLE_NAME) : null; if (insertedValue != null) { final String text = insertedValue.getText(); if (!text.isEmpty() && !Comparing.strEqual(text, name)) { final LinkedHashSet<String> names = new LinkedHashSet<String>(); names.add(text); for (NameSuggestionProvider provider : Extensions.getExtensions(NameSuggestionProvider.EP_NAME)) { final SuggestedNameInfo suggestedNameInfo = provider.getSuggestedNames(psiVariable, psiVariable, names); if (suggestedNameInfo != null && provider instanceof PreferrableNameSuggestionProvider && !((PreferrableNameSuggestionProvider)provider).shouldCheckOthers()) { break; } } final LookupElement[] items = new LookupElement[names.size()]; final Iterator<String> iterator = names.iterator(); for (int i = 0; i < items.length; i++) { items[i] = LookupElementBuilder.create(iterator.next()); } return items; } } } return myLookupItems; }
Example #7
Source File: NameSuggestionProvider.java From consulo with Apache License 2.0 | 4 votes |
@javax.annotation.Nullable SuggestedNameInfo getSuggestedNames(PsiElement element, @Nullable PsiElement nameSuggestionContext, Set<String> result);