summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-06-19 09:21:38 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-06-19 09:21:38 +0000
commit0c92a85e6ab61e5b20b7ba5a60121302a791725d (patch)
treee96d7b3f58338e7a0e2f51f6a570d2e649a3a23b /ext
parent058888bd38fb6ff3f32423390e0d62732f79e5a6 (diff)
* ext/readline/readline.c: add new methods:
Readline::completion_append_character and Readline::completion_append_character=.k git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/readline/README14
-rw-r--r--ext/readline/readline.c34
2 files changed, 45 insertions, 3 deletions
diff --git a/ext/readline/README b/ext/readline/README
index 8a5fe9120f..affe51f9e6 100644
--- a/ext/readline/README
+++ b/ext/readline/README
@@ -36,6 +36,17 @@ completion_case_fold
補完時に大文字小文字を区別しない場合、TRUEを返します。
+completion_append_character = char
+
+ 補完時に付加される文字を文字列で指定します。先頭の一文字が
+ 設定され、空文字列 ("") または nil を指定すると何も付加
+ されなくなります。
+
+completion_append_character
+
+ 補完時に付加される文字を文字列で返します。デフォルトは
+ 空白 (" ") です。
+
vi_editing_mode
VIモードになります。
@@ -50,6 +61,3 @@ HISTORY
ヒストリに対する操作はこの定数を通して行ってください。
配列と同じように扱えるようになっています。
-
-
- \ No newline at end of file
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index c8ed81ac51..6482f942b4 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -167,6 +167,36 @@ readline_s_emacs_editing_mode(self)
}
static VALUE
+readline_s_set_completion_append_character(self, str)
+ VALUE self, str;
+{
+ if (NIL_P(str)) {
+ rl_completion_append_character = '\0';
+ } else {
+ StringValue(str);
+
+ rl_completion_append_character = RSTRING(str)->ptr[0];
+ }
+
+ return self;
+}
+
+static VALUE
+readline_s_get_completion_append_character(self)
+ VALUE self;
+{
+ VALUE str;
+
+ if (rl_completion_append_character == '\0')
+ return Qnil;
+
+ str = rb_str_new("", 1);
+ RSTRING(str)->ptr[0] = rl_completion_append_character;
+
+ return str;
+}
+
+static VALUE
hist_to_s(self)
VALUE self;
{
@@ -395,6 +425,10 @@ Init_readline()
readline_s_vi_editing_mode, 0);
rb_define_singleton_method(mReadline, "emacs_editing_mode",
readline_s_emacs_editing_mode, 0);
+ rb_define_singleton_method(mReadline, "completion_append_character=",
+ readline_s_set_completion_append_character, 1);
+ rb_define_singleton_method(mReadline, "completion_append_character",
+ readline_s_get_completion_append_character, 0);
histary = rb_obj_alloc(rb_cObject);
rb_extend_object(histary, rb_mEnumerable);