code: func yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {
  	if first {
  		if !yaml_emitter_increase_indent(emitter, false, false) {
  			return false
  		}
  	}
  	if event.typ == yaml_MAPPING_END_EVENT {
  		emitter.indent = emitter.indents[len(emitter.indents)-1]
  		emitter.indents = emitter.indents[:len(emitter.indents)-1]
  		emitter.state = emitter.states[len(emitter.states)-1]
  		emitter.states = emitter.states[:len(emitter.states)-1]
  		return true
  	}
  	if !yaml_emitter_write_indent(emitter) {
  		return false
  	}
  	if yaml_emitter_check_simple_key(emitter) {
  		emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE)
  		return yaml_emitter_emit_node(emitter, event, false, false, true, true)
  	}
  	if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) {
  		return false
  	}
  	emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE)
  	return yaml_emitter_emit_node(emitter, event, false, false, true, false)
  }
docs: // Expect a block key node.