code: def _display_basic(res):
      ui.message(ac.color_word("Dry run information", ac.MAGENTA))
  
      def fmt_line(key, value, multiline=False):
          return " {key}:{sep}{value}".format(
              key=ac.color_word(key, ac.BOLD),
              sep=os.linesep + "  " if multiline else " ",
              value=value,
          )
  
      dry_run_info = res["dry_run_info"]
      lines = [fmt_line("location", dry_run_info["pwd_full"])]
  
      # TODO: Inputs and outputs could be pretty long. These may be worth
      # truncating.
      inputs = dry_run_info["inputs"]
      if inputs:
          lines.append(
              fmt_line("expanded inputs", inputs, multiline=True)
          )
      outputs = dry_run_info["outputs"]
      if outputs:
          lines.append(
              fmt_line("expanded outputs", outputs, multiline=True)
          )
  
      cmd = res["run_info"]["cmd"]
      cmd_expanded = dry_run_info["cmd_expanded"]
      lines.append(fmt_line("command", cmd, multiline=True))
      if cmd != cmd_expanded:
          lines.append(
              fmt_line("expanded command", cmd_expanded, multiline=True)
          )
  
      ui.message(os.linesep.join(lines))
  
imports: import json
  import logging
  import os
  import os.path
  import warnings
  from argparse import REMAINDER
  from pathlib import Path
  from tempfile import mkdtemp
  import datalad
  import datalad.support.ansi_colors
  from datalad.config import anything2bool
  from datalad.core.local.save import Save
  from datalad.core.local.status import Status
  from datalad.distribution.dataset import Dataset, EnsureDataset, datasetmethod, require_dataset
  from datalad.distribution.get import Get
  from datalad.distribution.install import Install
  from datalad.interface.base import Interface, build_doc, eval_results
  from datalad.interface.common_opts import jobs_opt, save_message_opt
  from datalad.interface.results import get_status_dict
  from datalad.interface.utils import generic_result_renderer
  from datalad.local.unlock import Unlock
  from datalad.support.constraints import EnsureBool, EnsureChoice, EnsureNone
  from datalad.support.exceptions import CapturedException, CommandError
  from datalad.support.globbedpaths import GlobbedPaths
  from datalad.support.json_py import dump2stream
  from datalad.support.param import Parameter
  from datalad.ui import ui
  from datalad.utils import SequenceFormatter, chpwd, ensure_list, ensure_unicode, get_dataset_root, getpwd, join_cmdline, quote_cmdlinearg
label_desc: Use image node_id 2 for calling a global function with example usage: _display_basic(res) and returns: str