def get_options(self, lang):
        lang_setting = self.get_lang_setting(lang)
        # --mode=xxx placed first
        options_list = [Options.get_basic_option_for_lang(lang)]

        if 'additional_options_file' in lang_setting:
            astylerc_string = self.read_astylerc(lang_setting['additional_options_file'])
        else:
            astylerc_string = ''

        additional_options = ' '.join(lang_setting.get('additional_options'))
        options_list.append(additional_options)
        options_list.append(astylerc_string)

        # Check if user will use only additional options
        # Skip processing other options when 'use_only_additional_options' is true
        if lang_setting.get('use_only_additional_options', False):
            return self.join_options(options_list)

        # Get default options
        default_setting = self.get_options_default()
        # Merge lang_setting with default_setting
        setting = default_setting.copy()
        setting.update(lang_setting)
        options = ' '.join(Options.process_setting(setting))
        options_list.insert(1, options)
        return self.join_options(options_list)
    def get_options(self, lang):
        lang_setting = self.get_lang_setting(lang)
        basic_option = Options.get_basic_option_for_lang(lang) + " "

        # First, check if user will use only additional options
        if "use_only_additional_options" in lang_setting:
            use_only_additional_options = lang_setting["use_only_additional_options"]
        else:
            use_only_additional_options = False

        if "additional_options_file" in lang_setting:
            lang_options_in_file = self.read_options_file(lang_setting["additional_options_file"]) + " "
        else:
            lang_options_in_file = ""

        try:
            lang_options = " ".join(lang_setting["additional_options"]) + " " + lang_options_in_file
        except:
            lang_options = "" + lang_options_in_file

        # Skip processing other options when "use_only_additional_options" is true
        if use_only_additional_options:
            return basic_option + lang_options

        # Get default options
        default_setting = self.get_setting("options_default", {})
        # Merge lang_setting with default_setting
        setting = default_setting.copy()
        setting.update(lang_setting)
        options = Options.process_setting(setting)
        return basic_option + lang_options + " ".join(options)