All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- (Hot)fix parsing and type inference for solargraph v0.51.x and ruby v3.4.x (008d3ea and 414bc8e)
-
Support for 3rd party helpers from most known RSpec extension libraries.
-
Implement RSpec one-liner syntax helpers:
is_expected
,should
andshould_not
- Added
example_methods
as a configuration option to add your own example methods. (thanks to @mskog - first code contributor 🎉)
- Suggest keeping
spec/**/*
in theexclude
section of.solargraph.yml
to avoid performance issues (see commit) - Fix
let
definitions when do/end keywords overlap with body definitionlet(:todo) do # "do" keyword overlap { 'todo' => 'end' # "end" keyword overlap } end
- Error handling in SpecWalker::FakeLetMethod
- Documentation for
RSpec::ExampleGroups
DSL methods likeit
,fit
,example
etc.
- Fix nameless
subject
method completion inside nestedcontext
blocks - (Hack-ish) Fix
described_class
type collision whenRSpec.describe SomeClassWithoutNamespace
let
andsubject
type inference 🚀 (Resolves: Issue #1)
- Migrate from
parser
gem to using ruby's built-in RubyVM::AbstractSyntaxTree (see why)
- Fix subject without name block completion:
subject { ... }
- Fix subject return class overlap with
Rspec::ExampleGroups::
when class has no namespace
- Removed redundant
active_support
dependency (Issue #2)
- Fixed completions inside
subject
andsubject!
blocks
describe
andit
methods completion- memoized
let
andlet!
methods completion - implicit and explicit
subject
methods described_class
with appropriate type inferenceRSpec::Matchers
methods completion- Completes normal ruby methods within
describe/context
blocks - RSpec DSL suggestions (eg.
it
,describe
,fit
.. etc.)