Sha256: 1b8ff952b90cc74d1172212e9baff3a4cd22e8754cd9b8a72543891eff31c4c8

Contents?: true

Size: 574 Bytes

Versions: 15

Compression:

Stored size: 574 Bytes

Contents

require 'rib'
require 'tempfile'

module Rib::Edit
  include Rib::Plugin
  Shell.use(self)

  module Imp
    def edit
      return if Rib::Edit.disabled?
      file = Tempfile.new(['rib.edit', '.rb'])
      file.puts(Rib.vars[:edit])
      file.close

      system("#{ENV['EDITOR']} #{file.path}")

      if (shell = Rib.shell).running?
        shell.send(:multiline_buffer).pop
      else
        shell.before_loop
      end

      shell.loop_eval(Rib.vars[:edit] = File.read(file.path))

    ensure
      file.close
      file.unlink
    end
  end

  Rib.extend(Imp)
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
rib-1.0.5 lib/rib/more/edit.rb
rib-1.0.4 lib/rib/more/edit.rb
rib-1.0.3 lib/rib/more/edit.rb
rib-1.0.2 lib/rib/more/edit.rb
rib-1.0.1 lib/rib/more/edit.rb
rib-1.0.0 lib/rib/more/edit.rb
rib-0.9.9 lib/rib/more/edit.rb
rib-0.9.5 lib/rib/more/edit.rb
rib-0.9.5.pre.1 lib/rib/more/edit.rb
rib-0.9.5.pre.0 lib/rib/more/edit.rb
rib-0.9.4 lib/rib/more/edit.rb
rib-0.9.3 lib/rib/more/edit.rb
rib-0.9.2 lib/rib/more/edit.rb
rib-0.9.1 lib/rib/more/edit.rb
rib-0.9.0 lib/rib/more/edit.rb