Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
0fdc237
wip
jeromelaban Feb 21, 2025
e342be9
wip
jeromelaban Feb 22, 2025
66a9715
wip
jeromelaban Feb 23, 2025
34f29f1
wip
jeromelaban Feb 23, 2025
e1ee696
nullable
jeromelaban Feb 23, 2025
e87691c
more nullable
jeromelaban Feb 23, 2025
91de2e3
more fixes
jeromelaban Feb 24, 2025
573c03f
chore: Adjust format
jeromelaban Apr 14, 2025
009df7d
Update to use latest uno 6 templates
jeromelaban Apr 14, 2025
e372c73
update to uno latest
jeromelaban Sep 15, 2025
9188eac
chore: Add missing file
jeromelaban Sep 15, 2025
f6c108c
Update dependency versions
clairernovotny Sep 16, 2025
e107b04
Update to latest Monaco (0.52.0)
clairernovotny Sep 16, 2025
a97cb77
Auto add and activate tab
clairernovotny Sep 18, 2025
4e45c7b
NullReferenceException repro
clairernovotny Sep 22, 2025
71a2325
Add missing styles
MartinZikmund Sep 22, 2025
a0b2055
Add resources for 6.3
clairernovotny Sep 23, 2025
34b6abd
Don't refresh layout until editor is fully loaded
clairernovotny Sep 23, 2025
ecce003
use private sdk
clairernovotny Sep 29, 2025
3763ba3
add simple test page
clairernovotny Sep 29, 2025
b1c02f6
Update to latest sdks
clairernovotny Oct 17, 2025
66c1f57
Update Uno.WinUI version and add net10.0 support
clairernovotny Oct 20, 2025
f3841a1
Update to Monaco Editor 0.54
clairernovotny Oct 20, 2025
c94facc
Refactor and cleanup project files
clairernovotny Oct 20, 2025
9ebd568
Update Uno dependencies and project configurations
clairernovotny Oct 27, 2025
f66480a
Properly include all of the monaco files
clairernovotny Oct 27, 2025
f2e2c55
Switch to Nerdbank.GitVersioning and update metadata
clairernovotny Oct 27, 2025
a6d465e
Improve build process and packaging rules
clairernovotny Oct 27, 2025
7a68e69
Update CI pipeline and simplify solution structure
clairernovotny Oct 27, 2025
cbd14fa
Code cleanup
clairernovotny Oct 28, 2025
e257e90
Refactor: Modernize codebase with C# 9+ features
clairernovotny Oct 28, 2025
3ac05b7
Added a call to `NativeMethods.RefreshLayout` after `NativeMethods.In…
clairernovotny Oct 28, 2025
867633f
Enhance editor API with documentation and new features
clairernovotny Oct 28, 2025
675822c
Make CodeEditor properties public for external access
clairernovotny Nov 3, 2025
908545b
restore generatelibrarylayout
clairernovotny Nov 3, 2025
cf0f811
Refactor MonacoEditorComponent project file
clairernovotny Nov 3, 2025
b323f31
Update packaging behavior and TFM handling
clairernovotny Nov 3, 2025
e64dab9
Set IncludeContentInPack to false in project file
clairernovotny Nov 4, 2025
c63a67d
Added `<clear />` tags to `<packageSources>` to remove any pre-existi…
clairernovotny Nov 4, 2025
8cd90a3
Set name to Build
clairernovotny Nov 4, 2025
2246c37
Simplify artifact publishing and fix variable casing
clairernovotny Nov 4, 2025
4486014
fix case
clairernovotny Nov 4, 2025
5fce140
Refine artifact publishing and add dynamic source root
clairernovotny Nov 4, 2025
fe7ccf3
Ensure directory path in SourceRoot Include attribute
clairernovotny Nov 4, 2025
354fa84
added copilot setup
clairernovotny Nov 5, 2025
7bf9808
set sdk ver
clairernovotny Nov 5, 2025
a68a6be
Apply initial property values on CodeEditor load to fix initializatio…
Copilot Nov 6, 2025
3793f4c
Add FileExtension property to infer code language
clairernovotny Nov 6, 2025
8a0d4e3
Make DebugLogger accessible to JavaScript in UWP apps
clairernovotny Nov 6, 2025
e541d51
Refactor language detection by file extension
clairernovotny Nov 6, 2025
b8530c2
Update JS import for LanguageIdFromExtension method
clairernovotny Nov 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 26 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
[*.cs]
root = true

[*]
indent_style = space
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces... it hurts me :-) But I understand it's a fork...


[*.cs]
indent_size = 4
charset = utf-8
tab_width = 4
end_of_line = crlf

# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true

# CS1591: Missing XML comment for publicly visible type or member
dotnet_diagnostic.CS1591.severity = none

# Namespace declarations should match folder structure
dotnet_diagnostic.IDE0130.severity = none

# IDE0060: Remove unused parameter
dotnet_diagnostic.IDE0060.severity = silent

# Xml files
[*.{xml,xaml,config,nuspec,resx,vsixmanifest,csproj,targets,props,fsproj}]
indent_size = 2

[*.json]
indent_size = 2
42 changes: 42 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "Copilot Setup Steps"

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest

# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
permissions:
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
contents: read

# You can define any steps you want, and they will run before the agent starts.
# If you do not check out your code, Copilot will do this for you.
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
fetch-depth: 0
fetch-tags: true

- uses: actions/setup-dotnet@v5
with:
global-json-file: global.json

- run: |
dotnet workload install wasm-tools wasm-tools-net9
dotnet tool install --tool-path . nbgv
./nbgv cloud -c -a
dotnet restore
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@
package-lock.json

# Monaco Dependency (Download from https://microsoft.github.io/monaco-editor/)
MonacoEditorComponent/monaco-editor
!MonacoEditorComponent/monaco-editor/**/*

# Webcomponents.js Dependency (Download from https://github.com/webcomponents/polyfills)
MonacoEditorComponent/webcomponents-js

# Build results
[Dd]ebug/
Expand Down
63 changes: 34 additions & 29 deletions .vsts-ci.yml
Original file line number Diff line number Diff line change
@@ -1,40 +1,45 @@
jobs:
- job: Windows

- job: Build
pool:
vmImage: 'windows-2022'
vmImage: 'ubuntu-latest'

steps:
- template: build/templates/gitversion.yml
- template: build/templates/gitversion-run.yml

- task: UseDotNet@2
displayName: 'Use .Net Core runtime 3.1.x'
displayName: 'Use .NET 10 SDK'
inputs:
packageType: runtime
version: 5.0.x

- powershell: .\build\Install-WindowsSdkISO.ps1 19041
displayName: Windows SDK Install
includePreviewVersions: true
version: 10.x
- script: dotnet workload install wasm-tools wasm-tools-net9
displayName: Install workloads

- task: MSBuild@1
- task: DotNetCoreCLI@2
inputs:
solution: MonacoEditorComponent.sln
msbuildArguments: /r /p:Configuration=Release "/p:PackageOutputPath=$(build.artifactstagingdirectory)\nuget" "/p:PackageVersion=$(GITVERSION.FullSemVer)" "/p:InformationalVersion=$(GITVERSION.InformationalVersion)" /detailedsummary
command: build
projects: MonacoEditorComponent.slnx
arguments: -c Release -p:ArtifactsPath=$(Build.ArtifactStagingDirectory) /bl:$(Build.ArtifactStagingDirectory)/log/build.binlog

- task: PowerShell@2
displayName: Authenticode Sign Packages
inputs:
filePath: build/Sign-Package.ps1
env:
SignClientUser: $(SignClientUser)
SignClientSecret: $(SignClientSecret)
SignPackageName: "uno.monaco-editor-uwp"
SignPackageDescription: "uno.monaco-editor-uwp"
ArtifactDirectory: $(build.artifactstagingdirectory)
condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
# - task: PowerShell@2
# displayName: Authenticode Sign Packages
# inputs:
# filePath: build/Sign-Package.ps1
# env:
# SignClientUser: $(SignClientUser)
# SignClientSecret: $(SignClientSecret)
# SignPackageName: "uno.monaco-editor-uwp"
# SignPackageDescription: "uno.monaco-editor-uwp"
# ArtifactDirectory: $(Build.ArtifactStagingDirectory)
# condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))

- publish: $(Build.ArtifactStagingDirectory)/package/release
displayName: Publish Build Logs
condition: always()
artifact: packages

- publish: $(Build.ArtifactStagingDirectory)/log
displayName: Publish Build Logs
condition: always()
artifact: logs

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
ArtifactName: uno-monaco-editor-uwp-drop
ArtifactType: Container
18 changes: 18 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project>
<PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseArtifactsOutput>true</UseArtifactsOutput>
<!--
Adding NoWarn to remove build warnings
NU1507: Warning when there are multiple package sources when using CPM with no source mapping
NETSDK1201: Warning that specifying RID won't create self containing app
PRI257: Ignore default language (en) not being one of the included resources (eg en-us, en-uk)
-->
<NoWarn>$(NoWarn);NU1507;NETSDK1201;PRI257;CS1998</NoWarn>
<ContinuousIntegrationBuild Condition="'$(TF_BUILD)' == 'true'">true</ContinuousIntegrationBuild>
</PropertyGroup>
</Project>
6 changes: 6 additions & 0 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Project>
<ItemGroup>
<SourceRoot Condition="'$(ArtifactsPath)' != '' and !HasTrailingSlash('$(ArtifactsPath)')" Include="$(ArtifactsPath)\" />
<SourceRoot Condition="'$(ArtifactsPath)' != '' and HasTrailingSlash('$(ArtifactsPath)')" Include="$(ArtifactsPath)" />
</ItemGroup>
</Project>
18 changes: 18 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project ToolsVersion="15.0">
<!--
To update the version of Uno, you should instead update the Sdk version in the global.json file.
See https://aka.platform.uno/using-uno-sdk for more information.
See https://aka.platform.uno/using-uno-sdk#implicit-packages for more information regarding the Implicit Packages.
-->
<ItemGroup>
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
<PackageVersion Include="Uno.CommunityToolkit.WinUI" Version="7.1.204" />
<PackageVersion Include="Uno.WinUI" Version="6.4.0-dev.235" />
<PackageVersion Include="Uno.Core.Extensions.Logging" Version="4.1.1" />
<PackageVersion Include="Uno.Core.Extensions.Logging.Singleton" Version="4.1.1" />
<PackageVersion Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.8.118"/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't know we can do that. That's nice.

</ItemGroup>
</Project>
4 changes: 2 additions & 2 deletions GenerateMonacoTypings/generate-typings.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Copy-Item $monaco_file -Destination (Join-Path $temp_dir_name "monaco.ts")
Push-Location $temp_dir_name

# Run typedoc to generate json representation
Write-Output '{"compilerOptions":{"target":"es2020"}}' > tsconfig.json
Invoke-Expression "npx typedoc monaco.ts --json monaco.json"

# Need TypedocConverter next
Expand All @@ -47,8 +48,7 @@ Write-Host "Extracting..."
Expand-Archive "TypedocConverter.zip" -DestinationPath .

# Now run TypedocConverter on our monaco.json

Invoke-Expression ".\TypedocConverter.exe --inputfile monaco.json --splitfiles true --outputdir ../$env:npm_package_config_outdir --promise-type WinRT"
Invoke-Expression ".\TypedocConverter.exe --inputfile monaco.json --splitfiles true --outputdir ../$env:npm_package_config_outdir --promise-type WinRT --nrt-disabled true"

Pop-Location

Expand Down
8 changes: 4 additions & 4 deletions GenerateMonacoTypings/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
"license": "MIT",
"config": {
"outdir": "../MonacoEditorComponent",
"typedocConverter": "https://github.com/hez2010/TypedocConverter/releases/download/v1.6/Windows_x64.zip"
"typedocConverter": "https://github.com/hez2010/TypedocConverter/releases/download/v2.6/Windows_x64_Native.zip"
},
"dependencies": {
"monaco-editor": "0.20.0"
"monaco-editor": "0.21.3"
},
"devDependencies": {
"typedoc": "^0.17.3",
"typescript": "^3.8.3"
"typedoc": "0.20.37",
"typescript": "4.2.4"
}
}
86 changes: 0 additions & 86 deletions MonacoEditorComponent.sln

This file was deleted.

23 changes: 23 additions & 0 deletions MonacoEditorComponent.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<Solution>
<Configurations>
<Platform Name="Any CPU" />
<Platform Name="ARM" />
<Platform Name="ARM64" />
<Platform Name="x64" />
<Platform Name="x86" />
</Configurations>
<Folder Name="/Solution Items/">
Comment on lines +2 to +9
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure Any CPU is enough.

Suggested change
<Configurations>
<Platform Name="Any CPU" />
<Platform Name="ARM" />
<Platform Name="ARM64" />
<Platform Name="x64" />
<Platform Name="x86" />
</Configurations>
<Folder Name="/Solution Items/">
<Folder Name="/Solution Items/">

<File Path=".editorconfig" />
<File Path="changelog.md" />
<File Path="Directory.Build.props" />
<File Path="Directory.Build.targets" />
<File Path="Directory.Packages.props" />
<File Path="global.json" />
<File Path="install-dependencies.ps1" />
<File Path="MonacoEditorComponent/MonacoEditorComponent.nuspec" />
<File Path="README.md" />
<File Path="ThirdPartyNotices.txt" />
</Folder>
<Project Path="MonacoEditorComponent/MonacoEditorComponent.csproj" />
<Project Path="MonacoEditorTestApp.Wasm/MonacoEditorTestApp.csproj" />
</Solution>
Loading