0 | module Language.LSP.Message.Trace
3 | import Language.LSP.Message.Derive
4 | import Language.LSP.Message.Utils
5 | import Language.Reflection
7 | %language ElabReflection
13 | data Trace = TraceOff | TraceMessages | TraceVerbose
17 | toJSON TraceOff = JString "off"
18 | toJSON TraceMessages = JString "messages"
19 | toJSON TraceVerbose = JString "verbose"
22 | FromJSON Trace where
23 | fromJSON (JString "off") = pure TraceOff
24 | fromJSON (JString "messages") = pure TraceMessages
25 | fromJSON (JString "verbose") = pure TraceVerbose
26 | fromJSON _ = neutral
30 | record SetTraceParams where
31 | constructor MkSetTraceParams
33 | %runElab deriveJSON defaultOpts `{SetTraceParams
}
37 | record LogTraceParams where
38 | constructor MkLogTraceParams
40 | verbose : Maybe String
41 | %runElab deriveJSON defaultOpts `{LogTraceParams
}