ruby-lsp-rake 0.1.2 → 0.1.3

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: ce713fb8a5b8ecee3bd1780c8344ef38d985036e109a1cebcbdbf3bf52e7d7ea
4
- data.tar.gz: 183d590260d622db38fa372447d0c7e63aa236c1ddff07bc53d340e1d5498f86
3
+ metadata.gz: 6bdcde0bdc4ebc43f2cf72c1644ff98491d779e076beaaa7aa2fbf164dc3d979
4
+ data.tar.gz: ff5f37d8872ada12e8ffd0cbdc9eef136059d4018551135eda1fe50930d01372
5
5
  SHA512:
6
- metadata.gz: 189fd8f28e3360e2202e00cec299e5244dd5c5d1c1f87eff15a26083722e6ac3ddfe39dc6d90af9482887320c24e5a45180b0e9c27d57b73e2c0edc1971d16c6
7
- data.tar.gz: 8b1246e01ec96c57d273b07206af6525a7fb2ba364a8577066a04e0cc0ca6991318f3b29c002976d44aadb766f0306465f3292c2cac92447a605d3a04777909c
6
+ metadata.gz: 8ca6d230be2bac1c0aba848922adc32307a546d7023f710a103bcd9c040c14ed6fa1062c7a75e2cea8c3ea6285c86b2f19c1c23d8247d2915087322d5eeda833
7
+ data.tar.gz: 85f04c0bc96f657718961cad0f449751d8d96e13c28a6ae9978df499406f9e8c55e9d45811c1737cf7012fc5855e0201bffcf4fc15cd09aeff67c670180d961c
data/Rakefile CHANGED
@@ -10,3 +10,10 @@ require "rubocop/rake_task"
10
10
  RuboCop::RakeTask.new
11
11
 
12
12
  task default: %i[test rubocop]
13
+
14
+ namespace :srb do
15
+ desc "Run sorbet type check"
16
+ task :tc do
17
+ sh "bundle exec srb tc"
18
+ end
19
+ end
@@ -4,7 +4,7 @@
4
4
  module Ruby
5
5
  module Lsp
6
6
  module Rake
7
- VERSION = "0.1.2"
7
+ VERSION = "0.1.3"
8
8
  end
9
9
  end
10
10
  end
@@ -9,8 +9,7 @@ module RubyLsp
9
9
  def initialize(response_builder, node_context, dispatcher, index)
10
10
  @response_builder = response_builder
11
11
  @node_context = node_context
12
- dispatcher.register(self, :on_string_node_enter)
13
- dispatcher.register(self, :on_symbol_node_enter)
12
+ dispatcher.register(self, :on_string_node_enter, :on_symbol_node_enter)
14
13
  @index = index
15
14
  end
16
15
 
@@ -36,17 +35,21 @@ module RubyLsp
36
35
  task_name = "task_#{name}"
37
36
  return unless @index.indexed? task_name
38
37
 
38
+ # refer to: https://github.com/Shopify/ruby-lsp/blob/896617a0c5f7a22ebe12912a481bf1b59db14c12/lib/ruby_lsp/requests/support/common.rb#L83
39
+ content = +""
39
40
  entries = @index[task_name]
40
- contents = entries.map do |entry|
41
- label = "task :#{name}"
41
+ links = entries.map do |entry|
42
42
  loc = entry.location
43
43
  uri = T.unsafe(URI::Generic).from_path(
44
44
  path: entry.file_path,
45
45
  fragment: "L#{loc.start_line},#{loc.start_column + 1}-#{loc.end_line},#{loc.end_column + 1}"
46
46
  )
47
- "[#{label}](#{uri})"
47
+ content << "\n\n#{entry.comments}" unless entry.comments.empty?
48
+ "[#{entry.file_name}](#{uri})"
48
49
  end
49
- @response_builder.push("Definitions: #{contents.join(", ")}", category: :documentation)
50
+ @response_builder.push("```\nrake #{name}\n```", category: :title)
51
+ @response_builder.push("Definitions: #{links.join(" | ")}", category: :links)
52
+ @response_builder.push(content, category: :documentation)
50
53
  end
51
54
  end
52
55
  end
@@ -4,9 +4,13 @@
4
4
  module RubyLsp
5
5
  module Rake
6
6
  class IndexingEnhancement < RubyIndexer::Enhancement # rubocop:disable Style/Documentation
7
+ @last_desc = nil
8
+
7
9
  def on_call_node_enter(node) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
10
+ @last_desc = nil unless node.name == :task
11
+
8
12
  return unless @listener.current_owner.nil?
9
- return unless node.name == :task
13
+ return unless node.name == :task || node.name == :desc
10
14
 
11
15
  arguments = node.arguments&.arguments
12
16
  return unless arguments
@@ -33,12 +37,20 @@ module RubyLsp
33
37
 
34
38
  return if name.nil?
35
39
 
40
+ if node.name == :desc
41
+ @last_desc = name
42
+ return
43
+ end
44
+
36
45
  location = node.location
37
46
  @listener.add_method(
38
47
  "task_#{name}",
39
48
  location,
40
- []
49
+ [],
50
+ comments: @last_desc
41
51
  )
52
+
53
+ @last_desc = nil
42
54
  end
43
55
 
44
56
  def on_call_node_leave(node); end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lsp-rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koji NAKAMURA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-11 00:00:00.000000000 Z
11
+ date: 2024-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-lsp