Variable: idlwave-query-class

idlwave-query-class is a customizable variable defined in idlwave.el.gz.

Value

((method-default)
 (keyword-default))

Documentation

Association list governing specification of object classes for completion.

When IDLWAVE tries to complete object-oriented methods, it usually cannot determine the class of a given object from context. In order to provide the user with a correct list of methods or keywords, it needs to determine the appropriate class. IDLWAVE has two ways of doing this (well, three ways if you count the shell... see idlwave-shell-query-for-class):

1. Combine the items of all available classes which contain this
   method for the purpose of completion. So when completing a method,
   all methods of all known classes are available, and when completing
   a keyword, all keywords allowed for this method in any class are
   shown. This behavior is very much like normal completion and is
   therefore the default. It works much better than one might think -
   only for the INIT, GETPROPERTY and SETPROPERTY the keyword lists
   become uncomfortably long. See also
   idlwave-completion-show-classes.

2. The second possibility is to ask the user on each occasion. To
   make this less interruptive, IDLWAVE can store the class as a text
   property on the object operator ->. For a given object in the
   source code, class selection will then be needed only once
   - for example to complete the method. Keywords to the method can
   then be completed directly, because the class is already known.
   You will have to turn on the storage of the selected class
   explicitly with the variable idlwave-store-inquired-class.

This variable allows you to configure IDLWAVE's method and method-keyword completion behavior. Its value is an alist, which should contain at least two elements: (method-default . VALUE) and
(keyword-default . VALUE), where VALUE is either t or nil. These
specify if the class should be found during method and keyword completion, respectively.

The alist may have additional entries specifying exceptions from the keyword completion rule for specific methods, like INIT or GETPROPERTY. In order to turn on class specification for the INIT method, add an entry ("INIT" . t). The method name must be ALL-CAPS.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defcustom idlwave-query-class '((method-default . nil)
				 (keyword-default . nil))
  "Association list governing specification of object classes for completion.

When IDLWAVE tries to complete object-oriented methods, it usually
cannot determine the class of a given object from context.  In order
to provide the user with a correct list of methods or keywords, it
needs to determine the appropriate class.  IDLWAVE has two ways of
doing this (well, three ways if you count the shell... see
`idlwave-shell-query-for-class'):

1. Combine the items of all available classes which contain this
   method for the purpose of completion.  So when completing a method,
   all methods of all known classes are available, and when completing
   a keyword, all keywords allowed for this method in any class are
   shown.  This behavior is very much like normal completion and is
   therefore the default.  It works much better than one might think -
   only for the INIT, GETPROPERTY and SETPROPERTY the keyword lists
   become uncomfortably long.  See also
   `idlwave-completion-show-classes'.

2. The second possibility is to ask the user on each occasion.  To
   make this less interruptive, IDLWAVE can store the class as a text
   property on the object operator `->'.  For a given object in the
   source code, class selection will then be needed only once
   - for example to complete the method.  Keywords to the method can
   then be completed directly, because the class is already known.
   You will have to turn on the storage of the selected class
   explicitly with the variable `idlwave-store-inquired-class'.

This variable allows you to configure IDLWAVE's method and
method-keyword completion behavior.  Its value is an alist, which
should contain at least two elements: (method-default . VALUE) and
\(keyword-default . VALUE), where VALUE is either t or nil.  These
specify if the class should be found during method and keyword
completion, respectively.

The alist may have additional entries specifying exceptions from the
keyword completion rule for specific methods, like INIT or
GETPROPERTY.  In order to turn on class specification for the INIT
method, add an entry (\"INIT\" . t).  The method name must be ALL-CAPS."
  :group 'idlwave-completion
  :type '(list
	  (cons (const method-default)
		(boolean :tag "Determine class when completing METHODS    "))
	  (cons (const keyword-default)
		(boolean :tag "Determine class when completing KEYWORDS   "))
	  (repeat
	   :tag "Exceptions to defaults"
	   :inline t
	   (cons (string  :tag "MODULE" :value "")
		 (boolean :tag "Determine class for this method")))))