Skip to content

Commit 233a8ad

Browse files
Add New Project without FAKE command
1 parent 6dc99b4 commit 233a8ad

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

release/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@
100100
"command": "fsharp.NewProject",
101101
"title": "F#: New Project"
102102
},
103+
{
104+
"command": "fsharp.NewProjectNoFake",
105+
"title": "F#: New Project (Without FAKE)"
106+
},
103107
{
104108
"command": "fsharp.RefreshProjectTemplates",
105109
"title": "F#: Refresh Project Templates"
@@ -185,6 +189,7 @@
185189
"onCommand:fsharp.Methods",
186190
"onCommand:webpreview.Show",
187191
"onCommand:fsharp.NewProject",
192+
"onCommand:fsharp.NewProjectNoFake",
188193
"onCommand:fsharp.RefreshProjectTemplates",
189194
"onCommand:fsharp.AddProjectReference",
190195
"onCommand:fsharp.RemoveProjectReference",

src/Components/Forge.fs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,49 @@ module Forge =
182182
|> ignore
183183
}
184184

185+
let newProjectNoFake () =
186+
promise {
187+
//let! lst = "list templates" |> execForge
188+
// let n = handleForgeList lst
189+
let n =
190+
[
191+
"classlib"
192+
"console"
193+
"fslabbasic"
194+
"fslabjournal"
195+
"pcl259"
196+
"suave"
197+
"windows"
198+
"fsunit"
199+
"aspwebapi2"
200+
"websharperspa"
201+
"websharperserverclient"
202+
"websharpersuave"
203+
"servicefabrichost"
204+
"servicefabricsuavestateless"
205+
] |> ResizeArray
206+
207+
208+
if n.Count <> 0 then
209+
let! template = window.showQuickPick ( n |> Case1)
210+
if JS.isDefined template then
211+
let opts = createEmpty<InputBoxOptions>
212+
opts.prompt <- Some "Project directory"
213+
let! dir = window.showInputBox (opts)
214+
215+
let opts = createEmpty<InputBoxOptions>
216+
opts.prompt <- Some "Project name"
217+
let! name = window.showInputBox(opts)
218+
if JS.isDefined dir && JS.isDefined name then
219+
sprintf "new project -n %s -t %s --folder %s --no-fake" name template dir |> spawnForge |> ignore
220+
221+
window.showInformationMessage "Project created"
222+
|> ignore
223+
else
224+
window.showInformationMessage "No templates found. Run `F#: Refresh Project Templates` command"
225+
|> ignore
226+
}
227+
185228

186229

187230
let activate disposables =
@@ -192,6 +235,7 @@ module Forge =
192235
commands.registerCommand("fsharp.MoveFileUp", moveFileUp |> unbox) |> ignore
193236
commands.registerCommand("fsharp.MoveFileDown", moveFileDown |> unbox) |> ignore
194237
commands.registerCommand("fsharp.NewProject", newProject |> unbox) |> ignore
238+
commands.registerCommand("fsharp.NewProjectNoFake", newProjectNoFake |> unbox) |> ignore
195239
commands.registerCommand("fsharp.RefreshProjectTemplates", refreshTemplates |> unbox) |> ignore
196240
commands.registerTextEditorCommand("fsharp.AddFileToProject", addCurrentFileToProject |> unbox) |> ignore
197241
commands.registerTextEditorCommand("fsharp.RemoveFileFromProject", removeCurrentFileFromProject |> unbox) |> ignore

0 commit comments

Comments
 (0)