All Projects β†’ castwide β†’ Solargraph

castwide / Solargraph

Licence: mit
A Ruby language server.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Solargraph

Vscode Solargraph
A Visual Studio Code extension for Solargraph.
Stars: ✭ 292 (-76.43%)
Mutual labels:  intellisense, language-server
Php Language Server
PHP Implementation of the VS Code Language Server Protocol πŸ†šβ†”πŸ–₯
Stars: ✭ 1,019 (-17.76%)
Mutual labels:  intellisense, language-server
Powershelleditorservices
A common platform for PowerShell development support in any editor or application!
Stars: ✭ 394 (-68.2%)
Mutual labels:  intellisense, language-server
Intelephense
Intellisense for PHP
Stars: ✭ 212 (-82.89%)
Mutual labels:  intellisense, language-server
Vscode Intelephense
PHP intellisense for Visual Studio Code
Stars: ✭ 872 (-29.62%)
Mutual labels:  intellisense, language-server
Kotlin Language Server
Intelligent Kotlin support for any editor/IDE using the Language Server Protocol
Stars: ✭ 650 (-47.54%)
Mutual labels:  language-server
Innovatoradmin
A tool for managing Aras Innovator installations focusing on improving the import/export experience.
Stars: ✭ 40 (-96.77%)
Mutual labels:  intellisense
Vim Lsp Settings
Auto configurations for Language Server for vim-lsp
Stars: ✭ 597 (-51.82%)
Mutual labels:  language-server
Clojure Lsp
Language Server (LSP) for Clojure
Stars: ✭ 547 (-55.85%)
Mutual labels:  language-server
Tenkawa Php Language Server
Language server for PHP, with powerful static analysis and type inference.
Stars: ✭ 78 (-93.7%)
Mutual labels:  language-server
Glsl Language Server
Language server implementation for GLSL
Stars: ✭ 53 (-95.72%)
Mutual labels:  language-server
Vscode Laravel Extra Intellisense
This extension adds extra autocompletion for laravel projects to VSCode.
Stars: ✭ 909 (-26.63%)
Mutual labels:  intellisense
Bash Language Server
A language server for Bash
Stars: ✭ 662 (-46.57%)
Mutual labels:  language-server
Lua Language Server
Lua Language Server coded by Lua
Stars: ✭ 607 (-51.01%)
Mutual labels:  language-server
Web Accessibility
A Visual Studio Extension for Web accessibility
Stars: ✭ 55 (-95.56%)
Mutual labels:  language-server
Sublimecodeintel
πŸ’‘ Full-featured code intelligence and smart autocomplete for Sublime Text
Stars: ✭ 5,050 (+307.59%)
Mutual labels:  intellisense
Octohint
The missing IntelliSense hint forΒ GitHub and GitLab
Stars: ✭ 906 (-26.88%)
Mutual labels:  intellisense
Tailwindcss Intellisense
Intelligent Tailwind CSS tooling for Visual Studio Code
Stars: ✭ 1,066 (-13.96%)
Mutual labels:  intellisense
Pylance Release
Documentation and issues for Pylance
Stars: ✭ 782 (-36.88%)
Mutual labels:  language-server
Python Language Server
Microsoft Language Server for Python
Stars: ✭ 778 (-37.21%)
Mutual labels:  language-server

Solargraph

A Ruby Language Server

Solargraph provides a comprehensive suite of tools for Ruby programming: intellisense, diagnostics, inline documentation, and type checking.

Online Demo

A web-based demonstration of Solargraph's autocomplete is available at https://solargraph.org/demo.

Installation

Install the gem from the command line:

gem install solargraph

Or add it to your Gemfile:

gem 'solargraph', group: :development

Using Solargraph

Plug-ins and extensions are available for the following editors:

Gem Support

Solargraph is capable of providing code completion and documentation for gems that have YARD documentation. You can make sure your gems are documented by running yard gems from the command line. (YARD is included as one of Solargraph's gem dependencies. The first time you run it might take a while if you have a lot of gems installed).

When editing code, a require call that references a gem will pull the documentation into the code maps and include the gem's API in code completion and intellisense.

If your project automatically requires bundled gems (e.g., require 'bundler/require'), Solargraph will add all of the Gemfile's default dependecies to the map.

Type Checking

As of version 0.33.0, Solargraph includes a type checker that uses a combination of YARD tags and code analysis to report missing type definitions. In strict mode, it performs type inference to determine whether the tags match the types it detects from code.

Updating Core Documentation

The Solargraph gem ships with documentation for Ruby 2.2.2. You can download documentation for other Ruby versions from the command line.

$ solargraph list-cores      # List the installed documentation versions
$ solargraph available-cores # List the versions available for download
$ solargraph download-core   # Install the best match for your Ruby version
$ solargraph clear           # Reset the documentation cache

The Documentation Cache

Solargraph uses a cache directory to store documentation for the Ruby core and customized documentation for certain gems. The default location is ~/.solargraph/cache, e.g., /home/<username>/.solargraph/cache on Linux or C:\Users\<username>\.solargraph on Windows.

You can change the location of the cache directory with the SOLARGRAPH_CACHE environment variable. This can be useful if you want the cache to comply with the XDG Base Directory Specification.

Solargraph and Bundler

If you're using the language server with a project that uses Bundler, the most comprehensive way to use your bundled gems is to bundle Solargraph.

In the Gemfile:

gem 'solargraph', group: :development

Run bundle install and use bundle exec yard gems to generate the documentation. This process documents cached or vendored gems, or even gems that are installed from a local path.

In order to make sure you're using the correct dependencies, you can start the language server with Bundler. In VS Code, there's a solargraph.useBundler option. Other clients will vary, but the command you probably want to run is bundle exec solargraph socket or bundle exec solargraph stdio.

Integrating Other Editors

The language server protocol is the recommended way for integrating Solargraph into editors and IDEs. Clients can connect using either stdio or TCP. Language client developers should refer to https://solargraph.org/guides/language-server.

More Information

See https://solargraph.org/guides for more tips and tutorials about Solargraph.

Contributing to Solargraph

Bug Reports and Feature Requests

GitHub Issues are the best place to ask questions, report problems, and suggest improvements.

Development

Code contributions are always appreciated. Feel free to fork the repo and submit pull requests. Check for open issues that could use help. Start new issues to discuss changes that have a major impact on the code or require large time commitments.

Sponsorship and Donation

Use Patreon to support ongoing development of Solargraph at https://www.patreon.com/castwide.

You can also make one-time donations via PayPal at https://www.paypal.me/castwide.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].