You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
- Parse `.gitignore`, `.ignore`, and `.git/info/exclude` during working-tree scans.
6
6
- Add `--exclude-tests` to skip well-known test-case paths from aggregate scan analysis.
7
7
- Replace the linear score deduction with a bounded issue-density curve so noisy large repositories do not collapse to zero.
8
-
- Add aggregate commented-line statistics to scan and diff reports.
8
+
- Add aggregate code/blank/comment-only/inline-comment line statistics to scan and diff reports, and use code lines for issue-density scoring when available.
Copy file name to clipboardExpand all lines: README.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,9 +97,11 @@ Detection uses extensions, shebangs, and common manifests such as `go.mod`, `pac
97
97
98
98
## Aggregate line statistics
99
99
100
-
Scan JSON includes `comment_lines` and `comment_density_percent` beside existing line totals. The same aggregate fields are reported for `totals`, `by_language`, and `by_module`; diff JSON includes before/after/delta values under `totals_delta`.
100
+
Scan JSON includes `lines_scanned`, `blank_lines`, `code_lines`, `comment_lines`, `comment_only_lines`, `inline_comment_lines`, and `comment_density_percent`. The same aggregate fields are reported for `totals`, `by_language`, and `by_module`; diff JSON includes before/after/delta values under `totals_delta`.
101
101
102
-
Comment detection is lexical and language-aware: it recognizes `//`, `#`, and `/* ... */` style comments where those markers are valid, ignores markers inside quoted strings/raw strings, and never emits per-file locations or source snippets.
102
+
`lines_scanned` is physical scanned lines. `code_lines` excludes blank lines and comment-only lines, but keeps lines that contain code plus an inline comment. The score model uses `code_lines` when available and falls back to physical lines for older reports.
103
+
104
+
Comment detection is lexical and language-aware for supported languages: it recognizes `//`, `#`, `/* ... */`, Rust nested block comments, Ruby `=begin`/`=end`, and standalone Python triple-quoted doc/comment blocks where those forms are valid. It ignores common markers inside quoted strings/raw strings/template literals and JavaScript/TypeScript regex literals, and never emits per-file locations or source snippets.
103
105
104
106
## Ignore files, test exclusion, and skip policy
105
107
@@ -143,7 +145,7 @@ Unknown config fields and trailing JSON values are rejected.
143
145
The score is a bounded weighted issue-density signal, not a SonarQube debt rating:
0 commit comments