Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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)