mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-23 19:48:31 +00:00
commit
e71db24073
@ -13,7 +13,7 @@ import {
|
|||||||
lineNumbers,
|
lineNumbers,
|
||||||
drawSelection,
|
drawSelection,
|
||||||
} from '@codemirror/view';
|
} from '@codemirror/view';
|
||||||
import { Pattern, repl } from '@strudel/core';
|
import { repl, registerControl } from '@strudel/core';
|
||||||
import { Drawer, cleanupDraw } from '@strudel/draw';
|
import { Drawer, cleanupDraw } from '@strudel/draw';
|
||||||
import { isAutoCompletionEnabled } from './autocomplete.mjs';
|
import { isAutoCompletionEnabled } from './autocomplete.mjs';
|
||||||
import { isTooltipEnabled } from './tooltip.mjs';
|
import { isTooltipEnabled } from './tooltip.mjs';
|
||||||
@ -354,3 +354,12 @@ function s4() {
|
|||||||
.toString(16)
|
.toString(16)
|
||||||
.substring(1);
|
.substring(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Overrides the css of highlighted events. Make sure to use single quotes!
|
||||||
|
* @name markcss
|
||||||
|
* @example
|
||||||
|
* note("c a f e")
|
||||||
|
* .markcss('text-decoration:underline')
|
||||||
|
*/
|
||||||
|
export const markcss = registerControl('markcss');
|
||||||
|
|||||||
@ -93,6 +93,7 @@ const miniLocationHighlights = EditorView.decorations.compute([miniLocations, vi
|
|||||||
if (haps.has(id)) {
|
if (haps.has(id)) {
|
||||||
const hap = haps.get(id);
|
const hap = haps.get(id);
|
||||||
const color = hap.value?.color ?? 'var(--foreground)';
|
const color = hap.value?.color ?? 'var(--foreground)';
|
||||||
|
const style = hap.value?.markcss || `outline: solid 2px ${color}`;
|
||||||
// Get explicit channels for color values
|
// Get explicit channels for color values
|
||||||
/*
|
/*
|
||||||
const swatch = document.createElement('div');
|
const swatch = document.createElement('div');
|
||||||
@ -114,7 +115,7 @@ const miniLocationHighlights = EditorView.decorations.compute([miniLocations, vi
|
|||||||
to,
|
to,
|
||||||
Decoration.mark({
|
Decoration.mark({
|
||||||
// attributes: { style: `outline: solid 2px rgba(${channels.join(', ')})` },
|
// attributes: { style: `outline: solid 2px rgba(${channels.join(', ')})` },
|
||||||
attributes: { style: `outline: solid 2px ${color}` },
|
attributes: { style },
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
40
packages/codemirror/themes/algoboy.mjs
vendored
40
packages/codemirror/themes/algoboy.mjs
vendored
@ -18,25 +18,25 @@ export default createTheme({
|
|||||||
theme: 'light',
|
theme: 'light',
|
||||||
settings,
|
settings,
|
||||||
styles: [
|
styles: [
|
||||||
{ tag: t.labelName, color: '#0f380f' },
|
{ tag: t.labelName, color: 'inherit' },
|
||||||
{ tag: t.keyword, color: '#0f380f' },
|
{ tag: t.keyword, color: 'inherit' },
|
||||||
{ tag: t.operator, color: '#0f380f' },
|
{ tag: t.operator, color: 'inherit' },
|
||||||
{ tag: t.special(t.variableName), color: '#0f380f' },
|
{ tag: t.special(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.typeName, color: '#0f380f' },
|
{ tag: t.typeName, color: 'inherit' },
|
||||||
{ tag: t.atom, color: '#0f380f' },
|
{ tag: t.atom, color: 'inherit' },
|
||||||
{ tag: t.number, color: '#0f380f' },
|
{ tag: t.number, color: 'inherit' },
|
||||||
{ tag: t.definition(t.variableName), color: '#0f380f' },
|
{ tag: t.definition(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.string, color: '#0f380f' },
|
{ tag: t.string, color: 'inherit' },
|
||||||
{ tag: t.special(t.string), color: '#0f380f' },
|
{ tag: t.special(t.string), color: 'inherit' },
|
||||||
{ tag: t.comment, color: '#0f380f' },
|
{ tag: t.comment, color: 'inherit' },
|
||||||
{ tag: t.variableName, color: '#0f380f' },
|
{ tag: t.variableName, color: 'inherit' },
|
||||||
{ tag: t.tagName, color: '#0f380f' },
|
{ tag: t.tagName, color: 'inherit' },
|
||||||
{ tag: t.bracket, color: '#0f380f' },
|
{ tag: t.bracket, color: 'inherit' },
|
||||||
{ tag: t.meta, color: '#0f380f' },
|
{ tag: t.meta, color: 'inherit' },
|
||||||
{ tag: t.attributeName, color: '#0f380f' },
|
{ tag: t.attributeName, color: 'inherit' },
|
||||||
{ tag: t.propertyName, color: '#0f380f' },
|
{ tag: t.propertyName, color: 'inherit' },
|
||||||
{ tag: t.className, color: '#0f380f' },
|
{ tag: t.className, color: 'inherit' },
|
||||||
{ tag: t.invalid, color: '#0f380f' },
|
{ tag: t.invalid, color: 'inherit' },
|
||||||
{ tag: [t.unit, t.punctuation], color: '#0f380f' },
|
{ tag: [t.unit, t.punctuation], color: 'inherit' },
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|||||||
40
packages/codemirror/themes/blackscreen.mjs
vendored
40
packages/codemirror/themes/blackscreen.mjs
vendored
@ -15,25 +15,25 @@ export default createTheme({
|
|||||||
theme: 'dark',
|
theme: 'dark',
|
||||||
settings,
|
settings,
|
||||||
styles: [
|
styles: [
|
||||||
{ tag: t.labelName, color: 'white' },
|
{ tag: t.labelName, color: 'inherit' },
|
||||||
{ tag: t.keyword, color: 'white' },
|
{ tag: t.keyword, color: 'inherit' },
|
||||||
{ tag: t.operator, color: 'white' },
|
{ tag: t.operator, color: 'inherit' },
|
||||||
{ tag: t.special(t.variableName), color: 'white' },
|
{ tag: t.special(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.typeName, color: 'white' },
|
{ tag: t.typeName, color: 'inherit' },
|
||||||
{ tag: t.atom, color: 'white' },
|
{ tag: t.atom, color: 'inherit' },
|
||||||
{ tag: t.number, color: 'white' },
|
{ tag: t.number, color: 'inherit' },
|
||||||
{ tag: t.definition(t.variableName), color: 'white' },
|
{ tag: t.definition(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.string, color: 'white' },
|
{ tag: t.string, color: 'inherit' },
|
||||||
{ tag: t.special(t.string), color: 'white' },
|
{ tag: t.special(t.string), color: 'inherit' },
|
||||||
{ tag: t.comment, color: 'white' },
|
{ tag: t.comment, color: 'inherit' },
|
||||||
{ tag: t.variableName, color: 'white' },
|
{ tag: t.variableName, color: 'inherit' },
|
||||||
{ tag: t.tagName, color: 'white' },
|
{ tag: t.tagName, color: 'inherit' },
|
||||||
{ tag: t.bracket, color: 'white' },
|
{ tag: t.bracket, color: 'inherit' },
|
||||||
{ tag: t.meta, color: 'white' },
|
{ tag: t.meta, color: 'inherit' },
|
||||||
{ tag: t.attributeName, color: 'white' },
|
{ tag: t.attributeName, color: 'inherit' },
|
||||||
{ tag: t.propertyName, color: 'white' },
|
{ tag: t.propertyName, color: 'inherit' },
|
||||||
{ tag: t.className, color: 'white' },
|
{ tag: t.className, color: 'inherit' },
|
||||||
{ tag: t.invalid, color: 'white' },
|
{ tag: t.invalid, color: 'inherit' },
|
||||||
{ tag: [t.unit, t.punctuation], color: 'white' },
|
{ tag: [t.unit, t.punctuation], color: 'inherit' },
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|||||||
40
packages/codemirror/themes/bluescreen.mjs
vendored
40
packages/codemirror/themes/bluescreen.mjs
vendored
@ -18,25 +18,25 @@ export default createTheme({
|
|||||||
theme: 'dark',
|
theme: 'dark',
|
||||||
settings,
|
settings,
|
||||||
styles: [
|
styles: [
|
||||||
{ tag: t.labelName, color: 'white' },
|
{ tag: t.labelName, color: 'inherit' },
|
||||||
{ tag: t.keyword, color: 'white' },
|
{ tag: t.keyword, color: 'inherit' },
|
||||||
{ tag: t.operator, color: 'white' },
|
{ tag: t.operator, color: 'inherit' },
|
||||||
{ tag: t.special(t.variableName), color: 'white' },
|
{ tag: t.special(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.typeName, color: 'white' },
|
{ tag: t.typeName, color: 'inherit' },
|
||||||
{ tag: t.atom, color: 'white' },
|
{ tag: t.atom, color: 'inherit' },
|
||||||
{ tag: t.number, color: 'white' },
|
{ tag: t.number, color: 'inherit' },
|
||||||
{ tag: t.definition(t.variableName), color: 'white' },
|
{ tag: t.definition(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.string, color: 'white' },
|
{ tag: t.string, color: 'inherit' },
|
||||||
{ tag: t.special(t.string), color: 'white' },
|
{ tag: t.special(t.string), color: 'inherit' },
|
||||||
{ tag: t.comment, color: 'white' },
|
{ tag: t.comment, color: 'inherit' },
|
||||||
{ tag: t.variableName, color: 'white' },
|
{ tag: t.variableName, color: 'inherit' },
|
||||||
{ tag: t.tagName, color: 'white' },
|
{ tag: t.tagName, color: 'inherit' },
|
||||||
{ tag: t.bracket, color: 'white' },
|
{ tag: t.bracket, color: 'inherit' },
|
||||||
{ tag: t.meta, color: 'white' },
|
{ tag: t.meta, color: 'inherit' },
|
||||||
{ tag: t.attributeName, color: 'white' },
|
{ tag: t.attributeName, color: 'inherit' },
|
||||||
{ tag: t.propertyName, color: 'white' },
|
{ tag: t.propertyName, color: 'inherit' },
|
||||||
{ tag: t.className, color: 'white' },
|
{ tag: t.className, color: 'inherit' },
|
||||||
{ tag: t.invalid, color: 'white' },
|
{ tag: t.invalid, color: 'inherit' },
|
||||||
{ tag: [t.unit, t.punctuation], color: 'white' },
|
{ tag: [t.unit, t.punctuation], color: 'inherit' },
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|||||||
38
packages/codemirror/themes/terminal.mjs
vendored
38
packages/codemirror/themes/terminal.mjs
vendored
@ -14,24 +14,24 @@ export default createTheme({
|
|||||||
theme: 'dark',
|
theme: 'dark',
|
||||||
settings,
|
settings,
|
||||||
styles: [
|
styles: [
|
||||||
{ tag: t.labelName, color: '#41FF00' },
|
{ tag: t.labelName, color: 'inherit' },
|
||||||
{ tag: t.keyword, color: '#41FF00' },
|
{ tag: t.keyword, color: 'inherit' },
|
||||||
{ tag: t.operator, color: '#41FF00' },
|
{ tag: t.operator, color: 'inherit' },
|
||||||
{ tag: t.special(t.variableName), color: '#41FF00' },
|
{ tag: t.special(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.typeName, color: '#41FF00' },
|
{ tag: t.typeName, color: 'inherit' },
|
||||||
{ tag: t.atom, color: '#41FF00' },
|
{ tag: t.atom, color: 'inherit' },
|
||||||
{ tag: t.number, color: '#41FF00' },
|
{ tag: t.number, color: 'inherit' },
|
||||||
{ tag: t.definition(t.variableName), color: '#41FF00' },
|
{ tag: t.definition(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.string, color: '#41FF00' },
|
{ tag: t.string, color: 'inherit' },
|
||||||
{ tag: t.special(t.string), color: '#41FF00' },
|
{ tag: t.special(t.string), color: 'inherit' },
|
||||||
{ tag: t.comment, color: '#41FF00' },
|
{ tag: t.comment, color: 'inherit' },
|
||||||
{ tag: t.variableName, color: '#41FF00' },
|
{ tag: t.variableName, color: 'inherit' },
|
||||||
{ tag: t.tagName, color: '#41FF00' },
|
{ tag: t.tagName, color: 'inherit' },
|
||||||
{ tag: t.bracket, color: '#41FF00' },
|
{ tag: t.bracket, color: 'inherit' },
|
||||||
{ tag: t.meta, color: '#41FF00' },
|
{ tag: t.meta, color: 'inherit' },
|
||||||
{ tag: t.attributeName, color: '#41FF00' },
|
{ tag: t.attributeName, color: 'inherit' },
|
||||||
{ tag: t.propertyName, color: '#41FF00' },
|
{ tag: t.propertyName, color: 'inherit' },
|
||||||
{ tag: t.className, color: '#41FF00' },
|
{ tag: t.className, color: 'inherit' },
|
||||||
{ tag: t.invalid, color: '#41FF00' },
|
{ tag: t.invalid, color: 'inherit' },
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|||||||
38
packages/codemirror/themes/whitescreen.mjs
vendored
38
packages/codemirror/themes/whitescreen.mjs
vendored
@ -16,24 +16,24 @@ export default createTheme({
|
|||||||
theme: 'light',
|
theme: 'light',
|
||||||
settings,
|
settings,
|
||||||
styles: [
|
styles: [
|
||||||
{ tag: t.labelName, color: 'black' },
|
{ tag: t.labelName, color: 'inherit' },
|
||||||
{ tag: t.keyword, color: 'black' },
|
{ tag: t.keyword, color: 'inherit' },
|
||||||
{ tag: t.operator, color: 'black' },
|
{ tag: t.operator, color: 'inherit' },
|
||||||
{ tag: t.special(t.variableName), color: 'black' },
|
{ tag: t.special(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.typeName, color: 'black' },
|
{ tag: t.typeName, color: 'inherit' },
|
||||||
{ tag: t.atom, color: 'black' },
|
{ tag: t.atom, color: 'inherit' },
|
||||||
{ tag: t.number, color: 'black' },
|
{ tag: t.number, color: 'inherit' },
|
||||||
{ tag: t.definition(t.variableName), color: 'black' },
|
{ tag: t.definition(t.variableName), color: 'inherit' },
|
||||||
{ tag: t.string, color: 'black' },
|
{ tag: t.string, color: 'inherit' },
|
||||||
{ tag: t.special(t.string), color: 'black' },
|
{ tag: t.special(t.string), color: 'inherit' },
|
||||||
{ tag: t.comment, color: 'black' },
|
{ tag: t.comment, color: 'inherit' },
|
||||||
{ tag: t.variableName, color: 'black' },
|
{ tag: t.variableName, color: 'inherit' },
|
||||||
{ tag: t.tagName, color: 'black' },
|
{ tag: t.tagName, color: 'inherit' },
|
||||||
{ tag: t.bracket, color: 'black' },
|
{ tag: t.bracket, color: 'inherit' },
|
||||||
{ tag: t.meta, color: 'black' },
|
{ tag: t.meta, color: 'inherit' },
|
||||||
{ tag: t.attributeName, color: 'black' },
|
{ tag: t.attributeName, color: 'inherit' },
|
||||||
{ tag: t.propertyName, color: 'black' },
|
{ tag: t.propertyName, color: 'inherit' },
|
||||||
{ tag: t.className, color: 'black' },
|
{ tag: t.className, color: 'inherit' },
|
||||||
{ tag: t.invalid, color: 'black' },
|
{ tag: t.invalid, color: 'inherit' },
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|||||||
@ -4551,6 +4551,27 @@ exports[`runs examples > example "lsize" example index 0 1`] = `
|
|||||||
]
|
]
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`runs examples > example "markcss" example index 0 1`] = `
|
||||||
|
[
|
||||||
|
"[ 0/1 → 1/4 | note:c ]",
|
||||||
|
"[ 1/4 → 1/2 | note:a ]",
|
||||||
|
"[ 1/2 → 3/4 | note:f ]",
|
||||||
|
"[ 3/4 → 1/1 | note:e ]",
|
||||||
|
"[ 1/1 → 5/4 | note:c ]",
|
||||||
|
"[ 5/4 → 3/2 | note:a ]",
|
||||||
|
"[ 3/2 → 7/4 | note:f ]",
|
||||||
|
"[ 7/4 → 2/1 | note:e ]",
|
||||||
|
"[ 2/1 → 9/4 | note:c ]",
|
||||||
|
"[ 9/4 → 5/2 | note:a ]",
|
||||||
|
"[ 5/2 → 11/4 | note:f ]",
|
||||||
|
"[ 11/4 → 3/1 | note:e ]",
|
||||||
|
"[ 3/1 → 13/4 | note:c ]",
|
||||||
|
"[ 13/4 → 7/2 | note:a ]",
|
||||||
|
"[ 7/2 → 15/4 | note:f ]",
|
||||||
|
"[ 15/4 → 4/1 | note:e ]",
|
||||||
|
]
|
||||||
|
`;
|
||||||
|
|
||||||
exports[`runs examples > example "mask" example index 0 1`] = `
|
exports[`runs examples > example "mask" example index 0 1`] = `
|
||||||
[
|
[
|
||||||
"[ 0/1 → 1/4 | note:c ]",
|
"[ 0/1 → 1/4 | note:c ]",
|
||||||
|
|||||||
@ -134,6 +134,9 @@ strudel.Pattern.prototype._pitchwheel = function () {
|
|||||||
strudel.Pattern.prototype._pianoroll = function () {
|
strudel.Pattern.prototype._pianoroll = function () {
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
|
strudel.Pattern.prototype.markcss = function () {
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
const uiHelpersMocked = {
|
const uiHelpersMocked = {
|
||||||
backgroundImage: id,
|
backgroundImage: id,
|
||||||
|
|||||||
@ -98,3 +98,7 @@ What follows is the API doc of all the options you can pass:
|
|||||||
## Pitchwheel
|
## Pitchwheel
|
||||||
|
|
||||||
<JsDoc client:idle name="pitchwheel" h={0} />
|
<JsDoc client:idle name="pitchwheel" h={0} />
|
||||||
|
|
||||||
|
## markcss
|
||||||
|
|
||||||
|
<JsDoc client:idle name="markcss" h={0} />
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user