code: def cmdvalu(self, until=cmdquote):
          '''
          Consume and return one command argument, stopping when it hits a character (not in a quotation) in `until`.
          '''
          self.ignore(whitespace)
          if self.nextstr('"'):
              return self.quoted()
          if self.nextstr("'"):
              return self.singlequoted()
          return self.noms(until=untilf cmdvalu(self, until=cmdquote):
          '''
          Consume and return one command argument, stopping when it hits a character (not in a quotation) in `until`.
          '''
          self.ignore(whitespace)
          if self.nextstr('"'):
              return self.quoted()
          if self.nextstr("'"):
              return self.singlequoted()
          return self.noms(until=until)
docs: Consume and return one command argument, stopping when it hits a character (not in a quotation) in `until`.