function plc_ide_list = plc_custom_ide
%

%   Copyright 2012-2024 The MathWorks, Inc.
    plc_ide_list(1) = get_ide_info_stone;
end

function ide_info = get_ide_info_stone
    ide_info.name = 'stone';
    ide_info.description = 'CAREL STone';
    ide_info.path =  ''; % IDE path
    ide_info.format = 'generic'; % generic|xml
    ide_info.fileExtension = 'st';
    ide_info.cfg = get_ide_cfg_stone;
    ide_info.precg_callback = PLCCoder.PLCCGMgr.PLC_PLUGIN_CG_CALLBACK_EMPTY;
    ide_info.postcg_callback = 'plc_postcg_callback_stone';
    ide_info.xmltree_callback = PLCCoder.PLCCGMgr.PLC_PLUGIN_CG_CALLBACK_EMPTY;
    ide_info.pluginVersion = 2.2;
    ide_info.compatibleBuildVersion = 1.6;
end

function cfg = get_ide_cfg_stone
    cfg.fSimplifyFunctionCallExpr = true;
    cfg.fArrayInitialValueBrackets = true;
    cfg.fErrorOnTrailingUS = true;
    cfg.fConvertEnumToInteger = false;
    cfg.fSupportGlobalConst = true;
    cfg.fUseQualifiedTypeConstant = true;
    cfg.fReplaceShiftFunctions = true;  % g3171534
    cfg.fTargetKeywordHook = 'plc_stone_keyword_list';
end

% LocalWords:  CAREL STone postcg
