Skip to content

Commit ce3a22b

Browse files
committed
cleanup
1 parent 3776068 commit ce3a22b

File tree

10 files changed

+54
-52
lines changed

10 files changed

+54
-52
lines changed

script/client.lua

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ local config = require 'config'
77
local converter = require 'proto.converter'
88
local json = require 'json-beautify'
99
local await = require 'await'
10+
local scope = require 'workspace.scope'
1011

1112
local m = {}
1213

@@ -204,8 +205,7 @@ end
204205
---@param changes config.change[]
205206
---@return boolean
206207
local function applyConfig(cfg, uri, changes)
207-
local ws = require 'workspace'
208-
local scp = ws.getScope(uri)
208+
local scp = scope.getScope(uri)
209209
local ok = false
210210
for _, change in ipairs(changes) do
211211
if scp:isChildUri(change.uri)
@@ -222,8 +222,7 @@ local function tryModifySpecifiedConfig(uri, finalChanges)
222222
return false
223223
end
224224
local workspace = require 'workspace'
225-
local loader = require 'config.loader'
226-
local scp = workspace.getScope(uri)
225+
local scp = scope.getScope(uri)
227226
if scp:get('lastLocalType') ~= 'json' then
228227
return false
229228
end
@@ -249,7 +248,7 @@ local function tryModifyRC(uri, finalChanges, create)
249248
if not buf and not create then
250249
return false
251250
end
252-
local scp = workspace.getScope(uri)
251+
local scp = scope.getScope(uri)
253252
local rc = scp:get('lastRCConfig') or {
254253
['$schema'] = lang.id == 'zh-cn' and [[https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema-zh-cn.json]] or [[https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json]]
255254
}
@@ -268,8 +267,7 @@ local function tryModifyClient(uri, finalChanges)
268267
if not m.getOption 'changeConfiguration' then
269268
return false
270269
end
271-
local ws = require 'workspace'
272-
local scp = ws.getScope(uri)
270+
local scp = scope.getScope(uri)
273271
local scpChanges = {}
274272
for _, change in ipairs(finalChanges) do
275273
if change.uri

script/config/loader.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ local proto = require 'proto'
33
local lang = require 'language'
44
local util = require 'utility'
55
local workspace = require 'workspace'
6+
local scope = require 'workspace.scope'
67

78
local function errorMessage(msg)
89
proto.notify('window/showMessage', {
@@ -16,7 +17,7 @@ end
1617
local m = {}
1718

1819
function m.loadRCConfig(uri, filename)
19-
local scp = workspace.getScope(uri)
20+
local scp = scope.getScope(uri)
2021
local path = workspace.getAbsolutePath(uri, filename)
2122
if not path then
2223
scp:set('lastRCConfig', nil)
@@ -37,7 +38,7 @@ function m.loadRCConfig(uri, filename)
3738
end
3839

3940
function m.loadLocalConfig(uri, filename)
40-
local scp = workspace.getScope(uri)
41+
local scp = scope.getScope(uri)
4142
local path = workspace.getAbsolutePath(uri, filename)
4243
if not path then
4344
scp:set('lastLocalConfig', nil)

script/files.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ function m.compileState(uri, text)
485485
end
486486
return nil
487487
end
488-
local prog <close> = progress.create(ws.getScope(uri), lang.script.WINDOW_COMPILING, 0.5)
488+
local prog <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_COMPILING, 0.5)
489489
prog:setMessage(ws.getRelativePath(uri))
490490
local clock = os.clock()
491491
local state, err = parser.compile(text

script/library.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ local await = require 'await'
1212
local timer = require 'timer'
1313
local encoder = require 'encoder'
1414
local ws = require 'workspace.workspace'
15+
local scope = require 'workspace.scope'
1516

1617
local m = {}
1718

@@ -203,7 +204,7 @@ end
203204

204205
local function initBuiltIn(uri)
205206
log.info('Init builtin library at:', uri)
206-
local scp = ws.getScope(uri)
207+
local scp = scope.getScope(uri)
207208
local langID = lang.id
208209
local version = config.get(uri, 'Lua.runtime.version')
209210
local encoding = config.get(uri, 'Lua.runtime.fileEncoding')

script/plugin.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ local util = require 'utility'
33
local client = require 'client'
44
local lang = require 'language'
55
local await = require 'await'
6+
local scope = require 'workspace.scope'
67

78
---@class plugin
89
local m = {}
@@ -16,8 +17,7 @@ function m.showError(scp, err)
1617
end
1718

1819
function m.dispatch(event, uri, ...)
19-
local ws = require 'workspace'
20-
local scp = ws.getScope(uri)
20+
local scp = scope.getScope(uri)
2121
local interface = scp:get('pluginInterface')
2222
if not interface then
2323
return false

script/provider/diagnostic.lua

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ local progress = require "progress"
1111
local client = require 'client'
1212
local converter = require 'proto.converter'
1313
local loading = require 'workspace.loading'
14+
local scope = require 'workspace.scope'
1415

1516
---@class diagnosticProvider
1617
local m = {}
@@ -216,7 +217,7 @@ function m.doDiagnostic(uri, isScopeDiag)
216217
end
217218

218219
local version = files.getVersion(uri)
219-
local scp = ws.getScope(uri)
220+
local scp = scope.getScope(uri)
220221

221222
local prog <close> = progress.create(scp, lang.script.WINDOW_DIAGNOSING, 0.5)
222223
prog:setMessage(ws.getRelativePath(uri))
@@ -351,7 +352,7 @@ function m.diagnosticsScope(uri, force)
351352
if not force and delay < 0 then
352353
return
353354
end
354-
local scp = ws.getScope(uri)
355+
local scp = scope.getScope(uri)
355356
local id = 'diagnosticsScope:' .. scp:getName()
356357
await.close(id)
357358
await.call(function () ---@async
@@ -360,7 +361,7 @@ function m.diagnosticsScope(uri, force)
360361
await.sleep(1.0)
361362
end
362363
local clock = os.clock()
363-
local bar <close> = progress.create(ws.getScope(uri), lang.script.WORKSPACE_DIAGNOSTIC, 1)
364+
local bar <close> = progress.create(scope.getScope(uri), lang.script.WORKSPACE_DIAGNOSTIC, 1)
364365
local cancelled
365366
bar:onCancel(function ()
366367
log.debug('Cancel workspace diagnostics')

script/provider/provider.lua

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ m.register 'textDocument/hover' {
276276
}
277277
}
278278
end
279-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_HOVER, 0.5)
279+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_HOVER, 0.5)
280280
local core = require 'core.hover'
281281
if not files.exists(uri) then
282282
return nil
@@ -305,7 +305,7 @@ m.register 'textDocument/definition' {
305305
if not files.exists(uri) then
306306
return nil
307307
end
308-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_DEFINITION, 0.5)
308+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_DEFINITION, 0.5)
309309
local core = require 'core.definition'
310310
local pos = converter.unpackPosition(uri, params.position)
311311
local result = core(uri, pos)
@@ -344,7 +344,7 @@ m.register 'textDocument/typeDefinition' {
344344
if not files.exists(uri) then
345345
return nil
346346
end
347-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_TYPE_DEFINITION, 0.5)
347+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_TYPE_DEFINITION, 0.5)
348348
local core = require 'core.type-definition'
349349
local pos = converter.unpackPosition(uri, params.position)
350350
local result = core(uri, pos)
@@ -383,7 +383,7 @@ m.register 'textDocument/references' {
383383
if not files.exists(uri) then
384384
return nil
385385
end
386-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_REFERENCE, 0.5)
386+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_REFERENCE, 0.5)
387387
local core = require 'core.reference'
388388
local pos = converter.unpackPosition(uri, params.position)
389389
local result = core(uri, pos)
@@ -434,7 +434,7 @@ m.register 'textDocument/rename' {
434434
if not files.exists(uri) then
435435
return nil
436436
end
437-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_RENAME, 0.5)
437+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_RENAME, 0.5)
438438
local core = require 'core.rename'
439439
local pos = converter.unpackPosition(uri, params.position)
440440
local result = core.rename(uri, pos, params.newName)
@@ -494,7 +494,7 @@ m.register 'textDocument/completion' {
494494
}
495495
}
496496
end
497-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_COMPLETION, 0.5)
497+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_COMPLETION, 0.5)
498498
--log.info(util.dump(params))
499499
local core = require 'core.completion'
500500
--log.debug('textDocument/completion')
@@ -640,7 +640,7 @@ m.register 'textDocument/signatureHelp' {
640640
if not files.exists(uri) then
641641
return nil
642642
end
643-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_SIGNATURE, 0.5)
643+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_SIGNATURE, 0.5)
644644
local pos = converter.unpackPosition(uri, params.position)
645645
local core = require 'core.signature'
646646
local results = core(uri, pos)
@@ -680,7 +680,7 @@ m.register 'textDocument/documentSymbol' {
680680
function (params)
681681
local uri = files.getRealUri(params.textDocument.uri)
682682
workspace.awaitReady(uri)
683-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_SYMBOL, 0.5)
683+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_SYMBOL, 0.5)
684684

685685
local core = require 'core.document-symbol'
686686
local symbols = core(uri)
@@ -815,7 +815,7 @@ m.register 'textDocument/semanticTokens/full' {
815815
function (params)
816816
local uri = files.getRealUri(params.textDocument.uri)
817817
workspace.awaitReady(uri)
818-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_SEMANTIC_FULL, 0.5)
818+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_SEMANTIC_FULL, 0.5)
819819
local core = require 'core.semantic-tokens'
820820
local results = core(uri, 0, math.huge)
821821
return {
@@ -830,7 +830,7 @@ m.register 'textDocument/semanticTokens/range' {
830830
log.debug('textDocument/semanticTokens/range')
831831
local uri = files.getRealUri(params.textDocument.uri)
832832
workspace.awaitReady(uri)
833-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_SEMANTIC_RANGE, 0.5)
833+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_SEMANTIC_RANGE, 0.5)
834834
local core = require 'core.semantic-tokens'
835835
local start, finish = converter.unpackRange(uri, params.range)
836836
local results = core(uri, start, finish)
@@ -918,7 +918,7 @@ m.register 'textDocument/onTypeFormatting' {
918918
function (params)
919919
local uri = files.getRealUri(params.textDocument.uri)
920920
workspace.awaitReady(uri)
921-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_TYPE_FORMATTING, 0.5)
921+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_TYPE_FORMATTING, 0.5)
922922
local ch = params.ch
923923
if not files.exists(uri) then
924924
return nil
@@ -994,7 +994,7 @@ do
994994
workspace.awaitReady(uri)
995995
local edits = {}
996996
local hint = require 'core.hint'
997-
local _ <close> = progress.create(workspace.getScope(uri), lang.script.WINDOW_PROCESSING_HINT, 0.5)
997+
local _ <close> = progress.create(scope.getScope(uri), lang.script.WINDOW_PROCESSING_HINT, 0.5)
998998
for _, visible in ipairs(visibles) do
999999
local piece = hint(uri, visible.start, visible.finish)
10001000
if piece then

script/workspace/require-path.lua

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ local furi = require 'file-uri'
44
local workspace = require "workspace"
55
local config = require 'config'
66
local collector = require 'core.collector'
7+
local scope = require 'workspace.scope'
78

89
---@class require-path
910
local m = {}
1011

1112
local function addRequireName(suri, uri, name)
1213
local separator = config.get(uri, 'Lua.completion.requireSeparator')
1314
local fsname = name:gsub('%' .. separator, '/')
14-
local scp = workspace.getScope(suri)
15+
local scp = scope.getScope(suri)
1516
---@type collector
1617
local clt = scp:get('requireName') or scp:set('requireName', collector())
1718
clt:subscribe(uri, fsname, name)
@@ -43,7 +44,7 @@ function m.getVisiblePath(suri, path)
4344
path = workspace.normalize(path)
4445
local uri = furi.encode(path)
4546
local libraryPath = files.getLibraryPath(uri)
46-
local scp = workspace.getScope(suri)
47+
local scp = scope.getScope(suri)
4748
local cache = scp:get('visiblePath') or scp:set('visiblePath', {})
4849
if not cache[path] then
4950
local result = {}
@@ -114,7 +115,7 @@ function m.findUrisByRequirePath(suri, path)
114115
end
115116

116117
---@type collector
117-
local clt = workspace.getScope(suri):get('requireName')
118+
local clt = scope.getScope(suri):get('requireName')
118119
if clt then
119120
for _, uri in clt:each(suri, fspath) do
120121
local infos = m.getVisiblePath(suri, furi.decode(uri))
@@ -146,12 +147,12 @@ local function removeVisiblePath(uri)
146147
scp:get('visiblePath')[path] = nil
147148
scp:get('requireName'):dropUri(uri)
148149
end
149-
workspace.getScope(nil):get('visiblePath')[path] = nil
150-
workspace.getScope(nil):get('requireName'):dropUri(uri)
150+
scope.getScope(nil):get('visiblePath')[path] = nil
151+
scope.getScope(nil):get('requireName'):dropUri(uri)
151152
end
152153

153154
function m.flush(suri)
154-
local scp = workspace.getScope(suri)
155+
local scp = scope.getScope(suri)
155156
scp:set('visiblePath', {})
156157
---@type collector
157158
local clt = scp:get('requireName')

script/workspace/scope.lua

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function mt:isChildUri(uri)
3737
return false
3838
end
3939
if not self.uri then
40-
return true
40+
return false
4141
end
4242
return uri:sub(1, #self.uri) == self.uri
4343
end
@@ -146,4 +146,12 @@ function m.getLinkedScope(uri)
146146
end
147147
end
148148

149+
---@param uri uri
150+
---@return scope
151+
function m.getScope(uri)
152+
return m.getFolder(uri)
153+
or m.getLinkedScope(uri)
154+
or m.fallback
155+
end
156+
149157
return m

0 commit comments

Comments
 (0)