def on_query_completions(self, view, prefix, locations): # helpers.log_info("--> " + __name__ + ": " + type(self).__name__ + "." + sys._getframe().f_code.co_name) # if (not helpers.is_a_gold_view(view)) or (len(prefix) < 4): # return [] # api = environment.getSwaggerAPI() # fullChoiceList = api.MMBrowserAPI.MMBrowserAPI_searchEntities(q=prefix).result() # result = [] # for item in fullChoiceList: # result.append((item['label'], item['label'])) # print(result) # helpers.log_info("<-- " + __name__ + ": " + type(self).__name__ + "." + sys._getframe().f_code.co_name) # return result helpers.log_info("--> " + __name__ + ": " + type(self).__name__ + "." + sys._getframe().f_code.co_name) if not helpers.is_a_gold_view(view): return [] moduleName = helpers.get_module_from_view(view) sourceCode = helpers.get_view_content(view).replace('\n', "\\r\\n") api = environment.getSwaggerAPI() tSuggestBody = api.get_model("tSuggestBody") tImplem = api.get_model("tImplem") rowcol = view.rowcol(locations[0]) lineRegion = view.line(locations[0]) lineContent = view.substr(lineRegion) lineInfo = { "lineContent": lineContent, "lineNumber": rowcol[0]+1, "ColumnNumber": rowcol[1]+1 } implem = { "name": moduleName, "ancestor": "", "content": sourceCode } suggestBody = tSuggestBody(implem=implem, lineInfo=lineInfo) fullChoiceList = api.ModuleDefAPI.ModuleDefAPI_Suggest(name=moduleName, body=suggestBody).result() result = [] for item in fullChoiceList["items"]: if item['insertText'] == "": result.append((item["label"], item["label"])) else: result.append((item["label"], item["insertText"])) helpers.log_info("<-- " + __name__ + ": " + type(self).__name__ + "." + sys._getframe().f_code.co_name) if result == []: flag = 0 else: flag = sublime.INHIBIT_WORD_COMPLETIONS return (result, flag)
def run(self, edit, event=None, refresh=True): api = environment.getSwaggerAPI() implemModel = api.get_model("tImplem") content = helpers.get_view_content(self.view) moduleName = helpers.get_module_from_view(self.view) content = content.replace('\n', "\\r\\n") implem = implemModel(content=content, name=moduleName, ancestor="") res = api.ModuleDefAPI.ModuleDefAPI_Modify(name=moduleName, body=implem).result() actions.update_error_view(res['errors'], self.view) if len(res['errors']) == 0 and refresh: actions.update_content(self.view, res['content'])
def get_module_content(callback, view=None): """ Retrieve module content using a view. The view defaults to current active view. """ source = helpers.get_view_content(view) callback(source)