Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions Marksman/Fatality.fs
Original file line number Diff line number Diff line change
@@ -1,20 +1,13 @@
module Marksman.Fatality

open System.Reflection
open Ionide.LanguageServerProtocol.Types

open Marksman.Misc
open Marksman.State
open Marksman.Workspace

let abort (stateOpt: Option<State>) (ex: exn) =
let marksmanAssembly = typeof<State>.Assembly

let marksmanVersion =
marksmanAssembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()
|> Option.ofObj
|> Option.map (fun attr -> attr.InformationalVersion)
|> Option.defaultValue (marksmanAssembly.GetName().Version.ToString())
let marksmanVersion = getAssemblyVersion ()

let clientDebugOut ({ Name = name; Version = versionOpt }: ClientInfo) =
eprintf $"Client: {name}"
Expand Down
9 changes: 9 additions & 0 deletions Marksman/Misc.fs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ module Marksman.Misc

open System
open System.IO
open System.Reflection
open System.Runtime.InteropServices
open System.Text
open System.Text.RegularExpressions
Expand Down Expand Up @@ -325,3 +326,11 @@ type FullDifference<'A> when 'A: comparison = {
changed: Set<'A>
unchanged: Set<'A>
}

let getAssemblyVersion () : string =
let assembly = Assembly.GetExecutingAssembly()

assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()
|> Option.ofObj
|> Option.map (fun attr -> attr.InformationalVersion)
|> Option.defaultValue (assembly.GetName().Version.ToString())
14 changes: 13 additions & 1 deletion Marksman/Program.fs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ open Serilog
module MS = Marksman.Server

open FSharp.SystemCommandLine
open Marksman.Misc

let configureLogging (verbosity: int) : unit =
let loggerConfig = LoggerConfiguration()
Expand Down Expand Up @@ -50,7 +51,18 @@ let startLSP (args: int * bool) : int =
Thread.Sleep(1000)


logger.info (Log.setMessage "Starting Marksman LSP server")
let version = getAssemblyVersion ()
let os = System.Runtime.InteropServices.RuntimeInformation.OSDescription

let arch =
System.Runtime.InteropServices.RuntimeInformation.OSArchitecture

logger.info (
Log.setMessage "Starting Marksman LSP server"
>> Log.addContext "version" version
>> Log.addContext "os" os
>> Log.addContext "arch" arch
)

let requestHandlings = Server.defaultRequestHandlings ()

Expand Down