{"id":13600809,"url":"https://github.com/neoclide/coc-solargraph","last_synced_at":"2025-06-21T11:09:20.436Z","repository":{"id":47387598,"uuid":"147633396","full_name":"neoclide/coc-solargraph","owner":"neoclide","description":"Solargraph extension for coc.nvim","archived":false,"fork":false,"pushed_at":"2022-04-21T06:55:07.000Z","size":337,"stargazers_count":204,"open_issues_count":10,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T01:39:31.930Z","etag":null,"topics":["coc","neovim","ruby","solargraph","vim"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neoclide.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"patreon":"chemzqm","custom":"https://www.paypal.com/paypalme/chezqm"}},"created_at":"2018-09-06T07:17:43.000Z","updated_at":"2025-01-04T23:01:05.000Z","dependencies_parsed_at":"2022-08-22T13:20:27.519Z","dependency_job_id":null,"html_url":"https://github.com/neoclide/coc-solargraph","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/neoclide/coc-solargraph","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-solargraph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-solargraph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-solargraph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-solargraph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neoclide","download_url":"https://codeload.github.com/neoclide/coc-solargraph/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoclide%2Fcoc-solargraph/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261110622,"owners_count":23111066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coc","neovim","ruby","solargraph","vim"],"created_at":"2024-08-01T18:00:49.110Z","updated_at":"2025-06-21T11:09:15.424Z","avatar_url":"https://github.com/neoclide.png","language":"TypeScript","funding_links":["https://patreon.com/chemzqm","https://www.paypal.com/paypalme/chezqm","https://www.patreon.com/chemzqm"],"categories":["Language Support","TypeScript"],"sub_categories":[],"readme":"# coc-solargraph\n\nRuby language server extension using [solargraph](http://solargraph.org/)\nfor [coc.nvim](https://github.com/neoclide/coc.nvim).\n\nNote: remember use `fnameescape()` for solargraph uri (`solargraph:/`) to open\nit by vim command.\n\nNote: solargraph scheme returns html, but vim doesn't handle html, so it's\nconverted to markdown.\n\n## Supporting\n\nIf you like my extension, consider supporting me on Patreon or PayPal:\n\n\u003ca href=\"https://www.patreon.com/chemzqm\"\u003e\u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button.png\" alt=\"Patreon donate button\" /\u003e \u003c/a\u003e\n\u003ca href=\"https://www.paypal.com/paypalme/chezqm\"\u003e\u003cimg src=\"https://werwolv.net/assets/paypal_banner.png\" alt=\"PayPal donate button\" /\u003e \u003c/a\u003e\n\n## Install\n\nInstall solargraph by:\n\n    gem install solargraph\n\nIn your vim/neovim, run command:\n\n    :CocInstall coc-solargraph\n\n## Features\n\nCoc.nvim support all features of [solargraph](https://github.com/castwide/solargraph)\n\n## Configuration options\n\nThis extension contributes the following settings:\n\n- `solargraph.trace.server`: default: `\"off\"`\n  Valid options: [\"off\",\"messages\",\"verbose\"]\n- `solargraph.shell`: The shell path used to launch solargraph server, default:\n  `null`\n- `solargraph.transport`: The type of transport to use., default: `\"socket\"`\n  Valid options: [\"socket\",\"stdio\",\"external\"]\n- `solargraph.promptDownload`: Prompt for download solargraph gem when not found., default: `true`\n- `solargraph.externalServer`: The host and port to use for external transports. (Ignored for stdio and socket transports.), default: `{\"host\":\"localhost\",\"port\":7658}`\n- `solargraph.commandPath`: Path to the solargraph command. Set this to an absolute path to select from multiple installed Ruby versions., default: `\"solargraph\"`\n- `solargraph.useBundler`: Use `bundle exec` to run solargraph. (If this is true, the solargraph.commandPath setting is ignored.), default: `false`\n- `solargraph.bundlerPath`: Path to the bundle executable, defaults to 'bundle', default: `\"bundle\"`\n- `solargraph.checkGemVersion`: Automatically check if a new version of the Solargraph gem is available., default: `true`\n- `solargraph.completion`: Enable completion, default: `true`\n- `solargraph.hover`: Enable hover, default: `true`\n- `solargraph.diagnostics`: Enable diagnostics, default: `false`\n- `solargraph.autoformat`: Enable automatic formatting while typing (WARNING: experimental), default: `false`\n- `solargraph.formatting`: Enable document formatting, default: `false`\n- `solargraph.symbols`: Enable symbols, default: `true`\n- `solargraph.definitions`: Enable definitions (go to, etc.), default: `true`\n- `solargraph.rename`: Enable symbol renaming, default: `true`\n- `solargraph.references`: Enable finding references, default: `true`\n- `solargraph.folding`: Enable folding ranges, default: `true`\n- `solargraph.logLevel`: Level of debug info to log. `warn` is least and `debug` is most., default: `\"warn\"`\n  Valid options: [\"warn\",\"info\",\"debug\"]\n\nUse command `:CocConfig` to open config file.\n\n## Transport Options\n\nExtension version 1.0.0 introduces the `solargraph.transport` setting with the following options:\n\n- `socket`: Run a TCP server. This is the default option.\n- `stdio`: Run a STDIO server.\n- `external`: Connect to an external server instead of starting a new one.\n\nMost users should use the default `socket` option or switch to `stdio` in case of network issues.\n\nThe `external` option is intended for cases where the project is hosted in a different environment from the editor,\nsuch as a docker container or a remote server. Users can opt to run a socket server in the remote environment and connect\nto it via TCP. Example configuration:\n\n    \"solargraph.transport\": \"external\",\n    \"solargraph.externalServer\": {\n        \"host\": \"localhost\",\n        \"port\": 7658\n    }\n\n## Documenting Your Code\n\nUsing [YARD](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md) for inline documentation is highly recommended.\nSolargraph will use YARD comments to provide the best code completion and API reference it can.\n\nIn addition to the standard YARD tags, Solargraph defines a `@type` tag for documenting variable types. It works with both\nlocal and instance variables. Example:\n\n    # @type [String]\n    my_variable = some_method_call\n    my_variable. # \u003c= Hitting crtl-space here will suggest String instance methods\n\n## Gem Support\n\nSolargraph is capable of providing code completion and documentation for gems. When your code uses `require` to include a gem, its classes and methods become available in completion and intellisense.\n\nYou can make sure your gems are available with the commands `Build new gem documentation` or `Rebuild all gem documentation` in the `:CocCommand` list.\n\n## Solargraph and Bundler\n\nIf your project uses Bundler, the most comprehensive way to use your bundled gems is to bundle Solargraph.\n\nIn the Gemfile:\n\n    gem 'solargraph', group: :development\n\nRun `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.\n\nIn order to access intellisense for bundled gems, you'll need to start the language server with Bundler by setting the `solargraph.useBundler` option to `true`.\n\n## Diagnostics (Linting)\n\nTo enable diagnostics, set the `solargraph.diagnostics` configuration to `true`.\n\nSolargraph uses RuboCop for diagnostics by default. If your project has a .solargraph.yml file, you can configure the diagnostics in its `reporters` section. Example:\n\n    reporters:\n    - rubocop\n\nSee [Solargraph Tips](http://solargraph.org/tips) for more information about the .solargraph.yml file.\n\nUse a .rubocop.yml file in your project's root folder to customize the linting rules.\n\n## Restarting Solargraph\n\nSome changes you make to a project, such as updating the Gemfile, might require you to restart the Solargraph server.\nInstead of reloading restart vim, you can restart coc.nvim by `:CocRestart`.\n\n## Project Configuration\n\nSolargraph will use the .solargraph.yml file for configuration if it exists in the workspace root. The extension provides\na command to `Create a Solargraph config file`, or you can do it from the command line:\n\n    $ solargraph config .\n\nThe default file should look something like this:\n\n    include:\n      - ./**/*.rb\n    exclude:\n      - spec/**/*\n\nThis configuration tells Solargraph to parse all .rb files in the workspace excluding the spec folder.\n\n## Updating the Core Documentation\n\nThe Solargraph gem ships with documentation for Ruby 2.2.2. As of gem version 0.15.0, there's an option to download additional documentation for other Ruby versions from the command line.\n\n    $ solargraph list-cores      # List the installed documentation versions\n    $ solargraph available-cores # List the versions available for download\n    $ solargraph download-core   # Install the best match for your Ruby version\n    $ solargraph clear-cores     # Clear the documentation cache\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoclide%2Fcoc-solargraph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneoclide%2Fcoc-solargraph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoclide%2Fcoc-solargraph/lists"}