{"id":17120185,"url":"https://github.com/milouse/flycheck-grammalecte","last_synced_at":"2026-02-27T15:37:55.897Z","repository":{"id":40371247,"uuid":"139247668","full_name":"milouse/flycheck-grammalecte","owner":"milouse","description":"Fork of flycheck-grammalecte to support Grammalecte v0.6.4+ (Mirror)","archived":false,"fork":false,"pushed_at":"2023-06-05T10:36:57.000Z","size":522,"stargazers_count":11,"open_issues_count":9,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-24T02:31:38.366Z","etag":null,"topics":["flycheck","grammalecte","grammar-checker","spellchecker"],"latest_commit_sha":null,"homepage":"https://git.umaneti.net/flycheck-grammalecte/about/","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/milouse.png","metadata":{"files":{"readme":"README.org","changelog":"CHANGELOG.org","contributing":"CONTRIBUTING.org","funding":".github/FUNDING.yml","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},"funding":{"liberapay":"milouse","custom":["https://paypal.me/milouse"]}},"created_at":"2018-06-30T12:28:17.000Z","updated_at":"2024-11-27T23:35:20.000Z","dependencies_parsed_at":"2025-01-29T08:29:43.540Z","dependency_job_id":"5220ffb9-8dc5-4c46-b956-694a31ad23fb","html_url":"https://github.com/milouse/flycheck-grammalecte","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/milouse/flycheck-grammalecte","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milouse%2Fflycheck-grammalecte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milouse%2Fflycheck-grammalecte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milouse%2Fflycheck-grammalecte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milouse%2Fflycheck-grammalecte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milouse","download_url":"https://codeload.github.com/milouse/flycheck-grammalecte/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milouse%2Fflycheck-grammalecte/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29901842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T14:46:13.553Z","status":"ssl_error","status_checked_at":"2026-02-27T14:46:10.522Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["flycheck","grammalecte","grammar-checker","spellchecker"],"created_at":"2024-10-14T17:59:15.624Z","updated_at":"2026-02-27T15:37:55.890Z","avatar_url":"https://github.com/milouse.png","language":"Emacs Lisp","funding_links":["https://liberapay.com/milouse","https://paypal.me/milouse","https://liberapay.com/milouse/donate"],"categories":[],"sub_categories":[],"readme":"#+title: Flycheck-grammalecte\n\nIntegrate the french grammar and typography checker [[http://www.dicollecte.org/][Grammalecte]] with\n[[http://www.flycheck.org/][flycheck]] to automatically look for mistakes in your writings. It also\nprovides an easy way to find synonyms and antonyms for a given word (to\navoid repetitions for example). This package is of very little interest\nfor other languages.\n\n[[./demo.gif]]\n\n#+html: \u003ca href=\"https://liberapay.com/milouse/donate\"\u003e\u003cimg alt=\"Support using Liberapay\" src=\"https://img.shields.io/badge/Liberapay-Support_me-yellow?logo=liberapay\"/\u003e\u003c/a\u003e\n#+html: \u003ca href=\"https://paypal.me/milouse\"\u003e\u003cimg alt=\"Support using Paypal\" src=\"https://img.shields.io/badge/Paypal-Support_me-00457C?logo=paypal\u0026labelColor=lightgray\"/\u003e\u003c/a\u003e\n\nIf you like my work, you can help me a lot by giving me some tip, either\nthrough [[https://liberapay.com/milouse][Liberapay]] or [[https://paypal.me/milouse][Paypal]]. Thank you very much!\n\n* Installation\n\n[[https://stable.melpa.org/#/flycheck-grammalecte][file:https://stable.melpa.org/packages/flycheck-grammalecte-badge.svg]]\n\n[[https://melpa.org/#/flycheck-grammalecte][file:https://melpa.org/packages/flycheck-grammalecte-badge.svg]]\n\nThis package has a strong dependency on ~python3~. The installation of\nthe right version of python is up to you.\n\n/Flycheck grammalecte/ is available on MELPA stable and unstable. Please\nread the [[https://www.emacswiki.org/emacs/InstallingPackages][Installing Package documentation]] from the EmacsWiki to know\nmore how to install a package. A [[./MANUAL_INSTALL.org][manual installation procedure]] exists\ntoo if you prefer.\n\nTo enable it, simply add the following line somewhere in your GNU Emacs\nconfig file:\n\n#+begin_src emacs-lisp\n  (with-eval-after-load 'flycheck\n    (flycheck-grammalecte-setup))\n#+end_src\n\nFinally, the last expected step is to download the\n[[https://grammalecte.net/#download][CLI \u0026 Server upstream package]]. Just enter the following command:\n~M-x grammalecte-download-grammalecte~\n\n* Usage\n\nEnable /flycheck/ in a buffer, which major mode is declared in\n~flycheck-grammalecte-enabled-modes~, and voilà!\n\nTo correct a word or expression at point, you can use the command\n~flycheck-grammalecte-correct-error-at-point~, which is bind to\n~C-c ! g~ by default[fn:1]. You can also right-click on it and a menu\nwill popup to let you choose the better correction.\n\nIf you are looking for a better word at some place, you can use the\nfunction ~flycheck-grammalecte-find-synonyms-at-point~ (which will take\nthe word at point to find synonyms and antonyms) or the simpler\n~flycheck-grammalecte-find-synonyms~ (which will ask you for a word\nbefore doing the search). Pro tip: these functions are available even in\nbuffer, which major mode is not in the\n~flycheck-grammalecte-enabled-modes~ list.\n\n[fn:1] In fact, it is bind only to ~g~ in the ~flycheck-command-map~,\n       ~C-c !~ being the flycheck default prefix.\n\n* Configuration\n\n** Generic way\n\nAll options are accessibles with ~customize~. In GNU Emacs, enter\n~M-x customize~, then click on ~Editing~, then ~I18n~, and finally on\n~Flycheck Grammalecte~.\n\nYou can also set these variables in your GNU Emacs config\nfile. Configuration must occurs *before* calling\n~flycheck-grammalecte-setup~. In that case, don't forget to first\nrequire ~flycheck-grammalecte~ to prefill its variables. For example:\n\n#+begin_src emacs-lisp\n  (with-eval-after-load 'flycheck\n    (setq flycheck-grammalecte-report-esp nil)\n    (require 'flycheck-grammalecte)\n    (add-to-list 'flycheck-grammalecte-enabled-modes 'fountain-mode)\n    (grammalecte-download-grammalecte)\n    (flycheck-grammalecte-setup))\n#+end_src\n\nHere is a quick reference of the available variables:\n\n- ~flycheck-grammalecte-report-spellcheck~ :: If this variable is set to\n     ~nil~, Flycheck will *not* report spellchecking error. Only grammar\n     errors will be notified. ~nil~ is the default value as you should\n     better use /flyspell/ or /ispell/.\n- ~flycheck-grammalecte-report-grammar~ :: If this variable is set to\n     ~nil~, Flycheck will *not* report grammar error. Only spellchecking\n     errors will be notified. Default is ~t~.\n- ~flycheck-grammalecte-report-apos~ :: If this variable is set to\n     ~nil~, Flycheck will *not* report typographical apostrophes (’)\n     error. This can be useful when your main editor mode manage\n     apostrophe by itself (like LaTeX, org-mode export…). Default is\n     ~t~.\n- ~flycheck-grammalecte-report-nbsp~ :: If this variable is set to\n     ~nil~, Flycheck will *not* report non-breakable spaces\n     error. This can be useful when your main editor mode manage\n     spaces by itself (like LaTeX, org-mode export…). Default is ~t~.\n- ~flycheck-grammalecte-report-esp~ :: If this variable is set to\n     ~nil~, Flycheck will *not* report useless spaces and tabs error.\n     This can be useful when your main editor mode manage spaces by\n     itself (like LaTeX, org-mode export…). Default is ~t~.\n- ~flycheck-grammalecte-report-typo~ :: If this variable is set to\n     ~nil~, Flycheck will *not* report typographic glyphs errors such as\n     parenthesis or quotation marks mismatch, use of dots\n     instead of ellipsis, use of minus instead of dash, etc.\n     Default is ~t~.\n- ~flycheck-grammalecte-enabled-modes~ :: This variable stores the list\n     of major modes for which /flycheck-grammalecte/ must be\n     used. Default is ~'(latex-mode mail-mode markdown-mode message-mode\n     mu4e-compose-mode org-mode text-mode)~.\n     To add markdown mode use the following line for example:\n     ~(add-to-list 'flycheck-grammalecte-enabled-modes 'fountain-mode)~\n- ~flycheck-grammalecte-filters~ :: Patterns for which errors in\n     matching texts are ignored. See its documentation for\n     details. There is also a ~flycheck-grammalecte~filters-by-mode~\n     variable, which allow to enable filters only for a given mode.\n\n** With ~use-package~\n\nHere is the minimal working configuration:\n\n#+begin_src emacs-lisp\n  (use-package flycheck-grammalecte\n    :config (flycheck-grammalecte-setup))\n#+end_src\n\nHowever, you may want to configure it a little more, and be sure the\nGrammalecte python package is always here. Thus the following example\nillustrates a more complete scenario. In that one, please take note how the\n~flycheck-grammalecte-enabled-modes~ is customized in the ~:config~ section\ninstead of the ~:init~ section, to be sure the package has been loaded and\nthus the list already exists.\n\n#+begin_src emacs-lisp\n  (use-package flycheck-grammalecte\n    :hook (fountain-mode . flycheck-mode)\n    :custom\n    (flycheck-grammalecte-report-apos nil)\n    (flycheck-grammalecte-report-esp nil)\n    (flycheck-grammalecte-report-nbsp nil)\n    :config\n    (add-to-list 'flycheck-grammalecte-enabled-modes 'fountain-mode)\n    (grammalecte-download-grammalecte)\n    (flycheck-grammalecte-setup))\n#+end_src\n\n\n** Breaking changes\n\n*** Version 2.0\n\nThis version comes with a big refactoring, separating Flycheck only stuff from\nother usefull functions in two different lisp packages: ~flycheck-grammalecte~\nand ~grammalecte~. A long list of variables and functions, which were\npreviously prefixed by ~flycheck-grammalecte-~ are now prefixed with\n~grammalecte-~ and have been moved in a dedicated file. Here is the list of\nthe most common ones you may already have interacted with:\n\n- variables:\n  + ~flycheck-grammalecte--debug-mode~ renamed as ~grammalecte--debug-mode~\n  + ~flycheck-grammalecte--directory~ renamed as ~grammalecte--site-directory~\n  + ~flycheck-grammalecte-grammalecte-directory~ renamed as ~grammalecte-python-package-directory~\n  + ~flycheck-grammalecte-download-without-asking~ renamed as ~grammalecte-download-without-asking~\n  + ~flycheck-grammalecte-mode-map~ renamed as ~grammalecte-mode-map~\n- functions:\n  + ~flycheck-grammalecte--grammalecte-version~ renamed as ~grammalecte--version~\n  + ~flycheck-grammalecte--grammalecte-upstream-version~ renamed as ~grammalecte--upstream-version~\n  + ~flycheck-grammalecte-kill-ring-save~ renamed as ~grammalecte-kill-ring-save~\n  + ~flycheck-grammalecte-save-and-replace~ renamed as ~grammalecte-save-and-replace~\n  + ~flycheck-grammalecte-define~ renamed as ~grammalecte-define~\n  + ~flycheck-grammalecte-define-at-point~ renamed as ~grammalecte-define-at-point~\n  + ~flycheck-grammalecte-find-synonyms~ renamed as ~grammalecte-find-synonyms~\n  + ~flycheck-grammalecte-find-synonyms-at-point~ renamed as ~grammalecte-find-synonyms-at-point~\n  + ~flycheck-grammalecte-conjugate-verb~ renamed as ~grammalecte-conjugate-verb~\n  + ~flycheck-grammalecte-download-grammalecte~ renamed as ~grammalecte-download-grammalecte~\n\n*** Version 1.0\n\nAs you may have noticed, the most important change is the introduction\nof the function ~flycheck-grammalecte-setup~, which didn't exist\nbefore. If you don't add it to your init file, the checker won't be\nadded to Flycheck checkers list and will never start. Thus, you are\nrequired now to add the following line *after* your customization to\nthis package:\n\n#+begin_src emacs-lisp\n  (flycheck-grammalecte-setup)\n#+end_src\n\n*** Version 0.9\n\nThis version changes the default value of\n~flycheck-grammalecte-report-spellcheck~ to ~nil~, making now\ngrammalecte to *not* report spellchecking errors. If you like the old\nbehavior, you are now required to explicitely set this variable to ~t~.\n\n* Credits\n\nThe original package has been written by Guilhem Doulcier.\n\nThis package would have not existed without the nice work of the people\nbehinds the [[https://grammalecte.net/][Grammalecte]] and the [[http://crisco.unicaen.fr/des/synonymes/synonyme][“Dictionnaire Électronique des\nSynonymes”]] projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilouse%2Fflycheck-grammalecte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilouse%2Fflycheck-grammalecte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilouse%2Fflycheck-grammalecte/lists"}