扩展 Notepad++ 中的 Lua 语言设置以拼写检查也包含在 `[[ ... ]]` 中的内容
Extend Lua language settings in Notepad++ to spell-check also stuff enclosed in `[[ ... ]]`
我目前正在浏览 LaTeX's TikZ/PGF code and among other things I want to correct spelling errors because parts of these lua files are also used for the manual 的 lua 个文件。
为此,我使用 Notepad++,但看起来 [[" ... "]]
中包含的内容未进行拼写检查。这是文件 DistanceMatrix.lua 中的示例,我引入了拼写错误。
declare {
key = "distance matrix verticess",
type = "string",
summary = [["
A list of verticess that are used in the parsing of the
|distance matrix| key. If this key is not used at all, all
vertices of the graph will be used for the computation of a
distance matrix.
"]],
下图左侧是 Lua
是活动语言时的结果,右侧是 TeX
是活动语言时的结果。
可以看出,当 Lua 是活动语言时,"verticess" 一词在 summary
部分没有下划线。
是否可以 extend/modify Notepad++ 中的 Lua 语言,从而对 [[" ... "]]
中包含的部分进行拼写检查? (也许不用引号对 [[ ... ]]
中的内容进行拼写检查就足够了?不幸的是,我不熟悉 Lua 语言。)当然,如果可能的话,怎么做?
我认为问题是 DSpellCheck Notepad++ 插件在选择突出显示语言样式时不检查 字符串文字 。这不仅发生在 Lua 上,也发生在其他语言上(例如 C# 及其 @"multiline string literal";
)。可能没有简单的方法来解决这个问题。我建议跟他们开票
一些建议:
在Scintilla.h中定义
#define SCE_LUA_LITERALSTRING 8
并且在 DsSpellCheck 的 SpellChecker.cpp
if (category != SciUtils::StyleCategory::text && !((category == SciUtils::StyleCategory::comment && m_settings.check_comments) ||
(category == SciUtils::StyleCategory::string && m_settings.check_strings) ||
(category == SciUtils::StyleCategory::identifier && m_settings.check_variable_functions))) {
但是,Scintilla 可能没有正确公开 Lua 字符串文字的字符串 属性..
TeX 在某种程度上根据其语言风格的定义方式作弊。 TeX 定义识别变量名称中的拼写错误:
这可能是很多人的烦恼。
如果使用旧版本的 DSpellCheck(1.3.5 或更早版本)可以满足您的需求,您可以取消选中 DSpellCheck 的 Check Only Comments and Strings if Possible
设置以将此行为应用于所有语言:
更改后的 Lua 语言设置示例:
我目前正在浏览 LaTeX's TikZ/PGF code and among other things I want to correct spelling errors because parts of these lua files are also used for the manual 的 lua 个文件。
为此,我使用 Notepad++,但看起来 [[" ... "]]
中包含的内容未进行拼写检查。这是文件 DistanceMatrix.lua 中的示例,我引入了拼写错误。
declare {
key = "distance matrix verticess",
type = "string",
summary = [["
A list of verticess that are used in the parsing of the
|distance matrix| key. If this key is not used at all, all
vertices of the graph will be used for the computation of a
distance matrix.
"]],
下图左侧是 Lua
是活动语言时的结果,右侧是 TeX
是活动语言时的结果。
可以看出,当 Lua 是活动语言时,"verticess" 一词在 summary
部分没有下划线。
是否可以 extend/modify Notepad++ 中的 Lua 语言,从而对 [[" ... "]]
中包含的部分进行拼写检查? (也许不用引号对 [[ ... ]]
中的内容进行拼写检查就足够了?不幸的是,我不熟悉 Lua 语言。)当然,如果可能的话,怎么做?
我认为问题是 DSpellCheck Notepad++ 插件在选择突出显示语言样式时不检查 字符串文字 。这不仅发生在 Lua 上,也发生在其他语言上(例如 C# 及其 @"multiline string literal";
)。可能没有简单的方法来解决这个问题。我建议跟他们开票
一些建议:
在Scintilla.h中定义
#define SCE_LUA_LITERALSTRING 8
并且在 DsSpellCheck 的 SpellChecker.cpp
if (category != SciUtils::StyleCategory::text && !((category == SciUtils::StyleCategory::comment && m_settings.check_comments) ||
(category == SciUtils::StyleCategory::string && m_settings.check_strings) ||
(category == SciUtils::StyleCategory::identifier && m_settings.check_variable_functions))) {
但是,Scintilla 可能没有正确公开 Lua 字符串文字的字符串 属性..
TeX 在某种程度上根据其语言风格的定义方式作弊。 TeX 定义识别变量名称中的拼写错误:
这可能是很多人的烦恼。
如果使用旧版本的 DSpellCheck(1.3.5 或更早版本)可以满足您的需求,您可以取消选中 DSpellCheck 的 Check Only Comments and Strings if Possible
设置以将此行为应用于所有语言:
更改后的 Lua 语言设置示例: