Browse Source

Fixed CSharpBinding tests.

pull/494/head
Andreas Weizel 11 years ago
parent
commit
0c1a36503f
  1. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
  2. 15
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs
  3. 34
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingPolicies.cs

2
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj

@ -93,7 +93,7 @@ @@ -93,7 +93,7 @@
</Compile>
<Compile Include="Src\FormattingStrategy\CSharpFormattingOptionsContainer.cs" />
<Compile Include="Src\FormattingStrategy\CSharpFormatter.cs" />
<Compile Include="Src\FormattingStrategy\CSharpFormattingOptionsPersistence.cs" />
<Compile Include="Src\FormattingStrategy\CSharpFormattingPolicies.cs" />
<Compile Include="Src\FormattingStrategy\FormattingOptionBinding.cs" />
<Compile Include="Src\FormsDesigner\CSharpDesignerGenerator.cs" />
<Compile Include="Src\FormsDesigner\CSharpDesignerLoader.cs" />

15
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs

@ -73,9 +73,9 @@ namespace CSharpBinding @@ -73,9 +73,9 @@ namespace CSharpBinding
// Patch editor options (indentation) to project-specific settings
var optionsContainer = CSharpFormattingPolicies.Instance.GetProjectOptions(
SD.ProjectService.FindProjectContainingFile(editor.FileName));
CustomizeEditorOptions(optionsContainer.OptionsContainer, editor.Options);
CustomizeEditorOptions(optionsContainer.OptionsContainer, editor.Options, this.editor);
CSharpFormattingPolicies.Instance.FormattingPolicyUpdated +=
(sender, e) => CustomizeEditorOptions(optionsContainer.OptionsContainer, this.editor.Options);
(sender, e) => CustomizeEditorOptions(optionsContainer.OptionsContainer, this.editor.Options, this.editor);
if (!editor.ContextActionProviders.IsReadOnly) {
contextActionProviders = AddInTree.BuildItems<IContextActionProvider>("/SharpDevelop/ViewContent/TextEditor/C#/ContextActions", null);
@ -97,7 +97,7 @@ namespace CSharpBinding @@ -97,7 +97,7 @@ namespace CSharpBinding
this.editor = null;
}
private void CustomizeEditorOptions(CSharpFormattingOptionsContainer container, ITextEditorOptions editorOptions)
private void CustomizeEditorOptions(CSharpFormattingOptionsContainer container, ITextEditorOptions editorOptions, ITextEditor editor)
{
if (container == null)
return;
@ -107,11 +107,12 @@ namespace CSharpBinding @@ -107,11 +107,12 @@ namespace CSharpBinding
int? indentationSize = container.GetEffectiveIndentationSize();
if (indentationSize.HasValue) {
textEditorOptions.IndentationSize = indentationSize.Value;
// textEditorOptions.IndentationSize = indentationSize.Value;
}
bool? convertTabsToSpaces = container.GetEffectiveConvertTabsToSpaces();
if (convertTabsToSpaces.HasValue)
textEditorOptions.ConvertTabsToSpaces = convertTabsToSpaces.Value;
// bool? convertTabsToSpaces = container.GetEffectiveConvertTabsToSpaces();
// if (convertTabsToSpaces.HasValue) {
// textEditorOptions.ConvertTabsToSpaces = convertTabsToSpaces.Value;
// }
}
}
}

34
src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs → src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingPolicies.cs

@ -30,7 +30,7 @@ namespace CSharpBinding.FormattingStrategy @@ -30,7 +30,7 @@ namespace CSharpBinding.FormattingStrategy
{
public override void Execute(object parameter)
{
// Initialize CSharpFormattingOptionsPersistence as early as possible (before solution is opened)
// Initialize CSharpFormattingPolicies as early as possible (before solution is opened)
CSharpFormattingPolicies.Instance.Initialize();
}
}
@ -40,21 +40,20 @@ namespace CSharpBinding.FormattingStrategy @@ -40,21 +40,20 @@ namespace CSharpBinding.FormattingStrategy
/// </summary>
internal class CSharpFormattingPolicies
{
public static readonly CSharpFormattingPolicies Instance = new CSharpFormattingPolicies();
static readonly Lazy<CSharpFormattingPolicies> LazyInstance =
new Lazy<CSharpFormattingPolicies>(() => new CSharpFormattingPolicies());
public static CSharpFormattingPolicies Instance {
get { return LazyInstance.Value; }
}
public event EventHandler<CSharpFormattingPolicyUpdateEventArgs> FormattingPolicyUpdated;
static bool initialized;
static Dictionary<string, CSharpFormattingPolicy> projectOptions;
bool initialized;
Dictionary<string, CSharpFormattingPolicy> projectOptions;
public void Initialize()
public CSharpFormattingPolicies()
{
if (initialized)
return;
initialized = true;
projectOptions = new Dictionary<string, CSharpFormattingPolicy>();
// Load global settings
GlobalOptions = new CSharpFormattingPolicy(
SD.PropertyService.MainPropertiesContainer, new CSharpFormattingOptionsContainer() {
@ -62,6 +61,15 @@ namespace CSharpBinding.FormattingStrategy @@ -62,6 +61,15 @@ namespace CSharpBinding.FormattingStrategy
});
GlobalOptions.FormattingPolicyUpdated += OnFormattingPolicyUpdated;
GlobalOptions.Load();
}
public void Initialize()
{
if (initialized)
return;
initialized = true;
projectOptions = new Dictionary<string, CSharpFormattingPolicy>();
// Handlers for solution loading/unloading
var projectService = SD.GetService<IProjectService>();
@ -92,8 +100,8 @@ namespace CSharpBinding.FormattingStrategy @@ -92,8 +100,8 @@ namespace CSharpBinding.FormattingStrategy
public CSharpFormattingPolicy GetProjectOptions(IProject project)
{
if (projectOptions == null)
return null;
if (!initialized)
return GlobalOptions;
var csproject = project as CSharpProject;
if (csproject != null) {
Loading…
Cancel
Save