loom

Форк
0
/
DocumentOperationFactory.cpp 
30 строк · 1.1 Кб
1
#include "DocumentOperationFactory.h"
2
#include "fuze/FuzeDocumentOperation.h"
3
#include "script/ScriptDocumentOperation.h"
4

5
#if __cplusplus >= __cpp_2017
6
#include <filesystem>
7
namespace fs = std::filesystem;
8
#else
9
#include <experimental/filesystem>
10
namespace fs = std::filesystem::experimental;
11
#endif
12

13
using namespace simodo;
14

15
DocumentOperationFactory::DocumentOperationFactory(const std::string & loom_dir)
16
        : _loom_dir(fs::path(loom_dir).lexically_normal().string())
17
{
18
}
19

20
std::unique_ptr<lsp::DocumentOperation_interface> DocumentOperationFactory::create(lsp::DocumentContext & doc, 
21
                                                                                   const std::string & languageId)
22
{
23
    doc.server().log().debug("DocumentOperationFactory::create called for '" + languageId + "'");
24
    doc.server().log().debug("DocumentOperationFactory::create loom_dir '" + _loom_dir + "'");
25

26
    if (languageId == "fuze")
27
        return std::make_unique<FuzeDocumentOperation>(doc, *this, languageId);
28

29
    return std::make_unique<ScriptDocumentOperation>(doc, *this, languageId);
30
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.