Lines Matching +refs:idlwave +refs:complete +refs:special

3 @setfilename ../../info/idlwave.info
43 * IDLWAVE: (idlwave). Major mode and shell for IDL files.
189 source files (@code{idlwave-mode}) and a mode for running the IDL
190 program as an inferior shell (@code{idlwave-shell-mode}). Although
192 form a complete development environment. Here is a brief summary of
250 @uref{https://github.com/jdtsmith/idlwave/screenshots/emacs_21_nav.gif,An IDLWAVE buffer}
252 @uref{https://github.com/jdtsmith/idlwave/screenshots/emacs_21_keys.gif,A keyword being completed}
254 @uref{https://github.com/jdtsmith/idlwave/screenshots/emacs_21_help.gif,Online help text.}
256 @uref{https://github.com/jdtsmith/idlwave/screenshots/emacs_21_ri.gif,Routine information displayed}
258 @uref{https://github.com/jdtsmith/idlwave/screenshots/emacs_21_bp.gif,Debugging code
356 (setq idlwave-init-rinfo-when-idle-after 2)
358 (setq idlwave-do-actions t
359 idlwave-surround-by-blank t)
361 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
363 (setq idlwave-shell-automatic-start t)
365 (setq idlwave-shell-debug-modifiers '(control shift))
454 automatically (as long as the variable @code{idlwave-expand-generic-end}
574 (setq idlwave-reserved-word-upcase t)
590 (setq idlwave-main-block-indent 1)
591 (setq idlwave-block-indent 3)
592 (setq idlwave-end-offset -3)
599 e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which
630 (setq idlwave-shell-debug-modifiers '(shift control))
633 @noindent If you have a special keyboard with, for example, a
637 (setq idlwave-shell-debug-modifiers '(super))
645 @emph{mode-hook}, a special function which is run when a new IDLWAVE
651 (add-hook 'idlwave-mode-hook
653 (local-set-key [f4] 'idlwave-shell-retall)
654 (local-set-key [f5] 'idlwave-shell-break-here)
655 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
656 (local-set-key [f7] 'idlwave-shell-cont)
657 (local-set-key [f8] 'idlwave-shell-clear-all-bp)))
659 (add-hook 'idlwave-shell-mode-hook
661 (local-set-key [f4] 'idlwave-shell-retall)
662 (local-set-key [f5] 'idlwave-shell-break-here)
663 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
664 (local-set-key [f7] 'idlwave-shell-cont)
665 (local-set-key [f8] 'idlwave-shell-clear-all-bp)))
695 written to the file @file{~/.emacs.d/idlwave/idlusercat.el}
725 (with @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the
731 @cindex Major mode, @code{idlwave-mode}
803 @defopt idlwave-main-block-indent (@code{2})
809 @defopt idlwave-block-indent (@code{3})
811 probably also want to change @code{idlwave-end-offset}.
814 @defopt idlwave-end-offset (@code{-3})
816 @code{idlwave-block-indent} will make END lines line up with the block
826 IDLWAVE can use a special form of indentation which aligns continued
846 The only drawback to this special continued statement indentation is
855 You can instruct IDLWAVE when to avoid using this special continuation
857 @code{idlwave-max-extra-continuation-indent}, which specifies the
861 @code{idlwave-continuation-indent}). As a special case, continuations
867 statements with special continuation indentation, especially if
868 @code{idlwave-max-extra-continuation-indent} is small, the key
870 Note that @code{idlwave-indent-to-open-paren}, if non-@code{nil},
871 overrides the @code{idlwave-max-extra-continuation-indent} limit, for
875 @defopt idlwave-continuation-indent (@code{2})
879 @defopt idlwave-max-extra-continuation-indent (@code{20})
881 that will be permitted for special continues. To effectively disable
882 special continuation indentation, set to @code{0}. To enable it
888 @defopt idlwave-indent-to-open-paren (@code{t})
891 @code{idlwave-max-extra-continuation-indent} limit is satisfied.
917 @defopt idlwave-no-change-comment
922 @defopt idlwave-begin-line-comment
926 @defopt idlwave-code-comment
941 @kbd{M-@key{RET}}, which calls the command @code{idlwave-split-line}.
955 @code{idlwave-hang-indent-regexp} (a dash-space by default), subsequent
977 @defopt idlwave-fill-comment-line-only (@code{t})
981 @defopt idlwave-auto-fill-split-string (@code{t})
986 @defopt idlwave-split-line-string (@code{t})
987 Non-@code{nil} means @code{idlwave-split-line} will split strings with
991 @defopt idlwave-hanging-indent (@code{t})
993 indent given by @code{idlwave-hang-indent-regexp} match in the first
997 @defopt idlwave-hang-indent-regexp (@code{"- "})
1002 @defopt idlwave-use-last-hang-indent (@code{nil})
1004 @code{idlwave-indent-regexp}.
1018 @code{idlwave-mode} with the following line in your @file{.emacs}:
1021 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
1026 is selected. Individual categories of special tokens can be selected
1028 @code{idlwave-default-font-lock-items}.
1030 @defopt idlwave-default-font-lock-items
1091 (@code{idlwave-update-routine-info}).
1095 calls the command @code{idlwave-routine-info}. When the current cursor
1176 variable @code{idlwave-special-lib-alist}.
1209 @code{idlwave-routine-info} was called. Holding down @key{SHIFT} while
1226 @defopt idlwave-resize-routine-help-window (@code{t})
1231 @defopt idlwave-special-lib-alist
1232 Alist of regular expressions matching special library directories.
1235 @defopt idlwave-rinfo-max-source-lines (@code{5})
1268 (@file{~/.emacs.d/idlwave/}, by default). It also re-scans the XML catalog if
1283 Shell), press @kbd{M-?} (@code{idlwave-context-help}), or click with
1315 @cindex @code{OBJ_NEW}, special online help
1316 Note that the @code{OBJ_NEW} function is special in that the help
1364 @code{idlwave-help-use-assistant} controls whether this browser is
1371 @code{idlwave-help-browser-function} controls which browser help is sent
1372 to (as long as @code{idlwave-help-use-assistant} is not set). This
1384 the variable @code{idlwave-help-browser-is-local}.
1387 @code{idlwave-system-directory} is set (@pxref{Catalogs}). One easy way
1395 @defopt idlwave-html-system-help-location @file{help/online_help}
1397 considered with respect to @code{idlwave-system-directory}. Relevant
1401 @defopt idlwave-html-help-location @file{/usr/local/etc/}
1404 (@code{idlwave-html-system-help-location} is used instead).
1407 @defopt idlwave-help-use-assistant @code{t}
1410 @code{idlwave-help-browser-function}.
1413 @defopt idlwave-help-browser-function
1419 @defopt idlwave-help-browser-is-local
1420 Is the browser selected in @code{idlwave-help-browser-function} run in a
1425 @defopt idlwave-help-link-face
1442 support can be added by customizing the @code{idlwave-help-doclib-name}
1443 and @code{idlwave-help-doclib-keyword} variables.
1474 @tab Fontify the buffer like source code. See the variable @code{idlwave-help-fontify-source-code}.
1480 @defopt idlwave-help-use-dedicated-frame (@code{nil})
1484 @defopt idlwave-help-frame-parameters
1485 The frame parameters for the special Online Help frame.
1488 @defopt idlwave-max-popup-menu-items (@code{20})
1492 @defopt idlwave-extra-help-function
1496 @defopt idlwave-help-fontify-source-code (@code{nil})
1500 @defopt idlwave-help-source-try-header (@code{t})
1505 @defopt idlwave-help-doclib-name (@code{"name"})
1510 @defopt idlwave-help-doclib-keyword (@code{"KEYWORD"})
1534 be updated with @kbd{C-c C-i} (@code{idlwave-update-routine-info}).
1537 complete based on the location of the point. Here are example lines and
1538 what @kbd{M-@key{TAB}} would try to complete when the cursor is on the
1595 @defopt idlwave-keyword-completion-adds-equal (@code{t})
1600 @defopt idlwave-function-completion-adds-paren (@code{t})
1606 @defopt idlwave-completion-restore-window-configuration (@code{t})
1611 @defopt idlwave-highlight-help-links-in-completion (@code{t})
1635 variable @code{idlwave-completion-case}. The default is to use upper
1642 @code{idlwave-completion-force-default-case} to non-@code{nil}.
1644 @defopt idlwave-completion-case
1649 @defopt idlwave-completion-force-default-case (@code{nil})
1651 @code{idlwave-completion-case}. When @code{nil} (the default), entirely lower
1653 settings in @code{idlwave-completion-case}.
1656 @defopt idlwave-complete-empty-string-as-lower-case (@code{nil})
1674 @code{idlwave-completion-show-classes}). As a special case, the class
1681 You can also call @code{idlwave-complete} with a prefix arg: @kbd{C-u
1684 @code{idlwave-query-class} can be configured to make such prompting the
1697 default). The variable @code{idlwave-store-inquired-class} can be used
1700 @defopt idlwave-completion-show-classes (@code{1})
1706 @defopt idlwave-completion-fontify-classes (@code{t})
1710 @defopt idlwave-query-class (@code{nil})
1714 @defopt idlwave-store-inquired-class (@code{t})
1719 @defopt idlwave-class-arrow-face
1728 methods are being invoked have a special property: they must exist as
1752 @code{idlwave-support-inheritance} is non-@code{nil}.
1762 IDLWAVE can accommodate this special synergy between class and keyword
1768 variable @code{idlwave-keyword-class-inheritance} can be used to
1774 @defopt idlwave-support-inheritance (@code{t})
1778 @defopt idlwave-keyword-class-inheritance
1790 routines. It is very convenient to be able to complete structure tags,
1794 completion module: @file{idlw-complete-structtag.el}. Tag completion in
1796 completion), so @code{idlw-complete-structtag} makes an unusual and very
1808 (with-eval-after-load 'idlwave
1809 (require 'idlw-complete-structtag))
1822 @noindent will complete with all structure fields of the structure
1833 routine. The command @kbd{C-c C-v} (@code{idlwave-find-module}) asks
1835 @code{idlwave-routine-info} would have used, taken from nearby buffer
1836 contents. In the minibuffer, specify a complete routine name (including
1847 sometimes created. The special command @kbd{C-c C-k}
1848 (@code{idlwave-kill-autoloaded-buffers}) can be used to easily remove
1857 The key sequence @kbd{C-c =} calls the command @code{idlwave-resolve}
1863 @code{idlwave-resolve} is one way to get a library module within reach
1900 buffer and pressing @key{SPC} or @key{RET}. The special abbreviations
1903 @code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
1910 idlwave-list-abbrevs}.
2048 convenience function @code{idlwave-define-abbrev}:
2051 (add-hook 'idlwave-mode-hook
2053 (idlwave-define-abbrev "wb" "widget_base()"
2054 (idlwave-keyword-abbrev 1))
2055 (idlwave-define-abbrev "ine" "IF N_Elements() EQ 0 THEN"
2056 (idlwave-keyword-abbrev 11))))
2061 @code{idlwave-keyword-abbrev} (here @emph{1}) specifies how far back to
2066 the variables @code{idlwave-abbrev-change-case} and, for reserved word
2067 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}).
2069 @defopt idlwave-abbrev-start-char (@code{"\"})
2075 @defopt idlwave-abbrev-move (@code{t})
2085 @emph{Actions} are special formatting commands which are executed
2104 entire line. To enable this, the variable @code{idlwave-do-actions}
2117 @defopt idlwave-do-actions (@code{nil})
2143 Set the variable @code{idlwave-expand-generic-end} in order to have all
2148 @defopt idlwave-show-block (@code{t})
2150 @code{idlwave-show-begin}.
2153 @defopt idlwave-expand-generic-end (@code{t})
2157 @defopt idlwave-reindent-end (@code{t})
2173 @code{idlwave-surround-by-blank} and @code{idlwave-do-actions} and turn
2175 using the function @code{idlwave-action-and-binding} in the mode hook.
2181 (add-hook 'idlwave-mode-hook
2183 (setq idlwave-surround-by-blank t) ; Turn this type of actions on
2184 (idlwave-action-and-binding "*" '(idlwave-surround 1 1))
2185 (idlwave-action-and-binding "+" '(idlwave-surround 1 1))))
2197 repad everything if @code{idlwave-do-actions} is on).
2199 @defopt idlwave-surround-by-blank (@code{nil})
2200 Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil},
2203 surrounded with spaces by @code{idlwave-surround}.
2206 @defopt idlwave-pad-keyword (@code{t})
2218 @code{idlwave-abbrev-change-case} and
2219 @code{idlwave-reserved-word-upcase}. If you want to change the case of
2224 (add-hook 'idlwave-mode-hook
2227 (idlwave-action-and-binding idlwave-sysvar '(capitalize-word 1) t)
2229 (idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"
2232 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
2237 @code{idlwave-action-and-binding}. For information on controlling the
2241 @defopt idlwave-abbrev-change-case (@code{nil})
2246 @defopt idlwave-reserved-word-upcase (@code{nil})
2265 be specified with @code{idlwave-file-header}). One of the keywords is
2271 @defopt idlwave-file-header
2275 @defopt idlwave-header-to-beginning-of-file (@code{nil})
2280 @defopt idlwave-timestamp-hook
2284 @defopt idlwave-doc-modifications-keyword
2288 @defopt idlwave-doclib-start
2292 @defopt idlwave-doclib-end
2350 @defopt idlwave-help-application
2354 @defopt idlwave-startup-message (@code{t})
2355 Non-@code{nil} means display a startup message when @code{idlwave-mode}'
2359 @defopt idlwave-mode-hook
2360 Normal hook. Executed when a buffer is put into @code{idlwave-mode}.
2366 @cindex Major mode, @code{idlwave-shell-mode}
2402 idlwave-shell}. In @code{idlwave-mode} the function is bound to
2406 C-l} (@code{idlwave-shell-recenter-shell-window}) displays the shell
2410 @code{idlwave-shell-automatic-start} to @code{t}.
2413 @code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or
2416 @code{idlwave-shell-use-dedicated-frame}.
2423 emacs -geometry 80x32 -eval "(idlwave-shell 'quick)"
2434 @code{idlwave-shell-prompt-pattern}, which defaults to @samp{"^ ?IDL>
2439 @defopt idlwave-shell-explicit-file-name (@file{idl})
2443 @defopt idlwave-shell-command-line-options
2447 @defopt idlwave-shell-prompt-pattern
2451 @defopt idlwave-shell-process-name
2455 @defopt idlwave-shell-automatic-start (@code{nil})
2456 Non-@code{nil} means attempt to invoke idlwave-shell if not already
2460 @defopt idlwave-shell-initial-commands
2464 @defopt idlwave-shell-save-command-history (@code{t})
2468 @defopt idlwave-shell-command-history-file (@file{~/.emacs.d/idlwave/.idlwhist})
2469 The file in which the command history of the idlwave shell is saved.
2471 @code{idlwave-config-directory}.
2474 @defopt idlwave-shell-use-dedicated-frame (@code{nil})
2475 Non-@code{nil} means IDLWAVE should use a special frame to display the
2479 @defopt idlwave-shell-use-dedicated-window (@code{nil})
2484 @defopt idlwave-shell-frame-parameters
2485 The frame parameters for a dedicated idlwave-shell frame.
2488 @defopt idlwave-shell-raise-frame (@code{t})
2489 Non-@code{nil} means @code{idlwave-shell} raises the frame showing the shell
2493 @defopt idlwave-shell-temp-pro-prefix
2498 @defopt idlwave-shell-mode-hook
2499 Hook for customizing @code{idlwave-shell-mode}.
2513 @code{idlwave-shell-arrows-do-history}.}. The history is preserved
2549 @code{idlwave-shell-mode} provides many of the same commands which
2563 (@code{idlwave-shell-complete}).
2567 @tab Routine Info display (@code{idlwave-routine-info})
2569 @tab IDL online help on routine (@code{idlwave-routine-info-from-idlhelp})
2572 (@code{idlwave-update-routine-info})
2574 @tab Find the source file of a routine (@code{idlwave-find-module})
2577 (@code{idlwave-find-module-this-file}).
2579 @tab Compile a library routine (@code{idlwave-resolve})
2582 @defopt idlwave-shell-arrows-do-history (@code{t})
2587 @defopt idlwave-shell-comint-settings
2588 Alist of special settings for the comint variables in the IDLWAVE Shell.
2591 @defopt idlwave-shell-file-name-chars
2596 @defopt idlwave-shell-graphics-window-size
2597 Size of IDL graphics windows popped up by special IDLWAVE command.
2611 (@code{idlwave-shell-send-char}). When you press @kbd{C-c C-y}
2612 (@code{idlwave-shell-char-mode-loop}), IDLWAVE runs a blocking loop
2619 @defopt idlwave-shell-use-input-mode-magic (@code{nil})
2624 @defopt idlwave-shell-input-mode-spells
2635 normal commands you enter at the @code{IDL>} prompt, many other special
2645 Variables}), and other special purpose commands designed to keep
2650 @code{idlwave-abbrev-show-commands} allows you to configure which
2655 @defopt idlwave-shell-show-commands (@code{'(run misc breakpoint)})
2666 As a special case, any error message in the output will be displayed
2690 @kbd{C-c C-d C-t} (@code{idlwave-shell-toggle-toolbar}).
2693 @defopt idlwave-shell-use-toolbar (@code{t})
2726 @code{idlwave-shell-automatic-electric-debug}.
2739 see @code{idlwave-shell-activate-prefix-keybindings}). For
2743 (setq idlwave-shell-debug-modifiers '(control shift))
2752 @code{idlwave-shell-debug-modifiers} variable (@pxref{Lesson
2757 @defopt idlwave-shell-prefix-key (@kbd{C-c C-d})
2759 @code{idlwave-shell-mode-prefix-map}.
2762 @defopt idlwave-shell-activate-prefix-keybindings (@code{t})
2767 @defopt idlwave-shell-debug-modifiers (@code{nil})
2784 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a
2792 use @kbd{C-c C-d C-d} (@code{idlwave-clear-current-bp}). When
2795 C-a} (@code{idlwave-clear-all-bp}). Breakpoints can also be disabled
2797 (@code{idlwave-shell-toggle-enable-current-bp}).
2826 @tab Set breakpoint (@code{idlwave-shell-break-here})
2828 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
2830 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
2832 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
2834 @tab Go to the previous breakpoint (@code{idlwave-shell-goto-previous-bp})
2836 @tab Go to the next breakpoint (@code{idlwave-shell-goto-next-bp})
2838 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
2842 @tab Step, into function calls (@code{idlwave-shell-step})
2844 @tab Step, over function calls (@code{idlwave-shell-stepover})
2846 @tab Skip one statement (@code{idlwave-shell-skip})
2848 @tab Continue to end of block (@code{idlwave-shell-up})
2850 @tab Continue to end of function (@code{idlwave-shell-return})
2852 @tab Continue past end of function (@code{idlwave-shell-out})
2854 @tab Continue to line at cursor position (@code{idlwave-shell-to-here})
2856 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
2858 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
2860 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
2868 setting in @code{idlwave-shell-mark-stop-line}. If an overlay face is
2873 @defopt idlwave-shell-mark-breakpoints (@code{t})
2879 @defopt idlwave-shell-breakpoint-face
2881 @code{idlwave-shell-mark-breakpoints} has the value @code{face}.
2884 @defopt idlwave-shell-breakpoint-popup-menu (@code{t})
2889 @defopt idlwave-shell-mark-stop-line (@code{t})
2895 @defopt idlwave-shell-overlay-arrow (@code{">"})
2897 configured in @code{idlwave-shell-mark-stop-line}.
2900 @defopt idlwave-shell-stop-line-face
2902 configured in @code{idlwave-shell-mark-stop-line}.
2915 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the
2923 @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).
2927 line, call @code{idlwave-shell-execute-default-command-line} with a
2935 level program @kbd{C-c C-d C-e} (@code{idlwave-shell-run-region}) is
2948 (@code{idlwave-shell-stack-up}) and @kbd{C-c C-d C-@key{DOWN}}
2949 (@code{idlwave-shell-stack-down}), or the corresponding toolbar buttons,
2982 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
2984 @tab Set breakpoint, @kbd{C-u b} for a conditional break, @kbd{C-n b} for nth hit (@code{idlwave-sh…
2986 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
2988 @tab Prompt for expression to print (@code{idlwave-shell-clear-current-bp}).
2990 @tab Continue to the line at cursor position (@code{idlwave-shell-to-here})
2992 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
2994 @tab Go to the previous breakpoint in the file (@code{idlwave-shell-goto-previous-bp})
2997 (@code{idlwave-shell-goto-next-bp})
2999 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
3001 @tab Set breakpoint at beginning of enclosing routine (@code{idlwave-shell-break-this-module})
3003 @tab Skip one statement (@code{idlwave-shell-skip})
3005 @tab Continue to end of function (@code{idlwave-shell-return})
3007 @tab Step, over function calls (@code{idlwave-shell-stepover})
3009 @tab Continue past end of function (@code{idlwave-shell-out})
3011 @tab Print expression near point or in region with @kbd{C-u p} (@code{idlwave-shell-print})
3014 (@code{idlwave-shell-retall})
3016 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
3018 @tab Step, into function calls (@code{idlwave-shell-step})
3022 @tab Continue to end of block (@code{idlwave-shell-up})
3025 (@code{idlwave-shell-electric-debug-mode})
3030 @tab Reset IDL (@code{idlwave-shell-reset})
3032 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
3034 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
3037 (@code{idlwave-shell-help-expression})
3059 the Shell's main level, use @kbd{q} (@code{idlwave-shell-retall}).
3062 @code{idlwave-shell-quit}, which quits your IDL session.}. Help is
3065 by setting the variable @code{idlwave-shell-automatic-electric-debug}
3070 @defopt idlwave-shell-automatic-electric-debug (@code{'breakpoint})
3080 @defopt idlwave-shell-electric-stop-color (Violet)
3084 @defopt idlwave-shell-electric-stop-line-face
3086 modeline, with color @code{idlwave-shell-electric-stop-color}.
3089 @defopt idlwave-shell-electric-zap-to-file (@code{t})
3111 or at the command line? IDLWAVE has a suite of special commands to
3127 If the variable @code{idlwave-shell-separate-examine-output} is
3129 special @file{*Examine*} buffer, rather than the shell. The output of
3146 @code{idlwave-shell-max-print-length}.
3183 @defopt idlwave-shell-expression-face
3184 The face for @code{idlwave-shell-expression-overlay}.
3189 @defopt idlwave-shell-output-face
3190 The face for @code{idlwave-shell-output-overlay}.
3195 @defopt idlwave-shell-separate-examine-output (@code{t})
3196 If non-@code{nil}, re-direct the output of examine commands to a special
3200 @defopt idlwave-shell-max-print-length (200)
3213 provides two easy methods to customize your own commands, with a special
3222 configured with the @code{idlwave-shell-examine-alist}
3235 @code{idlwave-shell-examine-alist} comes configured by default with a
3242 @code{idlwave-shell-examine} and @code{idlwave-shell-mouse-examine}.
3246 @code{idlwave-shell-examine-alist} values, e.g.:
3249 (add-hook 'idlwave-shell-mode-hook
3251 (idlwave-shell-define-key-both [s-down-mouse-2]
3252 (idlwave-shell-mouse-examine
3254 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
3256 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
3258 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
3268 @defopt idlwave-shell-examine-alist
3395 find the source file and compile it dynamically. A special sub-category
3435 command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used
3445 (@code{idlwave-update-routine-info}) can be used to explicitly update
3469 set the variable @code{idlwave-init-rinfo-when-idle-after} to 0 (zero).
3474 @defopt idlwave-init-rinfo-when-idle-after (@code{10})
3478 @defopt idlwave-scan-all-buffers-for-routine-info (@code{t})
3483 @defopt idlwave-query-shell-for-routine-info (@code{t})
3487 @defopt idlwave-auto-routine-info-updates
3516 @code{idlwave-library-path} to allow library catalogs to be located, and
3520 to by @code{idlwave-path-file} (@file{~/.emacs.d/idlwave/idlpath.el}, by
3521 default). If @code{idlwave-auto-write-path} is enabled (which is the
3525 @defopt idlwave-auto-write-path (@code{t})
3531 @defopt idlwave-library-path
3536 @defopt idlwave-system-directory
3542 @defopt idlwave-config-directory (@file{~/.emacs.d/idlwave})
3612 info update using a single prefix to @code{idlwave-update-routine-info}:
3615 @defopt idlwave-use-library-catalogs (@code{t})
3631 (@file{.emacs.d/idlwave/idlusercat.el} by default). Although library catalogs
3644 the user must actively complete a scan. In addition, this type of
3651 the variable @code{idlwave-library-path}, and the location of the IDL
3653 @code{idlwave-system-directory}, like this@footnote{The initial @samp{+}
3657 (setq idlwave-library-path
3659 (setq idlwave-system-directory "c:/RSI/IDL56/")
3665 The command @kbd{M-x idlwave-create-user-catalog-file} (or the menu item
3677 @code{idlwave-update-routine-info} with a double prefix argument:
3688 @defopt idlwave-special-lib-alist
3689 Alist of regular expressions matching special library directories for
3707 load path shadows. The output is placed into the special buffer
3718 @item @kbd{M-x idlwave-list-buffer-load-path-shadows}
3722 @item @kbd{M-x idlwave-list-shell-load-path-shadows}.
3724 very useful when you have written a complete application. Just compile
3728 @item @kbd{M-x idlwave-list-all-load-path-shadows}
3744 @code{idlwave-system-directory} to the value of the @code{!DIR} system
3794 @code{idlwave-help-use-assistant}, enabled by default, controls
3800 @code{idlwave-help-browser-function} inherits the browser configured
3828 (setq idlwave-help-browser-function 'w3m-browse-url)
3845 (defadvice w3m-close-window (after idlwave-close activate)
3846 (if (boundp 'idlwave-help-frame)
3847 (idlwave-help-quit)))
3893 (setq idlwave-shell-debug-modifiers '(control shift)
3894 idlwave-store-inquired-class t
3895 idlwave-shell-automatic-start t
3896 idlwave-main-block-indent 2
3897 idlwave-init-rinfo-when-idle-after 2
3898 idlwave-help-dir "~/lib/emacs/idlwave"
3899 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib")
3912 (setq idlwave-block-indent 3) ; Indentation settings
3913 (setq idlwave-main-block-indent 3)
3914 (setq idlwave-end-offset -3)
3915 (setq idlwave-continuation-indent 1)
3916 (setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
3918 (setq idlwave-surround-by-blank t) ; Turn on padding ops =,<,>
3919 (setq idlwave-pad-keyword nil) ; Remove spaces for keyword '='
3920 (setq idlwave-expand-generic-end t) ; convert END to ENDIF etc...
3921 (setq idlwave-reserved-word-upcase t) ; Make reserved words upper case
3923 (setq idlwave-abbrev-change-case nil) ; Don't force case of expansions
3924 (setq idlwave-hang-indent-regexp ": ") ; Change from "- " for auto-fill
3925 (setq idlwave-show-block nil) ; Turn off blinking to begin
3926 (setq idlwave-abbrev-move t) ; Allow abbrevs to move point
3927 (setq idlwave-query-class '((method-default . nil) ; No query for method
3936 (setq idlwave-help-browser-function 'w3m-browse-url
3942 (defadvice w3m-close-window (after idlwave-close activate)
3943 (if (boundp 'idlwave-help-frame)
3944 (idlwave-help-quit)))
3947 (add-hook 'idlwave-mode-hook
3952 (idlwave-auto-fill-mode 0) ; Turn off auto filling
3953 (setq idlwave-help-browser-function 'browse-url-w3)
3958 (idlwave-action-and-binding "=" '(idlwave-expand-equal 1 1))
3959 (idlwave-action-and-binding "<" '(idlwave-surround 1 1))
3960 (idlwave-action-and-binding ">" '(idlwave-surround 1 1 '(?-)))
3961 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
3964 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
3965 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
3968 (idlwave-action-and-binding "->" '(idlwave-surround 0 -1 nil 2))
3973 (local-set-key [f5] 'idlwave-shell-break-here)
3974 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
3979 (local-set-key "\n" 'idlwave-newline)
3980 ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
3983 (define-abbrev idlwave-mode-abbrev-table
3984 (concat idlwave-abbrev-start-char "wb") "widget_base()"
3985 (idlwave-keyword-abbrev 1))
3986 (define-abbrev idlwave-mode-abbrev-table
3987 (concat idlwave-abbrev-start-char "on") "obj_new()"
3988 (idlwave-keyword-abbrev 1))
3993 (setq idlwave-shell-overlay-arrow "=>") ; default is ">"
3994 (setq idlwave-shell-use-dedicated-frame t) ; Make a dedicated frame
3995 (setq idlwave-shell-prompt-pattern "^WAVE> ") ; default is "^IDL> "
3996 (setq idlwave-shell-explicit-file-name "wave")
3997 (setq idlwave-shell-process-name "wave")
3998 (setq idlwave-shell-use-toolbar nil) ; No toolbar
4001 (add-hook 'idlwave-shell-mode-hook
4004 (idlwave-shell-define-key-both [s-down-mouse-2]
4005 (idlwave-shell-mouse-examine
4007 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
4009 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
4011 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
4049 (setq idlwave-library-path
4053 (setq idlwave-system-directory "c:/RSI/IDL63/")
4062 file under the names @file{idlwave.tar.gz}.
4093 customize the variable @code{idlwave-shell-automatic-electric-debug}
4107 @code{idlwave-shell-explicit-file-name}. Note that you may need to
4138 @item @strong{@kbd{M-@key{TAB}} doesn't complete words, it switches
4160 @code{idlwave-shell-prompt-pattern} (@pxref{Starting the Shell}), e.g.,
4164 (setq idlwave-shell-prompt-pattern "^\r? ?\\(ENVI\\|IDL\\)> ")
4175 used with @kbd{C-h v idlwave-mode-version @key{RET}}.
4180 @file{idlw-complete-structtag}, I get errors like @samp{Cannot open
4209 (setcdr (rassoc 'idl-mode auto-mode-alist) 'idlwave-mode)