From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Nasser Alkmim Newsgroups: gmane.emacs.devel Subject: Re: Grammar checking Date: Fri, 31 Mar 2023 10:40:28 +0200 Message-ID: <86jzyxxqir.fsf@gmail.com> References: <87sfdnyuxc.fsf@posteo.de> <83sfdl2z26.fsf@gnu.org> <58158ae49808189da7b2@heytings.org> <83mt3t2xz1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2259"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Gregory Heytings , rms@gnu.org, m.eliachevitch@posteo.de, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Mar 31 12:59:55 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1piCU6-0000Hl-BP for ged-emacs-devel@m.gmane-mx.org; Fri, 31 Mar 2023 12:59:54 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1piCTi-0002j4-Sk; Fri, 31 Mar 2023 06:59:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piAJL-00061Z-QR for emacs-devel@gnu.org; Fri, 31 Mar 2023 04:40:39 -0400 Original-Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1piAJH-00089j-41; Fri, 31 Mar 2023 04:40:39 -0400 Original-Received: by mail-wm1-x32d.google.com with SMTP id n10-20020a05600c4f8a00b003ee93d2c914so14513389wmq.2; Fri, 31 Mar 2023 01:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680252030; x=1682844030; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=SLMTQmdc9iLrnNM/uhhjonA7a9dL1yaOyUjErpYJqRo=; b=kblboY9Cw6Xe398QNfrrIRVKT9EKLtUwA3u12U/dpgneBUr8hwMnZir+SBz82lF0xb 6LhY7ORTP6EyND6spmK/O7DVZRFxkkJMoiC1GwI/I6oHGEC2jpGPe5ajO+m/U9Ou3k8Z FnqjhcH1AFaWdWS9Vue+p0EthGmhWG/4XOyQB4g85hNXANn5TQTPTheTgVaS+GqlOuEV 5EcuZBGgxLNt2uc9Atha7QaVtIAyCoqD8bTrdVCfKVN4n3u6ozYTEKy+ygcG8ndyLfKf 3MnpZYtLxf9PIsz7sycmeZM/aHu+NXOjsP9nl92R9OpukYHLK24uD6m6duZurqr1E7O6 wvaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680252030; x=1682844030; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SLMTQmdc9iLrnNM/uhhjonA7a9dL1yaOyUjErpYJqRo=; b=zz9dDjvpr86F1f76sHHM+yB5XyA0rzsrG32Kwxz4lp1/9UfMxXUd4qULUiQqiXLgjD viP2xuJrZiCbH3zH2c4zGAVZ2L5/0mccroKe3HCNLmpWDcjFI+F+/VcfT17zH31C+Xpg W80Nflbo96vz2bb+8bao/bcR/xXszMeKbbYz09wMGpj5Lr3ZMff3h/eH41KSf3etAslj ssZeiz0p3JSr+jgw/MZfEXt7bJGcJkfq0aVpqUxHxYTo/YyLI6dIqSv71LjMSJzKhlxf QcMggXT2CJK5FPVquYEvC4Sg5xJyhm+BTH4BcQ/8pmar36yTXhW3kP584cVGqWvVS3xx KUKA== X-Gm-Message-State: AAQBX9dbfzOL9EPzZ8bCd5ERAqqiRcoa0Sl8YA4po66vO25qlGohUPlJ ZtWLyptYJAau+4mdz2Vih+hBerqt3icR/A== X-Google-Smtp-Source: AKy350brc2KEl+evkSXx0ETd9RLaIYDl/NaMSUeN+7dSGp8Xmfm2TCiodUA2nLGl6ICOAtHmdPpO5w== X-Received: by 2002:a7b:ca50:0:b0:3eb:38b0:e757 with SMTP id m16-20020a7bca50000000b003eb38b0e757mr6557820wml.10.1680252030385; Fri, 31 Mar 2023 01:40:30 -0700 (PDT) Original-Received: from ryzen-ms7c37 (pc174-c842.uibk.ac.at. [138.232.83.174]) by smtp.gmail.com with ESMTPSA id 5-20020a05600c228500b003e91b9a92c9sm1922920wmf.24.2023.03.31.01.40.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Mar 2023 01:40:29 -0700 (PDT) In-Reply-To: <83mt3t2xz1.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 31 Mar 2023 10:15:14 +0300") Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=nasser.alkmim@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 31 Mar 2023 06:59:27 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:304906 Archived-At: Eli Zaretskii writes: >> Date: Fri, 31 Mar 2023 07:10:11 +0000 >> From: Gregory Heytings >> cc: rms@gnu.org, m.eliachevitch@posteo.de, emacs-devel@gnu.org >> >> > As an aside, a technology I would like to see in Emacs is grammar >> > checking. Last I looked, there are no free grammar-checking libraries >> > or services out there, even just for the English language. But if >> > that's no longer true, then adding such capabilities to Emacs will be >> > very welcome, I think, since word-based spell-checking is clearly not >> > enough these days. >> >> I think that's no longer true, LanguageTool is available (and has been for >> ~20 years): https://github.com/languagetool-org/languagetool . But it's >> written in Java... > > Thanks. Maybe someone will figure out how to integrate this with > Emacs. > > I tried a couple of grammar checkers in Emacs, integrated via Flymake and Eglot. The one that works best for me is this Grammarly language server [1]. Best in terms of diagnostics. Some users may find it too intrusive, so it may be a personal preference thing. However, it is not usable for larger buffers because it is too slow. Maybe some narrowing functionality can help. Also, there may be other implications regarding using Grammarly. The LanguageTool language server is available as well, but It is not as effective as Grammarly to catch mistakes and offer suggestions. [0] https://github.com/emacs-languagetool/flymake-languagetool [1] https://github.com/emacs-grammarly/eglot-grammarly -- Nasser Alkmim +43 677 6408 9171