def on_query_completions(self, prefix, locations):
cmd = ["gocode", "-f=csv", "autocomplete"]
view_path = self.view.file_name()
if view_path:
cmd.append(view_path)
cmd.append("c{0}".format(locations[0]))
gocode_input = self.view.substr(sublime.Region(0, self.view.size()))
gocode = subprocess.Popen(
cmd,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
startupinfo=platform_startupinfo())
gocode_output = gocode.communicate(gocode_input.encode())[0].decode()
result = []
for line in filter(bool, gocode_output.split("\n")):
components = line.split(",,")
result.append(hint_and_replacement(*components))
return (result, sublime.INHIBIT_WORD_COMPLETIONS)
# go to balanced pair, e.g.:
# ((abc(def)))
# ^
# \--------->^
#
# returns -1 on failure
评论列表
文章目录