From c48778d64294c7871e2be09b0138d74e4d9d8551 Mon Sep 17 00:00:00 2001 From: aycabta Date: Mon, 13 May 2019 03:24:15 +0900 Subject: [PATCH] Add attr_accessor for Reline's Config attrs --- lib/reline/config.rb | 56 ++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/lib/reline/config.rb b/lib/reline/config.rb index 6e4ccd544c..0a6a92fee2 100644 --- a/lib/reline/config.rb +++ b/lib/reline/config.rb @@ -3,6 +3,36 @@ require 'pathname' class Reline::Config DEFAULT_PATH = Pathname.new(Dir.home).join('.inputrc') + VARIABLE_NAMES = %w{ + bind-tty-special-chars + blink-matching-paren + byte-oriented + completion-ignore-case + convert-meta + disable-completion + enable-keypad + expand-tilde + history-preserve-point + horizontal-scroll-mode + input-meta + mark-directories + mark-modified-lines + mark-symlinked-directories + match-hidden-files + meta-flag + output-meta + page-completions + prefer-visible-bell + print-completions-horizontally + show-all-if-ambiguous + show-all-if-unmodified + visible-stats + } + VARIABLE_NAME_SYMBOLS = VARIABLE_NAMES.map { |v| :"#{v.tr(?-, ?_)}" } + VARIABLE_NAME_SYMBOLS.each do |v| + attr_accessor v + end + def initialize @skip_section = nil @if_stack = [] @@ -108,31 +138,7 @@ class Reline::Config def bind_variable(name, value) case name - when %w{ - bind-tty-special-chars - blink-matching-paren - byte-oriented - completion-ignore-case - convert-meta - disable-completion - enable-keypad - expand-tilde - history-preserve-point - horizontal-scroll-mode - input-meta - mark-directories - mark-modified-lines - mark-symlinked-directories - match-hidden-files - meta-flag - output-meta - page-completions - prefer-visible-bell - print-completions-horizontally - show-all-if-ambiguous - show-all-if-unmodified - visible-stats - } then + when VARIABLE_NAMES then variable_name = :"@#{name.tr(?-, ?_)}" instance_variable_set(variable_name, value.nil? || value == '1' || value == 'on') when 'bell-style'