class SublimeDSL::SublimeText::KeyMap::DSLReader

Keymap DSL interpreter.

Attributes

_file[RW]

Public Class Methods

new(file = nil) click to toggle source
# File lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb, line 14
def initialize(file = nil)
  @keymaps = []
  @_file = file
  instance_eval File.read(file, encoding: 'utf-8'), file if file
end

Public Instance Methods

_keymaps() click to toggle source
# File lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb, line 20
def _keymaps
  @keymaps
end
keymap(name, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb, line 28
    def keymap(name, &block)
      reader = BindingReader.new(_file)
      reader.instance_eval(&block)
# unless reader._catchers_hash.empty?
#   reader._catchers_hash.each_pair { |i,c| p c }
# end
      map = KeyMap.new(name, reader._keyboard)
      map.bindings.concat reader._bindings
      @keymaps << map
    end
method_missing(sym, *args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb, line 24
def method_missing(sym, *args, &block)
  "invalid DSL statement: '#{sym}'"
end