def on_modified(self, view): if sublime.score_selector(view.scope_name(view.sel()[0].b), 'source.php') == 0: return editor = PhpCoder().editor(view) doComplete = False line = editor.before() if len(line) == 0: return if re.match(r'.*[,\(]\s*$', line) or line[-1] == '$' or re.match( r'.*new [a-zA-Z0-9_]*$', line) or re.match( r'(^|\s+)[a-zA-Z]+$', line): doComplete = True else: expr = editor.expr() if expr and expr['prefix'][:2] in ['::', '->']: doComplete = True if doComplete: view.run_command( 'auto_complete', { 'disable_auto_insert': True, 'api_completions_only': False, 'next_completion_if_showing': False, 'auto_complete_commit_on_tab': True, })
def on_query_completions(self, view, prefix, locations): if sublime.score_selector(view.scope_name(view.sel()[0].b), 'source.php') == 0: return editor = PhpCoder().editor(view) resolver = phpcoder.resolver.Resolver(editor) line = editor.before() if re.match(r'.*[,\(]\s*$', line): return self._completeParams(editor, resolver) if re.match(r'.*new [a-zA-Z0-9_]*$', line): return self._completeNew(view) if line[-1] == '$': return editor.findLocals() expr = editor.expr() if expr: return self._completeExpr(expr, editor, resolver) return []
def on_modified(self, view): if sublime.score_selector(view.scope_name(view.sel()[0].b), 'source.php') == 0: return editor = PhpCoder().editor(view) doComplete = False line = editor.before() if len(line) == 0: return if re.match(r'.*[,\(]\s*$', line) or line[-1] == '$' or re.match(r'.*new [a-zA-Z0-9_]*$', line) or re.match(r'(^|\s+)[a-zA-Z]+$', line): doComplete = True else: expr = editor.expr() if expr and expr['prefix'][:2] in ['::', '->']: doComplete = True if doComplete: view.run_command('auto_complete', { 'disable_auto_insert': True, 'api_completions_only': False, 'next_completion_if_showing': False, 'auto_complete_commit_on_tab': True, })