Lines Matching +refs:idlwave +refs:next +refs:statement

3 @setfilename ../../info/idlwave.info
43 * IDLWAVE: (idlwave). Major mode and shell for IDL files.
131 * Block Boundary Check:: Is the END statement correct?
189 source files (@code{idlwave-mode}) and a mode for running the IDL
190 program as an inferior shell (@code{idlwave-shell-mode}). Although
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
294 @tab Re-indent all lines in the current statement.
337 @tab Go to next syntax error.
347 @tab Go to the next breakpoint.
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))
451 cursor after the @code{end} statement of the @code{for} loop and press
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))
637 (setq idlwave-shell-debug-modifiers '(super))
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})
805 the FUNCTION/PRO statement and the END statement for that program
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
822 @cindex Indentation, continued statement
823 @cindex Continued statement indentation
846 The only drawback to this special continued statement indentation is
857 @code{idlwave-max-extra-continuation-indent}, which specifies the
861 @code{idlwave-continuation-indent}). As a special case, continuations
868 @code{idlwave-max-extra-continuation-indent} is small, the key
869 @kbd{C-u @key{TAB}} will re-indent all lines in the current statement.
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})
884 indentation in a long continued statement never decreases from line to
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
939 In IDL, a newline character terminates a statement unless preceded by a
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)
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
1156 will automatically split into the next two.
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
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
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
1439 a keyword, if appropriate). Otherwise the routine definition statement
1442 support can be added by customizing the @code{idlwave-help-doclib-name}
1443 and @code{idlwave-help-doclib-keyword} variables.
1471 @code{pro}/@code{function} statement) and the description of the help
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
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}).
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})
1673 the matching classes will be shown next to each item (see option
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
1691 After you have specified the class for a particular statement (e.g., when
1693 editing session. Subsequent completions in the same statement
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
1752 @code{idlwave-support-inheritance} is non-@code{nil}.
1768 variable @code{idlwave-keyword-class-inheritance} can be used to
1774 @defopt idlwave-support-inheritance (@code{t})
1778 @defopt idlwave-keyword-class-inheritance
1808 (with-eval-after-load 'idlwave
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
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
1882 @tab @code{CASE} statement template
1903 @code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
1910 idlwave-list-abbrevs}.
1920 @tab @code{CASE} statement template
1928 @tab @code{IF} statement template
1930 @tab @code{IF-ELSE} statement template
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})
2104 entire line. To enable this, the variable @code{idlwave-do-actions}
2117 @defopt idlwave-do-actions (@code{nil})
2123 * Block Boundary Check:: Is the END statement correct?
2137 Whenever you type an @code{END} statement, IDLWAVE finds the
2143 Set the variable @code{idlwave-expand-generic-end} in order to have all
2146 inserting the appropriate @code{END} statement.
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})
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
2591 @defopt idlwave-shell-file-name-chars
2596 @defopt idlwave-shell-graphics-window-size
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
2650 @code{idlwave-abbrev-show-commands} allows you to configure which
2655 @defopt idlwave-shell-show-commands (@code{'(run misc breakpoint)})
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
2871 the next command and moves to the new line.
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})
2996 @tab Go to the next breakpoint in the file
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})
3127 If the variable @code{idlwave-shell-separate-examine-output} is
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})
3200 @defopt idlwave-shell-max-print-length (200)
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
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
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
3718 @item @kbd{M-x idlwave-list-buffer-load-path-shadows}
3722 @item @kbd{M-x idlwave-list-shell-load-path-shadows}.
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
4109 application with macOS; see the next topic.
4160 @code{idlwave-shell-prompt-pattern} (@pxref{Starting the Shell}), e.g.,
4164 (setq idlwave-shell-prompt-pattern "^\r? ?\\(ENVI\\|IDL\\)> ")
4174 Emacs load-path (see the next entry). You can list the version being
4175 used with @kbd{C-h v idlwave-mode-version @key{RET}}.
4209 (setcdr (rassoc 'idl-mode auto-mode-alist) 'idlwave-mode)