{"id":26128963,"url":"https://github.com/your-tools/skyspell","last_synced_at":"2025-04-13T18:22:07.008Z","repository":{"id":37972321,"uuid":"506385433","full_name":"your-tools/skyspell","owner":"your-tools","description":"Fast and handy spell checker for the command line","archived":false,"fork":false,"pushed_at":"2025-03-01T13:35:02.000Z","size":1258,"stargazers_count":9,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T20:56:06.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/your-tools.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-22T19:47:52.000Z","updated_at":"2025-03-18T17:00:41.000Z","dependencies_parsed_at":"2024-10-20T17:49:19.647Z","dependency_job_id":null,"html_url":"https://github.com/your-tools/skyspell","commit_stats":{"total_commits":624,"total_committers":2,"mean_commits":312.0,"dds":"0.0016025641025640969","last_synced_commit":"6d51373a445f276edcea2988b763a9c029c9fdee"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/your-tools%2Fskyspell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/your-tools%2Fskyspell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/your-tools%2Fskyspell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/your-tools%2Fskyspell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/your-tools","download_url":"https://codeload.github.com/your-tools/skyspell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248759134,"owners_count":21157096,"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":"2025-03-10T19:29:37.039Z","updated_at":"2025-04-13T18:22:06.983Z","avatar_url":"https://github.com/your-tools.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# skyspell\n\nA fast and handy spell checker for the command line.\n\n## Features\n\n* Handy command line interface\n* Leverages the excellent [enchant](https://abiword.github.io/enchant/) library,\n  so compatible with existing providers and dictionaries\n* Hand-made tokenizer, which means\n   * it can parse `camelCase` , `snake_case` identifiers\n   * it knows how to skip URLs, sha1s and the like\n   * it handles abbreviations like in `HTTPError`\n   * ... and more!\n* Global ignore list\n* Ignore list per file extension (like `fn` for `.rs`), projects, or\n  relative path inside projects\n* Skip list per file names (like always skipping files named `Cargo.lock`)\n* Skip list per relative path inside a project (like `image.svg`)\n* All of the above are stored in a toml files, which makes it easy to backup/restore\n  your ignore rules, or use them for CI.\n* [Kakoune integration](https://github.com/your-tools/skyspell/blob/main/crates/kak/README.md)\n\n## Installation\n\nYou will need:\n\n* The C Enchant library installed, with its development headers\n* One of Enchant's backends (aspell, hunspell, nuspell)\n* A dictionary for the language you'll be using matching one of\n  the above backends (like `aspell-en` or `hunspell-fr`).\n* `cargo`\n\nThen run:\n\n```\n$ cargo install skyspell\n```\n\nand make sure `skyspell` is in your `PATH`.\n\n## Checking setup\n\nRun `skyspell suggest helllo`, and check that the word `hello`\nis suggested.\n\n## skyspell in action\n\nUsually, you will run `skyspell check` to start an interactive session,\nwhere you tell `skyspell` how to handle all the errors it finds in your\nproject files:\n\n```\n$ skyspell check\nLICENSE:9:2 Redistributions\nWhat to do?\ng : Add word to global ignore list\ne : Add word to ignore list for this extension\n...\nx : Skip this error\nq : Quit\n\u003e : a\n=\u003e Added 'Redistributions' to the global ignore list\n\nfoo.rs:32:2 fn\nWhat to do?\ng : Add word to global ignore list\ne : Add word to ignore list for this extension\n...\nq : Quit\nx : Skip this error\n\u003e : e\n=\u003e Added 'fn' to the ignore list for '.rs' files\n```\n\nIgnore rules will be automatically added to either:\n\n- `skyspell-ignore.toml`, the local file, if the word is ignored for the project or for a path\n- or in `~/.local/share/skyspell/global.toml`, the global file, if the word is ignored globally\n  or for a given extension.\n\nThat way you can share your ignore rules with other users, or back them up anyway you like.\n\nNote that skyspell will honor `XDG_DATA_DIR` when looking for the global file.\n\n## Excluding files from the check\n\nNote that by default, skyspell will try to read *every* file in the\nproject, or if the project is using git, every file not ignored by git.\nThis may include for instance binary files.\n\nTo prevent skyspell from trying to read those files, create a\n`skyspell-ignore.toml` file  at the root of your project containing\nsomething like this:\n\n```toml\npatterns = [\n   \"Cargo.lock\",\n   \"logo.png \",\n]\n```\n\n\n## Comparison with scspell\n\nI've borrowed heavily from [scspell](https://github.com/myint/scspell) -\nboth for the implementation and the command line behavior.\n\nNote that scspell does not depend on Enchant and so can not check\nLanguages other than English, and also cannot offer suggestions for\nspell errors.\n\nBut it's implementation is simpler and does not require to install a\nspell provider.\n\nOn the other hand, scspell can apply replacements in a file automatically,\na feature `skyspell` does not have.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyour-tools%2Fskyspell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyour-tools%2Fskyspell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyour-tools%2Fskyspell/lists"}