summaryrefslogtreecommitdiff
path: root/script/core/diagnostics
AgeCommit message (Collapse)Author
2024-07-31Merge branch 'master' into inconsistent-behavior-(missing-fields)NeOzay
2024-07-30拆分成选项最萌小汐
2024-07-28compute table keys onceNeOzay
2024-07-28Update script/core/diagnostics/missing-fields.luaNeOzay
Co-authored-by: Tom Lau <tomandfatboy@gmail.com>
2024-07-24also detects missing index fieldsNeOzay
2024-07-23update changelogNeOzay
2024-07-23improve missing-fields diagnostic logicNeOzay
2024-07-22improve diagnosis (missing-fields).NeOzay
2024-07-08fix: correction for `exact` classNeOzay
2024-07-08fix: add a missing check for inject-field diagnosticsNeOzay
2024-07-01perf: Optimize undefined-field check early break logicTom Lau
The current early break only wants to check if there are any definition. There is no need to fetch the full definitions list. We can early break as soon as we found the 1st one.
2024-05-24Throttle calls to await.delay() in some diagnosticsPaul Emmerich
These 5 diagnostics cause ~70% of all calls to await.delay() by diagnostics which in turn is about ~20% of the total runtime of diagnostics. Out of these diagnostics only assign-type-mismatch commonly exceeds runtimes of 100ms (worst observed in my dataset was 7 seconds) and even then it still attempts to call await.delay() over 1500 times per second, so throttling by a factor of 15 is still fine.
2024-05-11整理代码最萌小汐
2024-04-23Add globalsRegex to diagnosticsBruno Carvalho
Improve checkIsUndefinedGlobal to avoid unecessary checks and tables
2024-04-20Run diagnostics on unopened files when explicitly requested by the userPaul Emmerich
If I explicitly click on "Diagnose workspace" I would expect it to show me *all* the diagnostics similar to how --check in a CI would check my project. This makes it easier for users to check their whole workspace after making changes to some library or core function that potentially affects a large number of files that are usually only checked once opened.
2024-04-18`merge` 改叫 `partial`最萌小汐
2024-04-18如果有 merge 属性,则跳过 `duplicate-doc-alias` 检查最萌小汐
2024-04-17修正 `discard-returns` 对条件的误报最萌小汐
2024-03-25Detect discard-returns in all block typesJakub
2024-02-23fix warnfesily
2023-08-23support `---@class (exact)`最萌小汐
#1990
2023-08-22fix wrong `missing-fields` with union types最萌小汐
fix #2252
2023-08-14Ignore cast-local-type diagnostic for `_` localRoss Williams
The `unused-local` diagnostic already hard-codes to exclude `_`. `cast-local-type` should also ignore `_` variables, to avoid warnings in, for example, nested loops like: ```lua for _, list in ipairs(lists) do for _, item in ipairs(list) do _, result = pcall(...) end end ```
2023-08-14check `doc.field`最萌小汐
#1990
2023-08-14also check `doc.type.table`最萌小汐
2023-08-14new diag: `inject-field`最萌小汐
#1990
2023-08-11stash最萌小汐
2023-08-03function may not have a name最萌小汐
2023-07-25fix #2214最萌小汐
2023-07-21fix `missing-fields`最萌小汐
2023-07-21添加翻译最萌小汐
2023-07-20new diagnostic: `missing-fields`最萌小汐
2023-07-18Merge pull request #2177 from sewbacca/feature/shortcut-autorequire最萌小汐
[Feature] Add action to autorequire undefined globals
2023-07-17Extracted undefined global checkSewbacca
2023-06-29exclude `_`最萌小汐
2023-06-28Adapt incomplete-signature-doc to warn about incomplete, not missing docs (#9)AndreaWalchshoferSCCH
Previously, the diagnostic `incomplete-signature-doc` is ignoring fully undocumented functions - but is already triggered by a simple comment. This turns out to be impractical in a few cases, as it also forces a full documentation of functions that should just be annotated with `---@async` (and is therefore not yet fully compatible with `await-in-sync`) So this PR adapts the diagnostic to only warn about **incomplete** signature docs, so it requires at least one `@param` or `@return` annotation before a warning is given. (Otherwise, it would be a missing signature doc, and there's separate diagnostics about that...)
2023-06-27Added crossfile testcaseSewbacca
Improved eq error message in test/code_action/init.lua Uses core.diagnostics.undefined-global
2023-06-26check nil最萌小汐
2023-06-14check nil最萌小汐
2023-06-13bind overloads最萌小汐
fix #2083
2023-06-13check nil最萌小汐
2023-05-11Annotation rule for exported local functionsThomas Wetzlmaier
Annotation for the following local function func1 is required. local mod = { } local function func1() end mod.Func1 = func1 return mod;
2023-04-27更新实现CppCXY
2023-04-26complete namestyle providerCppCXY
2023-04-24Cleanup PRAndreaWalchshoferSCCH
Revert Changes made from unrelated PR
2023-04-19Warn about missing '---comment', '@return' and '@param' annotations (#3)Thomas Wetzlmaier
All functions that have at least one such annotation should be fully annotated in that respect, because we find that partially annotating something leads to confusion. However, all global functions must always be fully annotated, because they should be avoided in the first place, but if necessary then only with the maximum amount of documentation/support for those who use them! We provide the following keys for the `diagnostics.disable` setting to specifically deactive these checks: _missing-global-doc_: global function definitions which are not fully annotated. _incomplete-signature-doc_: function definitions that have some annotations but are not fully annotated
2023-04-04Add diagnostic to enforce lowercase local element names (#6)AndreaWalchshoferSCCH
- diagnostic `uppercase-local` in group `conventions`, disabled by default - isolated unit tests for diagnostic
2023-03-30Revert "Add diagnostic to enforce lowercase local element names (#2)" (#5)AndreaWalchshoferSCCH
This reverts commit 43794193ef981ffecb477bfce444428ded852aa0.
2023-03-30Add diagnostic to enforce lowercase local element names (#2)AndreaWalchshoferSCCH
2023-03-22Add diagnostic warning about any global (#1)AndreaWalchshoferSCCH
* Add warning for any global variable via diagnostic * Add messages in en-US TODO: add messages in languages other than en-us as well * fallback: enable/disable diagnostics w/ annotation * Add tests for the new diagnostic * Add diagnostic and group to config.md