def on_query_completions(self, view, prefix, locations):
"""Sublime Text autocompletion event handler
"""
if not is_code(view, lang='rust'):
return
if self.ready_from_defer is True:
completion_flags = 0
if ags(view, 'suppress_word_completions', False):
completion_flags = sublime.INHIBIT_WORD_COMPLETIONS
if ags(view, 'suppress_explicit_completions', False):
completion_flags = sublime.INHIBIT_EXPLICIT_COMPLETIONS
cpl = self.completions
self.completions = []
self.ready_from_defer = False
return (cpl, completion_flags)
code = view.substr(sublime.Region(0, view.size()))
row, col = view.rowcol(locations[0])
racer = get_settings(view, 'racer_binary_path', 'racer')
if racer == '':
racer = 'racer'
data = {
'vid': view.id(),
'filename': view.file_name(),
'settings': {
'racer_binary_path': racer,
'rust_src_path': get_settings(view, 'rust_src_path'),
'row': row,
'col': col,
'source': code,
},
'method': 'autocomplete',
'handler': 'racer'
}
Worker().execute(
Callback(
on_success=self._complete,
on_failure=self._on_failure,
on_timeout=self._on_timeout
),
**data
)
评论列表
文章目录