ext/readline/readline.c File Reference

#include "ruby/config.h"
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include "ruby/ruby.h"
#include "ruby/io.h"

Include dependency graph for readline.c:

Go to the source code of this file.

Defines

#define EDIT_LINE_LIBRARY_VERSION   "EditLine wrapper"
#define USE_INSERT_IGNORE_ESCAPE   0
#define COMPLETION_PROC   "completion_proc"
#define COMPLETION_CASE_FOLD   "completion_case_fold"
#define rl_filename_completion_function   filename_completion_function
#define rl_username_completion_function   username_completion_function
#define rl_completion_matches   completion_matches
#define OutputStringValue(str)
#define readline_s_get_line_buffer   rb_f_notimplement
#define readline_s_get_point   rb_f_notimplement
#define readline_s_set_screen_size   rb_f_notimplement
#define readline_s_get_screen_size   rb_f_notimplement
#define readline_s_vi_editing_mode   rb_f_notimplement
#define readline_s_vi_editing_mode_p   rb_f_notimplement
#define readline_s_emacs_editing_mode   rb_f_notimplement
#define readline_s_emacs_editing_mode_p   rb_f_notimplement
#define readline_s_set_completion_append_character   rb_f_notimplement
#define readline_s_get_completion_append_character   rb_f_notimplement
#define readline_s_set_basic_word_break_characters   rb_f_notimplement
#define readline_s_get_basic_word_break_characters   rb_f_notimplement
#define readline_s_set_completer_word_break_characters   rb_f_notimplement
#define readline_s_get_completer_word_break_characters   rb_f_notimplement
#define readline_s_set_basic_quote_characters   rb_f_notimplement
#define readline_s_get_basic_quote_characters   rb_f_notimplement
#define readline_s_set_completer_quote_characters   rb_f_notimplement
#define readline_s_get_completer_quote_characters   rb_f_notimplement
#define readline_s_set_filename_quote_characters   rb_f_notimplement
#define readline_s_get_filename_quote_characters   rb_f_notimplement
#define readline_s_refresh_line   rb_f_notimplement
#define hist_set   rb_f_notimplement
#define hist_clear   rb_f_notimplement

Functions

static char ** readline_attempted_completion_function (const char *text, int start, int end)
static VALUE readline_get (VALUE prompt)
static VALUE readline_readline (int argc, VALUE *argv, VALUE self)
static VALUE readline_s_set_input (VALUE self, VALUE input)
static VALUE readline_s_set_output (VALUE self, VALUE output)
static VALUE readline_s_set_completion_proc (VALUE self, VALUE proc)
static VALUE readline_s_get_completion_proc (VALUE self)
static VALUE readline_s_set_completion_case_fold (VALUE self, VALUE val)
static VALUE readline_s_get_completion_case_fold (VALUE self)
static VALUE hist_to_s (VALUE self)
static int history_get_offset_history_base (int offset)
static int history_get_offset_0 (int offset)
static VALUE hist_get (VALUE self, VALUE index)
static VALUE hist_push (VALUE self, VALUE str)
static VALUE hist_push_method (int argc, VALUE *argv, VALUE self)
static VALUE rb_remove_history (int index)
static VALUE hist_pop (VALUE self)
static VALUE hist_shift (VALUE self)
static VALUE hist_each (VALUE self)
static VALUE hist_length (VALUE self)
static VALUE hist_empty_p (VALUE self)
static VALUE hist_delete_at (VALUE self, VALUE index)
static VALUE filename_completion_proc_call (VALUE self, VALUE str)
static VALUE username_completion_proc_call (VALUE self, VALUE str)
void Init_readline ()

Variables

static VALUE mReadline
static ID completion_proc
static ID completion_case_fold
static int(*) history_get_offset_func (int)


Define Documentation

#define COMPLETION_CASE_FOLD   "completion_case_fold"

Definition at line 55 of file readline.c.

Referenced by Init_readline().

#define COMPLETION_PROC   "completion_proc"

Definition at line 54 of file readline.c.

Referenced by Init_readline().

#define EDIT_LINE_LIBRARY_VERSION   "EditLine wrapper"

Definition at line 45 of file readline.c.

Referenced by Init_readline().

#define hist_clear   rb_f_notimplement

Definition at line 1350 of file readline.c.

Referenced by Init_readline().

#define hist_set   rb_f_notimplement

Definition at line 1224 of file readline.c.

Referenced by Init_readline().

#define OutputStringValue ( str   ) 

Value:

do {\
    SafeStringValue(str);\
    str = rb_str_conv_enc(str, rb_enc_get(str), rb_locale_encoding());\
} while (0)\

Definition at line 76 of file readline.c.

Referenced by hist_push(), hist_push_method(), and readline_readline().

#define readline_s_emacs_editing_mode   rb_f_notimplement

Definition at line 729 of file readline.c.

Referenced by Init_readline().

#define readline_s_emacs_editing_mode_p   rb_f_notimplement

Definition at line 750 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_basic_quote_characters   rb_f_notimplement

Definition at line 1019 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_basic_word_break_characters   rb_f_notimplement

Definition at line 899 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_completer_quote_characters   rb_f_notimplement

Definition at line 1081 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_completer_word_break_characters   rb_f_notimplement

Definition at line 960 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_completion_append_character   rb_f_notimplement

Definition at line 838 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_filename_quote_characters   rb_f_notimplement

Definition at line 1141 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_line_buffer   rb_f_notimplement

Definition at line 520 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_point   rb_f_notimplement

Definition at line 544 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_screen_size   rb_f_notimplement

Definition at line 662 of file readline.c.

Referenced by Init_readline().

#define readline_s_refresh_line   rb_f_notimplement

Definition at line 1161 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_basic_quote_characters   rb_f_notimplement

Definition at line 996 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_basic_word_break_characters   rb_f_notimplement

Definition at line 875 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_completer_quote_characters   rb_f_notimplement

Definition at line 1057 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_completer_word_break_characters   rb_f_notimplement

Definition at line 936 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_completion_append_character   rb_f_notimplement

Definition at line 810 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_filename_quote_characters   rb_f_notimplement

Definition at line 1117 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_screen_size   rb_f_notimplement

Definition at line 632 of file readline.c.

Referenced by Init_readline().

#define readline_s_vi_editing_mode   rb_f_notimplement

Definition at line 685 of file readline.c.

Referenced by Init_readline().

#define readline_s_vi_editing_mode_p   rb_f_notimplement

Definition at line 706 of file readline.c.

Referenced by Init_readline().

#define rl_completion_matches   completion_matches

Definition at line 68 of file readline.c.

Referenced by filename_completion_proc_call(), and username_completion_proc_call().

#define rl_filename_completion_function   filename_completion_function

Definition at line 62 of file readline.c.

Referenced by filename_completion_proc_call().

#define rl_username_completion_function   username_completion_function

Definition at line 65 of file readline.c.

Referenced by username_completion_proc_call().

#define USE_INSERT_IGNORE_ESCAPE   0

Definition at line 50 of file readline.c.


Function Documentation

static VALUE filename_completion_proc_call ( VALUE  self,
VALUE  str 
) [static]

Definition at line 1354 of file readline.c.

References free, Qnil, RARRAY_LEN, rb_ary_new(), rb_ary_push(), rb_ary_shift(), rb_locale_str_new_cstr(), result, rl_completion_matches, rl_filename_completion_function, and StringValuePtr.

Referenced by Init_readline().

static VALUE hist_delete_at ( VALUE  self,
VALUE  index 
) [static]

Definition at line 1327 of file readline.c.

References NUM2INT, rb_eIndexError, rb_raise(), rb_remove_history(), and rb_secure().

Referenced by Init_readline().

static VALUE hist_each ( VALUE  self  )  [static]

Definition at line 1295 of file readline.c.

References history_get_offset_func, NULL, rb_locale_str_new_cstr(), rb_secure(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_readline().

static VALUE hist_empty_p ( VALUE  self  )  [static]

Definition at line 1320 of file readline.c.

References Qfalse, Qtrue, and rb_secure().

Referenced by Init_readline().

static VALUE hist_get ( VALUE  self,
VALUE  index 
) [static]

Definition at line 1183 of file readline.c.

References history_get_offset_func, cparse_params::i, NULL, NUM2INT, rb_eIndexError, rb_locale_str_new_cstr(), rb_raise(), and rb_secure().

Referenced by Init_readline().

static VALUE hist_length ( VALUE  self  )  [static]

Definition at line 1313 of file readline.c.

References INT2NUM(), and rb_secure().

Referenced by Init_readline().

static VALUE hist_pop ( VALUE  self  )  [static]

Definition at line 1273 of file readline.c.

References Qnil, rb_remove_history(), and rb_secure().

Referenced by Init_readline().

static VALUE hist_push ( VALUE  self,
VALUE  str 
) [static]

Definition at line 1228 of file readline.c.

References OutputStringValue, rb_secure(), and RSTRING_PTR.

Referenced by Init_readline().

static VALUE hist_push_method ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 1237 of file readline.c.

References OutputStringValue, rb_secure(), and RSTRING_PTR.

Referenced by Init_readline().

static VALUE hist_shift ( VALUE  self  )  [static]

Definition at line 1284 of file readline.c.

References Qnil, rb_remove_history(), and rb_secure().

Referenced by Init_readline().

static VALUE hist_to_s ( VALUE  self  )  [static]

Definition at line 1165 of file readline.c.

References rb_str_new_cstr().

Referenced by Init_readline().

static int history_get_offset_0 ( int  offset  )  [static]

Definition at line 1177 of file readline.c.

Referenced by Init_readline().

static int history_get_offset_history_base ( int  offset  )  [static]

Definition at line 1171 of file readline.c.

Referenced by Init_readline().

void Init_readline (  ) 

Definition at line 1404 of file readline.c.

References COMPLETION_CASE_FOLD, completion_case_fold, COMPLETION_PROC, completion_proc, CONST_ID, EDIT_LINE_LIBRARY_VERSION, filename_completion_proc_call(), free, hist_clear, hist_delete_at(), hist_each(), hist_empty_p(), hist_get(), hist_length(), hist_pop(), hist_push(), hist_push_method(), hist_set, hist_shift(), hist_to_s(), history_get_offset_0(), history_get_offset_func, history_get_offset_history_base(), mReadline, NULL, rb_cObject, rb_define_const(), rb_define_module(), rb_define_module_function(), rb_define_singleton_method(), rb_extend_object(), rb_intern, rb_intern_const, rb_mEnumerable, rb_obj_alloc(), rb_stdin, rb_str_new_cstr(), readline_attempted_completion_function(), readline_readline(), readline_s_emacs_editing_mode, readline_s_emacs_editing_mode_p, readline_s_get_basic_quote_characters, readline_s_get_basic_word_break_characters, readline_s_get_completer_quote_characters, readline_s_get_completer_word_break_characters, readline_s_get_completion_append_character, readline_s_get_completion_case_fold(), readline_s_get_completion_proc(), readline_s_get_filename_quote_characters, readline_s_get_line_buffer, readline_s_get_point, readline_s_get_screen_size, readline_s_refresh_line, readline_s_set_basic_quote_characters, readline_s_set_basic_word_break_characters, readline_s_set_completer_quote_characters, readline_s_set_completer_word_break_characters, readline_s_set_completion_append_character, readline_s_set_completion_case_fold(), readline_s_set_completion_proc(), readline_s_set_filename_quote_characters, readline_s_set_input(), readline_s_set_output(), readline_s_set_screen_size, readline_s_vi_editing_mode, readline_s_vi_editing_mode_p, username_completion_proc_call(), and version().

static VALUE rb_remove_history ( int  index  )  [static]

Definition at line 1251 of file readline.c.

References free, Qnil, rb_locale_str_new_cstr(), rb_notimplement(), and rb_secure().

Referenced by hist_delete_at(), hist_pop(), and hist_shift().

static char ** readline_attempted_completion_function ( const char *  text,
int  start,
int  end 
) [static]

Definition at line 548 of file readline.c.

References ALLOC_N, completion_case_fold, completion_proc, cparse_params::i, mReadline, NIL_P, NULL, RARRAY_LEN, RARRAY_PTR, rb_Array(), rb_attr_get(), rb_funcall(), rb_intern, rb_locale_str_new_cstr(), rb_obj_as_string(), result, RSTRING_LEN, RSTRING_PTR, RTEST, strdup, T_ARRAY, TOLOWER, and TYPE.

Referenced by Init_readline().

static VALUE readline_get ( VALUE  prompt  )  [static]

Definition at line 230 of file readline.c.

Referenced by readline_readline().

static VALUE readline_readline ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 322 of file readline.c.

References errno, fileno, free, NULL, OutputStringValue, Qnil, rb_eIOError, rb_jump_tag(), rb_locale_str_new_cstr(), rb_protect(), rb_raise(), rb_scan_args(), rb_secure(), rb_str_locktmp(), rb_str_unlocktmp(), readline_get(), result, RSTRING_PTR, and RTEST.

Referenced by Init_readline().

static VALUE readline_s_get_completion_case_fold ( VALUE  self  )  [static]

Definition at line 493 of file readline.c.

References completion_case_fold, mReadline, rb_attr_get(), and rb_secure().

Referenced by Init_readline().

static VALUE readline_s_get_completion_proc ( VALUE  self  )  [static]

Definition at line 455 of file readline.c.

References completion_proc, mReadline, rb_attr_get(), and rb_secure().

Referenced by Init_readline().

static VALUE readline_s_set_completion_case_fold ( VALUE  self,
VALUE  val 
) [static]

Definition at line 470 of file readline.c.

References completion_case_fold, mReadline, rb_ivar_set(), and rb_secure().

Referenced by Init_readline().

static VALUE readline_s_set_completion_proc ( VALUE  self,
VALUE  proc 
) [static]

Definition at line 438 of file readline.c.

References completion_proc, mReadline, NIL_P, rb_eArgError, rb_intern, rb_ivar_set(), rb_raise(), rb_respond_to(), and rb_secure().

Referenced by Init_readline().

static VALUE readline_s_set_input ( VALUE  self,
VALUE  input 
) [static]

Definition at line 388 of file readline.c.

References Check_Type, GetOpenFile, rb_io_stdio_file(), rb_secure(), and T_FILE.

Referenced by Init_readline().

static VALUE readline_s_set_output ( VALUE  self,
VALUE  output 
) [static]

Definition at line 412 of file readline.c.

References Check_Type, GetOpenFile, rb_io_stdio_file(), rb_secure(), and T_FILE.

Referenced by Init_readline().

static VALUE username_completion_proc_call ( VALUE  self,
VALUE  str 
) [static]

Definition at line 1379 of file readline.c.

References free, Qnil, RARRAY_LEN, rb_ary_new(), rb_ary_push(), rb_ary_shift(), rb_locale_str_new_cstr(), result, rl_completion_matches, rl_username_completion_function, and StringValuePtr.

Referenced by Init_readline().


Variable Documentation

ID completion_case_fold [static]

Definition at line 56 of file readline.c.

Referenced by Init_readline(), readline_attempted_completion_function(), readline_s_get_completion_case_fold(), and readline_s_set_completion_case_fold().

ID completion_proc [static]

Definition at line 56 of file readline.c.

Referenced by Init_readline(), readline_attempted_completion_function(), readline_s_get_completion_proc(), and readline_s_set_completion_proc().

int(*) history_get_offset_func(int) [static]

Definition at line 71 of file readline.c.

Referenced by hist_each(), hist_get(), and Init_readline().

VALUE mReadline [static]

Definition at line 43 of file readline.c.

Referenced by Init_readline(), readline_attempted_completion_function(), readline_s_get_completion_case_fold(), readline_s_get_completion_proc(), readline_s_set_completion_case_fold(), and readline_s_set_completion_proc().


Generated on Wed Aug 10 09:18:17 2011 for Ruby by  doxygen 1.4.7