File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -889,16 +889,26 @@ ipcMain.handle('list-apps-detailed', async () => {
889889 / ^ T O T A L / i,
890890 / ^ \* h a s / i
891891 ] ;
892+ let versionColIdx = 2 ; // par défaut, colonne 3 (0-based)
893+ let headerParsed = false ;
892894 for ( const raw of lines ) {
893895 let line = raw . trim ( ) ;
894896 if ( ! line ) continue ;
897+ if ( line . startsWith ( 'APPNAME' ) || line . startsWith ( '- APPNAME' ) ) {
898+ // Détecter la colonne version dynamiquement
899+ const headerCols = line . replace ( / ^ - / , '' ) . split ( '|' ) . map ( s => s . trim ( ) ) ;
900+ versionColIdx = headerCols . findIndex ( col => col . toLowerCase ( ) . startsWith ( 'version' ) ) ;
901+ headerParsed = true ;
902+ continue ;
903+ }
904+ if ( line . startsWith ( '-------' ) ) continue ; // ignorer la ligne de séparation
895905 if ( line . startsWith ( '\u25c6' ) ) line = line . slice ( 1 ) . trim ( ) ;
896906 if ( ! line ) continue ;
897- // Try to parse "name | version | type | size " separated by | if present
907+ // Try to parse "name | ... | version | ... " separated by |
898908 if ( line . includes ( '|' ) ) {
899909 const cols = line . split ( '|' ) . map ( s => s . trim ( ) ) . filter ( Boolean ) ;
900910 const name = cols [ 0 ] ? cols [ 0 ] . split ( / \s + / ) [ 0 ] . trim ( ) : null ;
901- const version = cols [ 1 ] ? cols [ 1 ] : null ;
911+ const version = ( typeof versionColIdx === 'number' && versionColIdx >= 0 && versionColIdx < cols . length ) ? cols [ versionColIdx ] : null ;
902912 if ( name && ! ignoreNamePatterns . some ( re => re . test ( name ) ) ) {
903913 installedSet . add ( name ) ;
904914 if ( version ) installedDesc . set ( name , version ) ;
You can’t perform that action at this time.
0 commit comments