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