Sha256: c7c420bd4df7159f9f38df0eefdb59b4d09b4fd1586997e725c219409b841ba8

Contents?: true

Size: 977 Bytes

Versions: 3

Compression:

Stored size: 977 Bytes

Contents

require 'curses'

module GitCrecord
  module UI
    module HelpWindow
      CONTENT = <<EOS.freeze
  q      - quit
  s      - stage selection and quit
  c      - commit selection and quit
  j / ↓  - down
  k / ↑  - up
  h / ←  - collapse fold
  l / →  - expand fold
  f      - toggle fold
  g      - go to first line
  G      - go to last line
  C-P    - up to previous hunk / file
  C-N    - down to next hunk / file
  SPACE  - toggle selection
  A      - toggle all selections
  ?      - display help
  R      - force redraw
EOS

      def self.show
        win = Curses::Window.new(height, width, 0, 0)
        win.box('|', '-')
        CONTENT.split("\n").each_with_index do |line, index|
          win.setpos(index + 1, 1)
          win.addstr(line)
        end
        win.getch
        win.close
      end

      def self.width
        CONTENT.lines.map(&:size).max + 3
      end

      def self.height
        CONTENT.lines.size + 2
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
git-crecord-1.0.8 lib/git_crecord/ui/help_window.rb
git-crecord-1.0.7 lib/git_crecord/ui/help_window.rb
git-crecord-1.0.6 lib/git_crecord/ui/help_window.rb