def on_modified_async(self, view):
        if not is_php_file(view):
            return
        cursor = view.sel()[0].b
        if cursor < 1:
            return

        while cursor > 0:
            curChar = view.substr(sublime.Region(cursor-1, cursor))
            if curChar == '\\':
                return self.run_completion(view)
            if curChar == '$':
                return self.run_completion(view)
            if curChar == '(':
                return self.run_completion(view)
            if cursor > 1:
                curChar = view.substr(sublime.Region(cursor-2, cursor))
                if curChar == '->':
                    return self.run_completion(view)
                if curChar == '::':
                    return self.run_completion(view)
            if cursor > 3:
                curChar = view.substr(sublime.Region(cursor-4, cursor))
                if curChar == 'use ':
                    return self.run_completion(view)
                if curChar == 'new ':
                    return self.run_completion(view)
                if 9 > cursor:
                    curChar = view.substr(sublime.Region(cursor-10, cursor))
                    if curChar == 'namespace ':
                        return self.run_completion(view)
            cursor -= 1
dataset/ETHPy150Open erichard/SublimePHPCompanion/php_companion/listeners/padawan_completer.py/PadawanCompleter.on_modified_async/swapped operands of `>`