feat: linting and diagnostics
commit
2c743d5652
|
@ -0,0 +1,10 @@
|
||||||
|
require:
|
||||||
|
- standard
|
||||||
|
- standard-custom
|
||||||
|
- standard-performance
|
||||||
|
- rubocop-performance
|
||||||
|
|
||||||
|
inherit_gem:
|
||||||
|
standard: config/base.yml
|
||||||
|
standard-custom: config/base.yml
|
||||||
|
standard-performance: config/base.yml
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
include:
|
||||||
|
- "**/*.rb"
|
||||||
|
exclude:
|
||||||
|
- spec/**/*
|
||||||
|
- test/**/*
|
||||||
|
- vendor/**/*
|
||||||
|
- ".bundle/**/*"
|
||||||
|
require: []
|
||||||
|
domains: []
|
||||||
|
reporters:
|
||||||
|
- rubocop
|
||||||
|
- require_not_found
|
||||||
|
- typecheck
|
||||||
|
require_paths: []
|
||||||
|
plugins: []
|
||||||
|
max_files: 5000
|
|
@ -0,0 +1,7 @@
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
group :development do
|
||||||
|
gem "rdoc"
|
||||||
|
gem "rubocop"
|
||||||
|
gem "solargraph"
|
||||||
|
end
|
|
@ -0,0 +1,48 @@
|
||||||
|
# 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.
|
Loading…
Reference in New Issue