{- 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.ClientSymbolKindOptions 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.Aeson as Aeson import qualified Data.Row.Hashable as Hashable import qualified Language.LSP.Protocol.Internal.Types.SymbolKind import qualified Language.LSP.Protocol.Types.Common {-| @since 3.18.0 @proposed -} data ClientSymbolKindOptions = ClientSymbolKindOptions { {-| The symbol kind values the client supports. When this property exists the client also guarantees that it will handle values outside its set gracefully and falls back to a default value when unknown. If this property is not present the client only supports the symbol kinds from `File` to `Array` as defined in the initial version of the protocol. -} _valueSet :: (Maybe [Language.LSP.Protocol.Internal.Types.SymbolKind.SymbolKind]) } deriving stock (Show, Eq, Ord, Generic) deriving anyclass (NFData, Hashable) deriving Pretty via (ViaJSON ClientSymbolKindOptions) instance Aeson.ToJSON ClientSymbolKindOptions where toJSON (ClientSymbolKindOptions arg0) = Aeson.object $ concat $ ["valueSet" Language.LSP.Protocol.Types.Common..=? arg0] instance Aeson.FromJSON ClientSymbolKindOptions where parseJSON = Aeson.withObject "ClientSymbolKindOptions" $ \arg -> ClientSymbolKindOptions <$> arg Language.LSP.Protocol.Types.Common..:!? "valueSet"