gloss 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9239f0e7898094d7957a2e1eae3b980ff57f94be27eea836f00561262eb8f8d4
4
- data.tar.gz: 0ffa974e3146f699a9280878a412f589005cc4723f262c377a215aacd5cae146
3
+ metadata.gz: 0f65447f0ea2606334c6c17956f4c8ec7c8be413918fa4d2d423f973407a451b
4
+ data.tar.gz: bf09ca8cfc5f0b6d4f7f6c77d8e1cb93da94d1359452218fc514160cf54c571a
5
5
  SHA512:
6
- metadata.gz: 97ef28c0abd86a51f35224661765950f9aab162cb119f7a0d2b05e3d985464f25c58546b0c191cd69fc537a1b921c22ebd8d7c2d4bd446257d17e9b6a454c346
7
- data.tar.gz: a9c9b94fbe5ec96b3be1a5c67d5149219d0e138ef7081190c133676c784865fb90d3c1b86b250b0eb207d890c67120a86f27763c5de105baadf550bc158a464f
6
+ metadata.gz: 2d788c4b489e5e16e66e304d64f9c0830922d9ef861de818ac170e3c54d64b99e0d45cf6752beca1a392e88f15dc1d3627f02f66f79eb2437659807d1b5551d2
7
+ data.tar.gz: 9b285072b81d675ac0ca5485a732e7c46e83aca2b6bf09d288b58b7a6b9503e976711f0a2cb51d3d04edbf2c573d8625a0c8f9f35e4d158b11145a2d5919c3bd
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gloss (0.1.6)
4
+ gloss (0.1.7)
5
5
  fast_blank
6
6
  listen
7
7
  rbs (= 1.0.4)
@@ -25,10 +25,10 @@ GEM
25
25
  diff-lcs (1.4.4)
26
26
  fast_blank (1.0.0)
27
27
  ffi (1.15.0)
28
- i18n (1.8.9)
28
+ i18n (1.8.10)
29
29
  concurrent-ruby (~> 1.0)
30
30
  language_server-protocol (3.15.0.2)
31
- listen (3.5.0)
31
+ listen (3.5.1)
32
32
  rb-fsevent (~> 0.10, >= 0.10.3)
33
33
  rb-inotify (~> 0.9, >= 0.9.10)
34
34
  method_source (1.0.0)
data/lib/gloss/cli.rb CHANGED
@@ -27,7 +27,8 @@ case command
27
27
  puts(Gloss::VERSION)
28
28
  when "watch", "build"
29
29
  Gloss.load_config
30
- type_checker = ProgLoader.new
30
+ type_checker = TypeChecker.new(Config.src_dir)
31
+ type_checker = ProgLoader.new(type_checker)
31
32
  .run
32
33
  (if command.==("watch")
33
34
  files = files.map() { |f|
@@ -7,7 +7,8 @@ module Gloss
7
7
  OUTPUT_BY_PATH = Hash.new
8
8
  class ProgLoader
9
9
  attr_reader(:"type_checker")
10
- def initialize(entrypoint_path = nil, entrypoint_contents = nil)
10
+ def initialize(type_checker, entrypoint_path = nil, entrypoint_contents = nil)
11
+ @type_checker = type_checker
11
12
  entrypoint_path ||= Config.entrypoint
12
13
  (if entrypoint_path.==(nil) || entrypoint_path.==("")
13
14
  throw(:"error", "Entrypoint is not yet set in .gloss.yml")
@@ -25,7 +26,6 @@ module Gloss
25
26
  core_types = Utils.abs_path_with_contents(File.join(__dir__ || "", "..", "..", "sig", "core.rbs"))
26
27
  @files_to_process = [entrypoint, core_types]
27
28
  @processed_files = Set.new
28
- @type_checker = TypeChecker.new
29
29
  end
30
30
  def run()
31
31
  @files_to_process.each() { |__arg0|
data/lib/gloss/runtime.rb CHANGED
@@ -7,11 +7,15 @@ module Gloss
7
7
  class Runtime
8
8
  NON_EXISTENT_FILEPATH = "__string__"
9
9
  def self.process_string(str, options = Config.default_config)
10
+ (if str.empty?
11
+ return ["", nil].freeze
12
+ end)
10
13
  out_io = StringIO.new
11
14
  error_msg = catch(:"error") { ||
12
15
  tree = Parser.new(str)
13
16
  .run
14
- tc = ProgLoader.new(NON_EXISTENT_FILEPATH, str)
17
+ tc = TypeChecker.new(".")
18
+ tc = ProgLoader.new(tc, NON_EXISTENT_FILEPATH, str)
15
19
  .run
16
20
  rb_output = Visitor.new(tree, tc)
17
21
  .run
@@ -11,7 +11,7 @@ module Gloss
11
11
  Lenient = "lenient"
12
12
  Default = "default"
13
13
  end
14
- def initialize()
14
+ def initialize(src_dir)
15
15
  options = Steep::Project::Options.new
16
16
  case Config.type_checking_strictness
17
17
  when Strictness::Strict
@@ -26,7 +26,7 @@ case Config.type_checking_strictness
26
26
  @rbs_gem_dir = Utils.gem_path_for("rbs")
27
27
  env_loader = RBS::EnvironmentLoader.new
28
28
  @env = RBS::Environment.from_loader(env_loader)
29
- project = Steep::Project.new(steepfile_path: Pathname.new(Config.src_dir)
29
+ project = Steep::Project.new(steepfile_path: Pathname.new(src_dir)
30
30
  .realpath)
31
31
  project.targets
32
32
  .<<(@steep_target)
data/lib/gloss/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  ##### See / to make changes
4
4
 
5
5
  module Gloss
6
- VERSION = "0.1.6"
6
+ VERSION = "0.1.7"
7
7
  end
data/src/lib/gloss/cli.gl CHANGED
@@ -22,7 +22,8 @@ module Gloss
22
22
  puts Gloss::VERSION
23
23
  when "watch", "build"
24
24
  Gloss.load_config
25
- type_checker = ProgLoader.new.run
25
+ type_checker = TypeChecker.new(Config.src_dir)
26
+ type_checker = ProgLoader.new(type_checker).run
26
27
  if command == "watch"
27
28
  files = files.map do |f|
28
29
  path = Pathname.new(f).absolute? ? f : File.join(Dir.pwd, f)
@@ -6,7 +6,7 @@ module Gloss
6
6
  class ProgLoader
7
7
  attr_reader :type_checker
8
8
 
9
- def initialize(entrypoint_path = nil, entrypoint_contents = nil)
9
+ def initialize(@type_checker : TypeChecker, entrypoint_path = nil, entrypoint_contents = nil)
10
10
  entrypoint_path ||= Config.entrypoint
11
11
  if entrypoint_path == nil || entrypoint_path == ""
12
12
  throw :error, "Entrypoint is not yet set in .gloss.yml"
@@ -21,7 +21,6 @@ module Gloss
21
21
  core_types = Utils.abs_path_with_contents(File.join((__dir__||""), "..", "..", "sig", "core.rbs"))
22
22
  @files_to_process = [entrypoint, core_types]
23
23
  @processed_files = Set.new
24
- @type_checker = TypeChecker.new
25
24
  end
26
25
 
27
26
  def run
@@ -5,10 +5,13 @@ module Gloss
5
5
  NON_EXISTENT_FILEPATH = "__string__"
6
6
 
7
7
  def self.process_string(str : String, options = Config.default_config)
8
+ return "", nil if str.empty?
9
+
8
10
  out_io = StringIO.new
9
11
  error_msg = catch :error do
10
12
  tree = Parser.new(str).run
11
- tc = ProgLoader.new(NON_EXISTENT_FILEPATH, str).run
13
+ tc = TypeChecker.new(".")
14
+ tc = ProgLoader.new(tc, NON_EXISTENT_FILEPATH, str).run
12
15
  rb_output = Visitor.new(tree, tc).run
13
16
  tc.run(NON_EXISTENT_FILEPATH, rb_output)
14
17
  Writer.new(rb_output, NON_EXISTENT_FILEPATH, out_io).run
@@ -10,7 +10,7 @@ module Gloss
10
10
  Default = "default"
11
11
  end
12
12
 
13
- def initialize
13
+ def initialize(src_dir : String)
14
14
  options = Steep::Project::Options.new
15
15
  case Config.type_checking_strictness
16
16
  when Strictness::Strict
@@ -31,7 +31,7 @@ module Gloss
31
31
  @rbs_gem_dir = Utils.gem_path_for("rbs")
32
32
  env_loader = RBS::EnvironmentLoader.new
33
33
  @env = RBS::Environment.from_loader(env_loader)
34
- project = Steep::Project.new(steepfile_path: Pathname.new(Config.src_dir).realpath)
34
+ project = Steep::Project.new(steepfile_path: Pathname.new(src_dir).realpath)
35
35
  project.targets << @steep_target
36
36
  loader = Steep::Project::FileLoader.new(project: project)
37
37
  #loader.load_signatures
@@ -1,3 +1,3 @@
1
1
  module Gloss
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gloss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - johansenja
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-28 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fast_blank