Fix return type annotations for CellStyle properties in Python API#591
Merged
gnachman merged 1 commit intognachman:masterfrom Feb 24, 2026
Merged
Conversation
CellStyle.fg_color, bg_color, and URL.identifier can return None when protobuf oneof fields are unset, but their type annotations did not reflect this. Change return types to Optional to match reality. mypy flagged fg_color and bg_color as missing return statements (screen.py:175, 191) and identifier as returning incompatible type (screen.py:76).
eyupcanakman
pushed a commit
to eyupcanakman/iTerm2
that referenced
this pull request
Mar 1, 2026
…n#591) CellStyle.fg_color, bg_color, and URL.identifier can return None when protobuf oneof fields are unset, but their type annotations did not reflect this. Change return types to Optional to match reality. mypy flagged fg_color and bg_color as missing return statements (screen.py:175, 191) and identifier as returning incompatible type (screen.py:76).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixed return type annotations for
CellStyle.fg_color,bg_color, andURL.identifierto correctly reflect that they can returnNone.Background
fg_color/bg_colordispatch on protobuf oneof fields via if/elif branches, but implicitly returnNonewhen none of the branches matchURL.identifierdocuments "or None if not set" in its docstring, but the return type was declared asstrNoneforbg_colorduring normal screen display, confirming this is a practical issueVerification
Confirmed that
mypy --ignore-missing-imports iterm2/screen.pyno longer reportsMissing return statement [return]orIncompatible return value type [return-value].