49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
|
# Ruby Starter
|
||
|
|
||
|
A super simple Ruby starter project.
|
||
|
|
||
|
Rubocop and Solargraph are included for linting and code completion, respectively and are configured to be used with [Zed](https://zed.dev/).
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
- [Ruby](https://www.ruby-lang.org/en/documentation/installation/)
|
||
|
- [Bundler](https://bundler.io/)
|
||
|
- [StandardRB](https://github.com/standardrb/standard)
|
||
|
|
||
|
## Setup
|
||
|
|
||
|
1. Clone this repository
|
||
|
2. Install dependencies: `bundle install`
|
||
|
3. Write awesome code
|
||
|
|
||
|
## Usage with Zed
|
||
|
|
||
|
Zed is a rough-around-the-edges editor in Beta. It's not very configurable yet,
|
||
|
so we're locked into using Solargraph as our language server. Solargraph is
|
||
|
only officially compatible with [Rubocop](https://rubocop.org/) _(ACAB)_ for linting, but we use our ruleset of choice, [StandardRB] by configuring it in `.rubocop.yml`.
|
||
|
|
||
|
For now, make sure that StandardRB is installed globally, as Zed can't yet reach
|
||
|
into your local Gem's, as far as we are aware.
|
||
|
|
||
|
Solargraph is configured in `.solargraph.yml` to use robocop, but to enable
|
||
|
inline diagnostics and formatting on save you must add the following to your Zed
|
||
|
`settings.json`:
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"lsp": {
|
||
|
"solargraph": {
|
||
|
"initialization_options": {
|
||
|
"diagnostics": true,
|
||
|
"formatting": true,
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Documentation
|
||
|
|
||
|
If you'd like to generate some user-friendly documentation, you can run
|
||
|
`rake` on the command line to generate some HTML docs in the `rdoc` directory, made up of your comments and some metadata from your code.
|