docs: def _compile_messages(self):
          '''
          Create a list of all OS messages and their compiled regexs
          '''
          self.compiled_messages = []
          if not self._config:
              return
          for message_dict in self._config.get('messages', {}):
              error = message_dict['error']
              tag = message_dict['tag']
              model = message_dict['model']
              match_on = message_dict.get('match_on', 'tag')
              if '__python_fun__' in message_dict:
                  self.compiled_messages.append({
                      'error': error,
                      'tag': tag,
                      'match_on': match_on,
                      'model': model,
                      '__python_fun__': message_dict['__python_fun__']
                  })
                  continue
              values = message_dict['values']
              line = message_dict['line']
              mapping = message_dict['mapping']
              # We will now figure out which position each value is in so we can use it with the match statement
              position = {}
              replace = {}
              for key in values.keys():
                  if '|' in key:
                      new_key, replace[new_key] = key.replace(' ', '').split('|')
                      values[new_key] = values.pop(key)
                      key = new_key
                  position[line.find('{' + key + '}')] = key
              sorted_position = {}
              for i, elem in enumerate(sorted(position.items())):
                  sorted_position[elem[1]] = i + 1
              # Escape the line, then remove the escape for the curly bracets so they can be used when formatting
              escaped = re.escape(line).replace(r'\{', '{').replace(r'\}', '}')
              # Replace a whitespace with \s+
              escaped = escaped.replace(r'\ ', r'\s+')
              self.compiled_messages.append(
                  {
                      'error': error,
                      'tag': tag,
                      'match_on': match_on,
                      'line': re.compile(escaped.format(**values)),
                      'positions': sorted_position,
                      'values': values,
                      'replace': replace,
                      'model': model,
                      'mapping': mapping
                  }
              )
          log.debug('Compiled messages:')
          log.debug(self.compiled_messages)