@@ -804,11 +804,12 @@ export async function activate(
804804 filePath = item ;
805805 line = restArgs [ 0 ] as number ;
806806 overrideData = restArgs [ 1 ] ;
807- } else if ( item && item . filePath ) {
808- // Called from tree view context menu
809- filePath = item . filePath ;
810- line = item . line || 1 ;
811- overrideData = item . overrideData ;
807+ } else if ( item && typeof item === 'object' && 'filePath' in item ) {
808+ // Called from tree view context menu - item is an OverrideItem
809+ const overrideItem = item as { filePath : string ; line ?: number ; overrideData ?: unknown } ;
810+ filePath = overrideItem . filePath ;
811+ line = overrideItem . line || 1 ;
812+ overrideData = overrideItem . overrideData ;
812813 } else {
813814 vscode . window . showErrorMessage ( 'Invalid arguments for edit override command' ) ;
814815 return ;
@@ -824,18 +825,25 @@ export async function activate(
824825
825826 // Build current override string
826827 let currentOverride = '' ;
827- if ( overrideData && overrideData . override_config ) {
828- if ( overrideData . override_config . env && Object . keys ( overrideData . override_config . env ) . length > 0 ) {
829- const envVars = Object . entries ( overrideData . override_config . env )
828+ if ( overrideData && typeof overrideData === 'object' && 'override_config' in overrideData ) {
829+ const overrideEntry = overrideData as {
830+ override_config : {
831+ env ?: Record < string , string > ;
832+ cargo_options ?: string [ ] ;
833+ args ?: string [ ] ;
834+ }
835+ } ;
836+ if ( overrideEntry . override_config . env && Object . keys ( overrideEntry . override_config . env ) . length > 0 ) {
837+ const envVars = Object . entries ( overrideEntry . override_config . env )
830838 . map ( ( [ key , value ] ) => `${ key } =${ value } ` )
831839 . join ( ' ' ) ;
832840 currentOverride += envVars + ' ' ;
833841 }
834- if ( overrideData . override_config . cargo_options ?. length ) {
835- currentOverride += overrideData . override_config . cargo_options . join ( ' ' ) + ' ' ;
842+ if ( overrideEntry . override_config . cargo_options ?. length ) {
843+ currentOverride += overrideEntry . override_config . cargo_options . join ( ' ' ) + ' ' ;
836844 }
837- if ( overrideData . override_config . args ?. length ) {
838- currentOverride += '-- ' + overrideData . override_config . args . join ( ' ' ) ;
845+ if ( overrideEntry . override_config . args ?. length ) {
846+ currentOverride += '-- ' + overrideEntry . override_config . args . join ( ' ' ) ;
839847 }
840848 }
841849
0 commit comments