Spaces:
Running
Running
File size: 2,141 Bytes
a4bf183 d86b3b9 63912b1 5014f7c 63912b1 d86b3b9 63912b1 d86b3b9 63912b1 d86b3b9 63912b1 d86b3b9 a4bf183 63912b1 a4bf183 63912b1 a4bf183 63912b1 a4bf183 d86b3b9 63912b1 a4bf183 63912b1 a4bf183 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <div style="padding-bottom: 10px; display: flex; gap: 10px; align-items: center;">
<input id="original_url" type="text" placeholder="Original file URL" style="flex: 1; padding: 6px; font-size: 13px;"
value="https://raw.githubusercontent.com/huggingface/trl/main/trl/trainer/grpo_trainer.py" />
<input id="modified_url" type="text" placeholder="Modified file URL" style="flex: 1; padding: 6px; font-size: 13px;"
value="https://raw.githubusercontent.com/huggingface/trl/main/trl/trainer/rloo_trainer.py" />
<button onclick="loadDiff()" style="padding: 6px 14px; font-size: 13px;">Load</button>
</div>
<div style="padding-bottom: 20px;">
<div id="trl_diff" style="width: 100%; border: 1px solid grey;"></div>
</div>
<script src="https://unpkg.com/monaco-editor@latest/min/vs/loader.js"></script>
<script>
const proxy = URL.createObjectURL(
new Blob(
[`
self.MonacoEnvironment = {
baseUrl: 'https://unpkg.com/monaco-editor@latest/min/'
};
importScripts('https://unpkg.com/monaco-editor@latest/min/vs/base/worker/workerMain.js');
`],
{ type: "text/javascript" }
)
);
window.MonacoEnvironment = { getWorkerUrl: () => proxy };
require.config({
paths: { vs: "https://unpkg.com/monaco-editor@latest/min/vs" }
});
let diffEditor;
require(["vs/editor/editor.main"], function () {
diffEditor = monaco.editor.createDiffEditor(
document.getElementById("trl_diff"),
{ readOnly: true, automaticLayout: true }
);
loadDiff();
});
function loadDiff() {
const originalUrl = document.getElementById("original_url").value.trim();
const modifiedUrl = document.getElementById("modified_url").value.trim();
if (!diffEditor || !originalUrl || !modifiedUrl) return;
Promise.all([
fetch(originalUrl).then(r => r.text()),
fetch(modifiedUrl).then(r => r.text())
]).then(([originalTxt, modifiedTxt]) => {
diffEditor.setModel({
original: monaco.editor.createModel(originalTxt, "python"),
modified: monaco.editor.createModel(modifiedTxt, "python")
});
});
}
</script>
|