def _threaded_complete_all(self, doc_uri, line, col, monitor: IMonitor): from robotframework_ls.impl import section_name_completions from robotframework_ls.impl import keyword_completions from robotframework_ls.impl import variable_completions from robotframework_ls.impl import filesystem_section_completions from robotframework_ls.impl import keyword_parameter_completions completion_context = self._create_completion_context( doc_uri, line, col, monitor) if completion_context is None: return [] ret = section_name_completions.complete(completion_context) if not ret: ret.extend( filesystem_section_completions.complete(completion_context)) if not ret: ret.extend(keyword_completions.complete(completion_context)) if not ret: ret.extend(variable_completions.complete(completion_context)) if not ret: ret.extend( keyword_parameter_completions.complete(completion_context)) return ret
def m_section_name_complete(self, doc_uri, line, col): from robotframework_ls.impl import section_name_completions completion_context = self._create_completion_context(doc_uri, line, col, None) if completion_context is None: return [] return section_name_completions.complete(completion_context)
def test_section_name_keywords_completions(data_regression): from robotframework_ls.impl import section_name_completions from robotframework_ls.impl.completion_context import CompletionContext from robotframework_ls.impl.robot_workspace import RobotDocument doc = RobotDocument( "unused", source=""" *** keywords *** """, ) completions = section_name_completions.complete(CompletionContext(doc)) data_regression.check(completions, basename="keywords_no_names") doc = RobotDocument( "unused", source=""" *** keywords *** [""", ) completions = section_name_completions.complete(CompletionContext(doc)) data_regression.check(completions, basename="keywords_names") doc = RobotDocument( "unused", source=""" *** keywords *** [Docum""", ) completions = section_name_completions.complete(CompletionContext(doc)) data_regression.check(completions, basename="keywords_docum_names") doc = RobotDocument( "unused", source=""" *** keywords *** [Docum]""", ) line, col = doc.get_last_line_col() completions = section_name_completions.complete( CompletionContext(doc, line=line, col=col - 1) ) data_regression.check(completions, basename="keywords_docum_names2")
def m_complete_all(self, doc_uri, line, col): from robotframework_ls.impl import section_name_completions from robotframework_ls.impl import keyword_completions from robotframework_ls.impl import variable_completions completion_context = self._create_completion_context(doc_uri, line, col) if completion_context is None: return [] ret = section_name_completions.complete(completion_context) ret.extend(keyword_completions.complete(completion_context)) ret.extend(variable_completions.complete(completion_context)) return ret
def test_section_name_settings_completions(data_regression): from robotframework_ls.impl import section_name_completions from robotframework_ls.impl.completion_context import CompletionContext from robotframework_ls.impl.robot_workspace import RobotDocument doc = RobotDocument( "unused", source=""" *** Settings *** """, ) completions = section_name_completions.complete(CompletionContext(doc)) data_regression.check(completions, basename="settings_names") doc = RobotDocument( "unused", source=""" *** Settings *** Docum""", ) completions = section_name_completions.complete(CompletionContext(doc)) data_regression.check(completions, basename="settings_docum_names")
def _threaded_complete_all(self, doc_uri, line, col, monitor: IMonitor): from robotframework_ls.impl import section_name_completions from robotframework_ls.impl import keyword_completions from robotframework_ls.impl import variable_completions from robotframework_ls.impl import filesystem_section_completions from robotframework_ls.impl import keyword_parameter_completions from robotframework_ls.impl import auto_import_completions from robotframework_ls.impl.collect_keywords import ( collect_keyword_name_to_keyword_found, ) from robotframework_ls.impl import ast_utils completion_context = self._create_completion_context( doc_uri, line, col, monitor ) if completion_context is None: return [] ret = section_name_completions.complete(completion_context) if not ret: ret.extend(filesystem_section_completions.complete(completion_context)) if not ret: token_info = completion_context.get_current_token() if token_info is not None: token = ast_utils.get_keyword_name_token( token_info.node, token_info.token ) if token is not None: keyword_name_to_keyword_found: Dict[ str, List[IKeywordFound] ] = collect_keyword_name_to_keyword_found(completion_context) ret.extend(keyword_completions.complete(completion_context)) ret.extend( auto_import_completions.complete( completion_context, keyword_name_to_keyword_found ) ) return ret if not ret: ret.extend(variable_completions.complete(completion_context)) if not ret: ret.extend(keyword_parameter_completions.complete(completion_context)) return ret
def _complete_from_completion_context(self, completion_context): from robotframework_ls.impl import section_name_completions from robotframework_ls.impl import keyword_completions from robotframework_ls.impl import variable_completions from robotframework_ls.impl import dictionary_completions from robotframework_ls.impl import filesystem_section_completions from robotframework_ls.impl import keyword_parameter_completions from robotframework_ls.impl import auto_import_completions from robotframework_ls.impl.collect_keywords import ( collect_keyword_name_to_keyword_found, ) from robotframework_ls.impl import ast_utils ret = section_name_completions.complete(completion_context) if not ret: ret.extend(filesystem_section_completions.complete(completion_context)) if not ret: token_info = completion_context.get_current_token() if token_info is not None: token = ast_utils.get_keyword_name_token( token_info.node, token_info.token ) if token is not None: keyword_name_to_keyword_found: Dict[ str, List[IKeywordFound] ] = collect_keyword_name_to_keyword_found(completion_context) ret.extend(keyword_completions.complete(completion_context)) ret.extend( auto_import_completions.complete( completion_context, keyword_name_to_keyword_found ) ) return ret if not ret: ret.extend(variable_completions.complete(completion_context)) if not ret: ret.extend(dictionary_completions.complete(completion_context)) if not ret: ret.extend(keyword_parameter_completions.complete(completion_context)) return ret