Set or remove the completer function.If *function* is specified, it will be used as the new completer function; if omitted or ``None``, any completer function already installed is removed.The completer function is called as ``function(text, state)``, for *state* in ``0``, ``1``, ``2``, ..., until it returns a non-string value.It should return the next possible completion starting with *text*.