refactor(monorepo): editor-core-types #2315
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With #2312 and #2313 - moving in
reason-tree-sitter
andeditor-input
- we can now moveeditor-core-types
into Onivim proper.The reason behind this is to update some of the common types - like
Index.t
andRange.t
- they are not quite setup in a way where we can fully benefit from the type-system. In particular, we don't have typing around byte position vs UTF-8 character position vs screen column - they are just all ints orIndex.t
s. We should be able to leverage the type-system for this, and have auxiliary types, likeByteRange.t
, so that we can be explicit in our APIs to document whether a function expects a byte index, character index, etc, and have it enforced by the compiler.