@@ -431,8 +431,30 @@ async function analyse(rawPaths?: string | string[], opts: T.Options = {}): Prom
431431 . replace ( / \/ \* .+ \* \/ | < ! - - .+ - - > / sg, '' )
432432 loc . code = codeLines . split ( / \r ? \n / gm) . filter ( line => line . trim ( ) . length > 0 ) . length ;
433433 }
434- // If no language found, add extension in other section
435- if ( ! lang ) {
434+ // Apply to files totals
435+ results . files . bytes += fileSize ;
436+ results . files . lines . total += loc . total ;
437+ results . files . lines . content += loc . content ;
438+ results . files . lines . code += loc . code ;
439+ // Add results to 'languages' section if language match found, or 'unknown' section otherwise
440+ if ( lang ) {
441+ // Add language and bytes data to corresponding section
442+ const { type } = langData [ lang ] ;
443+ results . languages . results [ lang ] ??= { type, bytes : 0 , lines : { total : 0 , content : 0 , code : 0 } , color : langData [ lang ] . color } ;
444+ if ( opts . childLanguages ) {
445+ results . languages . results [ lang ] . parent = langData [ lang ] . group ;
446+ }
447+ results . languages . results [ lang ] . bytes += fileSize ;
448+ results . languages . bytes += fileSize ;
449+ // apply LOC calculations
450+ results . languages . results [ lang ] . lines . total += loc . total ;
451+ results . languages . results [ lang ] . lines . content += loc . content ;
452+ results . languages . results [ lang ] . lines . code += loc . code ;
453+ results . languages . lines . total += loc . total ;
454+ results . languages . lines . content += loc . content ;
455+ results . languages . lines . code += loc . code ;
456+ }
457+ else {
436458 const ext = paths . extname ( file ) ;
437459 const unknownType = ext === '' ? 'filenames' : 'extensions' ;
438460 const name = ext === '' ? paths . basename ( file ) : ext ;
@@ -442,28 +464,7 @@ async function analyse(rawPaths?: string | string[], opts: T.Options = {}): Prom
442464 results . unknown . lines . total += loc . total ;
443465 results . unknown . lines . content += loc . content ;
444466 results . unknown . lines . code += loc . code ;
445- continue ;
446- }
447- // Add language and bytes data to corresponding section
448- const { type } = langData [ lang ] ;
449- results . languages . results [ lang ] ??= { type, bytes : 0 , lines : { total : 0 , content : 0 , code : 0 } , color : langData [ lang ] . color } ;
450- if ( opts . childLanguages ) {
451- results . languages . results [ lang ] . parent = langData [ lang ] . group ;
452467 }
453- // apply file sizes
454- results . files . bytes += fileSize ;
455- results . languages . results [ lang ] . bytes += fileSize ;
456- results . languages . bytes += fileSize ;
457- // apply LOC calculations
458- results . files . lines . total += loc . total ;
459- results . files . lines . content += loc . content ;
460- results . files . lines . code += loc . code ;
461- results . languages . results [ lang ] . lines . total += loc . total ;
462- results . languages . results [ lang ] . lines . content += loc . content ;
463- results . languages . results [ lang ] . lines . code += loc . code ;
464- results . languages . lines . total += loc . total ;
465- results . languages . lines . content += loc . content ;
466- results . languages . lines . code += loc . code ;
467468 }
468469
469470 // Set lines output to NaN when line calculation is disabled
0 commit comments