def _examine_key(self, key_name, key_val, p, i, option_parsing):
<EOL>if '<STR_LIT>' in key_val:<EOL><INDENT>self.exe = key_val['<STR_LIT>']<EOL><DEDENT>if '<STR_LIT:type>' in key_val and key_val['<STR_LIT:type>'] == '<STR_LIT:bool>':<EOL><INDENT>self.exe_options[key_name] = True<EOL><DEDENT>if '<STR_LIT>' in key_val:<EOL><INDENT>if len(self.inp_cmd) > i+<NUM_LIT:1>:<EOL><INDENT>self.key = { '<STR_LIT>': key_val['<STR_LIT>'] }<EOL>if key_val['<STR_LIT:type>'] == '<STR_LIT>':<EOL><INDENT>if '<STR_LIT>' in key_val and key_val['<STR_LIT>'] == True:<EOL><INDENT>if key_name not in self.exe_options:<EOL><INDENT>self.exe_options[key_name] = []<EOL><DEDENT>self.exe_options[key_name].append(self.inp_cmd[i+<NUM_LIT:1>])<EOL><DEDENT>else:<EOL><INDENT>self.exe_options[key_name] = self.inp_cmd[i+<NUM_LIT:1>]<EOL><DEDENT><DEDENT>else:<EOL><INDENT>self.arg = self.inp_cmd[i+<NUM_LIT:1>]<EOL><DEDENT>if '<STR_LIT>' in key_val['<STR_LIT>']:<EOL><INDENT>self.key_complete = key_val['<STR_LIT>']['<STR_LIT>'](self.inp_cmd[i+<NUM_LIT:1>])<EOL><DEDENT>else:<EOL><INDENT>self.key_complete = True<EOL><DEDENT>if '<STR_LIT>' in key_val:<EOL><INDENT>self.children = key_val['<STR_LIT>']<EOL><DEDENT>elif key_val['<STR_LIT:type>'] == '<STR_LIT>':<EOL><INDENT>self.children = None<EOL><DEDENT>if '<STR_LIT>' in key_val and len(self.inp_cmd) > i+<NUM_LIT:2>:<EOL><INDENT>key_val['<STR_LIT>'](self.inp_cmd[i+<NUM_LIT:1>], self.exe_options)<EOL>self.exe_options = {}<EOL><DEDENT>i += <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>self.children = { '<STR_LIT>': key_val['<STR_LIT>'] }<EOL><DEDENT>if option_parsing and p == key_name and key_name in self.children:<EOL><INDENT>if '<STR_LIT>' in self.children[key_name] and self.children[key_name]['<STR_LIT>'] == True:<EOL><INDENT>pass<EOL><DEDENT>else:<EOL><INDENT>del self.children[key_name]<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>if '<STR_LIT>' in key_val:<EOL><INDENT>self._scoop_rest_arguments = True<EOL>self.arg = []<EOL><DEDENT>self.children = key_val.get('<STR_LIT>')<EOL>if self.exe is not None:<EOL><INDENT>option_parsing = True<EOL><DEDENT><DEDENT>return i, option_parsing<EOL>
Examine the current matching key

            Extracts information, such as function to execute and command
            options, from the current key (passed to function as 'key_name' and
            'key_val').