sublime_text_kit 16.5.0 → 17.0.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
  SHA256:
3
- metadata.gz: 8f1ef155554fe84ca3fb8701265e91dfb0dd2cb138f99a4a3f3a0cac1853fe5a
4
- data.tar.gz: 2a4e81bfb8bba38cb7fc5297be303ef5647f850ea114e538c31de2d8334483d7
3
+ metadata.gz: fd38fa57176a35624995cc09f3716997f7b2c8dc2f1278923f3650ab27d10526
4
+ data.tar.gz: af231156c15382772e3d2be7ebfa5af272e98c8dbcfb3f7d680af3dcb0b9d041
5
5
  SHA512:
6
- metadata.gz: 8c5a5b7eb3142b1f22317e89f750b680d4fee6897bcb0f537a267ea8a436abbce382e53e848434ff4f23fc11bc5bbaaf9c957355fc0f451637010ece2e4f8b32
7
- data.tar.gz: 7471f20af3fa69c70c49399191eda2b12b05128e39f10d57162ead85ba68ec1da24ea2073e6b891a7411865e5e3a99fddc2d6fe52171c37b8b724da3b8c80854
6
+ metadata.gz: 7d3a0b00bf9e83760060d8776b4cb8b3f02e240162225315f6bfaf9753b63ef4ce5143eafd430ae5c0e10e398cd6df74dbb5184fd55a24fc96163bb46be1c164
7
+ data.tar.gz: 8e42cf0873c00d73ab298e39db6682a76d95bc7bd149fd5a48d13b56a564f5e98f85d753ba8ecf54a8d4a63f6ec940030fafdc5be35d2783162fc78c13f9ed97
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,7 +9,7 @@ module SublimeTextKit
9
9
  module Metadata
10
10
  # Creates project metadata.
11
11
  class Create < Sod::Action
12
- include Import[:configuration, :logger]
12
+ include Import[:settings, :logger]
13
13
 
14
14
  using Refinements::Pathname
15
15
 
@@ -33,13 +33,13 @@ module SublimeTextKit
33
33
  attr_reader :handler
34
34
 
35
35
  def process_projects
36
- configuration.project_dirs.each do |directory|
36
+ settings.project_dirs.each do |directory|
37
37
  handler.with_project(directory, metadata_dir).create
38
38
  handler.with_workspace(directory, metadata_dir).create
39
39
  end
40
40
  end
41
41
 
42
- def metadata_dir = Pathname(configuration.metadata_dir).expand_path
42
+ def metadata_dir = Pathname(settings.metadata_dir).expand_path
43
43
  end
44
44
  end
45
45
  end
@@ -9,7 +9,7 @@ module SublimeTextKit
9
9
  module Metadata
10
10
  # Deletes project metadata.
11
11
  class Delete < Sod::Action
12
- include Import[:configuration, :logger]
12
+ include Import[:settings, :logger]
13
13
 
14
14
  using Refinements::Pathname
15
15
 
@@ -33,13 +33,13 @@ module SublimeTextKit
33
33
  attr_reader :handler
34
34
 
35
35
  def process_projects
36
- configuration.project_dirs.each do |directory|
36
+ settings.project_dirs.each do |directory|
37
37
  handler.with_project(directory, metadata_dir).delete
38
38
  handler.with_workspace(directory, metadata_dir).delete
39
39
  end
40
40
  end
41
41
 
42
- def metadata_dir = Pathname(configuration.metadata_dir).expand_path
42
+ def metadata_dir = Pathname(settings.metadata_dir).expand_path
43
43
  end
44
44
  end
45
45
  end
@@ -9,7 +9,7 @@ module SublimeTextKit
9
9
  module Metadata
10
10
  # Recreates project metadata.
11
11
  class Recreate < Sod::Action
12
- include Import[:configuration, :logger]
12
+ include Import[:settings, :logger]
13
13
 
14
14
  using Refinements::Pathname
15
15
 
@@ -33,13 +33,13 @@ module SublimeTextKit
33
33
  attr_reader :handler
34
34
 
35
35
  def process_projects
36
- configuration.project_dirs.each do |directory|
36
+ settings.project_dirs.each do |directory|
37
37
  handler.with_project(directory, metadata_dir).recreate
38
38
  handler.with_workspace(directory, metadata_dir).recreate
39
39
  end
40
40
  end
41
41
 
42
- def metadata_dir = Pathname(configuration.metadata_dir).expand_path
42
+ def metadata_dir = Pathname(settings.metadata_dir).expand_path
43
43
  end
44
44
  end
45
45
  end
@@ -7,13 +7,13 @@ module SublimeTextKit
7
7
  module Actions
8
8
  # Handles snippets action.
9
9
  class Snippets < Sod::Action
10
- include Import[:configuration, :logger]
10
+ include Import[:settings, :logger]
11
11
 
12
12
  description "View snippets."
13
13
 
14
14
  on %w[-s --snippets], argument: "[FORMAT]", allow: %w[markdown ascii_doc]
15
15
 
16
- default { Container[:configuration].snippets_format }
16
+ default { Container[:settings].snippets_format }
17
17
 
18
18
  def initialize(printer: SublimeTextKit::Snippets::Printer.new, **)
19
19
  super(**)
@@ -7,7 +7,7 @@ module SublimeTextKit
7
7
  module Actions
8
8
  # Handles update action.
9
9
  class Update < Sod::Action
10
- include Import[:configuration, :logger]
10
+ include Import[:settings, :logger]
11
11
 
12
12
  description "Update project and session metadata based on current settings."
13
13
 
@@ -35,13 +35,13 @@ module SublimeTextKit
35
35
  attr_reader :metadata, :session
36
36
 
37
37
  def create_metadata
38
- configuration.project_dirs.each do |directory|
38
+ settings.project_dirs.each do |directory|
39
39
  metadata.with_project(directory, metadata_dir).create
40
40
  metadata.with_workspace(directory, metadata_dir).create
41
41
  end
42
42
  end
43
43
 
44
- def metadata_dir = Pathname(configuration.metadata_dir).expand_path
44
+ def metadata_dir = Pathname(settings.metadata_dir).expand_path
45
45
  end
46
46
  end
47
47
  end
@@ -4,7 +4,7 @@ require "refinements/pathname"
4
4
 
5
5
  module SublimeTextKit
6
6
  module Configuration
7
- # Models the configuration.
7
+ # Models the settings.
8
8
  Model = Struct.new :project_roots, :metadata_dir, :snippets_format, :session_path, :user_dir do
9
9
  using Refinements::Pathname
10
10
 
@@ -11,23 +11,29 @@ module SublimeTextKit
11
11
  module Container
12
12
  extend Containable
13
13
 
14
- register :configuration do
15
- self[:defaults].add_loader(:environment, %w[HOME])
16
- .add_loader(:yaml, self[:xdg_config].active)
17
- .add_transformer(Configuration::Transformers::SessionPath.new)
18
- .add_transformer(Configuration::Transformers::UserDir.new)
19
- .then { |registry| Etcher.call registry }
20
- end
21
-
22
- register :defaults do
14
+ register :registry do
23
15
  Etcher::Registry.new(contract: Configuration::Contract, model: Configuration::Model)
24
16
  .add_loader(:yaml, self[:defaults_path])
17
+ .add_loader(:environment, only: %w[HOME])
18
+ .add_loader(:yaml, self[:xdg_config].active)
19
+ .add_transformer(
20
+ :root,
21
+ :session_path,
22
+ fallback: "~/Library/Application Support/Sublime Text/Local" \
23
+ "/Session.sublime_session"
24
+ )
25
+ .add_transformer(
26
+ :root,
27
+ :user_dir,
28
+ fallback: "~/Library/Application Support/Sublime Text/Packages/User"
29
+ )
25
30
  end
26
31
 
32
+ register(:settings) { Etcher.call(self[:registry]).dup }
27
33
  register(:specification) { Spek::Loader.call "#{__dir__}/../../sublime_text_kit.gemspec" }
28
34
  register(:defaults_path) { Pathname(__dir__).join("configuration/defaults.yml") }
29
- register(:xdg_config) { Runcom::Config.new "sublime_text_kit/configuration.yml" }
35
+ register(:xdg_config) { Runcom::Config.new "sublime_text_kit/settings.yml" }
30
36
  register(:logger) { Cogger.new id: :sublime_text_kit }
31
- register :kernel, Kernel
37
+ register :io, STDOUT
32
38
  end
33
39
  end
@@ -7,7 +7,7 @@ module SublimeTextKit
7
7
  module Sessions
8
8
  # Manages the rebuilding of session information.
9
9
  class Rebuilder
10
- include Import[:configuration]
10
+ include Import[:settings]
11
11
 
12
12
  using Refinements::Pathname
13
13
 
@@ -30,9 +30,9 @@ module SublimeTextKit
30
30
 
31
31
  def write(json) = JSON.dump(json).then { |content| source_path.write content }
32
32
 
33
- def metadata_dir = configuration.metadata_dir
33
+ def metadata_dir = settings.metadata_dir
34
34
 
35
- def source_path = configuration.session_path
35
+ def source_path = settings.session_path
36
36
  end
37
37
  end
38
38
  end
@@ -6,7 +6,7 @@ module SublimeTextKit
6
6
  module Snippets
7
7
  # Collects and loads all snippets into memory for further processing.
8
8
  class Collector
9
- include Import[:configuration]
9
+ include Import[:settings]
10
10
 
11
11
  using Refinements::Pathname
12
12
 
@@ -16,10 +16,10 @@ module SublimeTextKit
16
16
  end
17
17
 
18
18
  def call
19
- configuration.user_dir
20
- .files("*.sublime-snippet")
21
- .map { |path| reader.call path }
22
- .sort_by(&:description)
19
+ settings.user_dir
20
+ .files("*.sublime-snippet")
21
+ .map { |path| reader.call path }
22
+ .sort_by(&:description)
23
23
  end
24
24
 
25
25
  private
@@ -4,7 +4,7 @@ module SublimeTextKit
4
4
  module Snippets
5
5
  # Prints snippets as a list.
6
6
  class Printer
7
- include Import[:kernel]
7
+ include Import[:io]
8
8
 
9
9
  def initialize(collector: Collector.new, **)
10
10
  super(**)
@@ -13,7 +13,7 @@ module SublimeTextKit
13
13
 
14
14
  def call bullet
15
15
  collector.call.each do |snippet|
16
- kernel.puts "#{bullet} #{snippet.description} - `#{snippet.trigger}`"
16
+ io.puts "#{bullet} #{snippet.description} - `#{snippet.trigger}`"
17
17
  end
18
18
  end
19
19
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "sublime_text_kit"
5
- spec.version = "16.5.0"
5
+ spec.version = "17.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/sublime_text_kit"
@@ -23,15 +23,15 @@ Gem::Specification.new do |spec|
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
25
  spec.required_ruby_version = "~> 3.3"
26
- spec.add_dependency "cogger", "~> 0.15"
27
- spec.add_dependency "containable", "~> 0.0"
26
+ spec.add_dependency "cogger", "~> 0.21"
27
+ spec.add_dependency "containable", "~> 0.2"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "dry-schema", "~> 1.13"
30
- spec.add_dependency "etcher", "~> 1.6"
31
- spec.add_dependency "infusible", "~> 3.5"
32
- spec.add_dependency "refinements", "~> 12.1"
33
- spec.add_dependency "runcom", "~> 11.0"
34
- spec.add_dependency "sod", "~> 0.8"
30
+ spec.add_dependency "etcher", "~> 2.0"
31
+ spec.add_dependency "infusible", "~> 3.8"
32
+ spec.add_dependency "refinements", "~> 12.5"
33
+ spec.add_dependency "runcom", "~> 11.5"
34
+ spec.add_dependency "sod", "~> 0.12"
35
35
  spec.add_dependency "spek", "~> 3.0"
36
36
  spec.add_dependency "zeitwerk", "~> 2.6"
37
37
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sublime_text_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.5.0
4
+ version: 17.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2024-05-31 00:00:00.000000000 Z
38
+ date: 2024-07-06 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -43,28 +43,28 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.15'
46
+ version: '0.21'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.15'
53
+ version: '0.21'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: containable
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.0'
60
+ version: '0.2'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.0'
67
+ version: '0.2'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: dry-monads
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -99,70 +99,70 @@ dependencies:
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '1.6'
102
+ version: '2.0'
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '1.6'
109
+ version: '2.0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: infusible
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '3.5'
116
+ version: '3.8'
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '3.5'
123
+ version: '3.8'
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: refinements
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '12.1'
130
+ version: '12.5'
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '12.1'
137
+ version: '12.5'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: runcom
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '11.0'
144
+ version: '11.5'
145
145
  type: :runtime
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '11.0'
151
+ version: '11.5'
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: sod
154
154
  requirement: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '0.8'
158
+ version: '0.12'
159
159
  type: :runtime
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '0.8'
165
+ version: '0.12'
166
166
  - !ruby/object:Gem::Dependency
167
167
  name: spek
168
168
  requirement: !ruby/object:Gem::Requirement
@@ -215,8 +215,6 @@ files:
215
215
  - lib/sublime_text_kit/configuration/contract.rb
216
216
  - lib/sublime_text_kit/configuration/defaults.yml
217
217
  - lib/sublime_text_kit/configuration/model.rb
218
- - lib/sublime_text_kit/configuration/transformers/session_path.rb
219
- - lib/sublime_text_kit/configuration/transformers/user_dir.rb
220
218
  - lib/sublime_text_kit/container.rb
221
219
  - lib/sublime_text_kit/import.rb
222
220
  - lib/sublime_text_kit/metadata/handler.rb
@@ -255,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
253
  - !ruby/object:Gem::Version
256
254
  version: '0'
257
255
  requirements: []
258
- rubygems_version: 3.5.11
256
+ rubygems_version: 3.5.14
259
257
  signing_key:
260
258
  specification_version: 4
261
259
  summary: A command line interface for managing Sublime Text metadata.
metadata.gz.sig CHANGED
Binary file
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "dry/monads"
4
-
5
- module SublimeTextKit
6
- module Configuration
7
- module Transformers
8
- # Transforms session path into fully qualified path based on home directory.
9
- class SessionPath
10
- include Dry::Monads[:result]
11
-
12
- DEFAULT = "Library/Application Support/Sublime Text/Local/Session.sublime_session"
13
-
14
- def initialize key = :session_path, default: DEFAULT
15
- @key = key
16
- @default = default
17
- end
18
-
19
- def call attributes
20
- return Success attributes unless attributes.key? :home
21
-
22
- Pathname(attributes[:home]).join(default)
23
- .then { |value| Success attributes.merge!(key => value) }
24
- end
25
-
26
- private
27
-
28
- attr_reader :key, :default
29
- end
30
- end
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "dry/monads"
4
-
5
- module SublimeTextKit
6
- module Configuration
7
- module Transformers
8
- # Transforms user directory into fully qualified path based on home directory.
9
- class UserDir
10
- include Dry::Monads[:result]
11
-
12
- DEFAULT = "Library/Application Support/Sublime Text/Packages/User"
13
-
14
- def initialize key = :user_dir, default: DEFAULT
15
- @key = key
16
- @default = default
17
- end
18
-
19
- def call attributes
20
- return Success attributes unless attributes.key? :home
21
-
22
- Pathname(attributes[:home]).join(default)
23
- .then { |value| Success attributes.merge!(key => value) }
24
- end
25
-
26
- private
27
-
28
- attr_reader :key, :default
29
- end
30
- end
31
- end
32
- end