{"id":20162590,"url":"https://github.com/zdharma-continuum/zsh-diff-so-fancy","last_synced_at":"2025-04-10T00:36:09.365Z","repository":{"id":42467354,"uuid":"423544374","full_name":"zdharma-continuum/zsh-diff-so-fancy","owner":"zdharma-continuum","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-06T14:16:13.000Z","size":24,"stargazers_count":6,"open_issues_count":2,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T02:21:57.232Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zdharma-continuum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-11-01T16:50:38.000Z","updated_at":"2024-07-29T16:17:43.000Z","dependencies_parsed_at":"2023-11-29T09:27:36.216Z","dependency_job_id":"85d29d1a-e4d2-4399-b5fa-b743fcebd05b","html_url":"https://github.com/zdharma-continuum/zsh-diff-so-fancy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzsh-diff-so-fancy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzsh-diff-so-fancy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzsh-diff-so-fancy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzsh-diff-so-fancy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zdharma-continuum","download_url":"https://codeload.github.com/zdharma-continuum/zsh-diff-so-fancy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247749960,"owners_count":20989714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T00:25:50.934Z","updated_at":"2025-04-10T00:36:09.351Z","avatar_url":"https://github.com/zdharma-continuum.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zsh-Diff-So-Fancy\n\nThe project [so-fancy/diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) is very interesting, however I find it\ndifficult to a) install it, b) hook it up to git.\n\nFor the a), I just like to install things as user, in home directory, not system-wide via package manager. So even if\nthe package exists (like it is in e.g. Homebrew for OS X, it has `diff-so-fancy`), I try to not use it. Think about\nremote shell accounts, is it good to ask every system administrator to install your favorite packages?\n\nWith this Zsh plugin, you simply add two lines to `.zshrc`:\n\n```zsh\nzplugin ice as\"program\" pick\"bin/git-dsf\"\nzplugin light zdharma-continuum/zsh-diff-so-fancy\n```\n\nThis will install `diff-so-fancy` on every account where you use Zshell, and automatically equip `git` with subcommand\n`dsf`. No need to use system package manager and to configure `git`. Of course, if you have the following standard line\nin your `.gitconfig`, it will still work normally:\n\n```\n[core]\n        pager = diff-so-fancy | less -FXRi\n```\n\n(because this plugin adds `diff-so-fancy` to `$PATH`).\n\nThink about Puppet or Chef, i.e. about declarative approach to system configuration. In this case `.zshrc` is like a\ndeclarative setup guarding you will have `diff-so-fancy` on your accounts.\n\n# A Few Details\n\n[so-fancy/diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) is cloned from Github as submodule. The plugin has\n`bin/git-dsf` script which adds subcommand `dsf` to git. That's basically everything needed: convenient way of\ninstalling (single Zsh plugin manager invocation), updating (Zsh plugin managers can easily update) and integrating with\n`git`.\n\n# Other plugin managers\n\n```zsh\n# Zplug\nzplug \"zdharma/zsh-diff-so-fancy\", as:command, use:\"bin/\"\n\n# Zgen\nzgen load zdharma/zsh-diff-so-fancy\n```\n\nWithout `as\"program\"`-like functionality the `.plugin.zsh` file picks up setup and simulates adding a command to system,\nso `Zgen` and other can work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdharma-continuum%2Fzsh-diff-so-fancy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzdharma-continuum%2Fzsh-diff-so-fancy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdharma-continuum%2Fzsh-diff-so-fancy/lists"}