docs: function(context: ParserContext): ?(Token[]) {
      if (
        !context.reader.isPrecededByWhitespaceOnly() ||
        !context.reader.match(":")
      )
        return null;
  
      // Not a label if "::", end of line, or ":" followed by a whitespace.
      const peek = context.reader.peekWithOffset(1);
      if (peek === ":" || peek === "" || /\s/.test(peek)) return null;
  
      // Label. Read until whitespace.
      context.reader.read();
      let value = context.reader.read();
      while (!context.reader.isEOF() && !/\s/.test(context.reader.peek()))
        value += context.reader.read();
  
      if (value === "") return null;
  
      return [
        context.createToken("operator", ":"),
        context.createToken("label", value)
      ];
    }