class SublimeDSL::SublimeText::CommandSet
Attributes
items[R]
name[R]
Public Class Methods
import(file)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 8 def self.import(file) name = File.basename(file, File.extname(file)) set = new(name) list = JSON[File.read(file, encoding: 'utf-8')] begin set.items.concat list.map { |h| Item.from_json(h) } rescue => ex Console.error "file: #{file}" raise ex end set end
new(name)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 23 def initialize(name) @name = name @items = [] end
Public Instance Methods
export(dir)
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 34 def export(dir) file = "#{dir}/#{name}.sublime-commands" File.open(file, 'wb:utf-8') { |f| f.write to_json } end
to_dsl()
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 28 def to_dsl dsl = "commands #{name.to_source} do\n\n" items.each { |i| dsl << " #{i.to_dsl}\n" } dsl << "\nend" end
to_json()
click to toggle source
# File lib/sublime_dsl/sublime_text/command_set.rb, line 39 def to_json "[\n" << items.map { |i| JSON.generate(i.to_h) }.join(",\n").indent(2) << "\n]" end