diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2021-11-16 15:14:10 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2021-11-16 15:14:10 +0800 |
commit | 0db905ab64b8e6486f04f5a48d4871eb14141379 (patch) | |
tree | 8935a7cb1b65450aa7067e0068abaff92081a3c2 | |
parent | 4c636f0c792fb7abcdf4d38430be23d8bfc40491 (diff) | |
download | lua-language-server-0db905ab64b8e6486f04f5a48d4871eb14141379.zip |
`Lua.IntelliSense.localSet`
-rw-r--r-- | script/config/config.lua | 1 | ||||
-rw-r--r-- | script/core/noder.lua | 4 | ||||
-rw-r--r-- | test/definition/bug.lua | 4 | ||||
-rw-r--r-- | test/hover/init.lua | 4 | ||||
-rw-r--r-- | test/type_inference/init.lua | 4 |
5 files changed, 17 insertions, 0 deletions
diff --git a/script/config/config.lua b/script/config/config.lua index c2eec880..07b8b77c 100644 --- a/script/config/config.lua +++ b/script/config/config.lua @@ -202,6 +202,7 @@ local Template = { ['Lua.hint.await'] = Type.Boolean >> true, ['Lua.window.statusBar'] = Type.Boolean >> true, ['Lua.window.progressBar'] = Type.Boolean >> true, + ['Lua.IntelliSense.localSet'] = Type.Boolean >> false, ['Lua.telemetry.enable'] = Type.Or(Type.Boolean >> false, Type.Nil), ['files.associations'] = Type.Hash(Type.String, Type.String), ['files.exclude'] = Type.Hash(Type.String, Type.Boolean), diff --git a/script/core/noder.lua b/script/core/noder.lua index e40df0a2..999b797e 100644 --- a/script/core/noder.lua +++ b/script/core/noder.lua @@ -2,6 +2,7 @@ local util = require 'utility' local guide = require 'parser.guide' local collector = require 'core.collector' local files = require 'files' +local config = require 'config' local tostring = tostring local error = error @@ -747,6 +748,9 @@ local function bindValue(noders, source, id) end if source.type == 'getlocal' or source.type == 'setlocal' then + if not config.get 'Lua.IntelliSense.localSet' then + return + end source = source.node end if source.bindDocs and value.type ~= 'table' then diff --git a/test/definition/bug.lua b/test/definition/bug.lua index aace2aee..d9f85899 100644 --- a/test/definition/bug.lua +++ b/test/definition/bug.lua @@ -1,3 +1,5 @@ +local config = require "config" + TEST [[ local <!x!> function _(x) @@ -170,6 +172,7 @@ string.xx:<?format?>() --v.<?bar1?> --]] +config.set('Lua.IntelliSense.localSet', true) TEST [[ local A, B @@ -229,6 +232,7 @@ end local <!b!> = B:get() print(<?b?>) ]] +config.set('Lua.IntelliSense.localSet', false) TEST [[ g[a.b.c] = 1 diff --git a/test/hover/init.lua b/test/hover/init.lua index 089a4b51..5d275091 100644 --- a/test/hover/init.lua +++ b/test/hover/init.lua @@ -838,6 +838,7 @@ local t: { } ]] +config.set('Lua.IntelliSense.localSet', true) TEST [[ local x x = 1 @@ -848,6 +849,7 @@ print(<?x?>) [[ local x: number = 1 ]] +config.set('Lua.IntelliSense.localSet', false) TEST [[ local <?x?> <close> = 1 @@ -1728,6 +1730,7 @@ t.<?x?>() field t.x: any ]] +config.set('Lua.IntelliSense.localSet', true) TEST [[ ---@class A local a @@ -1740,6 +1743,7 @@ print(b.<?x?>) [[ field A.x: any ]] +config.set('Lua.IntelliSense.localSet', false) TEST [[ ---@class A diff --git a/test/type_inference/init.lua b/test/type_inference/init.lua index a3764328..96da94aa 100644 --- a/test/type_inference/init.lua +++ b/test/type_inference/init.lua @@ -57,6 +57,7 @@ local var = '111' t.<?x?> = var ]] +config.set('Lua.IntelliSense.localSet', true) TEST 'string' [[ local <?var?> var = '111' @@ -67,6 +68,7 @@ local var var = '111' print(<?var?>) ]] +config.set('Lua.IntelliSense.localSet', false) TEST 'function' [[ function <?xx?>() @@ -78,11 +80,13 @@ local function <?xx?>() end ]] +config.set('Lua.IntelliSense.localSet', true) TEST 'function' [[ local xx <?xx?> = function () end ]] +config.set('Lua.IntelliSense.localSet', false) TEST 'table' [[ local <?t?> = {} |