def __search_for_matches( self, string_to_check: str, context: PluginScanContext, token: MarkdownToken, same_line_offset: int = 0, start_x_offset: int = 0, start_y_offset: int = 0, ) -> None: string_to_check = ParserHelper.remove_all_from_text(string_to_check) string_to_check_lower = string_to_check.lower() for next_name in self.__proper_name_list: next_name_lower = next_name.lower() search_start = 0 found_index = string_to_check_lower.find(next_name_lower, search_start) while found_index != -1: self.__search_for_possible_matches( string_to_check, string_to_check_lower, search_start, found_index, start_x_offset, start_y_offset, same_line_offset, next_name, context, token, ) search_start = found_index + len(next_name) found_index = string_to_check_lower.find( next_name_lower, search_start)
def next_token(self, context: PluginScanContext, token: MarkdownToken) -> None: """ Event that a new token is being processed. """ if token.is_atx_heading: atx_token = cast(AtxHeadingMarkdownToken, token) if not atx_token.remove_trailing_count: self.__atx_heading_token = token elif token.is_paragraph_end: self.__atx_heading_token = None elif token.is_text: text_token = cast(TextMarkdownToken, token) resolved_extracted_whitespace = ParserHelper.remove_all_from_text( text_token.extracted_whitespace) if self.__atx_heading_token and len( resolved_extracted_whitespace) > 1: self.report_next_token_error(context, self.__atx_heading_token)