AaronC81/parlour

RBS support progress tracking

AaronC81 opened this issue · 1 comments

#94 adds the basics of RBS support to Parlour, but there are still other things that should be supported or added for the best experience. This issue is designed to track them. Please feel free to give any of them a shot and open a PR 😄


Initial batch of things to add:

  • f6a9f60 Add RBS interfaces
  • 20df869 Fix comments (Sord doesn't generate them properly)
  • c168735 Add .parlour options for specifying output format(s)
  • 90f42e2 Decouple Types::Proc from RbiGenerator::Parameter
  • 43f1bef Add method overload tests
  • 5a46a7e Add Conversion::Converter tests
  • 0879867 Add support for type aliases
  • 18b0754 Make output RBS files match requested formatting
  • 3601b7c Add generalize_from_rbi! support for more Sorbet types
  • 3b04979 Handle type generalisation warnings in a better way than puts
  • 3b04979 Make user aware of Conversion::Converter warnings
  • d0d6959 (This was an internal bug, not incorrect ordering) Handle parameters in the wrong order (i.e. optional before positional) more elegantly (encountered running Sord on Bundler)
  • Update README (4a791e4) and other docs
  • b913f82 bf4e129 Add one-way conversion of RBI structs/enums to RBS

(Released as 5.0.0.beta.1)


New things, after trying to integrate 5.0.0.beta.1 into Sord:

  • Types::Self
  • Syntax-agnostic "describe" for Types, with output like Array<Nilable<Union<String, Integer>>> (for better SORD_ERROR_ constant names)
  • Better eql?/hash behaviour for Types

(Released as 5.0.0.beta.2)


In future, I'll look into adding type parsing/loading/conflict resolution for RBS.

Preliminary RBS support has now been merged!