[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70813":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":15,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},70813,"diff-so-fancy","so-fancy\u002Fdiff-so-fancy","so-fancy","Make your diffs human readable for improved code quality and faster defect detection. :tada:","",null,"Perl",18049,344,108,4,0,14,30,12,42.61,"MIT License",false,"next",true,[26,27,28,29,30,31],"diff","diff-highlight","diffs","fancy","git","hacktoberfest","2026-06-12 02:02:43","# 🎩 diff-so-fancy  [![Circle CI build](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fso-fancy\u002Fdiff-so-fancy.svg?style=shield)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fso-fancy\u002Fdiff-so-fancy) [![AppVeyor build](https:\u002F\u002Fci.appveyor.com\u002Fapi\u002Fprojects\u002Fstatus\u002Fgithub\u002Fso-fancy\u002Fdiff-so-fancy?branch=master&svg=true)](https:\u002F\u002Fci.appveyor.com\u002Fproject\u002Fstevemao\u002Fdiff-so-fancy\u002Fbranch\u002Fmaster)\n\n`diff-so-fancy` makes your diffs **human** readable instead of machine readable. This helps improve code quality and helps you spot defects faster.\n\n## 🖼️ Screenshot\n\nVanilla `git diff` vs `git` and `diff-so-fancy`\n\n![diff-highlight vs diff-so-fancy](docs\u002Fdiff-so-fancy.png)\n\n## 📦 Install\n\nSimply copy the `diff-so-fancy` script from the latest [Github release](https:\u002F\u002Fgithub.com\u002Fso-fancy\u002Fdiff-so-fancy\u002Freleases) into your `$PATH` and you're done. Alternately to test development features you can clone this repo and then put the `diff-so-fancy` script (symlink will work) into your `$PATH`. The `lib\u002F` directory will need to be kept relative to the core script.\n\n`diff-so-fancy` is also available from the [NPM registry](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fdiff-so-fancy), [brew](https:\u002F\u002Fformulae.brew.sh\u002Fformula\u002Fdiff-so-fancy), [Fedora](https:\u002F\u002Fpackages.fedoraproject.org\u002Fpkgs\u002Fdiff-so-fancy\u002Fdiff-so-fancy\u002F), in the [Arch extra repo](https:\u002F\u002Farchlinux.org\u002Fpackages\u002Fextra\u002Fany\u002Fdiff-so-fancy\u002F), and as [ppa:aos for Debian\u002FUbuntu Linux](https:\u002F\u002Fgithub.com\u002Faos\u002Fdsf-debian).\n\nIssues relating to packaging (\"installation does not work\", \"version is out of date\", etc.) should be directed to those packages' repositories\u002Fissue trackers where applicable.\n\n## ✨ Usage\n\n### Git\n\nConfigure git to use `diff-so-fancy` for all diff output:\n\n```shell\ngit config --global core.pager \"diff-so-fancy | less --tabs=4 -RF\"\ngit config --global interactive.diffFilter \"diff-so-fancy --patch\"\n```\n\n### Diff\n\nUse `-u` with `diff` for unified output, and pipe the output to `diff-so-fancy`:\n\n```shell\ndiff -u file_a file_b | diff-so-fancy\n```\n\nWe also support recursive mode with `-r` or `--recursive`\n\n```shell\ndiff --recursive -u \u002Fpath\u002Ffolder_a \u002Fpath\u002Ffolder_b | diff-so-fancy\n```\n\n## ⚒️ Options\n\n### markEmptyLines\n\nColorize the first block of an empty line. (Default: true)\n\n```shell\ngit config --bool --global diff-so-fancy.markEmptyLines false\n```\n\n### changeHunkIndicators\n\nSimplify Git header chunks to a human readable format. (Default: true)\n\n```shell\ngit config --bool --global diff-so-fancy.changeHunkIndicators false\n```\n\n### stripLeadingSymbols\n\nRemove the `+` or `-` symbols at start of each diff line. (Default: true)\n\n```shell\ngit config --bool --global diff-so-fancy.stripLeadingSymbols false\n```\n\n### useUnicodeRuler\n\nUse Unicode to draw the ruler lines. Setting this to false will use ASCII\ninstead. (Default: true)\n\n```shell\ngit config --bool --global diff-so-fancy.useUnicodeRuler false\n```\n\n### rulerWidth\n\nrulerWidth sets the width of the ruler lines. (Default: screen width)\n\n```shell\ngit config --global diff-so-fancy.rulerWidth 80\n```\n\n### shortHeaders\n\nSimplify the header inforation to a *single* line for filename and line\nnumber. (Default false)\n\n```shell\ngit config --global diff-so-fancy.shortHeaders true\n```\n\n### semIntegration\n\nInclude the summary from [sem](https:\u002F\u002Fgithub.com\u002FAtaraxy-Labs\u002Fsem) in the header\nfor each changed file. (Default false)\n\n```shell\ngit config --global diff-so-fancy.semIntegration true\n```\n\n## 👨 The diff-so-fancy team\n\n| Person                | Role             |\n| --------------------- | ---------------- |\n| @scottchiefbaker      | Project lead     |\n| @OJFord               | Bug triage       |\n| @GenieTim             | Travis OSX fixes |\n| @AOS                  | Debian packager  |\n| @Stevemao\u002F@Paul Irish | NPM release team |\n\n## 🧬 Contributing\n\nPull requests are quite welcome, and should target the\n[`next` branch](https:\u002F\u002Fgithub.com\u002Fso-fancy\u002Fdiff-so-fancy\u002Ftree\u002Fnext). We are also\nlooking for any feedback or ideas on how to make `diff-so-fancy` even *fancier*.\n\n### Other documentation\n\n* [Pro-tips for advanced users](docs\u002Fpro-tips.md)\n* [Reporting Bugs](docs\u002Freporting-bugs.md)\n* [Hacking and Testing](docs\u002Fhacking-and-testing.md)\n* [History](docs\u002Fhistory.md)\n\n## 🔃 Alternatives\n\n* [Delta](https:\u002F\u002Fgithub.com\u002Fdandavison\u002Fdelta)\n* [Lazygit](https:\u002F\u002Fgithub.com\u002Fjesseduffield\u002Flazygit) with diff-so-fancy [integration](https:\u002F\u002Fgithub.com\u002Fjesseduffield\u002Flazygit\u002Fblob\u002Fmaster\u002Fdocs\u002FCustom_Pagers.md#diff-so-fancy)\n* [difftastic](https:\u002F\u002Fgithub.com\u002FWilfred\u002Fdifftastic)\n\n## 🏛️ License\n\nMIT\n","`diff-so-fancy` 是一个使代码差异变得易于人类阅读的工具，旨在提高代码质量和加快缺陷检测速度。它通过美化 Git 的 diff 输出，如突出显示更改块、简化头部信息等，使得开发者能更直观地理解每次提交的具体改动。该项目使用 Perl 语言编写，并提供了多种配置选项来定制显示效果，比如是否标记空行、改变块指示符样式以及使用 Unicode 绘制分隔线等。适用于日常开发中需要频繁审查代码变更的场景，能够显著提升团队协作效率和代码审查体验。",2,"2026-06-11 03:34:20","high_star"]