tower-lsp
ruby-lsp
Our great sponsors
tower-lsp | ruby-lsp | |
---|---|---|
7 | 16 | |
895 | 1,288 | |
- | 5.2% | |
5.3 | 9.9 | |
about 1 month ago | 5 days ago | |
Rust | Ruby | |
Apache License 2.0 | MIT License |
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
-
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
ruby-lsp
-
RoR Debugbar
Some details from https://github.com/Shopify/ruby-lsp
> NOTE: starting with v0.7.0, it is no longer recommended to add the ruby-lsp to the bundle. The gem will generate a custom bundle in .ruby-lsp/Gemfile which is used to identify the versions of dependencies that should be used for the application (e.g.: the correct RuboCop version).
- Unveiling the big leap in Ruby 3.3's IRB
- I Love Ruby
-
RubyConf 2023 Recap
After lunch, I parked at the Ruby LSP table. I worked with Julie and Drew on HEREDOC endings. We also found an issue that we spent some time digging into, but ran out of time before we had a solution. It was fun spelunking through the code with friends. Ufuk joined us in looking at the cursor indentation issue. His sage wisdom helped us navigate through an unfamiliar codebase.
- Does anyone here use Solargraph with Rails?
-
VSCode now has documentation for Ruby
Thanks for the feedback. Added an issue for you: https://github.com/Shopify/ruby-lsp/issues/594
-
What extensions do you use for Ruby / Rails development on VS Code?
Links: Ruby-lsp , vscode addon
-
Unlock the Potential of VS Code for Ruby Programming
Thanks. You might like to watch this RFC PR https://github.com/Shopify/ruby-lsp/pull/429 (from me) with the proof of concept implementation of indexing and a very simplistic go to definition implementation, which is now being productionized properly. The indexing logic has moved into Syntax Tree and now we have access to a uniform API in Ruby LSP.
- ruby-lsp: An opinionated language server for Ruby
-
vscode suggestions
Ruby LSP and its associated extension: https://github.com/Shopify/ruby-lsp
What are some alternatives?
tower - async fn(Request) -> Result<Response, Error>
solargraph - A Ruby language server.
kakoune-lsp - Kakoune Language Server Protocol Client
ruby_language_server - Language Server implementation in Ruby for Ruby. Development happens on the develop branch. Production is master.
rust-analyzer - A Rust compiler front-end for IDEs
RailsAutoCompleteHelper - Autocomplete helper for Ruby on Rails projects that pulls data from model files
tree-sitter - An incremental parsing system for programming tools
lib-ruby-parser - Ruby parser written in Rust
react-relay - Relay is a JavaScript framework for building data-driven React applications.
turbo-android - Android framework for making Turbo native apps
chumsky - Write expressive, high-performance parsers with ease.
orbacle - Program allowing for smart jump-to-definitions, autocompletion, constant renaming and more.