diff --git a/ivette/src/dome/main/dome.ts b/ivette/src/dome/main/dome.ts
index 4bf31f95ae2bc4824923d743232359e554926676..6b77b3455661024d81ed75ec468d2de7e8daedf6 100644
--- a/ivette/src/dome/main/dome.ts
+++ b/ivette/src/dome/main/dome.ts
@@ -526,7 +526,7 @@ function createSecondaryWindow(
   _event: Electron.Event,
   chromiumArgv: string[],
   wdir: string,
-) {
+): void {
   const argStart = "--second-instance=";
   let argString = chromiumArgv.find(a => a.startsWith(argStart));
   if (argString) {
diff --git a/ivette/src/dome/renderer/dome.tsx b/ivette/src/dome/renderer/dome.tsx
index 467645b19157b86b2376f071d9ec56e7973d8af7..e3abbb21fe40cddc2cfa993373c9e900bb7c1292 100644
--- a/ivette/src/dome/renderer/dome.tsx
+++ b/ivette/src/dome/renderer/dome.tsx
@@ -372,7 +372,7 @@ const customItemCallbacks = new Map<string, callback>();
 
    @param label - the menu title (shall be unique)
  */
-export function addMenu(label: string) {
+export function addMenu(label: string): void {
   ipcRenderer.send('dome.ipc.menu.addmenu', label);
 }
 
@@ -417,7 +417,7 @@ export interface MenuItemProps {
    windows would be ignored. It is also possible to call this function from the
    main process.
  */
-export function addMenuItem(props: MenuItemProps) {
+export function addMenuItem(props: MenuItemProps): void {
   if (!props.id && props.type !== 'separator') {
     // eslint-disable-next-line no-console
     console.error('[Dome] Missing menu-item identifier', props);
diff --git a/ivette/src/dome/renderer/frame/toolbars.tsx b/ivette/src/dome/renderer/frame/toolbars.tsx
index dfc38bfb89c20b07ec545df21e6629c83315913a..4693b33655e2c95e10dfaf1df0c4239e8f82e225 100644
--- a/ivette/src/dome/renderer/frame/toolbars.tsx
+++ b/ivette/src/dome/renderer/frame/toolbars.tsx
@@ -286,7 +286,7 @@ export interface Hint {
 }
 
 /** Total order on hints. */
-export function byHint(a: Hint, b: Hint) {
+export function byHint(a: Hint, b: Hint): number {
   return (a.rank ?? 0) - (b.rank ?? 0);
 }
 
@@ -322,15 +322,18 @@ export interface ActionMode {
 const searchEvaluators = new Map<string, HintsEvaluator>();
 
 // Updates to the new evaluator if the id is already registered
-export function registerSearchHints(id: string, search: HintsEvaluator) {
+export function registerSearchHints(
+  id: string,
+  search: HintsEvaluator
+): void {
   searchEvaluators.set(id, search);
 }
 
-export function unregisterSearchHints(id: string) {
+export function unregisterSearchHints(id: string): void {
   searchEvaluators.delete(id);
 }
 
-async function searchHints(pattern: string) {
+async function searchHints(pattern: string): Promise<Hint[]> {
   if (pattern === '') return [];
   const promises = Array.from(searchEvaluators).map(([_id, E]) => E(pattern));
   const hints = await Promise.all(promises);
@@ -356,7 +359,7 @@ interface ModeButtonComponentProps {
   onClick: () => void;
 }
 
-function ModeButton(props: ModeButtonComponentProps) {
+function ModeButton(props: ModeButtonComponentProps): JSX.Element {
   const { current, onClick } = props;
   return (
     <div
@@ -382,11 +385,11 @@ interface SuggestionsProps {
   index: number;
 }
 
-function scrollToRef (r: null | HTMLLabelElement) {
+function scrollToRef(r: null | HTMLLabelElement): void {
   if (r) r.scrollIntoView({ block: 'nearest' });
 }
 
-function Suggestions(props: SuggestionsProps) {
+function Suggestions(props: SuggestionsProps): JSX.Element {
   const { hints, onHint, index } = props;
 
   // Computing the relevant suggestions. */
@@ -413,17 +416,13 @@ function Suggestions(props: SuggestionsProps) {
     <div
       style={{ visibility: suggestions.length > 0 ? 'visible' : 'hidden' }}
       className='dome-xToolBar-suggestions'
-      onMouseDown={ (event) => event.preventDefault() }
+      onMouseDown={(event) => event.preventDefault()}
     >
       {suggestions}
     </div>
   );
 }
 
-interface Searching {
-  pattern?: string;
-  timer?: NodeJS.Timeout | undefined;
-  onSearch?: ((p: string) => void);
 // --------------------------------------------------------------------------
 // --- ModalActionField input field component
 // --------------------------------------------------------------------------
@@ -441,16 +440,16 @@ interface ActionInputProps {
   inputRef: React.MutableRefObject<HTMLInputElement | null>;
 }
 
-function ActionInput(props: ActionInputProps) {
+function ActionInput(props: ActionInputProps): JSX.Element {
   const { title, placeholder, hints, onHint, onEnter } = props;
   const { index, setIndex, pattern, setPattern, inputRef } = props;
 
   // Blur Event
-  const onBlur = () => { setPattern(''); setIndex(-1); };
+  const onBlur = (): void => { setPattern(''); setIndex(-1); };
 
   // Key Up Events
-  const onKeyUp = (evt: React.KeyboardEvent) => {
-    const blur = () => inputRef.current?.blur();
+  const onKeyUp = (evt: React.KeyboardEvent): void => {
+    const blur = (): void => inputRef.current?.blur();
     switch (evt.key) {
       case 'Escape':
         blur();
@@ -473,12 +472,12 @@ function ActionInput(props: ActionInputProps) {
   };
 
   // Key Down Events. Disables the default behavior on ArrowUp and ArrowDown.
-  const onKeyDown = (evt: React.KeyboardEvent) => {
+  const onKeyDown = (evt: React.KeyboardEvent): void => {
     if (evt.key === 'ArrowUp' || evt.key === 'ArrowDown') evt.preventDefault();
   };
 
   // // Input Events
-  const onChange = (evt: React.ChangeEvent<HTMLInputElement>) => {
+  const onChange = (evt: React.ChangeEvent<HTMLInputElement>): void => {
     setIndex(-1);
     setPattern(evt.target.value);
   };
@@ -508,27 +507,29 @@ export const RegisterMode: Event<ActionMode> =
 export const UnregisterMode: Event<ActionMode> =
   new Event('dome.actionmode.unregister');
 
-export function ModalActionField() {
-  
+export function ModalActionField(): JSX.Element {
+
   // Internal state of the component along with useful functions acting on it.
   const inputRef = React.useRef<HTMLInputElement | null>(null);
   const [index, setIndex] = React.useState(-1);
   const [pattern, setPattern] = React.useState('');
   const [current, onModeChange] = React.useState<ActionMode>(searchMode);
-  const focus = () => inputRef.current?.focus();
-  const changeMode = (m: ActionMode) => () => { onModeChange(m); focus(); };
-  const toDefault = () => onModeChange(searchMode);
-  const reset = (m: ActionMode) => { if (current === m) toDefault(); };
+  const focus = (): void => inputRef.current?.focus();
+  const changeMode = (m: ActionMode) =>
+    (): void => { onModeChange(m); focus(); };
+  const toDefault = (): void => onModeChange(searchMode);
+  const reset = (m: ActionMode): void => { if (current === m) toDefault(); };
 
   // Set of all modes currently active. We populate it by reacting to
   // RegisterMode and UnregisterMode events. We also activate the mode event if
   // available. Everything is cleaned when the component is unmounted.
-  const [allModes] = React.useState<Set<ActionMode>>(new Set()); 
+  const [allModes] = React.useState<Set<ActionMode>>(new Set());
   React.useEffect(() => {
-    const on = (m: ActionMode) => m.event?.on(changeMode(m));
-    const register = (m: ActionMode) => { allModes.add(m); on(m); };
-    const off = (m: ActionMode) => m.event?.off(changeMode(m));
-    const remove = (m: ActionMode) => { allModes.delete(m); off(m); reset(m); };
+    const on = (m: ActionMode): void => m.event?.on(changeMode(m));
+    const register = (m: ActionMode): void => { allModes.add(m); on(m); };
+    const off = (m: ActionMode): void => m.event?.off(changeMode(m));
+    const remove =
+      (m: ActionMode): void => { allModes.delete(m); off(m); reset(m); };
     RegisterMode.on(register); UnregisterMode.on(remove);
     return () => { RegisterMode.off(register); UnregisterMode.off(remove); };
   });
@@ -542,17 +543,17 @@ export function ModalActionField() {
   const { result = [] } = usePromise(hintsPromise);
 
   // Auxiliary function that build a Hint from an ActionMode.
-  const modeToHint = (mode: ActionMode) => {
+  const modeToHint = (mode: ActionMode): Hint => {
     const { label, title = '', icon } = mode;
     const id = 'ActionMode-' + title + '-' + icon;
-    const value = () => { onModeChange(mode); };
+    const value = (): void => { onModeChange(mode); };
     return { id, icon, label, title, value, rank: -1000 };
   };
 
   // Hints provider for the mode of all modes.
   const modesHints = React.useCallback((input: string) => {
     const p = input.toLowerCase();
-    const fit = (m: ActionMode) => m.label.toLowerCase().includes(p);
+    const fit = (m: ActionMode): boolean => m.label.toLowerCase().includes(p);
     return Promise.resolve(Array.from(allModes).filter(fit).map(modeToHint));
   }, [allModes]);
 
@@ -571,20 +572,20 @@ export function ModalActionField() {
   // the possible search hints.
   const searchModeHints = React.useCallback(async (input: string) => {
     const hs = await modesMode.hints(input);
-    const notCurrent = (h: Hint) => !(h.label.includes(current.label));
+    const notCurrent = (h: Hint): boolean => !(h.label.includes(current.label));
     return hs.filter(notCurrent);
   }, [current.label, modesMode]);
 
   // Register the new search engine.
   React.useEffect(() => {
-      registerSearchHints('ModesMode', searchModeHints);
-      return () => unregisterSearchHints('ModesMode');
-    }, [searchModeHints]);
+    registerSearchHints('ModesMode', searchModeHints);
+    return () => unregisterSearchHints('ModesMode');
+  }, [searchModeHints]);
 
   // Build the component.
   const { title, placeholder } = current;
   const handleModeClick = changeMode(modesMode);
-  const onBlur = () => reset(modesMode);
+  const onBlur = (): void => reset(modesMode);
   return (
     <div className="dome-xToolBar-actionComponent" onBlur={onBlur}>
       <div className="dome-xToolBar-actionField">
@@ -603,7 +604,7 @@ export function ModalActionField() {
         />
       </div>
       <Suggestions hints={result} onHint={onHint} index={index} />
-    </div> 
+    </div>
   );
 }
 
diff --git a/ivette/src/frama-c/kernel/ASTview.tsx b/ivette/src/frama-c/kernel/ASTview.tsx
index 9a5031927845f416a7a8890e5ef9ac1a423b5860..c2f657e33a1df75a9bfdec9fb8784c17dbf9e58b 100644
--- a/ivette/src/frama-c/kernel/ASTview.tsx
+++ b/ivette/src/frama-c/kernel/ASTview.tsx
@@ -26,9 +26,6 @@
 
 import React from 'react';
 import _ from 'lodash';
-import * as Server from 'frama-c/server';
-import * as States from 'frama-c/states';
-import * as RichText from 'frama-c/richtext';
 
 import * as Dome from 'dome';
 import * as Settings from 'dome/data/settings';
@@ -40,7 +37,7 @@ import * as Preferences from 'ivette/prefs';
 
 import * as Server from 'frama-c/server';
 import * as States from 'frama-c/states';
-import * as Utils from 'frama-c/utils';
+import * as RichText from 'frama-c/richtext';
 import * as Ast from 'frama-c/kernel/api/ast';
 import * as Properties from 'frama-c/kernel/api/properties';
 import { getCallers, getDeadCode } from 'frama-c/plugins/eva/api/general';
@@ -245,13 +242,13 @@ export default function ASTview(): JSX.Element {
     if (theMarker) buffer.scroll(theMarker);
   }, [buffer, theMarker]);
 
-  function onHover(markerId?: string) {
+  function onHover(markerId?: string): void {
     const marker = Ast.jMarker(markerId);
     const fct = selection?.current?.fct;
     States.setHovered(marker ? { fct, marker } : undefined);
   }
 
-  function onSelection(markerId: string, meta = false) {
+  function onSelection(markerId: string, meta = false): void {
     const fct = selection?.current?.fct;
     const location = { fct, marker: Ast.jMarker(markerId) };
     updateSelection({ location });
diff --git a/ivette/src/frama-c/states.ts b/ivette/src/frama-c/states.ts
index a33f5fef80fe2914481c599c5953cf0ba0d13187..c6b360cc86ad95daece6e8e54982d07c21570a05 100644
--- a/ivette/src/frama-c/states.ts
+++ b/ivette/src/frama-c/states.ts
@@ -773,12 +773,12 @@ export const GlobalSelection = new GlobalState<Selection>(emptySelection);
 
 Server.onShutdown(() => GlobalSelection.setValue(emptySelection));
 
-export function setHovered(h: Hovered) { GlobalHovered.setValue(h); }
+export function setHovered(h: Hovered): void { GlobalHovered.setValue(h); }
 export function useHovered(): [Hovered, (h: Hovered) => void] {
   return useGlobalState(GlobalHovered);
 }
 
-export function setSelection(location: Location, meta = false) {
+export function setSelection(location: Location, meta = false): void {
   const s = GlobalSelection.getValue();
   GlobalSelection.setValue(reducer(s, { location }));
   if (meta) MetaSelection.emit(location);
@@ -789,7 +789,7 @@ export function useSelection(): [Selection, (a: SelectionActions) => void] {
   const [current, setCurrent] = useGlobalState(GlobalSelection);
   const callback = React.useCallback((action) => {
     setCurrent(reducer(current, action));
-  }, [ current, setCurrent ]);
+  }, [current, setCurrent]);
   return [current, callback];
 }
 
diff --git a/ivette/src/renderer/Controller.tsx b/ivette/src/renderer/Controller.tsx
index e13eaf09b2f2e05eda62413fe459bcd340a743b7..50ab35b2bf0da992b523cf338d656d6530f62b20 100644
--- a/ivette/src/renderer/Controller.tsx
+++ b/ivette/src/renderer/Controller.tsx
@@ -217,7 +217,7 @@ export const Control = (): JSX.Element => {
       />
     </Toolbars.ButtonGroup>
   );
-}
+};
 
 // --------------------------------------------------------------------------
 // --- Server Console
@@ -370,7 +370,7 @@ const RenderConsole = (): JSX.Element => {
       />
     </>
   );
-}
+};
 
 Ivette.registerComponent({
   id: 'frama-c.console',
@@ -451,7 +451,7 @@ export const Status = (): JSX.Element => {
       <Toolbars.Separator />
     </>
   );
-}
+};
 
 // --------------------------------------------------------------------------
 // --- Server Stats
@@ -461,6 +461,6 @@ export const Stats = (): (null | JSX.Element) => {
   Server.useStatus();
   const pending = Server.getPending();
   return pending > 0 ? <Code>{pending} rq.</Code> : null;
-}
+};
 
 // --------------------------------------------------------------------------
diff --git a/ivette/src/renderer/Extensions.tsx b/ivette/src/renderer/Extensions.tsx
index e9ab3239b2985def69d3b2ef2063eadbe8a2ba45..acd7d6ec63c0bd1062aab2e882c85433c8300dd0 100644
--- a/ivette/src/renderer/Extensions.tsx
+++ b/ivette/src/renderer/Extensions.tsx
@@ -56,7 +56,7 @@ export class ElementRack {
   private rank = 1;
   private readonly items = new Map<string, ElementProps>();
 
-  register(elt: ElementProps) {
+  register(elt: ElementProps): void {
     if (elt.rank === undefined) elt.rank = this.rank;
     this.rank++;
     this.items.set(elt.id, elt);