Repository Analysis

gleam-lang/gleam

⭐️ A friendly language for building type-safe, scalable systems!

2.0 Likely human-written View on GitHub
2.0
Adjusted Score
2.0
Raw Score
100%
Time Factor
2026-05-30
Last Push
21,523
Stars
Rust
Language
222,273
Lines of Code
508
Files
381
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 5HIGH 0MEDIUM 26LOW 350

Pattern Findings

381 matches across 7 categories. Click a row to expand file-level details.

Over-Commented Block340 hits · 292 pts
SeverityFileLineSnippet
LOWcompiler-cli/src/lib.rs161 /// Which compilation target to use
LOWcompiler-cli/src/lib.rs181 replace: bool,
LOWcompiler-cli/src/lib.rs201 /// ]
LOWcompiler-cli/src/lib.rs221 ///
LOWcompiler-cli/src/lib.rs241 /// during development, e.g. code used for testing the package.
LOWcompiler-cli/src/lib.rs261 /// for using packages of yours that are not-yet production-ready, or
LOWcompiler-cli/src/lib.rs301
LOWcompiler-cli/src/lib.rs361 },
LOWcompiler-cli/src/lib.rs381 /// Add the package "wibble":
LOWcompiler-cli/src/lib.rs721 /// A directories of precompiled Gleam projects
LOWcompiler-cli/src/lib.rs761 /// Retire a release from Hex
LOWcompiler-cli/src/lib.rs781 /// Un-retire a release from Hex
LOWcompiler-cli/src/lib.rs821
LOWcompiler-cli/src/lib.rs841 },
LOWcompiler-cli/src/lib.rs861#[derive(Subcommand, Debug)]
LOWcompiler-cli/src/lib.rs881 Publish,
LOWcompiler-cli/src/text_layout.rs1use ecow::EcoString;
LOWcompiler-cli/src/dependencies.rs661/// Returns true if all path dependency configs are unchanged since last build.
LOWcompiler-cli/src/dependencies.rs901 program: "git".into(),
LOWcompiler-cli/src/dependencies.rs921/// switching to the exact commit we want. There a few alternatives to this:
LOWcompiler-core/src/warning.rs201 /// }
LOWcompiler-core/src/warning.rs221
LOWcompiler-core/src/format.rs281 };
LOWcompiler-core/src/format.rs301 ///
LOWcompiler-core/src/format.rs961 .iter()
LOWcompiler-core/src/format.rs1781 // list.map([], wobble(_))
LOWcompiler-core/src/format.rs2121 let clause_doc = match &clause.guard {
LOWcompiler-core/src/format.rs2201 // multiple subjects.
LOWcompiler-core/src/format.rs2381 ItemsPacking::FitOnePerLine
LOWcompiler-core/src/format.rs2401 //
LOWcompiler-core/src/format.rs2661 side: &'a UntypedClauseGuard,
LOWcompiler-core/src/format.rs3061 .append(break_(",", ""))
LOWcompiler-core/src/format.rs3141 // the `as` bit to be on the same line as the original document and
LOWcompiler-core/src/format.rs3221 "echo".to_doc(),
LOWcompiler-core/src/format.rs3261}
LOWcompiler-core/src/format.rs3361/// a bit array in a line.
LOWcompiler-core/src/format.rs3381 /// Try and fit everything on a single line; if the items don't fit, break
LOWcompiler-core/src/derivation_tree.rs21}
LOWcompiler-core/src/derivation_tree.rs281/// each node referring to a specific version range. For example:
LOWcompiler-core/src/config.rs241 pub fn read<FS: FileSystemReader, P: AsRef<Utf8Path>>(
LOWcompiler-core/src/version.rs1/// The current version of the gleam compiler. If this does not match what is
LOWcompiler-core/src/erlang.rs981 // ```erl
LOWcompiler-core/src/erlang.rs1001 // string value with that option we can put it in the bit array like any
LOWcompiler-core/src/erlang.rs1421
LOWcompiler-core/src/erlang.rs1441 // _ -> erlang:error(...)
LOWcompiler-core/src/erlang.rs1461 // ```erlang
LOWcompiler-core/src/erlang.rs2901 .nest(INDENT)
LOWcompiler-core/src/erlang.rs2921/// that the first expression must have evaluated to `true`, and the second
LOWcompiler-core/src/analyse.rs101}
LOWcompiler-core/src/analyse.rs641 // However, since it ends up calling its function argument its
LOWcompiler-core/src/analyse.rs661 // // separate known problem. For the time being we always
LOWcompiler-core/src/inline.rs1//! This module implements the function inlining optimisation. This allows
LOWcompiler-core/src/inline.rs21//! try_sum(rest, sum + number)
LOWcompiler-core/src/inline.rs41//! case int.parse(first) {
LOWcompiler-core/src/inline.rs61//! It is a standard library function within the hardcoded list - which can be
LOWcompiler-core/src/inline.rs81//! so it becomes:
LOWcompiler-core/src/inline.rs161 module
LOWcompiler-core/src/inline.rs181 /// }
LOWcompiler-core/src/inline.rs221 }
LOWcompiler-core/src/inline.rs741 )
280 more matches not shown…
Decorative Section Separators25 hits · 80 pts
SeverityFileLineSnippet
MEDIUMcompiler-core/src/exhaustiveness.rs110/// ─┬─────── ─┬──── ─┬────────── ─┬──
MEDIUMcompiler-core/src/exhaustiveness.rs113/// ╰──────────┴── checks: check that a variable matches with a pattern
MEDIUMcompiler-core/src/exhaustiveness.rs114/// ─┬────────────────────────────────────
MEDIUMcompiler-core/src/exhaustiveness.rs187 /// ─┬────────────
MEDIUMcompiler-core/src/exhaustiveness.rs208 /// ─┬───────────────
MEDIUMcompiler-core/src/exhaustiveness.rs592/// ─┬─────── ─┬────
MEDIUMcompiler-core/src/exhaustiveness.rs593/// ╰─────────┴── Two `PatternCheck`s
MEDIUMcompiler-core/src/exhaustiveness.rs908/// ─┬────────
MEDIUMcompiler-core/src/exhaustiveness.rs922/// ─┬─ ─┬───────────────
MEDIUMcompiler-core/src/exhaustiveness.rs1567/// ─┬──────── ─┬───────
MEDIUMcompiler-core/src/exhaustiveness.rs1590/// ─┬─ ─┬───────────────
MEDIUMcompiler-core/src/exhaustiveness.rs1853 /// ─┬─────────
MEDIUMcompiler-core/src/exhaustiveness.rs1862 /// ─┬───────────────
MEDIUMcompiler-core/src/exhaustiveness.rs1876 /// ─┬───────────────────
MEDIUMcompiler-core/src/exhaustiveness.rs1891 /// ─┬───────
MEDIUMcompiler-core/src/exhaustiveness.rs2049 /// ─┬───────
MEDIUMcompiler-core/src/exhaustiveness.rs2062 /// ─┬────────────────
MEDIUMcompiler-core/src/exhaustiveness.rs2081 /// ─┬───────
MEDIUMcompiler-core/src/exhaustiveness.rs2675 // ─┬────────
MEDIUMcompiler-core/src/exhaustiveness.rs2683 // ─┬──────
MEDIUMcompiler-core/src/ast.rs2644 /// ─┬──────────────
MEDIUMcompiler-core/src/type_/pattern.rs1050 // ┬─── ┬──────
MEDIUMlanguage-server/src/code_action.rs9570 /// ┬────────
MEDIUMlanguage-server/src/code_action.rs9587 /// ┬───────
MEDIUMlanguage-server/src/code_action.rs9605 /// ┬─────────────────────
Hallucination Indicators5 hits · 50 pts
SeverityFileLineSnippet
CRITICALlanguage-server/src/completer.rs575 self.compiler.project_compiler.config.dependencies.keys(),
CRITICALlanguage-server/src/completer.rs1231 self.compiler.project_compiler.config.name.as_str()
CRITICALlanguage-server/src/code_action.rs9144 if self.module.ast.definitions.imports.is_empty() {
CRITICALlanguage-server/src/code_action.rs10653 if !self.module.ast.type_info.values.contains_key("function") {
CRITICALlanguage-server/src/code_action.rs10660 if !self.module.ast.type_info.values.contains_key(&name) {
Fake / Example Data6 hits · 11 pts
SeverityFileLineSnippet
LOWcompiler-core/src/format.rs2399 // [Constructor("wibble", "lorem ipsum dolor sit amet something something"), Other(1)]
LOWcompiler-core/src/format.rs2399 // [Constructor("wibble", "lorem ipsum dolor sit amet something something"), Other(1)]
LOWcompiler-core/src/format.rs2408 // "lorem ipsum dolor sit amet something something",
LOWcompiler-core/src/format.rs2408 // "lorem ipsum dolor sit amet something something",
LOWcompiler-core/src/type_/tests/exhaustiveness.rs1294let name = "John Doe"
LOWcompiler-core/src/erlang/tests/records.rs305 let car = Car(make: "Amphicar", model: "Model 770", driver: Person(name: "John Doe", age: 27))
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippet
LOWcompiler-core/src/type_/pattern.rs1558 // We need to check if there's an explicit size value for the segment.
LOWcompiler-core/src/javascript/decision.rs462 // For binded variables inside body we need to check if
LOWlanguage-server/src/completer.rs212 // We need to check if the new text we're adding could actually be
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMcompiler-core/src/parse.rs5// Essentially a thing that goes between operators.
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOW.github/workflows/release-nightly.yaml13 # Check if the actions already ran in the last 24 hours