Commit ff3872b5 authored by James Brock's avatar James Brock

Add mimetype to Kernel Info Reply message

parent cc427517
...@@ -281,6 +281,10 @@ instance FromJSON MessageType where ...@@ -281,6 +281,10 @@ instance FromJSON MessageType where
_ -> fail ("Unknown message type: " ++ show s) _ -> fail ("Unknown message type: " ++ show s)
parseJSON _ = fail "Must be a string." parseJSON _ = fail "Must be a string."
-- | Kernel language info, see
--
-- * https://jupyter-client.readthedocs.io/en/stable/messaging.html#kernel-info
-- * https://jupyter-client.readthedocs.io/en/stable/wrapperkernels.html#MyKernel.language_info
data LanguageInfo = data LanguageInfo =
LanguageInfo LanguageInfo
{ languageName :: String -- ^ The language name, e.g. "haskell" { languageName :: String -- ^ The language name, e.g. "haskell"
...@@ -288,6 +292,7 @@ data LanguageInfo = ...@@ -288,6 +292,7 @@ data LanguageInfo =
, languageFileExtension :: String -- ^ .hs , languageFileExtension :: String -- ^ .hs
, languageCodeMirrorMode :: String -- ^ 'ihaskell'. can be 'null' , languageCodeMirrorMode :: String -- ^ 'ihaskell'. can be 'null'
, languagePygmentsLexer :: String , languagePygmentsLexer :: String
, languageMimeType :: String -- "text/x-haskell"
} }
deriving (Show, Eq) deriving (Show, Eq)
...@@ -298,6 +303,7 @@ instance ToJSON LanguageInfo where ...@@ -298,6 +303,7 @@ instance ToJSON LanguageInfo where
, "file_extension" .= languageFileExtension info , "file_extension" .= languageFileExtension info
, "codemirror_mode" .= languageCodeMirrorMode info , "codemirror_mode" .= languageCodeMirrorMode info
, "pygments_lexer" .= languagePygmentsLexer info , "pygments_lexer" .= languagePygmentsLexer info
, "mimetype" .= languageMimeType info
] ]
data CodeReview = CodeComplete data CodeReview = CodeComplete
...@@ -317,6 +323,9 @@ instance ToJSON Transient where ...@@ -317,6 +323,9 @@ instance ToJSON Transient where
] ]
-- | A message used to communicate with the IPython frontend. -- | A message used to communicate with the IPython frontend.
--
-- See
-- https://jupyter-client.readthedocs.io/en/stable/messaging.html
data Message = data Message =
-- | A request from a frontend for information about the kernel. -- | A request from a frontend for information about the kernel.
KernelInfoRequest { header :: MessageHeader } KernelInfoRequest { header :: MessageHeader }
......
...@@ -248,6 +248,7 @@ replyTo interface KernelInfoRequest{} replyHeader state = do ...@@ -248,6 +248,7 @@ replyTo interface KernelInfoRequest{} replyHeader state = do
, languageFileExtension = ".hs" , languageFileExtension = ".hs"
, languageCodeMirrorMode = "ihaskell" , languageCodeMirrorMode = "ihaskell"
, languagePygmentsLexer = "Haskell" , languagePygmentsLexer = "Haskell"
, languageMimeType = "text/x-haskell" -- https://jupyter-client.readthedocs.io/en/stable/wrapperkernels.html#MyKernel.language_info
} }
, status = Ok , status = Ok
}) })
......
...@@ -1251,6 +1251,7 @@ ...@@ -1251,6 +1251,7 @@
"language_info": { "language_info": {
"codemirror_mode": "ihaskell", "codemirror_mode": "ihaskell",
"file_extension": ".hs", "file_extension": ".hs",
"mimetype": "text/x-haskell",
"name": "haskell", "name": "haskell",
"pygments_lexer": "Haskell", "pygments_lexer": "Haskell",
"version": "8.6.5" "version": "8.6.5"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment