hide-ifdef-mode

hide-ifdef-mode is an interactive autoloaded compiled Lisp function in `hideif.el'.


(hide-ifdef-mode &optional ARG)

Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
positive, and disable it otherwise. If called from Lisp, enable
the mode if ARG is omitted or nil.

Hide-Ifdef mode is a buffer-local minor mode for use with C and
C-like major modes. When enabled, code within #ifdef constructs
that the C preprocessor would eliminate may be hidden from view.
Several variables affect how the hiding is done:

`hide-ifdef-env'
An association list of defined and undefined symbols for the
current project. Initially, the global value of `hide-ifdef-env'
is used. This variable was a buffer-local variable, which limits
hideif to parse only one C/C++ file at a time. We've extended
hideif to support parsing a C/C++ project containing multiple C/C++
source files opened simultaneously in different buffers. Therefore
`hide-ifdef-env' can no longer be buffer local but must be global.

`hide-ifdef-define-alist'
An association list of defined symbol lists.
Use `hide-ifdef-set-define-alist' to save the current `hide-ifdef-env'
and `hide-ifdef-use-define-alist' to set the current `hide-ifdef-env'
from one of the lists in `hide-ifdef-define-alist'.

`hide-ifdef-lines'
Set to non-nil to not show #if, #ifdef, #ifndef, #else, and
#endif lines when hiding.

`hide-ifdef-initially'
Indicates whether `hide-ifdefs' should be called when Hide-Ifdef mode
is activated.

`hide-ifdef-read-only'
Set to non-nil if you want to make buffers read only while hiding.
After `show-ifdefs', read-only status is restored to previous value.

key binding
--- -------

C-c Prefix Command

C-c @ Prefix Command

C-c @ C-d hide-ifdef-block
C-c @ C-q hide-ifdef-toggle-read-only
C-c @ C-s show-ifdef-block
C-c @ C-w hide-ifdef-toggle-shadowing
C-c @ C hif-clear-all-ifdef-defined
C-c @ D hide-ifdef-set-define-alist
C-c @ U hide-ifdef-use-define-alist
C-c @ d hide-ifdef-define
C-c @ e hif-evaluate-macro
C-c @ h hide-ifdefs
C-c @ s show-ifdefs
C-c @ u hide-ifdef-undef