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