mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 10:16:24 +02:00
* Flatten everything and succeed build * Figure out Settings assets * Remove UseCommonOutputDirectory tag * Proper settings app path * [VCM] Fix assets location * Fix some runtime paths * [RegistryPreview]Use MRTCore specific pri file * [Hosts]Use MRTCore specific pri file * [Settings]Use MRTCore specific pri file * [Peek]Use MRTCore specific pri file * [FileLocksmith]Use MRTCore specific pri file * [ScreenRuler]Use MRTCore specific pri file * [PowerRename]Use MRTCore specific pri file * [Peek]Move assets to own folder * [FileLocksmith] Use own Assets path * [Hosts]Use own assets folder * [PowerRename]Use own assets dir * [MeasureTool] Use its own assets folder * [ImageResizer]Use its own assets path * Fix spellcheck * Fix tab instead of space in project files * Normalize target frameworks and platforms * Remove WINRT_NO_MAKE_DETECTION flag. No longer needed? * Fix AOT and Hosts locations * Fix Dll version differences on dependency * Add Common.UI.csproj as refernce to fix dll versions * Update ControlzEx to normalize dll versions * Update System.Management version to 7.0.2 * Add GPOWrapper to Registry Preview to fix dll versions * [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions * Fix remaining output paths / dll version conflicts * [KeyboardManager]Executables still on their own directories * Fix Monaco paths * WinAppSDK apps get to play outside again * Enable VCM settings again * Fix KBM Editor path again * [Monaco]Set to own Assets dir * Fix installer preamble; Fix publish. remove unneeded publishes * Remove Hardlink functions * Installer builds again (still needs work to work) * Readd Monaco to spellcheck excludes * Fix spellcheck and call publish.cmd again * [Installer] Remove components that don't need own dirs * [Installer] Refactor Power Launcher * [Installer] Refactor Color Picker * [Installer] Refactor Monaco assets * [Installer]Generate File script no longer needs to remove files * [Installer]Refactor FileLocksmith * [Installer] Refactor Hosts * [Installer]Refactor Image Resizer * [Installer]Refactor MouseUtils * [Installer]Refactor MWB * [Installer]Refactor MeasureTool * [Installer]Refactor Peek * [Installer]Refactor PowerRename and registry fixes * [Installer]Refactor RegistryPreview * [Installer]Refactor ShortcutGuide * [Installer]Refactor Settings * [Installer]Clean up some unused stuff * [Installer]Clean up stuff for user install * [Installer]Fix WinUi3Apps wxs * [Installer]Fix misplaced folders * [Installer]Move x86 VCM dll to right path * Fix monaco language list location * [Installer]Fix VCM directory reference * [CI]Fix signing * [Installer] Fix resources folder for release CI * [ci]Looks like we still ship NLog on PowerToys Run * [Settings]Add dependency to avoid dll collision with Experimentation * [RegistryPreview]Move XAML files to own path * [RegistryPreview]Fix app icon * [Hosts]Move XAML files to their own path * [FileLocksmith]Move XAML files to their own path * [Peek]Move XAML files to own path * [ScreenRuler]Move XAML files to its own path * [Settings]Move XAML to its own path * [ColorPicker]Move Resources to Assets * [ShortcutGuide]Move svgs to own Assets path * [Awake]Move images to assets path * [Runner]Remove debug checks for PowerToys Run assets * [PTRun]Move images to its own assets path * [ImageResizer]Icon for context menu on own assets path * [PowerRename]Move ico to its own path * Remove unneeded intermediary directories * Remove further int dirs * Move tests to its own output path * Fix spellcheck * spellcheck: remove warnings * [CppAnalyzers]Ignore rule in a tool * [CI]Check if all deps.json files reference same versions * fix spellcheck * [ci]Fix task identation * [ci]Add script to guard against asset conflicts * [ci]Add more deps.json audit steps in the release build * Add xbf to spellcheck expects * Fix typo in asset conflict check scripts * Fix some more dependency conflicts * Downgrade CsWinRT to have the same dll version as sdk * [ci]Do a recursive check for every deps.json * Fix spellcheck error inside comment * [ci]Fix asset script error * [ci]Name deps.json verify tasks a bit better * [ci]Improve deps json verify script output * [ci]Update WinRT version to the same running in CI * Also upgrade CsWinRT in NOTICE.MD * [PowerRename]Move XAML files to own path * [Common]Fix Settings executable path * [ci]Verify there's no xbf files in app directories * [installer]Fix firewall path * [Monaco]Move new files to their proper assets path * [Monaco]Fix paths for new files after merge * [Feedback]Removed unneeded build conditions * [Feedback]Clear vcxproj direct reference to frameworks * [Feedback]RunPlugins name to hold PTRun plugins * [Feedback]Remove unneeded foreach * [Feedback]Shortcut Guide svgs with ** in project file * [Feedback]Fix spellcheck
139 lines
5.4 KiB
HTML
139 lines
5.4 KiB
HTML
<!doctype HTML>
|
|
<html>
|
|
<head>
|
|
<script>
|
|
// Set variables
|
|
|
|
// Get URL parameters:
|
|
// `code` contains the code of the file in base64 encoded
|
|
// `theme` can be "light" or "dark"
|
|
// `lang` is the language of the file
|
|
// `wrap` if the editor is wrapping or not
|
|
|
|
var theme = ("[[PT_THEME]]" == "dark") ? "vs-dark" : "vs";
|
|
var lang = "[[PT_LANG]]";
|
|
var wrap = ([[PT_WRAP]] == 1) ? true : false;
|
|
|
|
var base64code = "[[PT_CODE]]";
|
|
|
|
// Code taken from https://stackoverflow.com/a/30106551/14774889
|
|
var code = decodeURIComponent(atob(base64code).split('').map(function(c) {
|
|
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
}).join(''));
|
|
</script>
|
|
<!-- Set browser to Edge-->
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<!-- Set charset -->
|
|
<meta charset="utf-8" />
|
|
<!-- Title (normally not displayed)-->
|
|
<title>Previewer for developer Files</title>
|
|
<style>
|
|
/* Fits content to window size */
|
|
html, body{
|
|
padding:0;
|
|
}
|
|
#container,.monaco-editor {
|
|
position:fixed;
|
|
height:100%;
|
|
left:0;
|
|
top:0;
|
|
right:0;
|
|
bottom:0;
|
|
}
|
|
.overflowingContentWidgets{
|
|
/*Hides alert box */
|
|
display:none!important
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body oncontextmenu="onContextMenu()">
|
|
<!-- Container for the editor -->
|
|
<div id="container"></div>
|
|
<!-- Script -->
|
|
<script src="http://[[PT_URL]]/monacoSRC/min/vs/loader.js"></script>
|
|
<script src="http://[[PT_URL]]/monacoSpecialLanguages.js" type="module"></script>
|
|
<script type="module">
|
|
var editor;
|
|
import { registerAdditionalLanguages } from "http://[[PT_URL]]/monacoSpecialLanguages.js"
|
|
require.config({ paths: { vs: 'http://[[PT_URL]]/monacoSRC/min/vs' } });
|
|
require(['vs/editor/editor.main'], async function () {
|
|
await registerAdditionalLanguages(monaco)
|
|
// Creates the editor
|
|
// For all parameters: https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.istandaloneeditorconstructionoptions.html
|
|
editor = monaco.editor.create(document.getElementById('container'), {
|
|
value: code, // Sets content of the editor
|
|
language: lang, // Sets language fof the code
|
|
readOnly: true, // Sets to readonly
|
|
theme: theme, // Sets editor theme
|
|
minimap: {enabled: false}, // Disables minimap
|
|
lineNumbersMinChars: "3", //Width of the line numbers
|
|
scrollbar: {
|
|
// Deactivate shadows
|
|
shadows: false,
|
|
|
|
// Render scrollbar automatically
|
|
vertical: 'auto',
|
|
horizontal: 'auto',
|
|
|
|
},
|
|
wordWrap: (wrap?"on":"off") // Word wraps
|
|
});
|
|
window.onresize = function (){
|
|
editor.layout();
|
|
};
|
|
|
|
// Add switch wrap button to context menu
|
|
editor.addAction({
|
|
id: 'text-wrap',
|
|
|
|
label: 'Toggle text wrapping',
|
|
|
|
// A precondition for this action.
|
|
precondition: null,
|
|
|
|
// A rule to evaluate on top of the precondition in order to dispatch the keybindings.
|
|
keybindingContext: null,
|
|
|
|
contextMenuGroupId: 'cutcopypaste',
|
|
|
|
contextMenuOrder: 100,
|
|
|
|
// Method that will be executed when the action is triggered.
|
|
// @param editor The editor instance is passed in as a convenience
|
|
run: function (ed) {
|
|
if(wrap){
|
|
editor.updateOptions({ wordWrap: "off" })
|
|
}else{
|
|
editor.updateOptions({ wordWrap: "on" })
|
|
}
|
|
wrap = !wrap;
|
|
}
|
|
});
|
|
|
|
onContextMenu();
|
|
});
|
|
|
|
function onContextMenu(){
|
|
// Hide context menu items
|
|
// Code modified from https://stackoverflow.com/questions/48745208/disable-cut-and-copy-in-context-menu-in-monaco-editor/65413517#65413517
|
|
let menus = require('vs/platform/actions/common/actions').MenuRegistry._menuItems
|
|
let contextMenuEntry = [...menus].find(entry => entry[0].id == "EditorContext")
|
|
let contextMenuLinks = contextMenuEntry[1]
|
|
|
|
let removableIds = ['editor.action.clipboardCutAction', 'editor.action.formatDocument', 'editor.action.formatSelection', 'editor.action.quickCommand', 'editor.action.quickOutline', 'editor.action.refactor', 'editor.action.sourceAction', 'editor.action.rename', undefined, 'editor.action.revealDefinition', 'editor.action.revealDeclaration', 'editor.action.goToTypeDefinition', 'editor.action.goToImplementation', 'editor.action.goToReferences', 'editor.action.changeAll']
|
|
|
|
let removeById = (list, ids) => {
|
|
let node = list._first
|
|
do {
|
|
if (node.element == undefined) break;
|
|
let shouldRemove = ids.includes(node.element?.command?.id)
|
|
if (shouldRemove) { list._remove(node) }
|
|
} while ((node = node.next))
|
|
}
|
|
|
|
removeById(contextMenuLinks, removableIds)
|
|
}
|
|
</script>
|
|
</body>
|
|
</html> |