Class TextEditUtils


  • public class TextEditUtils
    extends Object
    • Method Detail

      • insertLineBefore

        public static PythonTextEdit insertLineBefore​(Tree tree,
                                                      String textToInsert)
        Insert a line with the same offset as the given tree, before the given tree. Offset is applied to multiline insertions.
      • insertLineAfter

        public static PythonTextEdit insertLineAfter​(Tree tree,
                                                     Tree indentReference,
                                                     String textToInsert)
        Insert a line with the same offset as the given tree, after the given tree. Offset is applied to multiline insertions and calculated by the reference tree.
      • insertAtPosition

        public static PythonTextEdit insertAtPosition​(int line,
                                                      int column,
                                                      String textToInsert)
      • shiftLeft

        public static List<PythonTextEdit> shiftLeft​(StatementList statementList)
        Shift body statements to be on same level as the parent statement Filter out text edits which apply on the same line which could show up with multiple statements on the same line
      • shiftLeft

        public static List<PythonTextEdit> shiftLeft​(Tree tree,
                                                     int offset)
        Shift single statement of a statement list by the given offset. Take care about child statements by collecting all child tokens and shift each line once.
      • removeRange

        public static PythonTextEdit removeRange​(int startLine,
                                                 int startColumn,
                                                 int endLine,
                                                 int endColumn)
      • removeUntil

        public static PythonTextEdit removeUntil​(Tree start,
                                                 Tree until)
        Remove range including the start token until the beginning of the end tree's first token. This is useful to remove and shift multiple statement over multiple lines.
      • renameAllUsages

        public static List<PythonTextEdit> renameAllUsages​(HasSymbol node,
                                                           String newName)
        Returns a list of all replacements for the symbol to new name. If there is no usages empty list is returned.