A summary of data about the Ruby ecosystem.

https://github.com/mtsmfm/language_server-protocol-ruby

A Language Server Protocol SDK for Ruby
https://github.com/mtsmfm/language_server-protocol-ruby

Keywords from Contributors

activerecord activejob mvc rubygems rspec static-code-analysis rubocop code-formatter repl documentation-tool

Last synced: about 21 hours ago
JSON representation

Repository metadata

A Language Server Protocol SDK for Ruby

README.md

LanguageServer::Protocol

A Language Server Protocol SDK for Ruby.

Gem Version

Installation

Add this line to your application's Gemfile:

gem 'language_server-protocol'

And then execute:

$ bundle

Or install it yourself as:

$ gem install language_server-protocol

Usage

Currently, this gem supports only stdio as transport layer out of box.

require "language_server-protocol"

LSP = LanguageServer::Protocol
writer = LSP::Transport::Stdio::Writer.new
reader = LSP::Transport::Stdio::Reader.new

subscribers = {
  initialize: -> {
    LSP::Interface::InitializeResult.new(
      capabilities: LSP::Interface::ServerCapabilities.new(
        text_document_sync: LSP::Interface::TextDocumentSyncOptions.new(
          change: LSP::Constant::TextDocumentSyncKind::FULL
        ),
        completion_provider: LSP::Interface::CompletionOptions.new(
          resolve_provider: true,
          trigger_characters: %w(.)
        ),
        definition_provider: true
      )
    )
  }
}

reader.read do |request|
  result = subscribers[request[:method].to_sym].call
  writer.write(id: request[:id], result: result)
  exit
end

You can use any IO object as transport layer:

io = StringIO.new
writer = LSP::Transport::Io::Writer.new(io)
reader = LSP::Transport::Io::Reader.new(io)

Versioning

language_server-protocol gem does NOT use semantic versioning.
This gem versions are structured as x.y.z.t.
x.y.z indicates the Language server protocol version and t is a monotonically increasing number.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mtsmfm/language_server-protocol-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the LanguageServer::Protocol project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 189
Total Committers: 13
Avg Commits per committer: 14.538
Development Distribution Score (DDS): 0.333

Commits in past year: 4
Committers in past year: 4
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.75

Name Email Commits
Fumiaki MATSUSHIMA m****m@g****m 126
renovate[bot] 2****] 36
Soutaro Matsumoto m****o@s****m 6
Ufuk Kayserilioglu u****k@p****m 5
github-actions[bot] 4****] 4
joker1007 k****t@g****m 3
Masataka Pocke Kuwabara k****a@p****e 2
Koichi ITO k****o@g****m 2
ksss c****i@g****m 1
Yoshihiko Yamanaka b****h@g****m 1
Tomoya Chiba t****p@g****m 1
Shizuo Fujita f****a@c****m 1
Mitsutaka Mimura t****m@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 4 days ago

Total issues: 9
Total pull requests: 135
Average time to close issues: 1 day
Average time to close pull requests: about 1 month
Total issue authors: 8
Total pull request authors: 15
Average comments per issue: 1.11
Average comments per pull request: 2.41
Merged pull request: 95
Bot issues: 1
Bot pull requests: 67

Past year issues: 0
Past year pull requests: 10
Past year average time to close issues: N/A
Past year average time to close pull requests: 29 days
Past year issue authors: 0
Past year pull request authors: 3
Past year average comments per issue: 0
Past year average comments per pull request: 0.2
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 6

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/mtsmfm/language_server-protocol-ruby

Top Issue Authors

  • paracycle (2)
  • vinistock (1)
  • rmosolgo (1)
  • kwerle (1)
  • soutaro (1)
  • renovate[bot] (1)
  • tomoasleep (1)
  • mtsmfm (1)

Top Pull Request Authors

  • renovate[bot] (67)
  • mtsmfm (43)
  • koic (6)
  • tomoasleep (3)
  • pocke (3)
  • soutaro (2)
  • joker1007 (2)
  • Watson1978 (2)
  • bamchoh (1)
  • alpaca-tc (1)
  • ksss (1)
  • paracycle (1)
  • kindaSaaS (1)
  • takkanm (1)
  • grosa1 (1)

Top Issue Labels

Top Pull Request Labels

  • benchmark (2)

Package metadata

gem.coop: language_server-protocol

A Language Server Protocol SDK

  • Homepage: https://github.com/mtsmfm/language_server-protocol-ruby
  • Documentation: http://www.rubydoc.info/gems/language_server-protocol/
  • Licenses: MIT
  • Latest release: 0.5.0 (published about 8 years ago)
  • Last Synced: 2026-02-28T15:30:53.464Z (3 days ago)
  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 219,663,362 Total
  • Docker Downloads: 3,252,283,484
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Docker downloads count: 0.036%
    • Average: 0.043%
    • Downloads: 0.136%
  • Maintainers (1)
rubygems.org: language_server-protocol

A Language Server Protocol SDK

  • Homepage: https://github.com/mtsmfm/language_server-protocol-ruby
  • Documentation: http://www.rubydoc.info/gems/language_server-protocol/
  • Licenses: MIT
  • Latest release: 0.5.0 (published about 8 years ago)
  • Last Synced: 2026-02-27T19:43:12.158Z (4 days ago)
  • Versions: 23
  • Dependent Packages: 11
  • Dependent Repositories: 2,897
  • Downloads: 219,498,227 Total
  • Docker Downloads: 3,252,283,484
  • Rankings:
    • Docker downloads count: 0.079%
    • Downloads: 0.526%
    • Dependent repos count: 0.585%
    • Dependent packages count: 1.745%
    • Average: 2.981%
    • Forks count: 7.416%
    • Stargazers count: 7.537%
  • Maintainers (1)

Dependencies

package.json npm
  • @types/es6-promise ^3.3.0
  • @types/isomorphic-fetch ^0.0.35
  • @types/node ^14.14.36
  • handlebars ^4.7.7
  • isomorphic-fetch ^3.0.0
  • prettier ^2.2.1
  • ts-node ^9.1.1
  • typescript ^4.2.3
Gemfile rubygems
  • benchmark-ips >= 0
  • pry-byebug >= 0
language_server-protocol.gemspec rubygems
  • activesupport >= 0 development
  • bundler >= 2.0.0 development
  • m >= 0 development
  • minitest ~> 5.0 development
  • minitest-power_assert >= 0 development
  • rake >= 12.3.3 development
.devcontainer/docker-compose.yml docker
.github/workflows/benchmark.yml actions
  • actions/checkout v3 composite
  • actions/github-script v6 composite
  • ruby/setup-ruby v1 composite
.github/workflows/generator.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • ruby/setup-ruby v1 composite
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
.github/workflows/ubuntu-test.yml actions
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
.github/workflows/windows-test.yml actions
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
.devcontainer/Dockerfile docker
  • ruby 3.2.0 build
package-lock.json npm
  • @types/glob 8.0.0 development
  • @types/minimatch 5.1.2 development
  • @types/underscore 1.11.4 development
  • balanced-match 1.0.2 development
  • brace-expansion 2.0.1 development
  • fs.realpath 1.0.0 development
  • glob 8.0.3 development
  • inflight 1.0.6 development
  • inherits 2.0.4 development
  • minimatch 5.1.0 development
  • once 1.4.0 development
  • underscore 1.13.4 development
  • wrappy 1.0.2 development
  • @cspotcode/source-map-support 0.8.1
  • @jridgewell/resolve-uri 3.1.0
  • @jridgewell/sourcemap-codec 1.4.14
  • @jridgewell/trace-mapping 0.3.9
  • @tsconfig/node10 1.0.9
  • @tsconfig/node12 1.0.11
  • @tsconfig/node14 1.0.3
  • @tsconfig/node16 1.0.3
  • @types/es6-promise 3.3.0
  • @types/node 18.11.17
  • acorn 8.8.1
  • acorn-walk 8.2.0
  • arg 4.1.3
  • create-require 1.1.1
  • diff 4.0.2
  • es6-promise 4.2.8
  • handlebars 4.7.7
  • make-error 1.3.6
  • minimist 1.2.6
  • neo-async 2.6.2
  • prettier 2.2.1
  • source-map 0.6.1
  • ts-node 10.9.1
  • typescript 4.2.3
  • uglify-js 3.13.2
  • v8-compile-cache-lib 3.0.1
  • wordwrap 1.0.0
  • yn 3.1.1

Score: 29.620504159523453