code: def split_text_with_context(text, separators=WHITESPACE, brackets=None):
      
      res, chunk = [], []
      for c, type_ in _tokens(text, brackets=brackets):
          if type_ == TextType.text and c in separators:
              res.append(''.join(chunk).strip())
              chunk = []
          else:
              chunk.append(c)
      res.append(''.join(chunk).strip())
      return nfilter(res)
docs: Splits text at separators outside of brackets.
  
      :param text:
      :param separators: An iterable of single character tokens.
      :param brackets:
      :return: A `list` of non-empty chunks.
  
      .. note:: This function leaves content in brackets in the chunks.