idlwave-complete

idlwave-complete is an interactive compiled Lisp function in `idlwave.el'.


(idlwave-complete &optional ARG MODULE CLASS)

Complete a function, procedure or keyword name at point.
This function is smart and figures out what can be completed
at this point.
- At the beginning of a statement it completes procedure names.
- In the middle of a statement it completes function names.
- After a `(' or `,' in the argument list of a function or procedure,
it completes a keyword of the relevant function or procedure.
- In the first arg of `OBJ_NEW', it completes a class name.

When several completions are possible, a list will be displayed in
the *Completions* buffer. If this list is too long to fit into the
window, scrolling can be achieved by repeatedly pressing
M-x idlwave-complete.

The function also knows about object methods. When it needs a class
name, the action depends upon `idlwave-query-class', which see. You
can force IDLWAVE to ask you for a class name with a
C-u prefix argument to this command.

See also the variables `idlwave-keyword-completion-adds-equal' and
`idlwave-function-completion-adds-paren'.

The optional ARG can be used to specify the completion type in order
to override IDLWAVE's idea of what should be completed at point.
Possible values are:

0 <=> query for the completion type
1 <=> 'procedure
2 <=> 'procedure-keyword
3 <=> 'function
4 <=> 'function-keyword
5 <=> 'procedure-method
6 <=> 'procedure-method-keyword
7 <=> 'function-method
8 <=> 'function-method-keyword
9 <=> 'class

As a special case, the universal argument C-u forces completion of
function names in places where the default would be a keyword.

Two prefix argument, C-u C-u, prompts for a regexp by which to limit
completion.

For Lisp programmers only:
When we force a keyword, optional argument MODULE can contain the module name.
When we force a method or a method keyword, CLASS can specify the class.