def run(self, edit): view = self.view if not is_robot_format(view): return sel = view.sel()[0] line = re.compile('\r|\n').split(view.substr(view.line(sel)))[0] row, col = view.rowcol(sel.begin()) file_path = view.file_name() if not file_path: sublime.error_message('Please save the buffer to a file first.') return path, file_name = os.path.split(file_path) if line.strip().startswith('Resource'): resource = line[line.find('Resource') + 8:].strip().replace('${CURDIR}', path) resource_path = os.path.join(path, resource) view.window().open_file(resource_path) return keyword = get_keyword_at_pos(line, col) if not keyword: return view_file = populate_testcase_file(self.view) # must be run on main thread folders = view.window().folders() GoToKeywordThread(view, view_file, keyword, folders).start()
def run(self, edit): view = self.view if not is_robot_format(view): return sel = view.sel()[0] line = re.compile('\r|\n').split(view.substr(view.line(sel)))[0] row, col = view.rowcol(sel.begin()) file_path = view.file_name() if not file_path: sublime.error_message('Please save the buffer to a file first.') return path, file_name = os.path.split(file_path) if line.strip().startswith('Resource'): resource = line[line.find('Resource') + 8:].strip().replace( '${CURDIR}', path) resource_path = os.path.join(path, resource) view.window().open_file(resource_path) return keyword = get_keyword_at_pos(line, col) if not keyword: return view_file = populate_testcase_file(self.view) # must be run on main thread folders = view.window().folders() GoToKeywordThread(view, view_file, keyword, folders).start()
def on_query_completions(self, view, prefix, locations): if is_robot_format(view): view_file = populate_testcase_file(view) keywords = Scanner(view).scan_file(view_file) lower_prefix = prefix.lower() user_keywords = [(kw[0].keyword.name, kw[0].keyword.name) for kw in keywords.itervalues() if kw[0].keyword.name.lower().startswith(lower_prefix)] return user_keywords
def on_query_completions(self, view, prefix, locations): if not is_robot_format(view): return sel = view.sel()[0] line = re.compile('\r|\n').split(view.substr(view.line(sel)))[0].replace('\t', ' ') lower_prefix = view.substr(view.line(sel))[:view.rowcol(sel.begin())[1]].split(' ')[-1] view_file = populate_testcase_file(view) folders = view.window().folders() scanner = Scanner(view) keywords = scanner.scan_file(view_file) for folder in folders: for root, dirs, files in os.walk(folder): for f in files: if f.endswith('.txt') and f != '__init__.txt': path = os.path.join(root, f) scanner.scan_without_resources(path, keywords) keywords.update(stdlib_keywords.keywords) user_keywords = user_kw(keywords, lower_prefix, prefix) return user_keywords