{"id":32125230,"url":"https://github.com/washanhanzi/cargo-appraiser","last_synced_at":"2026-03-14T03:02:56.659Z","repository":{"id":258317951,"uuid":"837957436","full_name":"washanhanzi/cargo-appraiser","owner":"washanhanzi","description":"Quality of Life improvement for Cargo.toml","archived":false,"fork":false,"pushed_at":"2026-01-20T15:27:37.000Z","size":27189,"stargazers_count":25,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-20T19:45:15.917Z","etag":null,"topics":["cargo","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/washanhanzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-04T14:44:25.000Z","updated_at":"2026-01-20T15:30:21.000Z","dependencies_parsed_at":"2025-07-14T13:12:22.863Z","dependency_job_id":"017492e2-5ed8-4729-a709-09fa5c6c8b44","html_url":"https://github.com/washanhanzi/cargo-appraiser","commit_stats":null,"previous_names":["washanhanzi/cargo-appraiser"],"tags_count":57,"template":false,"template_full_name":null,"purl":"pkg:github/washanhanzi/cargo-appraiser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/washanhanzi%2Fcargo-appraiser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/washanhanzi%2Fcargo-appraiser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/washanhanzi%2Fcargo-appraiser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/washanhanzi%2Fcargo-appraiser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/washanhanzi","download_url":"https://codeload.github.com/washanhanzi/cargo-appraiser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/washanhanzi%2Fcargo-appraiser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30487225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-14T01:54:10.014Z","status":"online","status_checked_at":"2026-03-14T02:00:06.612Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cargo","rust","rust-lang"],"created_at":"2025-10-20T22:37:28.354Z","updated_at":"2026-03-14T03:02:56.650Z","avatar_url":"https://github.com/washanhanzi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cargo-appraiser\n\n![lsp release](https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fgithub.com%2Fwashanhanzi%2Fcargo-appraiser%2Fraw%2Frelease%2FCargo.toml\u0026query=%24.package.version\u0026prefix=v\u0026label=version\u0026labelColor=orange\u0026color=%2376FF03)\n![vscode extension release](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fwashanhanzi%2Fcargo-appraiser%2Fraw%2Fvscode%2Frelease%2Feditor%2Fcode%2Fpackage.json\u0026query=%24.version\u0026prefix=vscode%2Fv\u0026label=vscode%20extension\u0026labelColor=blue\u0026color=%2376FF03)\n\n[Architecture](ARCHITECTURE.md) | [Contributing](CONTRIBUTING.md)\n\n# What's this\n\n`cargo-appraiser` is an LSP server for your `Cargo.toml` files. It helps you understand the relationship between your declared dependencies (the desired state in `Cargo.toml`) and what `cargo` has actually resolved and put into your `Cargo.lock` file (the actual state). This insight allows you to quickly see if your dependencies are up-to-date, identify potential version conflicts, and navigate complex workspaces with greater clarity.\n\n# Features\n\n- Workspace\n  - hover on members will show the list of members\n  - go to definition on single non-glob member\n- Dependencies\n  - version decorations ![CleanShot 2025-01-14 at 11 55 18@2x](https://github.com/user-attachments/assets/bad3f5ae-6242-4998-9d14-6aed0ebd9845)\n  - hover on version will show the available versions ![CleanShot 2025-01-14 at 11 56 04@2x](https://github.com/user-attachments/assets/d04c73f3-9010-4ca4-b2d9-85af6afe4b59)\n  - hover on git dependency will show the git reference and commit ![CleanShot 2025-01-14 at 11 56 55@2x](https://github.com/user-attachments/assets/37b70a50-27bc-4ad5-a851-ffe338682c1c)\n  - hover on `features` will show available features, hover on a feature name\n    will show its values ![CleanShot 2025-01-14 at 11 57 37@2x](https://github.com/user-attachments/assets/df9fcdc7-9f7f-41e7-9fde-43f08fe7d7b4) ![CleanShot 2025-01-14 at 11 58 26@2x](https://github.com/user-attachments/assets/55b1d02b-d01f-486e-81af-282a8027be4d)\n  - code action on dependency's `version`  ![CleanShot 2025-01-14 at 12 00 57@2x](https://github.com/user-attachments/assets/ad4eab3c-d47c-415c-84c9-cc3253f15306)\n  - `cargo update` code action on dependency's `version` and `workspace`\n  - goto definition on workspace dependency\n- Audit\n  - Show warning and vulnerability information on dependencies. \u003cimg width=\"1726\" height=\"562\" alt=\"CleanShot 2025-09-13 at 23 40 54@2x\" src=\"https://github.com/user-attachments/assets/146261d6-9ad3-4e51-a7ed-a52f667d1880\" /\u003e\n  - This feature is enabled by default. To disable it, check the `audit.disabled` config.\n  - Requires the `cargo audit` command. Install it by running: `cargo install cargo-audit --locked`.\n  - For more details, see [cargo-audit](https://crates.io/crates/cargo-audit).\n\n# Config\n\n## VSCode specific config\n\n```jsonc\n{\n  // the default for light and highContrastLight\n  \"cargo-appraiser.decorationColor.light\": {\n      \"notParsed\": \"#808080\",\n      \"latest\": \"#006400\",\n      \"local\": \"#00008B\",\n      \"notInstalled\": \"#808080\",\n      \"mixedUpgradeable\": \"#B8860B\",\n      \"compatibleLatest\": \"#B8860B\",\n      \"nonCompatibleLatest\": \"#B8860B\",\n      \"yanked\": \"#FF0000\",\n      \"git\": \"#800080\"\n  },\n  // the default for dark and highContrast\n  \"cargo-appraiser.decorationColor.dark\": {\n      \"notParsed\": \"#808080\",\n      \"latest\": \"#006400\",\n      \"local\": \"#00008B\",\n      \"notInstalled\": \"#808080\",\n      \"mixedUpgradeable\": \"#FF8C00\",\n      \"compatibleLatest\": \"#FF8C00\",\n      \"nonCompatibleLatest\": \"#FF8C00\",\n      \"yanked\": \"#FF0000\",\n      \"git\": \"#800080\"\n  },\n  \"cargo-appraiser.decorationColor.highContrastLight\": {\n      //same as light\n  },\n  \"cargo-appraiser.decorationColor.highContrast\": {\n      //same as dark\n  },\n  // extra environment variables to pass to the cargo-appraiser server\n  \"cargo-appraiser.extraEnv\": {\n    \"RUST_LOG\": \"info\"\n  },\n  // custom path to the cargo-appraiser server binary. If set, this will be used instead of downloading from GitHub.\n  \"cargo-appraiser.serverPath\": \"\",\n  // specific version of cargo-appraiser server to use. Ignored if serverPath is set.\n  \"cargo-appraiser.serverVersion\": \"\"\n}\n```\n\n## lsp initialization options\n\nTo apply these config, you need to restart the lsp.\n\n### Examples\n\n- VSCode\n\n```jsonc\n{\n  \"cargo-appraiser.decorationFormatter\": {}, //see below\n  \"cargo-appraiser.audit\": {}, //see below\n  \"cargo-appraiser.cratesIo\": {} //see below\n}\n```\n\n- Zed\n\n```jsonc\n{\n    \"lsp\": {\n        \"cargo-appraiser\": {\n            \"initialization_options\": {\n                \"decorationFormatter\": {}, //see below\n                \"audit\": {}, //see below\n                \"cratesIo\": {} //see below\n            },\n            //you need to set both path and arguments if you want to use a custom binary. https://github.com/zed-industries/zed/issues/22775\n             \"binary\": {\n               //path take precedence over settings.version\n               \"path\": \"/path/to/cargo-appraiser\",\n               \"arguments\": [\"--renderer\", \"inlayHint\"]\n            },\n            \"settings\":{\n              //specify the version of cargo-appraiser server to use\n              \"version\": \"=0.3.0\"\n            }\n        }\n    }\n}\n\n```\n\n### Default values\n\n```jsonc\n{\n  /// the formatter has 7 fields:\n  /// latest: the dependency has the latest version installed\n  /// local: the dependency is a local path dependency\n  /// not_resolved: the dependency is not resolved (platform mismatch or not used by any member)\n  /// loading: the dependency is loading\n  /// mixed_upgradeable: the installed version has an compatible upgrade, but the latest version is not compatible with the current version requirement\n  /// compatible_latest: the installed version can update to latest version\n  /// noncompatible_latest: the installed version can't upate to latest version and there is no compatible upgrade\n  /// yanked: the installed version is yanked\n  /// git: the dependency is a git dependency, support {{ref}}, {{commit}} template strings\n  ///\n  /// a dependency is in `waiting` state for 2 possible reasons:\n  /// 1. wait for `cargo` to run. `Cargo.toml` is not saved, so `cargo` haven't picked up the change.\n  /// 2. wait for `cargo` to finish. `cargo` is running in process to resolve the dependency.\n  ///\n  /// each field's value may has 3 template strings:\n  /// - installed: the installed version\n  /// - latest_matched: the latest compatible version\n  /// - latest: the latest version, the latest version may or may not be compatilbe with the version requirement\n  ///\n  /// the default formatter is:\n  \"decorationFormatter\": {\n    \"latest\": \"✅ {{installed}}\",\n    \"local\": \"Local\",\n    \"not_resolved\": \"Not Resolved\",\n    \"waiting\": \"Waiting...\",\n    \"mixed_upgradeable\": \"🚀🔒 {{installed}} -\u003e {{latest_matched}},  {{latest}}\",\n    \"compatible_latest\": \"🚀 {{installed}} -\u003e {{latest}}\",\n    \"noncompatible_latest\": \"🔒 {{installed}}, {{latest}}\",\n    \"yanked\": \"❌ yanked {{installed}}, {{latest_matched}}\",\n    \"git\": \"🐙 {{commit}}\"\n  },\n  \"audit\":{\n    \"disabled\": false,\n    // \"warning\" will show warning and vulnerability\n    // \"vulnerability\" will only show vulnerability\n    \"level\": \"warning\"\n  },\n  // crates.io URL configuration\n  // - not provided: use default URL\n  // - empty string \"\": disable the feature\n  // - non-empty string: use custom URL (trailing slash will be removed)\n  \"cratesIo\": {\n    \"sparseIndexUrl\": \"https://index.crates.io\",\n    \"apiUrl\": \"https://crates.io/api/v1/crates\"\n  }\n}\n```\n\n# Supported Editors\n\n## [VS Code](https://marketplace.visualstudio.com/items?itemName=washan.cargo-appraiser)\n\nVSCode is the main supported editor.\n\n## [Zed](https://github.com/washanhanzi/zed-cargo-appraiser)\n\nEnable `inlay_hints` in settings.\n\n```jsonc\n\"inlay_hints\": {\n \"enabled\": true\n}\n```\n\n## [Vim](https://github.com/washanhanzi/cargo-appraiser.nvim)\n\nVim has minimal support for now.\n\n# Troubleshooting\n\n## macOS Gatekeeper\n\nIf you manually downloaded the LSP binary (e.g., from GitHub releases via a browser), macOS Gatekeeper may block it, causing a `SIGKILL` error.\n\nTo fix this, remove the quarantine attribute from the binary:\n\n```bash\nxattr -d com.apple.quarantine \u003cpath-to-binary\u003e\n```\n\n## Default LSP Binary Paths\n\n**VS Code:**\n\n```\n~/Library/Application Support/Code/User/globalStorage/washan.cargo-appraiser/cargo-appraiser-v\u003cversion\u003e/cargo-appraiser\n```\n\n**Zed:**\n\n```\n~/Library/Application Support/Zed/extensions/work/cargo-appraiser/cargo-appraiser-\u003cversion\u003e/cargo-appraiser\n```\n\n# Thanks to\n\n- [taplo](https://github.com/tamasfe/taplo)\n- [rust analyzer](https://github.com/rust-lang/rust-analyzer)\n- [cargo](https://github.com/rust-lang/cargo)\n- [rustsec](https://github.com/rustsec/rustsec)\n- [cargotom](https://github.com/frederik-uni/cargotom)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwashanhanzi%2Fcargo-appraiser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwashanhanzi%2Fcargo-appraiser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwashanhanzi%2Fcargo-appraiser/lists"}