Documentation

Commentary

`lsp-ltex-plus' is an `lsp-mode' client for LTeX+, a LanguageTool-based
grammar, spell, and style checker.  It brings professional-grade writing
feedback into Emacs for:

  * Markup and writing languages — LaTeX, Markdown, Org, RestructuredText,
    HTML, BibTeX, AsciiDoc, Typst, Quarto, Magit commit messages, plain
    text, and many others (checked by default).
  * Comments and string literals in 30+ programming languages — Python,
    C/C++, Rust, Java, JavaScript/TypeScript, Go, Ruby, … (opt-in via
    `lsp-ltex-plus-check-programming-languages').

Highlights:

  * Add-on integration — registers with `:add-on? t' and `:priority -1',
    so it runs concurrently with primary LSP servers (texlab, pyright,
    etc.) without competing for features such as Go-to-Definition or
    Completion.
  * Offline by default — the local `ltex-ls-plus' binary checks documents
    entirely on your machine, no network involved.  An optional remote
    LanguageTool server (with optional LanguageTool Premium credentials)
    is supported for users who want it.
  * Multilingual — every external setting is keyed by language code
    (`:en-US', `:de-DE', `:fr', …), so dictionaries, disabled rules,
    enabled rules, and hidden false-positives are tracked per language.
  * Persistent state — words you "add to dictionary", rules you disable,
    and false positives you hide are saved as plist files under
    `user-emacs-directory' and survive Emacs restarts.  User-level
    `:custom' entries seed the defaults and remain pristine (never
    mutated by the package at runtime).
  * Lazy loading — split into a tiny bootstrap file loaded at Emacs
    startup and a full client loaded only on first use, so installing
    the package costs essentially no startup time.
  * Simple setup — one call to `lsp-ltex-plus-enable-for-modes' from
    the `:init' block of `use-package' activates the client across
    every supported major mode.  Narrow the set with the `:restrict-to'
    or `:exclude' keywords, or add your own modes with `:extend-to',
    without editing `lsp-ltex-plus-major-modes'.  All settings are
    defcustoms under the `lsp-ltex-plus-' prefix, configurable via
    `:custom' or `M-x customize-group RET lsp-ltex-plus RET'.

Minimal setup with `use-package':

  (use-package lsp-ltex-plus
    :init (lsp-ltex-plus-enable-for-modes))

See the README at URL `https://github.com/ltex-plus/emacs-ltex-plus' for
full configuration, multi-language setup, performance tuning, and a
comparison with the older `lsp-ltex' package.

External dependencies:

  - `ltex-ls-plus' binary on `exec-path'.
  - Java runtime — platform-specific `ltex-ls-plus' releases include a
    bundled JRE; otherwise Java 21 or later must be installed.
  - Optional: LanguageTool.org account for premium rules.

Requires

Dependencies

Consumers

Reverse Dependencies

No reverse dependencies recorded.