runCommand (CmdInfo real file identifier) = do
    let status = respond . ClientLog "Info"
    setCurrentFile real file
    status "Get info"
    result <- withWarnings False $ getIdentifierInfo file identifier
    status "Check result"
    case result of
        Left err -> do
          respond $ ClientStderr err
          return $ ExitFailure 1
        Right info -> do
           respond $ ClientStdout info
           return ExitSuccess
runCommand (CmdInfo real file identifier) = do
    let status = respond . ClientLog "Info"
    setCurrentFile real file
    status "Get info"
    result <- withWarnings False $ getIdentifierInfo file identifier
    status "Check result"
    case result of
        Left err -> do
          respond $ ClientStderr err
          return $ ExitFailure 1
        Right info -> do
           respond $ ClientStdout info
           return ExitSuccess
runCommand (CmdInfo real file identifier) = do
    let status = respond . ClientLog "Info"
    setCurrentFile real file
    status "Get info"
    result <- withWarnings False $ getIdentifierInfo file identifier
    status "Check result"
    case result of
        Left err -> do
          respond $ ClientStderr err
          return $ ExitFailure 1
        Right info -> do
           respond $ ClientStdout info
           return ExitSuccess