{- ORMOLU_DISABLE -}
{- HLINT ignore -}
-- THIS IS A GENERATED FILE, DO NOT EDIT

{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.MarkedString where

import Control.DeepSeq
import Data.Hashable
import GHC.Generics
import Language.LSP.Protocol.Utils.Misc
import Prettyprinter
import qualified Data.Aeson as Aeson
import qualified Data.Row as Row
import qualified Data.Row.Aeson as Aeson
import qualified Data.Row.Hashable as Hashable
import qualified Data.Text
import qualified Language.LSP.Protocol.Types.Common

{-# DEPRECATED MarkedString "use MarkupContent instead." #-}
{-|
MarkedString can be used to render human readable text. It is either a markdown string
or a code-block that provides a language and a code snippet. The language identifier
is semantically equal to the optional language identifier in fenced code blocks in GitHub
issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting

The pair of a language and a value is an equivalent to markdown:
```${language}
${value}
```

Note that markdown strings will be sanitized - that means html will be escaped.
@deprecated use MarkupContent instead.
-}
newtype MarkedString = MarkedString (Data.Text.Text Language.LSP.Protocol.Types.Common.|? (Row.Rec ("language" Row..== Data.Text.Text Row..+ ("value" Row..== Data.Text.Text Row..+ Row.Empty))))
  deriving newtype ([MarkedString] -> Value
[MarkedString] -> Encoding
MarkedString -> Bool
MarkedString -> Value
MarkedString -> Encoding
(MarkedString -> Value)
-> (MarkedString -> Encoding)
-> ([MarkedString] -> Value)
-> ([MarkedString] -> Encoding)
-> (MarkedString -> Bool)
-> ToJSON MarkedString
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: MarkedString -> Value
toJSON :: MarkedString -> Value
$ctoEncoding :: MarkedString -> Encoding
toEncoding :: MarkedString -> Encoding
$ctoJSONList :: [MarkedString] -> Value
toJSONList :: [MarkedString] -> Value
$ctoEncodingList :: [MarkedString] -> Encoding
toEncodingList :: [MarkedString] -> Encoding
$comitField :: MarkedString -> Bool
omitField :: MarkedString -> Bool
Aeson.ToJSON, Maybe MarkedString
Value -> Parser [MarkedString]
Value -> Parser MarkedString
(Value -> Parser MarkedString)
-> (Value -> Parser [MarkedString])
-> Maybe MarkedString
-> FromJSON MarkedString
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser MarkedString
parseJSON :: Value -> Parser MarkedString
$cparseJSONList :: Value -> Parser [MarkedString]
parseJSONList :: Value -> Parser [MarkedString]
$comittedField :: Maybe MarkedString
omittedField :: Maybe MarkedString
Aeson.FromJSON)
  deriving stock (Int -> MarkedString -> ShowS
[MarkedString] -> ShowS
MarkedString -> String
(Int -> MarkedString -> ShowS)
-> (MarkedString -> String)
-> ([MarkedString] -> ShowS)
-> Show MarkedString
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MarkedString -> ShowS
showsPrec :: Int -> MarkedString -> ShowS
$cshow :: MarkedString -> String
show :: MarkedString -> String
$cshowList :: [MarkedString] -> ShowS
showList :: [MarkedString] -> ShowS
Show, MarkedString -> MarkedString -> Bool
(MarkedString -> MarkedString -> Bool)
-> (MarkedString -> MarkedString -> Bool) -> Eq MarkedString
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MarkedString -> MarkedString -> Bool
== :: MarkedString -> MarkedString -> Bool
$c/= :: MarkedString -> MarkedString -> Bool
/= :: MarkedString -> MarkedString -> Bool
Eq, Eq MarkedString
Eq MarkedString =>
(MarkedString -> MarkedString -> Ordering)
-> (MarkedString -> MarkedString -> Bool)
-> (MarkedString -> MarkedString -> Bool)
-> (MarkedString -> MarkedString -> Bool)
-> (MarkedString -> MarkedString -> Bool)
-> (MarkedString -> MarkedString -> MarkedString)
-> (MarkedString -> MarkedString -> MarkedString)
-> Ord MarkedString
MarkedString -> MarkedString -> Bool
MarkedString -> MarkedString -> Ordering
MarkedString -> MarkedString -> MarkedString
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: MarkedString -> MarkedString -> Ordering
compare :: MarkedString -> MarkedString -> Ordering
$c< :: MarkedString -> MarkedString -> Bool
< :: MarkedString -> MarkedString -> Bool
$c<= :: MarkedString -> MarkedString -> Bool
<= :: MarkedString -> MarkedString -> Bool
$c> :: MarkedString -> MarkedString -> Bool
> :: MarkedString -> MarkedString -> Bool
$c>= :: MarkedString -> MarkedString -> Bool
>= :: MarkedString -> MarkedString -> Bool
$cmax :: MarkedString -> MarkedString -> MarkedString
max :: MarkedString -> MarkedString -> MarkedString
$cmin :: MarkedString -> MarkedString -> MarkedString
min :: MarkedString -> MarkedString -> MarkedString
Ord, (forall x. MarkedString -> Rep MarkedString x)
-> (forall x. Rep MarkedString x -> MarkedString)
-> Generic MarkedString
forall x. Rep MarkedString x -> MarkedString
forall x. MarkedString -> Rep MarkedString x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. MarkedString -> Rep MarkedString x
from :: forall x. MarkedString -> Rep MarkedString x
$cto :: forall x. Rep MarkedString x -> MarkedString
to :: forall x. Rep MarkedString x -> MarkedString
Generic)
  deriving anyclass (MarkedString -> ()
(MarkedString -> ()) -> NFData MarkedString
forall a. (a -> ()) -> NFData a
$crnf :: MarkedString -> ()
rnf :: MarkedString -> ()
NFData, Eq MarkedString
Eq MarkedString =>
(Int -> MarkedString -> Int)
-> (MarkedString -> Int) -> Hashable MarkedString
Int -> MarkedString -> Int
MarkedString -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> MarkedString -> Int
hashWithSalt :: Int -> MarkedString -> Int
$chash :: MarkedString -> Int
hash :: MarkedString -> Int
Hashable)
  deriving (forall ann. MarkedString -> Doc ann)
-> (forall ann. [MarkedString] -> Doc ann) -> Pretty MarkedString
forall ann. [MarkedString] -> Doc ann
forall ann. MarkedString -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. MarkedString -> Doc ann
pretty :: forall ann. MarkedString -> Doc ann
$cprettyList :: forall ann. [MarkedString] -> Doc ann
prettyList :: forall ann. [MarkedString] -> Doc ann
Pretty via (ViaJSON MarkedString)