sublime_text_kit 3.1.0 → 3.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2239271c10f2b155d088c491aa65e30129bff7a1
4
- data.tar.gz: b1788def92004f8065a1354c9644764a9305a8b5
3
+ metadata.gz: 2d9e9aa5ee813bd01378aa676a7e5bc791bfdb7c
4
+ data.tar.gz: 815656149157d6e29e1460ce7aa940ff3c1d91ec
5
5
  SHA512:
6
- metadata.gz: f42f30b0c1e3e38ea4117e9b573d7d087fa303e02117edfb215e43c0cb959384a873eb519b55124175d29436faa59606d8fd75dc733a1c19ef32049eb55277f7
7
- data.tar.gz: b4be6906f7090262b1744850b1a00fc92773c90478c6fa8ca70bc44ed80ff15ade305f98596123d968d131553c7e943d6350a5fbbd00560e0d0e069d3c0c958a
6
+ metadata.gz: 52d69e28ef667843eb1d9a5e4f808435e9903c1e3f2065bed201bd4d8cec86d5d78413c392946eb29a9f1b8e679354a108cc28585506377ee418f9261701d1c8
7
+ data.tar.gz: 8897f213815a660c1347e658203ab1bd9cad204c27c84d9a654e971d0d55b3da67938ac18dd79afcc76a2fe163e6087cc37e21f72bc6866c9c63a287e698d3a7
data/README.md CHANGED
@@ -1,13 +1,34 @@
1
- # Overview
2
-
3
- [![Gem Version](https://badge.fury.io/rb/sublime_text_kit.png)](http://badge.fury.io/rb/sublime_text_kit)
4
- [![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/sublime_text_kit.png)](https://codeclimate.com/github/bkuhlmann/sublime_text_kit)
5
- [![Code Climate Coverage](https://codeclimate.com/github/bkuhlmann/sublime_text_kit/coverage.png)](https://codeclimate.com/github/bkuhlmann/sublime_text_kit)
6
- [![Gemnasium Status](https://gemnasium.com/bkuhlmann/sublime_text_kit.png)](https://gemnasium.com/bkuhlmann/sublime_text_kit)
7
- [![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/sublime_text_kit.png)](http://travis-ci.org/bkuhlmann/sublime_text_kit)
8
- [![Gittip](http://img.shields.io/gittip/bkuhlmann.svg)](https://www.gittip.com/bkuhlmann)
9
-
10
- Provides a collection of utilities that aid in Sublime Text management.
1
+ # Sublime Text Kit
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/sublime_text_kit.svg)](http://badge.fury.io/rb/sublime_text_kit)
4
+ [![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/sublime_text_kit.svg)](https://codeclimate.com/github/bkuhlmann/sublime_text_kit)
5
+ [![Code Climate Coverage](https://codeclimate.com/github/bkuhlmann/sublime_text_kit/coverage.svg)](https://codeclimate.com/github/bkuhlmann/sublime_text_kit)
6
+ [![Gemnasium Status](https://gemnasium.com/bkuhlmann/sublime_text_kit.svg)](https://gemnasium.com/bkuhlmann/sublime_text_kit)
7
+ [![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/sublime_text_kit.svg)](https://travis-ci.org/bkuhlmann/sublime_text_kit)
8
+ [![Patreon](https://img.shields.io/badge/patreon-donate-brightgreen.svg)](https://www.patreon.com/bkuhlmann)
9
+
10
+ A command line interface for managing Sublime Text metadata.
11
+
12
+ <!-- Tocer[start]: Auto-generated, don't remove. -->
13
+
14
+ # Table of Contents
15
+
16
+ - [Features](#features)
17
+ - [Requirements](#requirements)
18
+ - [Setup](#setup)
19
+ - [Upgrading](#upgrading)
20
+ - [Usage](#usage)
21
+ - [Workflow](#workflow)
22
+ - [Troubleshooting](#troubleshooting)
23
+ - [Tests](#tests)
24
+ - [Versioning](#versioning)
25
+ - [Code of Conduct](#code-of-conduct)
26
+ - [Contributions](#contributions)
27
+ - [License](#license)
28
+ - [History](#history)
29
+ - [Credits](#credits)
30
+
31
+ <!-- Tocer[finish]: Auto-generated, don't remove. -->
11
32
 
12
33
  # Features
13
34
 
@@ -21,8 +42,8 @@ Provides a collection of utilities that aid in Sublime Text management.
21
42
 
22
43
  # Requirements
23
44
 
24
- 0. [MRI 2.x.x](http://www.ruby-lang.org).
25
- 0. [Sublime Text 2](http://www.sublimetext.com).
45
+ 0. [MRI 2.x.x](https://www.ruby-lang.org).
46
+ 0. [Sublime Text 2](https://www.sublimetext.com).
26
47
 
27
48
  # Setup
28
49
 
@@ -66,6 +87,17 @@ If using the example settings shown above and assuming the following directory s
66
87
  ~/Dropbox/Cache/Sublime/sublime_text_kit.sublime-project
67
88
  ~/Dropbox/Cache/Sublime/sublime_text_kit.sublime-workspace
68
89
 
90
+ ## Upgrading
91
+
92
+ For those upgrading from Sublime Text Kit v2.0.0 or earlier, be mindful of the following changes:
93
+
94
+ 0. Ensure you are using Sublime Text 3 (it is currently in Beta but your v2.0.0 license will work).
95
+ 0. Update the `~/.sublime/settings.yml` file to switch from a `workspace_dir` to a `metadata_dir` instead.
96
+ 0. Run the following commands to rebuild your project/workspace and session metadata:
97
+
98
+ stk -m -R # Destroys and rebuilds your existing project/workspace metadata to Sublime Text 3 format.
99
+ skt -s -r # Rebuilds your session history with project metadata as generated above.
100
+
69
101
  # Usage
70
102
 
71
103
  From the command line, type: `stk`
@@ -87,24 +119,7 @@ For session options, type: `stk --session`
87
119
 
88
120
  -r, [--rebuild-session], [--no-rebuild-session] # Rebuild session metadata.
89
121
 
90
- # Tests
91
-
92
- To test, run:
93
-
94
- bundle exec rspec spec
95
-
96
- # Upgrading
97
-
98
- For those upgrading from Sublime Text Kit v2.0.0 or earlier, be mindful of the following changes:
99
-
100
- 0. Ensure you are using Sublime Text 3 (it is currently in Beta but your v2.0.0 license will work).
101
- 0. Update the `~/.sublime/settings.yml` file to switch from a `workspace_dir` to a `metadata_dir` instead.
102
- 0. Run the following commands to rebuild your project/workspace and session metadata:
103
-
104
- stk -m -R # Destroys and rebuilds your existing project/workspace metadata to Sublime Text 3 format.
105
- skt -s -r # Rebuilds your session history with project metadata as generated above.
106
-
107
- # Workflow
122
+ ## Workflow
108
123
 
109
124
  The following demonstrates a default Sublime Text setup:
110
125
 
@@ -117,12 +132,18 @@ The following demonstrates a default Sublime Text setup:
117
132
  you can (fuzzy type) project names to jump between them.
118
133
  0. Breeze through your project workload with ease. :)
119
134
 
120
- # Troubleshooting
135
+ ## Troubleshooting
121
136
 
122
137
  - When rebuilding workspaces, ensure Sublime Text is shutdown or changes won't be applied.
123
138
  - When rebuilding workspaces, ensure workspace_dir (as defined via settings.yml) points to a directory containing
124
139
  *.sublime-project and *.sublime-workspace files.
125
140
 
141
+ # Tests
142
+
143
+ To test, run:
144
+
145
+ bundle exec rake
146
+
126
147
  # Versioning
127
148
 
128
149
  Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
data/bin/stk CHANGED
@@ -4,5 +4,5 @@ require "sublime_text_kit"
4
4
  require "sublime_text_kit/cli"
5
5
  require "sublime_text_kit/identity"
6
6
 
7
- Process.setproctitle SublimeTextKit::Identity.label_version
7
+ Process.setproctitle SublimeTextKit::Identity.version_label
8
8
  SublimeTextKit::CLI.start
@@ -3,11 +3,14 @@ require "thor"
3
3
  require "thor/actions"
4
4
  require "thor_plus/actions"
5
5
 
6
- module SublimeTextKit
6
+ module SublimeTextKit
7
+ # The Command Line Interface (CLI) for the gem.
7
8
  class CLI < Thor
8
9
  include Thor::Actions
9
10
  include ThorPlus::Actions
10
11
 
12
+ package_name SublimeTextKit::Identity.version_label
13
+
11
14
  # Initialize.
12
15
  def initialize args = [], options = {}, config = {}
13
16
  super args, options, config
@@ -55,36 +58,22 @@ require "thor_plus/actions"
55
58
  say
56
59
  end
57
60
 
58
- desc "-s, [--session]", "Manage session metadata."
59
- map %w(-s --session) => :session
60
- method_option :rebuild_session, aliases: "-r", desc: "Rebuild session metadata.", type: :boolean, default: false
61
- def session
62
- say
63
-
64
- case
65
- when options[:rebuild_session] then rebuild_session
66
- else help("--session")
67
- end
68
-
69
- say
70
- end
71
-
72
- desc "-e, [--edit]", "Edit settings in default editor (assumes $EDITOR environment variable)."
61
+ desc "-e, [--edit]", "Edit #{SublimeTextKit::Identity.label} settings in default editor."
73
62
  map %w(-e --edit) => :edit
74
63
  def edit
75
64
  `#{editor} #{@settings_file}`
76
65
  end
77
66
 
78
- desc "-v, [--version]", "Show version."
67
+ desc "-v, [--version]", "Show #{SublimeTextKit::Identity.label} version."
79
68
  map %w(-v --version) => :version
80
69
  def version
81
- say SublimeTextKit::Identity.label_version
70
+ say SublimeTextKit::Identity.version_label
82
71
  end
83
72
 
84
73
  desc "-h, [--help=HELP]", "Show this message or get help for a command."
85
74
  map %w(-h --help) => :help
86
75
  def help task = nil
87
- say and super
76
+ say && super
88
77
  end
89
78
 
90
79
  private
@@ -1,4 +1,5 @@
1
1
  module SublimeTextKit
2
+ # Gem identity information.
2
3
  module Identity
3
4
  def self.name
4
5
  "sublime_text_kit"
@@ -9,11 +10,15 @@ module SublimeTextKit
9
10
  end
10
11
 
11
12
  def self.version
12
- "3.1.0"
13
+ "3.2.0"
13
14
  end
14
15
 
15
- def self.label_version
16
- [label, version].join " "
16
+ def self.version_label
17
+ "#{label} #{version}"
18
+ end
19
+
20
+ def self.file_name
21
+ ".#{name}rc"
17
22
  end
18
23
  end
19
24
  end
@@ -3,6 +3,7 @@ require "pathname"
3
3
 
4
4
  module SublimeTextKit
5
5
  module Metadata
6
+ # Abstract class for processing metadata.
6
7
  class Base
7
8
  attr_reader :name, :project_dir, :metadata_dir, :metadata_file
8
9
 
@@ -11,12 +12,12 @@ module SublimeTextKit
11
12
  return unless valid_dir?(instance.project_dir, "Projects")
12
13
  return unless valid_dir?(instance.metadata_dir, "Metadata")
13
14
 
14
- project_paths = ::Pathname.new(instance.project_dir).children.select {|child| child.directory? }
15
+ project_paths = ::Pathname.new(instance.project_dir).children.select(&:directory?)
15
16
  project_paths.each { |project_dir| new(project_dir, metadata_dir).save }
16
17
  end
17
18
 
18
19
  def self.delete metadata_dir
19
- instance = new '', metadata_dir
20
+ instance = new "", metadata_dir
20
21
  return unless valid_dir?(instance.metadata_dir, "Metadata")
21
22
 
22
23
  ::Pathname.glob("#{instance.metadata_dir}/*.#{instance.file_extension}").each(&:delete)
@@ -38,13 +39,10 @@ module SublimeTextKit
38
39
  end
39
40
 
40
41
  def save
41
- unless File.exist? metadata_file
42
- File.open(metadata_file, 'w') { |file| file.write MultiJson.dump(to_h, pretty: true) }
43
- end
42
+ return if File.exist? metadata_file
43
+ File.open(metadata_file, "w") { |file| file.write MultiJson.dump(to_h, pretty: true) }
44
44
  end
45
45
 
46
- private
47
-
48
46
  def self.valid_dir? dir, label
49
47
  if File.exist?(dir)
50
48
  true
@@ -53,6 +51,7 @@ module SublimeTextKit
53
51
  false
54
52
  end
55
53
  end
54
+ private_class_method :valid_dir?
56
55
  end
57
56
  end
58
57
  end
@@ -1,5 +1,6 @@
1
1
  module SublimeTextKit
2
2
  module Metadata
3
+ # Processes project metadata.
3
4
  class Project < Base
4
5
  def initialize project_dir, metadata_dir
5
6
  super project_dir, metadata_dir
@@ -1,5 +1,6 @@
1
1
  module SublimeTextKit
2
2
  module Metadata
3
+ # Processes workspace metadata.
3
4
  class Workspace < Base
4
5
  def initialize project_dir, metadata_dir
5
6
  super project_dir, metadata_dir
@@ -1,6 +1,7 @@
1
1
  require "multi_json"
2
2
 
3
3
  module SublimeTextKit
4
+ # Manages Sublime Text session data.
4
5
  class Session
5
6
  attr_reader :metadata_dir
6
7
 
@@ -22,21 +23,20 @@ module SublimeTextKit
22
23
 
23
24
  def rebuild_recent_workspaces
24
25
  session = load_session
26
+ return unless session && session["workspaces"] && session["workspaces"]["recent_workspaces"]
25
27
 
26
- if session && session["workspaces"] && session["workspaces"]["recent_workspaces"]
27
- session["workspaces"]["recent_workspaces"] = workspaces
28
- save_session session
29
- end
28
+ session["workspaces"]["recent_workspaces"] = workspaces
29
+ save_session session
30
30
  end
31
31
 
32
32
  private
33
33
 
34
34
  def load_session
35
- File.exists?(self.class.session_path) ? MultiJson.load(File.read(self.class.session_path)) : {}
35
+ File.exist?(self.class.session_path) ? MultiJson.load(File.read(self.class.session_path)) : {}
36
36
  end
37
37
 
38
38
  def save_session json
39
- File.open(self.class.session_path, 'w') { |file| file.write MultiJson.dump(json, pretty: true) }
39
+ File.open(self.class.session_path, "w") { |file| file.write MultiJson.dump(json, pretty: true) }
40
40
  end
41
41
  end
42
42
  end
@@ -0,0 +1,6 @@
1
+ begin
2
+ require "rspec/core/rake_task"
3
+ RSpec::Core::RakeTask.new(:spec)
4
+ rescue LoadError => error
5
+ puts error.message
6
+ end
@@ -0,0 +1,6 @@
1
+ begin
2
+ require "rubocop/rake_task"
3
+ RuboCop::RakeTask.new
4
+ rescue LoadError => error
5
+ puts error.message
6
+ end
metadata CHANGED
@@ -1,36 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sublime_text_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZicm9v
14
- a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
15
- aW8wHhcNMTUwNzA1MTQ1MzExWhcNMTYwNzA0MTQ1MzExWjBBMQ8wDQYDVQQDDAZi
16
- cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
17
- GRYCaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzhOVcvLGBCceM
18
- PppVpJLUKsnskWzc1VqBXmv30feKNw+MOxMQaDsIP421qwqGO/2JHY60Kuobssk+
19
- 8/wqZkVFF/FFKxoQjuhlhc+VWLm8jWgXd4N1kwO2yytscQTzxc5qXarwA+36fqVH
20
- RhBAHhjka+HdBI+6o3CXRHJoC47iav+QpR7u/wYl3gNq6MJO3MmTKqHegEDLjRN0
21
- FJAr3bRAwq03ZtTuAVA2bdKLGThehe1RRRtJHJ/PHpmL2c203/GTXYtG6C8ILZIp
22
- ZroTqQ8yglCJ+3hSOmodZqSAQ0Rj7GJgtuNH81qlSrHu5sTvoZjGmEqSIhvsSJ80
23
- wKoPdZnFAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
24
- BBSUnF478a5lB4xuOBiktJdMJv6JmDAfBgNVHREEGDAWgRRicm9va2VAYWxjaGVt
25
- aXN0cy5pbzAfBgNVHRIEGDAWgRRicm9va2VAYWxjaGVtaXN0cy5pbzANBgkqhkiG
26
- 9w0BAQUFAAOCAQEAT7KtBXWsq1KA7NOSMeFEDeSvhrgdLwCG/37pIu0rjvx9iAW4
27
- gncxV0MccqIUtaF+lekjlXkIO+rXAVjvdha23KtpFTW90dYXp4NLPnPlSdyvYzJy
28
- FIAaWGvujOT8xEu4umd45q5aepE8li4bR071i5Z7F0trKNVYYrxjQFmH5SSKYRT/
29
- fXtICtAh1de3z3SOSK58IMPwjuoApYBxiqlmx0Uhla7mrzCE5+NmLPit3hLH6JFK
30
- aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
31
- xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
32
- -----END CERTIFICATE-----
33
- date: 2015-07-05 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2015-12-02 00:00:00.000000000 Z
34
12
  dependencies:
35
13
  - !ruby/object:Gem::Dependency
36
14
  name: thor
@@ -88,6 +66,20 @@ dependencies:
88
66
  - - "~>"
89
67
  - !ruby/object:Gem::Version
90
68
  version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: gemsmith
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
91
83
  - !ruby/object:Gem::Dependency
92
84
  name: pry
93
85
  requirement: !ruby/object:Gem::Requirement
@@ -117,7 +109,7 @@ dependencies:
117
109
  - !ruby/object:Gem::Version
118
110
  version: '0'
119
111
  - !ruby/object:Gem::Dependency
120
- name: pry-stack_explorer
112
+ name: pry-remote
121
113
  requirement: !ruby/object:Gem::Requirement
122
114
  requirements:
123
115
  - - ">="
@@ -131,7 +123,7 @@ dependencies:
131
123
  - !ruby/object:Gem::Version
132
124
  version: '0'
133
125
  - !ruby/object:Gem::Dependency
134
- name: pry-remote
126
+ name: pry-state
135
127
  requirement: !ruby/object:Gem::Requirement
136
128
  requirements:
137
129
  - - ">="
@@ -158,6 +150,20 @@ dependencies:
158
150
  - - ">="
159
151
  - !ruby/object:Gem::Version
160
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: pry-stack_explorer
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
161
167
  - !ruby/object:Gem::Dependency
162
168
  name: rspec
163
169
  requirement: !ruby/object:Gem::Requirement
@@ -228,6 +234,20 @@ dependencies:
228
234
  - - ">="
229
235
  - !ruby/object:Gem::Version
230
236
  version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rubocop
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
231
251
  - !ruby/object:Gem::Dependency
232
252
  name: codeclimate-test-reporter
233
253
  requirement: !ruby/object:Gem::Requirement
@@ -242,7 +262,7 @@ dependencies:
242
262
  - - ">="
243
263
  - !ruby/object:Gem::Version
244
264
  version: '0'
245
- description: Command line utilities for Sublime Text packaged as a Ruby Gem.
265
+ description: A command line interface for managing Sublime Text metadata.
246
266
  email:
247
267
  - brooke@alchemists.io
248
268
  executables:
@@ -262,6 +282,8 @@ files:
262
282
  - lib/sublime_text_kit/metadata/project_metadata.rb
263
283
  - lib/sublime_text_kit/metadata/workspace_metadata.rb
264
284
  - lib/sublime_text_kit/session.rb
285
+ - lib/tasks/rspec.rake
286
+ - lib/tasks/rubocop.rake
265
287
  homepage: https://github.com/bkuhlmann/sublime_text_kit
266
288
  licenses:
267
289
  - MIT
@@ -282,8 +304,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
282
304
  version: '0'
283
305
  requirements: []
284
306
  rubyforge_project:
285
- rubygems_version: 2.4.8
307
+ rubygems_version: 2.5.0
286
308
  signing_key:
287
309
  specification_version: 4
288
- summary: Command line utilities for Sublime Text.
310
+ summary: A command line interface for managing Sublime Text metadata.
289
311
  test_files: []
checksums.yaml.gz.sig DELETED
Binary file
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file