static void init_rl(void) { rl_readline_name = "julia"; rl_attempted_completion_function = julia_completion; rl_completer_word_break_characters = " \t\n\"\\'`@$><=;|&{}()[],+-*/?%^~!"; Keymap keymaps[] = {emacs_standard_keymap, vi_insertion_keymap}; int i; for (i = 0; i < sizeof(keymaps)/sizeof(keymaps[0]); i++) { rl_bind_key_in_map(' ', space_callback, keymaps[i]); rl_bind_key_in_map('\t', tab_callback, keymaps[i]); rl_bind_key_in_map('\r', return_callback, keymaps[i]); rl_bind_key_in_map('\n', newline_callback, keymaps[i]); rl_bind_key_in_map('\v', line_kill_callback, keymaps[i]); rl_bind_key_in_map('\b', backspace_callback, keymaps[i]); rl_bind_key_in_map('\001', line_start_callback, keymaps[i]); rl_bind_key_in_map('\005', line_end_callback, keymaps[i]); rl_bind_key_in_map('\002', left_callback, keymaps[i]); rl_bind_key_in_map('\006', right_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[1~", line_start_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[4~", line_end_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[3~", delete_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[5~", rl_named_function("beginning-of-history"), keymaps[i]); rl_bind_keyseq_in_map("\e[6~", rl_named_function("end-of-history"), keymaps[i]); rl_bind_keyseq_in_map("\e[A", up_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[B", down_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[D", left_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[C", right_callback, keymaps[i]); rl_bind_keyseq_in_map("\\C-d", delete_callback, keymaps[i]); rl_bind_keyseq_in_map("\e\r", newline_callback, keymaps[i]); } #ifndef __WIN32__ signal(SIGTSTP, sigtstp_handler); signal(SIGCONT, sigcont_handler); #endif }
static void init_rl(void) { rl_readline_name = "julia"; rl_attempted_completion_function = julia_completion; Keymap keymaps[] = {emacs_standard_keymap, vi_insertion_keymap}; int i; for (i = 0; i < sizeof(keymaps)/sizeof(keymaps[0]); i++) { rl_bind_key_in_map(' ', space_callback, keymaps[i]); rl_bind_key_in_map('\t', tab_callback, keymaps[i]); rl_bind_key_in_map('\r', return_callback, keymaps[i]); rl_bind_key_in_map('\n', newline_callback, keymaps[i]); rl_bind_key_in_map('\v', line_kill_callback, keymaps[i]); rl_bind_key_in_map('\b', backspace_callback, keymaps[i]); rl_bind_key_in_map('\001', line_start_callback, keymaps[i]); rl_bind_key_in_map('\005', line_end_callback, keymaps[i]); rl_bind_key_in_map('\002', left_callback, keymaps[i]); rl_bind_key_in_map('\006', right_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[A", up_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[B", down_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[D", left_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[C", right_callback, keymaps[i]); rl_bind_keyseq_in_map("\\C-d", delete_callback, keymaps[i]); } signal(SIGTSTP, sigtstp_handler); signal(SIGCONT, sigcont_handler); }
static void init_rl(void) { rl_readline_name = "julia"; rl_completion_entry_function = do_completions; #if !defined(_WIN32) rl_sort_completion_matches = 0; #endif for(size_t i=0; lang_keywords[i]; i++) { // make sure keywords are in symbol table (void)jl_symbol(lang_keywords[i]); } rl_completer_word_break_characters = " \t\n\"\\'`$><=;|&{}()[],+-*/?%^~!:"; Keymap keymaps[] = {emacs_standard_keymap, vi_insertion_keymap}; int i; for (i = 0; i < sizeof(keymaps)/sizeof(keymaps[0]); i++) { rl_bind_key_in_map(' ', space_callback, keymaps[i]); rl_bind_key_in_map('\t', tab_callback, keymaps[i]); rl_bind_key_in_map('\r', return_callback, keymaps[i]); rl_bind_key_in_map('\n', newline_callback, keymaps[i]); rl_bind_key_in_map('\v', line_kill_callback, keymaps[i]); rl_bind_key_in_map('\b', backspace_callback, keymaps[i]); rl_bind_key_in_map('\001', line_start_callback, keymaps[i]); rl_bind_key_in_map('\005', line_end_callback, keymaps[i]); rl_bind_key_in_map('\002', left_callback, keymaps[i]); rl_bind_key_in_map('\006', right_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[1~", line_start_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[4~", line_end_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[3~", delete_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[5~", rl_named_function("beginning-of-history"), keymaps[i]); rl_bind_keyseq_in_map("\e[6~", rl_named_function("end-of-history"), keymaps[i]); rl_bind_keyseq_in_map("\e[A", up_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[B", down_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[D", left_callback, keymaps[i]); rl_bind_keyseq_in_map("\e[C", right_callback, keymaps[i]); rl_bind_keyseq_in_map("\\C-d", delete_callback, keymaps[i]); rl_bind_keyseq_in_map("\e\r", newline_callback, keymaps[i]); } #ifndef __WIN32__ signal(SIGTSTP, sigtstp_handler); signal(SIGCONT, sigcont_handler); #endif }