Skip to content

Commit c0d3b02

Browse files
Add automatic Paket Install on file save
1 parent 38f498e commit c0d3b02

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

release/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@
112112
"type": "boolean",
113113
"default": true,
114114
"description": "Automatically shows Paket output panel"
115+
},
116+
"Paket.autoInstall": {
117+
"type": "boolean",
118+
"default": false,
119+
"description": "Automatically runs Paket Install on paket.dependencies and paket.references save"
115120
}
116121
}
117122
}

src/paket.fs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,13 @@ let private createReferencesProvider () =
296296
} |> Case2
297297
}
298298

299+
let private saveHandler (doc : TextDocument) =
300+
let config =
301+
let cfg = vscode.workspace.getConfiguration()
302+
cfg.get ("Paket.autoInstall", false)
303+
if (doc.fileName.EndsWith "paket.references" || doc.fileName.EndsWith "paket.dependencies" ) && config then
304+
Install ()
305+
299306
let activate(context: vscode.ExtensionContext) =
300307
let registerCommand com (f: unit->unit) =
301308
vscode.commands.registerCommand(com, unbox<Func<obj,obj>> f)
@@ -317,6 +324,9 @@ let activate(context: vscode.ExtensionContext) =
317324
languages.registerCompletionItemProvider(referencesSelector, createReferencesProvider())
318325
|> ignore
319326

327+
workspace.onDidSaveTextDocument.Invoke(unbox saveHandler, null, unbox context.subscriptions)
328+
|> ignore
329+
320330

321331
registerCommand "paket.Init" Init
322332
registerCommand "paket.Install" Install

0 commit comments

Comments
 (0)