You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: dirPlus.m
    path of file: ./repos/scGEAToolbox/+pkg
    
    the code of the file until where you have to start completion: function output = dirPlus(rootPath, varargin)
%dirPlus   Recursively collect files or directories within a folder.
%   LIST = dirPlus(ROOTPATH) will search recursively through the folder
%   tree beneath ROOTPATH and collect a cell array LIST of all files it
%   finds. The list will contain the absolute paths to each file starting
%   at ROOTPATH.
%
%   LIST = dirPlus(ROOTPATH, 'PropertyName', PropertyValue, ...) will
%   modify how files and directories are selected, as well as the format of
%   LIST, based on the property/value pairs specified. Valid properties
%   that the user can set are:
%
%   GENERAL:
%     'Struct'      - A logical value determining if the output LIST should
%                     instead be a structure array of the form returned by
%                     the DIR function. If TRUE, LIST will be an N-by-1
%                     structure array instead of a cell array.
%     'Depth'       - A non-negative integer value for the maximum folder
%                     tree depth that dirPlus will search through. A value

    
function output = dirPlus(rootPath, varargin)
%dirPlus   Recursively collect files or directories within a folder.
%   LIST = dirPlus(ROOTPATH) will search recursively through the folder
%   tree beneath ROOTPATH and collect a cell array LIST of all files it
%   finds. The list will contain the absolute paths to each file starting
%   at ROOTPATH.
%
%   LIST = dirPlus(ROOTPATH, 'PropertyName', PropertyValue, ...) will
%   modify how files and directories are selected, as well as the format of
%   LIST, based on the property/value pairs specified. Valid properties
%   that the user can set are:
%
%   GENERAL:
%     'Struct'      - A logical value determining if the output LIST should
%                     instead be a structure array of the form returned by
%                     the DIR function. If TRUE, LIST will be an N-by-1
%                     structure array instead of a cell array.
%     'Depth'       - A non-negative integer value for the maximum folder
%                     tree depth that dirPlus will search through. A value
%                     of 0 will only search in ROOTPATH, a value of 1 will
%                     search in ROOTPATH and its subfolders, etc. Default
%                     (and maximum allowable) value is the current
%                     recursion limit set on the root object (i.e.
%                     get(0, 'RecursionLimit')).
%     'ReturnDirs'  - A logical value determining if the output will be a
%                     list of files or subdirectories. If TRUE, LIST will
%                     be a cell array of subdirectory names/paths. Default
%                     is FALSE.
%     'Prepend