parameters: (builtin)
docstring: Get the call tips for a builtin function from its docstring
      :param builtin builtin: The builtin to generate call tips for
      :return inspect.ArgSpec: The ArgSpec of the builtin. If no function
          description is available in the docstring return None
docstring_summary: Get the call tips for a builtin function from its docstring
      :param builtin builtin: The builtin to generate call tips for
      :return inspect.ArgSpec: The ArgSpec of the builtin. If no function
          description is available in the docstring return None
docstring_tokens: Get the call tips for a builtin function from its docstring : param builtin builtin : The builtin to generate call tips for : return inspect . ArgSpec : The ArgSpec of the builtin . If no function description is available in the docstring return None
function: def get_builtin_argspec(builtin):
      """
      Get the call tips for a builtin function from its docstring
      :param builtin builtin: The builtin to generate call tips for
      :return inspect.ArgSpec: The ArgSpec of the builtin. If no function
          description is available in the docstring return None
      """
      doc_string = builtin.__doc__
      if not doc_string:
          return None
      func_descriptor = doc_string.split('\n')[0].strip()
      if re.search(builtin.__name__ + r"\([\[\*a-zA-Z_].*\)", func_descriptor):
          args_string = func_descriptor[func_descriptor.find('(') + 1:func_descriptor.rfind(')')]
          all_args_list = args_string.split(', ')
          args = []
          defaults = []
          for arg in all_args_list:
              if '=' in arg:
                  args.append(arg.split('=')[0].strip())
                  defaults.append(arg.split('=')[1].strip())
              else:
                  args.append(arg)
          arg_spec = ArgSpec(args, None, None, defaults)
          return arg_spec
function_tokens: def get_builtin_argspec ( builtin ) : doc_string = builtin . __doc__ if not doc_string : return None func_descriptor = doc_string . split ( '\n' ) [ 0 ] . strip ( ) if re . search ( builtin . __name__ + r"\([\[\*a-zA-Z_].*\)" , func_descriptor ) : args_string = func_descriptor [ func_descriptor . find ( '(' ) + 1 : func_descriptor . rfind ( ')' ) ] all_args_list = args_string . split ( ', ' ) args = [ ] defaults = [ ] for arg in all_args_list : if '=' in arg : args . append ( arg . split ( '=' ) [ 0 ] . strip ( ) ) defaults . append ( arg . split ( '=' ) [ 1 ] . strip ( ) ) else : args . append ( arg ) arg_spec = ArgSpec ( args , None , None , defaults ) return arg_spec