Merge pull request #168 from icsharpcode/feature/netcore3

feature netcore3 support
This commit is contained in:
Daniel Grunwald 2019-06-09 14:48:35 +02:00 коммит произвёл GitHub
Родитель d0064144ec 3854dc2f62
Коммит 78ea8e166b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
34 изменённых файлов: 454 добавлений и 1365 удалений

3
.gitignore поставляемый
Просмотреть файл

@ -1,6 +1,9 @@
# ignore all obj and bin folders (even in subdirectories)
obj/
bin/
.vs/
*.user
lib/
/Documentation/Help
/packages/AvalonEdit
/packages/AvalonEdit.Sample

Просмотреть файл

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- The configuration and platform will be used to determine which assemblies to include from solution and
project documentation sources -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>850b6602-0a7f-413a-864a-e816b98d7407</ProjectGuid>
<SHFBSchemaVersion>2017.9.26.0</SHFBSchemaVersion>
<!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual Studio adds them anyway -->
<AssemblyName>Documentation</AssemblyName>
<RootNamespace>Documentation</RootNamespace>
<Name>Documentation</Name>
<!-- SHFB properties -->
<FrameworkVersion>.NET Framework 4.5</FrameworkVersion>
<OutputPath>.\Help\</OutputPath>
<HtmlHelpName>AvalonEdit Documentation</HtmlHelpName>
<Language>en-US</Language>
<TransformComponentArguments>
<Argument Key="logoFile" Value="Help.png" xmlns="" />
<Argument Key="logoHeight" Value="" xmlns="" />
<Argument Key="logoWidth" Value="" xmlns="" />
<Argument Key="logoAltText" Value="" xmlns="" />
<Argument Key="logoPlacement" Value="left" xmlns="" />
<Argument Key="logoAlignment" Value="left" xmlns="" />
<Argument Key="maxVersionParts" Value="" xmlns="" />
</TransformComponentArguments>
<HelpFileFormat>Website</HelpFileFormat>
<SyntaxFilters>C#</SyntaxFilters>
<PresentationStyle>VS2013</PresentationStyle>
<CleanIntermediates>True</CleanIntermediates>
<KeepLogFile>True</KeepLogFile>
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
<IndentHtml>False</IndentHtml>
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
<SaveComponentCacheCapacity>100</SaveComponentCacheCapacity>
<HelpTitle>AvalonEdit</HelpTitle>
<HelpFileVersion>6.0.0.0</HelpFileVersion>
<NamingMethod>Guid</NamingMethod>
<ContentPlacement>AboveNamespaces</ContentPlacement>
<RootNamespaceContainer>False</RootNamespaceContainer>
<NamespaceGrouping>False</NamespaceGrouping>
<MaximumGroupParts>2</MaximumGroupParts>
<Preliminary>False</Preliminary>
<CopyrightText>Copyright 2008-2019, AvalonEdit Contributors</CopyrightText>
<SdkLinkTarget>Blank</SdkLinkTarget>
<VisibleItems>InheritedMembers, InheritedFrameworkMembers, Protected, ProtectedInternalAsProtected, EditorBrowsableNever, NonBrowsable</VisibleItems>
<MissingTags>Summary, AutoDocumentCtors, Namespace</MissingTags>
</PropertyGroup>
<!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform
the build. The others are optional common platform types that may appear. -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
</PropertyGroup>
<ItemGroup>
<Folder Include="icons" />
<Folder Include="media" />
</ItemGroup>
<ItemGroup>
<None Include="Coordinate Systems.aml" />
<None Include="Architecture.aml" />
<None Include="Code Completion.aml" />
<None Include="Sample Application.aml" />
<None Include="Folding.aml" />
<None Include="Syntax Highlighting.aml" />
<None Include="Text Rendering.aml" />
<None Include="Welcome.aml" />
</ItemGroup>
<ItemGroup>
<ContentLayout Include="ICSharpCode.AvalonEdit.content" />
</ItemGroup>
<ItemGroup>
<Image Include="Media\WelcomeScreenshot.png">
<ImageId>WelcomeScreenshot</ImageId>
</Image>
<Image Include="Media\VisualTree.png">
<ImageId>VisualTree</ImageId>
<AlternateText>Visual Tree</AlternateText>
</Image>
<Image Include="Media\RenderingPipeline.png">
<ImageId>RenderingPipeline</ImageId>
</Image>
<Image Include="Media\NamespaceDependencies.png">
<ImageId>NamespaceDependencies</ImageId>
<AlternateText>Namespace Dependency Graph</AlternateText>
</Image>
<Content Include="License.html">
<ExcludeFromToc>True</ExcludeFromToc>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="icons\Help.png" />
</ItemGroup>
<PropertyGroup>
<DocumentationSources>
<DocumentationSource sourceFile="..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj" />
</DocumentationSources>
<NamespaceSummaries>
<NamespaceSummaryItem name="(global)" isDocumented="False" />
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit" isDocumented="True">This is the main AvalonEdit namespace.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.CodeCompletion" isDocumented="True">This namespace contains classes to show the code completion window.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Document" isDocumented="True">This namespace contains the document model.
The most important class here is TextDocument, which represents document that can be displayed and edited in the text editor.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Editing" isDocumented="True">This namespace is the home of the TextArea class. It manages user input and handles the caret and the selection.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Folding" isDocumented="True">This namespace contains the folding (code collapsing) implementation.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Highlighting" isDocumented="True">This namespace contains the engine for highlighting text documents (DocumentHighlighter).
Additionally, the class HighlightingColorizer provides integration of the highlighting engine into the text editor GUI.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Highlighting.Xshd" isDocumented="True">This namespace contains a document model for syntax highlighting definitions (.xshd files).</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Indentation" isDocumented="True">This namespace contains the logic for automatic indentation.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Rendering" isDocumented="True">This namespace contains the text rendering infrastructure.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Utils" isDocumented="True">This namespace contains various utility classes.</NamespaceSummaryItem>
<NamespaceSummaryItem name="XamlGeneratedNamespace" isDocumented="False" />
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Snippets" isDocumented="True">Snippets perform automatic text insertion. Snippets can be interactive after they were expanded, for example to allow the user to easily replace fields in the expanded snippet.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Search" isDocumented="True">This namespace contains the SearchPanel UI that allows the user to search the current document.</NamespaceSummaryItem>
</NamespaceSummaries>
</PropertyGroup>
<!-- Import the SHFB build targets -->
<Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
<!-- The pre-build and post-build event properties must appear *after* the targets file import in order to be
evaluated correctly. -->
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,182 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<!-- The configuration and platform will be used to determine which
assemblies to include from solution and project documentation
sources -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{850b6602-0a7f-413a-864a-e816b98d7407}</ProjectGuid>
<SHFBSchemaVersion>1.9.9.0</SHFBSchemaVersion>
<!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual
Studio adds them anyway -->
<AssemblyName>Documentation</AssemblyName>
<RootNamespace>Documentation</RootNamespace>
<Name>Documentation</Name>
<!-- SHFB properties -->
<OutputPath>.\Help\</OutputPath>
<HtmlHelpName>AvalonEdit Documentation</HtmlHelpName>
<ProjectSummary>
</ProjectSummary>
<MissingTags>Summary, AutoDocumentCtors, Namespace</MissingTags>
<VisibleItems>InheritedMembers, InheritedFrameworkMembers, Protected, ProtectedInternalAsProtected</VisibleItems>
<HtmlHelp1xCompilerPath>
</HtmlHelp1xCompilerPath>
<HtmlHelp2xCompilerPath>
</HtmlHelp2xCompilerPath>
<SandcastlePath>
</SandcastlePath>
<WorkingPath>
</WorkingPath>
<BuildLogFile>
</BuildLogFile>
<FrameworkVersion>.NET Framework 4.0</FrameworkVersion>
<HelpTitle>AvalonEdit</HelpTitle>
<CopyrightText>Copyright 2008-2014, Daniel Grunwald</CopyrightText>
<PresentationStyle>Prototype</PresentationStyle>
<HelpFileVersion>4.4.0.0</HelpFileVersion>
<ComponentConfigurations>
<ComponentConfig id="Reflection Index Data (ESENT Cache)" enabled="True">
<component id="Reflection Index Data (ESENT Cache)">
<index name="reflection" value="/reflection/apis/api" key="@id" cache="15" localCacheSize="2500" frameworkCachePath="{@LocalDataFolder}Cache\ReflectionIndexCache" projectCachePath="">
<data base="{@SHFBFolder}Data\Reflection" recurse="true" files="*.xml" duplicateWarning="false" groupId="ReflectionIndexCache">
{@ReferenceLinkNamespaceFiles}
</data>
<data files="reflection.xml" groupId="Project_Ref_{@UniqueID}" />
</index>
<copy name="reflection" source="*" target="/document/reference" />
</component>
</ComponentConfig>
<ComponentConfig id="Comments Index Data (ESENT Cache)" enabled="True"><component id="Comments Index Data (ESENT Cache)">
<index name="comments" value="/doc/members/member" key="@name" cache="30" localCacheSize="2500" frameworkCachePath="{@LocalDataFolder}Cache\CommentsIndexCache" projectCachePath="">
{@FrameworkCommentList}
{@CommentFileList}
</index>
<copy name="comments" source="*" target="/document/comments" />
</component></ComponentConfig>
<ComponentConfig id="Code Block Component" enabled="True"><component id="Code Block Component">
<basePath value="{@HtmlEncProjectFolder}" />
<outputPaths>{@HelpFormatOutputPaths}</outputPaths>
<allowMissingSource value="false" />
<removeRegionMarkers value="false" />
<colorizer syntaxFile="{@SHFBFolder}Colorizer\highlight.xml" styleFile="{@SHFBFolder}Colorizer\highlight.xsl" stylesheet="{@SHFBFolder}Colorizer\highlight.css" scriptFile="{@SHFBFolder}Colorizer\highlight.js" disabled="{@DisableCodeBlockComponent}" language="cs" tabSize="0" numberLines="false" outlining="false" keepSeeTags="false" defaultTitle="true" />
</component></ComponentConfig>
<ComponentConfig id="IntelliSense Component" enabled="True"><component id="IntelliSense Component"><!-- Output options (optional)
Attributes:
Include namespaces (false by default)
Namespaces comments filename ("Namespaces" if not specified or empty)
Output folder (current folder if not specified or empty) --><output includeNamespaces="false" namespacesFile="Namespaces" folder="{@OutputFolder}\..\IntelliSense" /></component></ComponentConfig>
<ComponentConfig id="Resolve Reference Links (ESENT Cache)" enabled="True"><component id="Resolve Reference Links (ESENT Cache)">
<locale value="{@Locale}" />
<linkTarget value="{@SdkLinkTarget}" />
<helpOutput format="HtmlHelp1">
<msdnContentIdCache path="{@LocalDataFolder}Cache\MsdnContentId.cache" cachePath="{@LocalDataFolder}Cache\ESentMsdnContentIdCache" localCacheSize="2500" />
<targets base="{@SHFBFolder}Data\Reflection" recurse="true" files="*.xml" type="{@HtmlSdkLinkType}" id="FrameworkTargets" cachePath="{@LocalDataFolder}Cache\ESentFrameworkTargetCache" localCacheSize="2500">
{@ReferenceLinkNamespaceFiles}
</targets>
<targets files="reflection.xml" type="Local" id="ProjectTargets" cachePath="" localCacheSize="2500" noReload="true" />
</helpOutput>
<helpOutput format="MSHelp2">
<msdnContentIdCache path="{@LocalDataFolder}Cache\MsdnContentId.cache" cachePath="{@LocalDataFolder}Cache\ESentMsdnContentIdCache" localCacheSize="2500" />
<targets base="{@SHFBFolder}Data\Reflection" recurse="true" files="*.xml" type="{@MSHelp2SdkLinkType}" id="FrameworkTargets" cachePath="{@LocalDataFolder}Cache\ESentFrameworkTargetCache" localCacheSize="2500">
{@ReferenceLinkNamespaceFiles}
</targets>
<targets files="reflection.xml" type="Index" id="ProjectTargets" cachePath="" localCacheSize="2500" noReload="true" />
</helpOutput>
<helpOutput format="MSHelpViewer">
<msdnContentIdCache path="{@LocalDataFolder}Cache\MsdnContentId.cache" cachePath="{@LocalDataFolder}Cache\ESentMsdnContentIdCache" localCacheSize="2500" />
<targets base="{@SHFBFolder}Data\Reflection" recurse="true" files="*.xml" type="{@MSHelpViewerSdkLinkType}" id="FrameworkTargets" cachePath="{@LocalDataFolder}Cache\ESentFrameworkTargetCache" localCacheSize="2500">
{@ReferenceLinkNamespaceFiles}
</targets>
<targets files="reflection.xml" type="Id" id="ProjectTargets" cachePath="" localCacheSize="2500" noReload="true" />
</helpOutput>
<helpOutput format="Website">
<msdnContentIdCache path="{@LocalDataFolder}Cache\MsdnContentId.cache" cachePath="{@LocalDataFolder}Cache\ESentMsdnContentIdCache" localCacheSize="2500" />
<targets base="{@SHFBFolder}Data\Reflection" recurse="true" files="*.xml" type="{@WebsiteSdkLinkType}" id="FrameworkTargets" cachePath="{@LocalDataFolder}Cache\ESentFrameworkTargetCache" localCacheSize="2500">
{@ReferenceLinkNamespaceFiles}
</targets>
<targets files="reflection.xml" type="Local" id="ProjectTargets" cachePath="" localCacheSize="2500" noReload="true" />
</helpOutput>
</component></ComponentConfig>
<ComponentConfig id="API Token Resolution" enabled="True"><component id="API Token Resolution">{@TokenFiles}
<replace elements="/*//token" item="string(.)" /></component></ComponentConfig></ComponentConfigurations>
<DocumentationSources>
<DocumentationSource sourceFile="..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj" />
</DocumentationSources>
<NamespaceSummaries>
<NamespaceSummaryItem name="(global)" isDocumented="False" />
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit" isDocumented="True">This is the main AvalonEdit namespace.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.CodeCompletion" isDocumented="True">This namespace contains classes to show the code completion window.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Document" isDocumented="True">This namespace contains the document model.
The most important class here is TextDocument, which represents document that can be displayed and edited in the text editor.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Editing" isDocumented="True">This namespace is the home of the TextArea class. It manages user input and handles the caret and the selection.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Folding" isDocumented="True">This namespace contains the folding (code collapsing) implementation.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Highlighting" isDocumented="True">This namespace contains the engine for highlighting text documents (DocumentHighlighter).
Additionally, the class HighlightingColorizer provides integration of the highlighting engine into the text editor GUI.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Highlighting.Xshd" isDocumented="True">This namespace contains a document model for syntax highlighting definitions (.xshd files).</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Indentation" isDocumented="True">This namespace contains the logic for automatic indentation.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Rendering" isDocumented="True">This namespace contains the text rendering infrastructure.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Utils" isDocumented="True">This namespace contains various utility classes.</NamespaceSummaryItem>
<NamespaceSummaryItem name="XamlGeneratedNamespace" isDocumented="False" />
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Snippets" isDocumented="True">Snippets perform automatic text insertion. Snippets can be interactive after they were expanded, for example to allow the user to easily replace fields in the expanded snippet.</NamespaceSummaryItem>
<NamespaceSummaryItem name="ICSharpCode.AvalonEdit.Search" isDocumented="True">This namespace contains the SearchPanel UI that allows the user to search the current document.</NamespaceSummaryItem></NamespaceSummaries>
<CleanIntermediates>True</CleanIntermediates>
<SyntaxFilters>Standard</SyntaxFilters>
<SdkLinkTarget>Blank</SdkLinkTarget>
<RootNamespaceContainer>False</RootNamespaceContainer>
<Preliminary>False</Preliminary>
<NamingMethod>Guid</NamingMethod>
<Language>en-US</Language>
<ContentPlacement>AboveNamespaces</ContentPlacement>
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
<HelpFileFormat>HtmlHelp1, Website</HelpFileFormat>
<IndentHtml>False</IndentHtml>
<KeepLogFile>True</KeepLogFile>
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
<CppCommentsFixup>False</CppCommentsFixup>
</PropertyGroup>
<!-- There are no properties for these two groups but they need to appear in
order for Visual Studio to perform the build. -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
</PropertyGroup>
<ItemGroup>
<None Include="Coordinate Systems.aml" />
<None Include="Architecture.aml" />
<None Include="Code Completion.aml" />
<None Include="Sample Application.aml" />
<None Include="Folding.aml" />
<None Include="Syntax Highlighting.aml" />
<None Include="Text Rendering.aml" />
<None Include="Welcome.aml" />
</ItemGroup>
<ItemGroup>
<ContentLayout Include="ICSharpCode.AvalonEdit.content" />
</ItemGroup>
<ItemGroup>
<Image Include="Media\WelcomeScreenshot.png">
<ImageId>WelcomeScreenshot</ImageId>
</Image>
<Image Include="Media\VisualTree.png">
<ImageId>VisualTree</ImageId>
<AlternateText>Visual Tree</AlternateText>
</Image>
<Image Include="Media\RenderingPipeline.png">
<ImageId>RenderingPipeline</ImageId>
</Image>
<Image Include="Media\NamespaceDependencies.png">
<ImageId>NamespaceDependencies</ImageId>
<AlternateText>Namespace Dependency Graph</AlternateText>
</Image>
<Content Include="License.html">
<ExcludeFromToc>True</ExcludeFromToc>
</Content>
</ItemGroup>
<ItemGroup>
<Folder Include="Media\" />
</ItemGroup>
<!-- Import the SHFB build targets -->
<Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
</Project>

Двоичные данные
Documentation/icons/Help.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 4.8 KiB

Просмотреть файл

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28714.193
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.AvalonEdit", "ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{417F2A81-E1C2-4366-B24B-C5DC8F958844}"
EndProject
Project("{7CF6DF6D-3B04-46F8-A40B-537D21BCA0B4}") = "ICSharpCode.AvalonEdit.Documentation", "Documentation\ICSharpCode.AvalonEdit.Documentation.shfbproj", "{850B6602-0A7F-413A-864A-E816B98D7407}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Debug|Any CPU.Build.0 = Debug|Any CPU
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Release|Any CPU.ActiveCfg = Release|Any CPU
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Release|Any CPU.Build.0 = Release|Any CPU
{850B6602-0A7F-413A-864A-E816B98D7407}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{850B6602-0A7F-413A-864A-E816B98D7407}.Debug|Any CPU.Build.0 = Debug|Any CPU
{850B6602-0A7F-413A-864A-E816B98D7407}.Release|Any CPU.ActiveCfg = Release|Any CPU
{850B6602-0A7F-413A-864A-E816B98D7407}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {919F9316-235F-49C8-868A-F0C8B9063F56}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,137 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<ProjectGuid>{13A5B497-BA12-45AE-9033-22620C3153FB}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">Net35</Platform>
<OutputType>WinExe</OutputType>
<TargetFrameworks>netcoreapp3.0;net40;net45</TargetFrameworks>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<DefineConstants>TRACE;DOTNET4</DefineConstants>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.snk</AssemblyOriginatorKeyFile>
<RootNamespace>AvalonEdit.Sample</RootNamespace>
<AssemblyName>ICSharpCode.AvalonEdit.Sample</AssemblyName>
<TargetFrameworkVersion Condition="'$(Configuration)' == '' ">v4.0</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<TargetFrameworkProfile />
<NoWin32Manifest>False</NoWin32Manifest>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<BaseAddress>4194304</BaseAddress>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<FileAlignment>4096</FileAlignment>
<Company>ic#code</Company>
<Copyright>2000-2019 AlphaSierraPapa for the SharpDevelop Team</Copyright>
<Description>Sample for WPF-based extensible text editor</Description>
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'Net35' ">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'Net40' ">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DefineConstants>DOTNET4</DefineConstants>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net40' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'WithNRefactory' ">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<DefineConstants>NREFACTORY</DefineConstants>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net45' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<DefineDebug>True</DefineDebug>
<DefineTrace>True</DefineTrace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<DefineTrace>True</DefineTrace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj" Condition="$(DefineConstants.Contains('NREFACTORY'))">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
</ProjectReference>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsFormsIntegration">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' ">
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml" />
<ProjectReference Include="..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="App.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="BraceFoldingStrategy.cs" />
<Compile Include="MyCompletionData.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\WPFAssemblyInfo.cs" />
<Compile Include="Window1.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>Window1.xaml</DependentUpon>
</Compile>
<None Remove="Images\*" />
</ItemGroup>
<ItemGroup>
<Page Include="Window1.xaml" />
<Resource Include="Images\*" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Copy.png" />
<Resource Include="Images\Cut.png" />
<Resource Include="Images\Delete.png" />
<Resource Include="Images\Open.png" />
<Resource Include="Images\Paste.png" />
<Resource Include="Images\Redo.png" />
<Resource Include="Images\Save.png" />
<Resource Include="Images\Undo.png" />
<Resource Include="Images\WordWrap.png" />
<None Remove="CustomHighlighting.xshd" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="CustomHighlighting.xshd" />
</ItemGroup>
<ItemGroup Condition="!$(DefineConstants.Contains('DOTNET4'))">
<None Include="app.net35.config" />
</ItemGroup>
<ItemGroup Condition="$(DefineConstants.Contains('DOTNET4'))">
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj">
<Project>{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}</Project>
<Name>ICSharpCode.AvalonEdit</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

Просмотреть файл

@ -6,26 +6,6 @@ using System.Runtime.InteropServices;
#endregion
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("AvalonEdit.Sample")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AvalonEdit.Sample")]
[assembly: AssemblyCopyright("Copyright 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]

Просмотреть файл

@ -124,16 +124,16 @@ namespace ICSharpCode.AvalonEdit.Document
Assert.AreEqual(document.TextLength, 0);
}
[Test, ExpectedException(typeof(ArgumentNullException))]
[Test]
public void InsertNull()
{
document.Insert(0, (string)null);
Assert.Throws<ArgumentNullException>(() => document.Insert(0, (string) null));
}
[Test, ExpectedException(typeof(ArgumentNullException))]
[Test]
public void SetTextNull()
{
document.Text = null;
Assert.Throws<ArgumentNullException>(() => document.Text = null);
}
[Test]
@ -144,81 +144,111 @@ namespace ICSharpCode.AvalonEdit.Document
Assert.AreEqual(document.TextLength, 0);
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetCharAt0EmptyDocument()
{
document.GetCharAt(0);
Assert.Throws<ArgumentOutOfRangeException>(() => document.GetCharAt(0));
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetCharAtNegativeOffset()
{
document.Text = "a\nb";
document.GetCharAt(-1);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.GetCharAt(-1);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetCharAtEndOffset()
{
document.Text = "a\nb";
document.GetCharAt(document.TextLength);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.GetCharAt(document.TextLength);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void InsertAtNegativeOffset()
{
document.Text = "a\nb";
document.Insert(-1, "text");
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.Insert(-1, "text");
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void InsertAfterEndOffset()
{
document.Text = "a\nb";
document.Insert(4, "text");
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.Insert(4, "text");
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void RemoveNegativeAmount()
{
document.Text = "abcd";
document.Remove(2, -1);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "abcd";
document.Remove(2, -1);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void RemoveTooMuch()
{
document.Text = "abcd";
document.Remove(2, 10);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "abcd";
document.Remove(2, 10);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetLineByNumberNegative()
{
document.Text = "a\nb";
document.GetLineByNumber(-1);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.GetLineByNumber(-1);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetLineByNumberTooHigh()
{
document.Text = "a\nb";
document.GetLineByNumber(3);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.GetLineByNumber(3);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetLineByOffsetNegative()
{
document.Text = "a\nb";
document.GetLineByOffset(-1);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.GetLineByOffset(-1);
});
}
[Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
[Test]
public void GetLineByOffsetToHigh()
{
document.Text = "a\nb";
document.GetLineByOffset(10);
Assert.Throws<ArgumentOutOfRangeException>(() =>
{
document.Text = "a\nb";
document.GetLineByOffset(10);
});
}
[Test]

Просмотреть файл

@ -32,7 +32,7 @@ namespace ICSharpCode.AvalonEdit.Document
TextDocument document;
Random rnd;
[TestFixtureSetUp]
[OneTimeSetUp]
public void FixtureSetup()
{
int seed = Environment.TickCount;

Просмотреть файл

@ -93,7 +93,7 @@ namespace ICSharpCode.AvalonEdit.Document
Random rnd;
[TestFixtureSetUp]
[OneTimeSetUp]
public void FixtureSetup()
{
int seed = Environment.TickCount;

Просмотреть файл

@ -30,7 +30,7 @@ namespace ICSharpCode.AvalonEdit.Document
{
Random rnd;
[TestFixtureSetUp]
[OneTimeSetUp]
public void FixtureSetup()
{
int seed = Environment.TickCount;

Просмотреть файл

@ -1,126 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<ProjectGuid>{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">Net40</Platform>
<OutputType>Library</OutputType>
<RootNamespace>ICSharpCode.AvalonEdit</RootNamespace>
<AssemblyName>ICSharpCode.AvalonEdit.Tests</AssemblyName>
<TargetFrameworkVersion Condition=" '$(Configuration)' == '' ">v4.0</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<SignAssembly>True</SignAssembly>
<TargetFrameworks>net40;net45</TargetFrameworks>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<DefineConstants>TRACE;DOTNET4</DefineConstants>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.snk</AssemblyOriginatorKeyFile>
<DelaySign>False</DelaySign>
<AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<OutputPath>bin\$(Configuration)\</OutputPath>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<NoWin32Manifest>False</NoWin32Manifest>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<Company>ic#code</Company>
<Copyright>2000-2019 AlphaSierraPapa for the SharpDevelop Team</Copyright>
<Description>Tests for WPF-based extensible text editor</Description>
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'Net35' ">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'Net40' ">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DefineConstants>DOTNET4</DefineConstants>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net40' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'WithNRefactory' ">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<DefineConstants>NREFACTORY</DefineConstants>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net45' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<DefineDebug>True</DefineDebug>
<DefineTrace>True</DefineTrace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<DefineTrace>True</DefineTrace>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<ProjectReference Include="..\..\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj" Condition="$(DefineConstants.Contains('NREFACTORY'))">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
</ProjectReference>
<Reference Include="nunit.framework">
<HintPath>$(SolutionDir)\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.13.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="Document\ChangeTrackingTest.cs" />
<Compile Include="Document\TextAnchorTest.cs" />
<Compile Include="Document\TextSegmentTreeTest.cs" />
<Compile Include="Document\TextUtilitiesTests.cs" />
<Compile Include="Document\UndoStackTests.cs" />
<Compile Include="Editing\ChangeDocumentTests.cs" />
<Compile Include="Editing\TextSegmentReadOnlySectionTests.cs" />
<Compile Include="Highlighting\HighlightedLineMergeTests.cs" />
<Compile Include="Highlighting\HtmlClipboardTests.cs" />
<Compile Include="MultipleUIThreads.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Document\CollapsingTests.cs" />
<Compile Include="Document\HeightTests.cs" />
<Compile Include="Document\RandomizedLineManagerTest.cs" />
<Compile Include="Document\LineManagerTests.cs" />
<Compile Include="Search\FindTests.cs" />
<Compile Include="Utils\CaretNavigationTests.cs" />
<Compile Include="Utils\CompressingTreeListTests.cs" />
<Compile Include="Utils\ExtensionMethodsTests.cs" />
<Compile Include="Utils\IndentationStringTests.cs" />
<Compile Include="Utils\RopeTests.cs" />
<Compile Include="WeakReferenceTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj">
<Project>{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}</Project>
<Name>ICSharpCode.AvalonEdit</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Search" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<ProjectReference Include="..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -21,35 +21,18 @@
using System;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading;
using NUnit.Framework;
#endregion
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ICSharpCode.AvalonEdit.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ICSharpCode.AvalonEdit.Tests")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]
#if !NETCOREAPP
// Run unit tests on STA thread.
[assembly: RequiresSTA]
[assembly: Apartment(ApartmentState.STA)]
#endif
namespace ICSharpCode.NRefactory.Editor {}

Просмотреть файл

@ -17,6 +17,7 @@
// DEALINGS IN THE SOFTWARE.
using System;
using System.Runtime.CompilerServices;
using System.Windows.Threading;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Editing;
@ -31,24 +32,27 @@ namespace ICSharpCode.AvalonEdit
[Test]
public void TextViewCanBeCollectedTest()
{
TextView textView = new TextView();
WeakReference wr = new WeakReference(textView);
textView = null;
WeakReference wr = TextViewCanBeCollectedTest_CreateTextView();
GarbageCollect();
Assert.IsFalse(wr.IsAlive);
}
// Use separate no-inline method so that the JIT can't keep a strong
// reference to the text view alive past this method.
[MethodImpl(MethodImplOptions.NoInlining)]
WeakReference TextViewCanBeCollectedTest_CreateTextView()
{
return new WeakReference(new TextView());
}
[Test]
public void DocumentDoesNotHoldReferenceToTextView()
{
TextDocument textDocument = new TextDocument();
Assert.AreEqual(0, textDocument.LineTrackers.Count);
TextView textView = new TextView();
WeakReference wr = new WeakReference(textView);
textView.Document = textDocument;
WeakReference wr = DocumentDoesNotHoldReferenceToTextView_CreateTextView(textDocument);
Assert.AreEqual(1, textDocument.LineTrackers.Count);
textView = null;
GarbageCollect();
Assert.IsFalse(wr.IsAlive);
@ -59,37 +63,53 @@ namespace ICSharpCode.AvalonEdit
textDocument.Insert(0, "a");
Assert.AreEqual(0, textDocument.LineTrackers.Count);
}
[MethodImpl(MethodImplOptions.NoInlining)]
WeakReference DocumentDoesNotHoldReferenceToTextView_CreateTextView(TextDocument textDocument)
{
TextView textView = new TextView();
textView.Document = textDocument;
return new WeakReference(textView);
}
[Test]
public void DocumentDoesNotHoldReferenceToTextArea()
{
TextDocument textDocument = new TextDocument();
TextArea textArea = new TextArea();
WeakReference wr = new WeakReference(textArea);
textArea.Document = textDocument;
textArea = null;
WeakReference wr = DocumentDoesNotHoldReferenceToTextArea_CreateTextArea(textDocument);
GarbageCollect();
Assert.IsFalse(wr.IsAlive);
GC.KeepAlive(textDocument);
}
[MethodImpl(MethodImplOptions.NoInlining)]
WeakReference DocumentDoesNotHoldReferenceToTextArea_CreateTextArea(TextDocument textDocument)
{
TextArea textArea = new TextArea();
textArea.Document = textDocument;
return new WeakReference(textArea);
}
[Test]
public void DocumentDoesNotHoldReferenceToTextEditor()
{
TextDocument textDocument = new TextDocument();
TextEditor textEditor = new TextEditor();
WeakReference wr = new WeakReference(textEditor);
textEditor.Document = textDocument;
textEditor = null;
WeakReference wr = DocumentDoesNotHoldReferenceToTextEditor_CreateTextEditor(textDocument);
GarbageCollect();
Assert.IsFalse(wr.IsAlive);
GC.KeepAlive(textDocument);
}
[MethodImpl(MethodImplOptions.NoInlining)]
WeakReference DocumentDoesNotHoldReferenceToTextEditor_CreateTextEditor(TextDocument textDocument)
{
TextEditor textEditor = new TextEditor();
textEditor.Document = textDocument;
return new WeakReference(textEditor);
}
[Test]
public void DocumentDoesNotHoldReferenceToLineMargin()
{
@ -101,8 +121,9 @@ namespace ICSharpCode.AvalonEdit
Assert.IsFalse(wr.IsAlive);
GC.KeepAlive(textDocument);
}
// using a method to ensure the local variables can be garbage collected after the method returns
[MethodImpl(MethodImplOptions.NoInlining)]
WeakReference DocumentDoesNotHoldReferenceToLineMargin_CreateMargin(TextDocument textDocument)
{
TextView textView = new TextView() {

Просмотреть файл

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="2.6.3" targetFramework="net45" />
</packages>

Просмотреть файл

@ -1,60 +1,37 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
# SharpDevelop 5.0
VisualStudioVersion = 12.0.20827.3
# Visual Studio Version 16
VisualStudioVersion = 16.0.28714.193
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.AvalonEdit", "ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{417F2A81-E1C2-4366-B24B-C5DC8F958844}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.AvalonEdit.Sample", "ICSharpCode.AvalonEdit.Sample\ICSharpCode.AvalonEdit.Sample.csproj", "{E506196C-A5E8-4D24-B889-6BA401C0B2B9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Sample", "ICSharpCode.AvalonEdit.Sample\ICSharpCode.AvalonEdit.Sample.csproj", "{13A5B497-BA12-45AE-9033-22620C3153FB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.AvalonEdit.Tests", "ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{37CAC89C-C38C-4126-A4A0-91A240A474D7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Net40 = Debug|Net40
Debug|Net35 = Debug|Net35
Debug|WithNRefactory = Debug|WithNRefactory
Release|Net40 = Release|Net40
Release|Net35 = Release|Net35
Release|WithNRefactory = Release|WithNRefactory
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Net40.ActiveCfg = Debug|Net40
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Net40.Build.0 = Debug|Net40
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Net35.ActiveCfg = Debug|Net35
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Net35.Build.0 = Debug|Net35
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|WithNRefactory.ActiveCfg = Debug|WithNRefactory
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|WithNRefactory.Build.0 = Debug|WithNRefactory
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Net40.ActiveCfg = Release|Net40
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Net40.Build.0 = Release|Net40
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Net35.ActiveCfg = Release|Net35
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Net35.Build.0 = Release|Net35
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|WithNRefactory.ActiveCfg = Release|WithNRefactory
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|WithNRefactory.Build.0 = Release|WithNRefactory
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|Net40.ActiveCfg = Debug|Net40
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|Net40.Build.0 = Debug|Net40
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|Net35.ActiveCfg = Debug|Net35
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|Net35.Build.0 = Debug|Net35
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|WithNRefactory.ActiveCfg = Debug|WithNRefactory
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Debug|WithNRefactory.Build.0 = Debug|WithNRefactory
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|Net40.ActiveCfg = Release|Net40
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|Net40.Build.0 = Release|Net40
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|Net35.ActiveCfg = Release|Net35
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|Net35.Build.0 = Release|Net35
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|WithNRefactory.ActiveCfg = Release|WithNRefactory
{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}.Release|WithNRefactory.Build.0 = Release|WithNRefactory
{13A5B497-BA12-45AE-9033-22620C3153FB}.Debug|Net40.ActiveCfg = Debug|Net40
{13A5B497-BA12-45AE-9033-22620C3153FB}.Debug|Net40.Build.0 = Debug|Net40
{13A5B497-BA12-45AE-9033-22620C3153FB}.Debug|Net35.ActiveCfg = Debug|Net35
{13A5B497-BA12-45AE-9033-22620C3153FB}.Debug|Net35.Build.0 = Debug|Net35
{13A5B497-BA12-45AE-9033-22620C3153FB}.Debug|WithNRefactory.ActiveCfg = Debug|WithNRefactory
{13A5B497-BA12-45AE-9033-22620C3153FB}.Debug|WithNRefactory.Build.0 = Debug|WithNRefactory
{13A5B497-BA12-45AE-9033-22620C3153FB}.Release|Net40.ActiveCfg = Release|Net40
{13A5B497-BA12-45AE-9033-22620C3153FB}.Release|Net40.Build.0 = Release|Net40
{13A5B497-BA12-45AE-9033-22620C3153FB}.Release|Net35.ActiveCfg = Release|Net35
{13A5B497-BA12-45AE-9033-22620C3153FB}.Release|Net35.Build.0 = Release|Net35
{13A5B497-BA12-45AE-9033-22620C3153FB}.Release|WithNRefactory.ActiveCfg = Release|WithNRefactory
{13A5B497-BA12-45AE-9033-22620C3153FB}.Release|WithNRefactory.Build.0 = Release|WithNRefactory
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Debug|Any CPU.Build.0 = Debug|Any CPU
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Release|Any CPU.ActiveCfg = Release|Any CPU
{417F2A81-E1C2-4366-B24B-C5DC8F958844}.Release|Any CPU.Build.0 = Release|Any CPU
{E506196C-A5E8-4D24-B889-6BA401C0B2B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E506196C-A5E8-4D24-B889-6BA401C0B2B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E506196C-A5E8-4D24-B889-6BA401C0B2B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E506196C-A5E8-4D24-B889-6BA401C0B2B9}.Release|Any CPU.Build.0 = Release|Any CPU
{37CAC89C-C38C-4126-A4A0-91A240A474D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37CAC89C-C38C-4126-A4A0-91A240A474D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37CAC89C-C38C-4126-A4A0-91A240A474D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37CAC89C-C38C-4126-A4A0-91A240A474D7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {919F9316-235F-49C8-868A-F0C8B9063F56}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -260,14 +260,7 @@ namespace ICSharpCode.AvalonEdit.Document
return rope.Length;
}
}
/// <summary>
/// Is raised when the TextLength property changes.
/// </summary>
/// <remarks><inheritdoc cref="Changing"/></remarks>
[Obsolete("This event will be removed in a future version; use the PropertyChanged event instead")]
public event EventHandler TextLengthChanged;
/// <summary>
/// Is raised when one of the properties <see cref="Text"/>, <see cref="TextLength"/>, <see cref="LineCount"/>,
/// <see cref="UndoStack"/> changes.
@ -528,15 +521,11 @@ namespace ICSharpCode.AvalonEdit.Document
int textLength = rope.Length;
if (textLength != oldTextLength) {
oldTextLength = textLength;
if (TextLengthChanged != null)
TextLengthChanged(this, EventArgs.Empty);
OnPropertyChanged("TextLength");
}
int lineCount = lineTree.LineCount;
if (lineCount != oldLineCount) {
oldLineCount = lineCount;
if (LineCountChanged != null)
LineCountChanged(this, EventArgs.Empty);
OnPropertyChanged("LineCount");
}
}
@ -1049,11 +1038,6 @@ namespace ICSharpCode.AvalonEdit.Document
}
}
/// <summary>
/// Is raised when the LineCount property changes.
/// </summary>
[Obsolete("This event will be removed in a future version; use the PropertyChanged event instead")]
public event EventHandler LineCountChanged;
#endregion
#region Debugging

Просмотреть файл

@ -104,47 +104,7 @@ namespace ICSharpCode.AvalonEdit.Document
source.Changed -= DeliverEvent;
}
}
/// <summary>
/// Weak event manager for the <see cref="TextDocument.LineCountChanged"/> event.
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
[Obsolete("The TextDocument.LineCountChanged event will be removed in a future version. Use PropertyChangedEventManager instead.")]
public sealed class LineCountChanged : WeakEventManagerBase<LineCountChanged, TextDocument>
{
/// <inheritdoc/>
protected override void StartListening(TextDocument source)
{
source.LineCountChanged += DeliverEvent;
}
/// <inheritdoc/>
protected override void StopListening(TextDocument source)
{
source.LineCountChanged -= DeliverEvent;
}
}
/// <summary>
/// Weak event manager for the <see cref="TextDocument.TextLengthChanged"/> event.
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
[Obsolete("The TextDocument.TextLengthChanged event will be removed in a future version. Use PropertyChangedEventManager instead.")]
public sealed class TextLengthChanged : WeakEventManagerBase<TextLengthChanged, TextDocument>
{
/// <inheritdoc/>
protected override void StartListening(TextDocument source)
{
source.TextLengthChanged += DeliverEvent;
}
/// <inheritdoc/>
protected override void StopListening(TextDocument source)
{
source.TextLengthChanged -= DeliverEvent;
}
}
/// <summary>
/// Weak event manager for the <see cref="TextDocument.TextChanged"/> event.
/// </summary>

Просмотреть файл

@ -50,22 +50,6 @@ namespace ICSharpCode.AvalonEdit.Editing
return line;
}
/// <summary>
/// Creates a vertical dotted line to separate the line numbers from the text view.
/// </summary>
[Obsolete("This method got published accidentally; and will be removed again in a future version. Use the parameterless overload instead.")]
public static UIElement Create(TextEditor editor)
{
Line line = (Line)Create();
line.SetBinding(
Line.StrokeProperty,
new Binding("LineNumbersForeground") { Source = editor }
);
return line;
}
/// <summary>
/// Gets whether the specified UIElement is the result of a DottedLineMargin.Create call.
/// </summary>

Просмотреть файл

@ -117,65 +117,7 @@ namespace ICSharpCode.AvalonEdit.Folding
return manager.document.GetText(StartOffset, EndOffset - StartOffset);
}
}
/// <summary>
/// Gets the content of the collapsed lines as tooltip text.
/// </summary>
[Obsolete]
public string TooltipText {
get {
// This fixes SD-1394:
// Each line is checked for leading indentation whitespaces. If
// a line has the same or more indentation than the first line,
// it is reduced. If a line is less indented than the first line
// the indentation is removed completely.
//
// See the following example:
// line 1
// line 2
// line 3
// line 4
//
// is reduced to:
// line 1
// line 2
// line 3
// line 4
var startLine = manager.document.GetLineByOffset(StartOffset);
var endLine = manager.document.GetLineByOffset(EndOffset);
var builder = new StringBuilder();
var current = startLine;
ISegment startIndent = TextUtilities.GetLeadingWhitespace(manager.document, startLine);
while (current != endLine.NextLine) {
ISegment currentIndent = TextUtilities.GetLeadingWhitespace(manager.document, current);
if (current == startLine && current == endLine)
builder.Append(manager.document.GetText(StartOffset, EndOffset - StartOffset));
else if (current == startLine) {
if (current.EndOffset - StartOffset > 0)
builder.AppendLine(manager.document.GetText(StartOffset, current.EndOffset - StartOffset).TrimStart());
} else if (current == endLine) {
if (startIndent.Length <= currentIndent.Length)
builder.Append(manager.document.GetText(current.Offset + startIndent.Length, EndOffset - current.Offset - startIndent.Length));
else
builder.Append(manager.document.GetText(current.Offset + currentIndent.Length, EndOffset - current.Offset - currentIndent.Length));
} else {
if (startIndent.Length <= currentIndent.Length)
builder.AppendLine(manager.document.GetText(current.Offset + startIndent.Length, current.Length - startIndent.Length));
else
builder.AppendLine(manager.document.GetText(current.Offset + currentIndent.Length, current.Length - currentIndent.Length));
}
current = current.NextLine;
}
return builder.ToString();
}
}
/// <summary>
/// Gets/Sets an additional object associated with this folding section.
/// </summary>

Просмотреть файл

@ -1,459 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<ProjectGuid>{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">Net40</Platform>
<OutputType>Library</OutputType>
<RootNamespace>ICSharpCode.AvalonEdit</RootNamespace>
<AssemblyName>ICSharpCode.AvalonEdit</AssemblyName>
<AppDesignerFolder>Properties</AppDesignerFolder>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<SignAssembly>True</SignAssembly>
<TargetFrameworks>netcoreapp3.0;net40;net45</TargetFrameworks>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<DefineConstants>TRACE;DOTNET4</DefineConstants>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>ICSharpCode.AvalonEdit.snk</AssemblyOriginatorKeyFile>
<DelaySign>False</DelaySign>
<AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode>
<RunCodeAnalysis>False</RunCodeAnalysis>
<CodeAnalysisRules>-Microsoft.Design#CA1020;-Microsoft.Design#CA1033;-Microsoft.Performance#CA1805;-Microsoft.Performance#CA1810</CodeAnalysisRules>
<NoWarn>1607</NoWarn>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<NoWin32Manifest>False</NoWin32Manifest>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<BaseAddress>4194304</BaseAddress>
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
<DocumentationFile>ICSharpCode.AvalonEdit.xml</DocumentationFile>
<Company>ic#code</Company>
<Copyright>2000-2019 AlphaSierraPapa for the SharpDevelop Team</Copyright>
<Description>AvalonEdit is the WPF-based text editor used in SharpDevelop. There are four builds of AvalonEdit included in this package. .NET 3.5, 4.0, 4.5 and .NET Core 3.0.</Description>
<Version>6.0</Version>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<FileVersion>6.0.0.0</FileVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'Net35' ">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<PropertyGroup>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<RepositoryUrl>https://github.com/icsharpcode/AvalonEdit.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Authors>AvalonEdit Contributors</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>http://www.avalonedit.net</PackageProjectUrl>
<PackageIconUrl>http://community.sharpdevelop.net/blogs/mattward/SharpDevelop.png</PackageIconUrl>
<PackageTags>WPF Text Editor SharpDevelop AvalonEdit</PackageTags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'Net40' ">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DefineConstants>DOTNET4</DefineConstants>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'WithNRefactory' ">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<DefineConstants>DOTNET4;NREFACTORY</DefineConstants>
<AssemblyOriginatorKeyFile>..\..\NRefactory\ICSharpCode.NRefactory.snk</AssemblyOriginatorKeyFile>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net40' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DefineConstants>DEBUG;$(DefineConstants)</DefineConstants>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>bin\Debug\ICSharpCode.AvalonEdit.xml</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<DebugType>Full</DebugType>
<DefineDebug>True</DefineDebug>
<DefineTrace>True</DefineTrace>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net45' ">
<DefineConstants>TRACE;DOTNET4</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>bin\Release\ICSharpCode.AvalonEdit.xml</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<Optimize>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DebugType>Full</DebugType>
<DefineTrace>True</DefineTrace>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<ProjectReference Include="..\..\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj" Condition="$(DefineConstants.Contains('NREFACTORY'))">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
</ProjectReference>
<Reference Include="Microsoft.CSharp">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="PresentationFramework">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Printing">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web" Condition="!$(DefineConstants.Contains('DOTNET4'))" />
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' ">
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="UIAutomationProvider">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="UIAutomationTypes">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AvalonEditCommands.cs" />
<Compile Include="CodeCompletion\CompletionListBox.cs" />
<Compile Include="CodeCompletion\CompletionWindowBase.cs" />
<Compile Include="CodeCompletion\CompletionList.cs" />
<Compile Include="CodeCompletion\CompletionWindow.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="CodeCompletion\ICompletionData.cs" />
<Compile Include="CodeCompletion\InsightWindow.cs" />
<Compile Include="CodeCompletion\IOverloadProvider.cs" />
<Compile Include="CodeCompletion\OverloadInsightWindow.cs" />
<Compile Include="CodeCompletion\OverloadViewer.cs" />
<Compile Include="Document\DocumentChangeOperation.cs">
<DependentUpon>UndoStack.cs</DependentUpon>
</Compile>
<Compile Include="Document\DocumentTextWriter.cs" />
<Compile Include="Document\IDocument.cs" />
<Compile Include="Document\ILineTracker.cs" />
<Compile Include="Document\ITextAnchor.cs" />
<Compile Include="Document\ITextSource.cs" />
<Compile Include="Document\SimpleSegment.cs" />
<Compile Include="Document\RopeTextSource.cs" />
<Compile Include="Document\IUndoableOperation.cs">
<DependentUpon>UndoStack.cs</DependentUpon>
</Compile>
<Compile Include="Document\LineNode.cs">
<DependentUpon>DocumentLine.cs</DependentUpon>
</Compile>
<Compile Include="Document\NewLineFinder.cs" />
<Compile Include="Document\OffsetChangeMap.cs" />
<Compile Include="Document\TextDocumentWeakEventManager.cs">
<DependentUpon>TextDocument.cs</DependentUpon>
</Compile>
<Compile Include="Document\TextLocation.cs" />
<Compile Include="Document\TextSegmentCollection.cs" />
<Compile Include="Document\TextAnchor.cs" />
<Compile Include="Document\TextAnchorNode.cs">
<DependentUpon>TextAnchor.cs</DependentUpon>
</Compile>
<Compile Include="Document\TextAnchorTree.cs">
<DependentUpon>TextAnchor.cs</DependentUpon>
</Compile>
<Compile Include="Document\TextSegment.cs" />
<Compile Include="Document\TextSourceVersionProvider.cs" />
<Compile Include="Document\TextUtilities.cs" />
<Compile Include="Document\UndoOperationGroup.cs">
<DependentUpon>UndoStack.cs</DependentUpon>
</Compile>
<Compile Include="Document\UndoStack.cs">
</Compile>
<Compile Include="Document\WeakLineTracker.cs">
<DependentUpon>ILineTracker.cs</DependentUpon>
</Compile>
<Compile Include="Editing\AbstractMargin.cs" />
<Compile Include="Editing\Caret.cs" />
<Compile Include="Editing\CaretLayer.cs">
</Compile>
<Compile Include="Editing\CaretNavigationCommandHandler.cs">
</Compile>
<Compile Include="Editing\CaretWeakEventHandler.cs" />
<Compile Include="Editing\DottedLineMargin.cs" />
<Compile Include="Editing\DragDropException.cs" />
<Compile Include="Editing\EditingCommandHandler.cs" />
<Compile Include="Editing\EmptySelection.cs">
<DependentUpon>Selection.cs</DependentUpon>
</Compile>
<Compile Include="Editing\ImeNativeWrapper.cs" />
<Compile Include="Editing\MouseSelectionMode.cs" />
<Compile Include="Editing\SelectionSegment.cs" />
<Compile Include="Editing\ImeSupport.cs" />
<Compile Include="Editing\TextAreaAutomationPeer.cs" />
<Compile Include="Editing\TextRangeProvider.cs" />
<Compile Include="Folding\FoldingElementGenerator.cs" />
<Compile Include="Folding\FoldingManager.cs" />
<Compile Include="Folding\FoldingMargin.cs" />
<Compile Include="Folding\FoldingMarginMarker.cs" />
<Compile Include="Folding\FoldingSection.cs" />
<Compile Include="Editing\IReadOnlySectionProvider.cs" />
<Compile Include="Editing\LineNumberMargin.cs" />
<Compile Include="Editing\NoReadOnlySections.cs">
<DependentUpon>IReadOnlySectionProvider.cs</DependentUpon>
</Compile>
<Compile Include="Editing\RectangleSelection.cs">
<DependentUpon>Selection.cs</DependentUpon>
</Compile>
<Compile Include="Editing\Selection.cs" />
<Compile Include="Editing\SelectionColorizer.cs">
<DependentUpon>Selection.cs</DependentUpon>
</Compile>
<Compile Include="Editing\SelectionLayer.cs">
<DependentUpon>Selection.cs</DependentUpon>
</Compile>
<Compile Include="Editing\SelectionMouseHandler.cs">
<DependentUpon>Selection.cs</DependentUpon>
</Compile>
<Compile Include="Editing\SimpleSelection.cs">
<DependentUpon>Selection.cs</DependentUpon>
</Compile>
<Compile Include="Editing\TextArea.cs" />
<Compile Include="Editing\TextAreaDefaultInputHandlers.cs" />
<Compile Include="Editing\TextAreaInputHandler.cs" />
<Compile Include="Editing\TextSegmentReadOnlySectionProvider.cs">
<DependentUpon>IReadOnlySectionProvider.cs</DependentUpon>
</Compile>
<Compile Include="Folding\NewFolding.cs" />
<Compile Include="Folding\XmlFoldingStrategy.cs" />
<Compile Include="Highlighting\DocumentHighlighter.cs" />
<Compile Include="Highlighting\HighlightedInlineBuilder.cs" />
<Compile Include="Highlighting\HighlightedLine.cs" />
<Compile Include="Highlighting\HighlightedSection.cs" />
<Compile Include="Highlighting\HighlightingBrush.cs" />
<Compile Include="Highlighting\HighlightingColor.cs" />
<Compile Include="Highlighting\HighlightingColorizer.cs" />
<Compile Include="Highlighting\HighlightingDefinitionInvalidException.cs" />
<Compile Include="Highlighting\HighlightingDefinitionTypeConverter.cs" />
<Compile Include="Highlighting\HighlightingEngine.cs" />
<Compile Include="Highlighting\HighlightingManager.cs" />
<Compile Include="Highlighting\HtmlClipboard.cs" />
<Compile Include="Highlighting\HtmlOptions.cs" />
<Compile Include="Highlighting\HtmlRichTextWriter.cs" />
<Compile Include="Highlighting\IHighlighter.cs" />
<Compile Include="Highlighting\IHighlightingDefinition.cs" />
<Compile Include="Highlighting\HighlightingRule.cs" />
<Compile Include="Highlighting\Resources\Resources.cs" />
<Compile Include="Highlighting\HighlightingRuleSet.cs" />
<Compile Include="Highlighting\HighlightingSpan.cs" />
<Compile Include="Highlighting\IHighlightingDefinitionReferenceResolver.cs">
</Compile>
<Compile Include="Highlighting\RichText.cs" />
<Compile Include="Highlighting\RichTextColorizer.cs" />
<Compile Include="Highlighting\RichTextModel.cs" />
<Compile Include="Highlighting\RichTextModelWriter.cs" />
<Compile Include="Highlighting\Xshd\HighlightingLoader.cs" />
<Compile Include="Highlighting\Xshd\IXshdVisitor.cs" />
<Compile Include="Highlighting\Xshd\SaveXshdVisitor.cs" />
<Compile Include="Highlighting\Xshd\V1Loader.cs" />
<Compile Include="Highlighting\Xshd\V2Loader.cs" />
<Compile Include="Highlighting\Xshd\XmlHighlightingDefinition.cs" />
<Compile Include="Highlighting\Xshd\XshdColor.cs" />
<Compile Include="Highlighting\Xshd\XshdImport.cs" />
<Compile Include="Highlighting\Xshd\XshdProperty.cs" />
<Compile Include="Highlighting\Xshd\XshdReference.cs" />
<Compile Include="Highlighting\Xshd\XshdElement.cs" />
<Compile Include="Highlighting\Xshd\XshdKeywords.cs" />
<Compile Include="Highlighting\Xshd\XshdRule.cs" />
<Compile Include="Highlighting\Xshd\XshdRuleSet.cs" />
<Compile Include="Highlighting\Xshd\XshdSpan.cs" />
<Compile Include="Highlighting\Xshd\XshdSyntaxDefinition.cs" />
<Compile Include="Indentation\CSharp\IndentationReformatter.cs" />
<Compile Include="Indentation\CSharp\CSharpIndentationStrategy.cs" />
<Compile Include="Indentation\CSharp\DocumentAccessor.cs" />
<Compile Include="Indentation\DefaultIndentationStrategy.cs" />
<Compile Include="Indentation\IIndentationStrategy.cs" />
<Compile Include="Rendering\BackgroundGeometryBuilder.cs">
<DependentUpon>IBackgroundRenderer.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\CollapsedLineSection.cs">
<DependentUpon>HeightTree.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\ColorizingTransformer.cs">
<DependentUpon>IVisualLineTransformer.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\ColumnRulerRenderer.cs" />
<Compile Include="Rendering\CurrentLineHighlightRenderer.cs" />
<Compile Include="Rendering\DefaultTextRunTypographyProperties.cs" />
<Compile Include="Rendering\DocumentColorizingTransformer.cs">
<DependentUpon>IVisualLineTransformer.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\FormattedTextElement.cs" />
<Compile Include="Rendering\GlobalTextRunProperties.cs">
<DependentUpon>TextView.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\HeightTree.cs" />
<Compile Include="Rendering\HeightTreeLineNode.cs">
<DependentUpon>HeightTree.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\HeightTreeNode.cs">
<DependentUpon>HeightTree.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\IBackgroundRenderer.cs" />
<Compile Include="Rendering\InlineObjectRun.cs" />
<Compile Include="Rendering\ITextRunConstructionContext.cs">
<DependentUpon>VisualLineElementGenerator.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\ITextViewConnect.cs">
<DependentUpon>TextView.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\IVisualLineTransformer.cs" />
<Compile Include="Rendering\Layer.cs">
<DependentUpon>TextView.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\LayerPosition.cs">
<DependentUpon>TextView.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\LinkElementGenerator.cs" />
<Compile Include="Rendering\MouseHoverLogic.cs" />
<Compile Include="Rendering\SimpleTextSource.cs">
<DependentUpon>FormattedTextElement.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\SingleCharacterElementGenerator.cs" />
<Compile Include="Rendering\TextLayer.cs">
<DependentUpon>TextView.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\TextView.cs" />
<Compile Include="Rendering\TextViewCachedElements.cs" />
<Compile Include="Rendering\TextViewWeakEventManager.cs">
<DependentUpon>TextView.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\VisualLine.cs" />
<Compile Include="Rendering\VisualLineConstructionStartEventArgs.cs" />
<Compile Include="Rendering\VisualLineElement.cs" />
<Compile Include="Rendering\VisualLineElementGenerator.cs" />
<Compile Include="Rendering\VisualLineElementTextRunProperties.cs">
<DependentUpon>VisualLine.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\VisualLineLinkText.cs" />
<Compile Include="Rendering\VisualLinesInvalidException.cs" />
<Compile Include="Rendering\VisualLineText.cs" />
<Compile Include="Rendering\VisualLineTextParagraphProperties.cs">
<DependentUpon>VisualLine.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\VisualLineTextSource.cs">
<DependentUpon>VisualLineElementGenerator.cs</DependentUpon>
</Compile>
<Compile Include="Rendering\VisualYPosition.cs">
<DependentUpon>VisualLine.cs</DependentUpon>
</Compile>
<Compile Include="Search\Localization.cs" />
<Compile Include="Search\RegexSearchStrategy.cs" />
<Compile Include="Search\DropDownButton.cs" />
<Compile Include="Search\ISearchStrategy.cs" />
<Compile Include="Search\SearchCommands.cs" />
<Compile Include="Search\SearchResultBackgroundRenderer.cs" />
<Compile Include="Search\SearchPanel.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Search\SearchStrategyFactory.cs" />
<Compile Include="Snippets\IActiveElement.cs" />
<Compile Include="Snippets\SnippetAnchorElement.cs" />
<Compile Include="Snippets\SnippetEventArgs.cs" />
<Compile Include="Snippets\SnippetInputHandler.cs" />
<Compile Include="Snippets\Snippet.cs" />
<Compile Include="Snippets\SnippetBoundElement.cs" />
<Compile Include="Snippets\SnippetCaretElement.cs" />
<Compile Include="Snippets\SnippetContainerElement.cs" />
<Compile Include="Snippets\SnippetElement.cs" />
<Compile Include="Snippets\InsertionContext.cs" />
<Compile Include="Snippets\SnippetReplaceableTextElement.cs" />
<Compile Include="Snippets\SnippetSelectionElement.cs" />
<Compile Include="Snippets\SnippetTextElement.cs" />
<Compile Include="TextEditor.cs" />
<Compile Include="TextEditorAutomationPeer.cs" />
<Compile Include="TextEditorComponent.cs">
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Document\DocumentChangeEventArgs.cs" />
<Compile Include="Document\GapTextBuffer.cs">
<DependentUpon>TextDocument.cs</DependentUpon>
</Compile>
<Compile Include="Document\LineManager.cs">
<DependentUpon>TextDocument.cs</DependentUpon>
</Compile>
<Compile Include="Document\DocumentLine.cs" />
<Compile Include="Document\DocumentLineTree.cs">
<DependentUpon>DocumentLine.cs</DependentUpon>
</Compile>
<Compile Include="Document\TextDocument.cs" />
<Compile Include="TextEditorOptions.cs" />
<Compile Include="TextEditorWeakEventManager.cs">
<DependentUpon>TextEditor.cs</DependentUpon>
</Compile>
<Compile Include="TextViewPosition.cs" />
<Compile Include="Utils\Boxes.cs" />
<Compile Include="Utils\CallbackOnDispose.cs" />
<Compile Include="Utils\CharRope.cs" />
<Compile Include="Utils\CompressingTreeList.cs" />
<Compile Include="Utils\Constants.cs" />
<Compile Include="Utils\DelayedEvents.cs" />
<Compile Include="Utils\Deque.cs" />
<Compile Include="Utils\DocumentPrinter.cs" />
<Compile Include="Utils\Empty.cs" />
<Compile Include="Utils\ExtensionMethods.cs" />
<Compile Include="Utils\FileReader.cs" />
<Compile Include="Utils\IFreezable.cs" />
<Compile Include="Utils\ImmutableStack.cs" />
<Compile Include="Utils\NullSafeCollection.cs" />
<Compile Include="Utils\ObserveAddRemoveCollection.cs" />
<Compile Include="Utils\PlainRichTextWriter.cs" />
<Compile Include="Utils\PropertyChangedWeakEventManager.cs" />
<Compile Include="Utils\RichTextWriter.cs" />
<Compile Include="Utils\Rope.cs" />
<Compile Include="Utils\RopeNode.cs" />
<Compile Include="Utils\RopeTextReader.cs" />
<Compile Include="Utils\StringSegment.cs" />
<Compile Include="Utils\TextFormatterFactory.cs" />
<Compile Include="Utils\WeakEventManagerBase.cs" />
<Compile Include="Utils\PixelSnapHelpers.cs" />
<Compile Include="Utils\ThrowUtil.cs" />
<Compile Include="Utils\Win32.cs" />
<CodeAnalysisDictionary Include="Properties\CodeAnalysisDictionary.xml" />
<Resource Include="themes\RightArrow.cur" />
<EmbeddedResource Include="Highlighting\Resources\ASPX.xshd" />
<EmbeddedResource Include="Highlighting\Resources\Boo.xshd" />
<EmbeddedResource Include="Highlighting\Resources\Coco-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\CPP-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\HTML-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\Java-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\JavaScript-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\Patch-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\PHP-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\Python-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\Tex-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\VB-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\XML-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\ModeV1.xsd" />
<EmbeddedResource Include="Highlighting\Resources\ModeV2.xsd" />
<EmbeddedResource Include="Highlighting\Resources\CSharp-Mode.xshd" />
<EmbeddedResource Include="Highlighting\Resources\XmlDoc.xshd" />
</ItemGroup>
<ItemGroup>
<Page Include="CodeCompletion\CompletionList.xaml" />
<Page Include="CodeCompletion\InsightWindow.xaml" />
<Page Include="Search\SearchPanel.xaml">
<DependentUpon>SearchPanel.cs</DependentUpon>
</Page>
<Page Include="Search\DropDownButton.xaml">
<DependentUpon>DropDownButton.cs</DependentUpon>
</Page>
<Page Include="TextEditor.xaml" />
<Page Include="themes\generic.xaml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Highlighting\Resources\CSS-Mode.xshd" />
</ItemGroup>
<ItemGroup>
<None Remove="Search\next.png" />
<None Remove="Search\prev.png" />
<None Remove="themes\RightArrow.cur" />
<Resource Include="Search\next.png" />
<Resource Include="Search\prev.png" />
<Resource Include="themes\RightArrow.cur" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Highlighting\Resources\PowerShell.xshd" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Highlighting\Resources\MarkDown-Mode.xshd" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Highlighting\Resources\TSQL-Mode.xshd" />
<None Remove="Highlighting\Resources\*" />
<EmbeddedResource Include="Highlighting\Resources\*" />
<EmbeddedResource Remove="Highlighting\Resources\Resources.cs" />
<Resource Include="Highlighting\Resources\Resources.cs" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta2-18618-05">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

Просмотреть файл

@ -31,11 +31,6 @@ using System.Windows.Markup;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ICSharpCode.AvalonEdit")]
[assembly: AssemblyDescription("WPF-based extensible text editor")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: CLSCompliant(true)]
@ -51,10 +46,6 @@ using System.Windows.Markup;
)]
[assembly: System.Runtime.InteropServices.ComVisible(false)]
[assembly: AssemblyCompany("ic#code")]
[assembly: AssemblyProduct("SharpDevelop")]
[assembly: AssemblyCopyright("2000-2014 AlphaSierraPapa for the SharpDevelop Team")]
[assembly: AssemblyVersion("5.0.3")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: XmlnsPrefix("http://icsharpcode.net/sharpdevelop/avalonedit", "avalonedit")]

Просмотреть файл

@ -66,23 +66,6 @@ namespace ICSharpCode.AvalonEdit.Rendering
/// </summary>
public double BorderThickness { get; set; }
bool alignToMiddleOfPixels;
/// <summary>
/// Gets/Sets whether to align the geometry to the middle of pixels.
/// </summary>
[Obsolete("Use the AlignToWholePixels and BorderThickness properties instead. "
+ "Setting AlignToWholePixels=true and setting the BorderThickness to the pixel size "
+ "is equivalent to aligning the geometry to the middle of pixels.")]
public bool AlignToMiddleOfPixels {
get {
return alignToMiddleOfPixels;
}
set {
alignToMiddleOfPixels = value;
}
}
/// <summary>
/// Gets/Sets whether to extend the rectangles to full width at line end.
/// </summary>
@ -113,7 +96,7 @@ namespace ICSharpCode.AvalonEdit.Rendering
/// </summary>
/// <remarks>
/// This overload will align the coordinates according to
/// <see cref="AlignToWholePixels"/> or <see cref="AlignToMiddleOfPixels"/>.
/// <see cref="AlignToWholePixels"/>.
/// Use the <see cref="AddRectangle(double,double,double,double)"/>-overload instead if the coordinates should not be aligned.
/// </remarks>
public void AddRectangle(TextView textView, Rect rectangle)
@ -130,11 +113,6 @@ namespace ICSharpCode.AvalonEdit.Rendering
PixelSnapHelpers.Round(r.Right + halfBorder, pixelSize.Width) - halfBorder,
PixelSnapHelpers.Round(r.Bottom + halfBorder, pixelSize.Height) - halfBorder);
//Debug.WriteLine(r.ToString() + " -> " + new Rect(lastLeft, lastTop, lastRight-lastLeft, lastBottom-lastTop).ToString());
} else if (alignToMiddleOfPixels) {
AddRectangle(PixelSnapHelpers.PixelAlign(r.Left, pixelSize.Width),
PixelSnapHelpers.PixelAlign(r.Top, pixelSize.Height),
PixelSnapHelpers.PixelAlign(r.Right, pixelSize.Width),
PixelSnapHelpers.PixelAlign(r.Bottom, pixelSize.Height));
} else {
AddRectangle(r.Left, r.Top, r.Right, r.Bottom);
}
@ -312,7 +290,7 @@ namespace ICSharpCode.AvalonEdit.Rendering
/// </summary>
/// <remarks>
/// This overload assumes that the coordinates are aligned properly
/// (see <see cref="AlignToWholePixels"/>, <see cref="AlignToMiddleOfPixels"/>).
/// (see <see cref="AlignToWholePixels"/>).
/// Use the <see cref="AddRectangle(TextView,Rect)"/>-overload instead if the coordinates are not yet aligned.
/// </remarks>
public void AddRectangle(double left, double top, double right, double bottom)

Просмотреть файл

@ -64,18 +64,7 @@ namespace ICSharpCode.AvalonEdit.Search
/// TextAreaInputHandler that registers all search-related commands.
/// </summary>
public class SearchInputHandler : TextAreaInputHandler
{
/// <summary>
/// Creates a new SearchInputHandler and registers the search-related commands.
/// </summary>
[Obsolete("Use SearchPanel.Install instead")]
public SearchInputHandler(TextArea textArea)
: base(textArea)
{
RegisterCommands(this.CommandBindings);
panel = SearchPanel.Install(textArea);
}
{
internal SearchInputHandler(TextArea textArea, SearchPanel panel)
: base(textArea)
{

Просмотреть файл

@ -184,17 +184,6 @@ namespace ICSharpCode.AvalonEdit.Search
{
}
/// <summary>
/// Attaches this SearchPanel to a TextArea instance.
/// </summary>
[Obsolete("Use the Install method instead")]
public void Attach(TextArea textArea)
{
if (textArea == null)
throw new ArgumentNullException("textArea");
AttachInternal(textArea);
}
/// <summary>
/// Creates a SearchPanel and installs it to the TextEditor's TextArea.
/// </summary>
@ -233,7 +222,10 @@ namespace ICSharpCode.AvalonEdit.Search
/// </summary>
public void Uninstall()
{
CloseAndRemove();
Close();
textArea.DocumentChanged -= textArea_DocumentChanged;
if (currentDocument != null)
currentDocument.TextChanged -= textArea_Document_TextChanged;
textArea.DefaultInputHandler.NestedInputHandlers.Remove(handler);
}
@ -425,19 +417,7 @@ namespace ICSharpCode.AvalonEdit.Search
// Clear existing search results so that the segments don't have to be maintained
renderer.CurrentResults.Clear();
}
/// <summary>
/// Closes the SearchPanel and removes it.
/// </summary>
[Obsolete("Use the Uninstall method instead!")]
public void CloseAndRemove()
{
Close();
textArea.DocumentChanged -= textArea_DocumentChanged;
if (currentDocument != null)
currentDocument.TextChanged -= textArea_Document_TextChanged;
}
/// <summary>
/// Opens the an existing search panel.
/// </summary>

Просмотреть файл

@ -396,18 +396,6 @@ namespace ICSharpCode.AvalonEdit.Utils
int runLength = GetNode(ref indexInRun).count;
return index - indexInRun + runLength;
}
/// <summary>
/// Gets the number of elements after <paramref name="index"/> that have the same value as each other.
/// </summary>
[Obsolete("This method may be confusing as it returns only the remaining run length after index. " +
"Use GetStartOfRun/GetEndOfRun instead.")]
public int GetRunLength(int index)
{
if (index < 0 || index >= this.Count)
throw new ArgumentOutOfRangeException("index", index, "Value must be between 0 and " + (this.Count - 1));
return GetNode(ref index).count - index;
}
/// <summary>
/// Applies the conversion function to all elements in this CompressingTreeList.

Просмотреть файл

@ -1,6 +1,6 @@
# AvalonEdit
AvalonEdit is the name of the WPF-based text editor in SharpDevelop 4.x "Mirador" and beyond.
AvalonEdit is the name of the WPF-based text editor in SharpDevelop 4.x "Mirador" and beyond. It is also being used in ILSpy and many other projects.
[avalonedit.net](http://avalonedit.net/)
@ -11,6 +11,20 @@ Downloads
AvalonEdit is available as [NuGet package](https://www.nuget.org/packages/AvalonEdit). Usage details, documentation and more
can be found on the [AvalonEdit homepage](http://avalonedit.net/)
How to build
-------
AvalonEdit is targeting netcoreapp3.0, net40 and net45 TFMs. Because of netcoreapp3.0 you must have .NET Core 3.0 SDK (currently in preview) installed
on your machine. Visual Studio 2019 is required for working with the solution (global.json will select the proper SDK to use for building for you).
Documentation
-------
To build the Documentation you need to install Sandcastle from https://github.com/EWSoftware/SHFB/releases (currently validated tooling is
v2019.4.14.0)
The build of the Documentation can take very long, please be patient.
License
-------

Просмотреть файл

@ -1,11 +1,31 @@
version: 1.0.{build}
configuration: Debug
platform: Net40
version: '6.0.{build}'
dotnet_csproj:
patch: true
file: '**\*.csproj'
version: '6.0-netcore3p5alpha2'
assembly_version: '{version}'
file_version: '{version}'
configuration:
- Debug
- Release
image: Visual Studio 2019 Preview
install:
- cmd: choco install dotnetcore-sdk --pre
before_build:
- nuget restore ICSharpCode.AvalonEdit.sln
- nuget restore ICSharpCode.AvalonEdit.sln
build:
project: ICSharpCode.AvalonEdit.sln
parallel: true
verbosity: minimal
publish_nuget: true
publish_nuget_symbols: true
use_snupkg_format: true
after_test:
- python ICSharpCode.AvalonEdit.Tests\tidy.py
- python ICSharpCode.AvalonEdit.Tests\tidy.py

5
global.json Normal file
Просмотреть файл

@ -0,0 +1,5 @@
{
"sdk": {
"version": "3.0.100-preview4"
}
}

Просмотреть файл

@ -1,30 +0,0 @@
<?xml version="1.0"?>
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>AvalonEdit.Sample</id>
<version>5.0.4</version>
<authors>Daniel Grunwald</authors>
<owners>SharpDevelop</owners>
<licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
<projectUrl>http://www.avalonedit.net</projectUrl>
<iconUrl>http://community.sharpdevelop.net/blogs/mattward/SharpDevelop.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Sample code for AvalonEdit the WPF-based text editor used in SharpDevelop.
Modify your App.xaml file so the StartupUri points to the AvalonEdit Sample window:
StartupUri="/Samples/AvalonEdit/Window1.xaml"</description>
<summary>Sample code for AvalonEdit the WPF-based text editor used in SharpDevelop.</summary>
<language>en-US</language>
<dependencies>
<dependency id="AvalonEdit" version="5.0.4" />
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Windows.Forms" />
<frameworkAssembly assemblyName="WindowsFormsIntegration" />
</frameworkAssemblies>
<tags>WPF Text Editor SharpDevelop AvalonEdit</tags>
</metadata>
<files>
<file src="..\..\ICSharpCode.AvalonEdit.Sample\**\*.cs" target="src" />
</files>
</package>

Просмотреть файл

@ -1,40 +0,0 @@
<?xml version="1.0"?>
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>AvalonEdit</id>
<version>5.0.4</version>
<authors>Daniel Grunwald</authors>
<owners>SharpDevelop</owners>
<licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
<projectUrl>http://www.avalonedit.net</projectUrl>
<iconUrl>http://community.sharpdevelop.net/blogs/mattward/SharpDevelop.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>AvalonEdit is the WPF-based text editor used in SharpDevelop. There are two builds of AvalonEdit included in this package. One that targets .NET 4.0 and one that targets .NET 3.5.</description>
<summary>AvalonEdit is the WPF-based text editor used in SharpDevelop</summary>
<releaseNotes>
* License changed from LGPL to MIT
* New Feature: Hide mouse cursor while typing (enabled by default)
* New Feature: Highlight current line (disabled by default)
* New Feature: Overstrike mode (disabled by default)
* New Feature: 'underline' attribute in syntax highlighting definitions
* AvalonEdit now raises the WPF DataObject attached events on clipboard and drag'n'drop operations.
* Encoding detection now distinguishes between UTF-8 with BOM and UTF-8 without BOM. This prevents AvalonEdit from adding the BOM to existing UTF-8 files.
* Improved handling of grapheme clusters. A base character followed by a combining mark is now treated as a single character by the caret movement logic.
* Added RichText, RichTextModel and RichTextColorizer.
* Renamed the VB highlighting mode from "VBNET" to "VB"
* Changed IHighlighter API in order to support SharpDevelop's semantic C# highlighter
* The regex-based highlighting engine was moved into its own class (HighlightingEngine) to be separated from the state-tracking logic in DocumentHighlighter.
* Add FileName property to TextDocument class.
* DocumentChangeEventArgs.RemovedText/InsertedText are now of type ITextSource instead of string.
* The error-tolerant XML parser included with AvalonEdit was removed. An improved version of this parser is part of the NRefactory 5 project.
* Removed some obsolete APIs.
</releaseNotes>
<language>en-US</language>
<tags>WPF Text Editor SharpDevelop AvalonEdit</tags>
</metadata>
<files>
<file src="lib\Net35\*.*" target="lib\Net35" />
<file src="lib\Net40\*.*" target="lib\Net40" />
<file src="..\..\ICSharpCode.AvalonEdit\**\*.cs" target="src" />
</files>
</package>

Просмотреть файл

@ -1,45 +0,0 @@
@ECHO OFF
SETLOCAL
cd %~dp0
SET msbuild=%windir%\microsoft.net\framework\v4.0.30319\msbuild
SET documentation=..\Documentation
SET project=..\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj
SET buildoptions=/t:Rebuild /p:Configuration=Release /p:DebugType=PdbOnly
@echo Using this script requires nuget.exe to be in the PATH, and that Sandcastle Help File Builder is installed.
@ECHO ON
:Clean debug build
%msbuild% /m %project% /t:Clean /p:Configuration=Debug /p:OutputPath=%~dp0\AvalonEdit\lib\Net40
@if %errorlevel% neq 0 exit /B 1
:Normal build without modified output path; used by SHFB
%msbuild% /m %project% %buildoptions% /p:Platform=Net40
@if %errorlevel% neq 0 exit /B 1
:BUILD .NET 4.0 version
%msbuild% /m %project% %buildoptions% /p:Platform=Net40 /p:OutputPath=%~dp0\AvalonEdit\lib\Net40
@if %errorlevel% neq 0 exit /B 1
:BUILD .NET 3.5 version
%msbuild% /m %project% %buildoptions% /p:Platform=Net35 "/p:DefineConstants=TRACE" /p:OutputPath=%~dp0\AvalonEdit\lib\Net35
@if %errorlevel% neq 0 exit /B 1
@echo Building documentation with SHFB (for processing <inheritdoc/>)
%msbuild% %documentation%\ICSharpCode.AvalonEdit.shfbproj /p:Configuration=Release
@if %errorlevel% neq 0 exit /B 1
copy /Y %documentation%\IntelliSense\ICSharpCode.AvalonEdit.xml AvalonEdit\lib\Net35\ICSharpCode.AvalonEdit.xml
@if errorlevel 1 exit /B 1
copy /Y %documentation%\IntelliSense\ICSharpCode.AvalonEdit.xml AvalonEdit\lib\Net40\ICSharpCode.AvalonEdit.xml
@if errorlevel 1 exit /B 1
mkdir AvalonEdit
nuget.exe pack AvalonEdit.nuspec -Symbols -BasePath AvalonEdit -OutputDirectory AvalonEdit
@if %errorlevel% neq 0 exit /B 1
mkdir AvalonEdit.Sample
nuget.exe pack AvalonEdit.Sample.nuspec -BasePath AvalonEdit.Sample -OutputDirectory AvalonEdit.Sample
@if %errorlevel% neq 0 exit /B 1
@ECHO OFF
ENDLOCAL

Просмотреть файл

@ -1,16 +0,0 @@
The required version of SHFB is located at:
https://github.com/icsharpcode/SharpDevelop-Vendor/tree/master/SHFB
Please install SandcastleHelpFileBuilder.msi from this zip.
Before running the buildpackage.cmd, you might need to set an environment variable:
set SHFBROOT=C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder
*
Publishing the NuGet package: use nuget push for the main package (necessary for automatically uploading symbols)
http://www.symbolsource.org/Public/Wiki/Publishing

Просмотреть файл

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<repositories>
<repository path="..\ICSharpCode.AvalonEdit.Tests\packages.config" />
</repositories>