class SublimeDSL::SublimeText::Package::DSLReader

'Universal' DSL reader: reads any DSL block and updates its package.

Public Class Methods

new(file, package) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 12
def initialize(file, package)
  @file = file
  @package = package
  instance_eval File.read(file, encoding: 'utf-8'), file
end

Public Instance Methods

commands(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 58
def commands(*args, &block)
  r = CommandSet::DSLReader.new
  r.commands(*args, &block)
  @package.command_sets.concat r._command_sets
end
keyboard(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 83
def keyboard(*args, &block)
  raise Error, "keyboards must be defined in a separate *.keyboard.rb file"
end
keymap(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 76
def keymap(*args, &block)
  r = KeyMap::DSLReader.new
  r._file = @file
  r.keymap(*args, &block)
  @package.keymaps.concat r._keymaps
end
language(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 28
def language(*args, &block)
  r = TextMate::Grammar::DSLReader.new
  r.language(*args, &block)
  @package.grammars.concat r._grammars
end
macro(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 52
def macro(*args, &block)
  r = Macro::DSLReader.new
  r.macro(*args, &block)
  @package.macros.concat r._macros
end
menu(*args, &block) click to toggle source
method_missing(sym, *args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 18
def method_missing(sym, *args, &block)
  raise DSLError, "'#{sym}' is not a valid Package DSL statement"
end
mousemap(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 70
def mousemap(*args, &block)
  r = MouseMap::DSLReader.new
  r.mousemap(*args, &block)
  @package.mousemaps.concat r._mousemaps
end
preferences(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 34
def preferences(*args, &block)
  r = TextMate::Preference::DSLReader.new
  r.preferences(*args, &block)
  @package.preferences.concat r._preferences
end
settings(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 46
def settings(*args, &block)
  r = SettingSet::DSLReader.new
  r.settings(*args, &block)
  @package.setting_sets.concat r._setting_sets
end
snippets(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 40
def snippets(*args, &block)
  r = TextMate::Snippet::DSLReader.new
  r.snippets(*args, &block)
  @package.snippets.concat r._snippets
end
theme(*args, &block) click to toggle source
# File lib/sublime_dsl/sublime_text/package/dsl_reader.rb, line 22
def theme(*args, &block)
  r = TextMate::Theme::DSLReader.new
  r.theme(*args, &block)
  @package.themes.concat r._themes
end