class NvimConf::Generators::Mappings::Code::Lua

Constants

BASE_SET_METHOD
BASE_UNSET_METHOD
MODE_MAPPING

Public Class Methods

new(mapping) click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 23
def initialize(mapping)
  @mapping = mapping
end

Public Instance Methods

generate() click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 27
def generate
  if @mapping.remove
    generate_unset
  else
    generate_set
  end
end

Private Instance Methods

argument_list() click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 58
def argument_list
  ([
    MODE_MAPPING[@mapping.operator.to_s],
    @mapping.binding,
    @mapping.action
  ].map { |value| escape_value(value) } + options).join(", ")
end
escape_value(value) click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 66
def escape_value(value)
  escape_character = surround_symbol(value)
  [
    escape_character,
    value,
    escape_character
  ].join
end
generate_set() click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 37
def generate_set
  [
    BASE_SET_METHOD,
    "(",
    argument_list,
    ")"
  ].join
end
generate_unset() click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 46
def generate_unset
  [
    BASE_UNSET_METHOD,
    "(",
    [
      MODE_MAPPING[@mapping.operator.to_s],
      @mapping.binding
    ].map { |value| escape_value(value) }.join(", "),
    ")"
  ].join
end
options() click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 79
def options
  ["{}"]
end
surround_symbol(value) click to toggle source
# File lib/nvim_conf/generators/code/mappings/lua.rb, line 75
def surround_symbol(value)
  value.include?("'") ? '"' : "'"
end