docs: def get_dir_indices(msg, dirs):
      '''Return path(s) indices of directory list from user input
  
      Args
      ----
      msg: str
          String with message to display before pass selection input
      dir_list: array-like
          list of paths to be displayed and selected from
  
      Return
      ------
      input_dir_indices: array-like
          list of index positions of user selected path from input
      '''
      import os
  
      # Get user input for paths to process
      usage = ('\nEnter numbers preceeding paths seperated by commas (e.g. '
               '`0,2,3`).\nTo select all paths type `all`.\nSingle directories '
               'can also be entered (e.g.  `0`)\n\n')
  
      # Generate paths text to display
      dirs_str = ['{:2} {:60}\n'.format(i, p) for i, p in enumerate(dirs)]
      dirs_str = ''.join(dirs_str)
  
      # Concatenate `msg`, usage txt, and paths list for display before input
      input_dirs   = recursive_input(''.join([msg, usage, dirs_str, '\n']), str)
  
      # Determine type of input
      if ',' in input_dirs:
          input_dir_indices = [int(x.strip()) for x in input_dirs.split(',')]
      elif 'all' in input_dirs:
          input_dir_indices = range(len(dirs))
      else:
          try:
              input_dir_indices = [int(input_dirs.strip()),]
          except:
              raise ValueError('Could not determine input type for input: '
                               '{}'.format(input_dirs))
  
      return input_dir_indices