Skip to content

Commit

Permalink
Readline's class vars should be encoded as default_external
Browse files Browse the repository at this point in the history
  • Loading branch information
aycabta committed May 13, 2019
1 parent 7413217 commit af1f3f1
Showing 1 changed file with 55 additions and 22 deletions.
77 changes: 55 additions & 22 deletions lib/reline.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,6 @@ module Reline

CursorPos = Struct.new(:x, :y)

class << self
attr_accessor :basic_quote_characters
attr_accessor :completer_quote_characters
attr_accessor :completer_word_break_characters
attr_reader :completion_append_character
attr_accessor :completion_case_fold
attr_accessor :filename_quote_characters
attr_accessor :special_prefixes
end

@@config = Reline::Config.new
@@line_editor = Reline::LineEditor.new(@@config)
@@ambiguous_width = nil
Expand Down Expand Up @@ -68,22 +58,19 @@ def <<(val)
end
}.new

@basic_quote_characters = '"\''
# TODO implement below
#@completer_quote_characters
#@completion_append_character
#@completion_case_fold
#@filename_quote_characters
#@special_prefixes
@@completion_append_character = nil
def self.completion_append_character
@@completion_append_character
end
def self.completion_append_character=(val)
if val.nil?
@completion_append_character = nil
@@completion_append_character = nil
elsif val.size == 1
@completion_append_character = val
@@completion_append_character = val.encode(Encoding::default_external)
elsif val.size > 1
@completion_append_character = val[0]
@@completion_append_character = val[0].encode(Encoding::default_external)
else
@completion_append_character = nil
@@completion_append_character = nil
end
end

Expand All @@ -92,10 +79,56 @@ def self.basic_word_break_characters
@@basic_word_break_characters
end
def self.basic_word_break_characters=(v)
@@basic_word_break_characters = v
@@basic_word_break_characters = v.encode(Encoding::default_external)
end

@@completer_word_break_characters = @@basic_word_break_characters.dup
def self.completer_word_break_characters
@@completer_word_break_characters
end
def self.completer_word_break_characters=(v)
@@completer_word_break_characters = v.encode(Encoding::default_external)
end

@@basic_quote_characters = '"\''
def self.basic_quote_characters
@@basic_quote_characters
end
def self.basic_quote_characters=(v)
@@basic_quote_characters = v.encode(Encoding::default_external)
end

@@completer_quote_characters = '"\''
def self.completer_quote_characters
@@completer_quote_characters
end
def self.completer_quote_characters=(v)
@@completer_quote_characters = v.encode(Encoding::default_external)
end

@@filename_quote_characters = ''
def self.filename_quote_characters
@@filename_quote_characters
end
def self.filename_quote_characters=(v)
@@filename_quote_characters = v.encode(Encoding::default_external)
end

@@special_prefixes = ''
def self.special_prefixes
@@special_prefixes
end
def self.special_prefixes=(v)
@@special_prefixes = v.encode(Encoding::default_external)
end

@@completion_case_fold = nil
def self.completion_case_fold
@@completion_case_fold
end
def self.completion_case_fold=(v)
@@completion_case_fold = v
end

@@completion_proc = nil
def self.completion_proc
Expand Down

0 comments on commit af1f3f1

Please sign in to comment.