//===-- CommandObjectLanguage.cpp -------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "CommandObjectLanguage.h"

#include "lldb/Host/Host.h"

#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"

#include "lldb/Target/LanguageRuntime.h"

using namespace lldb;
using namespace lldb_private;

CommandObjectLanguage::CommandObjectLanguage (CommandInterpreter &interpreter) :
CommandObjectMultiword (interpreter,
                        "language",
                        "A set of commands for managing language-specific functionality.'.",
                        "language <language-name> <subcommand> [<subcommand-options>]"
                        )
{
    //Let the LanguageRuntime populates this command with subcommands
    LanguageRuntime::InitializeCommands(this);
}

void
CommandObjectLanguage::GenerateHelpText (Stream &output_stream) {
    CommandObjectMultiword::GenerateHelpText(output_stream);

    output_stream << "\nlanguage name can be one of the following:\n";

    LanguageRuntime::PrintAllLanguages(output_stream, "  ", "\n");
}

CommandObjectLanguage::~CommandObjectLanguage ()
{
}
