From 1da59f7e4d0bf06c517e5073b5a2892af7952ebf Mon Sep 17 00:00:00 2001 From: Valentin Perrelle <valentin.perrelle@cea.fr> Date: Wed, 19 Apr 2023 12:14:34 +0200 Subject: [PATCH] [Ivette] add some spacing lint rules --- ivette/.eslintrc.js | 33 ++++++++++++++++ ivette/src/dome/main/dome.ts | 2 +- ivette/src/dome/renderer/controls/labels.tsx | 3 +- ivette/src/dome/renderer/data/json.ts | 14 +++---- ivette/src/dome/renderer/dnd.tsx | 28 +++++++------- ivette/src/dome/renderer/dome.tsx | 2 +- ivette/src/dome/renderer/layout/qsplit.tsx | 38 +++++++++---------- ivette/src/dome/renderer/text/editor.tsx | 2 +- ivette/src/dome/renderer/themes.tsx | 2 +- ivette/src/frama-c/kernel/ASTview.tsx | 20 +++++----- ivette/src/frama-c/kernel/Globals.tsx | 8 ++-- ivette/src/frama-c/kernel/Messages.tsx | 2 +- ivette/src/frama-c/kernel/PivotTable.tsx | 6 +-- ivette/src/frama-c/kernel/Properties.tsx | 12 +++--- ivette/src/frama-c/kernel/SourceCode.tsx | 12 +++--- ivette/src/frama-c/plugins/eva/valuetable.tsx | 2 +- ivette/src/frama-c/server.ts | 2 +- ivette/src/frama-c/states.ts | 16 ++++---- ivette/src/renderer/Controller.tsx | 6 +-- 19 files changed, 121 insertions(+), 89 deletions(-) diff --git a/ivette/.eslintrc.js b/ivette/.eslintrc.js index 3c9037c5af4..0e6507eab9d 100644 --- a/ivette/.eslintrc.js +++ b/ivette/.eslintrc.js @@ -52,6 +52,39 @@ module.exports = { // Disallow the use of console.* to prevent the release of code producing // various debuging messages "no-console": "error", + // Enforce consistent spacing after the // or /* in a comment + "spaced-comment": ["error", "always"], + // Enforce consistent spacing before and after the arrow in arrow functions + "arrow-spacing": "error", + // Enforce spaces inside of blocks after opening block and + // before closing block + "block-spacing": "error", + // Enforce consistent spacing before and after commas + "comma-spacing": "error", + // Enforce consistent newlines before and after dots + "dot-location": "error", + // Require newline at the end of files + "eol-last": "error", + // Disallow spacing between function identifiers and their invocations + "func-call-spacing": "error", + // Enforce consistent spacing between keys and values in object literal + // properties + "key-spacing": "error", + // Disallow trailing whitespace at the end of lines + "no-trailing-spaces": "error", + // Enforce consistent spacing before and after semicolons + "semi-spacing": "error", + // Enforce location of semicolons + "semi-style": "error", + // Enforce spacing around colons of switch statements + "switch-colon-spacing": "error", + // Enforce consistent spacing before blocks + "space-before-blocks": "error", + // Enforce consistent spacing before function definition opening parenthesis + "space-before-function-paren": [ + "error", + {"anonymous": "always", "named": "never", "asyncArrow": "always"} + ], // --- Safety rules --- diff --git a/ivette/src/dome/main/dome.ts b/ivette/src/dome/main/dome.ts index bec195e27ee..7c5db4f83c0 100644 --- a/ivette/src/dome/main/dome.ts +++ b/ivette/src/dome/main/dome.ts @@ -505,7 +505,7 @@ interface Cmd { wdir: string; argv: string[] } function stripElectronArgv(cmd: Cmd): Cmd { - const wdir = DEVEL ? cmd.argv[3] : cmd.wdir ; + const wdir = DEVEL ? cmd.argv[3] : cmd.wdir; const argv = cmd.argv.slice(DEVEL ? 4 : (LOCAL ? 2 : 1)).filter((p) => !!p); return { wdir, argv }; } diff --git a/ivette/src/dome/renderer/controls/labels.tsx b/ivette/src/dome/renderer/controls/labels.tsx index 382828a4f5c..9bf33338966 100644 --- a/ivette/src/dome/renderer/controls/labels.tsx +++ b/ivette/src/dome/renderer/controls/labels.tsx @@ -63,8 +63,7 @@ export interface LabelProps { } const makeLabel = (className: string) => - function Label - ( + function Label( props: LabelProps, ref: LegacyRef<HTMLLabelElement> | undefined ): JSX.Element { diff --git a/ivette/src/dome/renderer/data/json.ts b/ivette/src/dome/renderer/data/json.ts index 11f7a039384..f323711d086 100644 --- a/ivette/src/dome/renderer/data/json.ts +++ b/ivette/src/dome/renderer/data/json.ts @@ -200,7 +200,7 @@ export const jInt: Decoder<number> = (js: json) => { return js; } else { - throw new JsonTypeError("integer", js); + throw new JsonTypeError("integer", js); } }; @@ -215,7 +215,7 @@ export const jBoolean: Decoder<boolean> = (js: json) => { return js; } else { - throw new JsonTypeError("boolean", js); + throw new JsonTypeError("boolean", js); } }; @@ -235,10 +235,10 @@ export const jString: Decoder<string> = (js: json) => { return js; } else { - throw new JsonTypeError("string", js); + throw new JsonTypeError("string", js); } }; - + /** JSON constant. Capture the tag or throw JsonError. @@ -251,7 +251,7 @@ export function jTag<A>(tg: A): Decoder<A> { return tg; } else { - throw new JsonTypeError(`"${tg}"`, js); + throw new JsonTypeError(`"${tg}"`, js); } }; } @@ -589,7 +589,7 @@ export function jKey<K>(kd: K): Decoder<key<K>> { return forge(kd, js); } else { - throw new JsonTypeError(`key<${kd}>`, js); + throw new JsonTypeError(`key<${kd}>`, js); } }; } @@ -601,7 +601,7 @@ export function jIndex<K>(kd: K): Decoder<index<K>> { return forge(kd, js); } else { - throw new JsonTypeError(`index<${kd}>`, js); + throw new JsonTypeError(`index<${kd}>`, js); } }; } diff --git a/ivette/src/dome/renderer/dnd.tsx b/ivette/src/dome/renderer/dnd.tsx index d1ad128c736..f79a85ae8b9 100644 --- a/ivette/src/dome/renderer/dnd.tsx +++ b/ivette/src/dome/renderer/dnd.tsx @@ -143,9 +143,9 @@ export class DnD { handleEvent(e: DraggableEvent): void { if (this.dragging && e instanceof MouseEvent) { - const element = document - .elementsFromPoint(e.clientX, e.clientY) - .find((elt) => elt !== this.dragging && this.registry.get(elt.id)); + const element = document. + elementsFromPoint(e.clientX, e.clientY). + find((elt) => elt !== this.dragging && this.registry.get(elt.id)); const hover = element ? this.registry.get(element.id) : undefined; const curr = this.hovering; if (hover !== curr) { @@ -352,14 +352,14 @@ export interface DragSourceProps extends DragHandler, DropHandler { as a Drop Target into the DnD controller. */ export function DragSource(props: DragSourceProps): JSX.Element { - //--- Props + // --- Props const { dnd, disabled = false, handle, children } = props; const { onStart, onDrag, onStop } = props; - //--- Dragging State + // --- Dragging State const [dragging, setDragging] = React.useState<Dragging | undefined>(); - //--- Dropping Ref + // --- Dropping Ref const nodeRef = useDropTarget(dnd, disabled ? undefined : props); - //--- onStart + // --- onStart const handleStart: DraggableEventHandler = React.useCallback( (_, { x, y, node }) => { if (dnd && nodeRef.current) @@ -371,7 +371,7 @@ export function DragSource(props: DragSourceProps): JSX.Element { }); if (onStart) onStart(); }, [dnd, nodeRef, onStart]); - //--- onDrag + // --- onDrag const handleDrag: DraggableEventHandler = React.useCallback( (e, { x, y }) => { if (e && dnd) dnd.handleEvent(e); @@ -381,14 +381,14 @@ export function DragSource(props: DragSourceProps): JSX.Element { if (onDrag) onDrag(newDragging); } }, [dnd, dragging, onDrag]); - //--- onStop + // --- onStop const handleStop: DraggableEventHandler = React.useCallback( () => { if (dnd) dnd.handleDrop(); setDragging(undefined); if (onStop) onStop(); }, [dnd, onStop]); - //--- Renderer + // --- Renderer const render = RenderOverlay(props, dragging); return ( <DraggableCore @@ -447,25 +447,25 @@ export interface ItemProps { item contents is rendered inside a `<DragSource/>` component automatically connected to the englobing `<List/>` DnD controller. */ export function Item(props: ItemProps): JSX.Element { - //--- Ordering + // --- Ordering const { dnd, items, setSource, setTarget, onStop } = React.useContext(CurrentList); const { id, className, children } = props; const order = getItem(items, id); - //--- D&D Events + // --- D&D Events const onStart = React.useCallback(() => { if (setSource) setSource(id); }, [setSource, id]); const onDropIn = React.useCallback(() => { if (setTarget) setTarget(id); }, [setTarget, id]); - //--- Styling + // --- Styling const style = styles( props.style, order < 0 && { display: 'none' }, 0 <= order && { order }, ); - //--- Rendering + // --- Rendering return ( <DragSource className={className} diff --git a/ivette/src/dome/renderer/dome.tsx b/ivette/src/dome/renderer/dome.tsx index 2a19d1ec505..4410ed078d7 100644 --- a/ivette/src/dome/renderer/dome.tsx +++ b/ivette/src/dome/renderer/dome.tsx @@ -603,7 +603,7 @@ export function usePromise<A>(job: Promise<A>): PromiseHook<A> { let c = false; const set = (x?: A, e?: Error): void => { setResult(x); setError(e); }; const doCancel = (): boolean => { if (!c) setLoading(false); return c; }; - const onResult = (x: A): void => { if (!doCancel()) set(x, undefined);}; + const onResult = (x: A): void => { if (!doCancel()) set(x, undefined); }; const onError = (e: Error): void => { if (!doCancel()) set(undefined, e); }; job.then(onResult, onError); return () => { c = true; }; diff --git a/ivette/src/dome/renderer/layout/qsplit.tsx b/ivette/src/dome/renderer/layout/qsplit.tsx index ec10dd95311..5241ef0a3ae 100644 --- a/ivette/src/dome/renderer/layout/qsplit.tsx +++ b/ivette/src/dome/renderer/layout/qsplit.tsx @@ -307,31 +307,31 @@ function QSplitEngine(props: QSplitEngineProps): JSX.Element { const BD = sameOf(B, D); const CD = sameOf(C, D); const ABCD = fullOf(A, B, C, D); - //---------------------------------------- + // ---------------------------------------- // [ A ] - //--------------------------------------- + // --------------------------------------- if (ABCD) { DISPLAY(layout, ABCD, 0, width, 0, height); } - //---------------------------------------- + // ---------------------------------------- // [ A - C ] - //--------------------------------------- + // --------------------------------------- else if (AB && CD) { vsplit = VSPLIT(0, Y, width); DISPLAY(layout, AB, 0, width, 0, Y); DISPLAY(layout, CD, 0, width, Y + 1, RY); } - //---------------------------------------- + // ---------------------------------------- // [ A | B ] - //--------------------------------------- + // --------------------------------------- else if (AC && BD) { hsplit = HSPLIT(X, 0, height); DISPLAY(layout, AC, 0, X, 0, height); DISPLAY(layout, BD, X + 1, RX, 0, height); } - //---------------------------------------- + // ---------------------------------------- // [ A – C|D ] - //---------------------------------------- + // ---------------------------------------- else if (AB) { hsplit = HSPLIT(X, Y, RY); vsplit = VSPLIT(0, Y, width); @@ -339,9 +339,9 @@ function QSplitEngine(props: QSplitEngineProps): JSX.Element { DISPLAY(layout, C, 0, X, Y + 1, RY); DISPLAY(layout, D, X + 1, RX, Y + 1, RY); } - //---------------------------------------- + // ---------------------------------------- // [ A | B-D ] - //---------------------------------------- + // ---------------------------------------- else if (AC) { hsplit = HSPLIT(X, 0, height); vsplit = VSPLIT(X, Y, RY); @@ -349,9 +349,9 @@ function QSplitEngine(props: QSplitEngineProps): JSX.Element { DISPLAY(layout, B, X + 1, RX, 0, Y); DISPLAY(layout, D, X + 1, RX, Y + 1, RY); } - //---------------------------------------- + // ---------------------------------------- // [ A-C | B ] - //---------------------------------------- + // ---------------------------------------- else if (BD) { hsplit = HSPLIT(X, 0, height); vsplit = VSPLIT(0, Y, X); @@ -359,9 +359,9 @@ function QSplitEngine(props: QSplitEngineProps): JSX.Element { DISPLAY(layout, BD, X + 1, RX, 0, height); DISPLAY(layout, C, 0, X, Y + 1, RY); } - //---------------------------------------- + // ---------------------------------------- // [ A|B - C ] - //---------------------------------------- + // ---------------------------------------- else if (CD) { hsplit = HSPLIT(X, 0, Y); vsplit = VSPLIT(0, Y, width); @@ -369,9 +369,9 @@ function QSplitEngine(props: QSplitEngineProps): JSX.Element { DISPLAY(layout, B, X + 1, RX, 0, Y); DISPLAY(layout, CD, 0, width, Y + 1, RY); } - //---------------------------------------- + // ---------------------------------------- // [ A, B, C, D ] - //---------------------------------------- + // ---------------------------------------- else { hsplit = HSPLIT(X, 0, height); vsplit = VSPLIT(0, Y, width); @@ -380,12 +380,12 @@ function QSplitEngine(props: QSplitEngineProps): JSX.Element { DISPLAY(layout, C, 0, X, Y + 1, RY); DISPLAY(layout, D, X + 1, RX, Y + 1, RY); } - //---------------------------------------- + // ---------------------------------------- if (hsplit !== NODISPLAY && vsplit !== NODISPLAY) hvsplit = { display: 'block', left: X, top: Y }; - //---------------------------------------- + // ---------------------------------------- // Rendering - //---------------------------------------- + // ---------------------------------------- return ( <QSplitContext.Provider value={layout}> <BSplitter diff --git a/ivette/src/dome/renderer/text/editor.tsx b/ivette/src/dome/renderer/text/editor.tsx index c22c6f6835c..17c74c8c895 100644 --- a/ivette/src/dome/renderer/text/editor.tsx +++ b/ivette/src/dome/renderer/text/editor.tsx @@ -310,7 +310,7 @@ const Highlight = Language.syntaxHighlighting(Language.HighlightStyle.define([ { tag: tags.typeName, class: 'cm-type' }, { tag: tags.number, class: 'cm-number' }, { tag: tags.controlKeyword, class: 'cm-keyword' }, - { tag: tags.definition(tags.variableName) , class: 'cm-def' }, + { tag: tags.definition(tags.variableName), class: 'cm-def' }, ])); // A language provider based on the [Lezer C++ parser], extended with diff --git a/ivette/src/dome/renderer/themes.tsx b/ivette/src/dome/renderer/themes.tsx index 9cbccae6908..5a21d6b45c1 100644 --- a/ivette/src/dome/renderer/themes.tsx +++ b/ivette/src/dome/renderer/themes.tsx @@ -29,7 +29,7 @@ @module dome/themes */ -//import React from 'react'; +// import React from 'react'; import * as Dome from 'dome'; import * as Settings from 'dome/data/settings'; import { State } from 'dome/data/states'; diff --git a/ivette/src/frama-c/kernel/ASTview.tsx b/ivette/src/frama-c/kernel/ASTview.tsx index e5f61224461..19342920466 100644 --- a/ivette/src/frama-c/kernel/ASTview.tsx +++ b/ivette/src/frama-c/kernel/ASTview.tsx @@ -118,7 +118,7 @@ function textToString(text: text): string { // Computes, for each markers of a tree, its range. Returns the map containing // all those bindings. -function markersRanges(tree: Tree): Map<string, Range[]>{ +function markersRanges(tree: Tree): Map<string, Range[]> { const ranges: Map<string, Range[]> = new Map(); const toRanges = (tree: Tree): void => { if (!isNode(tree)) return; @@ -238,7 +238,7 @@ const Hovered = Editor.createField<Marker>(undefined); // The Ivette hovered element must be updated by CodeMirror plugins. This // field add the callback in the CodeMirror internal state. type UpdateHovered = (h: States.Hovered) => void; -const UpdateHovered = Editor.createField<UpdateHovered>(() => { return ; }); +const UpdateHovered = Editor.createField<UpdateHovered>(() => { return; }); // The Hovered field is updated each time the mouse moves through the CodeMirror // document. The handlers updates the Ivette hovered information, which is then @@ -376,15 +376,15 @@ function createDeadCodeGutter(): Editor.Extension { return Editor.createGutter(deps, cls, (props, block, view) => { const doc = view.state.doc; const line = doc.lineAt(block.from); - const unreachable = props.unreach - .filter(r => r.from <= doc.length) - .map(r => ({ from: doc.lineAt(r.from).from, to: doc.lineAt(r.to).to })) - .find(r => r.from <= line.from && line.to <= r.to); + const unreachable = props.unreach. + filter(r => r.from <= doc.length). + map(r => ({ from: doc.lineAt(r.from).from, to: doc.lineAt(r.to).to })). + find(r => r.from <= line.from && line.to <= r.to); if (unreachable) return new DeadCodeGutterMarker('unreachable'); - const nonTerm = props.nonTerm - .filter(r => r.from <= doc.length) - .map(r => ({ from: doc.lineAt(r.from).from, to: doc.lineAt(r.to).to })) - .find(r => r.from <= line.from && line.to <= r.to); + const nonTerm = props.nonTerm. + filter(r => r.from <= doc.length). + map(r => ({ from: doc.lineAt(r.from).from, to: doc.lineAt(r.to).to })). + find(r => r.from <= line.from && line.to <= r.to); if (nonTerm) return new DeadCodeGutterMarker('non terminating'); return null; }); diff --git a/ivette/src/frama-c/kernel/Globals.tsx b/ivette/src/frama-c/kernel/Globals.tsx index 88b47f820ed..299a87d749a 100644 --- a/ivette/src/frama-c/kernel/Globals.tsx +++ b/ivette/src/frama-c/kernel/Globals.tsx @@ -104,13 +104,13 @@ type functionsData = type FctKey = Json.key<'#functions'>; function computeFcts( - ker: States.ArrayProxy<FctKey,Kernel.functionsData>, - eva: States.ArrayProxy<FctKey,Eva.functionsData>, + ker: States.ArrayProxy<FctKey, Kernel.functionsData>, + eva: States.ArrayProxy<FctKey, Eva.functionsData>, ): functionsData[] { const arr: functionsData[] = []; ker.forEach((kf) => { const ef = eva.getData(kf.key); - arr.push({...ef,...kf}); + arr.push({...ef, ...kf}); }); return arr.sort((f, g) => alpha(f.name, g.name)); } @@ -121,7 +121,7 @@ export default function Globals(): JSX.Element { const [selection, updateSelection] = States.useSelection(); const ker = States.useSyncArrayProxy(Kernel.functions); const eva = States.useSyncArrayProxy(Eva.functions); - const fcts = React.useMemo(() => computeFcts(ker,eva), [ker,eva]); + const fcts = React.useMemo(() => computeFcts(ker, eva), [ker, eva]); const { useFlipSettings } = Dome; const [stdlib, flipStdlib] = useFlipSettings('ivette.globals.stdlib', false); diff --git a/ivette/src/frama-c/kernel/Messages.tsx b/ivette/src/frama-c/kernel/Messages.tsx index b6421cda814..b3d26cfc80b 100644 --- a/ivette/src/frama-c/kernel/Messages.tsx +++ b/ivette/src/frama-c/kernel/Messages.tsx @@ -455,7 +455,7 @@ export default function RenderMessages(): JSX.Element { selectMsg(msg); setText(msg.message); if (msg.fct && msg.marker) { - const location = { fct:msg.fct, marker:msg.marker }; + const location = { fct: msg.fct, marker: msg.marker }; updateSelection({ location }); } }, [updateSelection], diff --git a/ivette/src/frama-c/kernel/PivotTable.tsx b/ivette/src/frama-c/kernel/PivotTable.tsx index 89fe885aaf6..9911029de55 100644 --- a/ivette/src/frama-c/kernel/PivotTable.tsx +++ b/ivette/src/frama-c/kernel/PivotTable.tsx @@ -86,9 +86,9 @@ function PivotTableBuild(): JSX.Element { async function compute(): Promise<void> { setComputing(true); setError(''); - Server.send(PivotState.compute, []) - .then(() => setComputing(false)) - .catch((err) => { setComputing(false); handleError(err); }); + Server.send(PivotState.compute, []). + then(() => setComputing(false)). + catch((err) => { setComputing(false); handleError(err); }); } if (rawData && rawData.length > 0) { return (PivotTable(rawData)); diff --git a/ivette/src/frama-c/kernel/Properties.tsx b/ivette/src/frama-c/kernel/Properties.tsx index 0b2bd023257..1e32d93af70 100644 --- a/ivette/src/frama-c/kernel/Properties.tsx +++ b/ivette/src/frama-c/kernel/Properties.tsx @@ -427,7 +427,7 @@ function FilterSection(props: SectionProps): JSX.Element { } : undefined; const update = Dome.useForceUpdate(); Settings.useWindowSettingsEvent(update); - const summary = prefix ? filterSummary(prefix) : undefined ; + const summary = prefix ? filterSummary(prefix) : undefined; return ( <Section label={label} @@ -654,8 +654,8 @@ function FilterRatio({ model }: { model: PropertyModel }): JSX.Element { // --- Properties Table // ------------------------------------------------------------------------- -type PropsModel = States.ArrayProxy<PropKey,Properties.statusData>; -type EvapsModel = States.ArrayProxy<PropKey,Eva.propertiesData>; +type PropsModel = States.ArrayProxy<PropKey, Properties.statusData>; +type EvapsModel = States.ArrayProxy<PropKey, Eva.propertiesData>; function populateModel( model: PropertyModel, @@ -666,7 +666,7 @@ function populateModel( props.forEach((prop) => { const { key } = prop; const eva = evaps.getData(key); - model.setData(key,{ ...eva, ...prop }); + model.setData(key, { ...eva, ...prop }); }); model.reload(); } @@ -678,8 +678,8 @@ export default function RenderProperties(): JSX.Element { const props = States.useSyncArrayProxy(Properties.status); const evaps = States.useSyncArrayProxy(Eva.properties); React.useEffect(() => { - populateModel(model,props,evaps); - },[model,props,evaps]); + populateModel(model, props, evaps); + }, [model, props, evaps]); const [selection, updateSelection] = States.useSelection(); diff --git a/ivette/src/frama-c/kernel/SourceCode.tsx b/ivette/src/frama-c/kernel/SourceCode.tsx index 03bc698ca28..7e36a45e925 100644 --- a/ivette/src/frama-c/kernel/SourceCode.tsx +++ b/ivette/src/frama-c/kernel/SourceCode.tsx @@ -66,11 +66,11 @@ function setError(text: string): void { // Function launching the external editor at the currently selected position. async function edit(file: string, pos: Position, cmd: string): Promise<void> { if (file === '') return; - const args = cmd - .replace('%s', file) - .replace('%n', pos.line.toString()) - .replace('%c', pos.column.toString()) - .split(' '); + const args = cmd. + replace('%s', file). + replace('%n', pos.line.toString()). + replace('%c', pos.column.toString()). + split(' '); const prog = args.shift(); if (!prog) return; const text = `An error has occured when opening the external editor ${prog}`; System.spawn(prog, args).catch(() => setError(text)); @@ -276,7 +276,7 @@ export default function SourceCode(): JSX.Element { async function displayShortcuts(): Promise<void> { await Dialogs.showMessageBox({ - buttons: [{label:"Ok"}], + buttons: [{label: "Ok"}], details: shortcuts, message: 'Useful shortcuts' }); diff --git a/ivette/src/frama-c/plugins/eva/valuetable.tsx b/ivette/src/frama-c/plugins/eva/valuetable.tsx index fb777a26aee..d31f94ca99b 100644 --- a/ivette/src/frama-c/plugins/eva/valuetable.tsx +++ b/ivette/src/frama-c/plugins/eva/valuetable.tsx @@ -59,7 +59,7 @@ function getAlarmStatus(alarms: Alarm[] | undefined): string { } type MarkerTracked = [ 'Tracked', boolean ] -type MarkerPinned = [ 'Pinned' , boolean ] +type MarkerPinned = [ 'Pinned', boolean ] type MarkerStatus = MarkerTracked | MarkerPinned | 'JustFocused' function MarkerStatusClass(status: MarkerStatus): string { diff --git a/ivette/src/frama-c/server.ts b/ivette/src/frama-c/server.ts index 2d404a244c3..122f9378047 100644 --- a/ivette/src/frama-c/server.ts +++ b/ivette/src/frama-c/server.ts @@ -39,7 +39,7 @@ import * as Json from 'dome/data/json'; import { RichTextBuffer } from 'dome/text/buffers'; import { ChildProcess } from 'child_process'; import { client } from './client_socket'; -//import { client } from './client_zmq'; +// import { client } from './client_zmq'; // -------------------------------------------------------------------------- // --- Server Status diff --git a/ivette/src/frama-c/states.ts b/ivette/src/frama-c/states.ts index 01ff09edb8a..00ccbcc1a45 100644 --- a/ivette/src/frama-c/states.ts +++ b/ivette/src/frama-c/states.ts @@ -402,7 +402,7 @@ export function reloadArray<K, A>(arr: Array<K, A>): void { } /** Access to Synchronized Array elements. */ -export interface ArrayProxy<K,A> { +export interface ArrayProxy<K, A> { length: number; getData(elt: K | undefined): (A | undefined); forEach(fn: (row: A, elt: K) => void): void; @@ -410,22 +410,22 @@ export interface ArrayProxy<K,A> { // --- Utility functions -function arrayGet<K,A>( - model: CompactModel<K,A>, +function arrayGet<K, A>( + model: CompactModel<K, A>, elt: K | undefined, _stamp: number, ): A | undefined { return elt ? model.getData(elt) : undefined; } -function arrayProxy<K,A>( - model: CompactModel<K,A>, +function arrayProxy<K, A>( + model: CompactModel<K, A>, _stamp: number, -): ArrayProxy<K,A> { +): ArrayProxy<K, A> { return { length: model.length(), getData: (elt) => elt ? model.getData(elt) : undefined, - forEach: (fn) => model.forEach((r) => fn(r,model.getkey(r))), + forEach: (fn) => model.forEach((r) => fn(r, model.getkey(r))), }; } @@ -481,7 +481,7 @@ export function useSyncArrayGetter<K, A>( /** Use Synchronized Array as an array proxy. */ export function useSyncArrayProxy<K, A>( arr: Array<K, A> -): ArrayProxy<K,A> { +): ArrayProxy<K, A> { const model = useSyncArrayModel<K, A>(arr); const stamp = useModel(model); return React.useMemo( diff --git a/ivette/src/renderer/Controller.tsx b/ivette/src/renderer/Controller.tsx index d69dd226989..75d43176011 100644 --- a/ivette/src/renderer/Controller.tsx +++ b/ivette/src/renderer/Controller.tsx @@ -135,9 +135,9 @@ function useHistory(): [string[], ((hs: string[]) => void)] { function insertConfig(hs: string[], cfg: Server.Configuration): string[] { const cmd = dumpServerConfig(cfg).trim(); const newhs = - hs.map((h) => h.trim()) - .filter((h: string) => h !== cmd && h !== '') - .slice(0, 50); + hs.map((h) => h.trim()). + filter((h: string) => h !== cmd && h !== ''). + slice(0, 50); newhs.unshift(cmd); return newhs; } -- GitLab