View tasks.json
// from
// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file's basename
// ${fileDirname}: the current opened file's dirname
// ${fileExtname}: the current opened file's extension
// ${cwd}: the current working directory of the spawned process
// A task runner that calls a custom npm script that compiles the extension.
View Appointments.generated.fs
namespace Pm.Schema.DataModels.Appointments // Generated by generateMultiple.linq
open System
open System.ComponentModel
open Pm.Schema
open Pm.Schema.BReusable
// typeName:Appointment writeable:false useOptions:false
/// 29 properties
View BReusablePm.fs
module Pm.Schema.BReusable
open System
open System.Collections.Generic
open System.Diagnostics
//consider pulling in useful functions from
// long pipe chains don't allow breakpoints anywhere inside
// does this need anything to prevent the method from being inlined/optimized away?
View .ionide
linuxPrefix = "mono"
command = "build.cmd"
build = "build.fsx"
View build.fsx
#r @"packages/FAKE/tools/FakeLib.dll"
open Fake
let lprunPath = @"C:\ProgramData\LINQPad\Updates50\510\lprun.exe"
type System.String with
static member Delimit delimiter (items:string seq) =
String.Join(delimiter,items |> Array.ofSeq)
module Proc =
// ExecProcess is a thin wrapper around Process.Start
View LoginPopup.xaml.cs
// consider doing this in the Load or Window_ContentRendered events instead
// options to clean up temporary things like frontmost could be done in Window_Initialized
// using options from
public new bool? ShowDialog()
var t = new System.Threading.Tasks.Task(() =>
// wait for the window to show from show dialog
View ComputationExpressions.fs
// trying to learn computation expressions
#if LINQPAD // doesn't actually work right in linqpad, but conveys intention, hopefully
let dumpt (title:string) x = x.Dump(title); x
let dumpt (title:string) x = printfn "%s:%A" title x; x
module AttemptBuilding =
View JoinCodeSprocCallsToDbProject.fs
// search code for sproc references and check that they exist in the db project
// consider three different joins, one with each as primary to find things that exist in one but not the other
// compiles and does exactly what is desired now
module Settings =
let debug = false
let slnRoot = Path.Combine(Environment.ExpandEnvironmentVariables("%devroot%"),"PracticeManagement","dev","PracticeManagement")
let startPath = slnRoot
let sqlProjDirectory = Path.Combine(slnRoot,"Db") //C:\TFS\PracticeManagement\dev\PracticeManagement\Db
let sqlProjectFile =
// let the finding of code references work even if the sql project file doesn't exist
View program.fs
// Suave is working!
// Learn more about F# at
// See the 'F# Tutorial' project for more help.
open System
open System.IO
open Suave
open Suave.Http
open Suave.Http.Applicatives
open Suave.Http.Successful
View tasks.json
// See
// for the documentation about the tasks.json format
// in projectDir/.vscode
"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"args": [