openai / compose-richtext
File Churn

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 87 files with 8,624 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 7 files changed 21-50 times (1,534 lines of code)
    • 31 files changed 6-20 times (3,697 lines of code)
    • 49 files changed 1-5 times (3,393 lines of code)
0% | 0% | 17% | 42% | 39%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 87 files with 8,624 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 1 file changed by 11-25 contributors (896 lines of code)
    • 7 files changed by 6-10 contributors (1,417 lines of code)
    • 54 files changed by 2-5 contributors (4,673 lines of code)
    • 25 files changed by 1 contributor (1,638 lines of code)
0% | 10% | 16% | 54% | 18%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
kt, xml, kts, md, properties, yaml, gitignore, pro, txt, bat, sh
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
kt0% | 0% | 15% | 44% | 40%
kts0% | 0% | 58% | 41% | 0%
xml0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
richtext-ui0% | 0% | 32% | 35% | 32%
ROOT0% | 0% | 90% | 9% | 0%
android-sample0% | 0% | 2% | 48% | 48%
richtext-commonmark0% | 0% | 10% | 66% | 22%
buildSrc0% | 0% | 33% | 66% | 0%
richtext-markdown0% | 0% | 0% | 61% | 38%
richtext-ui-material30% | 0% | 0% | 33% | 66%
richtext-ui-material0% | 0% | 0% | 33% | 66%
desktop-sample0% | 0% | 0% | 5% | 94%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
Dependencies.kt
in buildSrc/src/main/kotlin
39 - 2021-08-22 2025-10-22 31 7 +316 / -242 halilozercan@gmail.com rz@openai.com
FormattedList.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
285 - 2021-08-22 2026-04-14 29 8 +986 / -236 halilozercan@gmail.com omers@openai.com
Text.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
896 3 2021-08-22 2026-06-01 29 13 +2721 / -886 halilozercan@gmail.com pat@openai.com
build.gradle.kts
in android-sample
67 - 2021-08-22 2026-03-20 23 5 +246 / -88 halilozercan@gmail.com omers@openai.com
151 1 2021-08-22 2026-03-20 23 4 +512 / -100 halilozercan@gmail.com omers@openai.com
build.gradle.kts
in richtext-ui
47 - 2021-08-22 2026-06-01 22 7 +135 / -44 halilozercan@gmail.com pat@openai.com
build.gradle.kts
in richtext-commonmark
49 - 2021-08-22 2025-05-08 21 6 +145 / -42 halilozercan@gmail.com rz@openai.com
RichTextString.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
470 23 2021-08-22 2026-01-21 20 8 +1617 / -267 halilozercan@gmail.com bjdodson@openai.com
build.gradle.kts
in desktop-sample
22 - 2021-08-22 2025-10-22 19 4 +87 / -36 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in buildSrc
13 - 2021-08-22 2025-10-22 18 4 +72 / -38 halilozercan@gmail.com rz@openai.com
SampleLauncher.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
141 - 2021-08-22 2026-03-20 18 5 +486 / -157 halilozercan@gmail.com omers@openai.com
build.gradle.kts
in richtext-ui-material
27 - 2021-08-22 2025-05-08 17 4 +78 / -14 halilozercan@gmail.com rz@openai.com
richtext-android-library.gradle.kts
in buildSrc/src/main/kotlin
30 - 2021-08-22 2025-10-22 17 4 +116 / -50 halilozercan@gmail.com rz@openai.com
Demo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
231 - 2021-08-22 2026-03-20 16 4 +521 / -33 halilozercan@gmail.com omers@openai.com
richtext-kmp-library.gradle.kts
in buildSrc/src/main/kotlin
36 - 2021-08-22 2025-10-22 13 4 +122 / -28 halilozercan@gmail.com rz@openai.com
CodeBlock.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
119 - 2021-08-22 2026-04-14 13 4 +385 / -98 halilozercan@gmail.com omers@openai.com
BasicMarkdown.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
342 1 2024-02-08 2026-04-14 13 6 +1824 / -429 halilibo@google.com omers@openai.com
build.gradle.kts
in richtext-markdown
52 - 2024-02-07 2026-03-13 12 4 +234 / -24 halilozercan@gmail.com omers@openai.com
MarkdownRichText.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
185 1 2024-02-07 2026-04-14 12 6 +928 / -115 halilozercan@gmail.com omers@openai.com
RichTextLocals.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
75 - 2021-08-22 2026-03-27 11 4 +322 / -194 halilozercan@gmail.com omers@openai.com
BlockQuote.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
104 - 2021-08-22 2026-04-14 11 4 +366 / -72 halilozercan@gmail.com omers@openai.com
RichTextSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
130 2 2021-08-22 2025-10-22 11 3 +456 / -121 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in richtext-ui-material3
27 - 2022-06-18 2025-10-22 10 4 +74 / -10 halilozercan@gmail.com rz@openai.com
16 - 2021-08-22 2025-10-22 9 3 +40 / -6 halilozercan@gmail.com rz@openai.com
Table.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
213 4 2021-08-22 2026-03-09 9 3 +589 / -91 halilozercan@gmail.com rjmarsan@gmail.com
TextDemo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
220 2 2021-08-22 2025-05-08 9 3 +524 / -22 halilozercan@gmail.com rz@openai.com
RichTextRenderOptions.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
34 - 2024-08-19 2026-06-01 8 5 +80 / -6 rjmarsan@gmail.com pat@openai.com
InlineContent.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
71 - 2021-08-22 2025-05-01 8 4 +279 / -51 halilozercan@gmail.com rz@openai.com
Markdown.kt
in richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark
71 - 2024-02-07 2026-01-21 8 4 +341 / -25 halilozercan@gmail.com bjdodson@openai.com
LazyMarkdownSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
340 - 2024-02-11 2025-10-22 8 3 +1805 / -50 halilozercan@gmail.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown
19 - 2024-02-07 2025-05-08 7 2 +128 / -44 halilozercan@gmail.com rz@openai.com
TraverseUtils.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
33 - 2024-02-07 2026-03-27 7 3 +569 / -373 halilozercan@gmail.com omers@openai.com
RemoteImage.kt
in richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown
62 - 2024-02-07 2026-03-09 7 4 +278 / -14 halilozercan@gmail.com rjmarsan@gmail.com
ConditionalTapGestureDetector.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util
203 5 2022-10-12 2025-05-08 7 4 +518 / -20 jimmymorrissey@gmail.com rz@openai.com
AstNodeConvert.kt
in richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark
239 - 2024-02-07 2026-03-09 7 3 +930 / -12 halilozercan@gmail.com rjmarsan@gmail.com
SampleTheme.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
45 1 2024-02-11 2025-10-22 6 3 +178 / -3 halilozercan@gmail.com rz@openai.com
RenderTable.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
63 - 2024-02-07 2026-01-21 6 4 +214 / -2 halilozercan@gmail.com bjdodson@openai.com
RichTextStyle.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
64 - 2021-08-22 2025-06-04 6 3 +188 / -10 halilozercan@gmail.com bjdodson@openai.com
HtmlBlock.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
5 - 2024-02-07 2025-05-08 5 2 +46 / -2 halilozercan@gmail.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown
13 - 2024-02-07 2025-05-08 5 2 +62 / -2 halilozercan@gmail.com rz@openai.com
RichTextThemeProvider.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
29 1 2024-01-03 2025-05-08 5 2 +120 / -20 halilozercan@gmail.com rz@openai.com
RichTextThemeConfiguration.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
39 - 2024-01-03 2025-05-08 5 2 +112 / -4 halilozercan@gmail.com rz@openai.com
HorizontalRule.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
51 - 2021-08-22 2025-08-25 5 3 +117 / -11 halilozercan@gmail.com rjmarsan@gmail.com
Heading.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
70 - 2021-08-22 2024-01-03 5 2 +210 / -14 halilozercan@gmail.com halilozercan@gmail.com
RtlCompatibilitySample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
145 1 2026-03-18 2026-03-27 5 1 +569 / -221 omers@openai.com omers@openai.com
AnimationSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
416 - 2025-04-30 2025-08-25 5 2 +646 / -19 rz@openai.com rjmarsan@gmail.com
SampleActivity.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
14 1 2021-08-22 2025-10-22 4 3 +36 / -0 halilozercan@gmail.com rz@openai.com
CodeBlock.android.kt
in richtext-ui/src/androidMain/kotlin/com/halilibo/richtext/ui
17 - 2024-02-08 2025-05-08 4 3 +76 / -0 halilibo@google.com rz@openai.com
AstNode.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
18 2 2024-02-07 2025-05-08 4 2 +112 / -0 halilozercan@gmail.com rz@openai.com
AstTable.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
20 - 2024-02-07 2025-05-08 4 2 +108 / -0 halilozercan@gmail.com rz@openai.com
Files With Most Churn (Top 50)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
Text.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
896 3 2021-08-22 2026-06-01 29 13 +2721 / -886 halilozercan@gmail.com pat@openai.com
BasicMarkdown.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
342 1 2024-02-08 2026-04-14 13 6 +1824 / -429 halilibo@google.com omers@openai.com
RichTextString.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
470 23 2021-08-22 2026-01-21 20 8 +1617 / -267 halilozercan@gmail.com bjdodson@openai.com
LazyMarkdownSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
340 - 2024-02-11 2025-10-22 8 3 +1805 / -50 halilozercan@gmail.com rz@openai.com
RichTextSampleApp.kt
in desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop
358 - 2024-02-19 2025-05-08 4 2 +1524 / -4 halilozercan@gmail.com rz@openai.com
FormattedList.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
285 - 2021-08-22 2026-04-14 29 8 +986 / -236 halilozercan@gmail.com omers@openai.com
RtlCompatibilityBehaviorSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
187 - 2026-03-25 2026-04-10 4 1 +777 / -319 omers@openai.com omers@openai.com
MarkdownRichText.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
185 1 2024-02-07 2026-04-14 12 6 +928 / -115 halilozercan@gmail.com omers@openai.com
TraverseUtils.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
33 - 2024-02-07 2026-03-27 7 3 +569 / -373 halilozercan@gmail.com omers@openai.com
AstNodeConvert.kt
in richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark
239 - 2024-02-07 2026-03-09 7 3 +930 / -12 halilozercan@gmail.com rjmarsan@gmail.com
RtlCompatibilitySample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
145 1 2026-03-18 2026-03-27 5 1 +569 / -221 omers@openai.com omers@openai.com
AstNodeType.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
100 - 2024-02-07 2025-05-08 4 2 +738 / -0 halilozercan@gmail.com rz@openai.com
Table.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
213 4 2021-08-22 2026-03-09 9 3 +589 / -91 halilozercan@gmail.com rjmarsan@gmail.com
AnimationSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
416 - 2025-04-30 2025-08-25 5 2 +646 / -19 rz@openai.com rjmarsan@gmail.com
SampleLauncher.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
141 - 2021-08-22 2026-03-20 18 5 +486 / -157 halilozercan@gmail.com omers@openai.com
151 1 2021-08-22 2026-03-20 23 4 +512 / -100 halilozercan@gmail.com omers@openai.com
RichTextSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
130 2 2021-08-22 2025-10-22 11 3 +456 / -121 halilozercan@gmail.com rz@openai.com
Dependencies.kt
in buildSrc/src/main/kotlin
39 - 2021-08-22 2025-10-22 31 7 +316 / -242 halilozercan@gmail.com rz@openai.com
Demo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
231 - 2021-08-22 2026-03-20 16 4 +521 / -33 halilozercan@gmail.com omers@openai.com
TextDemo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
220 2 2021-08-22 2025-05-08 9 3 +524 / -22 halilozercan@gmail.com rz@openai.com
ConditionalTapGestureDetector.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util
203 5 2022-10-12 2025-05-08 7 4 +518 / -20 jimmymorrissey@gmail.com rz@openai.com
RichTextLocals.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
75 - 2021-08-22 2026-03-27 11 4 +322 / -194 halilozercan@gmail.com omers@openai.com
CodeBlock.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
119 - 2021-08-22 2026-04-14 13 4 +385 / -98 halilozercan@gmail.com omers@openai.com
StreamingTextAccentRangesTest.kt
in richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string
209 11 2026-06-01 2026-06-01 1 1 +469 / -3 pat@openai.com pat@openai.com
BlockQuote.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
104 - 2021-08-22 2026-04-14 11 4 +366 / -72 halilozercan@gmail.com omers@openai.com
TraverseUtilsTest.kt
in richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown
104 8 2026-03-25 2026-03-27 3 1 +318 / -78 omers@openai.com omers@openai.com
MarkdownImage.kt
in richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown
80 - 2025-07-27 2025-10-22 4 4 +334 / -40 halilibo@google.com rz@openai.com
Markdown.kt
in richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark
71 - 2024-02-07 2026-01-21 8 4 +341 / -25 halilozercan@gmail.com bjdodson@openai.com
LinkInlineDecorations.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
163 - 2026-01-21 2026-02-12 2 1 +366 / -0 bjdodson@openai.com bjdodson@openai.com
ScreenPreview.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
112 6 2021-08-22 2025-05-01 3 2 +328 / -16 halilozercan@gmail.com rz@openai.com
ic_launcher_background.xml
in android-sample/src/main/res/drawable
170 - 2021-08-22 2021-09-08 2 1 +340 / -0 halilozercan@gmail.com halilozercan@gmail.com
build.gradle.kts
in android-sample
67 - 2021-08-22 2026-03-20 23 5 +246 / -88 halilozercan@gmail.com omers@openai.com
InlineContent.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
71 - 2021-08-22 2025-05-01 8 4 +279 / -51 halilozercan@gmail.com rz@openai.com
RtlCompatibility.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl
105 - 2026-03-27 2026-04-14 2 1 +295 / -19 omers@openai.com omers@openai.com
RemoteImage.kt
in richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown
62 - 2024-02-07 2026-03-09 7 4 +278 / -14 halilozercan@gmail.com rjmarsan@gmail.com
build.gradle.kts
in richtext-markdown
52 - 2024-02-07 2026-03-13 12 4 +234 / -24 halilozercan@gmail.com omers@openai.com
AnnotatedStringSegmenter.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util
161 5 2024-08-13 2025-08-25 3 2 +213 / -31 rj@openai.com rjmarsan@gmail.com
Heading.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
70 - 2021-08-22 2024-01-03 5 2 +210 / -14 halilozercan@gmail.com halilozercan@gmail.com
InfoPanel.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
92 - 2021-09-19 2024-01-03 3 1 +222 / -2 halilozercan@gmail.com halilozercan@gmail.com
LinkDecorations.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
73 - 2026-01-21 2026-02-04 2 1 +205 / -17 bjdodson@openai.com bjdodson@openai.com
RenderTable.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
63 - 2024-02-07 2026-01-21 6 4 +214 / -2 halilozercan@gmail.com bjdodson@openai.com
TableLayout.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
70 - 2025-04-10 2025-06-04 2 1 +202 / -12 bjdodson@openai.com bjdodson@openai.com
RichTextStyle.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
64 - 2021-08-22 2025-06-04 6 3 +188 / -10 halilozercan@gmail.com bjdodson@openai.com
TableMeasurer.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
75 3 2025-04-10 2025-04-10 1 1 +186 / -4 bjdodson@openai.com bjdodson@openai.com
build.gradle.kts
in richtext-commonmark
49 - 2021-08-22 2025-05-08 21 6 +145 / -42 halilozercan@gmail.com rz@openai.com
SampleTheme.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
45 1 2024-02-11 2025-10-22 6 3 +178 / -3 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in richtext-ui
47 - 2021-08-22 2026-06-01 22 7 +135 / -44 halilozercan@gmail.com pat@openai.com
CodeBlock.desktop.kt
in richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui
37 1 2024-02-08 2025-05-08 4 3 +176 / -0 halilibo@google.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown
19 - 2024-02-07 2025-05-08 7 2 +128 / -44 halilozercan@gmail.com rz@openai.com
richtext-android-library.gradle.kts
in buildSrc/src/main/kotlin
30 - 2021-08-22 2025-10-22 17 4 +116 / -50 halilozercan@gmail.com rz@openai.com
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
Text.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
896 3 2021-08-22 2026-06-01 29 13 +2721 / -886 halilozercan@gmail.com pat@openai.com
FormattedList.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
285 - 2021-08-22 2026-04-14 29 8 +986 / -236 halilozercan@gmail.com omers@openai.com
RichTextString.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
470 23 2021-08-22 2026-01-21 20 8 +1617 / -267 halilozercan@gmail.com bjdodson@openai.com
Dependencies.kt
in buildSrc/src/main/kotlin
39 - 2021-08-22 2025-10-22 31 7 +316 / -242 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in richtext-ui
47 - 2021-08-22 2026-06-01 22 7 +135 / -44 halilozercan@gmail.com pat@openai.com
build.gradle.kts
in richtext-commonmark
49 - 2021-08-22 2025-05-08 21 6 +145 / -42 halilozercan@gmail.com rz@openai.com
BasicMarkdown.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
342 1 2024-02-08 2026-04-14 13 6 +1824 / -429 halilibo@google.com omers@openai.com
MarkdownRichText.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
185 1 2024-02-07 2026-04-14 12 6 +928 / -115 halilozercan@gmail.com omers@openai.com
build.gradle.kts
in android-sample
67 - 2021-08-22 2026-03-20 23 5 +246 / -88 halilozercan@gmail.com omers@openai.com
SampleLauncher.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
141 - 2021-08-22 2026-03-20 18 5 +486 / -157 halilozercan@gmail.com omers@openai.com
RichTextRenderOptions.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
34 - 2024-08-19 2026-06-01 8 5 +80 / -6 rjmarsan@gmail.com pat@openai.com
151 1 2021-08-22 2026-03-20 23 4 +512 / -100 halilozercan@gmail.com omers@openai.com
build.gradle.kts
in desktop-sample
22 - 2021-08-22 2025-10-22 19 4 +87 / -36 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in buildSrc
13 - 2021-08-22 2025-10-22 18 4 +72 / -38 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in richtext-ui-material
27 - 2021-08-22 2025-05-08 17 4 +78 / -14 halilozercan@gmail.com rz@openai.com
richtext-android-library.gradle.kts
in buildSrc/src/main/kotlin
30 - 2021-08-22 2025-10-22 17 4 +116 / -50 halilozercan@gmail.com rz@openai.com
Demo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
231 - 2021-08-22 2026-03-20 16 4 +521 / -33 halilozercan@gmail.com omers@openai.com
CodeBlock.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
119 - 2021-08-22 2026-04-14 13 4 +385 / -98 halilozercan@gmail.com omers@openai.com
richtext-kmp-library.gradle.kts
in buildSrc/src/main/kotlin
36 - 2021-08-22 2025-10-22 13 4 +122 / -28 halilozercan@gmail.com rz@openai.com
build.gradle.kts
in richtext-markdown
52 - 2024-02-07 2026-03-13 12 4 +234 / -24 halilozercan@gmail.com omers@openai.com
RichTextLocals.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
75 - 2021-08-22 2026-03-27 11 4 +322 / -194 halilozercan@gmail.com omers@openai.com
BlockQuote.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
104 - 2021-08-22 2026-04-14 11 4 +366 / -72 halilozercan@gmail.com omers@openai.com
build.gradle.kts
in richtext-ui-material3
27 - 2022-06-18 2025-10-22 10 4 +74 / -10 halilozercan@gmail.com rz@openai.com
Markdown.kt
in richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark
71 - 2024-02-07 2026-01-21 8 4 +341 / -25 halilozercan@gmail.com bjdodson@openai.com
InlineContent.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
71 - 2021-08-22 2025-05-01 8 4 +279 / -51 halilozercan@gmail.com rz@openai.com
ConditionalTapGestureDetector.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util
203 5 2022-10-12 2025-05-08 7 4 +518 / -20 jimmymorrissey@gmail.com rz@openai.com
RemoteImage.kt
in richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown
62 - 2024-02-07 2026-03-09 7 4 +278 / -14 halilozercan@gmail.com rjmarsan@gmail.com
RenderTable.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
63 - 2024-02-07 2026-01-21 6 4 +214 / -2 halilozercan@gmail.com bjdodson@openai.com
MarkdownImage.kt
in richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown
80 - 2025-07-27 2025-10-22 4 4 +334 / -40 halilibo@google.com rz@openai.com
RichTextSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
130 2 2021-08-22 2025-10-22 11 3 +456 / -121 halilozercan@gmail.com rz@openai.com
TextDemo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
220 2 2021-08-22 2025-05-08 9 3 +524 / -22 halilozercan@gmail.com rz@openai.com
16 - 2021-08-22 2025-10-22 9 3 +40 / -6 halilozercan@gmail.com rz@openai.com
Table.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
213 4 2021-08-22 2026-03-09 9 3 +589 / -91 halilozercan@gmail.com rjmarsan@gmail.com
LazyMarkdownSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
340 - 2024-02-11 2025-10-22 8 3 +1805 / -50 halilozercan@gmail.com rz@openai.com
AstNodeConvert.kt
in richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark
239 - 2024-02-07 2026-03-09 7 3 +930 / -12 halilozercan@gmail.com rjmarsan@gmail.com
TraverseUtils.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
33 - 2024-02-07 2026-03-27 7 3 +569 / -373 halilozercan@gmail.com omers@openai.com
SampleTheme.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
45 1 2024-02-11 2025-10-22 6 3 +178 / -3 halilozercan@gmail.com rz@openai.com
RichTextStyle.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
64 - 2021-08-22 2025-06-04 6 3 +188 / -10 halilozercan@gmail.com bjdodson@openai.com
HorizontalRule.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
51 - 2021-08-22 2025-08-25 5 3 +117 / -11 halilozercan@gmail.com rjmarsan@gmail.com
SampleActivity.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
14 1 2021-08-22 2025-10-22 4 3 +36 / -0 halilozercan@gmail.com rz@openai.com
CodeBlock.android.kt
in richtext-ui/src/androidMain/kotlin/com/halilibo/richtext/ui
17 - 2024-02-08 2025-05-08 4 3 +76 / -0 halilibo@google.com rz@openai.com
CodeBlock.desktop.kt
in richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui
37 1 2024-02-08 2025-05-08 4 3 +176 / -0 halilibo@google.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown
19 - 2024-02-07 2025-05-08 7 2 +128 / -44 halilozercan@gmail.com rz@openai.com
AnimationSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
416 - 2025-04-30 2025-08-25 5 2 +646 / -19 rz@openai.com rjmarsan@gmail.com
RichTextThemeConfiguration.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
39 - 2024-01-03 2025-05-08 5 2 +112 / -4 halilozercan@gmail.com rz@openai.com
Heading.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
70 - 2021-08-22 2024-01-03 5 2 +210 / -14 halilozercan@gmail.com halilozercan@gmail.com
RichTextThemeProvider.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
29 1 2024-01-03 2025-05-08 5 2 +120 / -20 halilozercan@gmail.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
5 - 2024-02-07 2025-05-08 5 2 +46 / -2 halilozercan@gmail.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown
13 - 2024-02-07 2025-05-08 5 2 +62 / -2 halilozercan@gmail.com rz@openai.com
CommonMarkdownParseOptions.kt
in richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark
26 4 2024-03-05 2025-05-08 4 2 +152 / -0 halilozercan@gmail.com rz@openai.com
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
StreamingTextAccentRangesTest.kt
in richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string
209 11 2026-06-01 2026-06-01 1 1 +469 / -3 pat@openai.com pat@openai.com
RtlCompatibilityBehaviorSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
187 - 2026-03-25 2026-04-10 4 1 +777 / -319 omers@openai.com omers@openai.com
ic_launcher_background.xml
in android-sample/src/main/res/drawable
170 - 2021-08-22 2021-09-08 2 1 +340 / -0 halilozercan@gmail.com halilozercan@gmail.com
LinkInlineDecorations.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
163 - 2026-01-21 2026-02-12 2 1 +366 / -0 bjdodson@openai.com bjdodson@openai.com
RtlCompatibilitySample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
145 1 2026-03-18 2026-03-27 5 1 +569 / -221 omers@openai.com omers@openai.com
RtlCompatibility.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl
105 - 2026-03-27 2026-04-14 2 1 +295 / -19 omers@openai.com omers@openai.com
TraverseUtilsTest.kt
in richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown
104 8 2026-03-25 2026-03-27 3 1 +318 / -78 omers@openai.com omers@openai.com
InfoPanel.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
92 - 2021-09-19 2024-01-03 3 1 +222 / -2 halilozercan@gmail.com halilozercan@gmail.com
TableMeasurer.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
75 3 2025-04-10 2025-04-10 1 1 +186 / -4 bjdodson@openai.com bjdodson@openai.com
LinkDecorations.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string
73 - 2026-01-21 2026-02-04 2 1 +205 / -17 bjdodson@openai.com bjdodson@openai.com
TableLayout.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
70 - 2025-04-10 2025-06-04 2 1 +202 / -12 bjdodson@openai.com bjdodson@openai.com
CommonmarkAstNodeParserTest.kt
in richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark
47 - 2026-03-09 2026-03-09 1 1 +55 / -0 rjmarsan@gmail.com rjmarsan@gmail.com
RtlCompatibility.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/rtl
46 - 2026-03-27 2026-04-14 2 1 +74 / -3 omers@openai.com omers@openai.com
MarkdownAnimation.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
40 - 2025-08-25 2025-08-25 1 1 +42 / -0 rjmarsan@gmail.com rjmarsan@gmail.com
AnnotatedStringSegmenterTest.kt
in richtext-ui/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/ui/util
34 3 2025-08-25 2025-08-25 1 1 +39 / -0 rjmarsan@gmail.com rjmarsan@gmail.com
ic_launcher_foreground.xml
in android-sample/src/main/res/drawable-v24
30 - 2021-08-22 2021-09-08 2 1 +60 / -0 halilozercan@gmail.com halilozercan@gmail.com
ParsedMarkdown.kt
in richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark
8 - 2025-05-07 2025-05-08 2 1 +42 / -0 rz@openai.com rz@openai.com
styles.xml
in android-sample/src/main/res/values
7 - 2021-08-22 2021-09-08 2 1 +18 / -0 halilozercan@gmail.com halilozercan@gmail.com
RichTextScope.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
7 - 2021-08-22 2024-01-03 3 1 +40 / -6 halilozercan@gmail.com halilozercan@gmail.com
colors.xml
in android-sample/src/main/res/values
6 - 2021-08-22 2021-09-08 2 1 +12 / -0 halilozercan@gmail.com halilozercan@gmail.com
ic_launcher_round.xml
in android-sample/src/main/res/mipmap-anydpi-v26
5 - 2021-08-22 2021-09-08 2 1 +10 / -0 halilozercan@gmail.com halilozercan@gmail.com
ic_launcher.xml
in android-sample/src/main/res/mipmap-anydpi-v26
5 - 2021-08-22 2021-09-08 2 1 +10 / -0 halilozercan@gmail.com halilozercan@gmail.com
UUID.kt
in richtext-ui/src/commonJvmAndroid/kotlin/com/halilibo/richtext/ui/util
5 - 2021-08-22 2021-09-08 2 1 +14 / -0 halilozercan@gmail.com halilozercan@gmail.com
strings.xml
in android-sample/src/main/res/values
3 - 2021-08-22 2021-09-08 2 1 +6 / -0 halilozercan@gmail.com halilozercan@gmail.com
UUID.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util
2 - 2021-08-22 2021-09-08 2 1 +6 / -0 halilozercan@gmail.com halilozercan@gmail.com
AnimationSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
416 - 2025-04-30 2025-08-25 5 2 +646 / -19 rz@openai.com rjmarsan@gmail.com
RichTextSampleApp.kt
in desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop
358 - 2024-02-19 2025-05-08 4 2 +1524 / -4 halilozercan@gmail.com rz@openai.com
AnnotatedStringSegmenter.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util
161 5 2024-08-13 2025-08-25 3 2 +213 / -31 rj@openai.com rjmarsan@gmail.com
ScreenPreview.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
112 6 2021-08-22 2025-05-01 3 2 +328 / -16 halilozercan@gmail.com rz@openai.com
AstNodeType.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
100 - 2024-02-07 2025-05-08 4 2 +738 / -0 halilozercan@gmail.com rz@openai.com
Heading.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
70 - 2021-08-22 2024-01-03 5 2 +210 / -14 halilozercan@gmail.com halilozercan@gmail.com
RichText.kt
in richtext-ui-material3/src/commonMain/kotlin/com/halilibo/richtext/ui/material3
53 1 2024-01-03 2024-12-05 3 2 +148 / -6 halilozercan@gmail.com halilozercan@gmail.com
RichText.kt
in richtext-ui-material/src/commonMain/kotlin/com/halilibo/richtext/ui/material
53 1 2024-01-03 2024-12-05 3 2 +148 / -6 halilozercan@gmail.com halilozercan@gmail.com
RichTextThemeConfiguration.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
39 - 2024-01-03 2025-05-08 5 2 +112 / -4 halilozercan@gmail.com rz@openai.com
RichTextThemeProvider.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
29 1 2024-01-03 2025-05-08 5 2 +120 / -20 halilozercan@gmail.com rz@openai.com
BasicRichText.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
27 1 2024-01-03 2024-12-05 3 2 +76 / -8 halilozercan@gmail.com halilozercan@gmail.com
CommonMarkdownParseOptions.kt
in richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark
26 4 2024-03-05 2025-05-08 4 2 +152 / -0 halilozercan@gmail.com rz@openai.com
AstNodeConvertKtTest.kt
in richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark
23 - 2024-02-07 2025-05-08 4 2 +112 / -0 halilozercan@gmail.com rz@openai.com
AstNodeLinks.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
22 2 2024-02-07 2025-05-08 4 2 +148 / -0 halilozercan@gmail.com rz@openai.com
AstTable.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
20 - 2024-02-07 2025-05-08 4 2 +108 / -0 halilozercan@gmail.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown
19 - 2024-02-07 2025-05-08 7 2 +128 / -44 halilozercan@gmail.com rz@openai.com
AstNode.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node
18 2 2024-02-07 2025-05-08 4 2 +112 / -0 halilozercan@gmail.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown
13 - 2024-02-07 2025-05-08 5 2 +62 / -2 halilozercan@gmail.com rz@openai.com
MarkdownImage.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
11 - 2025-07-27 2025-10-22 2 2 +54 / -0 halilibo@google.com rz@openai.com
HtmlBlock.kt
in richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown
5 - 2024-02-07 2025-05-08 5 2 +46 / -2 halilozercan@gmail.com rz@openai.com
LazyMarkdownSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
340 - 2024-02-11 2025-10-22 8 3 +1805 / -50 halilozercan@gmail.com rz@openai.com
AstNodeConvert.kt
in richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark
239 - 2024-02-07 2026-03-09 7 3 +930 / -12 halilozercan@gmail.com rjmarsan@gmail.com
TextDemo.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
220 2 2021-08-22 2025-05-08 9 3 +524 / -22 halilozercan@gmail.com rz@openai.com
Table.kt
in richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui
213 4 2021-08-22 2026-03-09 9 3 +589 / -91 halilozercan@gmail.com rjmarsan@gmail.com
RichTextSample.kt
in android-sample/src/main/java/com/zachklipp/richtext/sample
130 2 2021-08-22 2025-10-22 11 3 +456 / -121 halilozercan@gmail.com rz@openai.com
Correlations

File Size vs. Number of Changes: 87 points

richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/Text.kt x: 896 lines of code y: 29 # changes richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/StreamingTextAccentRangesTest.kt x: 209 lines of code y: 1 # changes richtext-ui/build.gradle.kts x: 47 lines of code y: 22 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextRenderOptions.kt x: 34 lines of code y: 8 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/BasicMarkdown.kt x: 342 lines of code y: 13 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 185 lines of code y: 12 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl/RtlCompatibility.kt x: 105 lines of code y: 2 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BlockQuote.kt x: 104 lines of code y: 11 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 119 lines of code y: 13 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/FormattedList.kt x: 285 lines of code y: 29 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/rtl/RtlCompatibility.kt x: 46 lines of code y: 2 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilityBehaviorSample.kt x: 187 lines of code y: 4 # changes richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown/TraverseUtilsTest.kt x: 104 lines of code y: 3 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextLocals.kt x: 75 lines of code y: 11 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 33 lines of code y: 7 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilitySample.kt x: 145 lines of code y: 5 # changes android-sample/build.gradle.kts x: 67 lines of code y: 23 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 231 lines of code y: 16 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 141 lines of code y: 18 # changes build.gradle.kts x: 151 lines of code y: 23 # changes richtext-markdown/build.gradle.kts x: 52 lines of code y: 12 # changes richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark/AstNodeConvert.kt x: 239 lines of code y: 7 # changes richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/CommonmarkAstNodeParserTest.kt x: 47 lines of code y: 1 # changes richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 62 lines of code y: 7 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Table.kt x: 213 lines of code y: 9 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkInlineDecorations.kt x: 163 lines of code y: 2 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkDecorations.kt x: 73 lines of code y: 2 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextString.kt x: 470 lines of code y: 20 # changes richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/Markdown.kt x: 71 lines of code y: 8 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/RenderTable.kt x: 63 lines of code y: 6 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/LazyMarkdownSample.kt x: 340 lines of code y: 8 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/RichTextSample.kt x: 130 lines of code y: 11 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/SampleActivity.kt x: 14 lines of code y: 4 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/SampleTheme.kt x: 45 lines of code y: 6 # changes buildSrc/build.gradle.kts x: 13 lines of code y: 18 # changes buildSrc/src/main/kotlin/Dependencies.kt x: 39 lines of code y: 31 # changes buildSrc/src/main/kotlin/richtext-android-library.gradle.kts x: 30 lines of code y: 17 # changes buildSrc/src/main/kotlin/richtext-kmp-library.gradle.kts x: 36 lines of code y: 13 # changes desktop-sample/build.gradle.kts x: 22 lines of code y: 19 # changes richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 80 lines of code y: 4 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 11 lines of code y: 2 # changes richtext-ui-material3/build.gradle.kts x: 27 lines of code y: 10 # changes settings.gradle.kts x: 16 lines of code y: 9 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/AnimationSample.kt x: 416 lines of code y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/HorizontalRule.kt x: 51 lines of code y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/MarkdownAnimation.kt x: 40 lines of code y: 1 # changes richtext-ui/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenterTest.kt x: 34 lines of code y: 1 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenter.kt x: 161 lines of code y: 3 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextStyle.kt x: 64 lines of code y: 6 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableLayout.kt x: 70 lines of code y: 2 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/TextDemo.kt x: 220 lines of code y: 9 # changes desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/RichTextSampleApp.kt x: 358 lines of code y: 4 # changes richtext-commonmark/build.gradle.kts x: 49 lines of code y: 21 # changes richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/AstNodeConvertKtTest.kt x: 23 lines of code y: 4 # changes richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/CommonMarkdownParseOptions.kt x: 26 lines of code y: 4 # changes richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/ParsedMarkdown.kt x: 8 lines of code y: 2 # changes richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 19 lines of code y: 7 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 5 lines of code y: 5 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNode.kt x: 18 lines of code y: 4 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeLinks.kt x: 22 lines of code y: 4 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeType.kt x: 100 lines of code y: 4 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstTable.kt x: 20 lines of code y: 4 # changes richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 13 lines of code y: 5 # changes richtext-ui-material/build.gradle.kts x: 27 lines of code y: 17 # changes richtext-ui/src/androidMain/kotlin/com/halilibo/richtext/ui/CodeBlock.android.kt x: 17 lines of code y: 4 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeConfiguration.kt x: 39 lines of code y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeProvider.kt x: 29 lines of code y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/ConditionalTapGestureDetector.kt x: 203 lines of code y: 7 # changes richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/CodeBlock.desktop.kt x: 37 lines of code y: 4 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/ScreenPreview.kt x: 112 lines of code y: 3 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableMeasurer.kt x: 75 lines of code y: 1 # changes richtext-ui-material/src/commonMain/kotlin/com/halilibo/richtext/ui/material/RichText.kt x: 53 lines of code y: 3 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BasicRichText.kt x: 27 lines of code y: 3 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Heading.kt x: 70 lines of code y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/InfoPanel.kt x: 92 lines of code y: 3 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextScope.kt x: 7 lines of code y: 3 # changes android-sample/src/main/res/drawable-v24/ic_launcher_foreground.xml x: 30 lines of code y: 2 # changes android-sample/src/main/res/drawable/ic_launcher_background.xml x: 170 lines of code y: 2 # changes android-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml x: 5 lines of code y: 2 # changes android-sample/src/main/res/values/strings.xml x: 3 lines of code y: 2 # changes
31.0
# changes
  min: 1.0
  average: 7.7
  25th percentile: 3.0
  median: 5.0
  75th percentile: 11.0
  max: 31.0
0 896.0
lines of code
min: 2.0 | average: 99.13 | 25th percentile: 23.0 | median: 52.0 | 75th percentile: 130.0 | max: 896.0

Number of Contributors vs. Number of Changes: 87 points

richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/Text.kt x: 13 # contributors y: 29 # changes richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/StreamingTextAccentRangesTest.kt x: 1 # contributors y: 1 # changes richtext-ui/build.gradle.kts x: 7 # contributors y: 22 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextRenderOptions.kt x: 5 # contributors y: 8 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/BasicMarkdown.kt x: 6 # contributors y: 13 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 6 # contributors y: 12 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl/RtlCompatibility.kt x: 1 # contributors y: 2 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BlockQuote.kt x: 4 # contributors y: 11 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 4 # contributors y: 13 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/FormattedList.kt x: 8 # contributors y: 29 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilityBehaviorSample.kt x: 1 # contributors y: 4 # changes richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown/TraverseUtilsTest.kt x: 1 # contributors y: 3 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 3 # contributors y: 7 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilitySample.kt x: 1 # contributors y: 5 # changes android-sample/build.gradle.kts x: 5 # contributors y: 23 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 4 # contributors y: 16 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 5 # contributors y: 18 # changes build.gradle.kts x: 4 # contributors y: 23 # changes richtext-markdown/build.gradle.kts x: 4 # contributors y: 12 # changes richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 4 # contributors y: 7 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Table.kt x: 3 # contributors y: 9 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextString.kt x: 8 # contributors y: 20 # changes richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/Markdown.kt x: 4 # contributors y: 8 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/RenderTable.kt x: 4 # contributors y: 6 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/LazyMarkdownSample.kt x: 3 # contributors y: 8 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/RichTextSample.kt x: 3 # contributors y: 11 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/SampleActivity.kt x: 3 # contributors y: 4 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/SampleTheme.kt x: 3 # contributors y: 6 # changes buildSrc/build.gradle.kts x: 4 # contributors y: 18 # changes buildSrc/src/main/kotlin/Dependencies.kt x: 7 # contributors y: 31 # changes buildSrc/src/main/kotlin/richtext-android-library.gradle.kts x: 4 # contributors y: 17 # changes desktop-sample/build.gradle.kts x: 4 # contributors y: 19 # changes richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 4 # contributors y: 4 # changes richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 2 # contributors y: 2 # changes richtext-ui-material3/build.gradle.kts x: 4 # contributors y: 10 # changes android-sample/src/main/java/com/zachklipp/richtext/sample/AnimationSample.kt x: 2 # contributors y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/HorizontalRule.kt x: 3 # contributors y: 5 # changes richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenter.kt x: 2 # contributors y: 3 # changes desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/RichTextSampleApp.kt x: 2 # contributors y: 4 # changes richtext-commonmark/build.gradle.kts x: 6 # contributors y: 21 # changes richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 2 # contributors y: 7 # changes
31.0
# changes
  min: 1.0
  average: 7.7
  25th percentile: 3.0
  median: 5.0
  75th percentile: 11.0
  max: 31.0
0 13.0
# contributors
min: 1.0 | average: 2.9 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 13.0

Number of Contributors vs. File Size: 87 points

richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/Text.kt x: 13 # contributors y: 896 lines of code richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/StreamingTextAccentRangesTest.kt x: 1 # contributors y: 209 lines of code richtext-ui/build.gradle.kts x: 7 # contributors y: 47 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextRenderOptions.kt x: 5 # contributors y: 34 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/BasicMarkdown.kt x: 6 # contributors y: 342 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 6 # contributors y: 185 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl/RtlCompatibility.kt x: 1 # contributors y: 105 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BlockQuote.kt x: 4 # contributors y: 104 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 4 # contributors y: 119 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/FormattedList.kt x: 8 # contributors y: 285 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/rtl/RtlCompatibility.kt x: 1 # contributors y: 46 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilityBehaviorSample.kt x: 1 # contributors y: 187 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextLocals.kt x: 4 # contributors y: 75 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 3 # contributors y: 33 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilitySample.kt x: 1 # contributors y: 145 lines of code android-sample/build.gradle.kts x: 5 # contributors y: 67 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 4 # contributors y: 231 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 5 # contributors y: 141 lines of code build.gradle.kts x: 4 # contributors y: 151 lines of code richtext-markdown/build.gradle.kts x: 4 # contributors y: 52 lines of code richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark/AstNodeConvert.kt x: 3 # contributors y: 239 lines of code richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 4 # contributors y: 62 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Table.kt x: 3 # contributors y: 213 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkInlineDecorations.kt x: 1 # contributors y: 163 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkDecorations.kt x: 1 # contributors y: 73 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextString.kt x: 8 # contributors y: 470 lines of code richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/Markdown.kt x: 4 # contributors y: 71 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/LazyMarkdownSample.kt x: 3 # contributors y: 340 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/RichTextSample.kt x: 3 # contributors y: 130 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/SampleActivity.kt x: 3 # contributors y: 14 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/SampleTheme.kt x: 3 # contributors y: 45 lines of code buildSrc/build.gradle.kts x: 4 # contributors y: 13 lines of code buildSrc/src/main/kotlin/Dependencies.kt x: 7 # contributors y: 39 lines of code buildSrc/src/main/kotlin/richtext-android-library.gradle.kts x: 4 # contributors y: 30 lines of code buildSrc/src/main/kotlin/richtext-kmp-library.gradle.kts x: 4 # contributors y: 36 lines of code desktop-sample/build.gradle.kts x: 4 # contributors y: 22 lines of code richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 4 # contributors y: 80 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 2 # contributors y: 11 lines of code richtext-ui-material3/build.gradle.kts x: 4 # contributors y: 27 lines of code settings.gradle.kts x: 3 # contributors y: 16 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/AnimationSample.kt x: 2 # contributors y: 416 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/HorizontalRule.kt x: 3 # contributors y: 51 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/MarkdownAnimation.kt x: 1 # contributors y: 40 lines of code richtext-ui/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenterTest.kt x: 1 # contributors y: 34 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenter.kt x: 2 # contributors y: 161 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextStyle.kt x: 3 # contributors y: 64 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableLayout.kt x: 1 # contributors y: 70 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/TextDemo.kt x: 3 # contributors y: 220 lines of code desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/RichTextSampleApp.kt x: 2 # contributors y: 358 lines of code richtext-commonmark/build.gradle.kts x: 6 # contributors y: 49 lines of code richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/AstNodeConvertKtTest.kt x: 2 # contributors y: 23 lines of code richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/CommonMarkdownParseOptions.kt x: 2 # contributors y: 26 lines of code richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/ParsedMarkdown.kt x: 1 # contributors y: 8 lines of code richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 2 # contributors y: 19 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 2 # contributors y: 5 lines of code richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeType.kt x: 2 # contributors y: 100 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeConfiguration.kt x: 2 # contributors y: 39 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeProvider.kt x: 2 # contributors y: 29 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/ConditionalTapGestureDetector.kt x: 4 # contributors y: 203 lines of code richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/CodeBlock.desktop.kt x: 3 # contributors y: 37 lines of code android-sample/src/main/java/com/zachklipp/richtext/sample/ScreenPreview.kt x: 2 # contributors y: 112 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableMeasurer.kt x: 1 # contributors y: 75 lines of code richtext-ui-material/src/commonMain/kotlin/com/halilibo/richtext/ui/material/RichText.kt x: 2 # contributors y: 53 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Heading.kt x: 2 # contributors y: 70 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/InfoPanel.kt x: 1 # contributors y: 92 lines of code richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextScope.kt x: 1 # contributors y: 7 lines of code android-sample/src/main/res/drawable-v24/ic_launcher_foreground.xml x: 1 # contributors y: 30 lines of code android-sample/src/main/res/drawable/ic_launcher_background.xml x: 1 # contributors y: 170 lines of code android-sample/src/main/res/values/strings.xml x: 1 # contributors y: 3 lines of code
896.0
lines of code
  min: 2.0
  average: 99.13
  25th percentile: 23.0
  median: 52.0
  75th percentile: 130.0
  max: 896.0
0 13.0
# contributors
min: 1.0 | average: 2.9 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 13.0

Number of Changes vs. Line Churn: 267 points

richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/Text.kt x: 29 # changes y: 3607 line churn richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/StreamingTextAccentRangesTest.kt x: 1 # changes y: 472 line churn richtext-ui/build.gradle.kts x: 22 # changes y: 179 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextRenderOptions.kt x: 8 # changes y: 86 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/BasicMarkdown.kt x: 13 # changes y: 2253 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 12 # changes y: 1043 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl/RtlCompatibility.kt x: 2 # changes y: 314 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BlockQuote.kt x: 11 # changes y: 438 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 13 # changes y: 483 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/FormattedList.kt x: 29 # changes y: 1222 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/rtl/RtlCompatibility.kt x: 2 # changes y: 77 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilityBehaviorSample.kt x: 4 # changes y: 1096 line churn richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown/TraverseUtilsTest.kt x: 3 # changes y: 396 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextLocals.kt x: 11 # changes y: 516 line churn .github/workflows/android.yml x: 15 # changes y: 240 line churn .github/workflows/docs.yml x: 18 # changes y: 150 line churn .github/workflows/publish.yml x: 9 # changes y: 100 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 7 # changes y: 942 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RtlCompatibility.kt x: 3 # changes y: 224 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilitySample.kt x: 5 # changes y: 790 line churn richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown/MarkdownRichTextTest.kt x: 2 # changes y: 30 line churn richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/RtlCompatibilityTest.kt x: 1 # changes y: 84 line churn android-sample/build.gradle.kts x: 23 # changes y: 334 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 16 # changes y: 554 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 18 # changes y: 643 line churn build.gradle.kts x: 23 # changes y: 612 line churn richtext-markdown/build.gradle.kts x: 12 # changes y: 258 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/CommonmarkAstNodeParserTest.kt x: 1 # changes y: 55 line churn richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 7 # changes y: 292 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Table.kt x: 9 # changes y: 680 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkInlineDecorations.kt x: 2 # changes y: 366 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkDecorations.kt x: 2 # changes y: 222 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextString.kt x: 20 # changes y: 1884 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/MarkdownSample.kt x: 28 # changes y: 1463 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/Markdown.kt x: 8 # changes y: 366 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/RenderTable.kt x: 6 # changes y: 216 line churn .gitignore x: 6 # changes y: 18 line churn CHANGELOG.md x: 8 # changes y: 328 line churn README.md x: 16 # changes y: 752 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/DocumentSample.kt x: 10 # changes y: 2631 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/LazyMarkdownSample.kt x: 8 # changes y: 1855 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/PagedSample.kt x: 8 # changes y: 622 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RichTextSample.kt x: 11 # changes y: 577 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleActivity.kt x: 4 # changes y: 36 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleTheme.kt x: 6 # changes y: 181 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SlideshowSample.kt x: 9 # changes y: 819 line churn buildSrc/build.gradle.kts x: 18 # changes y: 110 line churn buildSrc/src/main/kotlin/Dependencies.kt x: 31 # changes y: 558 line churn buildSrc/src/main/kotlin/richtext-android-library.gradle.kts x: 17 # changes y: 166 line churn buildSrc/src/main/kotlin/richtext-kmp-library.gradle.kts x: 13 # changes y: 150 line churn desktop-sample/build.gradle.kts x: 19 # changes y: 123 line churn desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/MarkdownSampleApp.kt x: 8 # changes y: 2069 line churn docs/index.md x: 21 # changes y: 317 line churn docs/printing.md x: 12 # changes y: 396 line churn docs/richtext-commonmark.md x: 23 # changes y: 462 line churn docs/richtext-markdown.md x: 9 # changes y: 236 line churn docs/richtext-ui.md x: 14 # changes y: 370 line churn docs/slideshow.md x: 13 # changes y: 599 line churn gen_docs.sh x: 3 # changes y: 185 line churn gen_dokka_docs.sh x: 2 # changes y: 69 line churn gradle.properties x: 35 # changes y: 168 line churn gradle/wrapper/gradle-wrapper.properties x: 17 # changes y: 54 line churn printing/api/printing.api x: 4 # changes y: 364 line churn printing/build.gradle.kts x: 13 # changes y: 167 line churn printing/gradle.properties x: 4 # changes y: 14 line churn printing/proguard-rules.pro x: 3 # changes y: 84 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/ComposePdfRenderer.kt x: 8 # changes y: 848 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/ComposePrintAdapter.kt x: 5 # changes y: 490 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/CoroutinePrintDocumentAdapter.kt x: 5 # changes y: 328 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/Modifiers.kt x: 5 # changes y: 176 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/Paged.kt x: 7 # changes y: 2020 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/Printable.kt x: 11 # changes y: 781 line churn printing/src/main/java/com/zachklipp/richtext/ui/printing/PrinterMetrics.kt x: 5 # changes y: 147 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 4 # changes y: 374 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 6 # changes y: 579 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 2 # changes y: 54 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 6 # changes y: 126 line churn richtext-ui-material3/build.gradle.kts x: 10 # changes y: 84 line churn settings.gradle.kts x: 9 # changes y: 46 line churn slideshow/api/slideshow.api x: 5 # changes y: 400 line churn slideshow/build.gradle.kts x: 11 # changes y: 108 line churn slideshow/src/main/AndroidManifest.xml x: 5 # changes y: 12 line churn slideshow/src/main/java/com/zachklipp/richtext/ui/slideshow/BodySlide.kt x: 6 # changes y: 356 line churn slideshow/src/main/java/com/zachklipp/richtext/ui/slideshow/NavigableContent.kt x: 5 # changes y: 550 line churn slideshow/src/main/java/com/zachklipp/richtext/ui/slideshow/SlideScope.kt x: 4 # changes y: 138 line churn slideshow/src/main/java/com/zachklipp/richtext/ui/slideshow/Slideshow.kt x: 10 # changes y: 1618 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/AnimationSample.kt x: 5 # changes y: 665 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/HorizontalRule.kt x: 5 # changes y: 128 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/MarkdownAnimation.kt x: 1 # changes y: 42 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenter.kt x: 3 # changes y: 244 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextStyle.kt x: 6 # changes y: 198 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/TextDemo.kt x: 9 # changes y: 546 line churn desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/Main.kt x: 16 # changes y: 2799 line churn desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/RichTextSampleApp.kt x: 4 # changes y: 1528 line churn mkdocs.yml x: 13 # changes y: 87 line churn richtext-commonmark/build.gradle.kts x: 21 # changes y: 187 line churn richtext-commonmark/src/androidMain/AndroidManifest.xml x: 7 # changes y: 10 line churn richtext-commonmark/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 6 # changes y: 156 line churn richtext-commonmark/src/androidMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 13 # changes y: 525 line churn richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/markdown/AstNodeConvert.kt x: 12 # changes y: 1323 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/AstNodeConvertKtTest.kt x: 4 # changes y: 112 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/markdown/AstNodeConvertKtTest.kt x: 5 # changes y: 162 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/CommonMarkdownParseOptions.kt x: 4 # changes y: 152 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 6 # changes y: 60 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/Markdown.kt x: 23 # changes y: 1923 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownParseOptions.kt x: 6 # changes y: 96 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 17 # changes y: 1387 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 8 # changes y: 112 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/RenderTable.kt x: 12 # changes y: 347 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 6 # changes y: 294 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNode.kt x: 9 # changes y: 90 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeType.kt x: 9 # changes y: 996 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstStrikethrough.kt x: 8 # changes y: 52 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstTable.kt x: 6 # changes y: 162 line churn richtext-commonmark/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 9 # changes y: 396 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 7 # changes y: 172 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 5 # changes y: 48 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeType.kt x: 4 # changes y: 738 line churn richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 5 # changes y: 64 line churn richtext-ui-material/build.gradle.kts x: 17 # changes y: 92 line churn richtext-ui/src/androidMain/kotlin/com/halilibo/richtext/ui/CodeBlock.android.kt x: 4 # changes y: 76 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeConfiguration.kt x: 5 # changes y: 116 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/ConditionalTapGestureDetector.kt x: 7 # changes y: 538 line churn richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/CodeBlock.desktop.kt x: 4 # changes y: 176 line churn richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 6 # changes y: 270 line churn richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/previews/BlockQuotePreview.kt x: 6 # changes y: 246 line churn richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/previews/FormattedListPreview.kt x: 6 # changes y: 474 line churn richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/previews/TablePreview.kt x: 6 # changes y: 324 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/ScreenPreview.kt x: 3 # changes y: 344 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/SimpleTableLayout.kt x: 5 # changes y: 460 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableMeasurer.kt x: 1 # changes y: 190 line churn gradlew x: 5 # changes y: 1184 line churn gradlew.bat x: 6 # changes y: 134 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/MarkdownParseOptions.kt x: 4 # changes y: 64 line churn richtext-ui-material/src/commonMain/kotlin/com/halilibo/richtext/ui/material/RichText.kt x: 3 # changes y: 154 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRenderOptions.kt x: 3 # changes y: 32 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/Markdown.kt x: 2 # changes y: 388 line churn jitpack.yml x: 1 # changes y: 14 line churn android-sample/src/main/AndroidManifest.xml x: 3 # changes y: 56 line churn richtext-ui-material/src/androidMain/AndroidManifest.xml x: 3 # changes y: 6 line churn richtext-ui-material3/src/androidMain/AndroidManifest.xml x: 2 # changes y: 6 line churn docs/richtext-ui-material.md x: 6 # changes y: 376 line churn richtext-ui-material/src/commonMain/kotlin/com/halilibo/richtext/ui/material/MaterialRichText.kt x: 3 # changes y: 300 line churn richtext-ui-material3/src/commonMain/kotlin/com/halilibo/richtext/ui/material3/MaterialRichText3.kt x: 2 # changes y: 300 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Heading.kt x: 5 # changes y: 224 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichText.kt x: 3 # changes y: 136 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeIntegration.kt x: 3 # changes y: 328 line churn desktop-sample/src/jvmMain/kotlin/com/halilibo/richtext/desktop/Main.kt x: 3 # changes y: 1088 line churn android-sample/src/main/res/drawable/ic_launcher_background.xml x: 2 # changes y: 340 line churn android-sample/src/main/res/values/styles.xml x: 2 # changes y: 18 line churn build.gradle x: 21 # changes y: 739 line churn printing/build.gradle x: 6 # changes y: 82 line churn richtext-commonmark/api/richtext-commonmark.api x: 7 # changes y: 91 line churn richtext-commonmark/proguard-rules.pro x: 3 # changes y: 63 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/Markdown.kt x: 12 # changes y: 1031 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/MarkdownRichText.kt x: 8 # changes y: 922 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/commonmark/AstNodeConvert.kt x: 4 # changes y: 684 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/node/AstNode.kt x: 4 # changes y: 48 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/node/AstNodeType.kt x: 4 # changes y: 600 line churn richtext-ui-material/api/richtext-ui-material.api x: 5 # changes y: 100 line churn richtext-ui/api/richtext-ui.api x: 11 # changes y: 1424 line churn richtext-ui/build.gradle x: 9 # changes y: 59 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/BlockQuote.kt x: 11 # changes y: 543 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/CodeBlock.kt x: 13 # changes y: 427 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/FormattedList.kt x: 16 # changes y: 1474 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/Heading.kt x: 13 # changes y: 479 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/HorizontalRule.kt x: 10 # changes y: 132 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/RichText.kt x: 12 # changes y: 238 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/RichTextScope.kt x: 9 # changes y: 311 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/RichTextStyle.kt x: 11 # changes y: 303 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/SimpleTableLayout.kt x: 7 # changes y: 351 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/Table.kt x: 11 # changes y: 1399 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/string/InlineContent.kt x: 12 # changes y: 554 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/string/RichTextString.kt x: 8 # changes y: 1416 line churn richtext-ui/src/main/java/com/zachklipp/richtext/ui/string/Text.kt x: 12 # changes y: 1371 line churn sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 7 # changes y: 409 line churn sample/src/main/java/com/zachklipp/richtext/sample/DocumentSample.kt x: 12 # changes y: 1641 line churn sample/src/main/java/com/zachklipp/richtext/sample/MarkdownSample.kt x: 8 # changes y: 981 line churn sample/src/main/java/com/zachklipp/richtext/sample/PagedSample.kt x: 5 # changes y: 362 line churn sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 9 # changes y: 422 line churn sample/src/main/java/com/zachklipp/richtext/sample/ScreenPreview.kt x: 6 # changes y: 612 line churn sample/src/main/java/com/zachklipp/richtext/sample/SlideshowSample.kt x: 8 # changes y: 497 line churn sample/src/main/java/com/zachklipp/richtext/sample/TextDemo.kt x: 8 # changes y: 740 line churn sample/src/main/res/values/colors.xml x: 3 # changes y: 18 line churn richtext-ui-material/src/main/java/com/zachklipp/richtext/ui/material/RichText.kt x: 3 # changes y: 164 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/AstNode.kt x: 4 # changes y: 963 line churn richtext-commonmark/src/main/java/com/zachklipp/richtext/markdown/extensions/AstTable.kt x: 3 # changes y: 116 line churn LICENSE x: 1 # changes y: 201 line churn sample/src/main/java/com/zachklipp/richtext/sample/MainActivity.kt x: 4 # changes y: 312 line churn
3607.0
line churn
  min: 2.0
  average: 382.44
  25th percentile: 68.0
  median: 185.0
  75th percentile: 472.0
  max: 3607.0
0 35.0
# changes
min: 1.0 | average: 7.22 | 25th percentile: 3.0 | median: 5.0 | 75th percentile: 9.0 | max: 35.0

Number of Contributors vs. Line Churn: 87 points

richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/Text.kt x: 13 # contributors y: 3607 line churn richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/StreamingTextAccentRangesTest.kt x: 1 # contributors y: 472 line churn richtext-ui/build.gradle.kts x: 7 # contributors y: 179 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextRenderOptions.kt x: 5 # contributors y: 86 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/BasicMarkdown.kt x: 6 # contributors y: 2253 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 6 # contributors y: 1043 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl/RtlCompatibility.kt x: 1 # contributors y: 314 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BlockQuote.kt x: 4 # contributors y: 438 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 4 # contributors y: 483 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/FormattedList.kt x: 8 # contributors y: 1222 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/rtl/RtlCompatibility.kt x: 1 # contributors y: 77 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilityBehaviorSample.kt x: 1 # contributors y: 1096 line churn richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown/TraverseUtilsTest.kt x: 1 # contributors y: 396 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextLocals.kt x: 4 # contributors y: 516 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 3 # contributors y: 942 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilitySample.kt x: 1 # contributors y: 790 line churn android-sample/build.gradle.kts x: 5 # contributors y: 334 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 4 # contributors y: 554 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 5 # contributors y: 643 line churn build.gradle.kts x: 4 # contributors y: 612 line churn richtext-markdown/build.gradle.kts x: 4 # contributors y: 258 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/CommonmarkAstNodeParserTest.kt x: 1 # contributors y: 55 line churn richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 4 # contributors y: 292 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Table.kt x: 3 # contributors y: 680 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkInlineDecorations.kt x: 1 # contributors y: 366 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkDecorations.kt x: 1 # contributors y: 222 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextString.kt x: 8 # contributors y: 1884 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/Markdown.kt x: 4 # contributors y: 366 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/RenderTable.kt x: 4 # contributors y: 216 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/LazyMarkdownSample.kt x: 3 # contributors y: 1855 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RichTextSample.kt x: 3 # contributors y: 577 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleActivity.kt x: 3 # contributors y: 36 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleTheme.kt x: 3 # contributors y: 181 line churn buildSrc/build.gradle.kts x: 4 # contributors y: 110 line churn buildSrc/src/main/kotlin/Dependencies.kt x: 7 # contributors y: 558 line churn buildSrc/src/main/kotlin/richtext-android-library.gradle.kts x: 4 # contributors y: 166 line churn buildSrc/src/main/kotlin/richtext-kmp-library.gradle.kts x: 4 # contributors y: 150 line churn desktop-sample/build.gradle.kts x: 4 # contributors y: 123 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 4 # contributors y: 374 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 2 # contributors y: 54 line churn richtext-ui-material3/build.gradle.kts x: 4 # contributors y: 84 line churn settings.gradle.kts x: 3 # contributors y: 46 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/AnimationSample.kt x: 2 # contributors y: 665 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/HorizontalRule.kt x: 3 # contributors y: 128 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/MarkdownAnimation.kt x: 1 # contributors y: 42 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenter.kt x: 2 # contributors y: 244 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextStyle.kt x: 3 # contributors y: 198 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/TextDemo.kt x: 3 # contributors y: 546 line churn desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/RichTextSampleApp.kt x: 2 # contributors y: 1528 line churn richtext-commonmark/build.gradle.kts x: 6 # contributors y: 187 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/AstNodeConvertKtTest.kt x: 2 # contributors y: 112 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/CommonMarkdownParseOptions.kt x: 2 # contributors y: 152 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 2 # contributors y: 172 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeType.kt x: 2 # contributors y: 738 line churn richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 2 # contributors y: 64 line churn richtext-ui-material/build.gradle.kts x: 4 # contributors y: 92 line churn richtext-ui/src/androidMain/kotlin/com/halilibo/richtext/ui/CodeBlock.android.kt x: 3 # contributors y: 76 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeConfiguration.kt x: 2 # contributors y: 116 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeProvider.kt x: 2 # contributors y: 140 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/ConditionalTapGestureDetector.kt x: 4 # contributors y: 538 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/InlineContent.kt x: 4 # contributors y: 330 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/ScreenPreview.kt x: 2 # contributors y: 344 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableMeasurer.kt x: 1 # contributors y: 190 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BasicRichText.kt x: 2 # contributors y: 84 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Heading.kt x: 2 # contributors y: 224 line churn android-sample/src/main/res/drawable-v24/ic_launcher_foreground.xml x: 1 # contributors y: 60 line churn android-sample/src/main/res/drawable/ic_launcher_background.xml x: 1 # contributors y: 340 line churn android-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml x: 1 # contributors y: 10 line churn android-sample/src/main/res/values/styles.xml x: 1 # contributors y: 18 line churn
3607.0
line churn
  min: 6.0
  average: 396.59
  25th percentile: 84.0
  median: 190.0
  75th percentile: 516.0
  max: 3607.0
0 13.0
# contributors
min: 1.0 | average: 2.9 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 13.0

File Size vs. Line Churn: 87 points

richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/Text.kt x: 896 lines of code y: 3607 line churn richtext-ui/src/commonTest/kotlin/com/halilibo/richtext/ui/string/StreamingTextAccentRangesTest.kt x: 209 lines of code y: 472 line churn richtext-ui/build.gradle.kts x: 47 lines of code y: 179 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextRenderOptions.kt x: 34 lines of code y: 86 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/BasicMarkdown.kt x: 342 lines of code y: 2253 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt x: 185 lines of code y: 1043 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/rtl/RtlCompatibility.kt x: 105 lines of code y: 314 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/BlockQuote.kt x: 104 lines of code y: 438 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/CodeBlock.kt x: 119 lines of code y: 483 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/FormattedList.kt x: 285 lines of code y: 1222 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/rtl/RtlCompatibility.kt x: 46 lines of code y: 77 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilityBehaviorSample.kt x: 187 lines of code y: 1096 line churn richtext-markdown/src/commonTest/kotlin/com/halilibo/richtext/markdown/TraverseUtilsTest.kt x: 104 lines of code y: 396 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextLocals.kt x: 75 lines of code y: 516 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/TraverseUtils.kt x: 33 lines of code y: 942 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RtlCompatibilitySample.kt x: 145 lines of code y: 790 line churn android-sample/build.gradle.kts x: 67 lines of code y: 334 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/Demo.kt x: 231 lines of code y: 554 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleLauncher.kt x: 141 lines of code y: 643 line churn build.gradle.kts x: 151 lines of code y: 612 line churn richtext-markdown/build.gradle.kts x: 52 lines of code y: 258 line churn richtext-commonmark/src/commonJvmAndroid/kotlin/com/halilibo/richtext/commonmark/AstNodeConvert.kt x: 239 lines of code y: 942 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/CommonmarkAstNodeParserTest.kt x: 47 lines of code y: 55 line churn richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/RemoteImage.kt x: 62 lines of code y: 292 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/Table.kt x: 213 lines of code y: 680 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkInlineDecorations.kt x: 163 lines of code y: 366 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/LinkDecorations.kt x: 73 lines of code y: 222 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/RichTextString.kt x: 470 lines of code y: 1884 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/Markdown.kt x: 71 lines of code y: 366 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/RenderTable.kt x: 63 lines of code y: 216 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/LazyMarkdownSample.kt x: 340 lines of code y: 1855 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/RichTextSample.kt x: 130 lines of code y: 577 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleActivity.kt x: 14 lines of code y: 36 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/SampleTheme.kt x: 45 lines of code y: 181 line churn buildSrc/build.gradle.kts x: 13 lines of code y: 110 line churn buildSrc/src/main/kotlin/Dependencies.kt x: 39 lines of code y: 558 line churn buildSrc/src/main/kotlin/richtext-android-library.gradle.kts x: 30 lines of code y: 166 line churn buildSrc/src/main/kotlin/richtext-kmp-library.gradle.kts x: 36 lines of code y: 150 line churn desktop-sample/build.gradle.kts x: 22 lines of code y: 123 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 80 lines of code y: 374 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownImage.kt x: 11 lines of code y: 54 line churn richtext-ui-material3/build.gradle.kts x: 27 lines of code y: 84 line churn settings.gradle.kts x: 16 lines of code y: 46 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/AnimationSample.kt x: 416 lines of code y: 665 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/HorizontalRule.kt x: 51 lines of code y: 128 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/MarkdownAnimation.kt x: 40 lines of code y: 42 line churn richtext-ui/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenterTest.kt x: 34 lines of code y: 39 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/AnnotatedStringSegmenter.kt x: 161 lines of code y: 244 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextStyle.kt x: 64 lines of code y: 198 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableLayout.kt x: 70 lines of code y: 214 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/TextDemo.kt x: 220 lines of code y: 546 line churn desktop-sample/src/main/kotlin/com/halilibo/richtext/desktop/RichTextSampleApp.kt x: 358 lines of code y: 1528 line churn richtext-commonmark/build.gradle.kts x: 49 lines of code y: 187 line churn richtext-commonmark/src/commonJvmAndroidTest/kotlin/com/halilibo/richtext/commonmark/AstNodeConvertKtTest.kt x: 23 lines of code y: 112 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/CommonMarkdownParseOptions.kt x: 26 lines of code y: 152 line churn richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/commonmark/ParsedMarkdown.kt x: 8 lines of code y: 42 line churn richtext-markdown/src/androidMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 19 lines of code y: 172 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 5 lines of code y: 48 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNode.kt x: 18 lines of code y: 112 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeLinks.kt x: 22 lines of code y: 148 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstNodeType.kt x: 100 lines of code y: 738 line churn richtext-markdown/src/commonMain/kotlin/com/halilibo/richtext/markdown/node/AstTable.kt x: 20 lines of code y: 108 line churn richtext-markdown/src/jvmMain/kotlin/com/halilibo/richtext/markdown/HtmlBlock.kt x: 13 lines of code y: 64 line churn richtext-ui-material/build.gradle.kts x: 27 lines of code y: 92 line churn richtext-ui/src/androidMain/kotlin/com/halilibo/richtext/ui/CodeBlock.android.kt x: 17 lines of code y: 76 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeConfiguration.kt x: 39 lines of code y: 116 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextThemeProvider.kt x: 29 lines of code y: 140 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/util/ConditionalTapGestureDetector.kt x: 203 lines of code y: 538 line churn richtext-ui/src/jvmMain/kotlin/com/halilibo/richtext/ui/CodeBlock.desktop.kt x: 37 lines of code y: 176 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/string/InlineContent.kt x: 71 lines of code y: 330 line churn android-sample/src/main/java/com/zachklipp/richtext/sample/ScreenPreview.kt x: 112 lines of code y: 344 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/TableMeasurer.kt x: 75 lines of code y: 190 line churn richtext-ui-material/src/commonMain/kotlin/com/halilibo/richtext/ui/material/RichText.kt x: 53 lines of code y: 154 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/InfoPanel.kt x: 92 lines of code y: 224 line churn richtext-ui/src/commonMain/kotlin/com/halilibo/richtext/ui/RichTextScope.kt x: 7 lines of code y: 46 line churn android-sample/src/main/res/drawable-v24/ic_launcher_foreground.xml x: 30 lines of code y: 60 line churn android-sample/src/main/res/drawable/ic_launcher_background.xml x: 170 lines of code y: 340 line churn android-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml x: 5 lines of code y: 10 line churn android-sample/src/main/res/values/strings.xml x: 3 lines of code y: 6 line churn android-sample/src/main/res/values/styles.xml x: 7 lines of code y: 18 line churn
3607.0
line churn
  min: 6.0
  average: 396.59
  25th percentile: 84.0
  median: 190.0
  75th percentile: 516.0
  max: 3607.0
0 896.0
lines of code
min: 2.0 | average: 99.13 | 25th percentile: 23.0 | median: 52.0 | 75th percentile: 130.0 | max: 896.0