tower-lsp
Language Server Protocol implementation written in Rust (by ebkalderon)
lib-ruby-parser
Ruby parser written in Rust (by lib-ruby-parser)
Our great sponsors
tower-lsp | lib-ruby-parser | |
---|---|---|
7 | 2 | |
895 | 235 | |
- | 1.7% | |
5.3 | 7.2 | |
29 days ago | 15 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tower-lsp
Posts with mentions or reviews of tower-lsp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-28.
-
What's everyone working on this week (22/2023)?
I am using nom / nom_locate to build the parser side because I've done a handful of other projects with it, and I plan to use tower-lsp to hook up the language server side.
-
State of the Ruby language server (LSP) ecosystem / looking for suggestions
I realize this might not be for everyone, but I'm writing it in Rust using Lib-ruby-parser and tower-lsp: two existing libraries that handle a bunch of the heavy lifting for me. I'm more productive in Rust than with Ruby at this point, despite doing Ruby full time for 15 years, plus I really really don't want to have to deal with a slow LSP--that was the whome impetus for this project. I started in the spring, made a bunch of headway, then backtracked to redo the internals to make it easier to handle monkeypatching, overriding/redefining of methods, etc. across your project.
-
Language Server Protocol
https://github.com/ebkalderon/tower-lsp is a generalized LSP implementation in a lower-level language (Rust) so you may get a better idea by reading through that repo. It seems that the server opens a TCP socket that the client later connects to, but I'm not really sure.
-
tower_lsp client/server Document Sync
I was taking a look at the tower_lsp example here (https://github.com/ebkalderon/tower-lsp/blob/master/examples/stdio.rs) and had a question about how the document sync works between the client and the server.
-
how to make a lsp in rust ?
Mine all use [tower-lsp](https://github.com/ebkalderon/tower-lsp/) for the LSP protocol stuff, and then either [Tree-sitter](https://github.com/tree-sitter/tree-sitter) or [Nom](https://github.com/Geal/nom). If I do another I'll probably try [Chumsky](https://github.com/zesterer/chumsky) which combines some of the advantages of both.
- tower-lsp 0.16.0 — Lightweight framework for building LSP servers
lib-ruby-parser
Posts with mentions or reviews of lib-ruby-parser.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-02.
-
State of the Ruby language server (LSP) ecosystem / looking for suggestions
I realize this might not be for everyone, but I'm writing it in Rust using Lib-ruby-parser and tower-lsp: two existing libraries that handle a bunch of the heavy lifting for me. I'm more productive in Rust than with Ruby at this point, despite doing Ruby full time for 15 years, plus I really really don't want to have to deal with a slow LSP--that was the whome impetus for this project. I started in the spring, made a bunch of headway, then backtracked to redo the internals to make it easier to handle monkeypatching, overriding/redefining of methods, etc. across your project.
-
Artichoke Ruby Architecture
For now Artichoke leans on mruby’s parser, but I’m looking forward to using https://github.com/lib-ruby-parser/lib-ruby-parser which is a Rust port of MRI’s parse.y.
What are some alternatives?
When comparing tower-lsp and lib-ruby-parser you can also consider the following projects:
tower - async fn(Request) -> Result<Response, Error>
ruby-lsp - An opinionated language server for Ruby
kakoune-lsp - Kakoune Language Server Protocol Client
pest - The Elegant Parser
rust-analyzer - A Rust compiler front-end for IDEs
artichoke - 💎 Artichoke is a Ruby made with Rust
tree-sitter - An incremental parsing system for programming tools
vector - A high-performance observability data pipeline.
react-relay - Relay is a JavaScript framework for building data-driven React applications.
language_server-ruby - A Ruby Language Server implementation
chumsky - Write expressive, high-performance parsers with ease.
steep - Static type checker for Ruby
tower-lsp vs tower
lib-ruby-parser vs ruby-lsp
tower-lsp vs kakoune-lsp
lib-ruby-parser vs pest
tower-lsp vs rust-analyzer
lib-ruby-parser vs artichoke
tower-lsp vs tree-sitter
lib-ruby-parser vs vector
tower-lsp vs react-relay
lib-ruby-parser vs language_server-ruby
tower-lsp vs chumsky
lib-ruby-parser vs steep