.## IDL°" $1ý " $1þ 3 create_syntax_tableý! ; " 37 " $1þ - define_syntaxý# ([{# )]}" 40 " $1þ - define_syntaxý" 39" 34 " $1þ - define_syntaxý" 92" 92 " $1þ - define_syntaxý+ $0-9a-zA-Z_# 119 " $1þ - define_syntaxý/ -+0-9a-fA-F.xXL" 48 " $1þ - define_syntaxý$ ,.?:" 44 " $1þ - define_syntaxý- %-+/&*=<>|!~^" 43 " $1þ - define_syntaxý" 64" 35 " $1þ - define_syntaxý " $1! 1þ 0 set_syntax_flagsý " $1! $! 1þ / define_keywordsPý " $14 doeqgegtifleltneofor! 2þ / define_keywordsPý " $15 andendformodnotproxor! 3þ / define_keywordsPý " $10 caseelsegotothen! 4þ / define_keywordsPý " $14 beginendifuntilwhile! 5þ / define_keywordsPý " $1D commonendforendrependwhirepeatreturn! 6þ / define_keywordsPý " $1. endcaseendelse! 7þ / define_keywordsPý " $18 endwhilefunctionon_error! 8þ / define_keywordsPý " $1) endrepeat! 9þ / define_keywordsPý " $1* on_ioerror" 10þ / define_keywordsPý " $1> abscoseofexpfixhdrmaxminsintan! 3! 1þ 1 define_keywords_ný " $1 D alogplotsavesizesortsqrtstopuniqwset! 4! 1þ 1 define_keywords_ný " $1p closefloatflooropenropenwplotsprintranksreadfreadsreadurebinspawntotalwherewshow! 5! 1þ 1 define_keywords_ný " $1 † alog10dblarrdoublefinitefltarrindgenintarrlonarrprintfstrarrstringstrlenstrmidstrposstrputwriteuwindow! 6! 1þ 1 define_keywords_ný " $1m defsysvdindgenexecutefindgenget_lunintegerrandomnrandomustr_sepstretchstrtrim! 7! 1þ 1 define_keywords_ný " $18 findfilefree_lunn_params! 8! 1þ 1 define_keywords_ný " $1M histogramimaginaryreplicatestrupcasetranspose! 9! 1þ 1 define_keywords_ný " $1> n_elementsstrlowcasestrmessage" 10! 1þ 1 define_keywords_ný " $16 keyword_setstrcompress" 11! 1þ 1 define_keywords_n, # bol.ý" 59þ * ffind_char/. * go_right_1 . parse_to_point" -2A. ) go_left_1w/c/f # eoly6 idl_find_effective_eol,* ! n+! 0°! n . bol_skip_whiteý$ pro þ * looking_atý) function þ * looking_atD.! 0w/c. $ up_1/. 6 idl_find_effective_eol + bskip_whiteý! $þ + blooking_at. ) go_down_1v/b·! n/f . bol_skip_white ! nwy: idl_beginning_of_statement,* # col+ ) push_spot . bol_skip_white # col + what_columnB.¹# col ( bol_trimý # colþ * whitespace/c ( pop_spot y- idl_indent_to,* $ word % begin+ý $ wordþ * looking_at.! 0w/b. ( pop_spot/o ) push_spotýý $ wordþ & strlenþ ( go_rightý % beginþ % ffind.! 1w/c. 6 idl_find_effective_eol + bskip_whiteý! $þ + blooking_at.v/b/.ý! 1þ $ down/k # bolý % beginþ % ffindw y4 idl_looking_at_block, ) push_spot . bol_skip_white.ý# if & beginþ 4 idl_looking_at_block/.ý% while& beginþ 4 idl_looking_at_block/.ý% else & beginþ 4 idl_looking_at_block/.ý$ for & beginþ 4 idl_looking_at_block/.ý% case # ofþ 4 idl_looking_at_block/.ý* endif else& beginþ 4 idl_looking_at_block/.ý& repeat& beginþ 4 idl_looking_at_block/.ý) function þ * looking_at/.ý$ pro þ * looking_at/. 6 idl_find_effective_eolý# $ þ + bskip_charsý% BEGINþ + blooking_atý! :þ % bfindC/m ( pop_spoty7 idl_is_block_beginnningý1 Idl_Indent_Amount! 2þ / custom_variable,* # len+! 0°# len* , extra_indent+! 0°, extra_indent* $ word+ ) push_spot. ( pop_spotý # len , extra_indent9þ - idl_indent_to ) push_mark + bskip_whiteý $ bolpN * skip_whiteþ ( pop_mark/o : idl_beginning_of_statement. ) push_mark ( pop_spot ) push_spot # bol! 1ý" 41þ 7 find_matching_delimiterA. + what_column°# len * pop_mark_0·# lenw/c * pop_mark_1ý$ pro þ * looking_atý) function þ * looking_atD.ý " 32þ * ffind_charP * skip_white/cý) A-Za-z$_!þ * skip_chars + what_column 1 Idl_Indent_Amount9°# lenw/cý" 64þ / looking_at_char.w/cý# endþ * looking_at. 1 Idl_Indent_AmountQ°, extra_indent/.ý$ elseþ * looking_at.ý! 4þ ( go_right * skip_whiteý" 58 þ / looking_at_charN. 1 Idl_Indent_AmountQ°, extra_indent/c/c/d $ up_1.! 0°# lenw/b. . bol_skip_white $ eolpý" 59þ / looking_at_charDý" 64þ / looking_at_charD.v/b/. $ up_1/k : idl_beginning_of_statementP + what_column°# len 7 idl_is_block_beginnning. 1 Idl_Indent_Amount±# len/cy/ idl_indent_line, 7 idl_is_block_beginnning. / idl_indent_line/c + bskip_whiteý! ,þ + blooking_at.ý" $þ & insert/c ' newline / idl_indent_liney6 idl_newline_and_indent# IDL°" $1ý " $1þ ( keymap_p.ý " $1þ + make_keymapý 2 newline_and_indent" \r " $1þ ) definekeyý+ indent_line! " $1þ ) definekey/b,* # idl+# IDL°# idlý # idl! 0þ ( set_modeý # idlþ 0 use_syntax_tableý # idlþ * use_keymapý+ indent_hook/ idl_indent_lineþ / set_buffer_hooký3 newline_indent_hook 6 idl_newline_and_indentþ / set_buffer_hooký- idl_mode_hookþ . run_mode_hooksy( idl_mode