Skip to content

Commit 9df9074

Browse files
committed
fix: remove heuristics and just default to no workspace folders
1 parent 1cf3bd9 commit 9df9074

File tree

2 files changed

+8
-22
lines changed

2 files changed

+8
-22
lines changed

apps/expert/lib/expert/state.ex

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,10 @@ defmodule Expert.State do
6363
response = initialize_result()
6464

6565
projects =
66-
case event.workspace_folders do
67-
nil ->
68-
find_projects(event.root_uri)
69-
70-
_ ->
71-
for %{uri: uri} <- event.workspace_folders,
72-
project = Project.new(uri),
73-
project.mix_project? do
74-
project
75-
end
66+
for %{uri: uri} <- event.workspace_folders || [],
67+
project = Project.new(uri),
68+
project.mix_project? do
69+
project
7670
end
7771

7872
ActiveProjects.set_projects(projects)
@@ -257,7 +251,7 @@ defmodule Expert.State do
257251

258252
def apply(%__MODULE__{} = state, %GenLSP.Notifications.TextDocumentDidSave{params: params}) do
259253
uri = params.text_document.uri
260-
project = Forge.Project.project_for_uri(state.configuration.projects, uri)
254+
project = Forge.Project.project_for_uri(ActiveProjects.projects(), uri)
261255

262256
case Document.Store.save(uri) do
263257
:ok ->
@@ -282,7 +276,7 @@ defmodule Expert.State do
282276
end
283277

284278
def apply(%__MODULE__{} = state, %Notifications.WorkspaceDidChangeWatchedFiles{params: params}) do
285-
for project <- state.configuration.projects,
279+
for project <- ActiveProjects.projects(),
286280
change <- params.changes do
287281
params = filesystem_event(project: Project, uri: change.uri, event_type: change.type)
288282
EngineApi.broadcast(project, params)

apps/expert/test/expert/expert_test.exs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,7 @@ defmodule ExpertTest do
239239

240240
test "supports missing workspace_folders in the request", %{
241241
client: client,
242-
project_root: project_root,
243-
main_project: main_project,
244-
secondary_project: secondary_project
242+
project_root: project_root
245243
} do
246244
assert :ok =
247245
request(
@@ -253,13 +251,7 @@ defmodule ExpertTest do
253251
"capabilities" => %{"workspace" => %{"workspaceFolders" => %{"supported" => true}}}
254252
})
255253

256-
assert [_, _] = projects = Expert.ActiveProjects.projects()
257-
258-
for project <- projects do
259-
assert project.root_uri in [main_project.root_uri, secondary_project.root_uri]
260-
261-
assert_project_alive?(project)
262-
end
254+
assert [] = Expert.ActiveProjects.projects()
263255
end
264256
end
265257

0 commit comments

Comments
 (0)