vscode-ltex
vscode-ltex copied to clipboard
Make the extension work with Rust's module-level documentation comments
Describe the bug
Module-level doc comments in Rust (starting with //!
) do not work with the extension.
Steps to reproduce Steps to reproduce the behavior:
- Type a module-level document at the start of a rust file
- Make a typo. The typo is not detected.
- Replace
//!
with//
. The typo is detected.
Expected behavior The extension works with Rust's module-level comments.
Sample document If the bug occurs for a specific document (e.g. LaTeX), please paste it here. If your document is very long or confidential, please create and attach a smaller example for which the bug still occurs so that we can reproduce it.
//! Defines the operations that can be performed on a collection of courses stored by the student.
//!
//! A course library (the term Trane library will be used interchangably) is a collection of courses
//! that the student wishes to practice together. Courses, lessons, and exercises are defined by
//! their manifest files (see data.rs).
use std::{fs::File, io::BufReader, path::Path, sync::Arc};
use anyhow::{anyhow, ensure, Result};
use parking_lot::RwLock;
use serde::de::DeserializeOwned;
use ustr::{Ustr, UstrMap};
use walkdir::{DirEntry, WalkDir};
use crate::{
data::{CourseManifest, ExerciseManifest, LessonManifest, NormalizePaths, UnitType},
graph::{InMemoryUnitGraph, UnitGraph},
};
[... truncated]
LTeX configuration
Please paste all configuration settings starting with ltex.
from your settings.json
. You can help us by temporarily removing some irrelevant settings from your settings.json
and see if the bug still occurs.
{
"enabled": [
"bibtex",
"context",
"context.tex",
"html",
"latex",
"markdown",
"org",
"restructuredtext",
"rust"
],
"language": "en-US",
"dictionary": {},
"disabledRules": {
"en-US": [
"ENGLISH_WORD_REPEAT_BEGINNING_RULE"
]
},
"enabledRules": {},
"hiddenFalsePositives": {},
"bibtex": {
"fields": {}
},
"latex": {
"commands": {},
"environments": {}
},
"markdown": {
"nodes": {}
},
"configurationTarget": {
"dictionary": "workspaceFolder",
"disabledRules": "user",
"hiddenFalsePositives": "user"
},
"additionalRules": {
"enablePickyRules": true,
"motherTongue": "",
"languageModel": "",
"neuralNetworkModel": "",
"word2VecModel": ""
},
"languageToolHttpServerUri": "",
"languageToolOrg": {
"username": "",
"apiKey": ""
},
"ltex-ls": {
"path": "",
"logLevel": "fine",
"languageToolHttpServerUri": "",
"languageToolOrgUsername": "",
"languageToolOrgApiKey": ""
},
"java": {
"path": "",
"initialHeapSize": 64,
"maximumHeapSize": 512
},
"sentenceCacheSize": 2000,
"completionEnabled": false,
"diagnosticSeverity": "information",
"checkFrequency": "edit",
"clearDiagnosticsWhenClosingFile": true,
"statusBarItem": false,
"trace": {
"server": "verbose"
}
}
"LTeX Language Server" log file
First, reproduce the bug. Then, go to View
→ Output
and select LTeX Language Server
in the drop-down list. Paste this log here:
[... truncated]
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nsdfasdfk s asdfsdafsdf.\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesson "... (truncated to 100 characters)
Aug 25, 2022 9:08:55 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 14 rule matches
Aug 25, 2022 9:08:55 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nsdfasdfk sds asdfsdafsdf.\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesso"... (truncated to 100 characters)
Aug 25, 2022 9:08:55 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 15 rule matches
Aug 25, 2022 9:09:48 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFO: Unsupported notification method: $/setTrace
Aug 25, 2022 9:09:48 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe score used by students to evaluate their mastery of a particular exercise after a trial.\nMore"... (truncated to 100 characters)
Aug 25, 2022 9:09:48 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 0 rule matches
Aug 25, 2022 9:09:48 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nsdfasdfk sds asdfsdafsdf.\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesso"... (truncated to 100 characters)
Aug 25, 2022 9:09:48 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 15 rule matches
Aug 25, 2022 9:09:48 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:09:48 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 9 rule matches
Aug 25, 2022 9:10:10 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFO: Unsupported notification method: $/setTrace
Aug 25, 2022 9:10:10 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe score used by students to evaluate their mastery of a particular exercise after a trial.\nMore"... (truncated to 100 characters)
Aug 25, 2022 9:10:10 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 0 rule matches
Aug 25, 2022 9:10:10 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nsdfasdfk sds asdfsdafsdf.\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesso"... (truncated to 100 characters)
Aug 25, 2022 9:10:10 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 15 rule matches
Aug 25, 2022 9:10:10 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:10:10 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 9 rule matches
Aug 25, 2022 9:10:17 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFO: Unsupported notification method: $/setTrace
Aug 25, 2022 9:10:17 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe score used by students to evaluate their mastery of a particular exercise after a trial.\nMore"... (truncated to 100 characters)
Aug 25, 2022 9:10:17 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 0 rule matches
Aug 25, 2022 9:10:17 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nsdfasdfk sds asdfsdafsdf.\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesso"... (truncated to 100 characters)
Aug 25, 2022 9:10:17 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 15 rule matches
Aug 25, 2022 9:10:17 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:10:17 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 9 rule matches
Aug 25, 2022 9:10:35 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:10:35 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 24 rule matches
Aug 25, 2022 9:10:35 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:10:35 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 24 rule matches
Aug 25, 2022 9:10:39 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:10:39 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 24 rule matches
Aug 25, 2022 9:10:47 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nDefines and implements the asdfsdfsdfkjsks ksajfkasjdf kjsdf kskskkkkk data structures used to sc"... (truncated to 100 characters)
Aug 25, 2022 9:10:47 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 28 rule matches
Aug 25, 2022 9:10:48 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nDefines and implements the asdfsdfsdfkjsks ksajfkasjdf kjsdf kskskkkkk data structures used to sc"... (truncated to 100 characters)
Aug 25, 2022 9:10:48 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 31 rule matches
Aug 25, 2022 9:10:50 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nDefines and implements the asdfsdfsdfkjsks ksajfkasjdf kjsdf kskskkkkk data structures used to sc"... (truncated to 100 characters)
Aug 25, 2022 9:10:50 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 28 rule matches
Aug 25, 2022 9:10:50 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:10:50 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 24 rule matches
Aug 25, 2022 9:11:01 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesson manifests.\n\n\nThe file name"... (truncated to 100 characters)
Aug 25, 2022 9:11:01 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 18 rule matches
Aug 25, 2022 9:11:08 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesson manifests.\n\n\nThe file name"... (truncated to 100 characters)
Aug 25, 2022 9:11:08 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 18 rule matches
Aug 25, 2022 9:11:08 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify
INFO: Unsupported notification method: $/setTrace
Aug 25, 2022 9:11:08 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe score used by students to evaluate their mastery of a particular exercise after a trial.\nMore"... (truncated to 100 characters)
Aug 25, 2022 9:11:08 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 20 rule matches
Aug 25, 2022 9:11:08 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe file name for all course manifests.\n\n\nThe file name for all lesson manifests.\n\n\nThe file name"... (truncated to 100 characters)
Aug 25, 2022 9:11:09 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 14 rule matches
Aug 25, 2022 9:11:09 PM org.bsplines.ltexls.server.DocumentChecker logTextToBeChecked
FINE: Checking the following text in language 'en-US' via LanguageTool: "\n\n\nThe batch size will be multiplied by this factor in order to expand the range of the search and\na"... (truncated to 100 characters)
Aug 25, 2022 9:11:09 PM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment
FINE: Obtained 21 rule matches
"LTeX Language Client" log file
First, set the ltex.trace.server
setting in your settings.json
to "verbose"
. Then, reload the VS Code window and reproduce the bug. Go to View
→ Output
and select LTeX Language Client
in the drop-down list. Paste this log here (note: it will contain your checked document):
[... truncated]
"source": "LTeX",
"message": "'json': Possible spelling mistake found."
},
{
"range": {
"start": {
"line": 74,
"character": 7
},
"end": {
"line": 74,
"character": 19
}
},
"severity": 3,
"code": "WORD_CONTAINS_UNDERSCORE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/WORD_CONTAINS_UNDERSCORE?lang=en-US"
},
"source": "LTeX",
"message": "An underscore (_) within a word is atypical (except in technical contexts, nicknames, etc.). Make sure that the word 'EXERCISE_DIR' is correct."
},
{
"range": {
"start": {
"line": 75,
"character": 26
},
"end": {
"line": 75,
"character": 30
}
},
"severity": 3,
"code": "MORFOLOGIK_RULE_EN_US",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/MORFOLOGIK_RULE_EN_US?lang=en-US"
},
"source": "LTeX",
"message": "'json': Possible spelling mistake found."
},
{
"range": {
"start": {
"line": 76,
"character": 6
},
"end": {
"line": 76,
"character": 9
}
},
"severity": 3,
"code": "ELLIPSIS",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/ELLIPSIS?lang=en-US"
},
"source": "LTeX",
"message": "Consider using the typographical ellipsis character here instead."
}
]
}
[Trace - 9:11:09 PM] Received request 'window/workDoneProgress/create - (169)'.
Params: {
"token": "{\"uri\":\"file:///home/martinmr/workspace/trane/src/scheduler.rs\",\"operation\":\"checkDocument\",\"uuid\":\"ff72b651-9c2c-830b-12a6-313c53ab0c9c\"}"
}
[Trace - 9:11:09 PM] Sending response 'window/workDoneProgress/create - (169)'. Processing request took 0ms
No result returned.
[Trace - 9:11:09 PM] Received notification '$/progress'.
Params: {
"token": "{\"uri\":\"file:///home/martinmr/workspace/trane/src/scheduler.rs\",\"operation\":\"checkDocument\",\"uuid\":\"ff72b651-9c2c-830b-12a6-313c53ab0c9c\"}",
"value": {
"kind": "begin",
"title": "Checking document",
"cancellable": false,
"message": "file:///home/martinmr/workspace/trane/src/scheduler.rs"
}
}
[Trace - 9:11:09 PM] Received request 'workspace/configuration - (170)'.
Params: {
"items": [
{
"scopeUri": "file:///home/martinmr/workspace/trane/src/scheduler.rs",
"section": "ltex"
}
]
}
[Trace - 9:11:09 PM] Sending response 'workspace/configuration - (170)'. Processing request took 1ms
Result: [
{
"enabled": [
"bibtex",
"context",
"context.tex",
"html",
"latex",
"markdown",
"org",
"restructuredtext",
"rust"
],
"language": "en-US",
"dictionary": {},
"disabledRules": {
"en-US": [
"ENGLISH_WORD_REPEAT_BEGINNING_RULE"
]
},
"enabledRules": {},
"hiddenFalsePositives": {},
"bibtex": {
"fields": {}
},
"latex": {
"commands": {},
"environments": {}
},
"markdown": {
"nodes": {}
},
"configurationTarget": {
"dictionary": "workspaceFolder",
"disabledRules": "user",
"hiddenFalsePositives": "user"
},
"additionalRules": {
"enablePickyRules": true,
"motherTongue": "",
"languageModel": "",
"neuralNetworkModel": "",
"word2VecModel": ""
},
"languageToolHttpServerUri": "",
"languageToolOrg": {
"username": "",
"apiKey": ""
},
"ltex-ls": {
"path": "",
"logLevel": "fine",
"languageToolHttpServerUri": "",
"languageToolOrgUsername": "",
"languageToolOrgApiKey": ""
},
"java": {
"path": "",
"initialHeapSize": 64,
"maximumHeapSize": 512
},
"sentenceCacheSize": 2000,
"completionEnabled": false,
"diagnosticSeverity": "information",
"checkFrequency": "edit",
"clearDiagnosticsWhenClosingFile": true,
"statusBarItem": false,
"trace": {
"server": "verbose"
}
}
]
[Trace - 9:11:09 PM] Received request 'ltex/workspaceSpecificConfiguration - (171)'.
Params: {
"items": [
{
"scopeUri": "file:///home/martinmr/workspace/trane/src/scheduler.rs",
"section": "ltex"
}
]
}
[Trace - 9:11:09 PM] Sending response 'ltex/workspaceSpecificConfiguration - (171)'. Processing request took 19ms
Result: [
{
"dictionary": {
"auto": [],
"ar": [],
"ast-ES": [],
"be-BY": [],
"br-FR": [],
"ca-ES": [],
"ca-ES-valencia": [],
"da-DK": [],
"de": [],
"de-AT": [],
"de-CH": [],
"de-DE": [],
"de-DE-x-simple-language": [],
"el-GR": [],
"en": [],
"en-AU": [],
"en-CA": [],
"en-GB": [],
"en-NZ": [],
"en-US": [],
"en-ZA": [],
"eo": [],
"es": [],
"es-AR": [],
"fa": [],
"fr": [],
"ga-IE": [],
"gl-ES": [],
"it": [],
"ja-JP": [],
"km-KH": [],
"nl": [],
"nl-BE": [],
"pl-PL": [],
"pt": [],
"pt-AO": [],
"pt-BR": [],
"pt-MZ": [],
"pt-PT": [],
"ro-RO": [],
"ru-RU": [],
"sk-SK": [],
"sl-SI": [],
"sv": [],
"ta-IN": [],
"tl-PH": [],
"uk-UA": [],
"zh-CN": []
},
"disabledRules": {
"auto": [],
"ar": [],
"ast-ES": [],
"be-BY": [],
"br-FR": [],
"ca-ES": [],
"ca-ES-valencia": [],
"da-DK": [],
"de": [],
"de-AT": [],
"de-CH": [],
"de-DE": [],
"de-DE-x-simple-language": [],
"el-GR": [],
"en": [],
"en-AU": [],
"en-CA": [],
"en-GB": [],
"en-NZ": [],
"en-US": [
"ENGLISH_WORD_REPEAT_BEGINNING_RULE"
],
"en-ZA": [],
"eo": [],
"es": [],
"es-AR": [],
"fa": [],
"fr": [],
"ga-IE": [],
"gl-ES": [],
"it": [],
"ja-JP": [],
"km-KH": [],
"nl": [],
"nl-BE": [],
"pl-PL": [],
"pt": [],
"pt-AO": [],
"pt-BR": [],
"pt-MZ": [],
"pt-PT": [],
"ro-RO": [],
"ru-RU": [],
"sk-SK": [],
"sl-SI": [],
"sv": [],
"ta-IN": [],
"tl-PH": [],
"uk-UA": [],
"zh-CN": []
},
"enabledRules": {
"auto": [],
"ar": [],
"ast-ES": [],
"be-BY": [],
"br-FR": [],
"ca-ES": [],
"ca-ES-valencia": [],
"da-DK": [],
"de": [],
"de-AT": [],
"de-CH": [],
"de-DE": [],
"de-DE-x-simple-language": [],
"el-GR": [],
"en": [],
"en-AU": [],
"en-CA": [],
"en-GB": [],
"en-NZ": [],
"en-US": [],
"en-ZA": [],
"eo": [],
"es": [],
"es-AR": [],
"fa": [],
"fr": [],
"ga-IE": [],
"gl-ES": [],
"it": [],
"ja-JP": [],
"km-KH": [],
"nl": [],
"nl-BE": [],
"pl-PL": [],
"pt": [],
"pt-AO": [],
"pt-BR": [],
"pt-MZ": [],
"pt-PT": [],
"ro-RO": [],
"ru-RU": [],
"sk-SK": [],
"sl-SI": [],
"sv": [],
"ta-IN": [],
"tl-PH": [],
"uk-UA": [],
"zh-CN": []
},
"hiddenFalsePositives": {
"auto": [],
"ar": [],
"ast-ES": [],
"be-BY": [],
"br-FR": [],
"ca-ES": [],
"ca-ES-valencia": [],
"da-DK": [],
"de": [],
"de-AT": [],
"de-CH": [],
"de-DE": [],
"de-DE-x-simple-language": [],
"el-GR": [],
"en": [],
"en-AU": [],
"en-CA": [],
"en-GB": [],
"en-NZ": [],
"en-US": [],
"en-ZA": [],
"eo": [],
"es": [],
"es-AR": [],
"fa": [],
"fr": [],
"ga-IE": [],
"gl-ES": [],
"it": [],
"ja-JP": [],
"km-KH": [],
"nl": [],
"nl-BE": [],
"pl-PL": [],
"pt": [],
"pt-AO": [],
"pt-BR": [],
"pt-MZ": [],
"pt-PT": [],
"ro-RO": [],
"ru-RU": [],
"sk-SK": [],
"sl-SI": [],
"sv": [],
"ta-IN": [],
"tl-PH": [],
"uk-UA": [],
"zh-CN": []
}
}
]
[Trace - 9:11:09 PM] Received notification '$/progress'.
Params: {
"token": "{\"uri\":\"file:///home/martinmr/workspace/trane/src/scheduler.rs\",\"operation\":\"checkDocument\",\"uuid\":\"ff72b651-9c2c-830b-12a6-313c53ab0c9c\"}",
"value": {
"kind": "end"
}
}
[Trace - 9:11:09 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
"uri": "file:///home/martinmr/workspace/trane/src/scheduler.rs",
"diagnostics": [
{
"range": {
"start": {
"line": 38,
"character": 75
},
"end": {
"line": 38,
"character": 78
}
},
"severity": 3,
"code": "MORFOLOGIK_RULE_EN_US",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/MORFOLOGIK_RULE_EN_US?lang=en-US"
},
"source": "LTeX",
"message": "'lls': Possible spelling mistake found."
},
{
"range": {
"start": {
"line": 38,
"character": 79
},
"end": {
"line": 38,
"character": 84
}
},
"severity": 3,
"code": "ENGLISH_WORD_REPEAT_RULE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US"
},
"source": "LTeX",
"message": "Possible typo: you repeated a word"
},
{
"range": {
"start": {
"line": 38,
"character": 85
},
"end": {
"line": 38,
"character": 90
}
},
"severity": 3,
"code": "MORFOLOGIK_RULE_EN_US",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/MORFOLOGIK_RULE_EN_US?lang=en-US"
},
"source": "LTeX",
"message": "'sllll': Possible spelling mistake found."
},
{
"range": {
"start": {
"line": 39,
"character": 16
},
"end": {
"line": 39,
"character": 24
}
},
"severity": 3,
"code": "MORFOLOGIK_RULE_EN_US",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/MORFOLOGIK_RULE_EN_US?lang=en-US"
},
"source": "LTeX",
"message": "'asdfasdf': Possible spelling mistake found."
},
{
"range": {
"start": {
"line": 101,
"character": 19
},
"end": {
"line": 101,
"character": 28
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 181,
"character": 55
},
"end": {
"line": 181,
"character": 71
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 215,
"character": 18
},
"end": {
"line": 215,
"character": 25
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 221,
"character": 53
},
"end": {
"line": 221,
"character": 67
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 230,
"character": 41
},
"end": {
"line": 230,
"character": 55
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 236,
"character": 77
},
"end": {
"line": 236,
"character": 91
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 246,
"character": 86
},
"end": {
"line": 246,
"character": 100
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 288,
"character": 39
},
"end": {
"line": 288,
"character": 46
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 306,
"character": 80
},
"end": {
"line": 306,
"character": 91
}
},
"severity": 3,
"code": "MORFOLOGIK_RULE_EN_US",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/MORFOLOGIK_RULE_EN_US?lang=en-US"
},
"source": "LTeX",
"message": "'dpendencies': Possible spelling mistake found."
},
{
"range": {
"start": {
"line": 336,
"character": 27
},
"end": {
"line": 336,
"character": 37
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 350,
"character": 97
},
"end": {
"line": 351,
"character": 22
}
},
"severity": 3,
"code": "COMMA_COMPOUND_SENTENCE_2",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/COMMA_COMPOUND_SENTENCE_2?lang=en-US"
},
"source": "LTeX",
"message": "Use a comma before 'but' if it connects two independent clauses (unless they are closely connected and short)."
},
{
"range": {
"start": {
"line": 363,
"character": 33
},
"end": {
"line": 363,
"character": 35
}
},
"severity": 3,
"code": "NOW",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/NOW?lang=en-US"
},
"source": "LTeX",
"message": "Did you mean 'now' (=at this moment) instead of 'no' (negation)?"
},
{
"range": {
"start": {
"line": 364,
"character": 35
},
"end": {
"line": 364,
"character": 49
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 386,
"character": 24
},
"end": {
"line": 386,
"character": 34
}
},
"severity": 3,
"code": "ALL_OF_THE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/ALL_OF_THE?lang=en-US"
},
"source": "LTeX",
"message": "Consider using 'all the'."
},
{
"range": {
"start": {
"line": 386,
"character": 62
},
"end": {
"line": 386,
"character": 74
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
},
{
"range": {
"start": {
"line": 387,
"character": 24
},
"end": {
"line": 387,
"character": 27
}
},
"severity": 3,
"code": "COMMA_COMPOUND_SENTENCE_2",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/COMMA_COMPOUND_SENTENCE_2?lang=en-US"
},
"source": "LTeX",
"message": "Use a comma before 'so' if it connects two independent clauses (unless they are closely connected and short)."
},
{
"range": {
"start": {
"line": 469,
"character": 27
},
"end": {
"line": 469,
"character": 37
}
},
"severity": 3,
"code": "PASSIVE_VOICE",
"codeDescription": {
"href": "https://community.languagetool.org/rule/show/PASSIVE_VOICE?lang=en-US"
},
"source": "LTeX",
"message": "The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice."
}
]
}
[Trace - 9:11:09 PM] Sending request 'textDocument/codeAction - (142)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/course_library.rs"
},
"range": {
"start": {
"line": 37,
"character": 11
},
"end": {
"line": 37,
"character": 11
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:11:09 PM] Received response 'textDocument/codeAction - (142)' in 0ms.
Result: []
[Trace - 9:11:10 PM] Sending notification 'textDocument/didSave'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/course_library.rs"
}
}
[Trace - 9:16:22 PM] Sending request 'textDocument/codeAction - (143)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/scheduler.rs"
},
"range": {
"start": {
"line": 0,
"character": 0
},
"end": {
"line": 0,
"character": 0
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:16:22 PM] Received response 'textDocument/codeAction - (143)' in 3ms.
Result: []
[Trace - 9:16:23 PM] Sending request 'textDocument/codeAction - (144)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/scheduler.rs"
},
"range": {
"start": {
"line": 0,
"character": 3
},
"end": {
"line": 0,
"character": 3
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:16:23 PM] Received response 'textDocument/codeAction - (144)' in 1ms.
Result: []
[Trace - 9:16:27 PM] Sending request 'textDocument/codeAction - (145)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/course_library.rs"
},
"range": {
"start": {
"line": 0,
"character": 0
},
"end": {
"line": 0,
"character": 0
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:16:27 PM] Received response 'textDocument/codeAction - (145)' in 3ms.
Result: []
[Trace - 9:16:27 PM] Sending request 'textDocument/codeAction - (146)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/course_library.rs"
},
"range": {
"start": {
"line": 37,
"character": 11
},
"end": {
"line": 37,
"character": 11
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:16:27 PM] Received response 'textDocument/codeAction - (146)' in 3ms.
Result: []
[Trace - 9:16:29 PM] Sending request 'textDocument/codeAction - (147)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/course_library.rs"
},
"range": {
"start": {
"line": 0,
"character": 13
},
"end": {
"line": 0,
"character": 13
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:16:29 PM] Received response 'textDocument/codeAction - (147)' in 0ms.
Result: []
[Trace - 9:16:30 PM] Sending request 'textDocument/codeAction - (148)'.
Params: {
"textDocument": {
"uri": "file:///home/martinmr/workspace/trane/src/course_library.rs"
},
"range": {
"start": {
"line": 0,
"character": 13
},
"end": {
"line": 0,
"character": 13
}
},
"context": {
"diagnostics": []
}
}
[Trace - 9:16:30 PM] Received response 'textDocument/codeAction - (148)' in 1ms.
Result: []
2022-08-26T04:16:34.866Z Info: Creating bug report...
[Trace - 9:16:34 PM] Sending request 'workspace/executeCommand - (149)'.
Params: {
"command": "_ltex.getServerStatus",
"arguments": []
}
Version information List here the version information of the relevant software.
- Operating system: Linux (linux), x64, 5.10.102.1-microsoft-standard-WSL2
- VS Code: 1.70.2
- vscode-ltex: 13.1.0
- ltex-ls: 15.2.0
- Java: 11.0.12
Additional context/information You can add any other context or information about the problem here. e this sentence with the bug report from your clipboard.