Beispiel #1
0
        private static CSharpFormattingOptions CreateOptionSet(FormattingOptionSet defaultOptionSet)
        {
            switch (defaultOptionSet)
            {
            case FormattingOptionSet.Orcomp:
                return(CreateOrcompOptions());

            case FormattingOptionSet.KRStyle:
                return(FormattingOptionsFactory.CreateKRStyle());

            case FormattingOptionSet.Mono:
                return(FormattingOptionsFactory.CreateMono());

            case FormattingOptionSet.SharpDevelop:
                return(FormattingOptionsFactory.CreateSharpDevelop());

            case FormattingOptionSet.VisualStudio:
                return(FormattingOptionsFactory.CreateAllman());

            case FormattingOptionSet.GNU:
                return(FormattingOptionsFactory.CreateGNU());

            case FormattingOptionSet.Whitesmiths:
                return(FormattingOptionsFactory.CreateWhitesmiths());

            default:
                return(FormattingOptionsFactory.CreateAllman());
            }
        }
Beispiel #2
0
        public static CSharpFormattingOptions GetOptions(string fileName = null, CSharpFormattingOptions defaultOptions = null, FormattingOptionSet defaultOptionSet = FormattingOptionSet.VisualStudio)
        {
            var result = defaultOptions ?? CreateOptionSet(defaultOptionSet);

            if (fileName == null)
            {
                return(result);
            }

            var properties = Load(fileName);

            foreach (var propertyInfo in typeof(CSharpFormattingOptions).GetProperties())
            {
                bool found;
                var  value = properties.Get(propertyInfo.Name, GetDefaultValue(propertyInfo.PropertyType), out found);
                if (found && (value != null) && (value.GetType() == propertyInfo.PropertyType))
                {
                    propertyInfo.SetValue(result, value, new object[0]);
                }
            }

            return(result);
        }