From 436e8d013ea986c66bc24aab65b2cce6602ef7e2 Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Wed, 27 Dec 2023 19:12:06 -0800 Subject: [PATCH] irb --- .config/irb/irbrc | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.config/irb/irbrc b/.config/irb/irbrc index 08b897a..84c0751 100644 --- a/.config/irb/irbrc +++ b/.config/irb/irbrc @@ -1,7 +1,18 @@ require 'pp' +# make it more pry-like +IRB.conf[:PROMPT][:ALPHA] = { + :PROMPT_I => "[%n] %N(%m)> ", + :PROMPT_S => "[%n] %N(%m)> ", + :PROMPT_C => "[%n] %N(%m)* ", + :RETURN => "=> %s\n", +} +IRB.conf[:PROMPT_MODE] = :ALPHA + +# needs prism and rbs +IRB.conf[:COMPLETOR] = :type + if defined?(Reline::Face) # https://github.com/ruby/irb/issues/328 - # Tweak IRB's default colors Reline::Face.config(:completion_dialog) do |conf| conf.define :default, foreground: :black, background: :cyan conf.define :enhanced, foreground: :black, background: :magenta @@ -9,11 +20,17 @@ if defined?(Reline::Face) # https://github.com/ruby/irb/issues/328 end end + +## utility functions + def pbcopy(str=nil) str = yield if block_given? IO.popen(%w[pbcopy], 'w') {|io| io.write str } end +def tic; @_tic = Time.now; end +def toc; Time.now - @_tic; end + # IRB.conf[:AUTO_INDENT] = true # IRB.conf[:EVAL_HISTORY] = 1000 # IRB.conf[:SAVE_HISTORY] = 1000 @@ -33,5 +50,5 @@ end # Readline::HISTORY.to_a # end -irbrc_local = File.expand_path('../.irbrc.local', __FILE__) +irbrc_local = File.expand_path(".irbrc.local", __dir__) require irbrc_local if File.exist?(irbrc_local)