From 4721e737b27286bd00ac3d80b8c167f587c01a5e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Thu, 14 Mar 2024 22:12:09 +0100
Subject: [PATCH] [ivette] search mode better naming

---
 ivette/src/frama-c/kernel/Globals.tsx         | 10 +++----
 ivette/src/frama-c/plugins/eva/valuetable.tsx | 10 +++----
 ivette/src/frama-c/plugins/studia/index.ts    | 16 +++++-----
 ivette/src/ivette/index.tsx                   | 29 ++++++++++---------
 4 files changed, 34 insertions(+), 31 deletions(-)

diff --git a/ivette/src/frama-c/kernel/Globals.tsx b/ivette/src/frama-c/kernel/Globals.tsx
index 0a36c35f886..5e1df12a025 100644
--- a/ivette/src/frama-c/kernel/Globals.tsx
+++ b/ivette/src/frama-c/kernel/Globals.tsx
@@ -54,7 +54,7 @@ function globalHints(): Ivette.Hint[] {
   }));
 }
 
-const globalMode : Ivette.ModeProps = {
+const globalMode : Ivette.SearchProps = {
   id: 'frama-c.kernel.globals',
   label: 'Globals',
   title: 'Lookup for Global Declarations',
@@ -63,13 +63,13 @@ const globalMode : Ivette.ModeProps = {
 };
 
 function resetMode(enabled: boolean): void {
-  Ivette.updateMode({ id: globalMode.id, enabled });
-  Ivette.selectMode(globalMode.id);
+  Ivette.updateSearchMode({ id: globalMode.id, enabled });
+  Ivette.selectSearchMode(globalMode.id);
 }
 
 {
-  Ivette.registerMode(globalMode);
-  Dome.find.on(() => Ivette.focusMode(globalMode.id));
+  Ivette.registerSearchMode(globalMode);
+  Dome.find.on(() => Ivette.focusSearchMode(globalMode.id));
   Server.onReady(() => resetMode(true));
   Server.onShutdown(() => resetMode(false));
   resetMode(false);
diff --git a/ivette/src/frama-c/plugins/eva/valuetable.tsx b/ivette/src/frama-c/plugins/eva/valuetable.tsx
index 8d516e99473..9ffb8370056 100644
--- a/ivette/src/frama-c/plugins/eva/valuetable.tsx
+++ b/ivette/src/frama-c/plugins/eva/valuetable.tsx
@@ -914,7 +914,7 @@ interface EvaluationModeProps {
 }
 
 const evalShortcut = System.platform === 'macos' ? 'Cmd+E' : 'Ctrl+E';
-const evalMode : Ivette.ModeProps = {
+const evalMode : Ivette.SearchProps = {
   id: 'frama-c.eva.evalMode',
   label: 'Evaluation',
   title: `Evaluate an ACSL expression (shortcut: ${evalShortcut})`,
@@ -929,10 +929,10 @@ Dome.addMenuItem({
   label: 'Evaluate',
   key: 'Cmd+E',
   enabled: false,
-  onClick: () => Ivette.focusMode(evalMode.id),
+  onClick: () => Ivette.focusSearchMode(evalMode.id),
 });
 
-Ivette.registerMode(evalMode);
+Ivette.registerSearchMode(evalMode);
 
 function useEvaluationMode(props: EvaluationModeProps): void {
   const { computationState, marker, scope, setLocPin } = props;
@@ -949,9 +949,9 @@ function useEvaluationMode(props: EvaluationModeProps): void {
         };
         Server.send(Ast.parseExpr, data).then(addProbe).catch(handleError);
       };
-      Ivette.updateMode({ id: evalMode.id, enabled: true, onEnter });
+      Ivette.updateSearchMode({ id: evalMode.id, enabled: true, onEnter });
     } else {
-      Ivette.updateMode({ id: evalMode.id, enabled: false });
+      Ivette.updateSearchMode({ id: evalMode.id, enabled: false });
     }
   }, [enabled, marker, scope, setLocPin]);
   React.useEffect(
diff --git a/ivette/src/frama-c/plugins/studia/index.ts b/ivette/src/frama-c/plugins/studia/index.ts
index aa612159e26..7349dc39767 100644
--- a/ivette/src/frama-c/plugins/studia/index.ts
+++ b/ivette/src/frama-c/plugins/studia/index.ts
@@ -95,17 +95,17 @@ export function buildMenu(
     case 'STMT':
       menu.push({
         label: `Studia: select reads of …`,
-        onClick: () => Ivette.focusMode(studiaReadsMode.id)
+        onClick: () => Ivette.focusSearchMode(studiaReadsMode.id)
       });
       menu.push({
         label: `Studia: select writes of …`,
-        onClick: () => Ivette.focusMode(studiaWritesMode.id)
+        onClick: () => Ivette.focusSearchMode(studiaWritesMode.id)
       });
       return;
   }
 }
 
-const studiaReadsMode : Ivette.ModeProps = {
+const studiaReadsMode : Ivette.SearchProps = {
   id: 'frama-c.plugins.studia.reads',
   rank: -1,
   label: 'Studia: reads',
@@ -116,7 +116,7 @@ const studiaReadsMode : Ivette.ModeProps = {
   onEnter: (p: string) => onEnter('Reads', p)
 };
 
-const studiaWritesMode : Ivette.ModeProps = {
+const studiaWritesMode : Ivette.SearchProps = {
   id: 'frama-c.plugins.studia.writes',
   rank: -1,
   label: 'Studia: writes',
@@ -134,11 +134,11 @@ async function onEnter(akind: access, term: string): Promise<void> {
   if (marker) computeStudiaSelection(akind, marker, term);
 }
 
-Ivette.registerMode(studiaReadsMode);
-Ivette.registerMode(studiaWritesMode);
+Ivette.registerSearchMode(studiaReadsMode);
+Ivette.registerSearchMode(studiaWritesMode);
 States.GlobalHistory.on((s: States.History) => {
   const marker = s.curr.marker;
   const enabled = marker !== undefined;
-  Ivette.updateMode({ id: studiaReadsMode.id, enabled });
-  Ivette.updateMode({ id: studiaWritesMode.id, enabled });
+  Ivette.updateSearchMode({ id: studiaReadsMode.id, enabled });
+  Ivette.updateSearchMode({ id: studiaWritesMode.id, enabled });
 });
diff --git a/ivette/src/ivette/index.tsx b/ivette/src/ivette/index.tsx
index f49cdcf7f6d..df62fe3ffa9 100644
--- a/ivette/src/ivette/index.tsx
+++ b/ivette/src/ivette/index.tsx
@@ -230,9 +230,9 @@ export function registerStatusbar(status: ToolProps): void {
   STATUSBAR.register(status);
 }
 
-/* --------------------------------------------------------------------------*/
-/* --- Search Modes                                                       ---*/
-/* --------------------------------------------------------------------------*/
+/* -------------------------------------------------------------------------- */
+/* --- Search Modes                                                       --- */
+/* -------------------------------------------------------------------------- */
 
 export interface Hint {
   id: string;
@@ -244,7 +244,7 @@ export interface Hint {
   onClick?: () => void; // click on hint
 }
 
-export interface ModeProps {
+export interface SearchProps {
   id: string; // Mode identifier
   rank?: number; // Modes ordering
   icon?: string; // Search Field's Icons
@@ -258,12 +258,15 @@ export interface ModeProps {
   onEnter?: (pattern: string) => void; // Enter key for search field
 }
 
-export function registerMode(m: ModeProps): void { Search.registerMode(m); }
-export function updateMode(m: ModeProps): void { Search.updateMode(m); }
-export function removeMode(id: string): void { Search.removeMode(id); }
-export function selectMode(id: string): void { Search.selectMode(id); }
-export function focusMode(id: string): void { Search.focusMode(id); }
-export function useMode(m: ModeProps): void {
+/* eslint-disable max-len */
+export function registerSearchMode(m: SearchProps): void { Search.registerMode(m); }
+export function updateSearchMode(m: SearchProps): void { Search.updateMode(m); }
+export function removeSearchMode(id: string): void { Search.removeMode(id); }
+export function selectSearchMode(id: string): void { Search.selectMode(id); }
+export function focusSearchMode(id: string): void { Search.focusMode(id); }
+/* eslint-enable max-len */
+
+export function useSearchMode(m: SearchProps): void {
   React.useEffect(() => {
     const id = m.id;
     const m0 = Search.findMode(id);
@@ -277,9 +280,9 @@ export function useMode(m: ModeProps): void {
   }, [m]);
 }
 
-/* --------------------------------------------------------------------------*/
-/* --- Sandbox                                                            ---*/
-/* --------------------------------------------------------------------------*/
+/* -------------------------------------------------------------------------- */
+/* --- Sandbox                                                            --- */
+/* -------------------------------------------------------------------------- */
 
 if (DEVEL) {
   registerView({
-- 
GitLab