diff --git a/src/common/webview-context.ts b/src/common/webview-context.ts index 6ae0afc..3e85652 100644 --- a/src/common/webview-context.ts +++ b/src/common/webview-context.ts @@ -15,7 +15,7 @@ ********************************************************************************/ import { WebviewIdMessageParticipant } from 'vscode-messenger-common'; -import { VariableMetadata } from './memory-range'; +import { Endianness, VariableMetadata } from './memory-range'; import { ReadMemoryArguments } from './messaging'; export interface WebviewContext { @@ -24,6 +24,8 @@ export interface WebviewContext { showAsciiColumn: boolean showVariablesColumn: boolean, showRadixPrefix: boolean, + endianness: Endianness, + bytesPerMau: number, activeReadArguments: Required } diff --git a/src/webview/columns/data-column.tsx b/src/webview/columns/data-column.tsx index b84dc5e..42c7546 100644 --- a/src/webview/columns/data-column.tsx +++ b/src/webview/columns/data-column.tsx @@ -23,6 +23,7 @@ import { writeMemoryType } from '../../common/messaging'; import type { MemorySizeOptions } from '../components/memory-table'; import { decorationService } from '../decorations/decoration-service'; import { Disposable, FullNodeAttributes } from '../utils/view-types'; +import { createGroupVscodeContext } from '../utils/vscode-contexts'; import { characterWidthInContainer, elementInnerWidth } from '../utils/window'; import { messenger } from '../view-messenger'; import { ColumnContribution, TableRenderOptions } from './column-contribution-service'; @@ -90,6 +91,7 @@ export class EditableDataColumnRow extends React.Component {maus} ; diff --git a/src/webview/components/memory-widget.tsx b/src/webview/components/memory-widget.tsx index dcf09d4..2ddeaec 100644 --- a/src/webview/components/memory-widget.tsx +++ b/src/webview/components/memory-widget.tsx @@ -66,12 +66,15 @@ export class MemoryWidget extends React.Component candidate.active).map(column => column.contribution.id); + const { messageParticipant, showRadixPrefix, endianness, bytesPerMau, activeReadArguments } = this.props; return createAppVscodeContext({ - messageParticipant: this.props.messageParticipant, - showRadixPrefix: this.props.showRadixPrefix, + messageParticipant, + showRadixPrefix, showAsciiColumn: visibleColumns.includes('ascii'), showVariablesColumn: visibleColumns.includes('variables'), - activeReadArguments: this.props.activeReadArguments + endianness, + bytesPerMau, + activeReadArguments }); } diff --git a/src/webview/utils/vscode-contexts.ts b/src/webview/utils/vscode-contexts.ts index dbbd54d..aa56e3c 100644 --- a/src/webview/utils/vscode-contexts.ts +++ b/src/webview/utils/vscode-contexts.ts @@ -28,7 +28,7 @@ export interface VscodeContext { export type WebviewSection = 'optionsWidget' | 'advancedOptionsOverlay' | 'memoryTable'; export function createVscodeContext(context: C): VscodeContext { - return { 'data-vscode-context': JSON.stringify(includeFlatKeys(context)) }; + return { 'data-vscode-context': JSON.stringify(includeFlatKeys(context), replacerForBigInt) }; } function includeFlatKeys(src: object): Record { @@ -60,8 +60,19 @@ export function createAppVscodeContext(context: Omit