sublime_ps 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/sublime_ps +5 -0
- data/lib/sublime_ps.rb +30 -0
- data/lib/sublime_ps/files_manipulation/preset.rb +30 -0
- data/lib/sublime_ps/files_manipulation/sublime_preferences.rb +32 -0
- data/lib/sublime_ps/files_manipulation/sublime_ps_preferences.rb +45 -0
- data/sublime_ps.gemspec +16 -0
- metadata +65 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 0135fda29da058d45b47b8c153ec8fc9b188bf53
|
|
4
|
+
data.tar.gz: c3538821a4400784c48e2c20337cfe9c84824426
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: b06c4abc8309053d0111c374239499b9d65b4e91afcab64bf921106456442bdc6a75597c8897b51e62b2c8b4d927c0bb7a55d86452bac764da0125daf7631a62
|
|
7
|
+
data.tar.gz: 17ddcdb9c276ab766f605646ebd58887e3c6a7bb86b2815ed74466adfc61544afe7ef3dac1f58123228a1fdf70a7af2ce0abd9ff1ae7c03b63155dcd0fbbc45b
|
data/bin/sublime_ps
ADDED
data/lib/sublime_ps.rb
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require 'thor'
|
|
2
|
+
|
|
3
|
+
module SublimePS
|
|
4
|
+
module FilesManipulation
|
|
5
|
+
autoload :SublimePSPreferences, 'sublime_ps/files_manipulation/sublime_ps_preferences'
|
|
6
|
+
autoload :SublimePreferences, 'sublime_ps/files_manipulation/sublime_preferences'
|
|
7
|
+
autoload :Preset, 'sublime_ps/files_manipulation/preset'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
class CommandLineInterface < Thor
|
|
11
|
+
|
|
12
|
+
desc 'apply_preset <present name>',
|
|
13
|
+
'Add settings of PRESET_NAME on sublime preferences file'
|
|
14
|
+
long_desc <<-LONGDESC
|
|
15
|
+
Use this command to apply the preferences of '~/.sublime_ps/[PRESET_NAME].json'
|
|
16
|
+
on your SublimeText preferences file.
|
|
17
|
+
If sublime_ps don't found the SublimeText preferences, you can chenge the file
|
|
18
|
+
path on '~/.sublime_ps/sublime_ps.yml'.
|
|
19
|
+
LONGDESC
|
|
20
|
+
options :aliases => ['ap', 'a']
|
|
21
|
+
def apply_preset(preset_name)
|
|
22
|
+
preset_content = FilesManipulation::Preset.file_content(preset_name)
|
|
23
|
+
sublime_preferences = FilesManipulation::SublimePreferences.new
|
|
24
|
+
preferences_content = sublime_preferences.file_content
|
|
25
|
+
preferences_content.merge!(preset_content)
|
|
26
|
+
sublime_preferences.set_content(preferences_content)
|
|
27
|
+
puts "Preferences changed to preset '#{preset_name}' \e[32m[OK]\e[0m"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
module SublimePS::FilesManipulation
|
|
4
|
+
class Preset
|
|
5
|
+
@@path_dir = "#{File.expand_path('~')}/.sublime_ps"
|
|
6
|
+
|
|
7
|
+
def initialize(preset_name)
|
|
8
|
+
@preset_name = preset_name
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def self.file_content(preset_name)
|
|
12
|
+
self.new(preset_name).load_file_content
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def load_file_content
|
|
16
|
+
if File.exists?(preset_path(@preset_name))
|
|
17
|
+
JSON.parse(File.open(preset_path(@preset_name)).read)
|
|
18
|
+
else
|
|
19
|
+
puts "Preset '#{@preset_name}' not find on #{@@path_dir} dir \e[31m[FAIL]\e[0m"
|
|
20
|
+
exit
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def preset_path(preset_name)
|
|
27
|
+
"#{@@path_dir}/#{preset_name}.json"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
module SublimePS::FilesManipulation
|
|
4
|
+
class SublimePreferences
|
|
5
|
+
def initialize
|
|
6
|
+
@sublime_ps_preferences = SublimePSPreferences.new
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def file_content
|
|
10
|
+
JSON.parse(File.open(@sublime_ps_preferences.sublime_preferences_file_path).read)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def set_content(content)
|
|
14
|
+
remove_preference_file_content
|
|
15
|
+
add_set_preference_file_content(content)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
def remove_preference_file_content
|
|
21
|
+
File.open(@sublime_ps_preferences.sublime_preferences_file_path, 'w') do |file|
|
|
22
|
+
file.truncate(0)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def add_set_preference_file_content(content_to_file)
|
|
27
|
+
output_file = File.open(@sublime_ps_preferences.sublime_preferences_file_path, 'w')
|
|
28
|
+
output_file.puts(JSON.pretty_generate(content_to_file))
|
|
29
|
+
output_file.close
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'yaml'
|
|
2
|
+
require 'fileutils'
|
|
3
|
+
|
|
4
|
+
module SublimePS::FilesManipulation
|
|
5
|
+
class SublimePSPreferences
|
|
6
|
+
@@home_path = File.expand_path('~')
|
|
7
|
+
@@path = "#{@@home_path}/.sublime_ps/sublime_ps.yml"
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
create_conf_file if conf_file_exist? == false
|
|
11
|
+
@conf_file = load_conf_file
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def sublime_preferences_file_path
|
|
15
|
+
if File.exists?(@conf_file[:sublime_preferences_path])
|
|
16
|
+
@conf_file[:sublime_preferences_path]
|
|
17
|
+
else
|
|
18
|
+
puts "Sublime preferences file not find (see on #{@@path}) \e[31m[FAIL]\e[0m"
|
|
19
|
+
exit
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def conf_file_exist?
|
|
26
|
+
File.exists?(@@path)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def create_conf_file
|
|
30
|
+
FileUtils::mkdir_p("#{@@home_path}/.sublime_ps")
|
|
31
|
+
output = File.new(@@path, 'w')
|
|
32
|
+
output.puts(YAML.dump({ sublime_preferences_path: initial_sublime_preferences_path }))
|
|
33
|
+
output.close
|
|
34
|
+
puts "Create configuration file to sublime_ps (#{@@path}) \e[32m[OK]\e[0m"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def load_conf_file
|
|
38
|
+
YAML::load_file(@@path)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initial_sublime_preferences_path
|
|
42
|
+
"#{@@home_path}/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/Preferences.sublime-settings"
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
data/sublime_ps.gemspec
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Gem::Specification.new do |s|
|
|
2
|
+
s.name = "sublime_ps"
|
|
3
|
+
s.version = "0.1.0"
|
|
4
|
+
s.description = "SublimeText preferences switch"
|
|
5
|
+
s.summary = "A simple way to change preferences of SublimeText"
|
|
6
|
+
s.author = "Vinícius Almeida"
|
|
7
|
+
s.email = "vinialm88@gmail.com"
|
|
8
|
+
s.homepage = "https://github.com/viniciusalmeida/sublime_ps"
|
|
9
|
+
s.files = Dir["{lib/**/*.rb,bin/sublime_ps,*.gemspec}"]
|
|
10
|
+
s.metadata = {
|
|
11
|
+
"issue_tracker" => "https://github.com/viniciusalmeida/sublime_ps/issues"
|
|
12
|
+
}
|
|
13
|
+
s.executables = ['sublime_ps']
|
|
14
|
+
s.license = "MIT"
|
|
15
|
+
s.add_runtime_dependency(%q<thor>, ["~> 0.19.1"])
|
|
16
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: sublime_ps
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Vinícius Almeida
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-09-14 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: thor
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ~>
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 0.19.1
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ~>
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 0.19.1
|
|
27
|
+
description: SublimeText preferences switch
|
|
28
|
+
email: vinialm88@gmail.com
|
|
29
|
+
executables:
|
|
30
|
+
- sublime_ps
|
|
31
|
+
extensions: []
|
|
32
|
+
extra_rdoc_files: []
|
|
33
|
+
files:
|
|
34
|
+
- lib/sublime_ps/files_manipulation/preset.rb
|
|
35
|
+
- lib/sublime_ps/files_manipulation/sublime_preferences.rb
|
|
36
|
+
- lib/sublime_ps/files_manipulation/sublime_ps_preferences.rb
|
|
37
|
+
- lib/sublime_ps.rb
|
|
38
|
+
- bin/sublime_ps
|
|
39
|
+
- sublime_ps.gemspec
|
|
40
|
+
homepage: https://github.com/viniciusalmeida/sublime_ps
|
|
41
|
+
licenses:
|
|
42
|
+
- MIT
|
|
43
|
+
metadata:
|
|
44
|
+
issue_tracker: https://github.com/viniciusalmeida/sublime_ps/issues
|
|
45
|
+
post_install_message:
|
|
46
|
+
rdoc_options: []
|
|
47
|
+
require_paths:
|
|
48
|
+
- lib
|
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - '>='
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
54
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
55
|
+
requirements:
|
|
56
|
+
- - '>='
|
|
57
|
+
- !ruby/object:Gem::Version
|
|
58
|
+
version: '0'
|
|
59
|
+
requirements: []
|
|
60
|
+
rubyforge_project:
|
|
61
|
+
rubygems_version: 2.0.14
|
|
62
|
+
signing_key:
|
|
63
|
+
specification_version: 4
|
|
64
|
+
summary: A simple way to change preferences of SublimeText
|
|
65
|
+
test_files: []
|