class NvimConf::Writers::Documentation::Mappings

Public Class Methods

new(managers, io) click to toggle source
# File lib/nvim_conf/writers/documentation/mappings.rb, line 5
def initialize(managers, io)
  @managers = managers
  @io = io
end

Public Instance Methods

aggregate_writes() click to toggle source
# File lib/nvim_conf/writers/documentation/mappings.rb, line 10
def aggregate_writes
  return if @managers.empty?

  @io.write(
    Utils::MarkdownFormatter.format_title(
      "Mappings",
      level: 2
    )
  )

  write_mappings(all_mappings.group_by(&:operator))
end

Private Instance Methods

all_mappings() click to toggle source
# File lib/nvim_conf/writers/documentation/mappings.rb, line 47
def all_mappings
  @managers.map(&:mappings).flatten
end
write_mappings(grouped_mappings) click to toggle source
# File lib/nvim_conf/writers/documentation/mappings.rb, line 25
def write_mappings(grouped_mappings)
  grouped_mappings.each do |operator, mappings|
    @io.write_separator

    @io.write(
      Utils::MarkdownFormatter.format_title(
        operator,
        level: 3
      )
    )

    mappings.each do |mapping|
      @io.write(
        [
          "- #{mapping.binding}",
          mapping.action
        ].join(" => ") + "\n"
      )
    end
  end
end