diff options
Diffstat (limited to 'script-beta/core/diagnostics/lowercase-global.lua')
-rw-r--r-- | script-beta/core/diagnostics/lowercase-global.lua | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/script-beta/core/diagnostics/lowercase-global.lua b/script-beta/core/diagnostics/lowercase-global.lua deleted file mode 100644 index fe5d1eca..00000000 --- a/script-beta/core/diagnostics/lowercase-global.lua +++ /dev/null @@ -1,56 +0,0 @@ -local files = require 'files' -local guide = require 'parser.guide' -local lang = require 'language' -local config = require 'config' -local vm = require 'vm' - -local function isDocClass(source) - if not source.bindDocs then - return false - end - for _, doc in ipairs(source.bindDocs) do - if doc.type == 'doc.class' then - return true - end - end - return false -end - --- 不允许定义首字母小写的全局变量(很可能是拼错或者漏删) -return function (uri, callback) - local ast = files.getAst(uri) - if not ast then - return - end - - local definedGlobal = {} - for name in pairs(config.config.diagnostics.globals) do - definedGlobal[name] = true - end - - guide.eachSourceType(ast.ast, 'setglobal', function (source) - local name = guide.getName(source) - if definedGlobal[name] then - return - end - local first = name:match '%w' - if not first then - return - end - if not first:match '%l' then - return - end - -- 如果赋值被标记为 doc.class ,则认为是允许的 - if isDocClass(source) then - return - end - if vm.isGlobalLibraryName(name) then - return - end - callback { - start = source.start, - finish = source.finish, - message = lang.script.DIAG_LOWERCASE_GLOBAL, - } - end) -end |