{"id":13896111,"url":"https://github.com/f3fora/lua-nuspell","last_synced_at":"2025-04-22T20:14:57.398Z","repository":{"id":46219337,"uuid":"400817296","full_name":"f3fora/lua-nuspell","owner":"f3fora","description":"lua-nuspell is a set of Lua 5.x bindings for Nuspell spellchecking C++ library.","archived":false,"fork":false,"pushed_at":"2024-06-25T12:22:01.000Z","size":29,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-22T20:14:51.295Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/f3fora.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-28T14:48:34.000Z","updated_at":"2024-06-25T12:17:36.000Z","dependencies_parsed_at":"2025-03-04T07:31:55.524Z","dependency_job_id":"ca90305d-4493-434d-ba39-26a67da2a686","html_url":"https://github.com/f3fora/lua-nuspell","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3fora%2Flua-nuspell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3fora%2Flua-nuspell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3fora%2Flua-nuspell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3fora%2Flua-nuspell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f3fora","download_url":"https://codeload.github.com/f3fora/lua-nuspell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250316065,"owners_count":21410476,"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-08-06T18:02:40.016Z","updated_at":"2025-04-22T20:14:57.382Z","avatar_url":"https://github.com/f3fora.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# lua-nuspell\n\n`lua-nuspell` is a set of Lua 5.x bindings for [Nuspell](https://nuspell.github.io/) spellchecking C++ library.\n\n## About Nuspell\n\n\u003e Nuspell is a fast and safe spelling checker software program. It is designed for languages with rich morphology and complex word compounding.Nuspell is written in modern C++ and it supports Hunspell dictionaries.\n\u003e\n\u003e Main features of Nuspell spelling checker:\n\u003e\n\u003e - Provides software library and command-line tool.\n\u003e - Suggests high-quality spelling corrections.\n\u003e - Backward compatibility with Hunspell dictionary file format.\n\u003e - Up to 3.5 times faster than Hunspell.\n\u003e - Full Unicode support backed by ICU.\n\u003e - Twofold affix stripping (for agglutinative languages, like Azeri, Basque, Estonian, Finnish, Hungarian, Turkish, etc.).\n\u003e - Supports complex compounds (for example, Hungarian, German and Dutch).\n\u003e - Supports advanced features, for example: special casing rules (Turkish dotted i or German sharp s), conditional affixes, circumfixes, fogemorphemes, forbidden words, pseudoroots and homonyms.\n\u003e - Free and open source software. Licensed under GNU LGPL v3 or later.\n\n## Status\n\n[![Test](https://github.com/f3fora/lua-nuspell/actions/workflows/test.yaml/badge.svg)](https://github.com/f3fora/lua-nuspell/actions)\n\nTested only on Linux. Feedback wanted!\n\n## Requirements\n\n- nuspell\n\n## Installation\n\n### from [LuaRocks](https://luarocks.org/modules/f3fora/lua-nuspell)\n\n```\nluarocks install lua-nuspell\n```\n\n### from RockSpec\n\nClone and build.\n\n```\nluarocks make --local\n```\n\n### from Source\n\nClone and compile for example for Lua 5.1.\n\n```\ng++ -fPIC -shared -lnuspell -std=c++17 -I/usr/include/lua5.1/ -o nuspell.so src/nuspell.cxx\n```\n\n## Documentation\n\nDocumentation is available with\n\n```\nluarocks doc lua-nuspell\n```\n\nOtherwise, it can be generated with [LDoc](https://github.com/lunarmodules/LDoc) by running\n\n```\nldoc .\n```\n\nAnd the result can be viewed by opening `doc/index.html` in a web browser.\n\n### Minimal Example\n\n```lua\nlocal nuspell = require('nuspell')\nlocal unpack = table.unpack or unpack\nlocal word = 'Hello'\nlocal lang = 'en_US'\n\nlocal dirs = nuspell.get_default_dir_paths()\nlocal aff = nuspell.search_dirs_for_one_dict(dirs, lang)\nlocal dict = nuspell.Dictionary.load_aff_dic(aff)\n\nprint(dict:spell(word))\nprint(unpack(dict:suggest(word)))\n```\n\n## License\n\n`lua-nuspell` is licensed under the LGPL version 3 or later, see [LICENSE](LICENSE) for more\ninformation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff3fora%2Flua-nuspell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff3fora%2Flua-nuspell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff3fora%2Flua-nuspell/lists"}