LuaLS / LuaLS/lua-language-server

Validation and enforcement of `@class` fields is incomplete/inconsistent

Abierto
#1,823 4 comentarios 4 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement
Lenguaje dominante
Lua
Estrellas
4.4k
Forks
442
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

MacOS

What is the issue affecting?

Annotations, Type Checking

Expected Behaviour

When using a @class type in a type hint, lua-language-server should ensure the following code properties:

  • The type of all defined properties matches the type of that class field.
  • All required fields of the class are set.
  • No non-defined fields are set.

All of these code properties should be checked when a @param or @return type hint specifies its type to be a class or an array of classes.

Actual Behaviour

When passing a class as an argument, only wrong field types are flagged. The other properties are not checked.

When passing an array of classes as an argument, none of the properties are checked. The same applies to returning a class or array of classes.

Reproduction steps

Try the following code. Only the first example is correctly flagged. The remaining examples produce no diagnostics whatsoever.

---@class Test
---@field name string A test name
---@field description string? A test description
---@field version number A test version

---@param obj Test
local function test(obj)
end

---@param objs Test[]
local function testMultiple(objs)
end

---------------------------------------
-- Working example

function Example1()
  test {
    name = "Test",
    description = false -- invalid type
  }
end

---------------------------------------
-- Currently not working examples

function Example2()
  test {
    name = "Test",
    -- version field is missing
  }
end

function Example3()
  test {
    name = "Test",
    label = "Test" -- non-existing field
  }
end

function Example4()
  local list = {}

  table.insert(list, {
    name = "Test",
    description = false -- invalid type
  })

  testMultiple(list)
end

---@return Test
function Example5()
  return {
    name = "Test",
    description = false -- invalid type
  }
end

---@return Test[]
function Example6()
  local list = {}

  table.insert(list, {
    name = "Test",
    description = false -- invalid type
  })

  return list
end
Additional Notes

No response

Log File
[16:49:31.671][info] [#0:/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/main.lua:66]: Lua Lsp startup, root: 	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server
[16:49:31.672][info] [#0:/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/main.lua:67]: ROOT:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server
[16:49:31.672][info] [#0:/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/main.lua:68]: LOGPATH:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/log
[16:49:31.672][info] [#0:/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/main.lua:69]: METAPATH:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta
[16:49:31.672][info] [#0:/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/main.lua:70]: VERSION:	3.6.4-dev
[16:49:31.703][debug][#0:script/service/telemetry.lua:22]: Telemetry Token:	...
[16:49:31.715][debug][#0:script/pub/pub.lua:50]: Create brave:	1
[16:49:31.715][debug][#0:script/pub/pub.lua:50]: Create brave:	2
[16:49:31.716][debug][#0:script/pub/pub.lua:50]: Create brave:	3
[16:49:31.716][debug][#0:script/pub/pub.lua:50]: Create brave:	4
[16:49:31.716][info] [#0:script/service/service.lua:141]:
========= Medical Examination Report =========
    --------------- Memory ---------------
        Total: 1.566 MB
        # 00 : 1.566 MB
        # 01 : 0.000 MB
        # 02 : 0.000 MB
        # 03 : 0.000 MB
        # 04 : 0.000 MB
    --------------- Coroutine ---------------
        Total:     0
        Running:   0
        Suspended: 0
        Normal:    0
        Dead:      0
    --------------- Cache ---------------
        Total: 1
        Dead:  0
    ---------------  RPC  ---------------
        Holdon:   0
        Waiting:  0
==============================================
[16:49:31.730][debug][#0:script/client.lua:463]: Client init	{
  capabilities = {
    general = {
      markdown = {
        allowedTags = { "ul", "li", "p", "code", "blockquote", "ol", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "em", "pre", "table", "thead", "tbody", "tr", "th", "td", "div", "del", "a", "strong", "br", "img", "span" },
        parser = "marked",
        version = "1.1.0"
      },
      positionEncodings = { "utf-16" },
      regularExpressions = {
        engine = "ECMAScript",
        version = "ES2020"
      },
      staleRequestSupport = {
        cancel = true,
        retryOnContentModified = { "textDocument/semanticTokens/full", "textDocument/semanticTokens/range", "textDocument/semanticTokens/full/delta" }
      }
    },
    notebookDocument = {
      synchronization = {
        dynamicRegistration = true,
        executionSummarySupport = true
      }
    },
    textDocument = {
      callHierarchy = {
        dynamicRegistration = true
      },
      codeAction = {
        codeActionLiteralSupport = {
          codeActionKind = {
            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
          }
        },
        dataSupport = true,
        disabledSupport = true,
        dynamicRegistration = true,
        honorsChangeAnnotations = false,
        isPreferredSupport = true,
        resolveSupport = {
          properties = { "edit" }
        }
      },
      codeLens = {
        dynamicRegistration = true
      },
      colorProvider = {
        dynamicRegistration = true
      },
      completion = {
        completionItem = {
          commitCharactersSupport = true,
          deprecatedSupport = true,
          documentationFormat = { "markdown", "plaintext" },
          insertReplaceSupport = true,
          insertTextModeSupport = {
            valueSet = { 1, 2 }
          },
          labelDetailsSupport = true,
          preselectSupport = true,
          resolveSupport = {
            properties = { "documentation", "detail", "additionalTextEdits" }
          },
          snippetSupport = true,
          tagSupport = {
            valueSet = { 1 }
          }
        },
        completionItemKind = {
          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
        },
        completionList = {
          itemDefaults = { "commitCharacters", "editRange", "insertTextFormat", "insertTextMode" }
        },
        contextSupport = true,
        dynamicRegistration = true,
        insertTextMode = 2
      },
      declaration = {
        dynamicRegistration = true,
        linkSupport = true
      },
      definition = {
        dynamicRegistration = true,
        linkSupport = true
      },
      diagnostic = {
        dynamicRegistration = true,
        relatedDocumentSupport = false
      },
      documentHighlight = {
        dynamicRegistration = true
      },
      documentLink = {
        dynamicRegistration = true,
        tooltipSupport = true
      },
      documentSymbol = {
        dynamicRegistration = true,
        hierarchicalDocumentSymbolSupport = true,
        labelSupport = true,
        symbolKind = {
          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
        },
        tagSupport = {
          valueSet = { 1 }
        }
      },
      foldingRange = {
        dynamicRegistration = true,
        foldingRange = {
          collapsedText = false
        },
        foldingRangeKind = {
          valueSet = { "comment", "imports", "region" }
        },
        lineFoldingOnly = true,
        rangeLimit = 5000
      },
      formatting = {
        dynamicRegistration = true
      },
      hover = {
        contentFormat = { "markdown", "plaintext" },
        dynamicRegistration = true
      },
      implementation = {
        dynamicRegistration = true,
        linkSupport = true
      },
      inlayHint = {
        dynamicRegistration = true,
        resolveSupport = {
          properties = { "tooltip", "textEdits", "label.tooltip", "label.location", "label.command" }
        }
      },
      inlineValue = {
        dynamicRegistration = true
      },
      linkedEditingRange = {
        dynamicRegistration = true
      },
      onTypeFormatting = {
        dynamicRegistration = true
      },
      publishDiagnostics = {
        codeDescriptionSupport = true,
        dataSupport = true,
        relatedInformation = true,
        tagSupport = {
          valueSet = { 1, 2 }
        },
        versionSupport = false
      },
      rangeFormatting = {
        dynamicRegistration = true
      },
      references = {
        dynamicRegistration = true
      },
      rename = {
        dynamicRegistration = true,
        honorsChangeAnnotations = true,
        prepareSupport = true,
        prepareSupportDefaultBehavior = 1
      },
      selectionRange = {
        dynamicRegistration = true
      },
      semanticTokens = {
        augmentsSyntaxTokens = true,
        dynamicRegistration = true,
        formats = { "relative" },
        multilineTokenSupport = false,
        overlappingTokenSupport = false,
        requests = {
          full = {
            delta = true
          },
          range = true
        },
        serverCancelSupport = true,
        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
      },
      signatureHelp = {
        contextSupport = true,
        dynamicRegistration = true,
        signatureInformation = {
          activeParameterSupport = true,
          documentationFormat = { "markdown", "plaintext" },
          parameterInformation = {
            labelOffsetSupport = true
          }
        }
      },
      synchronization = {
        didSave = true,
        dynamicRegistration = true,
        willSave = true,
        willSaveWaitUntil = true
      },
      typeDefinition = {
        dynamicRegistration = true,
        linkSupport = true
      },
      typeHierarchy = {
        dynamicRegistration = true
      }
    },
    window = {
      showDocument = {
        support = true
      },
      showMessage = {
        messageActionItem = {
          additionalPropertiesSupport = true
        }
      },
      workDoneProgress = true
    },
    workspace = {
      applyEdit = true,
      codeLens = {
        refreshSupport = true
      },
      configuration = true,
      diagnostics = {
        refreshSupport = true
      },
      didChangeConfiguration = {
        dynamicRegistration = true
      },
      didChangeWatchedFiles = {
        dynamicRegistration = true,
        relativePatternSupport = true
      },
      executeCommand = {
        dynamicRegistration = true
      },
      fileOperations = {
        didCreate = true,
        didDelete = true,
        didRename = true,
        dynamicRegistration = true,
        willCreate = true,
        willDelete = true,
        willRename = true
      },
      inlayHint = {
        refreshSupport = true
      },
      inlineValue = {
        refreshSupport = true
      },
      semanticTokens = {
        refreshSupport = true
      },
      symbol = {
        dynamicRegistration = true,
        resolveSupport = {
          properties = { "location.range" }
        },
        symbolKind = {
          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
        },
        tagSupport = {
          valueSet = { 1 }
        }
      },
      workspaceEdit = {
        changeAnnotationSupport = {
          groupsOnLabel = true
        },
        documentChanges = true,
        failureHandling = "textOnlyTransactional",
        normalizesLineEndings = true,
        resourceOperations = { "create", "rename", "delete" }
      },
      workspaceFolders = true
    }
  },
  clientInfo = {
    name = "Visual Studio Code",
    version = "1.74.3"
  },
  initializationOptions = {
    changeConfiguration = true
  },
  locale = "de",
  processId = 21136,
  rootPath = "/Users/user/Desktop/Test",
  rootUri = "file:///Users/user/Desktop/Test",
  trace = "off",
  workDoneToken = "16981c02-6465-4e24-b677-f9b289c36125",
  workspaceFolders = { {
      name = "Test",
      uri = "file:///Users/user/Desktop/Test"
    } }
}
[16:49:31.730][info] [#0:script/language.lua:137]: VSC language: de
[16:49:31.730][info] [#0:script/language.lua:138]: LS  language: en-us
[16:49:31.730][info] [#0:script/workspace/workspace.lua:38]: Workspace init root: 	file:///Users/user/Desktop/Test
[16:49:31.731][info] [#0:script/workspace/workspace.lua:42]: Log path: 	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/log/file_Users_lux_Desktop_Test.log
[16:49:31.733][info] [#0:script/workspace/workspace.lua:51]: Workspace create: 	file:///Users/user/Desktop/Test
[16:49:31.734][debug][#0:script/provider/provider.lua:129]: Server init	{
  capabilities = {
    codeActionProvider = {
      codeActionKinds = { "", "quickfix", "refactor.rewrite", "refactor.extract" },
      resolveProvider = false
    },
    colorProvider = true,
    definitionProvider = true,
    documentFormattingProvider = true,
    documentHighlightProvider = true,
    documentOnTypeFormattingProvider = {
      firstTriggerCharacter = "\n"
    },
    documentRangeFormattingProvider = true,
    documentSymbolProvider = true,
    executeCommandProvider = {
      commands = { "lua.removeSpace", "lua.solve", "lua.jsonToLua", "lua.setConfig", "lua.autoRequire" }
    },
    foldingRangeProvider = true,
    hoverProvider = true,
    inlayHintProvider = {
      resolveProvider = true
    },
    offsetEncoding = "utf-16",
    referencesProvider = true,
    renameProvider = {
      prepareProvider = true
    },
    semanticTokensProvider = {
      legend = {
        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary", "global" },
        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
      },
      range = true
    },
    signatureHelpProvider = {
      triggerCharacters = { "(", "," }
    },
    textDocumentSync = {
      change = 2,
      openClose = true,
      save = {
        includeText = false
      }
    },
    typeDefinitionProvider = true,
    workspace = {
      fileOperations = {
        didRename = {
          filters = { {
              pattern = {
                glob = "/Users/user/Desktop/Test/**",
                options = {
                  ignoreCase = true
                }
              }
            } }
        }
      },
      workspaceFolders = {
        changeNotifications = true,
        supported = true
      }
    },
    workspaceSymbolProvider = true
  },
  serverInfo = {
    name = "sumneko.lua"
  }
}
[16:49:31.838][debug][#0:script/provider/provider.lua:267]: didOpen	file:///Users/user/Desktop/Test/Test.lua
[16:49:31.839][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/Desktop/Test/Test.lua	takes	0.00059100000000001	sec.
[16:49:31.944][info] [#0:script/provider/provider.lua:41]: Load config from client	file:///Users/user/Desktop/Test
[16:49:31.947][info] [#0:script/provider/provider.lua:42]: {
  Lua = {
    completion = {
      autoRequire = true,
      callSnippet = "Disable",
      displayContext = 0,
      enable = true,
      keywordSnippet = "Replace",
      postfix = "@",
      requireSeparator = ".",
      showParams = true,
      showWord = "Fallback",
      workspaceWord = true
    },
    diagnostics = {
      disable = {},
      disableScheme = { "git" },
      enable = true,
      globals = {},
      groupFileStatus = {},
      groupSeverity = {},
      ignoredFiles = "Opened",
      libraryFiles = "Opened",
      neededFileStatus = {},
      severity = {},
      unusedLocalExclude = {},
      workspaceDelay = 3000,
      workspaceEvent = "OnSave",
      workspaceRate = 100
    },
    doc = {
      packageName = {},
      privateName = {},
      protectedName = {}
    },
    format = {
      defaultConfig = {},
      enable = true
    },
    hint = {
      arrayIndex = "Auto",
      await = true,
      enable = false,
      paramName = "All",
      paramType = true,
      semicolon = "SameLine",
      setType = false
    },
    hover = {
      enable = true,
      enumsLimit = 5,
      expandAlias = true,
      previewFields = 50,
      viewNumber = true,
      viewString = true,
      viewStringMax = 1000
    },
    misc = {
      executablePath = "",
      parameters = { "--loglevel=trace" }
    },
    runtime = {
      builtin = {},
      fileEncoding = "utf8",
      meta = "${version} ${language} ${encoding}",
      nonstandardSymbol = {},
      path = { "?.lua", "?/init.lua" },
      pathStrict = false,
      plugin = "",
      pluginArgs = {},
      special = {},
      unicodeName = false,
      version = "Lua 5.4"
    },
    semantic = {
      annotation = true,
      enable = true,
      keyword = false,
      variable = true
    },
    signatureHelp = {
      enable = true
    },
    spell = {
      dict = {}
    },
    telemetry = {
      enable = false
    },
    type = {
      castNumberToInteger = true,
      weakNilCheck = false,
      weakUnionCheck = false
    },
    typeFormat = {
      config = {}
    },
    window = {
      progressBar = true,
      statusBar = true
    },
    workspace = {
      checkThirdParty = true,
      ignoreDir = { ".vscode" },
      ignoreSubmodules = true,
      library = {},
      maxPreload = 5000,
      preloadFileSize = 500,
      supportScheme = { "file", "untitled", "git" },
      useGitIgnore = true,
      userThirdParty = {}
    }
  },
  ["editor.acceptSuggestionOnEnter"] = "off",
  ["editor.semanticHighlighting.enabled"] = "configuredByTheme",
  ["files.associations"] = {},
  ["files.exclude"] = {
    ["**/.DS_Store"] = true,
    ["**/.git"] = true,
    ["**/.hg"] = true,
    ["**/.svn"] = true,
    ["**/CVS"] = true,
    ["**/Thumbs.db"] = true
  }
}
[16:49:32.052][info] [#0:script/provider/completion.lua:43]: Enable completion.
[16:49:32.053][info] [#0:script/provider/provider.lua:56]: Load config from client	fallback
[16:49:32.057][info] [#0:script/provider/provider.lua:57]: {
  Lua = {
    completion = {
      autoRequire = true,
      callSnippet = "Disable",
      displayContext = 0,
      enable = true,
      keywordSnippet = "Replace",
      postfix = "@",
      requireSeparator = ".",
      showParams = true,
      showWord = "Fallback",
      workspaceWord = true
    },
    diagnostics = {
      disable = {},
      disableScheme = { "git" },
      enable = true,
      globals = {},
      groupFileStatus = {},
      groupSeverity = {},
      ignoredFiles = "Opened",
      libraryFiles = "Opened",
      neededFileStatus = {},
      severity = {},
      unusedLocalExclude = {},
      workspaceDelay = 3000,
      workspaceEvent = "OnSave",
      workspaceRate = 100
    },
    doc = {
      packageName = {},
      privateName = {},
      protectedName = {}
    },
    format = {
      defaultConfig = {},
      enable = true
    },
    hint = {
      arrayIndex = "Auto",
      await = true,
      enable = false,
      paramName = "All",
      paramType = true,
      semicolon = "SameLine",
      setType = false
    },
    hover = {
      enable = true,
      enumsLimit = 5,
      expandAlias = true,
      previewFields = 50,
      viewNumber = true,
      viewString = true,
      viewStringMax = 1000
    },
    misc = {
      executablePath = "",
      parameters = { "--loglevel=trace" }
    },
    runtime = {
      builtin = {},
      fileEncoding = "utf8",
      meta = "${version} ${language} ${encoding}",
      nonstandardSymbol = {},
      path = { "?.lua", "?/init.lua" },
      pathStrict = false,
      plugin = "",
      pluginArgs = {},
      special = {},
      unicodeName = false,
      version = "Lua 5.4"
    },
    semantic = {
      annotation = true,
      enable = true,
      keyword = false,
      variable = true
    },
    signatureHelp = {
      enable = true
    },
    spell = {
      dict = {}
    },
    telemetry = {
      enable = false
    },
    type = {
      castNumberToInteger = true,
      weakNilCheck = false,
      weakUnionCheck = false
    },
    typeFormat = {
      config = {}
    },
    window = {
      progressBar = true,
      statusBar = true
    },
    workspace = {
      checkThirdParty = true,
      ignoreDir = { ".vscode" },
      ignoreSubmodules = true,
      library = {},
      maxPreload = 5000,
      preloadFileSize = 500,
      supportScheme = { "file", "untitled", "git" },
      useGitIgnore = true,
      userThirdParty = {}
    }
  },
  ["editor.acceptSuggestionOnEnter"] = "off",
  ["editor.semanticHighlighting.enabled"] = "configuredByTheme",
  ["files.associations"] = {},
  ["files.exclude"] = {
    ["**/.DS_Store"] = true,
    ["**/.git"] = true,
    ["**/.hg"] = true,
    ["**/.svn"] = true,
    ["**/CVS"] = true,
    ["**/Thumbs.db"] = true
  }
}
[16:49:32.159][info] [#0:script/library.lua:209]: Init builtin library at:	file:///Users/user/Desktop/Test
[16:49:32.163][debug][#0:script/library.lua:244]: Builtin status:	table.clear	default
[16:49:32.164][debug][#0:script/library.lua:244]: Builtin status:	debug	default
[16:49:32.166][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/debug.lua
[16:49:32.166][debug][#0:script/library.lua:244]: Builtin status:	builtin	default
[16:49:32.168][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/builtin.lua
[16:49:32.168][debug][#0:script/library.lua:244]: Builtin status:	table	default
[16:49:32.171][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/table.lua
[16:49:32.171][debug][#0:script/library.lua:244]: Builtin status:	os	default
[16:49:32.173][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/os.lua
[16:49:32.173][debug][#0:script/library.lua:244]: Builtin status:	coroutine	default
[16:49:32.176][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/coroutine.lua
[16:49:32.176][debug][#0:script/library.lua:244]: Builtin status:	basic	default
[16:49:32.184][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/basic.lua
[16:49:32.185][debug][#0:script/library.lua:244]: Builtin status:	io	default
[16:49:32.190][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/io.lua
[16:49:32.190][debug][#0:script/library.lua:244]: Builtin status:	utf8	default
[16:49:32.192][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/utf8.lua
[16:49:32.193][debug][#0:script/library.lua:244]: Builtin status:	package	default
[16:49:32.194][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/package.lua
[16:49:32.194][debug][#0:script/library.lua:244]: Builtin status:	jit	default
[16:49:32.195][debug][#0:script/library.lua:244]: Builtin status:	ffi	default
[16:49:32.195][debug][#0:script/library.lua:244]: Builtin status:	math	default
[16:49:32.202][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/math.lua
[16:49:32.202][debug][#0:script/library.lua:244]: Builtin status:	string.buffer	default
[16:49:32.204][debug][#0:script/library.lua:244]: Builtin status:	bit32	default
[16:49:32.205][debug][#0:script/library.lua:244]: Builtin status:	string	default
[16:49:32.212][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/string.lua
[16:49:32.212][debug][#0:script/library.lua:244]: Builtin status:	table.new	default
[16:49:32.213][debug][#0:script/library.lua:244]: Builtin status:	bit	default
[16:49:32.216][info] [#0:script/plugin.lua:86]: plugin path:	/Users/user/Desktop/Test
[16:49:32.216][warn] [#0:script/plugin.lua:101]: plugin not found:	/Users/user/Desktop/Test
[16:49:32.216][info] [#0:script/library.lua:209]: Init builtin library at:	nil
[16:49:32.225][debug][#0:script/library.lua:244]: Builtin status:	table.clear	default
[16:49:32.225][debug][#0:script/library.lua:244]: Builtin status:	debug	default
[16:49:32.227][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/debug.lua
[16:49:32.227][debug][#0:script/library.lua:244]: Builtin status:	builtin	default
[16:49:32.229][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/builtin.lua
[16:49:32.229][debug][#0:script/library.lua:244]: Builtin status:	table	default
[16:49:32.230][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/table.lua
[16:49:32.230][debug][#0:script/library.lua:244]: Builtin status:	os	default
[16:49:32.231][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/os.lua
[16:49:32.232][debug][#0:script/library.lua:244]: Builtin status:	coroutine	default
[16:49:32.232][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/coroutine.lua
[16:49:32.232][debug][#0:script/library.lua:244]: Builtin status:	basic	default
[16:49:32.237][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/basic.lua
[16:49:32.237][debug][#0:script/library.lua:244]: Builtin status:	io	default
[16:49:32.239][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/io.lua
[16:49:32.239][debug][#0:script/library.lua:244]: Builtin status:	utf8	default
[16:49:32.240][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/utf8.lua
[16:49:32.240][debug][#0:script/library.lua:244]: Builtin status:	package	default
[16:49:32.242][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/package.lua
[16:49:32.242][debug][#0:script/library.lua:244]: Builtin status:	jit	default
[16:49:32.244][debug][#0:script/library.lua:244]: Builtin status:	ffi	default
[16:49:32.245][debug][#0:script/library.lua:244]: Builtin status:	math	default
[16:49:32.248][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/math.lua
[16:49:32.248][debug][#0:script/library.lua:244]: Builtin status:	string.buffer	default
[16:49:32.250][debug][#0:script/library.lua:244]: Builtin status:	bit32	default
[16:49:32.252][debug][#0:script/library.lua:244]: Builtin status:	string	default
[16:49:32.256][debug][#0:script/library.lua:268]: Meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8/string.lua
[16:49:32.256][debug][#0:script/library.lua:244]: Builtin status:	table.new	default
[16:49:32.258][debug][#0:script/library.lua:244]: Builtin status:	bit	default
[16:49:32.264][debug][#0:script/provider/provider.lua:1048]: textDocument/semanticTokens/range
[16:49:32.264][info] [#0:script/workspace/workspace.lua:304]: Preload start:	file:///Users/user/Desktop/Test
[16:49:32.264][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/CVS
[16:49:32.264][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/Thumbs.db
[16:49:32.264][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.git
[16:49:32.264][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.svn
[16:49:32.264][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.DS_Store
[16:49:32.264][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.hg
[16:49:32.264][debug][#0:script/workspace/workspace.lua:167]: Ignore directory:	.vscode
[16:49:32.264][debug][#0:script/workspace/workspace.lua:186]: Build library matchers:	{scope|folder|file:///Users/user/Desktop/Test}
[16:49:32.264][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/CVS
[16:49:32.264][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/Thumbs.db
[16:49:32.264][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.git
[16:49:32.264][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.svn
[16:49:32.264][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.DS_Store
[16:49:32.264][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.hg
[16:49:32.264][debug][#0:script/workspace/workspace.lua:196]: Ignore directory:	.vscode
[16:49:32.264][debug][#0:script/workspace/workspace.lua:207]: meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8
[16:49:32.266][debug][#0:script/workspace/workspace.lua:228]: library matcher:	{ {
    matcher = {
      errors = {},
      interface = {
        list = <function 1>,
        type = <function 2>
      },
      matcher = { {
          matcher = <userdata 1>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = "CVS"
                } }
            } },
          <metatable> = <1>{
            __call = <function 3>,
            __index = <table 1>,
            __name = "matcher",
            anyChar = <function 4>,
            anyPath = <function 5>,
            char = <function 6>,
            exp = <function 7>,
            isNeedDirectory = <function 8>,
            isNegative = <function 9>,
            oneChar = <function 10>,
            pattern = <function 11>,
            range = <function 12>,
            slash = <function 13>,
            word = <function 14>
          }
        }, {
          matcher = <userdata 2>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = "Thumbs.db"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 3>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".git"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 4>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".svn"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 5>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".DS_Store"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 6>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".hg"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 7>,
          state = { {
              type = "word",
              value = { {
                  type = "char",
                  value = ".vscode"
                } }
            } },
          <metatable> = <table 1>
        } },
      options = {
        ignoreCase = false,
        root = "/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8"
      },
      pattern = { "**/CVS", "**/Thumbs.db", "**/.git", "**/.svn", "**/.DS_Store", "**/.hg", ".vscode" },
      <metatable> = <2>{
        __call = <function 15>,
        __index = <table 2>,
        __name = "gitignore",
        addPattern = <function 16>,
        callInterface = <function 17>,
        checkDirectory = <function 18>,
        finishMatch = <function 19>,
        getRelativePath = <function 20>,
        hasInterface = <function 21>,
        scan = <function 22>,
        setInterface = <function 23>,
        setOption = <function 24>,
        simpleMatch = <function 25>
      }
    },
    uri = "file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8"
  } }
[16:49:32.266][info] [#0:script/workspace/workspace.lua:310]: Scan files at:	file:///Users/user/Desktop/Test
[16:49:32.267][debug][#0:script/filewatch.lua:46]: fw.add	/Users/user/Desktop/Test
[16:49:32.267][info] [#0:script/workspace/workspace.lua:304]: Preload start:	<fallback>
[16:49:32.267][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/CVS
[16:49:32.267][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/Thumbs.db
[16:49:32.267][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.git
[16:49:32.267][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.svn
[16:49:32.267][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.DS_Store
[16:49:32.267][debug][#0:script/workspace/workspace.lua:126]: Ignore by exclude:	**/.hg
[16:49:32.267][debug][#0:script/workspace/workspace.lua:167]: Ignore directory:	.vscode
[16:49:32.268][debug][#0:script/workspace/workspace.lua:186]: Build library matchers:	{scope|fallback}
[16:49:32.268][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/CVS
[16:49:32.268][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/Thumbs.db
[16:49:32.268][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.git
[16:49:32.268][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.svn
[16:49:32.268][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.DS_Store
[16:49:32.268][debug][#0:script/workspace/workspace.lua:191]: Ignore by exclude:	**/.hg
[16:49:32.268][debug][#0:script/workspace/workspace.lua:196]: Ignore directory:	.vscode
[16:49:32.268][debug][#0:script/workspace/workspace.lua:207]: meta path:	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8
[16:49:32.270][debug][#0:script/workspace/workspace.lua:228]: library matcher:	{ {
    matcher = {
      errors = {},
      interface = {
        list = <function 1>,
        type = <function 2>
      },
      matcher = { {
          matcher = <userdata 1>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = "CVS"
                } }
            } },
          <metatable> = <1>{
            __call = <function 3>,
            __index = <table 1>,
            __name = "matcher",
            anyChar = <function 4>,
            anyPath = <function 5>,
            char = <function 6>,
            exp = <function 7>,
            isNeedDirectory = <function 8>,
            isNegative = <function 9>,
            oneChar = <function 10>,
            pattern = <function 11>,
            range = <function 12>,
            slash = <function 13>,
            word = <function 14>
          }
        }, {
          matcher = <userdata 2>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = "Thumbs.db"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 3>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".git"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 4>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".svn"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 5>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".DS_Store"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 6>,
          state = { {
              type = "**",
              value = "**"
            }, {
              type = "/",
              value = "/"
            }, {
              type = "word",
              value = { {
                  type = "char",
                  value = ".hg"
                } }
            } },
          <metatable> = <table 1>
        }, {
          matcher = <userdata 7>,
          state = { {
              type = "word",
              value = { {
                  type = "char",
                  value = ".vscode"
                } }
            } },
          <metatable> = <table 1>
        } },
      options = {
        ignoreCase = false,
        root = "/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8"
      },
      pattern = { "**/CVS", "**/Thumbs.db", "**/.git", "**/.svn", "**/.DS_Store", "**/.hg", ".vscode" },
      <metatable> = <2>{
        __call = <function 15>,
        __index = <table 2>,
        __name = "gitignore",
        addPattern = <function 16>,
        callInterface = <function 17>,
        checkDirectory = <function 18>,
        finishMatch = <function 19>,
        getRelativePath = <function 20>,
        hasInterface = <function 21>,
        scan = <function 22>,
        setInterface = <function 23>,
        setOption = <function 24>,
        simpleMatch = <function 25>
      }
    },
    uri = "file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8"
  } }
[16:49:32.270][info] [#0:script/workspace/workspace.lua:327]: Scan library at:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.271][debug][#0:script/filewatch.lua:46]: fw.add	/Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua 5.4 en-us utf8
[16:49:32.272][info] [#0:script/workspace/workspace.lua:327]: Scan library at:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.377][info] [#0:script/workspace/workspace.lua:347]: Found 11 files at:	<fallback>
[16:49:32.377][info] [#0:script/workspace/loading.lua:157]: Load files from disk:	<fallback>
[16:49:32.377][info] [#0:script/workspace/workspace.lua:347]: Found 12 files at:	file:///Users/user/Desktop/Test
[16:49:32.377][info] [#0:script/workspace/loading.lua:157]: Load files from disk:	file:///Users/user/Desktop/Test
[16:49:32.378][debug][#0:script/files.lua:435]: add ref	file:///Users/user/Desktop/Test/Test.lua	1
[16:49:32.378][debug][#0:script/workspace/loading.lua:89]: Skip loaded file: file:///Users/user/Desktop/Test/Test.lua
[16:49:32.484][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/builtin.lua , size = 0.300 KB
[16:49:32.484][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/builtin.lua	takes	0.00022000000000003	sec.
[16:49:32.484][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/builtin.lua
[16:49:32.486][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/builtin.lua	1
[16:49:32.486][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.487][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/package.lua , size = 3.042 KB
[16:49:32.487][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/package.lua	takes	0.00015899999999999	sec.
[16:49:32.487][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/package.lua
[16:49:32.489][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/package.lua	1
[16:49:32.489][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.489][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/builtin.lua , size = 0.300 KB
[16:49:32.489][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/builtin.lua	2
[16:49:32.489][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.489][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/package.lua , size = 3.042 KB
[16:49:32.489][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/package.lua	2
[16:49:32.489][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.489][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/utf8.lua , size = 2.442 KB
[16:49:32.490][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/utf8.lua	takes	0.00015499999999999	sec.
[16:49:32.490][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/utf8.lua
[16:49:32.492][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/utf8.lua	1
[16:49:32.492][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.492][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/utf8.lua , size = 2.442 KB
[16:49:32.492][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/utf8.lua	2
[16:49:32.492][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.492][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/io.lua , size = 6.620 KB
[16:49:32.492][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/io.lua	takes	0.000108	sec.
[16:49:32.493][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/io.lua
[16:49:32.499][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/io.lua	1
[16:49:32.499][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.499][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/io.lua , size = 6.620 KB
[16:49:32.499][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/io.lua	2
[16:49:32.499][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.499][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/debug.lua , size = 7.828 KB
[16:49:32.499][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/debug.lua	takes	0.00010099999999999	sec.
[16:49:32.499][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/debug.lua
[16:49:32.504][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/debug.lua	1
[16:49:32.504][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.505][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/debug.lua , size = 7.828 KB
[16:49:32.505][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/debug.lua	2
[16:49:32.505][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.505][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua , size = 2.659 KB
[16:49:32.505][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua	takes	0.000113sec.
[16:49:32.505][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua
[16:49:32.506][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua	1
[16:49:32.506][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.506][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua , size = 2.659 KB
[16:49:32.506][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua	2
[16:49:32.507][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.507][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/math.lua , size = 9.017 KB
[16:49:32.507][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/math.lua	takes	9.1000000000008e-05	sec.
[16:49:32.507][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/math.lua
[16:49:32.515][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/math.lua	1
[16:49:32.515][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.515][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/math.lua , size = 9.017 KB
[16:49:32.516][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/math.lua	2
[16:49:32.516][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.516][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/string.lua , size = 6.396 KB
[16:49:32.516][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/string.lua	takes	9.5000000000012e-05	sec.
[16:49:32.516][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/string.lua
[16:49:32.520][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/string.lua	1
[16:49:32.520][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.520][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/string.lua , size = 6.396 KB
[16:49:32.520][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/string.lua	2
[16:49:32.520][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.520][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/os.lua , size = 4.540 KB
[16:49:32.520][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/os.lua	takes	0.00010200000000002	sec.
[16:49:32.520][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/os.lua
[16:49:32.523][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/os.lua	1
[16:49:32.523][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.523][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/os.lua , size = 4.540 KB
[16:49:32.523][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/os.lua	2
[16:49:32.523][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.523][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/table.lua , size = 4.320 KB
[16:49:32.523][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/table.lua	takes	9.3999999999983e-05	sec.
[16:49:32.523][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/table.lua
[16:49:32.526][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/table.lua	1
[16:49:32.526][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.526][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/basic.lua , size = 14.540 KB
[16:49:32.526][trace][#0:script/files.lua:275]: Set text:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/basic.lua	takes	0.00010000000000002	sec.
[16:49:32.526][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/basic.lua
[16:49:32.537][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/basic.lua	1
[16:49:32.537][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.537][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/table.lua , size = 4.320 KB
[16:49:32.537][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/table.lua	2
[16:49:32.537][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.537][debug][#0:script/workspace/loading.lua:97]: Preload file at: file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/basic.lua , size = 14.540 KB
[16:49:32.537][debug][#0:script/files.lua:435]: add ref	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8/basic.lua	2
[16:49:32.537][debug][#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/user/.vscode/extensions/sumneko.lua-3.6.4-darwin-x64/server/meta/Lua%205.4%20en-us%20utf8
[16:49:32.640][info] [#0:script/workspace/loading.lua:169]: Loaded files takes [0.059] sec: <fallback>
[16:49:32.641][info] [#0:script/workspace/loading.lua:178]: Compile files takes [0.000] sec: <fallback>
[16:49:32.641][info] [#0:script/workspace/loading.lua:179]: Loaded finish:	<fallback>
[16:49:32.641][info] [#0:script/workspace/workspace.lua:349]: Preload finish at:	<fallback>
[16:49:32.644][debug][#0:script/vm/node.lua:460]: clearNodeCache
[16:49:32.645][debug][#0:script/provider/diagnostic.lua:639]: Refresh client diagnostics
[16:49:32.645][info] [#0:script/workspace/loading.lua:169]: Loaded files takes [0.063] sec: file:///Users/user/Desktop/Test
[16:49:32.645][info] [#0:script/workspace/loading.lua:178]: Compile files takes [0.000] sec: file:///Users/user/Desktop/Test
[16:49:32.645][info] [#0:script/workspace/loading.lua:179]: Loaded finish:	file:///Users/user/Desktop/Test
[16:49:32.645][info] [#0:script/workspace/workspace.lua:349]: Preload finish at:	file:///Users/user/Desktop/Test
[16:49:32.645][trace][#0:script/files.lua:674]: Compile State:	file:///Users/user/Desktop/Test/Test.lua
[16:49:32.659][debug][#0:script/vm/node.lua:460]: clearNodeCache
[16:49:32.659][debug][#0:script/provider/diagnostic.lua:639]: Refresh client diagnostics
[16:49:32.663][info] [#0:script/provider/diagnostic.lua:552]: Diagnostics scope [file:///Users/user/Desktop/Test], files count:[12]
[16:49:32.689][debug][#0:script/provider/diagnostic.lua:327]: publishDiagnostics	file:///Users/user/Desktop/Test/Test.lua	3
[16:49:32.689][info] [#0:script/provider/diagnostic.lua:569]: Diagnostics scope [file:///Users/user/Desktop/Test] finished, takes [0.023] sec.
[16:49:32.689][debug][#0:script/vm/node.lua:460]: clearNodeCache

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza reproduciendo los diagnósticos con los ejemplos proporcionados de @class, @param y @return, comparando los argumentos de clase directos con arrays de clases. Sigue los puntos de entrada de las anotaciones y la comprobación de tipos responsables de validar los campos. Se considera terminado cuando los campos obligatorios ausentes, los campos desconocidos y los tipos de campo no válidos se diagnostican de forma coherente para los parámetros y retornos de clases y arrays de clases.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
lua
Área
devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.