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: 1 day ago
JSON representation
Repository metadata
A Language Server Protocol SDK for Ruby
- Host: GitHub
- URL: https://github.com/mtsmfm/language_server-protocol-ruby
- Owner: mtsmfm
- License: mit
- Created: 2017-09-11T15:46:55.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2026-02-08T01:44:13.000Z (24 days ago)
- Last Synced: 2026-02-10T16:43:30.101Z (21 days ago)
- Language: Ruby
- Homepage:
- Size: 646 KB
- Stars: 66
- Watchers: 3
- Forks: 19
- Open Issues: 15
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
README.md
LanguageServer::Protocol
A Language Server Protocol SDK for Ruby.
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
- Name: Fumiaki MATSUSHIMA
- Login: mtsmfm
- Email:
- Kind: user
- Description:
- Website: https://mtsmfm.github.io
- Location: Japan
- Twitter: mtsmfm
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1796864?u=b73057119b9389496abd0932573795d337b82899&v=4
- Repositories: 308
- Last ynced at: 2024-04-14T18:57:47.092Z
- Profile URL: https://github.com/mtsmfm
GitHub Events
Total
- Delete event: 5
- Pull request event: 14
- Fork event: 1
- Watch event: 6
- Issue comment event: 2
- Push event: 112
- Pull request review event: 3
- Pull request review comment event: 2
- Create event: 7
Last Year
- Delete event: 3
- Pull request event: 7
- Fork event: 1
- Watch event: 1
- Issue comment event: 1
- Push event: 68
- Pull request review event: 3
- Pull request review comment event: 2
- Create event: 3
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 | 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:
- clear-code.com: 1
- pocke.me: 1
- paralaus.com: 1
- soutaro.com: 1
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
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
- Total packages: 2
-
Total downloads:
- rubygems: 439,161,589 total
- Total docker downloads: 6,504,566,968
- Total dependent packages: 11 (may contain duplicates)
- Total dependent repositories: 2,897 (may contain duplicates)
- Total versions: 46
- Total maintainers: 1
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
- @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
- benchmark-ips >= 0
- pry-byebug >= 0
- 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
- actions/checkout v3 composite
- actions/github-script v6 composite
- ruby/setup-ruby v1 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- ruby/setup-ruby v1 composite
- actions/checkout v3 composite
- ruby/setup-ruby v1 composite
- actions/checkout v3 composite
- ruby/setup-ruby v1 composite
- actions/checkout v3 composite
- ruby/setup-ruby v1 composite
- ruby 3.2.0 build
- @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