All files / src/utils config.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 225x 1x       2x   2x                            
// src/utils/config.ts
import * as vscode from 'vscode';
import type { ExtensionConfig } from '../types';
 
export function readConfig(): ExtensionConfig {
  const cfg = vscode.workspace.getConfiguration('laravelMaestro');
 
  return {
    phpExecutable: cfg.get<string>('phpExecutable', 'php'),
    runtimeExtractionTimeout: cfg.get<number>('runtimeExtractionTimeout', 10000),
    enableEloquentCompletion: cfg.get<boolean>('enableEloquentCompletion', true),
    enableRouteCompletion: cfg.get<boolean>('enableRouteCompletion', true),
    enableBladeCompletion: cfg.get<boolean>('enableBladeCompletion', true),
    enableInlayHints: cfg.get<boolean>('enableInlayHints', true),
    enableCodeLens: cfg.get<boolean>('enableCodeLens', true),
    excludePatterns: cfg.get<string[]>('excludePatterns', [
      'vendor/**', 'node_modules/**', 'storage/**', '.git/**',
    ]),
    lruCacheSize: cfg.get<number>('lruCacheSize', 500),
  };
}