mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-20 01:58:34 +00:00
Merge pull request #804 from kasparsj/highlight-active-line-opt
add option to disable active line highlighting in Code Settings
This commit is contained in:
commit
08ebb52e9b
@ -33,6 +33,7 @@ export default function CodeMirror({
|
|||||||
theme,
|
theme,
|
||||||
keybindings,
|
keybindings,
|
||||||
isLineNumbersDisplayed,
|
isLineNumbersDisplayed,
|
||||||
|
isActiveLineHighlighted,
|
||||||
isAutoCompletionEnabled,
|
isAutoCompletionEnabled,
|
||||||
isTooltipEnabled,
|
isTooltipEnabled,
|
||||||
isLineWrappingEnabled,
|
isLineWrappingEnabled,
|
||||||
@ -109,7 +110,13 @@ export default function CodeMirror({
|
|||||||
return _extensions;
|
return _extensions;
|
||||||
}, [keybindings, isAutoCompletionEnabled, isTooltipEnabled, isLineWrappingEnabled]);
|
}, [keybindings, isAutoCompletionEnabled, isTooltipEnabled, isLineWrappingEnabled]);
|
||||||
|
|
||||||
const basicSetup = useMemo(() => ({ lineNumbers: isLineNumbersDisplayed }), [isLineNumbersDisplayed]);
|
const basicSetup = useMemo(
|
||||||
|
() => ({
|
||||||
|
lineNumbers: isLineNumbersDisplayed,
|
||||||
|
highlightActiveLine: isActiveLineHighlighted,
|
||||||
|
}),
|
||||||
|
[isLineNumbersDisplayed, isActiveLineHighlighted],
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ fontSize, fontFamily }} className="w-full">
|
<div style={{ fontSize, fontFamily }} className="w-full">
|
||||||
|
|||||||
@ -30,6 +30,7 @@ export function MiniRepl({
|
|||||||
theme,
|
theme,
|
||||||
keybindings,
|
keybindings,
|
||||||
isLineNumbersDisplayed,
|
isLineNumbersDisplayed,
|
||||||
|
isActiveLineHighlighted,
|
||||||
}) {
|
}) {
|
||||||
drawTime = drawTime || (punchcard ? [0, 4] : undefined);
|
drawTime = drawTime || (punchcard ? [0, 4] : undefined);
|
||||||
const evalOnMount = !!drawTime;
|
const evalOnMount = !!drawTime;
|
||||||
@ -164,6 +165,7 @@ export function MiniRepl({
|
|||||||
fontSize={fontSize}
|
fontSize={fontSize}
|
||||||
keybindings={keybindings}
|
keybindings={keybindings}
|
||||||
isLineNumbersDisplayed={isLineNumbersDisplayed}
|
isLineNumbersDisplayed={isLineNumbersDisplayed}
|
||||||
|
isActiveLineHighlighted={isActiveLineHighlighted}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{error && <div className="text-right p-1 text-md text-red-200">{error.message}</div>}
|
{error && <div className="text-right p-1 text-md text-red-200">{error.message}</div>}
|
||||||
|
|||||||
@ -41,7 +41,7 @@ export function MiniRepl({
|
|||||||
claviatureLabels,
|
claviatureLabels,
|
||||||
}) {
|
}) {
|
||||||
const [Repl, setRepl] = useState();
|
const [Repl, setRepl] = useState();
|
||||||
const { theme, keybindings, fontSize, fontFamily, isLineNumbersDisplayed } = useSettings();
|
const { theme, keybindings, fontSize, fontFamily, isLineNumbersDisplayed, isActiveLineHighlighted } = useSettings();
|
||||||
const [activeNotes, setActiveNotes] = useState([]);
|
const [activeNotes, setActiveNotes] = useState([]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// we have to load this package on the client
|
// we have to load this package on the client
|
||||||
@ -66,6 +66,7 @@ export function MiniRepl({
|
|||||||
fontFamily={fontFamily}
|
fontFamily={fontFamily}
|
||||||
fontSize={fontSize}
|
fontSize={fontSize}
|
||||||
isLineNumbersDisplayed={isLineNumbersDisplayed}
|
isLineNumbersDisplayed={isLineNumbersDisplayed}
|
||||||
|
isActiveLineHighlighted={isActiveLineHighlighted}
|
||||||
onPaint={
|
onPaint={
|
||||||
claviature
|
claviature
|
||||||
? (ctx, time, haps, drawTime) => {
|
? (ctx, time, haps, drawTime) => {
|
||||||
|
|||||||
@ -384,6 +384,7 @@ function SettingsTab({ scheduler }) {
|
|||||||
theme,
|
theme,
|
||||||
keybindings,
|
keybindings,
|
||||||
isLineNumbersDisplayed,
|
isLineNumbersDisplayed,
|
||||||
|
isActiveLineHighlighted,
|
||||||
isAutoCompletionEnabled,
|
isAutoCompletionEnabled,
|
||||||
isTooltipEnabled,
|
isTooltipEnabled,
|
||||||
isLineWrappingEnabled,
|
isLineWrappingEnabled,
|
||||||
@ -453,6 +454,11 @@ function SettingsTab({ scheduler }) {
|
|||||||
onChange={(cbEvent) => settingsMap.setKey('isLineNumbersDisplayed', cbEvent.target.checked)}
|
onChange={(cbEvent) => settingsMap.setKey('isLineNumbersDisplayed', cbEvent.target.checked)}
|
||||||
value={isLineNumbersDisplayed}
|
value={isLineNumbersDisplayed}
|
||||||
/>
|
/>
|
||||||
|
<Checkbox
|
||||||
|
label="Highlight active line"
|
||||||
|
onChange={(cbEvent) => settingsMap.setKey('isActiveLineHighlighted', cbEvent.target.checked)}
|
||||||
|
value={isActiveLineHighlighted}
|
||||||
|
/>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
label="Enable auto-completion"
|
label="Enable auto-completion"
|
||||||
onChange={(cbEvent) => settingsMap.setKey('isAutoCompletionEnabled', cbEvent.target.checked)}
|
onChange={(cbEvent) => settingsMap.setKey('isAutoCompletionEnabled', cbEvent.target.checked)}
|
||||||
|
|||||||
@ -125,6 +125,7 @@ export function Repl({ embedded = false }) {
|
|||||||
fontSize,
|
fontSize,
|
||||||
fontFamily,
|
fontFamily,
|
||||||
isLineNumbersDisplayed,
|
isLineNumbersDisplayed,
|
||||||
|
isActiveLineHighlighted,
|
||||||
isAutoCompletionEnabled,
|
isAutoCompletionEnabled,
|
||||||
isTooltipEnabled,
|
isTooltipEnabled,
|
||||||
isLineWrappingEnabled,
|
isLineWrappingEnabled,
|
||||||
@ -335,6 +336,7 @@ export function Repl({ embedded = false }) {
|
|||||||
value={code}
|
value={code}
|
||||||
keybindings={keybindings}
|
keybindings={keybindings}
|
||||||
isLineNumbersDisplayed={isLineNumbersDisplayed}
|
isLineNumbersDisplayed={isLineNumbersDisplayed}
|
||||||
|
isActiveLineHighlighted={isActiveLineHighlighted}
|
||||||
isAutoCompletionEnabled={isAutoCompletionEnabled}
|
isAutoCompletionEnabled={isAutoCompletionEnabled}
|
||||||
isTooltipEnabled={isTooltipEnabled}
|
isTooltipEnabled={isTooltipEnabled}
|
||||||
isLineWrappingEnabled={isLineWrappingEnabled}
|
isLineWrappingEnabled={isLineWrappingEnabled}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ export const defaultSettings = {
|
|||||||
activeFooter: 'intro',
|
activeFooter: 'intro',
|
||||||
keybindings: 'codemirror',
|
keybindings: 'codemirror',
|
||||||
isLineNumbersDisplayed: true,
|
isLineNumbersDisplayed: true,
|
||||||
|
isActiveLineHighlighted: true,
|
||||||
isAutoCompletionEnabled: false,
|
isAutoCompletionEnabled: false,
|
||||||
isTooltipEnabled: false,
|
isTooltipEnabled: false,
|
||||||
isLineWrappingEnabled: false,
|
isLineWrappingEnabled: false,
|
||||||
@ -26,6 +27,7 @@ export function useSettings() {
|
|||||||
...state,
|
...state,
|
||||||
isZen: [true, 'true'].includes(state.isZen) ? true : false,
|
isZen: [true, 'true'].includes(state.isZen) ? true : false,
|
||||||
isLineNumbersDisplayed: [true, 'true'].includes(state.isLineNumbersDisplayed) ? true : false,
|
isLineNumbersDisplayed: [true, 'true'].includes(state.isLineNumbersDisplayed) ? true : false,
|
||||||
|
isActiveLineHighlighted: [true, 'true'].includes(state.isActiveLineHighlighted) ? true : false,
|
||||||
isAutoCompletionEnabled: [true, 'true'].includes(state.isAutoCompletionEnabled) ? true : false,
|
isAutoCompletionEnabled: [true, 'true'].includes(state.isAutoCompletionEnabled) ? true : false,
|
||||||
isTooltipEnabled: [true, 'true'].includes(state.isTooltipEnabled) ? true : false,
|
isTooltipEnabled: [true, 'true'].includes(state.isTooltipEnabled) ? true : false,
|
||||||
isLineWrappingEnabled: [true, 'true'].includes(state.isLineWrappingEnabled) ? true : false,
|
isLineWrappingEnabled: [true, 'true'].includes(state.isLineWrappingEnabled) ? true : false,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user