mirror of
https://github.com/kucherenko/jscpd.git
synced 2026-09-19 08:11:03 +08:00
feat/dead-code-basta
64 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d47d2dc38a |
fix(basta): read Python names hidden in quoted annotations and src layouts
Two defects found by checking every finding on the ten trending Python repositories against an import graph rebuilt independently of the tool. They accounted for 280 wrong findings out of 1,915; 4 remain, both in cases where the checker is the generous one. A quoted type annotation is a forward reference, not data. `def f(m: "torch.nn.Conv1d")` reads `torch` exactly as surely as the unquoted form does, and the `if TYPE_CHECKING:` idiom exists so that it *is* quoted — the name may not be importable at run time. Without parsing them the import that supplies the name looks unused, which is what made 275 of 834 unused-import findings wrong: 36% of the category, every one of them reported at full confidence. The walk now tracks whether it is inside an annotation and parses string literals found there with ruff's own `parse_string_annotation`, which resolves in the source file's coordinates so the references keep real offsets. Outside an annotation a string stays what it was: weak evidence, never a read. Absolute imports now also resolve against the roots the tree implies, through a new optional `Analyzer::import_roots`. Python derives the parent of every top-level package, which is what makes a `src/` layout work from a file that belongs to no package: `utils/check_repo.py` importing `transformers.testing_utils` matched no scan root and no package of its own. Derived roots are tried last — a scan root is what the user asked for, this is an inference. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
df7b27c793 |
feat(dead-code): find code nothing runs, via the new basta engine
Adds a second question about the same tree: not "what is duplicated" but "what does nothing reach". A new `basta` crate builds the import graph from the project's entry points and walks it, reporting unused files, unused exports, unused module-private declarations, unused imports and — opt-in — unused class members, across JavaScript, TypeScript, JSX, TSX and Python. It ships two ways: `jscpd --dead-code` inside the existing binary, and a standalone `basta` command. Both reuse the walker, the filters, all fifteen reporters and the `--threshold` / `--exit-code` gates, so nothing new has to be learned to run it. Because it is a graph traversal rather than a reference count, dead code cascades: a helper whose only caller is itself dead is reported too. Every finding carries a confidence score and, below 100, the reasons it might be wrong — `eval`, an unrecognised decorator, a wildcard re-export, a name seen only in a string, a file in the scan that did not parse. `--min-confidence` sets the floor at 60. Entry points come from `package.json`, `pyproject.toml`, framework and file-name conventions, and anything a shell script, CI workflow, Makefile or Dockerfile names by path. CommonJS is read alongside ESM. A project that renames its own import paths is read on its own terms: `paths` and `baseUrl` from `tsconfig.json` and `jsconfig.json` are resolved, through a relative `extends` chain and per package in a monorepo. A file named only by a path string — a worker spawned through `new URL`, a build entry, a vitest setup file — counts as used. Languages plug in through one trait, `basta::lang::Analyzer`, which owns parsing, specifier resolution, entry-point conventions, manifests, alias configs and path traits. Nothing outside `lang/` is language-specific; `docs/basta-extending.md` walks through adding one. Validated against knip, fallow, vulture, skylos, fossil-mcp and repowise on trending repositories. On a corpus of ten of them — 11k files, 3.3M lines — every one of basta's 1,806 findings was checked against an import graph rebuilt independently of it: no unused-file, unused-import or unused-symbol claim survived as wrong. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
7d6b4050e2 |
release: cpd-v5.2.1
Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
8200cc452e |
fix(walk): report symlinked files by their walked path and scan each file once
With `--follow-symlinks` the source id was the canonical path, so a file reached through a link showed up as an absolute path outside the scan root, `--ignore` (matched on the walked path) and the report disagreed about its name, and a file reachable through two paths was two sources (a file symlink next to its target even became a clone of itself). The walked path, anchored at the canonical scan root, is now the id: what reports show, what `--ignore` matches, what `--absolute` prints. The canonical path travels alongside (`DiscoveredFile::real_path`, `PreparedSource::real_path`) for reading the file and for the `--skip-local` / `--skip-isolated` prefix checks. When links are followed, files whose canonical path was already seen are dropped; the entry that is the real file wins, else the first walked path. Docs: `--follow-symlinks` row in the option table, the v4 default in the migration table and README. Fixture `fixtures/follow-symlinks-demo`. Closes #1059 Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
b6dc11fce0 |
fix(xml): replace characters XML cannot carry, escape paths once
Closes #375. A snippet containing a NUL, an ANSI escape, a form feed or any other control byte made the xml report unparseable: XML 1.0 has no way to represent those characters, not even inside CDATA, so xmllint stopped at "PCDATA invalid Char value 27" and every parser refused the file. The reporter now replaces every character outside XML's Char production (tab, LF, CR and U+0020 and up, minus U+FFFE/U+FFFF) with U+FFFD in snippets and in path attributes. The existing "]]>" split is kept. Path attributes were also escaped twice: quick-xml escapes attribute values on its own, so the reporter's escape_xml() turned "r&d" into "r&amp;d". The manual escape is gone and the sanitized path goes in raw. Tests parse the generated report to the end with quick-xml and check: control characters become U+FFFD and none survive, a "]]>" round-trips through the split sections, a path with & < " > is escaped exactly once and reads back unchanged, and legal text is left borrowed. Fixtures: fixtures/xml-report-demo with a clone whose body holds real escape bytes, a form feed and a "]]>" literal; the README shows the xmllint and Python checks. Verified the published 5.2.0 fails xmllint on it and the fixed binary passes. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
6d94fd3279 |
docs+test: console-full prints the --history block like console
print_appendices gave console-full the history block it lacked; the History section now names both console reporters and an integration test checks console-full renders it. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
cfac085cf1 |
feat(reporter): bar chart for --history instead of a sparkline
The one-line sparkline was too small to read a trend from. The console block now draws an eight-row bar chart: a percentage axis on the left spanning the series' own min and max (a series moving between 2.0% and 2.4% would be a flat line on a 0-based axis), one column per point built from eighth-block characters so every point keeps at least a sliver, an x-axis, and point numbers that match a new `#` column in the table. Past 20 points the columns narrow to one character so 30 points still fit an 80-column terminal. The ai reporter keeps the compact sparkline. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
adbf5ecf3d |
feat(cli): --history, duplication trend over git history
Closes #1002 (the --history half; --ratchet is deliberately not implemented, the report shows the headroom instead). `jscpd src --history v5.0.0..HEAD` (or `--history-since 2026-01-01`) lists the commits with `git log`, checks each one out into a temporary detached worktree (the --baseline-from-ref machinery, now shared through baseline_ref::map_scan_paths), scans it with the run's own configuration and keeps the totals; the current run is the series' last point. `--history-every N` keeps every Nth commit counted from the newest, `--history-limit N` (default 30) samples a long series evenly keeping both ends. Nothing runs unless one of the flags is given. Output: the console reporter appends a sparkline of the duplication percentage, a table (commit, date, files, lines, clones, dup lines, dup%, change, subject) with the change column red when duplication rose and green when it fell, the overall trend line, and, when --threshold is set and the latest value is under it, the headroom with the value the threshold could be tightened to. The json reporter adds a `history` object; the ai reporter prints one compact line per point. Other reporters are unchanged. New cpd_core::history (model, sparkline, change/headroom helpers with unit tests), cpd::history (git log parsing, sampling, worktree scans), cpd_reporter::history_render. Config keys history / historySince / historyEvery / historyLimit; action input `history`. Integration tests build a four-commit repo with fixed dates and check the JSON series, the console block, every/limit thinning and the error paths. 969 workspace tests pass, clippy clean. Docs: History section and option rows in docs/rust.md, README bullet, action input row, fixtures/history-demo/README.md with a script that builds the demo repository and the expected output. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
bc3ec21f2d |
feat(cli): non-zero exit for unknown format, missing path, failed reporter; add --fail-on-empty
Closes #1047. Four situations used to write an empty report and exit 0, so a CI job that checks only the exit code saw a green run: - `--format` naming a format that is not supported (a warning since #964) is now `Error: --format: 'x' is not a supported format`, exit 1. Names introduced through --formats-exts or --formats-names stay accepted. - A scan path that does not exist is `Error: path does not exist: <p>`, exit 1, before anything runs. - A reporter that fails to write its output still prints the existing `Reporter '<name>' error: ...` line; the run now ends with `ERROR: a reporter failed to write its output` and exit 1, after the other reporters have run. - A scan that analyzes no files (paths exist, but nothing matched the --format/--ignore/--pattern filters or every file was below --min-tokens) prints `Warning: jscpd analyzed no files` and still exits 0, so an intentionally empty tree passes. The new `--fail-on-empty` flag (config key `failOnEmpty`, action input `fail-on-empty`) makes it exit 1. Reports are written before the check. Docs: an "Exit codes" section in docs/rust.md, option rows in docs/rust.md and docs/ci-and-hooks.md, a README feature bullet. Fixtures: fixtures/fail-on-empty-demo with a `code/` clone pair, a `nothing/` comment-only file, and a README quoting every command's output and exit code. Tests: the #964 warning test becomes an error test, plus integration tests for each new exit path and for the config key; 531 tests pass, clippy clean. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
5f09d96c69 |
docs: say that jscpd tokenizes by language syntax, not text
Reviews compare jscpd with detectors that "use language-specific normalization" as if jscpd matched raw text. It does not: every format has its own comment and string rules, JS/TS/JSX/TSX go through the oxc parser (with TypeScript erasure for cross-format pools), Vue/Svelte/ Astro/Markdown/Razor are split into embedded languages, and tokens are classified so the Type-2 pass keeps keywords while renaming identifiers. The README intro and a new first Features bullet say so, and docs/rust.md gains a "How detection works" section walking through format detection, tokenization, modes and ignores, normalization, Rabin-Karp matching and the near-miss passes, plus what stays out of scope (Type-4). Every claim is taken from cpd-tokenizer (generic.rs comment styles, javascript.rs, ts_strip.rs, sfc.rs, markdown.rs, razor.rs, tokenizer.rs mode filter, strips_annotations, is_common_keyword). Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
afea9b1cc6 |
feat(release): publish jscpd platform wheels to PyPI
Closes #1037. Adds rust/scripts/build-pypi-wheels.py, which repacks the eight jscpd-<platform>.tar.gz release tarballs into platform wheels: the same binary under <pkg>.data/scripts/ as both `jscpd` and `cpd`, one wheel per target, stdlib only, no maturin and no recompilation. glibc wheels take their manylinux floor from the GLIBC_x.y symbols in the binary (manylinux_2_34 today), musl builds are static so they tag as musllinux_1_2, macOS and Windows use the Rust minimums. Semver pre-releases map to PEP 440 (5.3.0-beta.1 -> 5.3.0b1); other labels fail rather than guess. release.yml gains a rust-publish-pypi job after the npm publish: it takes the binary artifacts from this run, refills any missing target from the published npm platform package (resumed releases, or a version already on npm), builds the wheels, pip-installs the matching one and checks `jscpd --version` and `cpd --version`, then uploads with PyPI trusted publishing (environment `pypi`, no token, skip-existing). The detect job treats a version missing from PyPI as pending, so the wheels for the current release publish on the next push to master without a new release commit. The GitHub release lists the PyPI package and waits on the upload the same way it waits on crates.io and npm. Docs: PyPI in the README install table and packages table, rust/README and docs/rust.md install sections, and a `language: python` pre-commit option in docs/ci-and-hooks.md so the hook no longer needs Node.js. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
b4cdcc250d |
release: cpd-v5.2.0
Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
98527598e8 | Merge remote-tracking branch 'origin/master' into fix/no-tips-non-tty | ||
|
|
2b3171e5b1 |
fix(cli): NO_COLOR keeps the tips, it only removes the colours
NO_COLOR asks for plain output and nothing else, and many people export it globally while still working in an interactive terminal. Treating it as a tips switch would hide the tips from them for good. The non-TTY check at the print site already covers pipes, files and CI logs, so the environment switches stay CI and JSCPD_NO_TIPS. Help text, docs and the skill table updated; the options test asserts that NO_COLOR does not enable no_tips. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
2671b97521 |
fix(sfc): keep Vue wrapper tags out of the html stream
Sorting the html tokens (previous commit) restores source order, but the wrapper tags of a Vue file — <template>, </template>, <script ...>, </script>, <style ...>, </style> — are identical in every Vue file and sit at both ends of it. In source order they stretch every template clone to the last </style>: on fixtures/vue the html clone went from [1:1 - 10:9] to [1:1 - 262:10] and duplicated lines from 289 to 541, counting the script and style bodies as duplicated html. A file with a <template> block keeps all of its markup inside that block, so the skeleton outside the blocks is only wrapper tags and is now left out of the html stream. The clone becomes the template body itself: file1.vue:html [2:3 - 10:9], 75 tokens. Svelte and Astro have no template wrapper; their top-level markup is the skeleton and is kept, so their output is unchanged. The sort stays, for custom blocks that map to html. Fixture: fixtures/sfc-demo/template-range with a README showing the template-only range; docs/rust.md links it. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
f0c9a41d08 |
fix(type3): pre-release cleanups for --max-gap-lines (refs #1022)
Public-output items from the #1020 review, done while nothing is released: - SARIF and Code Climate rule names now match the clone vocabulary: renamed -> jscpd/renamed-code, similar -> jscpd/similar-code (was jscpd/similar-code for renamed and jscpd/near-miss-code for similar). The similar-code rule text covers both the gap and the ast method. - Duplicated-line statistics and the per-file summary count only the matched lines of a merged clone. CpdClone gains a non-serialized unmatched_lines field holding each fragment's gap lines, so enabling the merge no longer moves --threshold. - A merge whose similarity would fall below 0.5 (more unmatched than matched tokens, e.g. one very long inserted line) is refused and the halves stay separate; MIN_GAP_SIMILARITY documents the floor. - Precedence is decided and documented: merged renamed halves are reported as similar. merge_gapped_clones is restructured around merge_into(); the running matched-token counter was redundant with last.token_count and is gone. Fixtures: type3-demo/long-line (refused merge) and type3-demo/renamed-halves (precedence); README numbers re-measured for the whole directory. Claude-Session: https://claude.ai/code/session_01WztdFKZAwW9b51iJe9zhtV |
||
|
|
61d75c34b3 |
feat(cli): skip tips when stdout is not a TTY or NO_COLOR/JSCPD_NO_TIPS is set
Print the tips/sponsor lines only when stdout is a terminal, so CI logs, pipes and agent hooks no longer get them without --no-tips. Also honor NO_COLOR and JSCPD_NO_TIPS next to the existing CI env check. Fixes #1008 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
e286818c92 |
fix(tokenizer): keep oxc tokens for JS/TS files with recoverable parse errors
A JavaScript/TypeScript file with any parse diagnostic (a redeclaration, a recoverable syntax error) was handed to the word-split fallback tokenizer. Its tokens then never matched an oxc-tokenized file, so every cross-file clone involving it vanished while its self-clones survived — the symptom reported in #1023, where a second copy of a function in one file made all a↔b clones disappear. Tokens come from the lexer, not the parser: only `panicked` (or an empty token stream) now triggers the fallback. Function extraction for --similarity uses the partial AST on recoverable errors the same way. Closes #1023. |
||
|
|
19196f5f26 |
feat(report): show how a similar clone was found — (gap) vs (ast)
`CpdClone.similarity_method` (JSON "method": "gap" | "ast") records which near-miss mechanism produced a `similar` clone. The two scores are not on one scale (gap = matched tokens over the merged span, ast = structural Jaccard of whole functions), so the console prints `Clone found (javascript, similar (gap) ~0.91)` / `similar (ast) ~0.75`, the ai reporter `[~0.91 gap]` / `[~0.75 ast]`, JSON carries "method" and SARIF a `similarity_method` property. Exact and renamed clones are unchanged. |
||
|
|
89f62eb46a | feat(similarity): default threshold 1 = exact matches only; the pass runs only below 1 | ||
|
|
362f00113a |
refactor(similarity): FunctionExtractor trait + registry; signatures carry their grammar
Function extraction is now a language plug-in: `FunctionExtractor` (grammar id, served formats, extract) with a static `EXTRACTORS` registry consulted by `extract_functions` / `supports_functions` / `supported_function_formats`. `OxcExtractor` is the first entry (JS/TS/ JSX/TSX). Every RawFunction/FunctionSig records its grammar and the scorer refuses pairs across grammars, so a tree-sitter-backed extractor for another language is a self-contained addition with no change to scoring, CLI, MCP or reporters. Module docs describe the two steps; the MCP note lists supported formats from the registry. |
||
|
|
69bb0e36bf | fix(mcp): cache the similarity index per scan; document --similarity range as (0, 1] | ||
|
|
57036eb75a |
feat: function-level similarity for JS/TS with --similarity (Type-3, stage 2 of #999)
Off by default. `--similarity RATIO` (config `similarity`, Action input `similarity`, MCP `check_duplication` argument) summarizes every function, method and arrow function of a JavaScript/TypeScript/JSX/TSX file by the bag of 4-grams over the pre-order sequence of its AST node types (oxc), indexes the bags with MinHash + LSH banding, and reports pairs whose weighted Jaccard index reaches RATIO as `similar` clones with a `similarity` value. Names and literal values are not part of the summary: a renamed copy scores 1.0, one inserted line ~0.9, two inserted statements plus renames ~0.75. Functions must clear --min-tokens/--min-lines, nested functions are never paired with their parent, and pairs already covered by an exact, renamed or merged clone are skipped. Values outside (0, 1] warn and disable the option. Reporting reuses the Type-3 vocabulary (console `similar ~0.75`, JSON kind/similarity, SARIF jscpd/near-miss-code). New: cpd-core::similarity (FunctionSig, SimilarityIndex, bag_jaccard, minhash), cpd-tokenizer::functions (oxc visitor extractor), MCP function index built lazily per scan. fixtures/type3-demo/similar-functions with README numbers, docs, unit + integration + MCP stdio tests. Also adds the missing max_gap_lines/similarity fields to the --debug config output. |
||
|
|
6d88ee6b35 | ci(action): max-gap-lines input defaults to 0, matching the CLI | ||
|
|
448eb9526c |
feat: near-miss clone merging with --max-gap-lines (Type-3, stage 1 of #999)
Off by default (0). When set to N, clones of the same file pair whose fragments follow each other in both files with at most N unmatched lines between them are merged into one clone of kind `similar`, with `tokens` = matched tokens and `similarity` = matched tokens over the tokens of the longer merged span. Adjacent exact windows that share a boundary token are counted once; chains merge transitively; overlapping or reordered fragments never merge. The pass runs after every other filter and returns its input untouched at 0, so default output is unchanged. Reporting: console `Clone found (fmt, similar ~0.91)`, ai `[~0.91]`, JSON "kind"/"similarity" (rounded to three decimals), SARIF rule jscpd/near-miss-code with a similarity property (declared only when referenced), Code Climate check_name. Config key maxGapLines (kebab alias), GitHub Action input max-gap-lines, docs section, fixtures/type3-demo with a README of runnable commands, unit tests for the merge pass and reporters, and a binary-level integration test. |
||
|
|
9fef600ad1 |
feat: Type-2 clone detection (--ignore-identifiers, --ignore-literals, --ignore-annotations)
Closes #998. Three opt-in flags (config keys ignoreIdentifiers, ignoreLiterals, ignoreAnnotations) normalize token classes before hashing so that blocks which differ only in names, values or annotations are detected: - identifiers hash as `$id`; keywords are kept (the JS/TS tokenizer classifies them, other languages use a built-in common-keyword list) - string literals hash as `$str`, numeric literals as `$num` - `@Name`, `@a.b.Name` and `@Name(...)` runs are dropped in Java, Kotlin, Scala, Groovy, Python, Dart, Swift, JavaScript and TypeScript Each clone now carries `kind: exact | renamed`. DetectionToken gains a raw_hash (equal to hash unless normalization rewrote the token); the PreparedSource materializes raw hashes only when a token was normalized, and the detector compares raw hashes over the matched run to classify a pair. A dropped annotation salts the raw hash of the token before it, so a pair differing only in annotations inside the matched run is `renamed`. Reporters: console prints `Clone found (fmt, renamed)`, ai appends `(renamed)`, json adds "kind", sarif uses rule jscpd/similar-code (declared only when referenced), codeclimate the same check_name. Default runs are unchanged apart from the additive "kind": "exact" JSON field. Also: GitHub Action inputs, docs section, fixtures/type2-demo with a README of runnable commands, unit tests in tokenizer/core/reporter, CLI flag tests, and a binary-level integration test. |
||
|
|
75de98d9f4 | docs: comma caveat, warning wording, and C# license-header example for ignore patterns | ||
|
|
564d913c15 | docs: document v5 source-region ignores | ||
|
|
6b25b3a6b8 |
release: cpd-v5.1.2
First release from the v5-only master. Bumps jscpd to 5.1.2 and every sub-crate (cpd-core 0.1.11, cpd-tokenizer 0.1.13, cpd-finder 0.1.14, cpd-reporter 0.1.12) so the new crates.io metadata from #988 and the Windows drive-path fix in cpd-finder are republished. Adds the 5.1.2 changelog section (linux-arm64-musl package, cargo-binstall, Docker image, jscpd --version naming, pre-commit hook args, repository split) and refreshes the version examples in docs/. Pre-release checks: cargo fmt, clippy -D warnings, cargo test --locked (22 suites), cargo check --all-targets --target x86_64-pc-windows-msvc, release-notes extraction dry-run against rust/CHANGELOG.md. |
||
|
|
d790c6c1d3 |
chore: make master v5-only
Everything belonging to the v4 TypeScript engine moves to the master-v4 branch: apps/, packages/, build-utils/, changesets, pnpm workspace, turbo, the Node.js CI workflow and the ts-* release jobs. What remains is the Rust workspace under rust/, the npm wrapper and platform packages, the GitHub Action, Docker image, flake, skills, benchmark and fixtures/. - rust.yml gains a smoke job that runs the release binary against fixtures/ (json, sarif, html) and asserts clones and reporters - release.yml keeps only the Rust jobs; pnpm removed from every workflow; audit.yml keeps cargo audit + cargo deny; dependabot drops the root npm entry - root package.json becomes a thin private package depending on the exact jscpd@5 version so the pre-commit hook keeps installing the binary; sync-version.mjs keeps it in step - .pre-commit-hooks.yaml used v4-only flags that the v5 CLI rejects; fixed - FORMATS.md is now generated from the Rust tokenizer (224 formats) - README, docs, CONTRIBUTING, SECURITY, package and crate descriptions, benchmark and skills rewritten for v5 on its own terms: no v5-vs-v4 speed multipliers anywhere, a single "Looking for v4?" pointer to master-v4 |
||
|
|
b0c31a4042 |
chore: apply audit fixes across repo, crates, npm wrapper and pipelines
Rust / crates.io - report the invoked binary name in --version/--help (jscpd vs cpd) - add repository, documentation, keywords, categories to all crates - exclude tests/ from the jscpd crate package; add cargo-binstall metadata - expand the crates.io README and render it on docs.rs npm - add funding field to jscpd, cpd and jscpd@4 packages - add jscpd-linux-arm64-musl platform package and clearer unsupported-platform error - enable provenance for the v4 changeset publish Pipelines - rust.yml: windows-latest in the matrix, drop dead schedule guard - release.yml: cosign-sign release assets, floating v5 tag, LICENSE in tarballs, invoke the new docker.yml (GHCR multi-arch image) after each release - audit.yml: nightly cargo audit, cargo deny and pnpm audit - Dockerfile: multi-stage image from release binaries (distroless), mcp target for Glama Docs / community - README: shields badges, single primary install per OS, GitHub Action snippet, link to jscpd.dev, v5.1 features, 15 reporters, 224 formats, 8 platforms - docs: @v5 action tag, Docker usage, baseline section, current crate versions - YAML issue forms with engine selector, config.yml, CODEOWNERS - remove stale .github/CONTRIBUTING.md stub, custom.md, TODO.md; untrack rust/jscpd-report.json - examples: mark as v4 API, add a Rust cpd-finder example |
||
|
|
c187237dfb |
feat(config): discover config in .config/ subfolder (dot-config convention)
Auto-discovery now also checks .config/jscpd.json (and .config/.jscpd.json) between the root .jscpd.json and the package.json jscpd key, per https://dot-config.github.io/. Root .jscpd.json keeps precedence, so the new location is optional and never changes behavior for existing setups. Paths inside the config still resolve relative to the working directory, as with other auto-discovered sources. Closes #979 Claude-Session: https://claude.ai/code/session_01VvWzWfEK6oV4HTe6EoGkff |
||
|
|
b01910ddc2 | feat: add support for Windows on ARM | ||
|
|
971d09f817 |
feat(rust): --skip-isolated folder groups for monorepos (#628)
Port the skipIsolated option from jscpd PR #628 to the Rust engine: clones spanning two different folders of the same isolation group are dropped, so team-owned monorepo packages are not compared with each other while everything still matches against shared code. - CLI: --skip-isolated / --skipIsolated "packages/a|packages/b,libs/a|libs/b" - Config file: skipIsolated as nested arrays (jscpd shape) - Detection: PathFilters bundles skip_local + skip_isolated path checks, applied in both the primary and secondary clone passes - MCP server: isolation groups apply to project scans; snippet checks remain unfiltered |
||
|
|
390f360c2f |
Merge remote-tracking branch 'origin/master' into feat/891-mcp-stdio
# Conflicts: # README.md # docs/rust.md # rust/CHANGELOG.md # rust/crates/cpd/src/cli.rs |
||
|
|
f7d9bab605 |
feat(rust): MCP tool review fixes — sorted lists, format aliases, get_file_clones
Improvements from reviewing the MCP tool surface against real agent
usage:
- Clone/match lists are sorted biggest-first (token_count desc) before
the 'limit' cap. Detection emits path order, so truncation previously
kept the alphabetically-first clones instead of the most important
ones. Applies to check_current_directory, check_duplication, and the
new get_file_clones (project clones sorted once per scan).
- check_duplication accepts file extensions as format aliases: "js",
"py", "tsx" resolve via get_format_by_extension, removing the most
likely first-use failure for agents that pass the extension. The
resolved format is echoed in the payload.
- check_duplication gains the same 'limit' argument (default 100) and
truncation contract as check_current_directory: 'count' is the
untruncated total, 'returned' the list length, 'note' on truncation.
- New tool get_file_clones(path, limit?) — clones involving one file,
for the dominant file-scoped agent workflow ("what in this file is
duplicated, where?"). Accepts scan-root-relative or absolute paths,
folds embedded-code-block fragment ids into their parent file, and
distinguishes "no clones" from "file was not part of the scan".
- display_path normalizes separators to '/' so tool output is uniform
across platforms.
7 new unit tests (alias resolution, limit contract, file filter,
unscanned-file note, missing path, biggest-first ordering across
differently-sized clone pairs); tools/list coverage updated to the
four-tool surface. Full workspace suite green.
Refs #891
|
||
|
|
6ea9c279c3 |
feat(rust): return the clone list from the MCP check_current_directory tool
check_current_directory previously answered with counts only, which
left an MCP client unable to see where the duplication actually is.
The server now keeps the clones from the last scan and returns them:
- duplications: [{format, fileA, startA, endA, fileB, startB, endB,
lines, tokens}] with paths relativized to the scan roots and
sub-format fragment ids (embedded code blocks) folded into their
parent file
- optional 'limit' argument (default 100) caps the list so heavily
duplicated projects cannot flood an LLM context; 'clones' always
carries the untruncated total, 'returned' the list length, and a
'note' marks truncation — no silent capping
- non-integer 'limit' is rejected with -32602
Unit test asserts list shape, cross-file attribution, and the
truncation contract; the end-to-end stdio session now exercises the
tool as well.
Refs #891
|
||
|
|
ea3599fc0d |
feat(rust): MCP server over stdio transport (--mcp)
Closes the gap reported in #891: the HTTP-only jscpd-server cannot be used by MCP clients that spawn and manage a stdio process themselves (Claude Desktop/Code, Cursor, APM, ...). The Rust binary now serves the Model Context Protocol directly: cpd --mcp /path/to/project Transport & protocol: - newline-delimited JSON-RPC 2.0 on stdin/stdout; stdout carries protocol messages only, logging goes to stderr; exits 0 on stdin EOF - protocol revision 2025-06-18, accepting 2025-03-26 and 2024-11-05 clients via version negotiation; ping, tools/list, tools/call; notifications ignored; parse errors reported (-32700) without killing the session Tools (mirroring the HTTP jscpd-server): - check_duplication(code, format) — checks a snippet against the scanned project; results are compact JSON in a text content block with file/snippet line ranges; unknown formats and sub-threshold snippets produce informative results - get_statistics() — files, clones, full Statistics of the last scan - check_current_directory() — re-scan the configured paths Performance: the project is scanned once at startup and cached as detection-ready token hashes (PreparedSource pools per format / cross-format group), so snippet checks only tokenize the snippet and run one pool detection — milliseconds even on large codebases. All standard detection options (--min-tokens, --format, --cross-formats, --ignore, ...) apply to the scan and to snippet checks. Supporting refactor in cpd-finder: orchestrate::run() split into build_thread_pool() + prepare_scan_in() (walk + tokenize, returning PreparedScan) so the MCP server can keep prepared sources around; run() behavior is unchanged and detect_prepared is untouched. strip_types_formats made pub for snippet tokenization parity; PreparedSource now derives Clone. hyperfine A/B vs a master-built baseline shows no regression on the normal CLI path (39.0ms vs 41.2ms, within noise). Tests: 12 unit tests for the protocol handler and tools, plus 2 end-to-end tests that spawn the real binary and drive a full stdio session (initialize → tools/list → tools/call → EOF), asserting stdout is protocol-only. Full workspace suite green. Docs: docs/ai-ready.md MCP section restructured into stdio (Rust v5) and Streamable HTTP (Node v4) transports with client config examples; docs/rust.md options table; root README; rust/CHANGELOG.md 5.0.16. The jscpd-server (Node) stdio subcommand asked for literally in #891 can follow separately; this provides the stdio transport via the v5 binary that ships with jscpd@5. Refs #891 |
||
|
|
0da2b779e6 |
feat(rust): opt-in --summary codebase report — top files/folders by tokens, lines, size, complexity
Adds a refactoring-hotspot summary computed from data the detector already holds in memory, appended to the run output when requested: - --summary enable the summary block (also `summary` in .jscpd.json) - --summary-top <n> entries per list (default 10, `summaryTop`) - --summary-by <m> ranking metric: tokens|lines|size|complexity (`summaryBy`) Output: top-N files (tokens, lines, size, complexity estimate, dup%) strictly ranked by the chosen metric — every row carries all metrics — plus a top-N folder rollup (direct-parent aggregation, each file counted once). totalFiles/totalFolders always report pre-truncation counts. Complexity is a language-agnostic cyclomatic estimate: 1 + decision-point tokens (if/elif/elsif/elseif/unless/for/foreach/while/until/case/cond/ when/catch/rescue/except/andalso/orelse/&&/||/and/or/?/??), matched ASCII-case-insensitively so uppercase-keyword languages (SQL, PL/SQL, Fortran, COBOL, BASIC) count too. Verified across all 157 fixture languages. Reporter integration: - console / console-full: aligned tables after the normal output - ai: compact one-line-per-entry block (LLM-token-efficient) - json: additive `summary` key, absent when the flag is off — schema unchanged for existing consumers Performance: the only unconditional change is capturing the file's byte size from the existing mmap; all summary work runs post-detection and only when --summary is set. hyperfine A/B vs master baseline shows identical times without the flag (39.8ms vs 40.2ms) and ~2ms summary cost when enabled. New: cpd-core/src/summary.rs (model + computation, 14 unit tests), cpd-reporter/src/summary_render.rs. ReportContext gains an optional summary reference (ReportContext::new is unchanged; with_summary added). SourceFile gains a serde-defaulted `bytes` field. 6 new CLI integration tests; full workspace suite green. Follow-ups tracked in #934: HTML report section, TypeScript parity port. Refs #934 |
||
|
|
077ce095f4 | Merge remote-tracking branch 'origin/master' into feat/auto-disable-colors-non-tty | ||
|
|
ca5917ea4a |
Merge master into feat/mcp-2026-07-28: resolve pnpm-lock.yaml conflict
Take master's lockfile (carries the security overrides from
|
||
|
|
db2e5d13a9 |
feat(sarif): escalate all results to error when duplication exceeds --threshold
Refs #908
Extends the size-based severity from
|
||
|
|
294de6b57c |
feat(sarif): size-based severity via --sarif-error-tokens
Fixes #908 All SARIF results were emitted at level "warning" regardless of clone size, so large copy-pastes and trivial duplicates looked identical to SARIF consumers like GitHub code scanning. Add an opt-in cutoff: clones with token_count >= --sarif-error-tokens are reported at level "error"; smaller clones (and all clones when the flag is unset) stay "warning", so default output is unchanged. The option is also available as sarifErrorTokens / sarif-error-tokens in .jscpd.json, and the rule's defaultConfiguration remains "warning" (per-result level overrides it). No default cutoff is imposed — the issue explicitly asked not to invent an arbitrary one, so severity escalation is purely opt-in. |
||
|
|
e94dcd0339 |
fix(server): harden Host allowlists, REST guards, and the default bind
Include the concrete bind host in resolveAllowedHosts, apply Origin/Host validation to the REST API, and bind to 127.0.0.1 by default. |
||
|
|
9548251b65 |
fix(server): validate Origin and Host on the MCP endpoint
The Streamable HTTP transport requires servers to validate the Origin header on every connection, and /mcp had no such check while listening on the default 0.0.0.0 binding, so a browser could reach the tools through DNS rebinding. Guard the endpoint with the SDK's own request guards. Origin validation is always on: a request with no Origin header is served, since non-browser MCP clients send none, while a present, unlisted origin is answered with 403 and a JSON-RPC error carrying no id. Host validation stays a policy decision — a loopback bind gets the localhost allowlist automatically, a deliberate external bind is only restricted once the operator names the hostnames, so remote deployments keep working. Both lists are extendable with the new --allowed-origin and --allowed-host options. Also make the test SSE reader follow the event framing rules: it now splits events on blank lines, joins each event's data fields with a newline and skips comment keep-alives, so a multi-line payload no longer fails to parse and a notification emitted before the result is no longer mistaken for the response. Assert the cache fields on server/discover as well: the 2026-07-28 caching rules list it as a cacheable result alongside the list operations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|
|
103dc7377a |
feat(server): serve MCP revision 2026-07-28 via SDK v2
Migrate the jscpd-server MCP endpoint from the monolithic @modelcontextprotocol/sdk v1 to the split v2 packages (@modelcontextprotocol/server and @modelcontextprotocol/node) and serve protocol revision 2026-07-28 through the SDK's own primitives instead of hand-rolled transport wiring. - replace the session map and the initialize-gated POST handler with createMcpHandler + toNodeHandler mounted on every method of /mcp, so modern requests are direct and stateless: no initialize, no Mcp-Session-Id, protocol version and client capabilities travel in the per-request _meta envelope, and server/discover answers discovery - let the SDK own the Streamable HTTP behaviour: MCP-Protocol-Version, Mcp-Method and Mcp-Name header validation, the resultType discriminator on every result, and the 405 answers for the 2025-era session operations - configure per-operation cache hints so cacheable results carry the required ttlMs/cacheScope, with a shorter, private hint for the statistics resource that changes on every rescan - keep dual-era compatibility: 2025-era clients are served by the stateless legacy fallback backed by the very same server factory - hold the service and the MCP endpoint in explicit application state instead of handler closures and an implicit per-session transport map Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|
|
d4147c6191 |
fix(colors): strip cli-table3 styling when colors are disabled
The console reporters render their tables with cli-table3, which styles the head and borders through its own @colors/colors dependency - a separate singleton that configureColors() never touched. Piped output therefore still carried escape sequences for the table, which is the `jscpd . > out.txt` case from #893. Toggling that second singleton is not reliable under pnpm (it is a transitive dependency of cli-table3 and does not resolve from our own packages), so the reporters now pass an explicit cli-table3 `style` instead: the library defaults while colors are on, no styling at all once they are off. The helper reads `colors/safe` through `require` rather than a namespace import on purpose. The published bundle compiles `import * as colors` into a plain-object copy of the module exports, which snapshots `enabled` at load time - the fix worked under vitest but not in the built CLI until this was changed. Also: - FORCE_COLOR now takes precedence over NO_COLOR, and an empty FORCE_COLOR counts as force-on, matching Node core, chalk and @colors/colors. Docs updated. - detectClones() checks the merged options object in the guard as well as in the call, so the two cannot diverge. - Add reporter-level regression tests asserting the rendered console and consoleFull output carries no escape sequences once colors are off, and still does while they are on. |
||
|
|
10a77300c4 |
feat(cli): auto-disable ANSI colors when stdout is not a TTY
Console output previously always emitted ANSI color escape sequences regardless of whether stdout was a terminal. When jscpd runs through a pipe, CI runner, redirect, or a command-capturing coding agent, those sequences pollute captured logs and waste context. Resolve color output from the following precedence before any reporter runs: explicit `--colors` / `--no-colors` (or `colors: true|false` in config) → `NO_COLOR` → `FORCE_COLOR` → TTY detection. The resolved value is applied to the shared `colors/safe` singleton, so every reporter respects it. Adds a pure `shouldEnableColors()` helper plus `configureColors()`, unit tests covering the precedence and CLI parsing, and docs. Fixes #893 |
||
|
|
030f38aa1b |
feat(rust): add --cross-formats for cross-format clone detection (#810)
Detect duplicates across related formats via format equivalence groups sharing one comparison pool, e.g. --cross-formats "javascript,typescript" or the js-ts preset (javascript,jsx,typescript,tsx). When a group mixes TypeScript with JavaScript, TS files are compared with erasable type-only syntax stripped from the detection token stream (type annotations, generics, interface/type declarations, as/satisfies, ?/! markers, access modifiers, implements clauses, type-only imports/exports, overload signatures, declare statements) so that `function f(a: number): void` matches `function f(a)`. Stripping is AST-driven (oxc_ast_visit over the already-parsed program) and only drops tokens, so reported clone positions always reference the original source. - cpd-tokenizer: new ts_strip module, tokenize_js_stripped, TokenizeOptions.strip_types_formats (empty by default) - cpd-finder: RunConfig.cross_formats, build_pools() pool grouping, strip-set computation for TS-family formats grouped with JS - cpd: --cross-formats flag, crossFormats config field (string, array-of-strings, or array-of-arrays), js-ts preset, overlap merging, unknown-format warnings, --debug output - docs: rust.md option + Cross-Format Groups section, CHANGELOG entry - tests: tokenizer strip tests, pool unit tests, cross-pool core test, cpd-finder integration tests, CLI parse/config tests, e2e binary tests with fixtures; default behavior unchanged (golden parity intact) Non-erasable TS syntax with runtime semantics (enum, non-declare namespace, parameter properties, import =, export =) is left intact and will not cross-match. Cross-format clones are attributed to one member format in per-format statistics. Closes #810 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
f7680355df |
docs(readme): fix jscpd@5 bin claim and refresh npm README
The jscpd@5 npm package only installs the [1mClone found (actionscript)[22m - [1m[32mactionscript/file1.as[39m[22m [1:1 - 30:10] (30 lines, 127 tokens) actionscript/file2.as [1:1 - 30:10] [1mClone found (ada)[22m - [1m[32mada/file1.ada[39m[22m [1:1 - 21:12] (21 lines, 103 tokens) ada/file2.ada [1:1 - 21:12] [1mClone found (antlr4)[22m - [1m[32mantlr4/file1.g4[39m[22m [1:1 - 21:27] (21 lines, 82 tokens) antlr4/file2.g4 [1:1 - 21:27] [1mClone found (apex)[22m - [1m[32mapex/file1.cls[39m[22m [1:29 - 24:18] (24 lines, 115 tokens) apex/file2.cls [1:29 - 24:18] [1mClone found (apl)[22m - [1m[32mapl/file1.apl[39m[22m [1:1 - 20:54] (20 lines, 252 tokens) apl/file2.apl [1:1 - 20:54] [1mClone found (css)[22m - [1m[32mastro/component1.astro:css[39m[22m [76:3 - 161:4] (86 lines, 364 tokens) astro/component2.astro:css [76:3 - 161:4] [1mClone found (css)[22m - [1m[32mastro/component1.astro:css[39m[22m [79:23 - 124:12] (46 lines, 194 tokens) svelte/component1.svelte:css [116:28 - 161:12] [1mClone found (html)[22m - [1m[32mastro/component1.astro:html[39m[22m [1:1 - 162:9] (162 lines, 246 tokens) astro/component2.astro:html [1:1 - 162:9] [1mClone found (html)[22m - [1m[32mastro/component1.astro:html[39m[22m [27:1 - 33:8] (7 lines, 67 tokens) svelte/component1.svelte:html [64:1 - 70:8] [1mClone found (javascript)[22m - [1m[32mastro/component1.astro:javascript[39m[22m [58:3 - 72:4] (15 lines, 111 tokens) astro/component2.astro:javascript [58:3 - 72:4] [1mClone found (typescript)[22m - [1m[32mastro/component1.astro:typescript[39m[22m [2:1 - 24:4] (23 lines, 153 tokens) astro/component2.astro:typescript [2:1 - 24:4] [1mClone found (awk)[22m - [1m[32mawk/file1.awk[39m[22m [1:1 - 23:33] (23 lines, 75 tokens) awk/file2.awk [1:1 - 23:33] [1mClone found (basic)[22m - [1m[32mbasic/file1.bas[39m[22m [1:1 - 18:4] (18 lines, 100 tokens) basic/file2.bas [1:1 - 18:4] [1mClone found (bicep)[22m - [1m[32mbicep/file1.bicep[39m[22m [1:1 - 27:9] (27 lines, 78 tokens) bicep/file2.bicep [1:1 - 27:9] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 26:77] (26 lines, 268 tokens) brainfuck/file1.bf [1:1 - 26:77] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 41:59] (41 lines, 439 tokens) brainfuck/file2.b [1:1 - 41:59] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 41:59] (41 lines, 439 tokens) brainfuck/file2.bf [1:1 - 41:59] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [33:1 - 41:59] (9 lines, 143 tokens) brainfuck/file1.bf [28:1 - 36:59] [1mClone found (cfml)[22m - [1m[32mcfml/file1.cfm[39m[22m [4:20 - 21:2] (18 lines, 85 tokens) cfml/file2.cfm [4:18 - 21:2] [1mClone found (cfscript)[22m - [1m[32mcfscript/file1.cfc[39m[22m [1:1 - 28:11] (28 lines, 161 tokens) cfscript/file2.cfc [1:1 - 28:11] [1mClone found (c)[22m - [1m[32mclike/file1.c[39m[22m [1:1 - 17:4] (17 lines, 258 tokens) clike/file2.c [1:1 - 17:4] [1mClone found (c)[22m - [1m[32mclike/file1.c[39m[22m [8:3 - 19:2] (12 lines, 81 tokens) clike/file2.c [18:3 - 29:2] [1mClone found (cpp)[22m - [1m[32mclike/file1.cpp[39m[22m [1:1 - 88:7] (88 lines, 757 tokens) clike/file2.cpp [1:1 - 88:7] [1mClone found (cpp)[22m - [1m[32mclike/file1.cpp[39m[22m [24:5 - 43:51] (20 lines, 208 tokens) clike/file1.cpp [45:5 - 64:51] [1mClone found (csharp)[22m - [1m[32mclike/file1.cs[39m[22m [1:1 - 91:19] (91 lines, 235 tokens) clike/file2.cs [1:1 - 91:19] [1mClone found (csharp)[22m - [1m[32mclike/file1.cs[39m[22m [103:9 - 185:2] (83 lines, 302 tokens) clike/file2.cs [93:9 - 175:2] [1mClone found (c-header)[22m - [1m[32mclike/file1.h[39m[22m [1:1 - 17:4] (17 lines, 258 tokens) clike/file2.h [1:1 - 17:4] [1mClone found (c-header)[22m - [1m[32mclike/file1.h[39m[22m [8:3 - 19:2] (12 lines, 81 tokens) clike/file2.h [18:3 - 29:2] [1mClone found (cpp-header)[22m - [1m[32mclike/file1.hpp[39m[22m [1:1 - 88:7] (88 lines, 757 tokens) clike/file2.hpp [1:1 - 88:7] [1mClone found (cpp-header)[22m - [1m[32mclike/file1.hpp[39m[22m [24:5 - 43:51] (20 lines, 208 tokens) clike/file1.hpp [45:5 - 64:51] [1mClone found (java)[22m - [1m[32mclike/file1.java[39m[22m [1:1 - 186:6] (186 lines, 6601 tokens) clike/file2.java [1:1 - 186:6] [1mClone found (java)[22m - [1m[32mclike/file1.java[39m[22m [182:51 - 221:2] (40 lines, 786 tokens) clike/file2.java [194:52 - 233:2] [1mClone found (kotlin)[22m - [1m[32mclike/file1.kt[39m[22m [1:1 - 33:6] (33 lines, 186 tokens) clike/file2.kt [1:1 - 33:6] [1mClone found (kotlin)[22m - [1m[32mclike/file1.kt[39m[22m [38:5 - 53:2] (16 lines, 64 tokens) clike/file2.kt [38:5 - 53:2] [1mClone found (scala)[22m - [1m[32mclike/file1.scala[39m[22m [1:1 - 29:2] (29 lines, 848 tokens) clike/file2.scala [1:1 - 29:2] [1mClone found (clojure)[22m - [1m[32mclojure/file1.clj[39m[22m [2:3 - 20:23] (19 lines, 139 tokens) clojure/file2.clj [2:3 - 20:23] [1mClone found (cmake)[22m - [1m[32mcmake/file1.cmake[39m[22m [1:1 - 21:14] (21 lines, 128 tokens) cmake/file2.cmake [1:1 - 21:14] [1mClone found (coffeescript)[22m - [1m[32mcoffeescript/file1.coffee[39m[22m [1:1 - 13:22] (13 lines, 75 tokens) coffeescript/file2.coffee [3:1 - 15:22] [1mClone found (coffeescript)[22m - [1m[32mcoffeescript/file1.coffee[39m[22m [16:1 - 44:21] (29 lines, 144 tokens) coffeescript/file1.coffee [46:1 - 74:21] [1mClone found (lisp)[22m - [1m[32mcommonlisp/file1.el[39m[22m [1:1 - 50:23] (50 lines, 289 tokens) commonlisp/file2.el [1:1 - 50:23] [1mClone found (crystal)[22m - [1m[32mcrystal/file1.cr[39m[22m [1:1 - 29:4] (29 lines, 97 tokens) crystal/file2.cr [1:1 - 29:4] [1mClone found (css)[22m - [1m[32mcss/file1.css[39m[22m [1:1 - 25:2] (25 lines, 237 tokens) css/file10.css [1:1 - 25:2] [1mClone found (css)[22m - [1m[32mcss/file1.css[39m[22m [1:1 - 19:36] (19 lines, 192 tokens) css/file2.css [1:1 - 19:36] [1mClone found (less)[22m - [1m[32mcss/file1.less[39m[22m [1:1 - 19:36] (19 lines, 192 tokens) css/file2.less [1:1 - 19:36] [1mClone found (less)[22m - [1m[32mcss/file1.less[39m[22m [14:35 - 25:2] (12 lines, 90 tokens) css/file1.less [24:5 - 36:2] [1mClone found (scss)[22m - [1m[32mcss/file1.scss[39m[22m [1:1 - 53:2] (53 lines, 324 tokens) css/file2.scss [1:1 - 53:2] [1mClone found (csv)[22m - [1m[32mcsv/file1.csv[39m[22m [1:1 - 9:56] (9 lines, 163 tokens) csv/file2.csv [1:1 - 9:56] [1mClone found (d)[22m - [1m[32md/file1.d[39m[22m [1:1 - 169:6] (169 lines, 1135 tokens) d/file2.d [1:1 - 169:6] [1mClone found (dart)[22m - [1m[32mdart/file1.dart[39m[22m [1:1 - 89:4] (89 lines, 403 tokens) dart/file2.dart [1:1 - 89:4] [1mClone found (dart)[22m - [1m[32mdart/file1.dart[39m[22m [118:15 - 148:2] (31 lines, 119 tokens) dart/file2.dart [88:6 - 118:2] [1mClone found (diff)[22m - [1m[32mdiff/file1.diff[39m[22m [1:1 - 62:7] (62 lines, 435 tokens) diff/file2.diff [1:1 - 62:7] [1mClone found (dot)[22m - [1m[32mdot/file1.dot[39m[22m [1:1 - 18:21] (18 lines, 91 tokens) dot/file2.dot [1:1 - 18:21] [1mClone found (eiffel)[22m - [1m[32meiffel/file1.e[39m[22m [1:1 - 46:11] (46 lines, 130 tokens) eiffel/file2.e [1:1 - 46:11] [1mClone found (elm)[22m - [1m[32melm/file1.elm[39m[22m [1:1 - 47:23] (47 lines, 155 tokens) elm/file2.elm [1:1 - 47:23] [1mClone found (erlang)[22m - [1m[32merlang/file1.erl[39m[22m [1:1 - 121:7] (121 lines, 837 tokens) erlang/file2.erl [1:1 - 121:7] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.cjs [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.js [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.mjs [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_3.js [1:1 - 52:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [28:1 - 55:3] (28 lines, 169 tokens) folder2/file_2.js [1:1 - 28:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [28:1 - 55:3] (28 lines, 169 tokens) folder2/file_2.js [29:1 - 56:3] [1mClone found (fortran)[22m - [1m[32mfortran/file1.f[39m[22m [1:7 - 37:21] (37 lines, 182 tokens) fortran/file2.f [1:7 - 37:21] [1mClone found (gdscript)[22m - [1m[32mgdscript/file1.gd[39m[22m [22:1 - 46:18] (25 lines, 135 tokens) gdscript/file2.gd [22:1 - 46:18] [1mClone found (gettext)[22m - [1m[32mgettext/file1.po[39m[22m [13:1 - 64:7] (52 lines, 82 tokens) gettext/file2.po [13:1 - 64:7] [1mClone found (gherkin)[22m - [1m[32mgherkin/file1.feature[39m[22m [1:1 - 16:26] (16 lines, 83 tokens) gherkin/file2.feature [1:1 - 16:26] [1mClone found (ignore)[22m - [1m[32mgitignore/file1.gitignore[39m[22m [1:1 - 84:16] (84 lines, 234 tokens) gitignore/file2.gitignore [1:1 - 84:16] [1mClone found (go)[22m - [1m[32mgo/file1.go[39m[22m [1:1 - 30:5] (30 lines, 134 tokens) go/file2.go [1:1 - 31:5] [1mClone found (graphql)[22m - [1m[32mgraphql/file1.graphql[39m[22m [1:1 - 25:5] (25 lines, 143 tokens) graphql/file2.graphql [1:1 - 25:5] [1mClone found (groovy)[22m - [1m[32mgroovy/file1.groovy[39m[22m [1:1 - 41:6] (41 lines, 188 tokens) groovy/file2.groovy [1:1 - 41:6] [1mClone found (haml)[22m - [1m[32mhaml/file1.haml[39m[22m [1:1 - 23:18] (23 lines, 118 tokens) haml/file2.haml [1:1 - 23:18] [1mClone found (handlebars)[22m - [1m[32mhandlebars/file1.hbs[39m[22m [1:1 - 28:27] (28 lines, 218 tokens) handlebars/file2.hbs [1:1 - 28:27] [1mClone found (haskell)[22m - [1m[32mhaskell-literate/file1.lhs[39m[22m [1:1 - 31:2] (31 lines, 182 tokens) haskell-literate/file2.lhs [1:1 - 31:2] [1mClone found (haskell)[22m - [1m[32mhaskell/file1.hs[39m[22m [1:1 - 173:34] (173 lines, 902 tokens) haskell/file2.hs [1:1 - 173:34] [1mClone found (haskell)[22m - [1m[32mhaskell/file1.hs[39m[22m [190:1 - 204:33] (15 lines, 99 tokens) haskell/file2.hs [175:1 - 189:33] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hx[39m[22m [1:1 - 62:76] (62 lines, 334 tokens) haxe/file2.hx [1:1 - 62:2] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hx[39m[22m [6:3 - 47:9] (42 lines, 244 tokens) haxe/file1.hx [47:3 - 88:9] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hxml[39m[22m [3:1 - 14:10] (12 lines, 56 tokens) haxe/file2.hxml [1:1 - 12:10] [1mClone found (hcl)[22m - [1m[32mhcl/file1.tf[39m[22m [1:1 - 37:9] (37 lines, 85 tokens) hcl/file2.tf [1:1 - 37:9] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [7:18 - 16:35] (10 lines, 67 tokens) htmlembedded/file2.aspx [7:21 - 16:35] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [18:53 - 36:30] (19 lines, 173 tokens) htmlembedded/file2.aspx [18:60 - 36:30] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [37:95 - 47:8] (11 lines, 56 tokens) htmlembedded/file2.aspx [44:98 - 54:8] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.htm[39m[22m [1:1 - 24:7] (24 lines, 191 tokens) htmlmixed/file2.htm [1:1 - 24:7] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.htm[39m[22m [1:1 - 24:7] (24 lines, 191 tokens) ignore/file2.htm [1:1 - 24:7] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.html[39m[22m [1:1 - 16:2] (16 lines, 91 tokens) htmlmixed/file2.html [1:1 - 16:2] [1mClone found (prolog)[22m - [1m[32midl/file1.pro[39m[22m [1:1 - 28:22] (28 lines, 176 tokens) idl/file2.pro [1:1 - 28:22] [1mClone found (idris)[22m - [1m[32midris/file1.idr[39m[22m [1:1 - 35:3] (35 lines, 208 tokens) idris/file2.idr [1:1 - 35:3] [1mClone found (txt)[22m - [1m[32mignore-case/file2.txt[39m[22m [1:1 - 12:55] (12 lines, 85 tokens) text/file1.txt [1:1 - 12:55] [1mClone found (txt)[22m - [1m[32mignore-case/file2.txt[39m[22m [1:1 - 61:63] (61 lines, 350 tokens) text/file2.txt [1:1 - 61:63] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 263:4] (263 lines, 1318 tokens) javascript/file1.mts [1:1 - 263:4] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 263:4] (263 lines, 1318 tokens) javascript/file1.ts [1:1 - 263:4] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 66:24] (66 lines, 531 tokens) javascript/file2.cts [48:1 - 113:24] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [74:1 - 263:4] (190 lines, 787 tokens) javascript/file2.cts [187:1 - 376:4] [1mClone found (javascript)[22m - [1m[32mjavascript/file1.js[39m[22m [5:1 - 24:2] (20 lines, 94 tokens) javascript/file2.js [5:1 - 27:2] [1mClone found (json)[22m - [1m[32mjavascript/file1.json[39m[22m [4:53 - 21:22] (18 lines, 64 tokens) javascript/file2.json [4:70 - 21:22] [1mClone found (json)[22m - [1m[32mjavascript/file1.json[39m[22m [22:22 - 43:2] (22 lines, 70 tokens) javascript/file2.json [22:22 - 43:2] [1mClone found (typescript)[22m - [1m[32mjavascript/file2.cts[39m[22m [109:38 - 209:24] (101 lines, 297 tokens) javascript/file2.mts [109:38 - 209:24] [1mClone found (javascript)[22m - [1m[32mjavascript/file_4.js[39m[22m [15:2 - 42:43] (28 lines, 98 tokens) javascript/file_4.js [56:74 - 83:43] [1mClone found (json5)[22m - [1m[32mjson5/file1.json5[39m[22m [1:1 - 31:5] (31 lines, 93 tokens) json5/file2.json5 [1:1 - 31:5] [1mClone found (jsx)[22m - [1m[32mjsx/file1.jsx[39m[22m [1:1 - 21:46] (21 lines, 99 tokens) jsx/file2.jsx [1:1 - 21:46] [1mClone found (tsx)[22m - [1m[32mjsx/file1.tsx[39m[22m [1:1 - 35:2] (35 lines, 143 tokens) jsx/file2.tsx [1:1 - 35:2] [1mClone found (julia)[22m - [1m[32mjulia/file1.jl[39m[22m [1:1 - 30:4] (30 lines, 194 tokens) julia/file2.jl [1:1 - 30:4] [1mClone found (latex)[22m - [1m[32mlatex/file1.tex[39m[22m [1:1 - 26:13] (26 lines, 149 tokens) latex/file2.tex [1:1 - 26:13] [1mClone found (lilypond)[22m - [1m[32mlilypond/file1.ly[39m[22m [1:1 - 19:10] (19 lines, 63 tokens) lilypond/file2.ly [1:1 - 19:10] [1mClone found (linker-script)[22m - [1m[32mlinker-script/file1.ld[39m[22m [1:1 - 47:4] (47 lines, 256 tokens) linker-script/file2.ld [1:1 - 47:4] [1mClone found (livescript)[22m - [1m[32mlivescript/file1.ls[39m[22m [1:1 - 31:24] (31 lines, 145 tokens) livescript/file2.ls [1:1 - 31:24] [1mClone found (llvm)[22m - [1m[32mllvm/file1.ll[39m[22m [1:1 - 35:2] (35 lines, 215 tokens) llvm/file2.ll [1:1 - 35:2] [1mClone found (log)[22m - [1m[32mlog/file1.log[39m[22m [1:1 - 13:11] (13 lines, 262 tokens) log/file2.log [1:1 - 13:11] [1mClone found (lua)[22m - [1m[32mlua/file1.lua[39m[22m [1:1 - 46:4] (46 lines, 193 tokens) lua/file2.lua [1:1 - 46:4] [1mClone found (markdown)[22m - [1m[32mmarkdown/file1.md:markdown[39m[22m [2:1 - 176:3] (175 lines, 1238 tokens) markdown/file2.md:markdown [7:1 - 181:3] [1mClone found (markdown)[22m - [1m[32mmarkdown/file1.md:markdown[39m[22m [176:1 - 193:86] (18 lines, 100 tokens) markdown/file2.md:markdown [196:1 - 213:86] [1mClone found (text)[22m - [1m[32mmarkdown/file1.md:text[39m[22m [156:1 - 166:11] (11 lines, 69 tokens) markdown/file2.md:text [161:1 - 171:11] [1mClone found (yaml)[22m - [1m[32mmarkdown/file1.md:yaml[39m[22m [53:1 - 81:10] (29 lines, 60 tokens) markdown/file2.md:yaml [58:1 - 86:10] [1mClone found (markdown)[22m - [1m[32mmarkdown/file3.md:markdown[39m[22m [27:85 - 98:66] (72 lines, 69 tokens) markdown/file4.md:markdown [27:89 - 98:66] [1mClone found (python)[22m - [1m[32mmarkdown/file3.md:python[39m[22m [72:1 - 91:6] (20 lines, 137 tokens) markdown/file4.md:python [72:1 - 91:6] [1mClone found (typescript)[22m - [1m[32mmarkdown/file3.md:typescript[39m[22m [34:1 - 64:2] (31 lines, 156 tokens) markdown/file4.md:typescript [34:1 - 64:2] [1mClone found (wolfram)[22m - [1m[32mmathematica/file1.wl[39m[22m [1:1 - 17:3] (17 lines, 127 tokens) mathematica/file2.wl [1:1 - 17:3] [1mClone found (fsharp)[22m - [1m[32mmllike/file1.fs[39m[22m [1:1 - 35:6] (35 lines, 193 tokens) mllike/file2.fs [1:1 - 35:6] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.ml[39m[22m [1:1 - 30:18] (30 lines, 150 tokens) mllike/file2.ml [1:1 - 30:18] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.mli[39m[22m [1:1 - 29:20] (29 lines, 186 tokens) mllike/file2.mli [1:1 - 29:20] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.mll[39m[22m [1:1 - 24:20] (24 lines, 104 tokens) mllike/file2.mll [1:1 - 24:20] [1mClone found (nsis)[22m - [1m[32mnsis/file1.nsi[39m[22m [1:1 - 29:25] (29 lines, 71 tokens) nsis/file2.nsi [1:1 - 29:25] [1mClone found (c-header)[22m - [1m[32mobjective-c/file_1.h[39m[22m [1:1 - 33:2] (33 lines, 385 tokens) objective-c/file_2.h [1:1 - 33:2] [1mClone found (objectivec)[22m - [1m[32mobjective-c/file_1.m[39m[22m [1:1 - 12:35] (12 lines, 311 tokens) objective-c/file_2.m [1:1 - 12:35] [1mClone found (objectivec)[22m - [1m[32mobjective-c/file_1.m[39m[22m [14:1 - 64:5] (51 lines, 216 tokens) objective-c/file_2.m [38:1 - 88:5] [1mClone found (javascript)[22m - [1m[32mone-file/one-file.js[39m[22m [1:1 - 28:6] (28 lines, 165 tokens) one-file/one-file.js [32:1 - 59:6] [1mClone found (openqasm)[22m - [1m[32mopenqasm/file1.qasm[39m[22m [5:1 - 23:7] (19 lines, 92 tokens) openqasm/file2.qasm [23:1 - 41:7] [1mClone found (oz)[22m - [1m[32moz/file1.oz[39m[22m [1:1 - 37:20] (37 lines, 141 tokens) oz/file2.oz [1:1 - 37:20] [1mClone found (pascal)[22m - [1m[32mpascal/file1.pas[39m[22m [1:1 - 37:5] (37 lines, 203 tokens) pascal/file2.pas [1:1 - 37:5] [1mClone found (perl)[22m - [1m[32mperl/file1.pl[39m[22m [1:1 - 121:31] (121 lines, 331 tokens) perl/file2.pl [1:1 - 121:31] [1mClone found (perl)[22m - [1m[32mperl/file1.pm[39m[22m [1:1 - 143:4] (143 lines, 586 tokens) perl/file2.pm [1:1 - 143:4] [1mClone found (perl)[22m - [1m[32mperl/file1.pm[39m[22m [143:3 - 155:3] (13 lines, 54 tokens) perl/file2.pm [176:3 - 188:3] [1mClone found (php)[22m - [1m[32mphp/file1.php[39m[22m [1:1 - 51:20] (51 lines, 295 tokens) php/file2.php [1:1 - 51:20] [1mClone found (plant-uml)[22m - [1m[32mplant-uml/file1.puml[39m[22m [1:1 - 52:40] (52 lines, 181 tokens) plant-uml/file2.puml [1:1 - 52:40] [1mClone found (plsql)[22m - [1m[32mplsql/file1.plsql[39m[22m [1:1 - 56:12] (56 lines, 191 tokens) plsql/file2.plsql [1:1 - 56:12] [1mClone found (plsql)[22m - [1m[32mplsql/file1.plsql[39m[22m [70:20 - 85:2] (16 lines, 53 tokens) plsql/file2.plsql [71:25 - 86:2] [1mClone found (powerquery)[22m - [1m[32mpowerquery/file1.pq[39m[22m [1:1 - 41:7] (41 lines, 210 tokens) powerquery/file2.pq [1:1 - 41:7] [1mClone found (powershell)[22m - [1m[32mpowershell/file1.ps1[39m[22m [1:1 - 41:2] (41 lines, 168 tokens) powershell/file2.ps1 [1:1 - 41:2] [1mClone found (ini)[22m - [1m[32mproperties/file1.ini[39m[22m [1:1 - 27:7] (27 lines, 79 tokens) properties/file2.ini [1:1 - 27:7] [1mClone found (properties)[22m - [1m[32mproperties/file1.properties[39m[22m [1:1 - 22:11] (22 lines, 114 tokens) properties/file2.properties [1:1 - 22:11] [1mClone found (protobuf)[22m - [1m[32mprotobuf/file1.proto[39m[22m [1:1 - 40:8] (40 lines, 115 tokens) protobuf/file2.proto [1:1 - 40:8] [1mClone found (pug)[22m - [1m[32mpug/file1.pug[39m[22m [1:1 - 234:21] (234 lines, 1037 tokens) pug/file2.pug [1:1 - 234:21] [1mClone found (pug)[22m - [1m[32mpug/file1.pug[39m[22m [239:36 - 291:67] (53 lines, 212 tokens) pug/file2.pug [231:30 - 283:67] [1mClone found (puppet)[22m - [1m[32mpuppet/file1.pp[39m[22m [1:1 - 39:4] (39 lines, 131 tokens) puppet/file2.pp [1:1 - 39:4] [1mClone found (puppet)[22m - [1m[32mpuppet/file1.pp[39m[22m [44:32 - 64:2] (21 lines, 83 tokens) puppet/file2.pp [38:38 - 58:2] [1mClone found (purescript)[22m - [1m[32mpurescript/file1.purs[39m[22m [1:1 - 44:7] (44 lines, 265 tokens) purescript/file2.purs [1:1 - 44:7] [1mClone found (purescript)[22m - [1m[32mpurescript/file1.purs[39m[22m [47:41 - 53:44] (7 lines, 50 tokens) purescript/file2.purs [47:40 - 53:44] [1mClone found (python)[22m - [1m[32mpython/file1.py[39m[22m [1:1 - 24:13] (24 lines, 67 tokens) python/file2.py [1:1 - 24:13] [1mClone found (q)[22m - [1m[32mq/file1.q[39m[22m [1:1 - 30:2] (30 lines, 378 tokens) q/file2.q [1:1 - 30:2] [1mClone found (qsharp)[22m - [1m[32mqsharp/file1.qs[39m[22m [2:32 - 11:6] (10 lines, 50 tokens) qsharp/file2.qs [2:29 - 11:6] [1mClone found (r)[22m - [1m[32mr/file1.r[39m[22m [1:1 - 64:9] (64 lines, 427 tokens) r/file2.r [1:1 - 64:9] [1mClone found (racket)[22m - [1m[32mracket/file1.rkt[39m[22m [1:1 - 38:3] (38 lines, 286 tokens) racket/file2.rkt [1:1 - 38:3] [1mClone found (rescript)[22m - [1m[32mrescript/file1.res[39m[22m [1:1 - 38:2] (38 lines, 200 tokens) rescript/file2.res [1:1 - 38:2] [1mClone found (robotframework)[22m - [1m[32mrobotframework/file1.robot[39m[22m [1:1 - 27:45] (27 lines, 143 tokens) robotframework/file2.robot [1:1 - 27:45] [1mClone found (robotframework)[22m - [1m[32mrobotframework/file1.robot[39m[22m [45:1 - 62:23] (18 lines, 80 tokens) robotframework/file2.robot [51:1 - 68:23] [1mClone found (ruby)[22m - [1m[32mruby/file1.rb[39m[22m [1:1 - 40:4] (40 lines, 96 tokens) ruby/file2.rb [1:1 - 40:4] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [1:1 - 131:3] (131 lines, 857 tokens) rust/file2.rs [1:1 - 132:3] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [199:50 - 204:2] (6 lines, 51 tokens) rust/file1.rs [255:53 - 260:2] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [232:93 - 239:64] (8 lines, 58 tokens) rust/file1.rs [247:47 - 254:64] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [239:57 - 416:2] (178 lines, 1285 tokens) rust/file2.rs [123:52 - 301:2] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [263:28 - 273:12] (11 lines, 80 tokens) rust/file1.rs [335:21 - 345:12] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [319:60 - 332:2] (14 lines, 114 tokens) rust/file1.rs [371:96 - 384:2] [1mClone found (sas)[22m - [1m[32msas/file1.sas[39m[22m [1:1 - 59:4] (59 lines, 444 tokens) sas/file2.sas [1:1 - 59:4] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [1:1 - 19:17] (19 lines, 89 tokens) sass/file2.sass [1:1 - 19:17] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [3:1 - 17:43] (15 lines, 82 tokens) sass/file1.sass [19:1 - 33:43] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [5:1 - 24:45] (20 lines, 102 tokens) sass/file2.sass [24:1 - 48:33] [1mClone found (scheme)[22m - [1m[32mscheme/file1.scm[39m[22m [1:1 - 33:23] (33 lines, 225 tokens) scheme/file2.scm [1:1 - 33:23] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shebang/deploy [1:1 - 32:2] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shell/file1.sh [1:1 - 32:2] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shell/file2.sh [1:1 - 32:2] [1mClone found (python)[22m - [1m[32mshebang/process[39m[22m [1:1 - 32:4] (32 lines, 159 tokens) shebang/transform [1:1 - 32:4] [1mClone found (smalltalk)[22m - [1m[32msmalltalk/file1.st[39m[22m [1:1 - 45:2] (45 lines, 146 tokens) smalltalk/file2.st [1:1 - 45:2] [1mClone found (smarty)[22m - [1m[32msmarty/file1.tpl[39m[22m [1:1 - 43:18] (43 lines, 286 tokens) smarty/file2.tpl [1:1 - 43:18] [1mClone found (solidity)[22m - [1m[32msolidity/file1.sol[39m[22m [25:61 - 55:13] (31 lines, 168 tokens) solidity/file2.sol [29:54 - 59:13] [1mClone found (soy)[22m - [1m[32msoy/file1.soy[39m[22m [1:1 - 49:27] (49 lines, 346 tokens) soy/file2.soy [1:1 - 49:27] [1mClone found (sparql)[22m - [1m[32msparql/file1.rq[39m[22m [1:1 - 11:9] (11 lines, 65 tokens) sparql/file2.rq [1:1 - 11:9] [1mClone found (sql)[22m - [1m[32msql/file1.sql[39m[22m [3:1 - 41:46] (39 lines, 214 tokens) sql/file2.sql [3:1 - 41:46] [1mClone found (stylus)[22m - [1m[32mstylus/file1.styl[39m[22m [1:1 - 53:20] (53 lines, 201 tokens) stylus/file2.styl [1:1 - 53:20] [1mClone found (css)[22m - [1m[32msvelte/component1.svelte:css[39m[22m [112:3 - 230:4] (119 lines, 507 tokens) svelte/component2.svelte:css [112:3 - 230:4] [1mClone found (html)[22m - [1m[32msvelte/component1.svelte:html[39m[22m [1:1 - 231:9] (231 lines, 350 tokens) svelte/component2.svelte:html [1:1 - 231:9] [1mClone found (javascript)[22m - [1m[32msvelte/component1.svelte:javascript[39m[22m [2:3 - 61:6] (60 lines, 286 tokens) svelte/component2.svelte:javascript [2:3 - 61:6] [1mClone found (swift)[22m - [1m[32mswift/file1.swift[39m[22m [9:1 - 29:6] (21 lines, 73 tokens) swift/file2.swift [2:1 - 22:6] [1mClone found (tap)[22m - [1m[32mtap/file1.tap[39m[22m [1:1 - 35:8] (35 lines, 202 tokens) tap/file2.tap [1:1 - 35:8] [1mClone found (tcl)[22m - [1m[32mtcl/file1.tcl[39m[22m [1:1 - 45:2] (45 lines, 263 tokens) tcl/file2.tcl [1:1 - 45:2] [1mClone found (textile)[22m - [1m[32mtextile/file1.textile[39m[22m [1:1 - 51:4] (51 lines, 236 tokens) textile/file2.textile [1:1 - 51:4] [1mClone found (toml)[22m - [1m[32mtoml/file1.toml[39m[22m [1:1 - 39:19] (39 lines, 100 tokens) toml/file2.toml [1:1 - 39:19] [1mClone found (tt2)[22m - [1m[32mtt2/file1.tt2[39m[22m [1:1 - 38:14] (38 lines, 299 tokens) tt2/file2.tt2 [1:1 - 38:14] [1mClone found (tt2)[22m - [1m[32mtt2/file1.tt2[39m[22m [42:21 - 52:25] (11 lines, 54 tokens) tt2/file2.tt2 [42:86 - 52:25] [1mClone found (turtle)[22m - [1m[32mturtle/file1.ttl[39m[22m [1:1 - 36:17] (36 lines, 212 tokens) turtle/file2.ttl [1:1 - 36:17] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [1:1 - 23:3] (23 lines, 167 tokens) twig/file_2.twig [1:1 - 23:3] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [13:20 - 25:9] (13 lines, 65 tokens) twig/file_1.twig [16:8 - 28:9] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [19:8 - 29:15] (11 lines, 54 tokens) twig/file_2.twig [22:8 - 32:15] [1mClone found (unrealscript)[22m - [1m[32munrealscript/file1.uc[39m[22m [1:1 - 56:6] (56 lines, 161 tokens) unrealscript/file2.uc [1:1 - 56:6] [1mClone found (vbnet)[22m - [1m[32mvb/file1.vb[39m[22m [1:1 - 29:17] (29 lines, 163 tokens) vb/file2.vb [1:1 - 29:17] [1mClone found (velocity)[22m - [1m[32mvelocity/file1.vtl[39m[22m [1:1 - 41:25] (41 lines, 264 tokens) velocity/file2.vtl [1:1 - 41:25] [1mClone found (verilog)[22m - [1m[32mverilog/file1.v[39m[22m [1:1 - 40:10] (40 lines, 163 tokens) verilog/file2.v [1:1 - 40:10] [1mClone found (vhdl)[22m - [1m[32mvhdl/file1.vhd[39m[22m [1:1 - 32:18] (32 lines, 179 tokens) vhdl/file2.vhd [1:1 - 32:18] [1mClone found (typescript)[22m - [1m[32mvue/app1.vue:typescript[39m[22m [5:1 - 33:4] (29 lines, 128 tokens) vue/app2.vue:typescript [5:1 - 33:4] [1mClone found (javascript)[22m - [1m[32mvue/file.js[39m[22m [1:1 - 28:2] (28 lines, 210 tokens) vue/file1.vue:javascript [125:3 - 152:4] [1mClone found (html)[22m - [1m[32mvue/file1.vue:html[39m[22m [1:1 - 10:9] (10 lines, 99 tokens) vue/file2.vue:html [1:1 - 10:9] [1mClone found (javascript)[22m - [1m[32mvue/file1.vue:javascript[39m[22m [120:3 - 261:4] (142 lines, 817 tokens) vue/file2.vue:javascript [99:3 - 240:4] [1mClone found (scss)[22m - [1m[32mvue/file1.vue:scss[39m[22m [13:3 - 75:6] (63 lines, 402 tokens) vue/file2.vue:scss [13:3 - 75:6] [1mClone found (scss)[22m - [1m[32mvue/file1.vue:scss[39m[22m [95:5 - 117:4] (23 lines, 149 tokens) vue/file2.vue:scss [74:5 - 96:4] [1mClone found (wgsl)[22m - [1m[32mwgsl/file1.wgsl[39m[22m [1:1 - 45:3] (45 lines, 274 tokens) wgsl/file2.wgsl [1:1 - 45:3] [1mClone found (wgsl)[22m - [1m[32mwgsl/file1.wgsl[39m[22m [51:42 - 59:6] (9 lines, 66 tokens) wgsl/file2.wgsl [55:47 - 63:6] [1mClone found (markup)[22m - [1m[32mxml/file1.svg[39m[22m [1:1 - 88:2] (88 lines, 392 tokens) xml/file2.svg [1:1 - 87:6] [1mClone found (markup)[22m - [1m[32mxml/file1.xsl[39m[22m [1:1 - 43:6] (43 lines, 316 tokens) xml/file2.xsl [1:1 - 43:2] [1mClone found (markup)[22m - [1m[32mxml/file1.xsl[39m[22m [20:15 - 35:6] (16 lines, 133 tokens) xml/file1.xsl [32:137 - 47:2] [1mClone found (xquery)[22m - [1m[32mxquery/file1.xquery[39m[22m [1:1 - 31:22] (31 lines, 222 tokens) xquery/file2.xquery [1:1 - 31:22] [1mClone found (yaml)[22m - [1m[32myaml/file1.yml[39m[22m [1:1 - 18:23] (18 lines, 132 tokens) yaml/file2.yml [1:1 - 18:23] [1mClone found (c)[22m - [1m[32mz80/file1.z80[39m[22m [1:1 - 14:25] (14 lines, 60 tokens) z80/file2.z80 [1:1 - 14:25] [1mClone found (zig)[22m - [1m[32mzig/file1.zig[39m[22m [1:1 - 43:10] (43 lines, 259 tokens) zig/file2.zig [1:1 - 43:10] [1mClone found (zig)[22m - [1m[32mzig/file1.zig[39m[22m [42:45 - 52:23] (11 lines, 52 tokens) zig/file2.zig [47:45 - 57:23] [90m┌────────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐[39m [90m│[39m[31m Format [39m[90m│[39m[31m Files analyzed [39m[90m│[39m[31m Total lines [39m[90m│[39m[31m Total tokens [39m[90m│[39m[31m Clones found [39m[90m│[39m[31m Duplicated lines [39m[90m│[39m[31m Duplicated tokens [39m[90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m actionscript [90m│[39m 2 [90m│[39m 75 [90m│[39m 302 [90m│[39m 1 [90m│[39m 29 (38.67%) [90m│[39m 127 (42.05%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ada [90m│[39m 2 [90m│[39m 74 [90m│[39m 408 [90m│[39m 1 [90m│[39m 20 (27.03%) [90m│[39m 103 (25.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m antlr4 [90m│[39m 2 [90m│[39m 48 [90m│[39m 216 [90m│[39m 1 [90m│[39m 20 (41.67%) [90m│[39m 82 (37.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m apex [90m│[39m 2 [90m│[39m 84 [90m│[39m 451 [90m│[39m 1 [90m│[39m 23 (27.38%) [90m│[39m 115 (25.50%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m apl [90m│[39m 2 [90m│[39m 47 [90m│[39m 554 [90m│[39m 1 [90m│[39m 19 (40.43%) [90m│[39m 252 (45.49%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m aspnet [90m│[39m 2 [90m│[39m 101 [90m│[39m 854 [90m│[39m 3 [90m│[39m 37 (36.63%) [90m│[39m 296 (34.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m astro [90m│[39m 2 [90m│[39m 324 [90m│[39m 950 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m awk [90m│[39m 2 [90m│[39m 62 [90m│[39m 205 [90m│[39m 1 [90m│[39m 22 (35.48%) [90m│[39m 75 (36.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m bash [90m│[39m 4 [90m│[39m 158 [90m│[39m 418 [90m│[39m 3 [90m│[39m 93 (58.86%) [90m│[39m 258 (61.72%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m basic [90m│[39m 2 [90m│[39m 47 [90m│[39m 331 [90m│[39m 1 [90m│[39m 17 (36.17%) [90m│[39m 100 (30.21%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m bicep [90m│[39m 2 [90m│[39m 81 [90m│[39m 251 [90m│[39m 1 [90m│[39m 26 (32.10%) [90m│[39m 78 (31.08%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m brainfuck [90m│[39m 4 [90m│[39m 159 [90m│[39m 1728 [90m│[39m 4 [90m│[39m 113 (71.07%) [90m│[39m 1289 (74.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m c [90m│[39m 5 [90m│[39m 105 [90m│[39m 1060 [90m│[39m 3 [90m│[39m 40 (38.10%) [90m│[39m 399 (37.64%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m c-header [90m│[39m 4 [90m│[39m 149 [90m│[39m 2091 [90m│[39m 3 [90m│[39m 59 (39.60%) [90m│[39m 724 (34.62%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cfml [90m│[39m 2 [90m│[39m 107 [90m│[39m 671 [90m│[39m 1 [90m│[39m 17 (15.89%) [90m│[39m 85 (12.67%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cfscript [90m│[39m 2 [90m│[39m 69 [90m│[39m 437 [90m│[39m 1 [90m│[39m 27 (39.13%) [90m│[39m 161 (36.84%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m clojure [90m│[39m 2 [90m│[39m 46 [90m│[39m 374 [90m│[39m 1 [90m│[39m 18 (39.13%) [90m│[39m 139 (37.17%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cmake [90m│[39m 2 [90m│[39m 52 [90m│[39m 311 [90m│[39m 1 [90m│[39m 20 (38.46%) [90m│[39m 128 (41.16%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m coffeescript [90m│[39m 2 [90m│[39m 92 [90m│[39m 447 [90m│[39m 2 [90m│[39m 40 (43.48%) [90m│[39m 219 (48.99%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cpp [90m│[39m 2 [90m│[39m 176 [90m│[39m 1514 [90m│[39m 2 [90m│[39m 106 (60.23%) [90m│[39m 965 (63.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cpp-header [90m│[39m 2 [90m│[39m 176 [90m│[39m 1514 [90m│[39m 2 [90m│[39m 106 (60.23%) [90m│[39m 965 (63.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m crystal [90m│[39m 2 [90m│[39m 70 [90m│[39m 222 [90m│[39m 1 [90m│[39m 28 (40.00%) [90m│[39m 97 (43.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m csharp [90m│[39m 2 [90m│[39m 360 [90m│[39m 1099 [90m│[39m 2 [90m│[39m 172 (47.78%) [90m│[39m 537 (48.86%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m css [90m│[39m 8 [90m│[39m 875 [90m│[39m 2536 [90m│[39m 5 [90m│[39m 290 (33.14%) [90m│[39m 1494 (58.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m csv [90m│[39m 2 [90m│[39m 22 [90m│[39m 400 [90m│[39m 1 [90m│[39m 8 (36.36%) [90m│[39m 163 (40.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m d [90m│[39m 2 [90m│[39m 338 [90m│[39m 2270 [90m│[39m 1 [90m│[39m 168 (49.70%) [90m│[39m 1135 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m dart [90m│[39m 2 [90m│[39m 266 [90m│[39m 1178 [90m│[39m 2 [90m│[39m 118 (44.36%) [90m│[39m 522 (44.31%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m diff [90m│[39m 2 [90m│[39m 146 [90m│[39m 1082 [90m│[39m 1 [90m│[39m 61 (41.78%) [90m│[39m 435 (40.20%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m dot [90m│[39m 2 [90m│[39m 46 [90m│[39m 243 [90m│[39m 1 [90m│[39m 17 (36.96%) [90m│[39m 91 (37.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m eiffel [90m│[39m 2 [90m│[39m 126 [90m│[39m 380 [90m│[39m 1 [90m│[39m 45 (35.71%) [90m│[39m 130 (34.21%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m elm [90m│[39m 2 [90m│[39m 110 [90m│[39m 411 [90m│[39m 1 [90m│[39m 46 (41.82%) [90m│[39m 155 (37.71%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m erlang [90m│[39m 2 [90m│[39m 242 [90m│[39m 1674 [90m│[39m 1 [90m│[39m 120 (49.59%) [90m│[39m 837 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m fortran [90m│[39m 2 [90m│[39m 93 [90m│[39m 469 [90m│[39m 1 [90m│[39m 36 (38.71%) [90m│[39m 182 (38.81%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m fsharp [90m│[39m 2 [90m│[39m 82 [90m│[39m 462 [90m│[39m 1 [90m│[39m 34 (41.46%) [90m│[39m 193 (41.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gdscript [90m│[39m 2 [90m│[39m 96 [90m│[39m 458 [90m│[39m 1 [90m│[39m 24 (25.00%) [90m│[39m 135 (29.48%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gettext [90m│[39m 2 [90m│[39m 220 [90m│[39m 356 [90m│[39m 1 [90m│[39m 51 (23.18%) [90m│[39m 82 (23.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gherkin [90m│[39m 2 [90m│[39m 75 [90m│[39m 434 [90m│[39m 1 [90m│[39m 15 (20.00%) [90m│[39m 83 (19.12%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m go [90m│[39m 2 [90m│[39m 65 [90m│[39m 305 [90m│[39m 1 [90m│[39m 29 (44.62%) [90m│[39m 134 (43.93%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m graphql [90m│[39m 2 [90m│[39m 134 [90m│[39m 499 [90m│[39m 1 [90m│[39m 24 (17.91%) [90m│[39m 143 (28.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m groovy [90m│[39m 2 [90m│[39m 96 [90m│[39m 422 [90m│[39m 1 [90m│[39m 40 (41.67%) [90m│[39m 188 (44.55%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haml [90m│[39m 2 [90m│[39m 52 [90m│[39m 276 [90m│[39m 1 [90m│[39m 22 (42.31%) [90m│[39m 118 (42.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m handlebars [90m│[39m 2 [90m│[39m 72 [90m│[39m 555 [90m│[39m 1 [90m│[39m 27 (37.50%) [90m│[39m 218 (39.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haskell [90m│[39m 4 [90m│[39m 459 [90m│[39m 2536 [90m│[39m 3 [90m│[39m 216 (47.06%) [90m│[39m 1183 (46.65%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haxe [90m│[39m 4 [90m│[39m 191 [90m│[39m 1035 [90m│[39m 3 [90m│[39m 113 (59.16%) [90m│[39m 634 (61.26%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m hcl [90m│[39m 2 [90m│[39m 119 [90m│[39m 313 [90m│[39m 1 [90m│[39m 36 (30.25%) [90m│[39m 85 (27.16%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m html [90m│[39m 6 [90m│[39m 1289 [90m│[39m 1390 [90m│[39m 4 [90m│[39m 406 (31.50%) [90m│[39m 762 (54.82%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m idris [90m│[39m 2 [90m│[39m 88 [90m│[39m 581 [90m│[39m 1 [90m│[39m 34 (38.64%) [90m│[39m 208 (35.80%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ignore [90m│[39m 2 [90m│[39m 191 [90m│[39m 523 [90m│[39m 1 [90m│[39m 83 (43.46%) [90m│[39m 234 (44.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ini [90m│[39m 2 [90m│[39m 58 [90m│[39m 172 [90m│[39m 1 [90m│[39m 26 (44.83%) [90m│[39m 79 (45.93%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m java [90m│[39m 2 [90m│[39m 454 [90m│[39m 15064 [90m│[39m 2 [90m│[39m 224 (49.34%) [90m│[39m 7387 (49.04%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m javascript [90m│[39m 23 [90m│[39m 1580 [90m│[39m 6985 [90m│[39m 13 [90m│[39m 572 (36.20%) [90m│[39m 3475 (49.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m json [90m│[39m 4 [90m│[39m 134 [90m│[39m 460 [90m│[39m 2 [90m│[39m 38 (28.36%) [90m│[39m 134 (29.13%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m json5 [90m│[39m 2 [90m│[39m 104 [90m│[39m 307 [90m│[39m 1 [90m│[39m 30 (28.85%) [90m│[39m 93 (30.29%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m jsx [90m│[39m 2 [90m│[39m 73 [90m│[39m 296 [90m│[39m 1 [90m│[39m 20 (27.40%) [90m│[39m 99 (33.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m julia [90m│[39m 2 [90m│[39m 76 [90m│[39m 557 [90m│[39m 1 [90m│[39m 29 (38.16%) [90m│[39m 194 (34.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m kotlin [90m│[39m 2 [90m│[39m 106 [90m│[39m 550 [90m│[39m 2 [90m│[39m 47 (44.34%) [90m│[39m 250 (45.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m latex [90m│[39m 2 [90m│[39m 88 [90m│[39m 557 [90m│[39m 1 [90m│[39m 25 (28.41%) [90m│[39m 149 (26.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m less [90m│[39m 2 [90m│[39m 56 [90m│[39m 518 [90m│[39m 2 [90m│[39m 29 (51.79%) [90m│[39m 282 (54.44%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lilypond [90m│[39m 2 [90m│[39m 100 [90m│[39m 307 [90m│[39m 1 [90m│[39m 18 (18.00%) [90m│[39m 63 (20.52%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m linker-script [90m│[39m 2 [90m│[39m 133 [90m│[39m 683 [90m│[39m 1 [90m│[39m 46 (34.59%) [90m│[39m 256 (37.48%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lisp [90m│[39m 2 [90m│[39m 106 [90m│[39m 608 [90m│[39m 1 [90m│[39m 49 (46.23%) [90m│[39m 289 (47.53%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m livescript [90m│[39m 2 [90m│[39m 68 [90m│[39m 344 [90m│[39m 1 [90m│[39m 30 (44.12%) [90m│[39m 145 (42.15%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m llvm [90m│[39m 2 [90m│[39m 132 [90m│[39m 850 [90m│[39m 1 [90m│[39m 34 (25.76%) [90m│[39m 215 (25.29%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m log [90m│[39m 2 [90m│[39m 30 [90m│[39m 666 [90m│[39m 1 [90m│[39m 12 (40.00%) [90m│[39m 262 (39.34%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lua [90m│[39m 2 [90m│[39m 106 [90m│[39m 450 [90m│[39m 1 [90m│[39m 45 (42.45%) [90m│[39m 193 (42.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m markdown [90m│[39m 4 [90m│[39m 536 [90m│[39m 929 [90m│[39m 3 [90m│[39m 262 (48.88%) [90m│[39m 1407 (151.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m markup [90m│[39m 11 [90m│[39m 478 [90m│[39m 2795 [90m│[39m 6 [90m│[39m 205 (42.89%) [90m│[39m 1314 (47.01%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m nsis [90m│[39m 2 [90m│[39m 68 [90m│[39m 172 [90m│[39m 1 [90m│[39m 28 (41.18%) [90m│[39m 71 (41.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m objectivec [90m│[39m 2 [90m│[39m 152 [90m│[39m 1463 [90m│[39m 2 [90m│[39m 61 (40.13%) [90m│[39m 527 (36.02%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ocaml [90m│[39m 6 [90m│[39m 186 [90m│[39m 1052 [90m│[39m 3 [90m│[39m 80 (43.01%) [90m│[39m 440 (41.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m openqasm [90m│[39m 2 [90m│[39m 87 [90m│[39m 346 [90m│[39m 1 [90m│[39m 18 (20.69%) [90m│[39m 92 (26.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m oz [90m│[39m 2 [90m│[39m 94 [90m│[39m 357 [90m│[39m 1 [90m│[39m 36 (38.30%) [90m│[39m 141 (39.50%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m pascal [90m│[39m 2 [90m│[39m 106 [90m│[39m 561 [90m│[39m 1 [90m│[39m 36 (33.96%) [90m│[39m 203 (36.19%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m perl [90m│[39m 4 [90m│[39m 609 [90m│[39m 2272 [90m│[39m 3 [90m│[39m 274 (44.99%) [90m│[39m 971 (42.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m php [90m│[39m 2 [90m│[39m 143 [90m│[39m 785 [90m│[39m 1 [90m│[39m 50 (34.97%) [90m│[39m 295 (37.58%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m plant-uml [90m│[39m 2 [90m│[39m 120 [90m│[39m 422 [90m│[39m 1 [90m│[39m 51 (42.50%) [90m│[39m 181 (42.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m plsql [90m│[39m 2 [90m│[39m 171 [90m│[39m 598 [90m│[39m 2 [90m│[39m 70 (40.94%) [90m│[39m 244 (40.80%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m powerquery [90m│[39m 2 [90m│[39m 112 [90m│[39m 538 [90m│[39m 1 [90m│[39m 40 (35.71%) [90m│[39m 210 (39.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m powershell [90m│[39m 2 [90m│[39m 98 [90m│[39m 404 [90m│[39m 1 [90m│[39m 40 (40.82%) [90m│[39m 168 (41.58%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m prolog [90m│[39m 2 [90m│[39m 64 [90m│[39m 429 [90m│[39m 1 [90m│[39m 27 (42.19%) [90m│[39m 176 (41.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m properties [90m│[39m 2 [90m│[39m 48 [90m│[39m 250 [90m│[39m 1 [90m│[39m 21 (43.75%) [90m│[39m 114 (45.60%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m protobuf [90m│[39m 2 [90m│[39m 205 [90m│[39m 680 [90m│[39m 1 [90m│[39m 39 (19.02%) [90m│[39m 115 (16.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m pug [90m│[39m 2 [90m│[39m 574 [90m│[39m 2512 [90m│[39m 2 [90m│[39m 285 (49.65%) [90m│[39m 1249 (49.72%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m puppet [90m│[39m 2 [90m│[39m 122 [90m│[39m 446 [90m│[39m 2 [90m│[39m 58 (47.54%) [90m│[39m 214 (47.98%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m purescript [90m│[39m 2 [90m│[39m 115 [90m│[39m 797 [90m│[39m 2 [90m│[39m 49 (42.61%) [90m│[39m 315 (39.52%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m python [90m│[39m 6 [90m│[39m 323 [90m│[39m 911 [90m│[39m 3 [90m│[39m 73 (22.60%) [90m│[39m 363 (39.85%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m q [90m│[39m 2 [90m│[39m 78 [90m│[39m 997 [90m│[39m 1 [90m│[39m 29 (37.18%) [90m│[39m 378 (37.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m qsharp [90m│[39m 2 [90m│[39m 102 [90m│[39m 408 [90m│[39m 1 [90m│[39m 9 (8.82%) [90m│[39m 50 (12.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m r [90m│[39m 2 [90m│[39m 128 [90m│[39m 854 [90m│[39m 1 [90m│[39m 63 (49.22%) [90m│[39m 427 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m racket [90m│[39m 2 [90m│[39m 100 [90m│[39m 760 [90m│[39m 1 [90m│[39m 37 (37.00%) [90m│[39m 286 (37.63%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m rescript [90m│[39m 2 [90m│[39m 115 [90m│[39m 776 [90m│[39m 1 [90m│[39m 37 (32.17%) [90m│[39m 200 (25.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m robotframework [90m│[39m 2 [90m│[39m 130 [90m│[39m 630 [90m│[39m 2 [90m│[39m 43 (33.08%) [90m│[39m 223 (35.40%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ruby [90m│[39m 2 [90m│[39m 80 [90m│[39m 192 [90m│[39m 1 [90m│[39m 39 (48.75%) [90m│[39m 96 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m rust [90m│[39m 2 [90m│[39m 717 [90m│[39m 5128 [90m│[39m 6 [90m│[39m 342 (47.70%) [90m│[39m 2445 (47.68%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sas [90m│[39m 2 [90m│[39m 152 [90m│[39m 1174 [90m│[39m 1 [90m│[39m 58 (38.16%) [90m│[39m 444 (37.82%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sass [90m│[39m 2 [90m│[39m 93 [90m│[39m 383 [90m│[39m 3 [90m│[39m 51 (54.84%) [90m│[39m 273 (71.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scala [90m│[39m 2 [90m│[39m 58 [90m│[39m 1696 [90m│[39m 1 [90m│[39m 28 (48.28%) [90m│[39m 848 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scheme [90m│[39m 2 [90m│[39m 70 [90m│[39m 498 [90m│[39m 1 [90m│[39m 32 (45.71%) [90m│[39m 225 (45.18%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scss [90m│[39m 4 [90m│[39m 360 [90m│[39m 2065 [90m│[39m 3 [90m│[39m 136 (37.78%) [90m│[39m 875 (42.37%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m smalltalk [90m│[39m 2 [90m│[39m 102 [90m│[39m 351 [90m│[39m 1 [90m│[39m 44 (43.14%) [90m│[39m 146 (41.60%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m smarty [90m│[39m 2 [90m│[39m 92 [90m│[39m 652 [90m│[39m 1 [90m│[39m 42 (45.65%) [90m│[39m 286 (43.87%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m solidity [90m│[39m 2 [90m│[39m 155 [90m│[39m 939 [90m│[39m 1 [90m│[39m 30 (19.35%) [90m│[39m 168 (17.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m soy [90m│[39m 2 [90m│[39m 106 [90m│[39m 841 [90m│[39m 1 [90m│[39m 48 (45.28%) [90m│[39m 346 (41.14%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sparql [90m│[39m 2 [90m│[39m 54 [90m│[39m 296 [90m│[39m 1 [90m│[39m 10 (18.52%) [90m│[39m 65 (21.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sql [90m│[39m 2 [90m│[39m 102 [90m│[39m 525 [90m│[39m 1 [90m│[39m 38 (37.25%) [90m│[39m 214 (40.76%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m stylus [90m│[39m 2 [90m│[39m 129 [90m│[39m 494 [90m│[39m 1 [90m│[39m 52 (40.31%) [90m│[39m 201 (40.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m svelte [90m│[39m 2 [90m│[39m 462 [90m│[39m 1586 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m swift [90m│[39m 2 [90m│[39m 58 [90m│[39m 175 [90m│[39m 1 [90m│[39m 20 (34.48%) [90m│[39m 73 (41.71%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tap [90m│[39m 2 [90m│[39m 98 [90m│[39m 562 [90m│[39m 1 [90m│[39m 34 (34.69%) [90m│[39m 202 (35.94%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tcl [90m│[39m 2 [90m│[39m 106 [90m│[39m 600 [90m│[39m 1 [90m│[39m 44 (41.51%) [90m│[39m 263 (43.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m text [90m│[39m 2 [90m│[39m 354 [90m│[39m 143 [90m│[39m 1 [90m│[39m 10 (2.82%) [90m│[39m 69 (48.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m textile [90m│[39m 2 [90m│[39m 106 [90m│[39m 495 [90m│[39m 1 [90m│[39m 50 (47.17%) [90m│[39m 236 (47.68%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m toml [90m│[39m 2 [90m│[39m 91 [90m│[39m 229 [90m│[39m 1 [90m│[39m 38 (41.76%) [90m│[39m 100 (43.67%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tsx [90m│[39m 2 [90m│[39m 76 [90m│[39m 310 [90m│[39m 1 [90m│[39m 34 (44.74%) [90m│[39m 143 (46.13%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tt2 [90m│[39m 2 [90m│[39m 104 [90m│[39m 803 [90m│[39m 2 [90m│[39m 47 (45.19%) [90m│[39m 353 (43.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m turtle [90m│[39m 2 [90m│[39m 90 [90m│[39m 520 [90m│[39m 1 [90m│[39m 35 (38.89%) [90m│[39m 212 (40.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m twig [90m│[39m 2 [90m│[39m 61 [90m│[39m 424 [90m│[39m 3 [90m│[39m 44 (72.13%) [90m│[39m 286 (67.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m txt [90m│[39m 4 [90m│[39m 146 [90m│[39m 870 [90m│[39m 2 [90m│[39m 71 (48.63%) [90m│[39m 435 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m typescript [90m│[39m 12 [90m│[39m 2159 [90m│[39m 9379 [90m│[39m 8 [90m│[39m 958 (44.37%) [90m│[39m 4688 (49.98%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m unrealscript [90m│[39m 2 [90m│[39m 166 [90m│[39m 520 [90m│[39m 1 [90m│[39m 55 (33.13%) [90m│[39m 161 (30.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vbnet [90m│[39m 2 [90m│[39m 72 [90m│[39m 378 [90m│[39m 1 [90m│[39m 28 (38.89%) [90m│[39m 163 (43.12%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m velocity [90m│[39m 2 [90m│[39m 88 [90m│[39m 576 [90m│[39m 1 [90m│[39m 40 (45.45%) [90m│[39m 264 (45.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m verilog [90m│[39m 2 [90m│[39m 104 [90m│[39m 430 [90m│[39m 1 [90m│[39m 39 (37.50%) [90m│[39m 163 (37.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vhdl [90m│[39m 2 [90m│[39m 98 [90m│[39m 546 [90m│[39m 1 [90m│[39m 31 (31.63%) [90m│[39m 179 (32.78%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vue [90m│[39m 4 [90m│[39m 587 [90m│[39m 3333 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m wgsl [90m│[39m 2 [90m│[39m 127 [90m│[39m 928 [90m│[39m 2 [90m│[39m 52 (40.94%) [90m│[39m 340 (36.64%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m wolfram [90m│[39m 2 [90m│[39m 85 [90m│[39m 697 [90m│[39m 1 [90m│[39m 16 (18.82%) [90m│[39m 127 (18.22%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m xquery [90m│[39m 2 [90m│[39m 80 [90m│[39m 640 [90m│[39m 1 [90m│[39m 30 (37.50%) [90m│[39m 222 (34.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m yaml [90m│[39m 6 [90m│[39m 262 [90m│[39m 554 [90m│[39m 2 [90m│[39m 45 (17.18%) [90m│[39m 192 (34.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m zig [90m│[39m 2 [90m│[39m 130 [90m│[39m 827 [90m│[39m 2 [90m│[39m 52 (40.00%) [90m│[39m 311 (37.61%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m [1mTotal:[22m [90m│[39m 347 [90m│[39m 24603 [90m│[39m 130473 [90m│[39m 212 [90m│[39m 9133 (37.12%) [90m│[39m 56491 (43.30%) [90m│[39m [90m└────────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘[39m [90mFound 212 clones.[39m [90mtime: 42.279ms[39m [90m💡 Auto-refactor with AI: [1m[39mnpx skills add https://github.com/kucherenko/jscpd --skill dry-refactoring[90m[22m [90m🎩 New: Gangsta Agents — discipline your AI coding → gangsta.page[39m [90m💖 Support jscpd project → https://opencollective.com/jscpd[39m command (bin field declares only jscpd). The [1mClone found (actionscript)[22m - [1m[32mactionscript/file1.as[39m[22m [1:1 - 30:10] (30 lines, 127 tokens) actionscript/file2.as [1:1 - 30:10] [1mClone found (ada)[22m - [1m[32mada/file1.ada[39m[22m [1:1 - 21:12] (21 lines, 103 tokens) ada/file2.ada [1:1 - 21:12] [1mClone found (antlr4)[22m - [1m[32mantlr4/file1.g4[39m[22m [1:1 - 21:27] (21 lines, 82 tokens) antlr4/file2.g4 [1:1 - 21:27] [1mClone found (apex)[22m - [1m[32mapex/file1.cls[39m[22m [1:29 - 24:18] (24 lines, 115 tokens) apex/file2.cls [1:29 - 24:18] [1mClone found (apl)[22m - [1m[32mapl/file1.apl[39m[22m [1:1 - 20:54] (20 lines, 252 tokens) apl/file2.apl [1:1 - 20:54] [1mClone found (css)[22m - [1m[32mastro/component1.astro:css[39m[22m [76:3 - 161:4] (86 lines, 364 tokens) astro/component2.astro:css [76:3 - 161:4] [1mClone found (css)[22m - [1m[32mastro/component1.astro:css[39m[22m [79:23 - 124:12] (46 lines, 194 tokens) svelte/component1.svelte:css [116:28 - 161:12] [1mClone found (html)[22m - [1m[32mastro/component1.astro:html[39m[22m [1:1 - 162:9] (162 lines, 246 tokens) astro/component2.astro:html [1:1 - 162:9] [1mClone found (html)[22m - [1m[32mastro/component1.astro:html[39m[22m [27:1 - 33:8] (7 lines, 67 tokens) svelte/component1.svelte:html [64:1 - 70:8] [1mClone found (javascript)[22m - [1m[32mastro/component1.astro:javascript[39m[22m [58:3 - 72:4] (15 lines, 111 tokens) astro/component2.astro:javascript [58:3 - 72:4] [1mClone found (typescript)[22m - [1m[32mastro/component1.astro:typescript[39m[22m [2:1 - 24:4] (23 lines, 153 tokens) astro/component2.astro:typescript [2:1 - 24:4] [1mClone found (awk)[22m - [1m[32mawk/file1.awk[39m[22m [1:1 - 23:33] (23 lines, 75 tokens) awk/file2.awk [1:1 - 23:33] [1mClone found (basic)[22m - [1m[32mbasic/file1.bas[39m[22m [1:1 - 18:4] (18 lines, 100 tokens) basic/file2.bas [1:1 - 18:4] [1mClone found (bicep)[22m - [1m[32mbicep/file1.bicep[39m[22m [1:1 - 27:9] (27 lines, 78 tokens) bicep/file2.bicep [1:1 - 27:9] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 26:77] (26 lines, 268 tokens) brainfuck/file1.bf [1:1 - 26:77] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 41:59] (41 lines, 439 tokens) brainfuck/file2.b [1:1 - 41:59] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 41:59] (41 lines, 439 tokens) brainfuck/file2.bf [1:1 - 41:59] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [33:1 - 41:59] (9 lines, 143 tokens) brainfuck/file1.bf [28:1 - 36:59] [1mClone found (cfml)[22m - [1m[32mcfml/file1.cfm[39m[22m [4:20 - 21:2] (18 lines, 85 tokens) cfml/file2.cfm [4:18 - 21:2] [1mClone found (cfscript)[22m - [1m[32mcfscript/file1.cfc[39m[22m [1:1 - 28:11] (28 lines, 161 tokens) cfscript/file2.cfc [1:1 - 28:11] [1mClone found (c)[22m - [1m[32mclike/file1.c[39m[22m [1:1 - 17:4] (17 lines, 258 tokens) clike/file2.c [1:1 - 17:4] [1mClone found (c)[22m - [1m[32mclike/file1.c[39m[22m [8:3 - 19:2] (12 lines, 81 tokens) clike/file2.c [18:3 - 29:2] [1mClone found (cpp)[22m - [1m[32mclike/file1.cpp[39m[22m [1:1 - 88:7] (88 lines, 757 tokens) clike/file2.cpp [1:1 - 88:7] [1mClone found (cpp)[22m - [1m[32mclike/file1.cpp[39m[22m [24:5 - 43:51] (20 lines, 208 tokens) clike/file1.cpp [45:5 - 64:51] [1mClone found (csharp)[22m - [1m[32mclike/file1.cs[39m[22m [1:1 - 91:19] (91 lines, 235 tokens) clike/file2.cs [1:1 - 91:19] [1mClone found (csharp)[22m - [1m[32mclike/file1.cs[39m[22m [103:9 - 185:2] (83 lines, 302 tokens) clike/file2.cs [93:9 - 175:2] [1mClone found (c-header)[22m - [1m[32mclike/file1.h[39m[22m [1:1 - 17:4] (17 lines, 258 tokens) clike/file2.h [1:1 - 17:4] [1mClone found (c-header)[22m - [1m[32mclike/file1.h[39m[22m [8:3 - 19:2] (12 lines, 81 tokens) clike/file2.h [18:3 - 29:2] [1mClone found (cpp-header)[22m - [1m[32mclike/file1.hpp[39m[22m [1:1 - 88:7] (88 lines, 757 tokens) clike/file2.hpp [1:1 - 88:7] [1mClone found (cpp-header)[22m - [1m[32mclike/file1.hpp[39m[22m [24:5 - 43:51] (20 lines, 208 tokens) clike/file1.hpp [45:5 - 64:51] [1mClone found (java)[22m - [1m[32mclike/file1.java[39m[22m [1:1 - 186:6] (186 lines, 6601 tokens) clike/file2.java [1:1 - 186:6] [1mClone found (java)[22m - [1m[32mclike/file1.java[39m[22m [182:51 - 221:2] (40 lines, 786 tokens) clike/file2.java [194:52 - 233:2] [1mClone found (kotlin)[22m - [1m[32mclike/file1.kt[39m[22m [1:1 - 33:6] (33 lines, 186 tokens) clike/file2.kt [1:1 - 33:6] [1mClone found (kotlin)[22m - [1m[32mclike/file1.kt[39m[22m [38:5 - 53:2] (16 lines, 64 tokens) clike/file2.kt [38:5 - 53:2] [1mClone found (scala)[22m - [1m[32mclike/file1.scala[39m[22m [1:1 - 29:2] (29 lines, 848 tokens) clike/file2.scala [1:1 - 29:2] [1mClone found (clojure)[22m - [1m[32mclojure/file1.clj[39m[22m [2:3 - 20:23] (19 lines, 139 tokens) clojure/file2.clj [2:3 - 20:23] [1mClone found (cmake)[22m - [1m[32mcmake/file1.cmake[39m[22m [1:1 - 21:14] (21 lines, 128 tokens) cmake/file2.cmake [1:1 - 21:14] [1mClone found (coffeescript)[22m - [1m[32mcoffeescript/file1.coffee[39m[22m [1:1 - 13:22] (13 lines, 75 tokens) coffeescript/file2.coffee [3:1 - 15:22] [1mClone found (coffeescript)[22m - [1m[32mcoffeescript/file1.coffee[39m[22m [16:1 - 44:21] (29 lines, 144 tokens) coffeescript/file1.coffee [46:1 - 74:21] [1mClone found (lisp)[22m - [1m[32mcommonlisp/file1.el[39m[22m [1:1 - 50:23] (50 lines, 289 tokens) commonlisp/file2.el [1:1 - 50:23] [1mClone found (crystal)[22m - [1m[32mcrystal/file1.cr[39m[22m [1:1 - 29:4] (29 lines, 97 tokens) crystal/file2.cr [1:1 - 29:4] [1mClone found (css)[22m - [1m[32mcss/file1.css[39m[22m [1:1 - 25:2] (25 lines, 237 tokens) css/file10.css [1:1 - 25:2] [1mClone found (css)[22m - [1m[32mcss/file1.css[39m[22m [1:1 - 19:36] (19 lines, 192 tokens) css/file2.css [1:1 - 19:36] [1mClone found (less)[22m - [1m[32mcss/file1.less[39m[22m [1:1 - 19:36] (19 lines, 192 tokens) css/file2.less [1:1 - 19:36] [1mClone found (less)[22m - [1m[32mcss/file1.less[39m[22m [14:35 - 25:2] (12 lines, 90 tokens) css/file1.less [24:5 - 36:2] [1mClone found (scss)[22m - [1m[32mcss/file1.scss[39m[22m [1:1 - 53:2] (53 lines, 324 tokens) css/file2.scss [1:1 - 53:2] [1mClone found (csv)[22m - [1m[32mcsv/file1.csv[39m[22m [1:1 - 9:56] (9 lines, 163 tokens) csv/file2.csv [1:1 - 9:56] [1mClone found (d)[22m - [1m[32md/file1.d[39m[22m [1:1 - 169:6] (169 lines, 1135 tokens) d/file2.d [1:1 - 169:6] [1mClone found (dart)[22m - [1m[32mdart/file1.dart[39m[22m [1:1 - 89:4] (89 lines, 403 tokens) dart/file2.dart [1:1 - 89:4] [1mClone found (dart)[22m - [1m[32mdart/file1.dart[39m[22m [118:15 - 148:2] (31 lines, 119 tokens) dart/file2.dart [88:6 - 118:2] [1mClone found (diff)[22m - [1m[32mdiff/file1.diff[39m[22m [1:1 - 62:7] (62 lines, 435 tokens) diff/file2.diff [1:1 - 62:7] [1mClone found (dot)[22m - [1m[32mdot/file1.dot[39m[22m [1:1 - 18:21] (18 lines, 91 tokens) dot/file2.dot [1:1 - 18:21] [1mClone found (eiffel)[22m - [1m[32meiffel/file1.e[39m[22m [1:1 - 46:11] (46 lines, 130 tokens) eiffel/file2.e [1:1 - 46:11] [1mClone found (elm)[22m - [1m[32melm/file1.elm[39m[22m [1:1 - 47:23] (47 lines, 155 tokens) elm/file2.elm [1:1 - 47:23] [1mClone found (erlang)[22m - [1m[32merlang/file1.erl[39m[22m [1:1 - 121:7] (121 lines, 837 tokens) erlang/file2.erl [1:1 - 121:7] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.cjs [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.js [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.mjs [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_3.js [1:1 - 52:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [28:1 - 55:3] (28 lines, 169 tokens) folder2/file_2.js [1:1 - 28:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [28:1 - 55:3] (28 lines, 169 tokens) folder2/file_2.js [29:1 - 56:3] [1mClone found (fortran)[22m - [1m[32mfortran/file1.f[39m[22m [1:7 - 37:21] (37 lines, 182 tokens) fortran/file2.f [1:7 - 37:21] [1mClone found (gdscript)[22m - [1m[32mgdscript/file1.gd[39m[22m [22:1 - 46:18] (25 lines, 135 tokens) gdscript/file2.gd [22:1 - 46:18] [1mClone found (gettext)[22m - [1m[32mgettext/file1.po[39m[22m [13:1 - 64:7] (52 lines, 82 tokens) gettext/file2.po [13:1 - 64:7] [1mClone found (gherkin)[22m - [1m[32mgherkin/file1.feature[39m[22m [1:1 - 16:26] (16 lines, 83 tokens) gherkin/file2.feature [1:1 - 16:26] [1mClone found (ignore)[22m - [1m[32mgitignore/file1.gitignore[39m[22m [1:1 - 84:16] (84 lines, 234 tokens) gitignore/file2.gitignore [1:1 - 84:16] [1mClone found (go)[22m - [1m[32mgo/file1.go[39m[22m [1:1 - 30:5] (30 lines, 134 tokens) go/file2.go [1:1 - 31:5] [1mClone found (graphql)[22m - [1m[32mgraphql/file1.graphql[39m[22m [1:1 - 25:5] (25 lines, 143 tokens) graphql/file2.graphql [1:1 - 25:5] [1mClone found (groovy)[22m - [1m[32mgroovy/file1.groovy[39m[22m [1:1 - 41:6] (41 lines, 188 tokens) groovy/file2.groovy [1:1 - 41:6] [1mClone found (haml)[22m - [1m[32mhaml/file1.haml[39m[22m [1:1 - 23:18] (23 lines, 118 tokens) haml/file2.haml [1:1 - 23:18] [1mClone found (handlebars)[22m - [1m[32mhandlebars/file1.hbs[39m[22m [1:1 - 28:27] (28 lines, 218 tokens) handlebars/file2.hbs [1:1 - 28:27] [1mClone found (haskell)[22m - [1m[32mhaskell-literate/file1.lhs[39m[22m [1:1 - 31:2] (31 lines, 182 tokens) haskell-literate/file2.lhs [1:1 - 31:2] [1mClone found (haskell)[22m - [1m[32mhaskell/file1.hs[39m[22m [1:1 - 173:34] (173 lines, 902 tokens) haskell/file2.hs [1:1 - 173:34] [1mClone found (haskell)[22m - [1m[32mhaskell/file1.hs[39m[22m [190:1 - 204:33] (15 lines, 99 tokens) haskell/file2.hs [175:1 - 189:33] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hx[39m[22m [1:1 - 62:76] (62 lines, 334 tokens) haxe/file2.hx [1:1 - 62:2] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hx[39m[22m [6:3 - 47:9] (42 lines, 244 tokens) haxe/file1.hx [47:3 - 88:9] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hxml[39m[22m [3:1 - 14:10] (12 lines, 56 tokens) haxe/file2.hxml [1:1 - 12:10] [1mClone found (hcl)[22m - [1m[32mhcl/file1.tf[39m[22m [1:1 - 37:9] (37 lines, 85 tokens) hcl/file2.tf [1:1 - 37:9] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [7:18 - 16:35] (10 lines, 67 tokens) htmlembedded/file2.aspx [7:21 - 16:35] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [18:53 - 36:30] (19 lines, 173 tokens) htmlembedded/file2.aspx [18:60 - 36:30] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [37:95 - 47:8] (11 lines, 56 tokens) htmlembedded/file2.aspx [44:98 - 54:8] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.htm[39m[22m [1:1 - 24:7] (24 lines, 191 tokens) htmlmixed/file2.htm [1:1 - 24:7] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.htm[39m[22m [1:1 - 24:7] (24 lines, 191 tokens) ignore/file2.htm [1:1 - 24:7] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.html[39m[22m [1:1 - 16:2] (16 lines, 91 tokens) htmlmixed/file2.html [1:1 - 16:2] [1mClone found (prolog)[22m - [1m[32midl/file1.pro[39m[22m [1:1 - 28:22] (28 lines, 176 tokens) idl/file2.pro [1:1 - 28:22] [1mClone found (idris)[22m - [1m[32midris/file1.idr[39m[22m [1:1 - 35:3] (35 lines, 208 tokens) idris/file2.idr [1:1 - 35:3] [1mClone found (txt)[22m - [1m[32mignore-case/file2.txt[39m[22m [1:1 - 12:55] (12 lines, 85 tokens) text/file1.txt [1:1 - 12:55] [1mClone found (txt)[22m - [1m[32mignore-case/file2.txt[39m[22m [1:1 - 61:63] (61 lines, 350 tokens) text/file2.txt [1:1 - 61:63] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 263:4] (263 lines, 1318 tokens) javascript/file1.mts [1:1 - 263:4] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 263:4] (263 lines, 1318 tokens) javascript/file1.ts [1:1 - 263:4] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 66:24] (66 lines, 531 tokens) javascript/file2.cts [48:1 - 113:24] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [74:1 - 263:4] (190 lines, 787 tokens) javascript/file2.cts [187:1 - 376:4] [1mClone found (javascript)[22m - [1m[32mjavascript/file1.js[39m[22m [5:1 - 24:2] (20 lines, 94 tokens) javascript/file2.js [5:1 - 27:2] [1mClone found (json)[22m - [1m[32mjavascript/file1.json[39m[22m [4:53 - 21:22] (18 lines, 64 tokens) javascript/file2.json [4:70 - 21:22] [1mClone found (json)[22m - [1m[32mjavascript/file1.json[39m[22m [22:22 - 43:2] (22 lines, 70 tokens) javascript/file2.json [22:22 - 43:2] [1mClone found (typescript)[22m - [1m[32mjavascript/file2.cts[39m[22m [109:38 - 209:24] (101 lines, 297 tokens) javascript/file2.mts [109:38 - 209:24] [1mClone found (javascript)[22m - [1m[32mjavascript/file_4.js[39m[22m [15:2 - 42:43] (28 lines, 98 tokens) javascript/file_4.js [56:74 - 83:43] [1mClone found (json5)[22m - [1m[32mjson5/file1.json5[39m[22m [1:1 - 31:5] (31 lines, 93 tokens) json5/file2.json5 [1:1 - 31:5] [1mClone found (jsx)[22m - [1m[32mjsx/file1.jsx[39m[22m [1:1 - 21:46] (21 lines, 99 tokens) jsx/file2.jsx [1:1 - 21:46] [1mClone found (tsx)[22m - [1m[32mjsx/file1.tsx[39m[22m [1:1 - 35:2] (35 lines, 143 tokens) jsx/file2.tsx [1:1 - 35:2] [1mClone found (julia)[22m - [1m[32mjulia/file1.jl[39m[22m [1:1 - 30:4] (30 lines, 194 tokens) julia/file2.jl [1:1 - 30:4] [1mClone found (latex)[22m - [1m[32mlatex/file1.tex[39m[22m [1:1 - 26:13] (26 lines, 149 tokens) latex/file2.tex [1:1 - 26:13] [1mClone found (lilypond)[22m - [1m[32mlilypond/file1.ly[39m[22m [1:1 - 19:10] (19 lines, 63 tokens) lilypond/file2.ly [1:1 - 19:10] [1mClone found (linker-script)[22m - [1m[32mlinker-script/file1.ld[39m[22m [1:1 - 47:4] (47 lines, 256 tokens) linker-script/file2.ld [1:1 - 47:4] [1mClone found (livescript)[22m - [1m[32mlivescript/file1.ls[39m[22m [1:1 - 31:24] (31 lines, 145 tokens) livescript/file2.ls [1:1 - 31:24] [1mClone found (llvm)[22m - [1m[32mllvm/file1.ll[39m[22m [1:1 - 35:2] (35 lines, 215 tokens) llvm/file2.ll [1:1 - 35:2] [1mClone found (log)[22m - [1m[32mlog/file1.log[39m[22m [1:1 - 13:11] (13 lines, 262 tokens) log/file2.log [1:1 - 13:11] [1mClone found (lua)[22m - [1m[32mlua/file1.lua[39m[22m [1:1 - 46:4] (46 lines, 193 tokens) lua/file2.lua [1:1 - 46:4] [1mClone found (markdown)[22m - [1m[32mmarkdown/file1.md:markdown[39m[22m [2:1 - 176:3] (175 lines, 1238 tokens) markdown/file2.md:markdown [7:1 - 181:3] [1mClone found (markdown)[22m - [1m[32mmarkdown/file1.md:markdown[39m[22m [176:1 - 193:86] (18 lines, 100 tokens) markdown/file2.md:markdown [196:1 - 213:86] [1mClone found (text)[22m - [1m[32mmarkdown/file1.md:text[39m[22m [156:1 - 166:11] (11 lines, 69 tokens) markdown/file2.md:text [161:1 - 171:11] [1mClone found (yaml)[22m - [1m[32mmarkdown/file1.md:yaml[39m[22m [53:1 - 81:10] (29 lines, 60 tokens) markdown/file2.md:yaml [58:1 - 86:10] [1mClone found (markdown)[22m - [1m[32mmarkdown/file3.md:markdown[39m[22m [27:85 - 98:66] (72 lines, 69 tokens) markdown/file4.md:markdown [27:89 - 98:66] [1mClone found (python)[22m - [1m[32mmarkdown/file3.md:python[39m[22m [72:1 - 91:6] (20 lines, 137 tokens) markdown/file4.md:python [72:1 - 91:6] [1mClone found (typescript)[22m - [1m[32mmarkdown/file3.md:typescript[39m[22m [34:1 - 64:2] (31 lines, 156 tokens) markdown/file4.md:typescript [34:1 - 64:2] [1mClone found (wolfram)[22m - [1m[32mmathematica/file1.wl[39m[22m [1:1 - 17:3] (17 lines, 127 tokens) mathematica/file2.wl [1:1 - 17:3] [1mClone found (fsharp)[22m - [1m[32mmllike/file1.fs[39m[22m [1:1 - 35:6] (35 lines, 193 tokens) mllike/file2.fs [1:1 - 35:6] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.ml[39m[22m [1:1 - 30:18] (30 lines, 150 tokens) mllike/file2.ml [1:1 - 30:18] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.mli[39m[22m [1:1 - 29:20] (29 lines, 186 tokens) mllike/file2.mli [1:1 - 29:20] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.mll[39m[22m [1:1 - 24:20] (24 lines, 104 tokens) mllike/file2.mll [1:1 - 24:20] [1mClone found (nsis)[22m - [1m[32mnsis/file1.nsi[39m[22m [1:1 - 29:25] (29 lines, 71 tokens) nsis/file2.nsi [1:1 - 29:25] [1mClone found (c-header)[22m - [1m[32mobjective-c/file_1.h[39m[22m [1:1 - 33:2] (33 lines, 385 tokens) objective-c/file_2.h [1:1 - 33:2] [1mClone found (objectivec)[22m - [1m[32mobjective-c/file_1.m[39m[22m [1:1 - 12:35] (12 lines, 311 tokens) objective-c/file_2.m [1:1 - 12:35] [1mClone found (objectivec)[22m - [1m[32mobjective-c/file_1.m[39m[22m [14:1 - 64:5] (51 lines, 216 tokens) objective-c/file_2.m [38:1 - 88:5] [1mClone found (javascript)[22m - [1m[32mone-file/one-file.js[39m[22m [1:1 - 28:6] (28 lines, 165 tokens) one-file/one-file.js [32:1 - 59:6] [1mClone found (openqasm)[22m - [1m[32mopenqasm/file1.qasm[39m[22m [5:1 - 23:7] (19 lines, 92 tokens) openqasm/file2.qasm [23:1 - 41:7] [1mClone found (oz)[22m - [1m[32moz/file1.oz[39m[22m [1:1 - 37:20] (37 lines, 141 tokens) oz/file2.oz [1:1 - 37:20] [1mClone found (pascal)[22m - [1m[32mpascal/file1.pas[39m[22m [1:1 - 37:5] (37 lines, 203 tokens) pascal/file2.pas [1:1 - 37:5] [1mClone found (perl)[22m - [1m[32mperl/file1.pl[39m[22m [1:1 - 121:31] (121 lines, 331 tokens) perl/file2.pl [1:1 - 121:31] [1mClone found (perl)[22m - [1m[32mperl/file1.pm[39m[22m [1:1 - 143:4] (143 lines, 586 tokens) perl/file2.pm [1:1 - 143:4] [1mClone found (perl)[22m - [1m[32mperl/file1.pm[39m[22m [143:3 - 155:3] (13 lines, 54 tokens) perl/file2.pm [176:3 - 188:3] [1mClone found (php)[22m - [1m[32mphp/file1.php[39m[22m [1:1 - 51:20] (51 lines, 295 tokens) php/file2.php [1:1 - 51:20] [1mClone found (plant-uml)[22m - [1m[32mplant-uml/file1.puml[39m[22m [1:1 - 52:40] (52 lines, 181 tokens) plant-uml/file2.puml [1:1 - 52:40] [1mClone found (plsql)[22m - [1m[32mplsql/file1.plsql[39m[22m [1:1 - 56:12] (56 lines, 191 tokens) plsql/file2.plsql [1:1 - 56:12] [1mClone found (plsql)[22m - [1m[32mplsql/file1.plsql[39m[22m [70:20 - 85:2] (16 lines, 53 tokens) plsql/file2.plsql [71:25 - 86:2] [1mClone found (powerquery)[22m - [1m[32mpowerquery/file1.pq[39m[22m [1:1 - 41:7] (41 lines, 210 tokens) powerquery/file2.pq [1:1 - 41:7] [1mClone found (powershell)[22m - [1m[32mpowershell/file1.ps1[39m[22m [1:1 - 41:2] (41 lines, 168 tokens) powershell/file2.ps1 [1:1 - 41:2] [1mClone found (ini)[22m - [1m[32mproperties/file1.ini[39m[22m [1:1 - 27:7] (27 lines, 79 tokens) properties/file2.ini [1:1 - 27:7] [1mClone found (properties)[22m - [1m[32mproperties/file1.properties[39m[22m [1:1 - 22:11] (22 lines, 114 tokens) properties/file2.properties [1:1 - 22:11] [1mClone found (protobuf)[22m - [1m[32mprotobuf/file1.proto[39m[22m [1:1 - 40:8] (40 lines, 115 tokens) protobuf/file2.proto [1:1 - 40:8] [1mClone found (pug)[22m - [1m[32mpug/file1.pug[39m[22m [1:1 - 234:21] (234 lines, 1037 tokens) pug/file2.pug [1:1 - 234:21] [1mClone found (pug)[22m - [1m[32mpug/file1.pug[39m[22m [239:36 - 291:67] (53 lines, 212 tokens) pug/file2.pug [231:30 - 283:67] [1mClone found (puppet)[22m - [1m[32mpuppet/file1.pp[39m[22m [1:1 - 39:4] (39 lines, 131 tokens) puppet/file2.pp [1:1 - 39:4] [1mClone found (puppet)[22m - [1m[32mpuppet/file1.pp[39m[22m [44:32 - 64:2] (21 lines, 83 tokens) puppet/file2.pp [38:38 - 58:2] [1mClone found (purescript)[22m - [1m[32mpurescript/file1.purs[39m[22m [1:1 - 44:7] (44 lines, 265 tokens) purescript/file2.purs [1:1 - 44:7] [1mClone found (purescript)[22m - [1m[32mpurescript/file1.purs[39m[22m [47:41 - 53:44] (7 lines, 50 tokens) purescript/file2.purs [47:40 - 53:44] [1mClone found (python)[22m - [1m[32mpython/file1.py[39m[22m [1:1 - 24:13] (24 lines, 67 tokens) python/file2.py [1:1 - 24:13] [1mClone found (q)[22m - [1m[32mq/file1.q[39m[22m [1:1 - 30:2] (30 lines, 378 tokens) q/file2.q [1:1 - 30:2] [1mClone found (qsharp)[22m - [1m[32mqsharp/file1.qs[39m[22m [2:32 - 11:6] (10 lines, 50 tokens) qsharp/file2.qs [2:29 - 11:6] [1mClone found (r)[22m - [1m[32mr/file1.r[39m[22m [1:1 - 64:9] (64 lines, 427 tokens) r/file2.r [1:1 - 64:9] [1mClone found (racket)[22m - [1m[32mracket/file1.rkt[39m[22m [1:1 - 38:3] (38 lines, 286 tokens) racket/file2.rkt [1:1 - 38:3] [1mClone found (rescript)[22m - [1m[32mrescript/file1.res[39m[22m [1:1 - 38:2] (38 lines, 200 tokens) rescript/file2.res [1:1 - 38:2] [1mClone found (robotframework)[22m - [1m[32mrobotframework/file1.robot[39m[22m [1:1 - 27:45] (27 lines, 143 tokens) robotframework/file2.robot [1:1 - 27:45] [1mClone found (robotframework)[22m - [1m[32mrobotframework/file1.robot[39m[22m [45:1 - 62:23] (18 lines, 80 tokens) robotframework/file2.robot [51:1 - 68:23] [1mClone found (ruby)[22m - [1m[32mruby/file1.rb[39m[22m [1:1 - 40:4] (40 lines, 96 tokens) ruby/file2.rb [1:1 - 40:4] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [1:1 - 131:3] (131 lines, 857 tokens) rust/file2.rs [1:1 - 132:3] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [199:50 - 204:2] (6 lines, 51 tokens) rust/file1.rs [255:53 - 260:2] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [232:93 - 239:64] (8 lines, 58 tokens) rust/file1.rs [247:47 - 254:64] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [239:57 - 416:2] (178 lines, 1285 tokens) rust/file2.rs [123:52 - 301:2] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [263:28 - 273:12] (11 lines, 80 tokens) rust/file1.rs [335:21 - 345:12] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [319:60 - 332:2] (14 lines, 114 tokens) rust/file1.rs [371:96 - 384:2] [1mClone found (sas)[22m - [1m[32msas/file1.sas[39m[22m [1:1 - 59:4] (59 lines, 444 tokens) sas/file2.sas [1:1 - 59:4] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [1:1 - 19:17] (19 lines, 89 tokens) sass/file2.sass [1:1 - 19:17] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [3:1 - 17:43] (15 lines, 82 tokens) sass/file1.sass [19:1 - 33:43] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [5:1 - 24:45] (20 lines, 102 tokens) sass/file2.sass [24:1 - 48:33] [1mClone found (scheme)[22m - [1m[32mscheme/file1.scm[39m[22m [1:1 - 33:23] (33 lines, 225 tokens) scheme/file2.scm [1:1 - 33:23] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shebang/deploy [1:1 - 32:2] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shell/file1.sh [1:1 - 32:2] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shell/file2.sh [1:1 - 32:2] [1mClone found (python)[22m - [1m[32mshebang/process[39m[22m [1:1 - 32:4] (32 lines, 159 tokens) shebang/transform [1:1 - 32:4] [1mClone found (smalltalk)[22m - [1m[32msmalltalk/file1.st[39m[22m [1:1 - 45:2] (45 lines, 146 tokens) smalltalk/file2.st [1:1 - 45:2] [1mClone found (smarty)[22m - [1m[32msmarty/file1.tpl[39m[22m [1:1 - 43:18] (43 lines, 286 tokens) smarty/file2.tpl [1:1 - 43:18] [1mClone found (solidity)[22m - [1m[32msolidity/file1.sol[39m[22m [25:61 - 55:13] (31 lines, 168 tokens) solidity/file2.sol [29:54 - 59:13] [1mClone found (soy)[22m - [1m[32msoy/file1.soy[39m[22m [1:1 - 49:27] (49 lines, 346 tokens) soy/file2.soy [1:1 - 49:27] [1mClone found (sparql)[22m - [1m[32msparql/file1.rq[39m[22m [1:1 - 11:9] (11 lines, 65 tokens) sparql/file2.rq [1:1 - 11:9] [1mClone found (sql)[22m - [1m[32msql/file1.sql[39m[22m [3:1 - 41:46] (39 lines, 214 tokens) sql/file2.sql [3:1 - 41:46] [1mClone found (stylus)[22m - [1m[32mstylus/file1.styl[39m[22m [1:1 - 53:20] (53 lines, 201 tokens) stylus/file2.styl [1:1 - 53:20] [1mClone found (css)[22m - [1m[32msvelte/component1.svelte:css[39m[22m [112:3 - 230:4] (119 lines, 507 tokens) svelte/component2.svelte:css [112:3 - 230:4] [1mClone found (html)[22m - [1m[32msvelte/component1.svelte:html[39m[22m [1:1 - 231:9] (231 lines, 350 tokens) svelte/component2.svelte:html [1:1 - 231:9] [1mClone found (javascript)[22m - [1m[32msvelte/component1.svelte:javascript[39m[22m [2:3 - 61:6] (60 lines, 286 tokens) svelte/component2.svelte:javascript [2:3 - 61:6] [1mClone found (swift)[22m - [1m[32mswift/file1.swift[39m[22m [9:1 - 29:6] (21 lines, 73 tokens) swift/file2.swift [2:1 - 22:6] [1mClone found (tap)[22m - [1m[32mtap/file1.tap[39m[22m [1:1 - 35:8] (35 lines, 202 tokens) tap/file2.tap [1:1 - 35:8] [1mClone found (tcl)[22m - [1m[32mtcl/file1.tcl[39m[22m [1:1 - 45:2] (45 lines, 263 tokens) tcl/file2.tcl [1:1 - 45:2] [1mClone found (textile)[22m - [1m[32mtextile/file1.textile[39m[22m [1:1 - 51:4] (51 lines, 236 tokens) textile/file2.textile [1:1 - 51:4] [1mClone found (toml)[22m - [1m[32mtoml/file1.toml[39m[22m [1:1 - 39:19] (39 lines, 100 tokens) toml/file2.toml [1:1 - 39:19] [1mClone found (tt2)[22m - [1m[32mtt2/file1.tt2[39m[22m [1:1 - 38:14] (38 lines, 299 tokens) tt2/file2.tt2 [1:1 - 38:14] [1mClone found (tt2)[22m - [1m[32mtt2/file1.tt2[39m[22m [42:21 - 52:25] (11 lines, 54 tokens) tt2/file2.tt2 [42:86 - 52:25] [1mClone found (turtle)[22m - [1m[32mturtle/file1.ttl[39m[22m [1:1 - 36:17] (36 lines, 212 tokens) turtle/file2.ttl [1:1 - 36:17] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [1:1 - 23:3] (23 lines, 167 tokens) twig/file_2.twig [1:1 - 23:3] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [13:20 - 25:9] (13 lines, 65 tokens) twig/file_1.twig [16:8 - 28:9] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [19:8 - 29:15] (11 lines, 54 tokens) twig/file_2.twig [22:8 - 32:15] [1mClone found (unrealscript)[22m - [1m[32munrealscript/file1.uc[39m[22m [1:1 - 56:6] (56 lines, 161 tokens) unrealscript/file2.uc [1:1 - 56:6] [1mClone found (vbnet)[22m - [1m[32mvb/file1.vb[39m[22m [1:1 - 29:17] (29 lines, 163 tokens) vb/file2.vb [1:1 - 29:17] [1mClone found (velocity)[22m - [1m[32mvelocity/file1.vtl[39m[22m [1:1 - 41:25] (41 lines, 264 tokens) velocity/file2.vtl [1:1 - 41:25] [1mClone found (verilog)[22m - [1m[32mverilog/file1.v[39m[22m [1:1 - 40:10] (40 lines, 163 tokens) verilog/file2.v [1:1 - 40:10] [1mClone found (vhdl)[22m - [1m[32mvhdl/file1.vhd[39m[22m [1:1 - 32:18] (32 lines, 179 tokens) vhdl/file2.vhd [1:1 - 32:18] [1mClone found (typescript)[22m - [1m[32mvue/app1.vue:typescript[39m[22m [5:1 - 33:4] (29 lines, 128 tokens) vue/app2.vue:typescript [5:1 - 33:4] [1mClone found (javascript)[22m - [1m[32mvue/file.js[39m[22m [1:1 - 28:2] (28 lines, 210 tokens) vue/file1.vue:javascript [125:3 - 152:4] [1mClone found (html)[22m - [1m[32mvue/file1.vue:html[39m[22m [1:1 - 10:9] (10 lines, 99 tokens) vue/file2.vue:html [1:1 - 10:9] [1mClone found (javascript)[22m - [1m[32mvue/file1.vue:javascript[39m[22m [120:3 - 261:4] (142 lines, 817 tokens) vue/file2.vue:javascript [99:3 - 240:4] [1mClone found (scss)[22m - [1m[32mvue/file1.vue:scss[39m[22m [13:3 - 75:6] (63 lines, 402 tokens) vue/file2.vue:scss [13:3 - 75:6] [1mClone found (scss)[22m - [1m[32mvue/file1.vue:scss[39m[22m [95:5 - 117:4] (23 lines, 149 tokens) vue/file2.vue:scss [74:5 - 96:4] [1mClone found (wgsl)[22m - [1m[32mwgsl/file1.wgsl[39m[22m [1:1 - 45:3] (45 lines, 274 tokens) wgsl/file2.wgsl [1:1 - 45:3] [1mClone found (wgsl)[22m - [1m[32mwgsl/file1.wgsl[39m[22m [51:42 - 59:6] (9 lines, 66 tokens) wgsl/file2.wgsl [55:47 - 63:6] [1mClone found (markup)[22m - [1m[32mxml/file1.svg[39m[22m [1:1 - 88:2] (88 lines, 392 tokens) xml/file2.svg [1:1 - 87:6] [1mClone found (markup)[22m - [1m[32mxml/file1.xsl[39m[22m [1:1 - 43:6] (43 lines, 316 tokens) xml/file2.xsl [1:1 - 43:2] [1mClone found (markup)[22m - [1m[32mxml/file1.xsl[39m[22m [20:15 - 35:6] (16 lines, 133 tokens) xml/file1.xsl [32:137 - 47:2] [1mClone found (xquery)[22m - [1m[32mxquery/file1.xquery[39m[22m [1:1 - 31:22] (31 lines, 222 tokens) xquery/file2.xquery [1:1 - 31:22] [1mClone found (yaml)[22m - [1m[32myaml/file1.yml[39m[22m [1:1 - 18:23] (18 lines, 132 tokens) yaml/file2.yml [1:1 - 18:23] [1mClone found (c)[22m - [1m[32mz80/file1.z80[39m[22m [1:1 - 14:25] (14 lines, 60 tokens) z80/file2.z80 [1:1 - 14:25] [1mClone found (zig)[22m - [1m[32mzig/file1.zig[39m[22m [1:1 - 43:10] (43 lines, 259 tokens) zig/file2.zig [1:1 - 43:10] [1mClone found (zig)[22m - [1m[32mzig/file1.zig[39m[22m [42:45 - 52:23] (11 lines, 52 tokens) zig/file2.zig [47:45 - 57:23] [90m┌────────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐[39m [90m│[39m[31m Format [39m[90m│[39m[31m Files analyzed [39m[90m│[39m[31m Total lines [39m[90m│[39m[31m Total tokens [39m[90m│[39m[31m Clones found [39m[90m│[39m[31m Duplicated lines [39m[90m│[39m[31m Duplicated tokens [39m[90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m actionscript [90m│[39m 2 [90m│[39m 75 [90m│[39m 302 [90m│[39m 1 [90m│[39m 29 (38.67%) [90m│[39m 127 (42.05%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ada [90m│[39m 2 [90m│[39m 74 [90m│[39m 408 [90m│[39m 1 [90m│[39m 20 (27.03%) [90m│[39m 103 (25.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m antlr4 [90m│[39m 2 [90m│[39m 48 [90m│[39m 216 [90m│[39m 1 [90m│[39m 20 (41.67%) [90m│[39m 82 (37.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m apex [90m│[39m 2 [90m│[39m 84 [90m│[39m 451 [90m│[39m 1 [90m│[39m 23 (27.38%) [90m│[39m 115 (25.50%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m apl [90m│[39m 2 [90m│[39m 47 [90m│[39m 554 [90m│[39m 1 [90m│[39m 19 (40.43%) [90m│[39m 252 (45.49%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m aspnet [90m│[39m 2 [90m│[39m 101 [90m│[39m 854 [90m│[39m 3 [90m│[39m 37 (36.63%) [90m│[39m 296 (34.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m astro [90m│[39m 2 [90m│[39m 324 [90m│[39m 950 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m awk [90m│[39m 2 [90m│[39m 62 [90m│[39m 205 [90m│[39m 1 [90m│[39m 22 (35.48%) [90m│[39m 75 (36.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m bash [90m│[39m 4 [90m│[39m 158 [90m│[39m 418 [90m│[39m 3 [90m│[39m 93 (58.86%) [90m│[39m 258 (61.72%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m basic [90m│[39m 2 [90m│[39m 47 [90m│[39m 331 [90m│[39m 1 [90m│[39m 17 (36.17%) [90m│[39m 100 (30.21%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m bicep [90m│[39m 2 [90m│[39m 81 [90m│[39m 251 [90m│[39m 1 [90m│[39m 26 (32.10%) [90m│[39m 78 (31.08%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m brainfuck [90m│[39m 4 [90m│[39m 159 [90m│[39m 1728 [90m│[39m 4 [90m│[39m 113 (71.07%) [90m│[39m 1289 (74.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m c [90m│[39m 5 [90m│[39m 105 [90m│[39m 1060 [90m│[39m 3 [90m│[39m 40 (38.10%) [90m│[39m 399 (37.64%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m c-header [90m│[39m 4 [90m│[39m 149 [90m│[39m 2091 [90m│[39m 3 [90m│[39m 59 (39.60%) [90m│[39m 724 (34.62%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cfml [90m│[39m 2 [90m│[39m 107 [90m│[39m 671 [90m│[39m 1 [90m│[39m 17 (15.89%) [90m│[39m 85 (12.67%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cfscript [90m│[39m 2 [90m│[39m 69 [90m│[39m 437 [90m│[39m 1 [90m│[39m 27 (39.13%) [90m│[39m 161 (36.84%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m clojure [90m│[39m 2 [90m│[39m 46 [90m│[39m 374 [90m│[39m 1 [90m│[39m 18 (39.13%) [90m│[39m 139 (37.17%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cmake [90m│[39m 2 [90m│[39m 52 [90m│[39m 311 [90m│[39m 1 [90m│[39m 20 (38.46%) [90m│[39m 128 (41.16%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m coffeescript [90m│[39m 2 [90m│[39m 92 [90m│[39m 447 [90m│[39m 2 [90m│[39m 40 (43.48%) [90m│[39m 219 (48.99%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cpp [90m│[39m 2 [90m│[39m 176 [90m│[39m 1514 [90m│[39m 2 [90m│[39m 106 (60.23%) [90m│[39m 965 (63.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cpp-header [90m│[39m 2 [90m│[39m 176 [90m│[39m 1514 [90m│[39m 2 [90m│[39m 106 (60.23%) [90m│[39m 965 (63.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m crystal [90m│[39m 2 [90m│[39m 70 [90m│[39m 222 [90m│[39m 1 [90m│[39m 28 (40.00%) [90m│[39m 97 (43.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m csharp [90m│[39m 2 [90m│[39m 360 [90m│[39m 1099 [90m│[39m 2 [90m│[39m 172 (47.78%) [90m│[39m 537 (48.86%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m css [90m│[39m 8 [90m│[39m 875 [90m│[39m 2536 [90m│[39m 5 [90m│[39m 290 (33.14%) [90m│[39m 1494 (58.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m csv [90m│[39m 2 [90m│[39m 22 [90m│[39m 400 [90m│[39m 1 [90m│[39m 8 (36.36%) [90m│[39m 163 (40.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m d [90m│[39m 2 [90m│[39m 338 [90m│[39m 2270 [90m│[39m 1 [90m│[39m 168 (49.70%) [90m│[39m 1135 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m dart [90m│[39m 2 [90m│[39m 266 [90m│[39m 1178 [90m│[39m 2 [90m│[39m 118 (44.36%) [90m│[39m 522 (44.31%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m diff [90m│[39m 2 [90m│[39m 146 [90m│[39m 1082 [90m│[39m 1 [90m│[39m 61 (41.78%) [90m│[39m 435 (40.20%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m dot [90m│[39m 2 [90m│[39m 46 [90m│[39m 243 [90m│[39m 1 [90m│[39m 17 (36.96%) [90m│[39m 91 (37.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m eiffel [90m│[39m 2 [90m│[39m 126 [90m│[39m 380 [90m│[39m 1 [90m│[39m 45 (35.71%) [90m│[39m 130 (34.21%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m elm [90m│[39m 2 [90m│[39m 110 [90m│[39m 411 [90m│[39m 1 [90m│[39m 46 (41.82%) [90m│[39m 155 (37.71%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m erlang [90m│[39m 2 [90m│[39m 242 [90m│[39m 1674 [90m│[39m 1 [90m│[39m 120 (49.59%) [90m│[39m 837 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m fortran [90m│[39m 2 [90m│[39m 93 [90m│[39m 469 [90m│[39m 1 [90m│[39m 36 (38.71%) [90m│[39m 182 (38.81%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m fsharp [90m│[39m 2 [90m│[39m 82 [90m│[39m 462 [90m│[39m 1 [90m│[39m 34 (41.46%) [90m│[39m 193 (41.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gdscript [90m│[39m 2 [90m│[39m 96 [90m│[39m 458 [90m│[39m 1 [90m│[39m 24 (25.00%) [90m│[39m 135 (29.48%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gettext [90m│[39m 2 [90m│[39m 220 [90m│[39m 356 [90m│[39m 1 [90m│[39m 51 (23.18%) [90m│[39m 82 (23.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gherkin [90m│[39m 2 [90m│[39m 75 [90m│[39m 434 [90m│[39m 1 [90m│[39m 15 (20.00%) [90m│[39m 83 (19.12%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m go [90m│[39m 2 [90m│[39m 65 [90m│[39m 305 [90m│[39m 1 [90m│[39m 29 (44.62%) [90m│[39m 134 (43.93%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m graphql [90m│[39m 2 [90m│[39m 134 [90m│[39m 499 [90m│[39m 1 [90m│[39m 24 (17.91%) [90m│[39m 143 (28.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m groovy [90m│[39m 2 [90m│[39m 96 [90m│[39m 422 [90m│[39m 1 [90m│[39m 40 (41.67%) [90m│[39m 188 (44.55%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haml [90m│[39m 2 [90m│[39m 52 [90m│[39m 276 [90m│[39m 1 [90m│[39m 22 (42.31%) [90m│[39m 118 (42.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m handlebars [90m│[39m 2 [90m│[39m 72 [90m│[39m 555 [90m│[39m 1 [90m│[39m 27 (37.50%) [90m│[39m 218 (39.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haskell [90m│[39m 4 [90m│[39m 459 [90m│[39m 2536 [90m│[39m 3 [90m│[39m 216 (47.06%) [90m│[39m 1183 (46.65%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haxe [90m│[39m 4 [90m│[39m 191 [90m│[39m 1035 [90m│[39m 3 [90m│[39m 113 (59.16%) [90m│[39m 634 (61.26%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m hcl [90m│[39m 2 [90m│[39m 119 [90m│[39m 313 [90m│[39m 1 [90m│[39m 36 (30.25%) [90m│[39m 85 (27.16%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m html [90m│[39m 6 [90m│[39m 1289 [90m│[39m 1390 [90m│[39m 4 [90m│[39m 406 (31.50%) [90m│[39m 762 (54.82%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m idris [90m│[39m 2 [90m│[39m 88 [90m│[39m 581 [90m│[39m 1 [90m│[39m 34 (38.64%) [90m│[39m 208 (35.80%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ignore [90m│[39m 2 [90m│[39m 191 [90m│[39m 523 [90m│[39m 1 [90m│[39m 83 (43.46%) [90m│[39m 234 (44.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ini [90m│[39m 2 [90m│[39m 58 [90m│[39m 172 [90m│[39m 1 [90m│[39m 26 (44.83%) [90m│[39m 79 (45.93%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m java [90m│[39m 2 [90m│[39m 454 [90m│[39m 15064 [90m│[39m 2 [90m│[39m 224 (49.34%) [90m│[39m 7387 (49.04%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m javascript [90m│[39m 23 [90m│[39m 1580 [90m│[39m 6985 [90m│[39m 13 [90m│[39m 572 (36.20%) [90m│[39m 3475 (49.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m json [90m│[39m 4 [90m│[39m 134 [90m│[39m 460 [90m│[39m 2 [90m│[39m 38 (28.36%) [90m│[39m 134 (29.13%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m json5 [90m│[39m 2 [90m│[39m 104 [90m│[39m 307 [90m│[39m 1 [90m│[39m 30 (28.85%) [90m│[39m 93 (30.29%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m jsx [90m│[39m 2 [90m│[39m 73 [90m│[39m 296 [90m│[39m 1 [90m│[39m 20 (27.40%) [90m│[39m 99 (33.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m julia [90m│[39m 2 [90m│[39m 76 [90m│[39m 557 [90m│[39m 1 [90m│[39m 29 (38.16%) [90m│[39m 194 (34.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m kotlin [90m│[39m 2 [90m│[39m 106 [90m│[39m 550 [90m│[39m 2 [90m│[39m 47 (44.34%) [90m│[39m 250 (45.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m latex [90m│[39m 2 [90m│[39m 88 [90m│[39m 557 [90m│[39m 1 [90m│[39m 25 (28.41%) [90m│[39m 149 (26.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m less [90m│[39m 2 [90m│[39m 56 [90m│[39m 518 [90m│[39m 2 [90m│[39m 29 (51.79%) [90m│[39m 282 (54.44%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lilypond [90m│[39m 2 [90m│[39m 100 [90m│[39m 307 [90m│[39m 1 [90m│[39m 18 (18.00%) [90m│[39m 63 (20.52%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m linker-script [90m│[39m 2 [90m│[39m 133 [90m│[39m 683 [90m│[39m 1 [90m│[39m 46 (34.59%) [90m│[39m 256 (37.48%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lisp [90m│[39m 2 [90m│[39m 106 [90m│[39m 608 [90m│[39m 1 [90m│[39m 49 (46.23%) [90m│[39m 289 (47.53%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m livescript [90m│[39m 2 [90m│[39m 68 [90m│[39m 344 [90m│[39m 1 [90m│[39m 30 (44.12%) [90m│[39m 145 (42.15%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m llvm [90m│[39m 2 [90m│[39m 132 [90m│[39m 850 [90m│[39m 1 [90m│[39m 34 (25.76%) [90m│[39m 215 (25.29%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m log [90m│[39m 2 [90m│[39m 30 [90m│[39m 666 [90m│[39m 1 [90m│[39m 12 (40.00%) [90m│[39m 262 (39.34%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lua [90m│[39m 2 [90m│[39m 106 [90m│[39m 450 [90m│[39m 1 [90m│[39m 45 (42.45%) [90m│[39m 193 (42.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m markdown [90m│[39m 4 [90m│[39m 536 [90m│[39m 929 [90m│[39m 3 [90m│[39m 262 (48.88%) [90m│[39m 1407 (151.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m markup [90m│[39m 11 [90m│[39m 478 [90m│[39m 2795 [90m│[39m 6 [90m│[39m 205 (42.89%) [90m│[39m 1314 (47.01%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m nsis [90m│[39m 2 [90m│[39m 68 [90m│[39m 172 [90m│[39m 1 [90m│[39m 28 (41.18%) [90m│[39m 71 (41.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m objectivec [90m│[39m 2 [90m│[39m 152 [90m│[39m 1463 [90m│[39m 2 [90m│[39m 61 (40.13%) [90m│[39m 527 (36.02%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ocaml [90m│[39m 6 [90m│[39m 186 [90m│[39m 1052 [90m│[39m 3 [90m│[39m 80 (43.01%) [90m│[39m 440 (41.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m openqasm [90m│[39m 2 [90m│[39m 87 [90m│[39m 346 [90m│[39m 1 [90m│[39m 18 (20.69%) [90m│[39m 92 (26.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m oz [90m│[39m 2 [90m│[39m 94 [90m│[39m 357 [90m│[39m 1 [90m│[39m 36 (38.30%) [90m│[39m 141 (39.50%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m pascal [90m│[39m 2 [90m│[39m 106 [90m│[39m 561 [90m│[39m 1 [90m│[39m 36 (33.96%) [90m│[39m 203 (36.19%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m perl [90m│[39m 4 [90m│[39m 609 [90m│[39m 2272 [90m│[39m 3 [90m│[39m 274 (44.99%) [90m│[39m 971 (42.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m php [90m│[39m 2 [90m│[39m 143 [90m│[39m 785 [90m│[39m 1 [90m│[39m 50 (34.97%) [90m│[39m 295 (37.58%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m plant-uml [90m│[39m 2 [90m│[39m 120 [90m│[39m 422 [90m│[39m 1 [90m│[39m 51 (42.50%) [90m│[39m 181 (42.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m plsql [90m│[39m 2 [90m│[39m 171 [90m│[39m 598 [90m│[39m 2 [90m│[39m 70 (40.94%) [90m│[39m 244 (40.80%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m powerquery [90m│[39m 2 [90m│[39m 112 [90m│[39m 538 [90m│[39m 1 [90m│[39m 40 (35.71%) [90m│[39m 210 (39.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m powershell [90m│[39m 2 [90m│[39m 98 [90m│[39m 404 [90m│[39m 1 [90m│[39m 40 (40.82%) [90m│[39m 168 (41.58%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m prolog [90m│[39m 2 [90m│[39m 64 [90m│[39m 429 [90m│[39m 1 [90m│[39m 27 (42.19%) [90m│[39m 176 (41.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m properties [90m│[39m 2 [90m│[39m 48 [90m│[39m 250 [90m│[39m 1 [90m│[39m 21 (43.75%) [90m│[39m 114 (45.60%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m protobuf [90m│[39m 2 [90m│[39m 205 [90m│[39m 680 [90m│[39m 1 [90m│[39m 39 (19.02%) [90m│[39m 115 (16.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m pug [90m│[39m 2 [90m│[39m 574 [90m│[39m 2512 [90m│[39m 2 [90m│[39m 285 (49.65%) [90m│[39m 1249 (49.72%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m puppet [90m│[39m 2 [90m│[39m 122 [90m│[39m 446 [90m│[39m 2 [90m│[39m 58 (47.54%) [90m│[39m 214 (47.98%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m purescript [90m│[39m 2 [90m│[39m 115 [90m│[39m 797 [90m│[39m 2 [90m│[39m 49 (42.61%) [90m│[39m 315 (39.52%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m python [90m│[39m 6 [90m│[39m 323 [90m│[39m 911 [90m│[39m 3 [90m│[39m 73 (22.60%) [90m│[39m 363 (39.85%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m q [90m│[39m 2 [90m│[39m 78 [90m│[39m 997 [90m│[39m 1 [90m│[39m 29 (37.18%) [90m│[39m 378 (37.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m qsharp [90m│[39m 2 [90m│[39m 102 [90m│[39m 408 [90m│[39m 1 [90m│[39m 9 (8.82%) [90m│[39m 50 (12.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m r [90m│[39m 2 [90m│[39m 128 [90m│[39m 854 [90m│[39m 1 [90m│[39m 63 (49.22%) [90m│[39m 427 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m racket [90m│[39m 2 [90m│[39m 100 [90m│[39m 760 [90m│[39m 1 [90m│[39m 37 (37.00%) [90m│[39m 286 (37.63%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m rescript [90m│[39m 2 [90m│[39m 115 [90m│[39m 776 [90m│[39m 1 [90m│[39m 37 (32.17%) [90m│[39m 200 (25.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m robotframework [90m│[39m 2 [90m│[39m 130 [90m│[39m 630 [90m│[39m 2 [90m│[39m 43 (33.08%) [90m│[39m 223 (35.40%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ruby [90m│[39m 2 [90m│[39m 80 [90m│[39m 192 [90m│[39m 1 [90m│[39m 39 (48.75%) [90m│[39m 96 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m rust [90m│[39m 2 [90m│[39m 717 [90m│[39m 5128 [90m│[39m 6 [90m│[39m 342 (47.70%) [90m│[39m 2445 (47.68%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sas [90m│[39m 2 [90m│[39m 152 [90m│[39m 1174 [90m│[39m 1 [90m│[39m 58 (38.16%) [90m│[39m 444 (37.82%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sass [90m│[39m 2 [90m│[39m 93 [90m│[39m 383 [90m│[39m 3 [90m│[39m 51 (54.84%) [90m│[39m 273 (71.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scala [90m│[39m 2 [90m│[39m 58 [90m│[39m 1696 [90m│[39m 1 [90m│[39m 28 (48.28%) [90m│[39m 848 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scheme [90m│[39m 2 [90m│[39m 70 [90m│[39m 498 [90m│[39m 1 [90m│[39m 32 (45.71%) [90m│[39m 225 (45.18%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scss [90m│[39m 4 [90m│[39m 360 [90m│[39m 2065 [90m│[39m 3 [90m│[39m 136 (37.78%) [90m│[39m 875 (42.37%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m smalltalk [90m│[39m 2 [90m│[39m 102 [90m│[39m 351 [90m│[39m 1 [90m│[39m 44 (43.14%) [90m│[39m 146 (41.60%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m smarty [90m│[39m 2 [90m│[39m 92 [90m│[39m 652 [90m│[39m 1 [90m│[39m 42 (45.65%) [90m│[39m 286 (43.87%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m solidity [90m│[39m 2 [90m│[39m 155 [90m│[39m 939 [90m│[39m 1 [90m│[39m 30 (19.35%) [90m│[39m 168 (17.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m soy [90m│[39m 2 [90m│[39m 106 [90m│[39m 841 [90m│[39m 1 [90m│[39m 48 (45.28%) [90m│[39m 346 (41.14%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sparql [90m│[39m 2 [90m│[39m 54 [90m│[39m 296 [90m│[39m 1 [90m│[39m 10 (18.52%) [90m│[39m 65 (21.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sql [90m│[39m 2 [90m│[39m 102 [90m│[39m 525 [90m│[39m 1 [90m│[39m 38 (37.25%) [90m│[39m 214 (40.76%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m stylus [90m│[39m 2 [90m│[39m 129 [90m│[39m 494 [90m│[39m 1 [90m│[39m 52 (40.31%) [90m│[39m 201 (40.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m svelte [90m│[39m 2 [90m│[39m 462 [90m│[39m 1586 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m swift [90m│[39m 2 [90m│[39m 58 [90m│[39m 175 [90m│[39m 1 [90m│[39m 20 (34.48%) [90m│[39m 73 (41.71%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tap [90m│[39m 2 [90m│[39m 98 [90m│[39m 562 [90m│[39m 1 [90m│[39m 34 (34.69%) [90m│[39m 202 (35.94%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tcl [90m│[39m 2 [90m│[39m 106 [90m│[39m 600 [90m│[39m 1 [90m│[39m 44 (41.51%) [90m│[39m 263 (43.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m text [90m│[39m 2 [90m│[39m 354 [90m│[39m 143 [90m│[39m 1 [90m│[39m 10 (2.82%) [90m│[39m 69 (48.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m textile [90m│[39m 2 [90m│[39m 106 [90m│[39m 495 [90m│[39m 1 [90m│[39m 50 (47.17%) [90m│[39m 236 (47.68%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m toml [90m│[39m 2 [90m│[39m 91 [90m│[39m 229 [90m│[39m 1 [90m│[39m 38 (41.76%) [90m│[39m 100 (43.67%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tsx [90m│[39m 2 [90m│[39m 76 [90m│[39m 310 [90m│[39m 1 [90m│[39m 34 (44.74%) [90m│[39m 143 (46.13%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tt2 [90m│[39m 2 [90m│[39m 104 [90m│[39m 803 [90m│[39m 2 [90m│[39m 47 (45.19%) [90m│[39m 353 (43.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m turtle [90m│[39m 2 [90m│[39m 90 [90m│[39m 520 [90m│[39m 1 [90m│[39m 35 (38.89%) [90m│[39m 212 (40.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m twig [90m│[39m 2 [90m│[39m 61 [90m│[39m 424 [90m│[39m 3 [90m│[39m 44 (72.13%) [90m│[39m 286 (67.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m txt [90m│[39m 4 [90m│[39m 146 [90m│[39m 870 [90m│[39m 2 [90m│[39m 71 (48.63%) [90m│[39m 435 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m typescript [90m│[39m 12 [90m│[39m 2159 [90m│[39m 9379 [90m│[39m 8 [90m│[39m 958 (44.37%) [90m│[39m 4688 (49.98%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m unrealscript [90m│[39m 2 [90m│[39m 166 [90m│[39m 520 [90m│[39m 1 [90m│[39m 55 (33.13%) [90m│[39m 161 (30.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vbnet [90m│[39m 2 [90m│[39m 72 [90m│[39m 378 [90m│[39m 1 [90m│[39m 28 (38.89%) [90m│[39m 163 (43.12%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m velocity [90m│[39m 2 [90m│[39m 88 [90m│[39m 576 [90m│[39m 1 [90m│[39m 40 (45.45%) [90m│[39m 264 (45.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m verilog [90m│[39m 2 [90m│[39m 104 [90m│[39m 430 [90m│[39m 1 [90m│[39m 39 (37.50%) [90m│[39m 163 (37.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vhdl [90m│[39m 2 [90m│[39m 98 [90m│[39m 546 [90m│[39m 1 [90m│[39m 31 (31.63%) [90m│[39m 179 (32.78%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vue [90m│[39m 4 [90m│[39m 587 [90m│[39m 3333 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m wgsl [90m│[39m 2 [90m│[39m 127 [90m│[39m 928 [90m│[39m 2 [90m│[39m 52 (40.94%) [90m│[39m 340 (36.64%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m wolfram [90m│[39m 2 [90m│[39m 85 [90m│[39m 697 [90m│[39m 1 [90m│[39m 16 (18.82%) [90m│[39m 127 (18.22%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m xquery [90m│[39m 2 [90m│[39m 80 [90m│[39m 640 [90m│[39m 1 [90m│[39m 30 (37.50%) [90m│[39m 222 (34.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m yaml [90m│[39m 6 [90m│[39m 262 [90m│[39m 554 [90m│[39m 2 [90m│[39m 45 (17.18%) [90m│[39m 192 (34.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m zig [90m│[39m 2 [90m│[39m 130 [90m│[39m 827 [90m│[39m 2 [90m│[39m 52 (40.00%) [90m│[39m 311 (37.61%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m [1mTotal:[22m [90m│[39m 347 [90m│[39m 24603 [90m│[39m 130473 [90m│[39m 212 [90m│[39m 9133 (37.12%) [90m│[39m 56491 (43.30%) [90m│[39m [90m└────────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘[39m [90mFound 212 clones.[39m [90mtime: 22.771ms[39m [90m💡 Auto-refactor with AI: [1m[39mnpx skills add https://github.com/kucherenko/jscpd --skill dry-refactoring[90m[22m [90m🎩 New: Gangsta Agents — discipline your AI coding → gangsta.page[39m [90m💖 Support jscpd project → https://opencollective.com/jscpd[39m command comes from the separate [1mClone found (actionscript)[22m - [1m[32mactionscript/file1.as[39m[22m [1:1 - 30:10] (30 lines, 127 tokens) actionscript/file2.as [1:1 - 30:10] [1mClone found (ada)[22m - [1m[32mada/file1.ada[39m[22m [1:1 - 21:12] (21 lines, 103 tokens) ada/file2.ada [1:1 - 21:12] [1mClone found (antlr4)[22m - [1m[32mantlr4/file1.g4[39m[22m [1:1 - 21:27] (21 lines, 82 tokens) antlr4/file2.g4 [1:1 - 21:27] [1mClone found (apex)[22m - [1m[32mapex/file1.cls[39m[22m [1:29 - 24:18] (24 lines, 115 tokens) apex/file2.cls [1:29 - 24:18] [1mClone found (apl)[22m - [1m[32mapl/file1.apl[39m[22m [1:1 - 20:54] (20 lines, 252 tokens) apl/file2.apl [1:1 - 20:54] [1mClone found (css)[22m - [1m[32mastro/component1.astro:css[39m[22m [76:3 - 161:4] (86 lines, 364 tokens) astro/component2.astro:css [76:3 - 161:4] [1mClone found (css)[22m - [1m[32mastro/component1.astro:css[39m[22m [79:23 - 124:12] (46 lines, 194 tokens) svelte/component1.svelte:css [116:28 - 161:12] [1mClone found (html)[22m - [1m[32mastro/component1.astro:html[39m[22m [1:1 - 162:9] (162 lines, 246 tokens) astro/component2.astro:html [1:1 - 162:9] [1mClone found (html)[22m - [1m[32mastro/component1.astro:html[39m[22m [27:1 - 33:8] (7 lines, 67 tokens) svelte/component1.svelte:html [64:1 - 70:8] [1mClone found (javascript)[22m - [1m[32mastro/component1.astro:javascript[39m[22m [58:3 - 72:4] (15 lines, 111 tokens) astro/component2.astro:javascript [58:3 - 72:4] [1mClone found (typescript)[22m - [1m[32mastro/component1.astro:typescript[39m[22m [2:1 - 24:4] (23 lines, 153 tokens) astro/component2.astro:typescript [2:1 - 24:4] [1mClone found (awk)[22m - [1m[32mawk/file1.awk[39m[22m [1:1 - 23:33] (23 lines, 75 tokens) awk/file2.awk [1:1 - 23:33] [1mClone found (basic)[22m - [1m[32mbasic/file1.bas[39m[22m [1:1 - 18:4] (18 lines, 100 tokens) basic/file2.bas [1:1 - 18:4] [1mClone found (bicep)[22m - [1m[32mbicep/file1.bicep[39m[22m [1:1 - 27:9] (27 lines, 78 tokens) bicep/file2.bicep [1:1 - 27:9] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 26:77] (26 lines, 268 tokens) brainfuck/file1.bf [1:1 - 26:77] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 41:59] (41 lines, 439 tokens) brainfuck/file2.b [1:1 - 41:59] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [1:1 - 41:59] (41 lines, 439 tokens) brainfuck/file2.bf [1:1 - 41:59] [1mClone found (brainfuck)[22m - [1m[32mbrainfuck/file1.b[39m[22m [33:1 - 41:59] (9 lines, 143 tokens) brainfuck/file1.bf [28:1 - 36:59] [1mClone found (cfml)[22m - [1m[32mcfml/file1.cfm[39m[22m [4:20 - 21:2] (18 lines, 85 tokens) cfml/file2.cfm [4:18 - 21:2] [1mClone found (cfscript)[22m - [1m[32mcfscript/file1.cfc[39m[22m [1:1 - 28:11] (28 lines, 161 tokens) cfscript/file2.cfc [1:1 - 28:11] [1mClone found (c)[22m - [1m[32mclike/file1.c[39m[22m [1:1 - 17:4] (17 lines, 258 tokens) clike/file2.c [1:1 - 17:4] [1mClone found (c)[22m - [1m[32mclike/file1.c[39m[22m [8:3 - 19:2] (12 lines, 81 tokens) clike/file2.c [18:3 - 29:2] [1mClone found (cpp)[22m - [1m[32mclike/file1.cpp[39m[22m [1:1 - 88:7] (88 lines, 757 tokens) clike/file2.cpp [1:1 - 88:7] [1mClone found (cpp)[22m - [1m[32mclike/file1.cpp[39m[22m [24:5 - 43:51] (20 lines, 208 tokens) clike/file1.cpp [45:5 - 64:51] [1mClone found (csharp)[22m - [1m[32mclike/file1.cs[39m[22m [1:1 - 91:19] (91 lines, 235 tokens) clike/file2.cs [1:1 - 91:19] [1mClone found (csharp)[22m - [1m[32mclike/file1.cs[39m[22m [103:9 - 185:2] (83 lines, 302 tokens) clike/file2.cs [93:9 - 175:2] [1mClone found (c-header)[22m - [1m[32mclike/file1.h[39m[22m [1:1 - 17:4] (17 lines, 258 tokens) clike/file2.h [1:1 - 17:4] [1mClone found (c-header)[22m - [1m[32mclike/file1.h[39m[22m [8:3 - 19:2] (12 lines, 81 tokens) clike/file2.h [18:3 - 29:2] [1mClone found (cpp-header)[22m - [1m[32mclike/file1.hpp[39m[22m [1:1 - 88:7] (88 lines, 757 tokens) clike/file2.hpp [1:1 - 88:7] [1mClone found (cpp-header)[22m - [1m[32mclike/file1.hpp[39m[22m [24:5 - 43:51] (20 lines, 208 tokens) clike/file1.hpp [45:5 - 64:51] [1mClone found (java)[22m - [1m[32mclike/file1.java[39m[22m [1:1 - 186:6] (186 lines, 6601 tokens) clike/file2.java [1:1 - 186:6] [1mClone found (java)[22m - [1m[32mclike/file1.java[39m[22m [182:51 - 221:2] (40 lines, 786 tokens) clike/file2.java [194:52 - 233:2] [1mClone found (kotlin)[22m - [1m[32mclike/file1.kt[39m[22m [1:1 - 33:6] (33 lines, 186 tokens) clike/file2.kt [1:1 - 33:6] [1mClone found (kotlin)[22m - [1m[32mclike/file1.kt[39m[22m [38:5 - 53:2] (16 lines, 64 tokens) clike/file2.kt [38:5 - 53:2] [1mClone found (scala)[22m - [1m[32mclike/file1.scala[39m[22m [1:1 - 29:2] (29 lines, 848 tokens) clike/file2.scala [1:1 - 29:2] [1mClone found (clojure)[22m - [1m[32mclojure/file1.clj[39m[22m [2:3 - 20:23] (19 lines, 139 tokens) clojure/file2.clj [2:3 - 20:23] [1mClone found (cmake)[22m - [1m[32mcmake/file1.cmake[39m[22m [1:1 - 21:14] (21 lines, 128 tokens) cmake/file2.cmake [1:1 - 21:14] [1mClone found (coffeescript)[22m - [1m[32mcoffeescript/file1.coffee[39m[22m [1:1 - 13:22] (13 lines, 75 tokens) coffeescript/file2.coffee [3:1 - 15:22] [1mClone found (coffeescript)[22m - [1m[32mcoffeescript/file1.coffee[39m[22m [16:1 - 44:21] (29 lines, 144 tokens) coffeescript/file1.coffee [46:1 - 74:21] [1mClone found (lisp)[22m - [1m[32mcommonlisp/file1.el[39m[22m [1:1 - 50:23] (50 lines, 289 tokens) commonlisp/file2.el [1:1 - 50:23] [1mClone found (crystal)[22m - [1m[32mcrystal/file1.cr[39m[22m [1:1 - 29:4] (29 lines, 97 tokens) crystal/file2.cr [1:1 - 29:4] [1mClone found (css)[22m - [1m[32mcss/file1.css[39m[22m [1:1 - 25:2] (25 lines, 237 tokens) css/file10.css [1:1 - 25:2] [1mClone found (css)[22m - [1m[32mcss/file1.css[39m[22m [1:1 - 19:36] (19 lines, 192 tokens) css/file2.css [1:1 - 19:36] [1mClone found (less)[22m - [1m[32mcss/file1.less[39m[22m [1:1 - 19:36] (19 lines, 192 tokens) css/file2.less [1:1 - 19:36] [1mClone found (less)[22m - [1m[32mcss/file1.less[39m[22m [14:35 - 25:2] (12 lines, 90 tokens) css/file1.less [24:5 - 36:2] [1mClone found (scss)[22m - [1m[32mcss/file1.scss[39m[22m [1:1 - 53:2] (53 lines, 324 tokens) css/file2.scss [1:1 - 53:2] [1mClone found (csv)[22m - [1m[32mcsv/file1.csv[39m[22m [1:1 - 9:56] (9 lines, 163 tokens) csv/file2.csv [1:1 - 9:56] [1mClone found (d)[22m - [1m[32md/file1.d[39m[22m [1:1 - 169:6] (169 lines, 1135 tokens) d/file2.d [1:1 - 169:6] [1mClone found (dart)[22m - [1m[32mdart/file1.dart[39m[22m [1:1 - 89:4] (89 lines, 403 tokens) dart/file2.dart [1:1 - 89:4] [1mClone found (dart)[22m - [1m[32mdart/file1.dart[39m[22m [118:15 - 148:2] (31 lines, 119 tokens) dart/file2.dart [88:6 - 118:2] [1mClone found (diff)[22m - [1m[32mdiff/file1.diff[39m[22m [1:1 - 62:7] (62 lines, 435 tokens) diff/file2.diff [1:1 - 62:7] [1mClone found (dot)[22m - [1m[32mdot/file1.dot[39m[22m [1:1 - 18:21] (18 lines, 91 tokens) dot/file2.dot [1:1 - 18:21] [1mClone found (eiffel)[22m - [1m[32meiffel/file1.e[39m[22m [1:1 - 46:11] (46 lines, 130 tokens) eiffel/file2.e [1:1 - 46:11] [1mClone found (elm)[22m - [1m[32melm/file1.elm[39m[22m [1:1 - 47:23] (47 lines, 155 tokens) elm/file2.elm [1:1 - 47:23] [1mClone found (erlang)[22m - [1m[32merlang/file1.erl[39m[22m [1:1 - 121:7] (121 lines, 837 tokens) erlang/file2.erl [1:1 - 121:7] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.cjs [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.js [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_1.mjs [4:1 - 55:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [4:1 - 55:3] (52 lines, 339 tokens) javascript/file_3.js [1:1 - 52:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [28:1 - 55:3] (28 lines, 169 tokens) folder2/file_2.js [1:1 - 28:3] [1mClone found (javascript)[22m - [1m[32mfolder1/file_1.js[39m[22m [28:1 - 55:3] (28 lines, 169 tokens) folder2/file_2.js [29:1 - 56:3] [1mClone found (fortran)[22m - [1m[32mfortran/file1.f[39m[22m [1:7 - 37:21] (37 lines, 182 tokens) fortran/file2.f [1:7 - 37:21] [1mClone found (gdscript)[22m - [1m[32mgdscript/file1.gd[39m[22m [22:1 - 46:18] (25 lines, 135 tokens) gdscript/file2.gd [22:1 - 46:18] [1mClone found (gettext)[22m - [1m[32mgettext/file1.po[39m[22m [13:1 - 64:7] (52 lines, 82 tokens) gettext/file2.po [13:1 - 64:7] [1mClone found (gherkin)[22m - [1m[32mgherkin/file1.feature[39m[22m [1:1 - 16:26] (16 lines, 83 tokens) gherkin/file2.feature [1:1 - 16:26] [1mClone found (ignore)[22m - [1m[32mgitignore/file1.gitignore[39m[22m [1:1 - 84:16] (84 lines, 234 tokens) gitignore/file2.gitignore [1:1 - 84:16] [1mClone found (go)[22m - [1m[32mgo/file1.go[39m[22m [1:1 - 30:5] (30 lines, 134 tokens) go/file2.go [1:1 - 31:5] [1mClone found (graphql)[22m - [1m[32mgraphql/file1.graphql[39m[22m [1:1 - 25:5] (25 lines, 143 tokens) graphql/file2.graphql [1:1 - 25:5] [1mClone found (groovy)[22m - [1m[32mgroovy/file1.groovy[39m[22m [1:1 - 41:6] (41 lines, 188 tokens) groovy/file2.groovy [1:1 - 41:6] [1mClone found (haml)[22m - [1m[32mhaml/file1.haml[39m[22m [1:1 - 23:18] (23 lines, 118 tokens) haml/file2.haml [1:1 - 23:18] [1mClone found (handlebars)[22m - [1m[32mhandlebars/file1.hbs[39m[22m [1:1 - 28:27] (28 lines, 218 tokens) handlebars/file2.hbs [1:1 - 28:27] [1mClone found (haskell)[22m - [1m[32mhaskell-literate/file1.lhs[39m[22m [1:1 - 31:2] (31 lines, 182 tokens) haskell-literate/file2.lhs [1:1 - 31:2] [1mClone found (haskell)[22m - [1m[32mhaskell/file1.hs[39m[22m [1:1 - 173:34] (173 lines, 902 tokens) haskell/file2.hs [1:1 - 173:34] [1mClone found (haskell)[22m - [1m[32mhaskell/file1.hs[39m[22m [190:1 - 204:33] (15 lines, 99 tokens) haskell/file2.hs [175:1 - 189:33] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hx[39m[22m [1:1 - 62:76] (62 lines, 334 tokens) haxe/file2.hx [1:1 - 62:2] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hx[39m[22m [6:3 - 47:9] (42 lines, 244 tokens) haxe/file1.hx [47:3 - 88:9] [1mClone found (haxe)[22m - [1m[32mhaxe/file1.hxml[39m[22m [3:1 - 14:10] (12 lines, 56 tokens) haxe/file2.hxml [1:1 - 12:10] [1mClone found (hcl)[22m - [1m[32mhcl/file1.tf[39m[22m [1:1 - 37:9] (37 lines, 85 tokens) hcl/file2.tf [1:1 - 37:9] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [7:18 - 16:35] (10 lines, 67 tokens) htmlembedded/file2.aspx [7:21 - 16:35] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [18:53 - 36:30] (19 lines, 173 tokens) htmlembedded/file2.aspx [18:60 - 36:30] [1mClone found (aspnet)[22m - [1m[32mhtmlembedded/file1.aspx[39m[22m [37:95 - 47:8] (11 lines, 56 tokens) htmlembedded/file2.aspx [44:98 - 54:8] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.htm[39m[22m [1:1 - 24:7] (24 lines, 191 tokens) htmlmixed/file2.htm [1:1 - 24:7] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.htm[39m[22m [1:1 - 24:7] (24 lines, 191 tokens) ignore/file2.htm [1:1 - 24:7] [1mClone found (markup)[22m - [1m[32mhtmlmixed/file1.html[39m[22m [1:1 - 16:2] (16 lines, 91 tokens) htmlmixed/file2.html [1:1 - 16:2] [1mClone found (prolog)[22m - [1m[32midl/file1.pro[39m[22m [1:1 - 28:22] (28 lines, 176 tokens) idl/file2.pro [1:1 - 28:22] [1mClone found (idris)[22m - [1m[32midris/file1.idr[39m[22m [1:1 - 35:3] (35 lines, 208 tokens) idris/file2.idr [1:1 - 35:3] [1mClone found (txt)[22m - [1m[32mignore-case/file2.txt[39m[22m [1:1 - 12:55] (12 lines, 85 tokens) text/file1.txt [1:1 - 12:55] [1mClone found (txt)[22m - [1m[32mignore-case/file2.txt[39m[22m [1:1 - 61:63] (61 lines, 350 tokens) text/file2.txt [1:1 - 61:63] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 263:4] (263 lines, 1318 tokens) javascript/file1.mts [1:1 - 263:4] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 263:4] (263 lines, 1318 tokens) javascript/file1.ts [1:1 - 263:4] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [1:1 - 66:24] (66 lines, 531 tokens) javascript/file2.cts [48:1 - 113:24] [1mClone found (typescript)[22m - [1m[32mjavascript/file1.cts[39m[22m [74:1 - 263:4] (190 lines, 787 tokens) javascript/file2.cts [187:1 - 376:4] [1mClone found (javascript)[22m - [1m[32mjavascript/file1.js[39m[22m [5:1 - 24:2] (20 lines, 94 tokens) javascript/file2.js [5:1 - 27:2] [1mClone found (json)[22m - [1m[32mjavascript/file1.json[39m[22m [4:53 - 21:22] (18 lines, 64 tokens) javascript/file2.json [4:70 - 21:22] [1mClone found (json)[22m - [1m[32mjavascript/file1.json[39m[22m [22:22 - 43:2] (22 lines, 70 tokens) javascript/file2.json [22:22 - 43:2] [1mClone found (typescript)[22m - [1m[32mjavascript/file2.cts[39m[22m [109:38 - 209:24] (101 lines, 297 tokens) javascript/file2.mts [109:38 - 209:24] [1mClone found (javascript)[22m - [1m[32mjavascript/file_4.js[39m[22m [15:2 - 42:43] (28 lines, 98 tokens) javascript/file_4.js [56:74 - 83:43] [1mClone found (json5)[22m - [1m[32mjson5/file1.json5[39m[22m [1:1 - 31:5] (31 lines, 93 tokens) json5/file2.json5 [1:1 - 31:5] [1mClone found (jsx)[22m - [1m[32mjsx/file1.jsx[39m[22m [1:1 - 21:46] (21 lines, 99 tokens) jsx/file2.jsx [1:1 - 21:46] [1mClone found (tsx)[22m - [1m[32mjsx/file1.tsx[39m[22m [1:1 - 35:2] (35 lines, 143 tokens) jsx/file2.tsx [1:1 - 35:2] [1mClone found (julia)[22m - [1m[32mjulia/file1.jl[39m[22m [1:1 - 30:4] (30 lines, 194 tokens) julia/file2.jl [1:1 - 30:4] [1mClone found (latex)[22m - [1m[32mlatex/file1.tex[39m[22m [1:1 - 26:13] (26 lines, 149 tokens) latex/file2.tex [1:1 - 26:13] [1mClone found (lilypond)[22m - [1m[32mlilypond/file1.ly[39m[22m [1:1 - 19:10] (19 lines, 63 tokens) lilypond/file2.ly [1:1 - 19:10] [1mClone found (linker-script)[22m - [1m[32mlinker-script/file1.ld[39m[22m [1:1 - 47:4] (47 lines, 256 tokens) linker-script/file2.ld [1:1 - 47:4] [1mClone found (livescript)[22m - [1m[32mlivescript/file1.ls[39m[22m [1:1 - 31:24] (31 lines, 145 tokens) livescript/file2.ls [1:1 - 31:24] [1mClone found (llvm)[22m - [1m[32mllvm/file1.ll[39m[22m [1:1 - 35:2] (35 lines, 215 tokens) llvm/file2.ll [1:1 - 35:2] [1mClone found (log)[22m - [1m[32mlog/file1.log[39m[22m [1:1 - 13:11] (13 lines, 262 tokens) log/file2.log [1:1 - 13:11] [1mClone found (lua)[22m - [1m[32mlua/file1.lua[39m[22m [1:1 - 46:4] (46 lines, 193 tokens) lua/file2.lua [1:1 - 46:4] [1mClone found (markdown)[22m - [1m[32mmarkdown/file1.md:markdown[39m[22m [2:1 - 176:3] (175 lines, 1238 tokens) markdown/file2.md:markdown [7:1 - 181:3] [1mClone found (markdown)[22m - [1m[32mmarkdown/file1.md:markdown[39m[22m [176:1 - 193:86] (18 lines, 100 tokens) markdown/file2.md:markdown [196:1 - 213:86] [1mClone found (text)[22m - [1m[32mmarkdown/file1.md:text[39m[22m [156:1 - 166:11] (11 lines, 69 tokens) markdown/file2.md:text [161:1 - 171:11] [1mClone found (yaml)[22m - [1m[32mmarkdown/file1.md:yaml[39m[22m [53:1 - 81:10] (29 lines, 60 tokens) markdown/file2.md:yaml [58:1 - 86:10] [1mClone found (markdown)[22m - [1m[32mmarkdown/file3.md:markdown[39m[22m [27:85 - 98:66] (72 lines, 69 tokens) markdown/file4.md:markdown [27:89 - 98:66] [1mClone found (python)[22m - [1m[32mmarkdown/file3.md:python[39m[22m [72:1 - 91:6] (20 lines, 137 tokens) markdown/file4.md:python [72:1 - 91:6] [1mClone found (typescript)[22m - [1m[32mmarkdown/file3.md:typescript[39m[22m [34:1 - 64:2] (31 lines, 156 tokens) markdown/file4.md:typescript [34:1 - 64:2] [1mClone found (wolfram)[22m - [1m[32mmathematica/file1.wl[39m[22m [1:1 - 17:3] (17 lines, 127 tokens) mathematica/file2.wl [1:1 - 17:3] [1mClone found (fsharp)[22m - [1m[32mmllike/file1.fs[39m[22m [1:1 - 35:6] (35 lines, 193 tokens) mllike/file2.fs [1:1 - 35:6] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.ml[39m[22m [1:1 - 30:18] (30 lines, 150 tokens) mllike/file2.ml [1:1 - 30:18] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.mli[39m[22m [1:1 - 29:20] (29 lines, 186 tokens) mllike/file2.mli [1:1 - 29:20] [1mClone found (ocaml)[22m - [1m[32mmllike/file1.mll[39m[22m [1:1 - 24:20] (24 lines, 104 tokens) mllike/file2.mll [1:1 - 24:20] [1mClone found (nsis)[22m - [1m[32mnsis/file1.nsi[39m[22m [1:1 - 29:25] (29 lines, 71 tokens) nsis/file2.nsi [1:1 - 29:25] [1mClone found (c-header)[22m - [1m[32mobjective-c/file_1.h[39m[22m [1:1 - 33:2] (33 lines, 385 tokens) objective-c/file_2.h [1:1 - 33:2] [1mClone found (objectivec)[22m - [1m[32mobjective-c/file_1.m[39m[22m [1:1 - 12:35] (12 lines, 311 tokens) objective-c/file_2.m [1:1 - 12:35] [1mClone found (objectivec)[22m - [1m[32mobjective-c/file_1.m[39m[22m [14:1 - 64:5] (51 lines, 216 tokens) objective-c/file_2.m [38:1 - 88:5] [1mClone found (javascript)[22m - [1m[32mone-file/one-file.js[39m[22m [1:1 - 28:6] (28 lines, 165 tokens) one-file/one-file.js [32:1 - 59:6] [1mClone found (openqasm)[22m - [1m[32mopenqasm/file1.qasm[39m[22m [5:1 - 23:7] (19 lines, 92 tokens) openqasm/file2.qasm [23:1 - 41:7] [1mClone found (oz)[22m - [1m[32moz/file1.oz[39m[22m [1:1 - 37:20] (37 lines, 141 tokens) oz/file2.oz [1:1 - 37:20] [1mClone found (pascal)[22m - [1m[32mpascal/file1.pas[39m[22m [1:1 - 37:5] (37 lines, 203 tokens) pascal/file2.pas [1:1 - 37:5] [1mClone found (perl)[22m - [1m[32mperl/file1.pl[39m[22m [1:1 - 121:31] (121 lines, 331 tokens) perl/file2.pl [1:1 - 121:31] [1mClone found (perl)[22m - [1m[32mperl/file1.pm[39m[22m [1:1 - 143:4] (143 lines, 586 tokens) perl/file2.pm [1:1 - 143:4] [1mClone found (perl)[22m - [1m[32mperl/file1.pm[39m[22m [143:3 - 155:3] (13 lines, 54 tokens) perl/file2.pm [176:3 - 188:3] [1mClone found (php)[22m - [1m[32mphp/file1.php[39m[22m [1:1 - 51:20] (51 lines, 295 tokens) php/file2.php [1:1 - 51:20] [1mClone found (plant-uml)[22m - [1m[32mplant-uml/file1.puml[39m[22m [1:1 - 52:40] (52 lines, 181 tokens) plant-uml/file2.puml [1:1 - 52:40] [1mClone found (plsql)[22m - [1m[32mplsql/file1.plsql[39m[22m [1:1 - 56:12] (56 lines, 191 tokens) plsql/file2.plsql [1:1 - 56:12] [1mClone found (plsql)[22m - [1m[32mplsql/file1.plsql[39m[22m [70:20 - 85:2] (16 lines, 53 tokens) plsql/file2.plsql [71:25 - 86:2] [1mClone found (powerquery)[22m - [1m[32mpowerquery/file1.pq[39m[22m [1:1 - 41:7] (41 lines, 210 tokens) powerquery/file2.pq [1:1 - 41:7] [1mClone found (powershell)[22m - [1m[32mpowershell/file1.ps1[39m[22m [1:1 - 41:2] (41 lines, 168 tokens) powershell/file2.ps1 [1:1 - 41:2] [1mClone found (ini)[22m - [1m[32mproperties/file1.ini[39m[22m [1:1 - 27:7] (27 lines, 79 tokens) properties/file2.ini [1:1 - 27:7] [1mClone found (properties)[22m - [1m[32mproperties/file1.properties[39m[22m [1:1 - 22:11] (22 lines, 114 tokens) properties/file2.properties [1:1 - 22:11] [1mClone found (protobuf)[22m - [1m[32mprotobuf/file1.proto[39m[22m [1:1 - 40:8] (40 lines, 115 tokens) protobuf/file2.proto [1:1 - 40:8] [1mClone found (pug)[22m - [1m[32mpug/file1.pug[39m[22m [1:1 - 234:21] (234 lines, 1037 tokens) pug/file2.pug [1:1 - 234:21] [1mClone found (pug)[22m - [1m[32mpug/file1.pug[39m[22m [239:36 - 291:67] (53 lines, 212 tokens) pug/file2.pug [231:30 - 283:67] [1mClone found (puppet)[22m - [1m[32mpuppet/file1.pp[39m[22m [1:1 - 39:4] (39 lines, 131 tokens) puppet/file2.pp [1:1 - 39:4] [1mClone found (puppet)[22m - [1m[32mpuppet/file1.pp[39m[22m [44:32 - 64:2] (21 lines, 83 tokens) puppet/file2.pp [38:38 - 58:2] [1mClone found (purescript)[22m - [1m[32mpurescript/file1.purs[39m[22m [1:1 - 44:7] (44 lines, 265 tokens) purescript/file2.purs [1:1 - 44:7] [1mClone found (purescript)[22m - [1m[32mpurescript/file1.purs[39m[22m [47:41 - 53:44] (7 lines, 50 tokens) purescript/file2.purs [47:40 - 53:44] [1mClone found (python)[22m - [1m[32mpython/file1.py[39m[22m [1:1 - 24:13] (24 lines, 67 tokens) python/file2.py [1:1 - 24:13] [1mClone found (q)[22m - [1m[32mq/file1.q[39m[22m [1:1 - 30:2] (30 lines, 378 tokens) q/file2.q [1:1 - 30:2] [1mClone found (qsharp)[22m - [1m[32mqsharp/file1.qs[39m[22m [2:32 - 11:6] (10 lines, 50 tokens) qsharp/file2.qs [2:29 - 11:6] [1mClone found (r)[22m - [1m[32mr/file1.r[39m[22m [1:1 - 64:9] (64 lines, 427 tokens) r/file2.r [1:1 - 64:9] [1mClone found (racket)[22m - [1m[32mracket/file1.rkt[39m[22m [1:1 - 38:3] (38 lines, 286 tokens) racket/file2.rkt [1:1 - 38:3] [1mClone found (rescript)[22m - [1m[32mrescript/file1.res[39m[22m [1:1 - 38:2] (38 lines, 200 tokens) rescript/file2.res [1:1 - 38:2] [1mClone found (robotframework)[22m - [1m[32mrobotframework/file1.robot[39m[22m [1:1 - 27:45] (27 lines, 143 tokens) robotframework/file2.robot [1:1 - 27:45] [1mClone found (robotframework)[22m - [1m[32mrobotframework/file1.robot[39m[22m [45:1 - 62:23] (18 lines, 80 tokens) robotframework/file2.robot [51:1 - 68:23] [1mClone found (ruby)[22m - [1m[32mruby/file1.rb[39m[22m [1:1 - 40:4] (40 lines, 96 tokens) ruby/file2.rb [1:1 - 40:4] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [1:1 - 131:3] (131 lines, 857 tokens) rust/file2.rs [1:1 - 132:3] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [199:50 - 204:2] (6 lines, 51 tokens) rust/file1.rs [255:53 - 260:2] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [232:93 - 239:64] (8 lines, 58 tokens) rust/file1.rs [247:47 - 254:64] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [239:57 - 416:2] (178 lines, 1285 tokens) rust/file2.rs [123:52 - 301:2] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [263:28 - 273:12] (11 lines, 80 tokens) rust/file1.rs [335:21 - 345:12] [1mClone found (rust)[22m - [1m[32mrust/file1.rs[39m[22m [319:60 - 332:2] (14 lines, 114 tokens) rust/file1.rs [371:96 - 384:2] [1mClone found (sas)[22m - [1m[32msas/file1.sas[39m[22m [1:1 - 59:4] (59 lines, 444 tokens) sas/file2.sas [1:1 - 59:4] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [1:1 - 19:17] (19 lines, 89 tokens) sass/file2.sass [1:1 - 19:17] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [3:1 - 17:43] (15 lines, 82 tokens) sass/file1.sass [19:1 - 33:43] [1mClone found (sass)[22m - [1m[32msass/file1.sass[39m[22m [5:1 - 24:45] (20 lines, 102 tokens) sass/file2.sass [24:1 - 48:33] [1mClone found (scheme)[22m - [1m[32mscheme/file1.scm[39m[22m [1:1 - 33:23] (33 lines, 225 tokens) scheme/file2.scm [1:1 - 33:23] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shebang/deploy [1:1 - 32:2] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shell/file1.sh [1:1 - 32:2] [1mClone found (bash)[22m - [1m[32mshebang/build[39m[22m [1:1 - 32:2] (32 lines, 86 tokens) shell/file2.sh [1:1 - 32:2] [1mClone found (python)[22m - [1m[32mshebang/process[39m[22m [1:1 - 32:4] (32 lines, 159 tokens) shebang/transform [1:1 - 32:4] [1mClone found (smalltalk)[22m - [1m[32msmalltalk/file1.st[39m[22m [1:1 - 45:2] (45 lines, 146 tokens) smalltalk/file2.st [1:1 - 45:2] [1mClone found (smarty)[22m - [1m[32msmarty/file1.tpl[39m[22m [1:1 - 43:18] (43 lines, 286 tokens) smarty/file2.tpl [1:1 - 43:18] [1mClone found (solidity)[22m - [1m[32msolidity/file1.sol[39m[22m [25:61 - 55:13] (31 lines, 168 tokens) solidity/file2.sol [29:54 - 59:13] [1mClone found (soy)[22m - [1m[32msoy/file1.soy[39m[22m [1:1 - 49:27] (49 lines, 346 tokens) soy/file2.soy [1:1 - 49:27] [1mClone found (sparql)[22m - [1m[32msparql/file1.rq[39m[22m [1:1 - 11:9] (11 lines, 65 tokens) sparql/file2.rq [1:1 - 11:9] [1mClone found (sql)[22m - [1m[32msql/file1.sql[39m[22m [3:1 - 41:46] (39 lines, 214 tokens) sql/file2.sql [3:1 - 41:46] [1mClone found (stylus)[22m - [1m[32mstylus/file1.styl[39m[22m [1:1 - 53:20] (53 lines, 201 tokens) stylus/file2.styl [1:1 - 53:20] [1mClone found (css)[22m - [1m[32msvelte/component1.svelte:css[39m[22m [112:3 - 230:4] (119 lines, 507 tokens) svelte/component2.svelte:css [112:3 - 230:4] [1mClone found (html)[22m - [1m[32msvelte/component1.svelte:html[39m[22m [1:1 - 231:9] (231 lines, 350 tokens) svelte/component2.svelte:html [1:1 - 231:9] [1mClone found (javascript)[22m - [1m[32msvelte/component1.svelte:javascript[39m[22m [2:3 - 61:6] (60 lines, 286 tokens) svelte/component2.svelte:javascript [2:3 - 61:6] [1mClone found (swift)[22m - [1m[32mswift/file1.swift[39m[22m [9:1 - 29:6] (21 lines, 73 tokens) swift/file2.swift [2:1 - 22:6] [1mClone found (tap)[22m - [1m[32mtap/file1.tap[39m[22m [1:1 - 35:8] (35 lines, 202 tokens) tap/file2.tap [1:1 - 35:8] [1mClone found (tcl)[22m - [1m[32mtcl/file1.tcl[39m[22m [1:1 - 45:2] (45 lines, 263 tokens) tcl/file2.tcl [1:1 - 45:2] [1mClone found (textile)[22m - [1m[32mtextile/file1.textile[39m[22m [1:1 - 51:4] (51 lines, 236 tokens) textile/file2.textile [1:1 - 51:4] [1mClone found (toml)[22m - [1m[32mtoml/file1.toml[39m[22m [1:1 - 39:19] (39 lines, 100 tokens) toml/file2.toml [1:1 - 39:19] [1mClone found (tt2)[22m - [1m[32mtt2/file1.tt2[39m[22m [1:1 - 38:14] (38 lines, 299 tokens) tt2/file2.tt2 [1:1 - 38:14] [1mClone found (tt2)[22m - [1m[32mtt2/file1.tt2[39m[22m [42:21 - 52:25] (11 lines, 54 tokens) tt2/file2.tt2 [42:86 - 52:25] [1mClone found (turtle)[22m - [1m[32mturtle/file1.ttl[39m[22m [1:1 - 36:17] (36 lines, 212 tokens) turtle/file2.ttl [1:1 - 36:17] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [1:1 - 23:3] (23 lines, 167 tokens) twig/file_2.twig [1:1 - 23:3] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [13:20 - 25:9] (13 lines, 65 tokens) twig/file_1.twig [16:8 - 28:9] [1mClone found (twig)[22m - [1m[32mtwig/file_1.twig[39m[22m [19:8 - 29:15] (11 lines, 54 tokens) twig/file_2.twig [22:8 - 32:15] [1mClone found (unrealscript)[22m - [1m[32munrealscript/file1.uc[39m[22m [1:1 - 56:6] (56 lines, 161 tokens) unrealscript/file2.uc [1:1 - 56:6] [1mClone found (vbnet)[22m - [1m[32mvb/file1.vb[39m[22m [1:1 - 29:17] (29 lines, 163 tokens) vb/file2.vb [1:1 - 29:17] [1mClone found (velocity)[22m - [1m[32mvelocity/file1.vtl[39m[22m [1:1 - 41:25] (41 lines, 264 tokens) velocity/file2.vtl [1:1 - 41:25] [1mClone found (verilog)[22m - [1m[32mverilog/file1.v[39m[22m [1:1 - 40:10] (40 lines, 163 tokens) verilog/file2.v [1:1 - 40:10] [1mClone found (vhdl)[22m - [1m[32mvhdl/file1.vhd[39m[22m [1:1 - 32:18] (32 lines, 179 tokens) vhdl/file2.vhd [1:1 - 32:18] [1mClone found (typescript)[22m - [1m[32mvue/app1.vue:typescript[39m[22m [5:1 - 33:4] (29 lines, 128 tokens) vue/app2.vue:typescript [5:1 - 33:4] [1mClone found (javascript)[22m - [1m[32mvue/file.js[39m[22m [1:1 - 28:2] (28 lines, 210 tokens) vue/file1.vue:javascript [125:3 - 152:4] [1mClone found (html)[22m - [1m[32mvue/file1.vue:html[39m[22m [1:1 - 10:9] (10 lines, 99 tokens) vue/file2.vue:html [1:1 - 10:9] [1mClone found (javascript)[22m - [1m[32mvue/file1.vue:javascript[39m[22m [120:3 - 261:4] (142 lines, 817 tokens) vue/file2.vue:javascript [99:3 - 240:4] [1mClone found (scss)[22m - [1m[32mvue/file1.vue:scss[39m[22m [13:3 - 75:6] (63 lines, 402 tokens) vue/file2.vue:scss [13:3 - 75:6] [1mClone found (scss)[22m - [1m[32mvue/file1.vue:scss[39m[22m [95:5 - 117:4] (23 lines, 149 tokens) vue/file2.vue:scss [74:5 - 96:4] [1mClone found (wgsl)[22m - [1m[32mwgsl/file1.wgsl[39m[22m [1:1 - 45:3] (45 lines, 274 tokens) wgsl/file2.wgsl [1:1 - 45:3] [1mClone found (wgsl)[22m - [1m[32mwgsl/file1.wgsl[39m[22m [51:42 - 59:6] (9 lines, 66 tokens) wgsl/file2.wgsl [55:47 - 63:6] [1mClone found (markup)[22m - [1m[32mxml/file1.svg[39m[22m [1:1 - 88:2] (88 lines, 392 tokens) xml/file2.svg [1:1 - 87:6] [1mClone found (markup)[22m - [1m[32mxml/file1.xsl[39m[22m [1:1 - 43:6] (43 lines, 316 tokens) xml/file2.xsl [1:1 - 43:2] [1mClone found (markup)[22m - [1m[32mxml/file1.xsl[39m[22m [20:15 - 35:6] (16 lines, 133 tokens) xml/file1.xsl [32:137 - 47:2] [1mClone found (xquery)[22m - [1m[32mxquery/file1.xquery[39m[22m [1:1 - 31:22] (31 lines, 222 tokens) xquery/file2.xquery [1:1 - 31:22] [1mClone found (yaml)[22m - [1m[32myaml/file1.yml[39m[22m [1:1 - 18:23] (18 lines, 132 tokens) yaml/file2.yml [1:1 - 18:23] [1mClone found (c)[22m - [1m[32mz80/file1.z80[39m[22m [1:1 - 14:25] (14 lines, 60 tokens) z80/file2.z80 [1:1 - 14:25] [1mClone found (zig)[22m - [1m[32mzig/file1.zig[39m[22m [1:1 - 43:10] (43 lines, 259 tokens) zig/file2.zig [1:1 - 43:10] [1mClone found (zig)[22m - [1m[32mzig/file1.zig[39m[22m [42:45 - 52:23] (11 lines, 52 tokens) zig/file2.zig [47:45 - 57:23] [90m┌────────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐[39m [90m│[39m[31m Format [39m[90m│[39m[31m Files analyzed [39m[90m│[39m[31m Total lines [39m[90m│[39m[31m Total tokens [39m[90m│[39m[31m Clones found [39m[90m│[39m[31m Duplicated lines [39m[90m│[39m[31m Duplicated tokens [39m[90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m actionscript [90m│[39m 2 [90m│[39m 75 [90m│[39m 302 [90m│[39m 1 [90m│[39m 29 (38.67%) [90m│[39m 127 (42.05%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ada [90m│[39m 2 [90m│[39m 74 [90m│[39m 408 [90m│[39m 1 [90m│[39m 20 (27.03%) [90m│[39m 103 (25.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m antlr4 [90m│[39m 2 [90m│[39m 48 [90m│[39m 216 [90m│[39m 1 [90m│[39m 20 (41.67%) [90m│[39m 82 (37.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m apex [90m│[39m 2 [90m│[39m 84 [90m│[39m 451 [90m│[39m 1 [90m│[39m 23 (27.38%) [90m│[39m 115 (25.50%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m apl [90m│[39m 2 [90m│[39m 47 [90m│[39m 554 [90m│[39m 1 [90m│[39m 19 (40.43%) [90m│[39m 252 (45.49%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m aspnet [90m│[39m 2 [90m│[39m 101 [90m│[39m 854 [90m│[39m 3 [90m│[39m 37 (36.63%) [90m│[39m 296 (34.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m astro [90m│[39m 2 [90m│[39m 324 [90m│[39m 950 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m awk [90m│[39m 2 [90m│[39m 62 [90m│[39m 205 [90m│[39m 1 [90m│[39m 22 (35.48%) [90m│[39m 75 (36.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m bash [90m│[39m 4 [90m│[39m 158 [90m│[39m 418 [90m│[39m 3 [90m│[39m 93 (58.86%) [90m│[39m 258 (61.72%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m basic [90m│[39m 2 [90m│[39m 47 [90m│[39m 331 [90m│[39m 1 [90m│[39m 17 (36.17%) [90m│[39m 100 (30.21%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m bicep [90m│[39m 2 [90m│[39m 81 [90m│[39m 251 [90m│[39m 1 [90m│[39m 26 (32.10%) [90m│[39m 78 (31.08%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m brainfuck [90m│[39m 4 [90m│[39m 159 [90m│[39m 1728 [90m│[39m 4 [90m│[39m 113 (71.07%) [90m│[39m 1289 (74.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m c [90m│[39m 5 [90m│[39m 105 [90m│[39m 1060 [90m│[39m 3 [90m│[39m 40 (38.10%) [90m│[39m 399 (37.64%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m c-header [90m│[39m 4 [90m│[39m 149 [90m│[39m 2091 [90m│[39m 3 [90m│[39m 59 (39.60%) [90m│[39m 724 (34.62%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cfml [90m│[39m 2 [90m│[39m 107 [90m│[39m 671 [90m│[39m 1 [90m│[39m 17 (15.89%) [90m│[39m 85 (12.67%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cfscript [90m│[39m 2 [90m│[39m 69 [90m│[39m 437 [90m│[39m 1 [90m│[39m 27 (39.13%) [90m│[39m 161 (36.84%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m clojure [90m│[39m 2 [90m│[39m 46 [90m│[39m 374 [90m│[39m 1 [90m│[39m 18 (39.13%) [90m│[39m 139 (37.17%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cmake [90m│[39m 2 [90m│[39m 52 [90m│[39m 311 [90m│[39m 1 [90m│[39m 20 (38.46%) [90m│[39m 128 (41.16%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m coffeescript [90m│[39m 2 [90m│[39m 92 [90m│[39m 447 [90m│[39m 2 [90m│[39m 40 (43.48%) [90m│[39m 219 (48.99%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cpp [90m│[39m 2 [90m│[39m 176 [90m│[39m 1514 [90m│[39m 2 [90m│[39m 106 (60.23%) [90m│[39m 965 (63.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m cpp-header [90m│[39m 2 [90m│[39m 176 [90m│[39m 1514 [90m│[39m 2 [90m│[39m 106 (60.23%) [90m│[39m 965 (63.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m crystal [90m│[39m 2 [90m│[39m 70 [90m│[39m 222 [90m│[39m 1 [90m│[39m 28 (40.00%) [90m│[39m 97 (43.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m csharp [90m│[39m 2 [90m│[39m 360 [90m│[39m 1099 [90m│[39m 2 [90m│[39m 172 (47.78%) [90m│[39m 537 (48.86%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m css [90m│[39m 8 [90m│[39m 875 [90m│[39m 2536 [90m│[39m 5 [90m│[39m 290 (33.14%) [90m│[39m 1494 (58.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m csv [90m│[39m 2 [90m│[39m 22 [90m│[39m 400 [90m│[39m 1 [90m│[39m 8 (36.36%) [90m│[39m 163 (40.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m d [90m│[39m 2 [90m│[39m 338 [90m│[39m 2270 [90m│[39m 1 [90m│[39m 168 (49.70%) [90m│[39m 1135 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m dart [90m│[39m 2 [90m│[39m 266 [90m│[39m 1178 [90m│[39m 2 [90m│[39m 118 (44.36%) [90m│[39m 522 (44.31%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m diff [90m│[39m 2 [90m│[39m 146 [90m│[39m 1082 [90m│[39m 1 [90m│[39m 61 (41.78%) [90m│[39m 435 (40.20%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m dot [90m│[39m 2 [90m│[39m 46 [90m│[39m 243 [90m│[39m 1 [90m│[39m 17 (36.96%) [90m│[39m 91 (37.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m eiffel [90m│[39m 2 [90m│[39m 126 [90m│[39m 380 [90m│[39m 1 [90m│[39m 45 (35.71%) [90m│[39m 130 (34.21%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m elm [90m│[39m 2 [90m│[39m 110 [90m│[39m 411 [90m│[39m 1 [90m│[39m 46 (41.82%) [90m│[39m 155 (37.71%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m erlang [90m│[39m 2 [90m│[39m 242 [90m│[39m 1674 [90m│[39m 1 [90m│[39m 120 (49.59%) [90m│[39m 837 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m fortran [90m│[39m 2 [90m│[39m 93 [90m│[39m 469 [90m│[39m 1 [90m│[39m 36 (38.71%) [90m│[39m 182 (38.81%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m fsharp [90m│[39m 2 [90m│[39m 82 [90m│[39m 462 [90m│[39m 1 [90m│[39m 34 (41.46%) [90m│[39m 193 (41.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gdscript [90m│[39m 2 [90m│[39m 96 [90m│[39m 458 [90m│[39m 1 [90m│[39m 24 (25.00%) [90m│[39m 135 (29.48%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gettext [90m│[39m 2 [90m│[39m 220 [90m│[39m 356 [90m│[39m 1 [90m│[39m 51 (23.18%) [90m│[39m 82 (23.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m gherkin [90m│[39m 2 [90m│[39m 75 [90m│[39m 434 [90m│[39m 1 [90m│[39m 15 (20.00%) [90m│[39m 83 (19.12%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m go [90m│[39m 2 [90m│[39m 65 [90m│[39m 305 [90m│[39m 1 [90m│[39m 29 (44.62%) [90m│[39m 134 (43.93%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m graphql [90m│[39m 2 [90m│[39m 134 [90m│[39m 499 [90m│[39m 1 [90m│[39m 24 (17.91%) [90m│[39m 143 (28.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m groovy [90m│[39m 2 [90m│[39m 96 [90m│[39m 422 [90m│[39m 1 [90m│[39m 40 (41.67%) [90m│[39m 188 (44.55%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haml [90m│[39m 2 [90m│[39m 52 [90m│[39m 276 [90m│[39m 1 [90m│[39m 22 (42.31%) [90m│[39m 118 (42.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m handlebars [90m│[39m 2 [90m│[39m 72 [90m│[39m 555 [90m│[39m 1 [90m│[39m 27 (37.50%) [90m│[39m 218 (39.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haskell [90m│[39m 4 [90m│[39m 459 [90m│[39m 2536 [90m│[39m 3 [90m│[39m 216 (47.06%) [90m│[39m 1183 (46.65%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m haxe [90m│[39m 4 [90m│[39m 191 [90m│[39m 1035 [90m│[39m 3 [90m│[39m 113 (59.16%) [90m│[39m 634 (61.26%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m hcl [90m│[39m 2 [90m│[39m 119 [90m│[39m 313 [90m│[39m 1 [90m│[39m 36 (30.25%) [90m│[39m 85 (27.16%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m html [90m│[39m 6 [90m│[39m 1289 [90m│[39m 1390 [90m│[39m 4 [90m│[39m 406 (31.50%) [90m│[39m 762 (54.82%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m idris [90m│[39m 2 [90m│[39m 88 [90m│[39m 581 [90m│[39m 1 [90m│[39m 34 (38.64%) [90m│[39m 208 (35.80%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ignore [90m│[39m 2 [90m│[39m 191 [90m│[39m 523 [90m│[39m 1 [90m│[39m 83 (43.46%) [90m│[39m 234 (44.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ini [90m│[39m 2 [90m│[39m 58 [90m│[39m 172 [90m│[39m 1 [90m│[39m 26 (44.83%) [90m│[39m 79 (45.93%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m java [90m│[39m 2 [90m│[39m 454 [90m│[39m 15064 [90m│[39m 2 [90m│[39m 224 (49.34%) [90m│[39m 7387 (49.04%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m javascript [90m│[39m 23 [90m│[39m 1580 [90m│[39m 6985 [90m│[39m 13 [90m│[39m 572 (36.20%) [90m│[39m 3475 (49.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m json [90m│[39m 4 [90m│[39m 134 [90m│[39m 460 [90m│[39m 2 [90m│[39m 38 (28.36%) [90m│[39m 134 (29.13%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m json5 [90m│[39m 2 [90m│[39m 104 [90m│[39m 307 [90m│[39m 1 [90m│[39m 30 (28.85%) [90m│[39m 93 (30.29%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m jsx [90m│[39m 2 [90m│[39m 73 [90m│[39m 296 [90m│[39m 1 [90m│[39m 20 (27.40%) [90m│[39m 99 (33.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m julia [90m│[39m 2 [90m│[39m 76 [90m│[39m 557 [90m│[39m 1 [90m│[39m 29 (38.16%) [90m│[39m 194 (34.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m kotlin [90m│[39m 2 [90m│[39m 106 [90m│[39m 550 [90m│[39m 2 [90m│[39m 47 (44.34%) [90m│[39m 250 (45.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m latex [90m│[39m 2 [90m│[39m 88 [90m│[39m 557 [90m│[39m 1 [90m│[39m 25 (28.41%) [90m│[39m 149 (26.75%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m less [90m│[39m 2 [90m│[39m 56 [90m│[39m 518 [90m│[39m 2 [90m│[39m 29 (51.79%) [90m│[39m 282 (54.44%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lilypond [90m│[39m 2 [90m│[39m 100 [90m│[39m 307 [90m│[39m 1 [90m│[39m 18 (18.00%) [90m│[39m 63 (20.52%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m linker-script [90m│[39m 2 [90m│[39m 133 [90m│[39m 683 [90m│[39m 1 [90m│[39m 46 (34.59%) [90m│[39m 256 (37.48%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lisp [90m│[39m 2 [90m│[39m 106 [90m│[39m 608 [90m│[39m 1 [90m│[39m 49 (46.23%) [90m│[39m 289 (47.53%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m livescript [90m│[39m 2 [90m│[39m 68 [90m│[39m 344 [90m│[39m 1 [90m│[39m 30 (44.12%) [90m│[39m 145 (42.15%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m llvm [90m│[39m 2 [90m│[39m 132 [90m│[39m 850 [90m│[39m 1 [90m│[39m 34 (25.76%) [90m│[39m 215 (25.29%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m log [90m│[39m 2 [90m│[39m 30 [90m│[39m 666 [90m│[39m 1 [90m│[39m 12 (40.00%) [90m│[39m 262 (39.34%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m lua [90m│[39m 2 [90m│[39m 106 [90m│[39m 450 [90m│[39m 1 [90m│[39m 45 (42.45%) [90m│[39m 193 (42.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m markdown [90m│[39m 4 [90m│[39m 536 [90m│[39m 929 [90m│[39m 3 [90m│[39m 262 (48.88%) [90m│[39m 1407 (151.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m markup [90m│[39m 11 [90m│[39m 478 [90m│[39m 2795 [90m│[39m 6 [90m│[39m 205 (42.89%) [90m│[39m 1314 (47.01%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m nsis [90m│[39m 2 [90m│[39m 68 [90m│[39m 172 [90m│[39m 1 [90m│[39m 28 (41.18%) [90m│[39m 71 (41.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m objectivec [90m│[39m 2 [90m│[39m 152 [90m│[39m 1463 [90m│[39m 2 [90m│[39m 61 (40.13%) [90m│[39m 527 (36.02%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ocaml [90m│[39m 6 [90m│[39m 186 [90m│[39m 1052 [90m│[39m 3 [90m│[39m 80 (43.01%) [90m│[39m 440 (41.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m openqasm [90m│[39m 2 [90m│[39m 87 [90m│[39m 346 [90m│[39m 1 [90m│[39m 18 (20.69%) [90m│[39m 92 (26.59%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m oz [90m│[39m 2 [90m│[39m 94 [90m│[39m 357 [90m│[39m 1 [90m│[39m 36 (38.30%) [90m│[39m 141 (39.50%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m pascal [90m│[39m 2 [90m│[39m 106 [90m│[39m 561 [90m│[39m 1 [90m│[39m 36 (33.96%) [90m│[39m 203 (36.19%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m perl [90m│[39m 4 [90m│[39m 609 [90m│[39m 2272 [90m│[39m 3 [90m│[39m 274 (44.99%) [90m│[39m 971 (42.74%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m php [90m│[39m 2 [90m│[39m 143 [90m│[39m 785 [90m│[39m 1 [90m│[39m 50 (34.97%) [90m│[39m 295 (37.58%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m plant-uml [90m│[39m 2 [90m│[39m 120 [90m│[39m 422 [90m│[39m 1 [90m│[39m 51 (42.50%) [90m│[39m 181 (42.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m plsql [90m│[39m 2 [90m│[39m 171 [90m│[39m 598 [90m│[39m 2 [90m│[39m 70 (40.94%) [90m│[39m 244 (40.80%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m powerquery [90m│[39m 2 [90m│[39m 112 [90m│[39m 538 [90m│[39m 1 [90m│[39m 40 (35.71%) [90m│[39m 210 (39.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m powershell [90m│[39m 2 [90m│[39m 98 [90m│[39m 404 [90m│[39m 1 [90m│[39m 40 (40.82%) [90m│[39m 168 (41.58%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m prolog [90m│[39m 2 [90m│[39m 64 [90m│[39m 429 [90m│[39m 1 [90m│[39m 27 (42.19%) [90m│[39m 176 (41.03%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m properties [90m│[39m 2 [90m│[39m 48 [90m│[39m 250 [90m│[39m 1 [90m│[39m 21 (43.75%) [90m│[39m 114 (45.60%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m protobuf [90m│[39m 2 [90m│[39m 205 [90m│[39m 680 [90m│[39m 1 [90m│[39m 39 (19.02%) [90m│[39m 115 (16.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m pug [90m│[39m 2 [90m│[39m 574 [90m│[39m 2512 [90m│[39m 2 [90m│[39m 285 (49.65%) [90m│[39m 1249 (49.72%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m puppet [90m│[39m 2 [90m│[39m 122 [90m│[39m 446 [90m│[39m 2 [90m│[39m 58 (47.54%) [90m│[39m 214 (47.98%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m purescript [90m│[39m 2 [90m│[39m 115 [90m│[39m 797 [90m│[39m 2 [90m│[39m 49 (42.61%) [90m│[39m 315 (39.52%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m python [90m│[39m 6 [90m│[39m 323 [90m│[39m 911 [90m│[39m 3 [90m│[39m 73 (22.60%) [90m│[39m 363 (39.85%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m q [90m│[39m 2 [90m│[39m 78 [90m│[39m 997 [90m│[39m 1 [90m│[39m 29 (37.18%) [90m│[39m 378 (37.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m qsharp [90m│[39m 2 [90m│[39m 102 [90m│[39m 408 [90m│[39m 1 [90m│[39m 9 (8.82%) [90m│[39m 50 (12.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m r [90m│[39m 2 [90m│[39m 128 [90m│[39m 854 [90m│[39m 1 [90m│[39m 63 (49.22%) [90m│[39m 427 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m racket [90m│[39m 2 [90m│[39m 100 [90m│[39m 760 [90m│[39m 1 [90m│[39m 37 (37.00%) [90m│[39m 286 (37.63%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m rescript [90m│[39m 2 [90m│[39m 115 [90m│[39m 776 [90m│[39m 1 [90m│[39m 37 (32.17%) [90m│[39m 200 (25.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m robotframework [90m│[39m 2 [90m│[39m 130 [90m│[39m 630 [90m│[39m 2 [90m│[39m 43 (33.08%) [90m│[39m 223 (35.40%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m ruby [90m│[39m 2 [90m│[39m 80 [90m│[39m 192 [90m│[39m 1 [90m│[39m 39 (48.75%) [90m│[39m 96 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m rust [90m│[39m 2 [90m│[39m 717 [90m│[39m 5128 [90m│[39m 6 [90m│[39m 342 (47.70%) [90m│[39m 2445 (47.68%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sas [90m│[39m 2 [90m│[39m 152 [90m│[39m 1174 [90m│[39m 1 [90m│[39m 58 (38.16%) [90m│[39m 444 (37.82%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sass [90m│[39m 2 [90m│[39m 93 [90m│[39m 383 [90m│[39m 3 [90m│[39m 51 (54.84%) [90m│[39m 273 (71.28%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scala [90m│[39m 2 [90m│[39m 58 [90m│[39m 1696 [90m│[39m 1 [90m│[39m 28 (48.28%) [90m│[39m 848 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scheme [90m│[39m 2 [90m│[39m 70 [90m│[39m 498 [90m│[39m 1 [90m│[39m 32 (45.71%) [90m│[39m 225 (45.18%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m scss [90m│[39m 4 [90m│[39m 360 [90m│[39m 2065 [90m│[39m 3 [90m│[39m 136 (37.78%) [90m│[39m 875 (42.37%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m smalltalk [90m│[39m 2 [90m│[39m 102 [90m│[39m 351 [90m│[39m 1 [90m│[39m 44 (43.14%) [90m│[39m 146 (41.60%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m smarty [90m│[39m 2 [90m│[39m 92 [90m│[39m 652 [90m│[39m 1 [90m│[39m 42 (45.65%) [90m│[39m 286 (43.87%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m solidity [90m│[39m 2 [90m│[39m 155 [90m│[39m 939 [90m│[39m 1 [90m│[39m 30 (19.35%) [90m│[39m 168 (17.89%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m soy [90m│[39m 2 [90m│[39m 106 [90m│[39m 841 [90m│[39m 1 [90m│[39m 48 (45.28%) [90m│[39m 346 (41.14%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sparql [90m│[39m 2 [90m│[39m 54 [90m│[39m 296 [90m│[39m 1 [90m│[39m 10 (18.52%) [90m│[39m 65 (21.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m sql [90m│[39m 2 [90m│[39m 102 [90m│[39m 525 [90m│[39m 1 [90m│[39m 38 (37.25%) [90m│[39m 214 (40.76%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m stylus [90m│[39m 2 [90m│[39m 129 [90m│[39m 494 [90m│[39m 1 [90m│[39m 52 (40.31%) [90m│[39m 201 (40.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m svelte [90m│[39m 2 [90m│[39m 462 [90m│[39m 1586 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m swift [90m│[39m 2 [90m│[39m 58 [90m│[39m 175 [90m│[39m 1 [90m│[39m 20 (34.48%) [90m│[39m 73 (41.71%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tap [90m│[39m 2 [90m│[39m 98 [90m│[39m 562 [90m│[39m 1 [90m│[39m 34 (34.69%) [90m│[39m 202 (35.94%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tcl [90m│[39m 2 [90m│[39m 106 [90m│[39m 600 [90m│[39m 1 [90m│[39m 44 (41.51%) [90m│[39m 263 (43.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m text [90m│[39m 2 [90m│[39m 354 [90m│[39m 143 [90m│[39m 1 [90m│[39m 10 (2.82%) [90m│[39m 69 (48.25%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m textile [90m│[39m 2 [90m│[39m 106 [90m│[39m 495 [90m│[39m 1 [90m│[39m 50 (47.17%) [90m│[39m 236 (47.68%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m toml [90m│[39m 2 [90m│[39m 91 [90m│[39m 229 [90m│[39m 1 [90m│[39m 38 (41.76%) [90m│[39m 100 (43.67%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tsx [90m│[39m 2 [90m│[39m 76 [90m│[39m 310 [90m│[39m 1 [90m│[39m 34 (44.74%) [90m│[39m 143 (46.13%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m tt2 [90m│[39m 2 [90m│[39m 104 [90m│[39m 803 [90m│[39m 2 [90m│[39m 47 (45.19%) [90m│[39m 353 (43.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m turtle [90m│[39m 2 [90m│[39m 90 [90m│[39m 520 [90m│[39m 1 [90m│[39m 35 (38.89%) [90m│[39m 212 (40.77%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m twig [90m│[39m 2 [90m│[39m 61 [90m│[39m 424 [90m│[39m 3 [90m│[39m 44 (72.13%) [90m│[39m 286 (67.45%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m txt [90m│[39m 4 [90m│[39m 146 [90m│[39m 870 [90m│[39m 2 [90m│[39m 71 (48.63%) [90m│[39m 435 (50.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m typescript [90m│[39m 12 [90m│[39m 2159 [90m│[39m 9379 [90m│[39m 8 [90m│[39m 958 (44.37%) [90m│[39m 4688 (49.98%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m unrealscript [90m│[39m 2 [90m│[39m 166 [90m│[39m 520 [90m│[39m 1 [90m│[39m 55 (33.13%) [90m│[39m 161 (30.96%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vbnet [90m│[39m 2 [90m│[39m 72 [90m│[39m 378 [90m│[39m 1 [90m│[39m 28 (38.89%) [90m│[39m 163 (43.12%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m velocity [90m│[39m 2 [90m│[39m 88 [90m│[39m 576 [90m│[39m 1 [90m│[39m 40 (45.45%) [90m│[39m 264 (45.83%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m verilog [90m│[39m 2 [90m│[39m 104 [90m│[39m 430 [90m│[39m 1 [90m│[39m 39 (37.50%) [90m│[39m 163 (37.91%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vhdl [90m│[39m 2 [90m│[39m 98 [90m│[39m 546 [90m│[39m 1 [90m│[39m 31 (31.63%) [90m│[39m 179 (32.78%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m vue [90m│[39m 4 [90m│[39m 587 [90m│[39m 3333 [90m│[39m 0 [90m│[39m 0 (0.00%) [90m│[39m 0 (0.00%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m wgsl [90m│[39m 2 [90m│[39m 127 [90m│[39m 928 [90m│[39m 2 [90m│[39m 52 (40.94%) [90m│[39m 340 (36.64%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m wolfram [90m│[39m 2 [90m│[39m 85 [90m│[39m 697 [90m│[39m 1 [90m│[39m 16 (18.82%) [90m│[39m 127 (18.22%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m xquery [90m│[39m 2 [90m│[39m 80 [90m│[39m 640 [90m│[39m 1 [90m│[39m 30 (37.50%) [90m│[39m 222 (34.69%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m yaml [90m│[39m 6 [90m│[39m 262 [90m│[39m 554 [90m│[39m 2 [90m│[39m 45 (17.18%) [90m│[39m 192 (34.66%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m zig [90m│[39m 2 [90m│[39m 130 [90m│[39m 827 [90m│[39m 2 [90m│[39m 52 (40.00%) [90m│[39m 311 (37.61%) [90m│[39m [90m├────────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤[39m [90m│[39m [1mTotal:[22m [90m│[39m 347 [90m│[39m 24603 [90m│[39m 130473 [90m│[39m 212 [90m│[39m 9133 (37.12%) [90m│[39m 56491 (43.30%) [90m│[39m [90m└────────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘[39m [90mFound 212 clones.[39m [90mtime: 23.314ms[39m [90m💡 Auto-refactor with AI: [1m[39mnpx skills add https://github.com/kucherenko/jscpd --skill dry-refactoring[90m[22m [90m🎩 New: Gangsta Agents — discipline your AI coding → gangsta.page[39m [90m💖 Support jscpd project → https://opencollective.com/jscpd[39m npm package or from . Corrected this false claim across all docs and rewrote rust/jscpd/README.md (the README npm publishes as jscpd@5): added badges, supported-formats summary, CI snippet, links section, and v4 differences table. |