UI: Refactoring tbel utils autocompletes and highlights

This commit is contained in:
Artem Dzhereleiko 2025-03-14 12:03:15 +02:00
parent b7a0a800dd
commit 08556ee697

View File

@ -15,9 +15,9 @@
/// ///
import { AceHighlightRule } from '@shared/models/ace/ace.models'; import { AceHighlightRule } from '@shared/models/ace/ace.models';
import { TbEditorCompleter } from '@shared/models/ace/completion.models'; import { TbEditorCompleter, TbEditorCompletions } from '@shared/models/ace/completion.models';
export const tbelUtilsAutocompletes = new TbEditorCompleter({ const tbelEditorCompletions:TbEditorCompletions = {
btoa: { btoa: {
meta: 'function', meta: 'function',
description: 'Encodes a string to Base64.', description: 'Encodes a string to Base64.',
@ -1245,71 +1245,11 @@ export const tbelUtilsAutocompletes = new TbEditorCompleter({
type: 'boolean' type: 'boolean'
} }
}, },
}); }
const tbelUtilsFuncNames = [ export const tbelUtilsAutocompletes = new TbEditorCompleter(tbelEditorCompletions);
"btoa",
"atob", const tbelUtilsFuncNames = Object.keys(tbelEditorCompletions);
"bytesToString",
"decodeToString",
"decodeToJson",
"stringToBytes",
"parseInt",
"parseLong",
"parseFloat",
"parseHexIntLongToFloat",
"parseDouble",
"parseLittleEndianHexToInt",
"parseBigEndianHexToInt",
"parseHexToInt",
"parseBytesToInt",
"parseLittleEndianHexToLong",
"parseBigEndianHexToLong",
"parseHexToLong",
"parseBytesToLong",
"parseLittleEndianHexToFloat",
"parseBigEndianHexToFloat",
"parseHexToFloat",
"parseBytesToFloat",
"parseBytesIntToFloat",
"parseLittleEndianHexToDouble",
"parseBigEndianHexToDouble",
"parseHexToDouble",
"parseBytesToDouble",
"parseBytesLongToDouble",
"toFixed",
"toInt",
"hexToBytes",
"hexToBytesArray",
"intToHex",
"longToHex",
"intLongToRadixString",
"floatToHex",
"doubleToHex",
"printUnsignedBytes",
"base64ToHex",
"hexToBase64",
"base64ToBytes",
"base64ToBytesList",
"bytesToBase64",
"bytesToHex",
"toFlatMap",
"encodeURI",
"decodeURI",
"raiseError",
"isBinary",
"isOctal",
"isDecimal",
"isHexadecimal",
"bytesToExecutionArrayList",
"padStart",
"padEnd",
"parseByteToBinaryArray",
"parseBytesToBinaryArray",
"parseLongToBinaryArray",
"parseBinaryArrayToInt",
"isNaN",
];
export const tbelUtilsFuncHighlightRules: Array<AceHighlightRule> = export const tbelUtilsFuncHighlightRules: Array<AceHighlightRule> =
tbelUtilsFuncNames.map(funcName => ({ tbelUtilsFuncNames.map(funcName => ({