-- These explanations also for the standard injections provided by nvim-treesitter
-- are AI-generated. I hope, this is not terribly wrong
return {
  c = {
    c = "C syntax in all C preprocessor arguments",
    comment = "Comment syntax in all C comments",
    doxygen = "Doxygen syntax in all C comments excluding alphabet characters after '!<' or '!*'",
    re2c = "Re2c syntax in all C comments excluding alphabet characters after '!*'",
  },
  css = {
    comment = "Comment syntax in all CSS comments",
  },
  html = {
    css = "CSS syntax in all style elements in HTML tags that don't have a lang or type attribute",
    css_1 = "CSS syntax in all style elements in HTML tags that have a type attribute with 'text/css' value",
    css_2 = "CSS syntax in all attributes in HTML tags that have a style attribute",
    html_4 = "HTML_4 syntax in all script elements in HTML tags that have a type attribute",
    javascript = "JavaScript syntax in all script elements in HTML tags that don't have a lang or type attribute",
    javascript_1 = "JavaScript syntax in all attribute values in HTML tags that start with '${'",
    javascript_2 = "JavaScript syntax in all attribute values in HTML tags that start with '${'",
    javascript_3 = "JavaScript syntax in all quoted attribute values in HTML tags that are named starting with 'on' followed by any lowercase letters",
    python = "Python syntax in all elements in HTML that have tag names of 'py-script' or 'py-repl'",
    python_1 = "Python syntax in all script elements in HTML that have attributes of 'type' with values of 'pyscript' or 'py-script'",
    regex = "Regex syntax in all attribute values in HTML tags that have 'pattern' attribute",
    toml = "TOML syntax in all elements in HTML that have tag names of 'py-config'",
  },
  javascript = {
    comment = "Comment syntax in all JavaScript comments",
    css = "CSS syntax in all JSX elements that have 'style' identifier and 'jsx' attribute",
    css_1 = "CSS syntax in all template strings used as arguments in all function call expressions that have 'styled' identifier",
    css_2 = "CSS syntax in all template strings used as arguments in all function call expressions that have a 'styled' identifier within a member expression object",
    css_3 = "CSS syntax in all template strings used as arguments in all function call expressions that have a 'styled' identifier within a call expression function",
    glimmer = "Glimmer syntax in all template strings used as arguments in all function call expressions that have 'hbs' identifier",
    glimmer_1 = "Glimmer syntax in all Glimmer templates",
    graphql = "GraphQL syntax in all template strings used as arguments in all function call expressions that have 'gql' identifier",
    graphql_2 = "GraphQL syntax in all template strings that start with '`#graphql'",
    html = "HTML syntax in all template strings used as arguments in svg elements",
    html_1 = "HTML syntax in all template strings in assignment expressions where the left-side ends with 'outerHTML' or 'innerHTML'",
    html_2 = "HTML syntax in all string fragments in assignment expressions where the left-side ends with 'outerHTML' or 'innerHTML'",
    javascript_3 = "JavaScript syntax in all template strings used as arguments in all function call expressions that have a valid JavaScript identifier",
    jsdoc = "JSDoc syntax in all comments that start with '/**' and end with '*/'",
    regex = "Regex syntax in all regex patterns",
  },
  lua = {
    c = "C syntax in all strings that are arguments of a function call named 'cdef'",
    comment = "Comment syntax in all Lua comments",
    lua = "Lua syntax in all strings that are arguments of function call expressions named 'nvim_exec_lua'",
    luadoc = "LuaDoc syntax in all Lua comments where the content starts with '-' followed by any amount of spaces, and then '@'",
    luap = "Luap syntax in all function call expressions that are methods named 'find' or 'match' in tables",
    luap_1 = "Luap syntax in all function call expressions that are methods named 'gmatch' or 'gsub' in tables",
    luap_2 = "Luap syntax in all function call expressions that are methods named 'find' or 'match'",
    luap_3 = "Luap syntax in all function call expressions that are methods named 'gmatch' or 'gsub'",
    query = "query syntax in all strings in function call expressions named 'vim.treesitter.query.set' or 'vim.treesitter.query.parse'",
    query_1 = "query syntax in all strings where the content starts with an amount of spaces followed by any amount of '+' and then an amount of spaces, and then 'query'",
    vim = "Vim syntax in all strings in function call expressions named 'vim.cmd', 'vim.api.nvim_command', 'vim.api.nvim_command', or 'vim.api.nvim_exec2'",
    vim_1 = "Vim syntax in all strings where command equals 'command' in two-argument functions",
    vim_2 = "Vim syntax in all strings in function call expressions named 'vim.api.nvim_create_user_command'",
    vim_3 = "Vim syntax in all strings in function call expressions named 'vim.api.nvim_buf_create_user_command'",
  },
  markdown = {
    codeblocks_as_lua = "Lua syntax in all content of code fences in markdown",
  },
  python = {
    comment = "Comment syntax in all Python comments",
    regex = "Regex syntax in all strings in call expressions that have a re object and a string argument",
  },
  query = {
    comment = "Comment syntax in all query comments",
    luap = "Luap syntax in all strings in predicate expressions that have an identifier named 'lua-match' or 'not-lua-match'",
    luap_1 = "Luap syntax in all strings in predicate expressions that have an identifier named 'gsub' or 'not-gsub'",
    regex = "Regex syntax in all strings in predicate expressions that have an identifier named 'match', 'not-match', 'vim-match', or 'not-vim-match'",
  },
  vim = {
    comment = "Comment syntax in all Vim comments",
    lua = "Lua syntax in all chunks, bodies of scripts in Lua statements, all chunks, bodies of scripts in Ruby or Python statements",
    regex = "Regex syntax in all patterns in autocmd statements",
    vim = "Vim syntax in all set values in set items that have an option name of 'includeexpr', 'inex', 'printexpr', 'pexpr', 'formatexpr', 'fex', 'indentexpr', 'inde', 'foldtext', 'fdt', 'foldexpr', 'fde', 'diffexpr', 'dex', 'patchexpr', 'pex', or 'charconvert'",
  },
  vimdoc = {
    vimdoc_1 = "Vimdoc syntax in all codeblocks with a language and code",
  },
}
