Package com.dmarcotte.handlebars.psi

Examples of com.dmarcotte.handlebars.psi.HbCloseBlockMustache


  public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
    if (element instanceof HbOpenBlockMustache) {
      HbOpenBlockMustache openBlockMustache = (HbOpenBlockMustache)element;
      HbMustacheName openBlockMustacheName = openBlockMustache.getBlockMustacheName();

      HbCloseBlockMustache closeBlockMustache = openBlockMustache.getPairedElement();
      if (closeBlockMustache != null) {
        HbMustacheName closeBlockMustacheName = closeBlockMustache.getBlockMustacheName();

        if (openBlockMustacheName == null || closeBlockMustacheName == null) {
          return;
        }

        String openBlockName = openBlockMustacheName.getName();
        String closeBlockName = closeBlockMustacheName.getName();
        if (!openBlockName.equals(closeBlockName)) {
          Annotation openBlockAnnotation
            = holder.createErrorAnnotation(openBlockMustacheName,
                                           HbBundle.message("hb.block.mismatch.inspection.open.block", openBlockName, closeBlockName));
          openBlockAnnotation.registerFix(new HbBlockMismatchFix(closeBlockName, openBlockName, true));
          openBlockAnnotation.registerFix(new HbBlockMismatchFix(openBlockName, closeBlockName, false));

          Annotation closeBlockAnnotation
            = holder.createErrorAnnotation(closeBlockMustacheName,
                                           HbBundle.message("hb.block.mismatch.inspection.close.block", openBlockName, closeBlockName));
          closeBlockAnnotation.registerFix(new HbBlockMismatchFix(openBlockName, closeBlockName, false));
          closeBlockAnnotation.registerFix(new HbBlockMismatchFix(closeBlockName, openBlockName, true));
        }
      }
      else {
        holder.createErrorAnnotation(openBlockMustacheName,
                                     HbBundle.message("hb.block.mismatch.inspection.missing.end.block", openBlockMustache.getName()));
      }
    }

    if (element instanceof HbCloseBlockMustache) {
      HbCloseBlockMustache closeBlockMustache = (HbCloseBlockMustache)element;
      PsiElement openBlockElement = closeBlockMustache.getPairedElement();
      if (openBlockElement == null) {
        HbMustacheName closeBlockMustacheName = closeBlockMustache.getBlockMustacheName();
        if (closeBlockMustacheName == null) {
          return;
        }
        holder.createErrorAnnotation(closeBlockMustacheName,
                                     HbBundle.message("hb.block.mismatch.inspection.missing.start.block", closeBlockMustache.getName()));
      }
    }
  }
View Full Code Here

TOP

Related Classes of com.dmarcotte.handlebars.psi.HbCloseBlockMustache

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.