@@ -10,19 +10,31 @@ open CSharpLanguageServer.Types
10
10
open CSharpLanguageServer.Lsp
11
11
open CSharpLanguageServer.Logging
12
12
13
+ type CLIArguments =
14
+ | [<AltCommandLine( " -v" ) >] Version
15
+ | [<AltCommandLine( " -l" ) >] LogLevel of level : string
16
+ | [<AltCommandLine( " -s" ) >] Solution of solution : string
17
+ with
18
+ interface IArgParserTemplate with
19
+ member s.Usage =
20
+ match s with
21
+ | Version -> " display versioning information"
22
+ | Solution _ -> " .sln file to load (relative to CWD)"
23
+ | LogLevel _ -> " log level, <log|info|warning|error>; default is `log`"
24
+
13
25
[<EntryPoint>]
14
26
let entry args =
15
27
try
16
- let argParser = ArgumentParser.Create< Options. CLIArguments>( programName = " csharp-ls" )
28
+ let argParser = ArgumentParser.Create< CLIArguments>( programName = " csharp-ls" )
17
29
let serverArgs = argParser.Parse args
18
30
19
- serverArgs.TryGetResult(<@ Options. CLIArguments.Version @>)
31
+ serverArgs.TryGetResult(<@ CLIArguments.Version @>)
20
32
|> Option.iter ( fun _ -> printfn " csharp-ls, %s "
21
33
( Assembly.GetExecutingAssembly() .GetName() .Version |> string)
22
34
exit 0 )
23
35
24
36
let logLevelArg =
25
- serverArgs.TryGetResult(<@ Options. CLIArguments.LogLevel @>)
37
+ serverArgs.TryGetResult(<@ CLIArguments.LogLevel @>)
26
38
|> Option.defaultValue " log"
27
39
28
40
let logLevel =
@@ -38,7 +50,7 @@ let entry args =
38
50
39
51
let settings = {
40
52
ServerSettings.Default with
41
- SolutionPath = serverArgs.TryGetResult(<@ Options. CLIArguments.Solution @>)
53
+ SolutionPath = serverArgs.TryGetResult(<@ CLIArguments.Solution @>)
42
54
LogLevel = logLevelArg
43
55
}
44
56
0 commit comments