resolveCodeLanguageProfile function

CodeLanguageProfile resolveCodeLanguageProfile(
  1. String? language
)

Implementation

CodeLanguageProfile resolveCodeLanguageProfile(String? language) {
  final normalizedLanguage = (language ?? '').toLowerCase();
  return switch (normalizedLanguage) {
    'python' ||
    'py' ||
    'yaml' ||
    'yml' ||
    'toml' ||
    'make' ||
    'makefile' => const CodeLanguageProfile(lineCommentPrefix: '#'),
    'ruby' ||
    'rb' ||
    'shell' ||
    'sh' ||
    'bash' ||
    'zsh' => const CodeLanguageProfile(
      lineCommentPrefix: '#',
      blockCommentDelimiters: CodeBlockCommentDelimiters(
        start: '/*',
        end: '*/',
      ),
    ),
    'sql' || 'lua' || 'haskell' || 'hs' => const CodeLanguageProfile(
      lineCommentPrefix: '--',
      blockCommentDelimiters: CodeBlockCommentDelimiters(
        start: '/*',
        end: '*/',
      ),
    ),
    'html' ||
    'xml' ||
    'svg' ||
    'markdown' ||
    'md' ||
    'mdx' => const CodeLanguageProfile(
      lineCommentPrefix: '//',
      blockCommentDelimiters: CodeBlockCommentDelimiters(
        start: '<!--',
        end: '-->',
      ),
    ),
    _ => const CodeLanguageProfile(
      lineCommentPrefix: '//',
      blockCommentDelimiters: CodeBlockCommentDelimiters(
        start: '/*',
        end: '*/',
      ),
    ),
  };
}