Merge pull request #630 from tidalcycles/out-of-range-error

fix: out of range error
This commit is contained in:
Felix Roos 2023-06-30 22:45:41 +02:00 committed by GitHub
commit fbc73bc78a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 9 deletions

View File

@ -103,7 +103,7 @@ const flashField = StateField.define({
try { try {
for (let e of tr.effects) { for (let e of tr.effects) {
if (e.is(setFlash)) { if (e.is(setFlash)) {
if (e.value) { if (e.value && tr.newDoc.length > 0) {
const mark = Decoration.mark({ attributes: { style: `background-color: #FFCA2880` } }); const mark = Decoration.mark({ attributes: { style: `background-color: #FFCA2880` } });
flash = Decoration.set([mark.range(0, tr.newDoc.length)]); flash = Decoration.set([mark.range(0, tr.newDoc.length)]);
} else { } else {

View File

@ -20,7 +20,7 @@ const flashField = StateField.define({
try { try {
for (let e of tr.effects) { for (let e of tr.effects) {
if (e.is(setFlash)) { if (e.is(setFlash)) {
if (e.value) { if (e.value && tr.newDoc?.length?.length > 0) {
const mark = Decoration.mark({ attributes: { style: `background-color: #FFCA2880` } }); const mark = Decoration.mark({ attributes: { style: `background-color: #FFCA2880` } });
flash = Decoration.set([mark.range(0, tr.newDoc.length)]); flash = Decoration.set([mark.range(0, tr.newDoc.length)]);
} else { } else {
@ -152,6 +152,8 @@ export default function CodeMirror({
return _extensions; return _extensions;
}, [keybindings, isAutoCompletionEnabled, isLineWrappingEnabled]); }, [keybindings, isAutoCompletionEnabled, isLineWrappingEnabled]);
const basicSetup = useMemo(() => ({ lineNumbers: isLineNumbersDisplayed }), [isLineNumbersDisplayed]);
return ( return (
<div style={{ fontSize, fontFamily }} className="w-full"> <div style={{ fontSize, fontFamily }} className="w-full">
<_CodeMirror <_CodeMirror
@ -161,7 +163,7 @@ export default function CodeMirror({
onCreateEditor={handleOnCreateEditor} onCreateEditor={handleOnCreateEditor}
onUpdate={handleOnUpdate} onUpdate={handleOnUpdate}
extensions={extensions} extensions={extensions}
basicSetup={{ lineNumbers: isLineNumbersDisplayed }} basicSetup={basicSetup}
/> />
</div> </div>
); );

View File

@ -9,7 +9,7 @@ import { CodeMirror, cx, flash, useHighlighting, useStrudel, useKeydown } from '
import { getAudioContext, initAudioOnFirstClick, resetLoadedSounds, webaudioOutput } from '@strudel.cycles/webaudio'; import { getAudioContext, initAudioOnFirstClick, resetLoadedSounds, webaudioOutput } from '@strudel.cycles/webaudio';
import { createClient } from '@supabase/supabase-js'; import { createClient } from '@supabase/supabase-js';
import { nanoid } from 'nanoid'; import { nanoid } from 'nanoid';
import React, { createContext, useCallback, useEffect, useState } from 'react'; import React, { createContext, useCallback, useEffect, useState, useMemo } from 'react';
import './Repl.css'; import './Repl.css';
import { Footer } from './Footer'; import { Footer } from './Footer';
import { Header } from './Header'; import { Header } from './Header';
@ -264,6 +264,11 @@ export function Repl({ embedded = false }) {
handleShuffle, handleShuffle,
handleShare, handleShare,
}; };
const currentTheme = useMemo(() => themes[theme] || themes.strudelTheme, [theme]);
const handleViewChanged = useCallback((v) => {
setView(v);
}, []);
return ( return (
// bg-gradient-to-t from-blue-900 to-slate-900 // bg-gradient-to-t from-blue-900 to-slate-900
// bg-gradient-to-t from-green-900 to-slate-900 // bg-gradient-to-t from-green-900 to-slate-900
@ -278,7 +283,7 @@ export function Repl({ embedded = false }) {
<Header context={context} /> <Header context={context} />
<section className="grow flex text-gray-100 relative overflow-auto cursor-text pb-0" id="code"> <section className="grow flex text-gray-100 relative overflow-auto cursor-text pb-0" id="code">
<CodeMirror <CodeMirror
theme={themes[theme] || themes.strudelTheme} theme={currentTheme}
value={code} value={code}
keybindings={keybindings} keybindings={keybindings}
isLineNumbersDisplayed={isLineNumbersDisplayed} isLineNumbersDisplayed={isLineNumbersDisplayed}
@ -287,10 +292,7 @@ export function Repl({ embedded = false }) {
fontSize={fontSize} fontSize={fontSize}
fontFamily={fontFamily} fontFamily={fontFamily}
onChange={handleChangeCode} onChange={handleChangeCode}
onViewChanged={(v) => { onViewChanged={handleViewChanged}
setView(v);
// window.editorView = v;
}}
onSelectionChange={handleSelectionChange} onSelectionChange={handleSelectionChange}
/> />
</section> </section>