fix(scripts): stop m3-touch-targets.py reading comments as code
A KDoc line on the dialect picker's row composable, explaining that it used `Card(onClick = …)` rather than a `Modifier.clickable`, was counted as a bare clickable chain. The budget is zero, so a sentence about the rule broke `./gradlew check`. The comment was reworded to get around it, which was the wrong fix -- the sentence was right -- and it is restored here. Not a new rule. m3-spacing-positions.py skips `\s*(//|\*|/\*)` and m3-title-case.py skips the same three prefixes as a startswith tuple; only this checker was missing the two block-comment ones, having been written with `//` alone. m3-audit.sh explains the whole problem at NOT_A_COMMENT, where a note about a hardcoded colour once counted as a colour. The same function had the mirror bug, which is the dangerous direction. It looked for minimumInteractiveComponentSize in a two-line window without stripping comments, so a comment above a real bare `.clickable` that merely mentioned the modifier would have excused it. A false positive is noise; a silently excused offender is a miss. Both lines of the window are now read as code only. Checked against six cases: a bare clickable is still caught, a guard on the same line and a guard on the line above still excuse one, a starred KDoc no longer counts, and a real offender under a comment naming the modifier is now caught. Counts for the tree are unchanged -- 0 before and after -- which was worth establishing, since a broken detector would also report zero. A prefix test rather than block tracking, and the limitation is written on the function: a `/* ... */ `body line not starting with `*` still reads as code. There are 539 block comments under ui/ and not one such line, because every KDoc here stars its body, and three identical rules spelled three ways would be worse than one limitation on the record. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -382,12 +382,10 @@ private fun CatalogueList(
|
||||
/**
|
||||
* One catalogue entry.
|
||||
*
|
||||
* A clickable `Card` rather than a bare clickable modifier, so the whole row is
|
||||
* the target and is 48dp without anybody having to remember
|
||||
* `Card(onClick = …)` rather than a `Modifier.clickable`, so the whole row is the
|
||||
* target and it is 48dp without anybody having to remember
|
||||
* `minimumInteractiveComponentSize` -- the same shape `SelectSubgroupAdminsScreen`
|
||||
* uses for picking members. (Spelled this way round because
|
||||
* `m3-touch-targets.py` reads comments as code; see the note in m3-audit.sh on
|
||||
* the colour check, which hit the same thing.)
|
||||
* uses for picking members.
|
||||
*/
|
||||
@Composable
|
||||
private fun LanguageRow(
|
||||
|
||||
Reference in New Issue
Block a user