Next slice of #32. Wire the three style/layout props that are currently no-ops on the Android ViewManager.
Scope
- `font` — `{ family?: string; size?: number }`. Map to Sora's `editor.typefaceText` + `editor.textSizePx`. Default to system monospace at 14pt to match iOS/macOS `monospacedSystemFont`.
- `contentInsets` — `{ top?, bottom?, left?, right? }`. Map to the editor's padding (Sora exposes `paddingTop/Bottom/Left/Right` via standard Android `View.setPadding`). Mirror the iOS `UIEdgeInsets` semantics — applied to the text container, not the editor view's frame.
- `lineNumbers` — boolean. Sora's `CodeEditor` ships line numbers ON by default; `editor.isLineNumberEnabled = value` flips the gutter at runtime.
Replace the three no-op stubs in `SourceEditorViewManager.kt`. Forward through `SourceEditorView` setters so the prop diff path stays consistent with the existing `text` / `editable` / `language` pattern.
Update `example/expo-app/App.android.tsx` toolbar to mirror the iOS controls now that the props are real:
- LineNumbers toggle (Pressable button with `#` label, similar to iOS Toggle)
- Font/contentInsets stay as defaults — iOS doesn't expose toolbar UI for them either.
Refs #32.
Next slice of #32. Wire the three style/layout props that are currently no-ops on the Android ViewManager.
Scope
Replace the three no-op stubs in `SourceEditorViewManager.kt`. Forward through `SourceEditorView` setters so the prop diff path stays consistent with the existing `text` / `editable` / `language` pattern.
Update `example/expo-app/App.android.tsx` toolbar to mirror the iOS controls now that the props are real:
Refs #32.