Search in sources :

Example 1 with XmlEntityDecl

use of com.intellij.psi.xml.XmlEntityDecl in project intellij-community by JetBrains.

the class DtdCompletionContributor method addEntityCompletions.

private static void addEntityCompletions(@NotNull final CompletionResultSet result, PsiElement position) {
    final PsiElementProcessor processor = new PsiElementProcessor() {

        @Override
        public boolean execute(@NotNull final PsiElement element) {
            if (element instanceof XmlEntityDecl) {
                final XmlEntityDecl xmlEntityDecl = (XmlEntityDecl) element;
                String name = xmlEntityDecl.getName();
                if (name != null && xmlEntityDecl.isInternalReference()) {
                    result.addElement(LookupElementBuilder.create(name).withInsertHandler(XmlCompletionContributor.ENTITY_INSERT_HANDLER));
                }
            }
            return true;
        }
    };
    XmlUtil.processXmlElements((XmlFile) position.getContainingFile().getOriginalFile(), processor, true);
}
Also used : XmlEntityDecl(com.intellij.psi.xml.XmlEntityDecl) NotNull(org.jetbrains.annotations.NotNull) PsiElementProcessor(com.intellij.psi.search.PsiElementProcessor) PsiElement(com.intellij.psi.PsiElement)

Aggregations

PsiElement (com.intellij.psi.PsiElement)1 PsiElementProcessor (com.intellij.psi.search.PsiElementProcessor)1 XmlEntityDecl (com.intellij.psi.xml.XmlEntityDecl)1 NotNull (org.jetbrains.annotations.NotNull)1