code: func showToken() error {
  	// get the token
  	tokData, err := loadData(*flagShow)
  	if err != nil {
  		return fmt.Errorf("Couldn't read token: %v", err)
  	}
  
  	// trim possible whitespace from token
  	tokData = regexp.MustCompile(`\s*$`).ReplaceAll(tokData, []byte{})
  	if *flagDebug {
  		fmt.Fprintf(os.Stderr, "Token len: %v bytes\n", len(tokData))
  	}
  
  	token, err := jwt.Parse(string(tokData), nil)
  	if token == nil {
  		return fmt.Errorf("malformed token: %v", err)
  	}
  
  	// Print the token details
  	fmt.Println("Header:")
  	if err := printJSON(token.Header); err != nil {
  		return fmt.Errorf("Failed to output header: %v", err)
  	}
  
  	fmt.Println("Claims:")
  	if err := printJSON(token.Claims); err != nil {
  		return fmt.Errorf("Failed to output claims: %v", err)
  	}
  
  	return nil
  }
docs: // showToken pretty-prints the token on the command line.