Skip to content

Commit a2ddc19

Browse files
committed
feat: add folder name concept to workspace.scope
1 parent 06943cf commit a2ddc19

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

script/provider/provider.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ m.register 'initialize' {
119119

120120
if params.workspaceFolders then
121121
for _, folder in ipairs(params.workspaceFolders) do
122-
workspace.create(files.getRealUri(folder.uri))
122+
workspace.create(files.getRealUri(folder.uri), folder.name)
123123
end
124124
elseif params.rootUri then
125125
workspace.create(files.getRealUri(params.rootUri))

script/workspace/scope.lua

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ local m = {}
88
---@class scope
99
---@field type scope.type
1010
---@field uri? uri
11+
---@field folderName? string
1112
---@field _links table<uri, boolean>
1213
---@field _data table<string, any>
1314
---@field _gc gc
@@ -134,6 +135,11 @@ function mt:getName()
134135
return self.uri or ('<' .. self.type .. '>')
135136
end
136137

138+
---@return string?
139+
function mt:getFolderName()
140+
return self.folderName
141+
end
142+
137143
function mt:gc(obj)
138144
self._gc:add(obj)
139145
end
@@ -187,10 +193,12 @@ end
187193
m.reset()
188194

189195
---@param uri uri
196+
---@param folderName? string
190197
---@return scope
191-
function m.createFolder(uri)
198+
function m.createFolder(uri, folderName)
192199
local scope = createScope 'folder'
193200
scope.uri = uri
201+
scope.folderName = folderName
194202

195203
local inserted = false
196204
for i, otherScope in ipairs(m.folders) do

script/workspace/workspace.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ function m.initRoot(uri)
4444
end
4545

4646
--- 初始化工作区
47-
function m.create(uri)
47+
function m.create(uri, folderName)
4848
log.info('Workspace create: ', uri)
49-
local scp = scope.createFolder(uri)
49+
local scp = scope.createFolder(uri, folderName)
5050
m.folders[#m.folders+1] = scp
5151
if uri == furi.encode '/'
5252
or uri == furi.encode(os.getenv 'HOME' or '') then

0 commit comments

Comments
 (0)