facebook / lexical-ios

Lexical iOS is an extensible text editor framework that integrates the APIs and philosophies from Lexical Web with a Swift API built on top of TextKit.
MIT License
548 stars 41 forks source link

Use a single type for TextFormatType everywhere and use set operation… #52

Open mansimransingh opened 1 year ago

mansimransingh commented 1 year ago

I was getting confused with having multiple types for TextFormat and having to convert between them. So i refactored to use a single TextFormatType as an OptionSet and using set operations where possible.

Happy to discuss. Just trying to reduce the number of types lexical declares and converting between them.

amyworrall commented 1 year ago

Hi! Happy to merge this, once I've had time to update our internal stuff to be compatible.

You might be interested in my proposed new styles system (PR #46). It's a rethink of text styles, to make them extensible, type-safe, and more. The idea is that we bring this to both iOS and web, replacing the TextFormat and Style fields on both platforms. I've got an initial iOS implementation in that PR (subject to a couple of things on my to-do list, but it's essentially functioning). We need to decide on a path to shipping it, especially in terms of backwards compatibility, and whether we wait for web to build it and ship both at the same time. I'd welcome your thoughts!