Examples of TextRange


Examples of com.intellij.openapi.util.TextRange

            JFlexPsiFile file = (JFlexPsiFile) host.getContainingFile();

            JFlexJavaCode importSection = file.getImports();
            //processing imports and package section
            if (importSection == host) {
                registrar.addPlace(StdLanguages.JAVA, new TextRange(0, host.getTextLength()), null, "\npublic class a{}");
                return;
            }

            StringBuilder prefix = new StringBuilder();

            //let's add some imports and package statements from flex file header
            if (importSection != null) {
                prefix.append(importSection.getText());
            }

            String classnamestr = DEFCLASS;
            JFlexElement classname = file.getClassname();
            if (classname != null) {
                classnamestr = classname.getText();
            }

            String returntypestr = DEFTYPE;
            JFlexElement returntype = file.getReturnType();
            if (returntype != null) {
                returntypestr = returntype.getText();
            }

            StringBuilder implementedstr = new StringBuilder();
            JFlexElement[] implemented = file.getImplementedInterfaces();
            //what a lousy piece of code.
            if (implemented.length > 0) {
                implementedstr.append(" implements ");
                for (int i = 0; i < implemented.length; i++) {
                    JFlexElement jFlexElement = implemented[i];
                    implementedstr.append(jFlexElement.getText());
                    if (i < implemented.length - 1) {
                        implementedstr.append(",");
                    }
                }
            }

            prefix.append("\npublic class ").append(classnamestr).append(implementedstr.toString()).append("{");

            StringBuilder suffix = new StringBuilder();

            if (host.isMatchAction()) {
                prefix.append("public ").append(returntypestr).append(" yylex(){");
                suffix.append("}}");
            } else {
                suffix.append("}");
            }

            registrar.addPlace(StdLanguages.JAVA, new TextRange(0, host.getTextLength()), prefix.toString(), suffix.toString());

        }

    }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    public PsiElement getElement() {
        return this;
    }

    public TextRange getRangeInElement() {
        return new TextRange(0, getTextLength());
    }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    public PsiElement getElement() {
        return this;
    }

    public TextRange getRangeInElement() {
        return new TextRange(0, getTextLength());
    }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    return this;
  }

  @Override
  public TextRange getRangeInElement() {
    final TextRange textRange = getTextRange();
    return new TextRange(0, textRange.getEndOffset() - textRange.getStartOffset());
  }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    return this;
  }

  @Override
  public TextRange getRangeInElement() {
    final TextRange textRange = getTextRange();
    return new TextRange(0, textRange.getEndOffset() - textRange.getStartOffset());
  }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

             }
           });
  }

  private static Collection<String> suggestKeywords(PsiElement position) {
    final TextRange posRange = position.getTextRange();
    final HaxeFile posFile = (HaxeFile)position.getContainingFile();

    final List<PsiElement> pathToBlockStatement = UsefulPsiTreeUtil.getPathToParentOfType(position, HaxeBlockStatement.class);

    final HaxePsiCompositeElement classInterfaceEnum =
      PsiTreeUtil.getParentOfType(position, HaxeClassBody.class, HaxeInterfaceBody.class, HaxeEnumBody.class);

    final String text;
    final int offset;
    if (pathToBlockStatement != null) {
      final Pair<String, Integer> pair = HaxeCodeGenerateUtil.wrapStatement(posRange.substring(posFile.getText()));
      text = pair.getFirst();
      offset = pair.getSecond();
    }
    else if (classInterfaceEnum != null) {
      final Pair<String, Integer> pair = HaxeCodeGenerateUtil.wrapFunction(posRange.substring(posFile.getText()));
      text = pair.getFirst();
      offset = pair.getSecond();
    }
    else {
      text = posFile.getText().substring(0, posRange.getStartOffset());
      offset = 0;
    }

    final List<String> result = new ArrayList<String>();
    if (pathToBlockStatement != null && pathToBlockStatement.size() > 1) {
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

  }

  @Override
  public boolean showHint(@NotNull Editor editor) {
    myEditor = editor;
    TextRange range = InjectedLanguageManager.getInstance(myType.getProject()).injectedToHost(myType, myType.getTextRange());
    HintManager.getInstance().showQuestionHint(editor, getText(), range.getStartOffset(), range.getEndOffset(), this);
    return true;
  }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    return list.toArray(descriptors);
  }

  private static void buildFolding(ASTNode node, List<FoldingDescriptor> list) {
    if (node.getElementType() == HaxeTokenTypes.BLOCK_STATEMENT) {
      final TextRange range = node.getTextRange();
      list.add(new FoldingDescriptor(node, range));
    }
    for (ASTNode child : node.getChildren(null)) {
      buildFolding(child, list);
    }
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    final String nodeText = node.getText();
    for (Pair<String, Integer> pair : HaxeStringUtil.getWordsWithOffset(nodeText)) {
      final String word = pair.getFirst();
      final int offset = pair.getSecond();
      final int absoluteOffset = node.getTextOffset() + offset;
      final TextRange range = new TextRange(absoluteOffset, absoluteOffset + word.length());
      final Annotation annotation = holder.createInfoAnnotation(range, null);
      final String attributeName = definitions.contains(word) ? HaxeSyntaxHighlighterColors.HAXE_DEFINED_VAR
                                                              : HaxeSyntaxHighlighterColors.HAXE_UNDEFINED_VAR;
      annotation.setTextAttributes(TextAttributesKey.find(attributeName));
      annotation.registerFix(new HaxeDefineIntention(word, definitions.contains(word)), range);
View Full Code Here

Examples of com.intellij.openapi.util.TextRange

    return result.toString();
  }

  public TextRange getParameterRange(int index) {
    if (index == -1) {
      return new TextRange(0, 0);
    }
    int startOffset = 0;
    for (int i = 0, length = parameters.length; i < length; i++) {
      if (i == index) {
        int shift = i == 0 ? 0 : ", ".length();
        return new TextRange(startOffset + shift, startOffset + shift + parameters[i].toString().length());
      }
      if (i > 0) {
        startOffset += ", ".length();
      }
      startOffset += parameters[i].toString().length();
    }
    return new TextRange(0, 0);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.