Hi there,
we've run into the following issue when running LTeX+ via the CLI on LaTeX files:
Describe the bug
When executing LTeX+ (CLI) locally on files that include the string ``$!$'', no output is shown.
We observed this behaviour in both small and large TeX files but could come up with the following minimal reproducer.
Steps to reproduce
For Linux x64 with LTeX+ v18.5.1:
- Download LTeX+ from here and unzip it.
- Download/create the below provided file
reproducer_flawed.tex.
- Download/create the below provided config file
minimal_config.json.
- Run LTeX+ on the file with the following command and arguments:
./ltex-cli-plus --client-configuration=minimal_config.json --verbose reproducer_flawed.tex
- LTeX+ should not print anything (after analysis has started) despite there being obvious grammar issues and report result code
0.
Here are more detailed instructions:
We used the following command on the files provided below:
./ltex-cli-plus --client-configuration=minimal_config.json --verbose reproducer_flawed.tex
With reproducer_flawed.tex we get no output (and result code 0) but when executing the same with reproducer_working.tex, LTeX+ correctly reports spelling issues (and result code 3).
Here's a complete script that downloads the corresponding LTeX+ version and showcases the issue with the config (minimal_config.json) and input files (reproducer_flawed.tex, reproducer_working.tex) from below:
Details
LTEX_VERSION="18.5.1"
PLATFORM="linux-x64"
LTEX_FULL_VERSION="${LTEX_VERSION}-${PLATFORM}"
LTEX_CLI_BINARY="ltex-ls-plus-${LTEX_VERSION}/bin/ltex-cli-plus"
wget "https://github.com/ltex-plus/ltex-ls-plus/releases/download/${LTEX_VERSION}/ltex-ls-plus-${LTEX_FULL_VERSION}.tar.gz"
tar xzf "ltex-ls-plus-${LTEX_FULL_VERSION}.tar.gz"
echo "LTeX+ VERSION: ${LTEX_VERSION}"
echo "PLATFORM: ${PLATFORM}"
echo "JAVA VERSION: $(java --version)"
echo "---"
echo "==========> NOT WORKING <=========="
echo "----------> NOT WORKING: TEX FILE <----------"
cat reproducer_flawed.tex
echo "----------> NOT WORKING: LTEX OUTPUT <----------"
$LTEX_CLI_BINARY --client-configuration=minimal_config.json --verbose reproducer_flawed.tex
RESULT="$?"
echo "======= RESULT CODE = $RESULT"
echo "==================================="
echo "==========> WORKING <=========="
echo "----------> WORKING: TEX FILE <----------"
cat reproducer_working.tex
echo "----------> WORKING: LTEX OUTPUT <----------"
$LTEX_CLI_BINARY --client-configuration=minimal_config.json --verbose reproducer_working.tex
RESULT="$?"
echo "======= RESULT CODE = $RESULT"
echo "==============================="
Expected behavior
The following is the expected output in the document (provided below: reproducer_working.tex) without the string:
reproducer_working.tex:3:5: info: 'is': Möglicher Tippfehler gefunden. [AUSTRIAN_GERMAN_SPELLER_RULE]
Das is falcsh
Use 'ist'
Use 'IS'
Use 'die'
Use 'in'
Use 'im'
reproducer_working.tex:3:8: info: 'falcsh': Möglicher Tippfehler gefunden. [AUSTRIAN_GERMAN_SPELLER_RULE]
Das is falcsh
Use 'falsch'
Use 'falls'
Use 'falsche'
Use 'flach'
Use 'Falsch'
===============================
Sample documents
reproducer_flawed.tex:
Details
\documentclass{article}
\begin{document}
Das is falcsh``$!$''
\end{document}
reproducer_working.tex:
Details
\documentclass{article}
\begin{document}
Das is falcsh
\end{document}
LTeX configuration
Details
minimal_config.json:
{
"ltex.language": "de-AT",
"ltex.trace.server": "verbose",
"ltex.ltex-ls.logLevel": "finest"
}
LTeX LS log
log of reproducer_flawed.tex:
Details
Jun 18, 2025 4:40:40 PM org.bsplines.lspcli.client.LspCliLanguageClient$Companion startLanguageServerProcess
INFO: Starting language server with command line '/home/skloibi/ltex-issue-debugging/reproducer/ltex-ls-plus-18.5.1/bin/./ltex-ls-plus' in directory '/home/skloibi/ltex-issue-debugging/reproducer/ltex-ls-plus-18.5.1/bin'...
Jun 18, 2025 4:40:40 PM org.bsplines.lspcli.client.LspCliLanguageClient initializeLanguageServer
INFO: Initializing language server...
Jun 18, 2025 4:40:47 PM org.bsplines.lspcli.client.Checker checkFile
INFO: Checking 'reproducer_flawed.tex'...
Jun 18, 2025 4:40:47 PM org.bsplines.lspcli.client.Checker checkFile
INFO: Waiting for diagnostics for file 'reproducer_flawed.tex'...
log of reproducer_working.tex:
Details
Jun 18, 2025 4:40:50 PM org.bsplines.lspcli.client.LspCliLanguageClient$Companion startLanguageServerProcess
INFO: Starting language server with command line '/home/skloibi/ltex-issue-debugging/reproducer/ltex-ls-plus-18.5.1/bin/./ltex-ls-plus' in directory '/home/skloibi/ltex-issue-debugging/reproducer/ltex-ls-plus-18.5.1/bin'...
Jun 18, 2025 4:40:50 PM org.bsplines.lspcli.client.LspCliLanguageClient initializeLanguageServer
INFO: Initializing language server...
Jun 18, 2025 4:41:00 PM org.bsplines.lspcli.client.Checker checkFile
INFO: Checking 'reproducer_working.tex'...
Jun 18, 2025 4:41:00 PM org.bsplines.lspcli.client.Checker checkFile
INFO: Waiting for diagnostics for file 'reproducer_working.tex'...
reproducer_working.tex:3:5: info: 'is': Möglicher Tippfehler gefunden. [AUSTRIAN_GERMAN_SPELLER_RULE]
Das is falcsh
Use 'ist'
Use 'IS'
Use 'die'
Use 'in'
Use 'im'
reproducer_working.tex:3:8: info: 'falcsh': Möglicher Tippfehler gefunden. [AUSTRIAN_GERMAN_SPELLER_RULE]
Das is falcsh
Use 'falsch'
Use 'falls'
Use 'falsche'
Use 'flach'
Use 'Falsch'
Version information
- Operating system: Linux x64 (Fedora 41)
- ltex-ls:
18.5.1
- Java:
openjdk 23.0.1
But we also observed the same with WSL on Windows 11 with Java version openjdk 21.0.6 as well as with the 18.6.0 nightly build of LTeX+.
Hi there,
we've run into the following issue when running LTeX+ via the CLI on LaTeX files:
Describe the bug
When executing LTeX+ (CLI) locally on files that include the string
``$!$'', no output is shown.We observed this behaviour in both small and large TeX files but could come up with the following minimal reproducer.
Steps to reproduce
For Linux x64 with LTeX+ v18.5.1:
reproducer_flawed.tex.minimal_config.json../ltex-cli-plus --client-configuration=minimal_config.json --verbose reproducer_flawed.tex0.Here are more detailed instructions:
We used the following command on the files provided below:
With
reproducer_flawed.texwe get no output (and result code0) but when executing the same withreproducer_working.tex, LTeX+ correctly reports spelling issues (and result code3).Here's a complete script that downloads the corresponding LTeX+ version and showcases the issue with the config (
minimal_config.json) and input files (reproducer_flawed.tex,reproducer_working.tex) from below:Details
Expected behavior
The following is the expected output in the document (provided below:
reproducer_working.tex) without the string:Sample documents
reproducer_flawed.tex:
Details
reproducer_working.tex:
Details
LTeX configuration
Details
minimal_config.json:
{ "ltex.language": "de-AT", "ltex.trace.server": "verbose", "ltex.ltex-ls.logLevel": "finest" }LTeX LS log
log of reproducer_flawed.tex:
Details
log of reproducer_working.tex:
Details
Version information
18.5.1openjdk 23.0.1But we also observed the same with WSL on Windows 11 with Java version
openjdk 21.0.6as well as with the18.6.0nightly build of LTeX+.