suckless/bf6 json function

This commit is contained in:
voidlizard 2025-02-08 13:26:05 +03:00
parent 6cd3af1003
commit 0b1773afbf
1 changed files with 5 additions and 0 deletions

View File

@ -29,6 +29,7 @@ import Data.ByteString (ByteString)
import Data.ByteString.Char8 qualified as BS8 import Data.ByteString.Char8 qualified as BS8
import Data.ByteString qualified as BS import Data.ByteString qualified as BS
import Data.ByteString.Lazy qualified as LBS import Data.ByteString.Lazy qualified as LBS
import Data.ByteString.Lazy.Char8 qualified as LBS8
import Data.Data import Data.Data
import Data.Coerce import Data.Coerce
import Data.Function as Export import Data.Function as Export
@ -1395,6 +1396,10 @@ internalEntries = do
e@(SymbolVal x) -> wrapWith e e@(SymbolVal x) -> wrapWith e
_ -> id _ -> id
entry $ bindMatch "json" \case
[ e ] -> pure $ mkStr $ LBS8.unpack $ Aeson.encode $ toJSON e
x -> pure $ mkStr $ LBS8.unpack $ Aeson.encode $ toJSON (mkList x)
entry $ bindMatch "json:stdin" $ const do entry $ bindMatch "json:stdin" $ const do
parseJson <$> liftIO (LBS.hGetContents stdin) parseJson <$> liftIO (LBS.hGetContents stdin)