@@ -24,6 +24,12 @@ import { SingleTablePrettyfier } from '../prettyfiers/singleTablePrettyfier';
2424import { TableStringWriter } from "../writers/tableStringWriter" ;
2525import { ValuePaddingProvider } from '../writers/valuePaddingProvider' ;
2626
27+ let cachedMultiTablePrettyfier : MultiTablePrettyfier | null = null ;
28+
29+ export function invalidateCache ( ) {
30+ cachedMultiTablePrettyfier = null ;
31+ }
32+
2733export function getSupportLanguageIds ( ) {
2834 return [ "markdown" , ...getConfigurationValue < Array < string > > ( "extendedLanguages" , [ ] ) ] ;
2935}
@@ -41,15 +47,21 @@ export function getDocumentPrettyfierCommand(): TableDocumentPrettyfierCommand {
4147}
4248
4349function getMultiTablePrettyfier ( ) : MultiTablePrettyfier {
50+ if ( cachedMultiTablePrettyfier ) {
51+ return cachedMultiTablePrettyfier ;
52+ }
53+
4454 const loggers = getLoggers ( ) ;
4555 const sizeLimitCheker = getSizeLimitChecker ( loggers ) ;
4656 const columnPadding : number = getConfigurationValue < number > ( "columnPadding" , 0 ) ;
4757
48- return new MultiTablePrettyfier (
58+ cachedMultiTablePrettyfier = new MultiTablePrettyfier (
4959 new TableFinder ( new TableValidator ( new SelectionInterpreter ( true ) ) ) ,
5060 getSingleTablePrettyfier ( loggers , sizeLimitCheker , columnPadding ) ,
5161 sizeLimitCheker
5262 ) ;
63+
64+ return cachedMultiTablePrettyfier ;
5365}
5466
5567function getSingleTablePrettyfier ( loggers : ILogger [ ] , sizeLimitCheker : ConfigSizeLimitChecker , columnPadding : number ) : SingleTablePrettyfier {
0 commit comments