Skip to content

Commit c127249

Browse files
committed
use AnAction
1 parent bb1067a commit c127249

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

ReSharper.FSharp/test/src/FSharp.Tests.Host/FSharpTestHost.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ type FSharpTestHost(lifetime: Lifetime, solution: ISolution, checkerService: Fcs
5454
solution.GetComponent<IProxyExtensionTypingProvider>().DumpTypeProvidersProcess()
5555

5656
do
57-
let fsTestHost = solution.RdFSharpModel().FSharpTestHost
57+
let fsTestHost = solution.RdFSharpModel().FsharpTestHost
5858

5959
// We want to get events published by background checker.
6060
checkerService.Checker.ImplicitlyStartBackgroundWork <- true

rider-fsharp/protocol/src/kotlin/model/RdFSharpModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ object RdFSharpModel : Ext(SolutionModel.Solution) {
6464
setting(CSharp50Generator.Namespace, "JetBrains.ReSharper.Plugins.FSharp")
6565

6666
field("fSharpInteractiveHost", RdFSharpInteractiveHost)
67-
field("fSharpTestHost", RdFSharpTestHost)
67+
field("fsharpTestHost", RdFSharpTestHost)
6868
field("fSharpTypeProvidersHost", RdFSharpTypeProvidersHost)
6969
property("fcsBusyDelayMs", int)
7070
}
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
package com.jetbrains.rider.plugins.fsharp.services.typeProviders
22

3-
import com.intellij.openapi.project.Project
3+
import com.intellij.openapi.actionSystem.AnAction
4+
import com.intellij.openapi.actionSystem.AnActionEvent
45
import com.jetbrains.rd.platform.util.lifetime
56
import com.jetbrains.rider.plugins.fsharp.rdFSharpModel
6-
import com.jetbrains.rider.projectView.actions.ProjectViewActionBase
77
import com.jetbrains.rider.projectView.solution
8-
import com.jetbrains.rider.projectView.workspace.ProjectModelEntity
9-
import com.jetbrains.rider.projectView.workspace.isSolution
108

11-
class RestartTypeProvidersAction : ProjectViewActionBase("Restart Type Providers", "Restart Type Providers") {
12-
override fun actionPerformedInternal(entity: ProjectModelEntity, project: Project) {
13-
project.solution.rdFSharpModel.fSharpTypeProvidersHost.restartTypeProviders.start(project.lifetime, Unit)
9+
class RestartTypeProvidersAction : AnAction("Restart Type Providers") {
10+
override fun update(e: AnActionEvent) {
11+
val project = e.project
12+
if (project != null) {
13+
e.presentation.isEnabledAndVisible = project.solution.rdFSharpModel.fSharpTypeProvidersHost.isLaunched.sync(Unit)
14+
}
1415
}
1516

16-
override fun getItemInternal(entity: ProjectModelEntity, project: Project) =
17-
if (entity.isSolution() && project.solution.rdFSharpModel.fSharpTypeProvidersHost.isLaunched.sync(Unit)) entity else null
17+
override fun actionPerformed(e: AnActionEvent) {
18+
val project = e.project
19+
if (project != null) {
20+
project.solution.rdFSharpModel.fSharpTypeProvidersHost.restartTypeProviders.start(project.lifetime, Unit)
21+
}
22+
}
1823
}

rider-fsharp/src/main/resources/META-INF/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
<add-to-group group-id="SolutionExplorerPopupMenu.Repl"/>
107107
</action>
108108
<action id="RestartTypeProvidersAction" class="com.jetbrains.rider.plugins.fsharp.services.typeProviders.RestartTypeProvidersAction" icon="/icons/Fsharp.svg">
109-
<add-to-group group-id="SolutionExplorerPopupMenu.Repl"/>
109+
<add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="Rider.Plugins.FSharp.FsiGroup"/>
110110
</action>
111111
</actions>
112112

0 commit comments

Comments
 (0)