{"version":3,"sources":["webpack:///./highlight_js/index.js","webpack:///./vue_shared/components/code_block.vue","webpack:///./vue_shared/components/code_block.vue?32d9","webpack:///vue_shared/components/code_block.vue","webpack:///./vue_shared/components/code_block.vue?9c6a","webpack:///./vue_shared/components/source_viewer/constants.js","webpack:////build/source/app/graphql/queries/repository/blob_info.query.graphql","webpack:///./content_editor/services/highlight_js_language_loader.js","webpack:///./vue_shared/components/source_viewer/workers/highlight_utils.js","webpack:///./vue_shared/components/source_viewer/plugins/wrap_child_nodes.js","webpack:///./vue_shared/components/source_viewer/plugins/wrap_bidi_chars.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/dependency_linker_util.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/package_json_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/gemspec_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/godeps_json_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/gemfile_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/podspec_json_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/composer_json_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/utils/go_sum_linker.js","webpack:///./vue_shared/components/source_viewer/plugins/link_dependencies.js","webpack:///./vue_shared/components/source_viewer/plugins/wrap_lines.js","webpack:///./highlight_js/plugins/index.js"],"names":["loadLanguage","async","language","hljs","languageDefinition","languageLoader","registerLanguage","default","contains","languages","Set","filter","component","Boolean","subLanguage","map","add","Promise","all","loadSubLanguages","getLanguage","highlightContent","lang","rawContent","plugins","ROUGE_TO_HLJS_LANGUAGE_MAP","toLowerCase","highlightedContent","hljsCore","newInstance","registerPlugins","initHighlightJs","highlight","value","name","props","code","type","String","required","maxHeight","computed","styleObject","overflowY","userColorScheme","window","gon","user_color_scheme","_vm","this","_c","_self","staticClass","class","$options","style","_t","_v","_s","Object","fromEntries","keys","bsl","pascal","jinja","docker","batchfile","html","hylang","tex","common_lisp","hlsl","make","objective_c","python3","shell","vb","viml","EVENT_ACTION","EVENT_LABEL_VIEWER","EVENT_LABEL_FALLBACK","LINES_PER_CHUNK","NEWLINE","BIDI_CHARS","BIDI_CHARS_CLASS_LIST","BIDI_CHAR_TOOLTIP","LEGACY_FALLBACKS","CODEOWNERS_FILE_NAME","doc","loc","source","definitionRefs","findOperation","i","definitions","length","element","forEach","def","refs","collectFragmentReferences","node","kind","selectionSet","selections","selection","variableDefinitions","module","exports","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","op","push","oneQuery","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c","cal","capnproto","ceylon","clean","clojure","codeowners","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","d","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","elm","erb","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","http","hy","inform7","ini","irpf90","isbl","java","javascript","json","julia","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","markdown","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","mojolicious","monkey","moonscript","n1ql","nestedtext","nginx","nim","nix","nsis","objectivec","ocaml","openscad","oxygene","parser3","perl","pf","pgsql","php","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruby","ruleslanguage","rust","sas","scala","scheme","scilab","scss","smali","smalltalk","sml","sqf","sql","stan","stata","step21","stylus","subunit","svelte","hcl","swift","taggerscript","tap","tcl","thrift","tp","twig","typescript","ts","vala","vbnet","vbscript","verilog","vhdl","vim","wasm","wren","x86asm","xl","xml","xquery","yaml","zephir","splitByLineBreaks","content","split","createChunk","rawChunkLines","highlightedChunkLines","startingFrom","join","totalLines","splitIntoChunks","result","splitRawContent","splitHighlightedContent","chunkIndex","Math","floor","highlightedChunk","slice","rawChunk","newlineRegex","generateHLJSTag","scope","includeClose","suffix","_escape","generateCloseTag","format","buffer","newline","children","subChild","_emitter","rootNode","reduce","val","bidiChar","includes","replace","wrapBidiChar","createLink","href","innerText","generateHLJSOpenTag","delimiter","getObjectKeysByKeyName","obj","keyName","acc","Array","subObj","key","prototype","call","attrOpenTag","stringOpenTag","DEPENDENCY_REGEX","RegExp","openTagRegex","GITHUB_REPO_REGEX","GITLAB_REPO_REGEX","GITLAB_NESTED_REPO_REGEX","importPathString","replaceRepoPath","dependency","regex","repoPath","_","repo","path","regexConfigs","matcher","resolver","dep","handleReplace","linkHref","regexConfig","find","config","match","getLinkHref","link","beginString","endString","DEPENDENCY_LINKERS","package_json","raw","dependencies","devDependencies","peerDependencies","optionalDependencies","JSON","parse","dependenciesToLink","original","packageName","version","unescapedPackageName","_unescape","unescapedVersion","packageLink","versionLink","closeAndOpenTag","dependencyToLink","gemspec","method","closeTag","rest","godeps_json","gemfile","podspec_json","composer_json","rawParsed","require","go_sum","packagePath","tag","lowercasePath","tagHref","index","number","wrapLine","highlightPlugins","fileType","shouldWrapLines","wrapChildNodes","wrapBidiChars","e","linkDependencies","wrapLines","plugin","addPlugin"],"mappings":"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","file":"144.95710b05.chunk.js","sourcesContent":["import hljsCore from 'highlight.js/lib/core';\nimport languageLoader from '~/content_editor/services/highlight_js_language_loader';\nimport { ROUGE_TO_HLJS_LANGUAGE_MAP } from '~/vue_shared/components/source_viewer/constants';\nimport { registerPlugins } from './plugins/index';\n\nconst loadLanguage = async (language, hljs) => {\n const languageDefinition = await languageLoader[language]();\n hljs.registerLanguage(language, languageDefinition.default);\n};\n\nconst loadSubLanguages = async (languageDefinition, hljs) => {\n // Some files can contain sub-languages (i.e., Svelte); this ensures that sub-languages are also loaded\n if (!languageDefinition?.contains) return;\n\n // generate list of languages to load\n const languages = new Set(\n languageDefinition.contains\n .filter((component) => Boolean(component.subLanguage))\n .map((component) => component.subLanguage),\n );\n\n if (languageDefinition.subLanguage) {\n languages.add(languageDefinition.subLanguage);\n }\n\n await Promise.all([...languages].map((language) => loadLanguage(language, hljs)));\n};\n\nconst registerLanguage = async (hljs, language) => {\n await loadLanguage(language, hljs);\n await loadSubLanguages(hljs.getLanguage(language), hljs);\n};\n\nconst initHighlightJs = async (language, plugins) => {\n const hljs = hljsCore.newInstance();\n\n registerPlugins(hljs, plugins);\n await registerLanguage(hljs, language);\n\n return hljs;\n};\n\nconst highlightContent = async (lang, rawContent, plugins) => {\n const language = ROUGE_TO_HLJS_LANGUAGE_MAP[lang.toLowerCase()];\n let highlightedContent;\n\n if (language) {\n const hljs = await initHighlightJs(language, plugins);\n highlightedContent = hljs.highlight(rawContent, { language }).value;\n }\n\n return highlightedContent;\n};\n\nexport { highlightContent };\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"code-block rounded code\",class:_vm.$options.userColorScheme,style:(_vm.styleObject)},[_vm._t(\"default\",function(){return [_c('code',{staticClass:\"gl-block\"},[_vm._v(_vm._s(_vm.code))])]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code_block.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code_block.vue?vue&type=script&lang=js\"","\n\n {{ code }}
\n\n","import { render, staticRenderFns } from \"./code_block.vue?vue&type=template&id=441e6620\"\nimport script from \"./code_block.vue?vue&type=script&lang=js\"\nexport * from \"./code_block.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import languageLoader from '~/content_editor/services/highlight_js_language_loader';\n// Language map from Rouge::Lexer to highlight.js\n// Rouge::Lexer - We use it on the BE to determine the language of a source file (https://github.com/rouge-ruby/rouge/blob/master/docs/Languages.md).\n// Highlight.js - We use it on the FE to highlight the syntax of a source file (https://github.com/highlightjs/highlight.js/tree/main/src/languages).\nexport const ROUGE_TO_HLJS_LANGUAGE_MAP = {\n ...Object.fromEntries(Object.keys(languageLoader).map((lang) => [lang, lang])),\n // Override with special mappings\n bsl: '1c',\n pascal: 'delphi',\n jinja: 'django',\n docker: 'dockerfile',\n batchfile: 'dos',\n html: 'xml',\n hylang: 'hy',\n tex: 'latex',\n common_lisp: 'lisp',\n hlsl: 'lsl',\n make: 'makefile',\n objective_c: 'objectivec',\n python3: 'python',\n shell: 'sh',\n vb: 'vbnet',\n viml: 'vim',\n};\n\nexport const EVENT_ACTION = 'view_source';\n\nexport const EVENT_LABEL_VIEWER = 'source_viewer';\n\nexport const EVENT_LABEL_FALLBACK = 'legacy_fallback';\n\nexport const LINES_PER_CHUNK = 70;\n\nexport const NEWLINE = '\\n';\n\nexport const BIDI_CHARS = [\n '\\u202A', // Left-to-Right Embedding (Try treating following text as left-to-right)\n '\\u202B', // Right-to-Left Embedding (Try treating following text as right-to-left)\n '\\u202D', // Left-to-Right Override (Force treating following text as left-to-right)\n '\\u202E', // Right-to-Left Override (Force treating following text as right-to-left)\n '\\u2066', // Left-to-Right Isolate (Force treating following text as left-to-right without affecting adjacent text)\n '\\u2067', // Right-to-Left Isolate (Force treating following text as right-to-left without affecting adjacent text)\n '\\u2068', // First Strong Isolate (Force treating following text in direction indicated by the next character)\n '\\u202C', // Pop Directional Formatting (Terminate nearest LRE, RLE, LRO, or RLO)\n '\\u2069', // Pop Directional Isolate (Terminate nearest LRI or RLI)\n '\\u061C', // Arabic Letter Mark (Right-to-left zero-width Arabic character)\n '\\u200F', // Right-to-Left Mark (Right-to-left zero-width character non-Arabic character)\n '\\u200E', // Left-to-Right Mark (Left-to-right zero-width character)\n];\n\nexport const BIDI_CHARS_CLASS_LIST = 'unicode-bidi has-tooltip';\n\nexport const BIDI_CHAR_TOOLTIP = 'Potentially unwanted character detected: Unicode BiDi Control';\n\n/**\n * We fallback to highlighting these languages with Rouge, see the following issues for more detail:\n * Python: https://gitlab.com/gitlab-org/gitlab/-/issues/384375#note_1212752013\n * HAML: https://github.com/highlightjs/highlight.js/issues/3783\n * */\nexport const LEGACY_FALLBACKS = ['python', 'haml'];\n\nexport const CODEOWNERS_FILE_NAME = 'CODEOWNERS';\n\nexport const CODEOWNERS_LANGUAGE = 'codeowners';\n\nexport const SVELTE_LANGUAGE = 'svelte';\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"getBlobInfo\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filePath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ref\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"refType\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"RefType\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"shouldFetchRawText\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"repository\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"empty\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blobs\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"paths\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filePath\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ref\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ref\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"refType\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"refType\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rawSize\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rawTextBlob\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"shouldFetchRawText\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blamePath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editBlobPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gitpodBlobUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ideEditPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forkAndEditPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ideForkAndEditPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"codeNavigationPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectBlobPathRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forkAndViewPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"environmentFormattedExternalUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"environmentExternalUrlForRouteMap\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canModifyBlob\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canModifyBlobWithWebIde\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canCurrentUserPushToBranch\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"archived\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"storedExternally\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"externalStorage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"externalStorageUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rawPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"replacePath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pipelineEditorPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"simpleViewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tooLarge\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"renderError\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"richViewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tooLarge\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"renderError\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1393}};\n doc.loc.source = {\"body\":\"query getBlobInfo(\\n $projectPath: ID!\\n $filePath: [String!]!\\n $ref: String!\\n $refType: RefType\\n $shouldFetchRawText: Boolean!\\n) {\\n project(fullPath: $projectPath) {\\n __typename\\n id\\n repository {\\n __typename\\n empty\\n blobs(paths: $filePath, ref: $ref, refType: $refType) {\\n __typename\\n nodes {\\n __typename\\n id\\n webPath\\n name\\n size\\n rawSize\\n rawTextBlob @include(if: $shouldFetchRawText)\\n fileType\\n language\\n path\\n blamePath\\n editBlobPath\\n gitpodBlobUrl\\n ideEditPath\\n forkAndEditPath\\n ideForkAndEditPath\\n codeNavigationPath\\n projectBlobPathRoot\\n forkAndViewPath\\n environmentFormattedExternalUrl\\n environmentExternalUrlForRouteMap\\n canModifyBlob\\n canModifyBlobWithWebIde\\n canCurrentUserPushToBranch\\n archived\\n storedExternally\\n externalStorage\\n externalStorageUrl\\n rawPath\\n replacePath\\n pipelineEditorPath\\n simpleViewer {\\n fileType\\n tooLarge\\n type\\n renderError\\n }\\n richViewer {\\n fileType\\n tooLarge\\n type\\n renderError\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"getBlobInfo\"] = oneQuery(doc, \"getBlobInfo\");\n \n","/**\n * This file is generated based on the contents of highlight.js/lib/languages to avoid\n * utilizing dynamic expressions within `import()` which were the source of some\n * confusion when attempting to produce deterministic webpack compilations across\n * multiple build environments.\n *\n * This list of highlight-able languages will need to be updated as new options are\n * introduced within the highlight.js dependency.\n */\n\nexport default {\n '1c': () => import(/* webpackChunkName: 'hl-1c' */ 'highlight.js/lib/languages/1c'),\n abnf: () => import(/* webpackChunkName: 'hl-abnf' */ 'highlight.js/lib/languages/abnf'),\n accesslog: () =>\n import(/* webpackChunkName: 'hl-accesslog' */ 'highlight.js/lib/languages/accesslog'),\n actionscript: () =>\n import(/* webpackChunkName: 'hl-actionscript' */ 'highlight.js/lib/languages/actionscript'),\n ada: () => import(/* webpackChunkName: 'hl-ada' */ 'highlight.js/lib/languages/ada'),\n angelscript: () =>\n import(/* webpackChunkName: 'hl-angelscript' */ 'highlight.js/lib/languages/angelscript'),\n apache: () => import(/* webpackChunkName: 'hl-apache' */ 'highlight.js/lib/languages/apache'),\n applescript: () =>\n import(/* webpackChunkName: 'hl-applescript' */ 'highlight.js/lib/languages/applescript'),\n arcade: () => import(/* webpackChunkName: 'hl-arcade' */ 'highlight.js/lib/languages/arcade'),\n arduino: () => import(/* webpackChunkName: 'hl-arduino' */ 'highlight.js/lib/languages/arduino'),\n armasm: () => import(/* webpackChunkName: 'hl-armasm' */ 'highlight.js/lib/languages/armasm'),\n asciidoc: () =>\n import(/* webpackChunkName: 'hl-asciidoc' */ 'highlight.js/lib/languages/asciidoc'),\n aspectj: () => import(/* webpackChunkName: 'hl-aspectj' */ 'highlight.js/lib/languages/aspectj'),\n autohotkey: () =>\n import(/* webpackChunkName: 'hl-autohotkey' */ 'highlight.js/lib/languages/autohotkey'),\n autoit: () => import(/* webpackChunkName: 'hl-autoit' */ 'highlight.js/lib/languages/autoit'),\n avrasm: () => import(/* webpackChunkName: 'hl-avrasm' */ 'highlight.js/lib/languages/avrasm'),\n awk: () => import(/* webpackChunkName: 'hl-awk' */ 'highlight.js/lib/languages/awk'),\n axapta: () => import(/* webpackChunkName: 'hl-axapta' */ 'highlight.js/lib/languages/axapta'),\n bash: () => import(/* webpackChunkName: 'hl-bash' */ 'highlight.js/lib/languages/bash'),\n basic: () => import(/* webpackChunkName: 'hl-basic' */ 'highlight.js/lib/languages/basic'),\n bnf: () => import(/* webpackChunkName: 'hl-bnf' */ 'highlight.js/lib/languages/bnf'),\n brainfuck: () =>\n import(/* webpackChunkName: 'hl-brainfuck' */ 'highlight.js/lib/languages/brainfuck'),\n c: () => import(/* webpackChunkName: 'hl-c' */ 'highlight.js/lib/languages/c'),\n cal: () => import(/* webpackChunkName: 'hl-cal' */ 'highlight.js/lib/languages/cal'),\n capnproto: () =>\n import(/* webpackChunkName: 'hl-capnproto' */ 'highlight.js/lib/languages/capnproto'),\n ceylon: () => import(/* webpackChunkName: 'hl-ceylon' */ 'highlight.js/lib/languages/ceylon'),\n clean: () => import(/* webpackChunkName: 'hl-clean' */ 'highlight.js/lib/languages/clean'),\n 'clojure-repl': () =>\n import(/* webpackChunkName: 'hl-clojure-repl' */ 'highlight.js/lib/languages/clojure-repl'),\n clojure: () => import(/* webpackChunkName: 'hl-clojure' */ 'highlight.js/lib/languages/clojure'),\n codeowners: () =>\n import(\n /* webpackChunkName: 'hl-codeowners' */ '~/vue_shared/components/source_viewer/languages/codeowners'\n ),\n cmake: () => import(/* webpackChunkName: 'hl-cmake' */ 'highlight.js/lib/languages/cmake'),\n coffeescript: () =>\n import(/* webpackChunkName: 'hl-coffeescript' */ 'highlight.js/lib/languages/coffeescript'),\n coq: () => import(/* webpackChunkName: 'hl-coq' */ 'highlight.js/lib/languages/coq'),\n cos: () => import(/* webpackChunkName: 'hl-cos' */ 'highlight.js/lib/languages/cos'),\n cpp: () => import(/* webpackChunkName: 'hl-cpp' */ 'highlight.js/lib/languages/cpp'),\n crmsh: () => import(/* webpackChunkName: 'hl-crmsh' */ 'highlight.js/lib/languages/crmsh'),\n crystal: () => import(/* webpackChunkName: 'hl-crystal' */ 'highlight.js/lib/languages/crystal'),\n csharp: () => import(/* webpackChunkName: 'hl-csharp' */ 'highlight.js/lib/languages/csharp'),\n csp: () => import(/* webpackChunkName: 'hl-csp' */ 'highlight.js/lib/languages/csp'),\n css: () => import(/* webpackChunkName: 'hl-css' */ 'highlight.js/lib/languages/css'),\n d: () => import(/* webpackChunkName: 'hl-d' */ 'highlight.js/lib/languages/d'),\n dart: () => import(/* webpackChunkName: 'hl-dart' */ 'highlight.js/lib/languages/dart'),\n delphi: () => import(/* webpackChunkName: 'hl-delphi' */ 'highlight.js/lib/languages/delphi'),\n diff: () => import(/* webpackChunkName: 'hl-diff' */ 'highlight.js/lib/languages/diff'),\n django: () => import(/* webpackChunkName: 'hl-django' */ 'highlight.js/lib/languages/django'),\n dns: () => import(/* webpackChunkName: 'hl-dns' */ 'highlight.js/lib/languages/dns'),\n dockerfile: () =>\n import(/* webpackChunkName: 'hl-dockerfile' */ 'highlight.js/lib/languages/dockerfile'),\n dos: () => import(/* webpackChunkName: 'hl-dos' */ 'highlight.js/lib/languages/dos'),\n dsconfig: () =>\n import(/* webpackChunkName: 'hl-dsconfig' */ 'highlight.js/lib/languages/dsconfig'),\n dts: () => import(/* webpackChunkName: 'hl-dts' */ 'highlight.js/lib/languages/dts'),\n dust: () => import(/* webpackChunkName: 'hl-dust' */ 'highlight.js/lib/languages/dust'),\n ebnf: () => import(/* webpackChunkName: 'hl-ebnf' */ 'highlight.js/lib/languages/ebnf'),\n elixir: () => import(/* webpackChunkName: 'hl-elixir' */ 'highlight.js/lib/languages/elixir'),\n elm: () => import(/* webpackChunkName: 'hl-elm' */ 'highlight.js/lib/languages/elm'),\n erb: () => import(/* webpackChunkName: 'hl-erb' */ 'highlight.js/lib/languages/erb'),\n 'erlang-repl': () =>\n import(/* webpackChunkName: 'hl-erlang-repl' */ 'highlight.js/lib/languages/erlang-repl'),\n erlang: () => import(/* webpackChunkName: 'hl-erlang' */ 'highlight.js/lib/languages/erlang'),\n excel: () => import(/* webpackChunkName: 'hl-excel' */ 'highlight.js/lib/languages/excel'),\n fix: () => import(/* webpackChunkName: 'hl-fix' */ 'highlight.js/lib/languages/fix'),\n flix: () => import(/* webpackChunkName: 'hl-flix' */ 'highlight.js/lib/languages/flix'),\n fortran: () => import(/* webpackChunkName: 'hl-fortran' */ 'highlight.js/lib/languages/fortran'),\n fsharp: () => import(/* webpackChunkName: 'hl-fsharp' */ 'highlight.js/lib/languages/fsharp'),\n gams: () => import(/* webpackChunkName: 'hl-gams' */ 'highlight.js/lib/languages/gams'),\n gauss: () => import(/* webpackChunkName: 'hl-gauss' */ 'highlight.js/lib/languages/gauss'),\n gcode: () => import(/* webpackChunkName: 'hl-gcode' */ 'highlight.js/lib/languages/gcode'),\n gherkin: () => import(/* webpackChunkName: 'hl-gherkin' */ 'highlight.js/lib/languages/gherkin'),\n glsl: () => import(/* webpackChunkName: 'hl-glsl' */ 'highlight.js/lib/languages/glsl'),\n gml: () => import(/* webpackChunkName: 'hl-gml' */ 'highlight.js/lib/languages/gml'),\n go: () => import(/* webpackChunkName: 'hl-go' */ 'highlight.js/lib/languages/go'),\n golo: () => import(/* webpackChunkName: 'hl-golo' */ 'highlight.js/lib/languages/golo'),\n gradle: () => import(/* webpackChunkName: 'hl-gradle' */ 'highlight.js/lib/languages/gradle'),\n groovy: () => import(/* webpackChunkName: 'hl-groovy' */ 'highlight.js/lib/languages/groovy'),\n haml: () => import(/* webpackChunkName: 'hl-haml' */ 'highlight.js/lib/languages/haml'),\n handlebars: () =>\n import(/* webpackChunkName: 'hl-handlebars' */ 'highlight.js/lib/languages/handlebars'),\n haskell: () => import(/* webpackChunkName: 'hl-haskell' */ 'highlight.js/lib/languages/haskell'),\n haxe: () => import(/* webpackChunkName: 'hl-haxe' */ 'highlight.js/lib/languages/haxe'),\n hsp: () => import(/* webpackChunkName: 'hl-hsp' */ 'highlight.js/lib/languages/hsp'),\n http: () => import(/* webpackChunkName: 'hl-http' */ 'highlight.js/lib/languages/http'),\n hy: () => import(/* webpackChunkName: 'hl-hy' */ 'highlight.js/lib/languages/hy'),\n inform7: () => import(/* webpackChunkName: 'hl-inform7' */ 'highlight.js/lib/languages/inform7'),\n ini: () => import(/* webpackChunkName: 'hl-ini' */ 'highlight.js/lib/languages/ini'),\n irpf90: () => import(/* webpackChunkName: 'hl-irpf90' */ 'highlight.js/lib/languages/irpf90'),\n isbl: () => import(/* webpackChunkName: 'hl-isbl' */ 'highlight.js/lib/languages/isbl'),\n java: () => import(/* webpackChunkName: 'hl-java' */ 'highlight.js/lib/languages/java'),\n javascript: () =>\n import(/* webpackChunkName: 'hl-javascript' */ 'highlight.js/lib/languages/javascript'),\n 'jboss-cli': () =>\n import(/* webpackChunkName: 'hl-jboss-cli' */ 'highlight.js/lib/languages/jboss-cli'),\n json: () => import(/* webpackChunkName: 'hl-json' */ 'highlight.js/lib/languages/json'),\n 'julia-repl': () =>\n import(/* webpackChunkName: 'hl-julia-repl' */ 'highlight.js/lib/languages/julia-repl'),\n julia: () => import(/* webpackChunkName: 'hl-julia' */ 'highlight.js/lib/languages/julia'),\n kotlin: () => import(/* webpackChunkName: 'hl-kotlin' */ 'highlight.js/lib/languages/kotlin'),\n lasso: () => import(/* webpackChunkName: 'hl-lasso' */ 'highlight.js/lib/languages/lasso'),\n latex: () => import(/* webpackChunkName: 'hl-latex' */ 'highlight.js/lib/languages/latex'),\n ldif: () => import(/* webpackChunkName: 'hl-ldif' */ 'highlight.js/lib/languages/ldif'),\n leaf: () => import(/* webpackChunkName: 'hl-leaf' */ 'highlight.js/lib/languages/leaf'),\n less: () => import(/* webpackChunkName: 'hl-less' */ 'highlight.js/lib/languages/less'),\n lisp: () => import(/* webpackChunkName: 'hl-lisp' */ 'highlight.js/lib/languages/lisp'),\n livecodeserver: () =>\n import(/* webpackChunkName: 'hl-livecodeserver' */ 'highlight.js/lib/languages/livecodeserver'),\n livescript: () =>\n import(/* webpackChunkName: 'hl-livescript' */ 'highlight.js/lib/languages/livescript'),\n llvm: () => import(/* webpackChunkName: 'hl-llvm' */ 'highlight.js/lib/languages/llvm'),\n lsl: () => import(/* webpackChunkName: 'hl-lsl' */ 'highlight.js/lib/languages/lsl'),\n lua: () => import(/* webpackChunkName: 'hl-lua' */ 'highlight.js/lib/languages/lua'),\n makefile: () =>\n import(/* webpackChunkName: 'hl-makefile' */ 'highlight.js/lib/languages/makefile'),\n markdown: () =>\n import(/* webpackChunkName: 'hl-markdown' */ 'highlight.js/lib/languages/markdown'),\n mathematica: () =>\n import(/* webpackChunkName: 'hl-mathematica' */ 'highlight.js/lib/languages/mathematica'),\n matlab: () => import(/* webpackChunkName: 'hl-matlab' */ 'highlight.js/lib/languages/matlab'),\n maxima: () => import(/* webpackChunkName: 'hl-maxima' */ 'highlight.js/lib/languages/maxima'),\n mel: () => import(/* webpackChunkName: 'hl-mel' */ 'highlight.js/lib/languages/mel'),\n mercury: () => import(/* webpackChunkName: 'hl-mercury' */ 'highlight.js/lib/languages/mercury'),\n mipsasm: () => import(/* webpackChunkName: 'hl-mipsasm' */ 'highlight.js/lib/languages/mipsasm'),\n mizar: () => import(/* webpackChunkName: 'hl-mizar' */ 'highlight.js/lib/languages/mizar'),\n mojolicious: () =>\n import(/* webpackChunkName: 'hl-mojolicious' */ 'highlight.js/lib/languages/mojolicious'),\n monkey: () => import(/* webpackChunkName: 'hl-monkey' */ 'highlight.js/lib/languages/monkey'),\n moonscript: () =>\n import(/* webpackChunkName: 'hl-moonscript' */ 'highlight.js/lib/languages/moonscript'),\n n1ql: () => import(/* webpackChunkName: 'hl-n1ql' */ 'highlight.js/lib/languages/n1ql'),\n nestedtext: () =>\n import(/* webpackChunkName: 'hl-nestedtext' */ 'highlight.js/lib/languages/nestedtext'),\n nginx: () => import(/* webpackChunkName: 'hl-nginx' */ 'highlight.js/lib/languages/nginx'),\n nim: () => import(/* webpackChunkName: 'hl-nim' */ 'highlight.js/lib/languages/nim'),\n nix: () => import(/* webpackChunkName: 'hl-nix' */ 'highlight.js/lib/languages/nix'),\n 'node-repl': () =>\n import(/* webpackChunkName: 'hl-node-repl' */ 'highlight.js/lib/languages/node-repl'),\n nsis: () => import(/* webpackChunkName: 'hl-nsis' */ 'highlight.js/lib/languages/nsis'),\n objectivec: () =>\n import(/* webpackChunkName: 'hl-objectivec' */ 'highlight.js/lib/languages/objectivec'),\n ocaml: () => import(/* webpackChunkName: 'hl-ocaml' */ 'highlight.js/lib/languages/ocaml'),\n openscad: () =>\n import(/* webpackChunkName: 'hl-openscad' */ 'highlight.js/lib/languages/openscad'),\n oxygene: () => import(/* webpackChunkName: 'hl-oxygene' */ 'highlight.js/lib/languages/oxygene'),\n parser3: () => import(/* webpackChunkName: 'hl-parser3' */ 'highlight.js/lib/languages/parser3'),\n perl: () => import(/* webpackChunkName: 'hl-perl' */ 'highlight.js/lib/languages/perl'),\n pf: () => import(/* webpackChunkName: 'hl-pf' */ 'highlight.js/lib/languages/pf'),\n pgsql: () => import(/* webpackChunkName: 'hl-pgsql' */ 'highlight.js/lib/languages/pgsql'),\n 'php-template': () =>\n import(/* webpackChunkName: 'hl-php-template' */ 'highlight.js/lib/languages/php-template'),\n php: () => import(/* webpackChunkName: 'hl-php' */ 'highlight.js/lib/languages/php'),\n plaintext: () =>\n import(/* webpackChunkName: 'hl-plaintext' */ 'highlight.js/lib/languages/plaintext'),\n pony: () => import(/* webpackChunkName: 'hl-pony' */ 'highlight.js/lib/languages/pony'),\n powershell: () =>\n import(/* webpackChunkName: 'hl-powershell' */ 'highlight.js/lib/languages/powershell'),\n processing: () =>\n import(/* webpackChunkName: 'hl-processing' */ 'highlight.js/lib/languages/processing'),\n profile: () => import(/* webpackChunkName: 'hl-profile' */ 'highlight.js/lib/languages/profile'),\n prolog: () => import(/* webpackChunkName: 'hl-prolog' */ 'highlight.js/lib/languages/prolog'),\n properties: () =>\n import(/* webpackChunkName: 'hl-properties' */ 'highlight.js/lib/languages/properties'),\n protobuf: () =>\n import(/* webpackChunkName: 'hl-protobuf' */ 'highlight.js/lib/languages/protobuf'),\n puppet: () => import(/* webpackChunkName: 'hl-puppet' */ 'highlight.js/lib/languages/puppet'),\n purebasic: () =>\n import(/* webpackChunkName: 'hl-purebasic' */ 'highlight.js/lib/languages/purebasic'),\n 'python-repl': () =>\n import(/* webpackChunkName: 'hl-python-repl' */ 'highlight.js/lib/languages/python-repl'),\n python: () => import(/* webpackChunkName: 'hl-python' */ 'highlight.js/lib/languages/python'),\n q: () => import(/* webpackChunkName: 'hl-q' */ 'highlight.js/lib/languages/q'),\n qml: () => import(/* webpackChunkName: 'hl-qml' */ 'highlight.js/lib/languages/qml'),\n r: () => import(/* webpackChunkName: 'hl-r' */ 'highlight.js/lib/languages/r'),\n reasonml: () =>\n import(/* webpackChunkName: 'hl-reasonml' */ 'highlight.js/lib/languages/reasonml'),\n rib: () => import(/* webpackChunkName: 'hl-rib' */ 'highlight.js/lib/languages/rib'),\n roboconf: () =>\n import(/* webpackChunkName: 'hl-roboconf' */ 'highlight.js/lib/languages/roboconf'),\n routeros: () =>\n import(/* webpackChunkName: 'hl-routeros' */ 'highlight.js/lib/languages/routeros'),\n rsl: () => import(/* webpackChunkName: 'hl-rsl' */ 'highlight.js/lib/languages/rsl'),\n ruby: () => import(/* webpackChunkName: 'hl-ruby' */ 'highlight.js/lib/languages/ruby'),\n ruleslanguage: () =>\n import(/* webpackChunkName: 'hl-ruleslanguage' */ 'highlight.js/lib/languages/ruleslanguage'),\n rust: () => import(/* webpackChunkName: 'hl-rust' */ 'highlight.js/lib/languages/rust'),\n sas: () => import(/* webpackChunkName: 'hl-sas' */ 'highlight.js/lib/languages/sas'),\n scala: () => import(/* webpackChunkName: 'hl-scala' */ 'highlight.js/lib/languages/scala'),\n scheme: () => import(/* webpackChunkName: 'hl-scheme' */ 'highlight.js/lib/languages/scheme'),\n scilab: () => import(/* webpackChunkName: 'hl-scilab' */ 'highlight.js/lib/languages/scilab'),\n scss: () => import(/* webpackChunkName: 'hl-scss' */ 'highlight.js/lib/languages/scss'),\n shell: () => import(/* webpackChunkName: 'hl-shell' */ 'highlight.js/lib/languages/shell'),\n smali: () => import(/* webpackChunkName: 'hl-smali' */ 'highlight.js/lib/languages/smali'),\n smalltalk: () =>\n import(/* webpackChunkName: 'hl-smalltalk' */ 'highlight.js/lib/languages/smalltalk'),\n sml: () => import(/* webpackChunkName: 'hl-sml' */ 'highlight.js/lib/languages/sml'),\n sqf: () => import(/* webpackChunkName: 'hl-sqf' */ 'highlight.js/lib/languages/sqf'),\n sql: () => import(/* webpackChunkName: 'hl-sql' */ 'highlight.js/lib/languages/sql'),\n stan: () => import(/* webpackChunkName: 'hl-stan' */ 'highlight.js/lib/languages/stan'),\n stata: () => import(/* webpackChunkName: 'hl-stata' */ 'highlight.js/lib/languages/stata'),\n step21: () => import(/* webpackChunkName: 'hl-step21' */ 'highlight.js/lib/languages/step21'),\n stylus: () => import(/* webpackChunkName: 'hl-stylus' */ 'highlight.js/lib/languages/stylus'),\n subunit: () => import(/* webpackChunkName: 'hl-subunit' */ 'highlight.js/lib/languages/subunit'),\n svelte: () =>\n import(\n /* webpackChunkName: 'hl-svelte' */ '~/vue_shared/components/source_viewer/languages/svelte'\n ),\n hcl: () =>\n import(\n /* webpackChunkName: 'hl-hcl' */ '~/packages_and_registries/infrastructure_registry/languages/hcl'\n ),\n swift: () => import(/* webpackChunkName: 'hl-swift' */ 'highlight.js/lib/languages/swift'),\n taggerscript: () =>\n import(/* webpackChunkName: 'hl-taggerscript' */ 'highlight.js/lib/languages/taggerscript'),\n tap: () => import(/* webpackChunkName: 'hl-tap' */ 'highlight.js/lib/languages/tap'),\n tcl: () => import(/* webpackChunkName: 'hl-tcl' */ 'highlight.js/lib/languages/tcl'),\n thrift: () => import(/* webpackChunkName: 'hl-thrift' */ 'highlight.js/lib/languages/thrift'),\n tp: () => import(/* webpackChunkName: 'hl-tp' */ 'highlight.js/lib/languages/tp'),\n twig: () => import(/* webpackChunkName: 'hl-twig' */ 'highlight.js/lib/languages/twig'),\n typescript: () =>\n import(/* webpackChunkName: 'hl-typescript' */ 'highlight.js/lib/languages/typescript'),\n ts: () => import(/* webpackChunkName: 'hl-typescript' */ 'highlight.js/lib/languages/typescript'),\n vala: () => import(/* webpackChunkName: 'hl-vala' */ 'highlight.js/lib/languages/vala'),\n vbnet: () => import(/* webpackChunkName: 'hl-vbnet' */ 'highlight.js/lib/languages/vbnet'),\n 'vbscript-html': () =>\n import(/* webpackChunkName: 'hl-vbscript-html' */ 'highlight.js/lib/languages/vbscript-html'),\n vbscript: () =>\n import(/* webpackChunkName: 'hl-vbscript' */ 'highlight.js/lib/languages/vbscript'),\n verilog: () => import(/* webpackChunkName: 'hl-verilog' */ 'highlight.js/lib/languages/verilog'),\n vhdl: () => import(/* webpackChunkName: 'hl-vhdl' */ 'highlight.js/lib/languages/vhdl'),\n vim: () => import(/* webpackChunkName: 'hl-vim' */ 'highlight.js/lib/languages/vim'),\n wasm: () => import(/* webpackChunkName: 'hl-wasm' */ 'highlight.js/lib/languages/wasm'),\n wren: () => import(/* webpackChunkName: 'hl-wren' */ 'highlight.js/lib/languages/wren'),\n x86asm: () => import(/* webpackChunkName: 'hl-x86asm' */ 'highlight.js/lib/languages/x86asm'),\n xl: () => import(/* webpackChunkName: 'hl-xl' */ 'highlight.js/lib/languages/xl'),\n xml: () => import(/* webpackChunkName: 'hl-xml' */ 'highlight.js/lib/languages/xml'),\n xquery: () => import(/* webpackChunkName: 'hl-xquery' */ 'highlight.js/lib/languages/xquery'),\n yaml: () => import(/* webpackChunkName: 'hl-yaml' */ 'highlight.js/lib/languages/yaml'),\n zephir: () => import(/* webpackChunkName: 'hl-zephir' */ 'highlight.js/lib/languages/zephir'),\n};\n","import { highlightPlugins } from '~/highlight_js/plugins';\nimport { highlightContent } from '~/highlight_js';\nimport { LINES_PER_CHUNK, NEWLINE, ROUGE_TO_HLJS_LANGUAGE_MAP } from '../constants';\n\nexport const splitByLineBreaks = (content = '') => content.split(/\\r?\\n/);\n\n// eslint-disable-next-line max-params\nconst createChunk = (language, rawChunkLines, highlightedChunkLines = [], startingFrom = 0) => ({\n highlightedContent: highlightedChunkLines.join(NEWLINE),\n rawContent: rawChunkLines.join(NEWLINE),\n totalLines: rawChunkLines.length,\n startingFrom,\n language,\n});\n\nconst splitIntoChunks = (language, rawContent, highlightedContent) => {\n const result = [];\n const splitRawContent = splitByLineBreaks(rawContent);\n const splitHighlightedContent = splitByLineBreaks(highlightedContent);\n\n for (let i = 0; i < splitRawContent.length; i += LINES_PER_CHUNK) {\n const chunkIndex = Math.floor(i / LINES_PER_CHUNK);\n const highlightedChunk = splitHighlightedContent.slice(i, i + LINES_PER_CHUNK);\n const rawChunk = splitRawContent.slice(i, i + LINES_PER_CHUNK);\n result[chunkIndex] = createChunk(language, rawChunk, highlightedChunk, i);\n }\n\n return result;\n};\n\nconst highlight = async (fileType, rawContent, lang) => {\n const language = ROUGE_TO_HLJS_LANGUAGE_MAP[lang.toLowerCase()];\n let highlightedChunks;\n\n if (language) {\n const plugins = highlightPlugins(fileType, rawContent, true);\n const highlightedContent = await highlightContent(lang, rawContent, plugins);\n highlightedChunks = splitIntoChunks(language, rawContent, highlightedContent);\n }\n\n return highlightedChunks;\n};\n\nexport { highlight, splitIntoChunks };\n","import { escape } from 'lodash';\n\n/**\n * Highlight.js plugin for wrapping nodes with the correct selectors to ensure\n * child-elements are highlighted correctly after we split up the result into chunks and lines.\n *\n * Plugin API: https://github.com/highlightjs/highlight.js/blob/main/docs/plugin-api.rst\n *\n * @param {Object} Result - an object that represents the highlighted result from Highlight.js\n */\nconst newlineRegex = /\\r?\\n/;\nconst generateClassName = (suffix) => (suffix ? `hljs-${escape(suffix)}` : '');\nconst generateCloseTag = (includeClose) => (includeClose ? '' : '');\nconst generateHLJSTag = (scope, content = '', includeClose) =>\n `${escape(content)}${generateCloseTag(includeClose)}`;\n\nconst format = (node, scope = '') => {\n let buffer = '';\n\n if (typeof node === 'string') {\n buffer += node\n .split(newlineRegex)\n .map((newline) => generateHLJSTag(scope, newline, true))\n .join('\\n');\n } else if (node.children) {\n const { children } = node;\n if (children.length && children.length === 1) {\n buffer += format(children[0], node.scope);\n } else {\n buffer += generateHLJSTag(node.scope);\n children.forEach((subChild) => {\n buffer += format(subChild, node.scope);\n });\n buffer += ``;\n }\n }\n\n return buffer;\n};\n\nexport default (result) => {\n // NOTE: We're using the private Emitter API here as we expect the Emitter API to be publicly available soon (https://github.com/highlightjs/highlight.js/issues/3621)\n // eslint-disable-next-line no-param-reassign, no-underscore-dangle\n result.value = result._emitter.rootNode.children.reduce((val, node) => val + format(node), ''); // Highlight.js expects the result param to be mutated for plugins to work\n};\n","import {\n BIDI_CHARS,\n BIDI_CHARS_CLASS_LIST,\n BIDI_CHAR_TOOLTIP,\n} from '~/vue_shared/components/source_viewer/constants';\n\n/**\n * Highlight.js plugin for wrapping BIDI chars.\n * This ensures potentially dangerous BIDI characters are highlighted.\n *\n * Plugin API: https://github.com/highlightjs/highlight.js/blob/main/docs/plugin-api.rst\n *\n * @param {Object} Result - an object that represents the highlighted result from Highlight.js\n */\n\nfunction wrapBidiChar(bidiChar) {\n return `${bidiChar}`;\n}\n\nexport default (result) => {\n let { value } = result;\n BIDI_CHARS.forEach((bidiChar) => {\n if (value.includes(bidiChar)) {\n value = value.replace(bidiChar, wrapBidiChar(bidiChar));\n }\n });\n\n // eslint-disable-next-line no-param-reassign\n result.value = value; // Highlight.js expects the result param to be mutated for plugins to work\n};\n","import { escape } from 'lodash';\n\nexport const createLink = (href, innerText) =>\n `${escape(\n innerText,\n )}`;\n\nexport const generateHLJSOpenTag = (type, delimiter = '"') =>\n `${delimiter}`;\n\nexport const getObjectKeysByKeyName = (obj, keyName, acc) => {\n if (obj instanceof Array) {\n obj.map((subObj) => getObjectKeysByKeyName(subObj, keyName, acc));\n } else {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (key === keyName) {\n acc.push(...Object.keys(obj[key]));\n }\n if (obj[key] instanceof Object || obj[key] instanceof Array) {\n getObjectKeysByKeyName(obj[key], keyName, acc);\n }\n }\n }\n }\n return acc;\n};\n","import { unescape } from 'lodash';\nimport { createLink, generateHLJSOpenTag } from './dependency_linker_util';\n\nconst NPM_URL = 'https://npmjs.com/package/';\nconst attrOpenTag = generateHLJSOpenTag('attr');\nconst stringOpenTag = generateHLJSOpenTag('string');\nconst closeTag = '"';\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects dependencies inside of content that is highlighted by Highlight.js\n * Example: "@babel/core": "^7.18.5"\n * Group 1: @babel/core\n * Group 2: ^7.18.5\n */\n `${attrOpenTag}(.*)${closeTag}.*${stringOpenTag}(.*[0-9].*)(${closeTag})`,\n 'gm',\n);\n\n// eslint-disable-next-line max-params\nconst handleReplace = (original, packageName, version, dependenciesToLink) => {\n const unescapedPackageName = unescape(packageName);\n const unescapedVersion = unescape(version);\n const href = `${NPM_URL}${unescapedPackageName}`;\n const packageLink = createLink(href, unescapedPackageName);\n const versionLink = createLink(href, unescapedVersion);\n const closeAndOpenTag = `${closeTag}: ${attrOpenTag}`;\n const dependencyToLink = dependenciesToLink[unescapedPackageName];\n\n if (dependencyToLink && dependencyToLink === unescapedVersion) {\n return `${attrOpenTag}${packageLink}${closeAndOpenTag}${versionLink}${closeTag}`;\n }\n\n return original;\n};\n\nexport default (result, raw) => {\n const { dependencies, devDependencies, peerDependencies, optionalDependencies } = JSON.parse(raw);\n\n const dependenciesToLink = {\n ...dependencies,\n ...devDependencies,\n ...peerDependencies,\n ...optionalDependencies,\n };\n\n return result.value.replace(DEPENDENCY_REGEX, (original, packageName, version) =>\n handleReplace(original, packageName, version, dependenciesToLink),\n );\n};\n","import { createLink, generateHLJSOpenTag } from './dependency_linker_util';\n\nconst GEM_URL = 'https://rubygems.org/gems/';\nconst methodRegex = '.*add_dependency.*|.*add_runtime_dependency.*|.*add_development_dependency.*';\nconst openTagRegex = generateHLJSOpenTag('string', '(&.*;)');\nconst closeTagRegex = '&.*';\n\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects gemspec dependencies inside of content that is highlighted by Highlight.js\n * Example: s.add_dependency('rugged', '~> 0.24.0')\n *\n * Group 1 (method) : s.add_dependency(\n * Group 2 (delimiter) : '\n * Group 3 (packageName): rugged\n * Group 4 (closeTag) : '\n * Group 5 (rest) : \t, '~> 0.24.0')\n */\n `(${methodRegex})${openTagRegex}(.*)(${closeTagRegex})(.*${closeTagRegex})`,\n 'gm',\n);\n\n// eslint-disable-next-line max-params\nconst handleReplace = (method, delimiter, packageName, closeTag, rest) => {\n // eslint-disable-next-line @gitlab/require-i18n-strings\n const openTag = generateHLJSOpenTag('string linked', delimiter);\n const href = `${GEM_URL}${packageName}`;\n const packageLink = createLink(href, packageName);\n\n return `${method}${openTag}${packageLink}${closeTag}${rest}`;\n};\n\nexport default (result) => {\n return result.value.replace(\n DEPENDENCY_REGEX,\n // eslint-disable-next-line max-params\n (_, method, delimiter, packageName, closeTag, rest) =>\n handleReplace(method, delimiter, packageName, closeTag, rest),\n );\n};\n","import { createLink, generateHLJSOpenTag } from './dependency_linker_util';\n\nconst PROTOCOL = 'https://';\nconst GODOCS_DOMAIN = 'godoc.org/';\nconst REPO_PATH = '/tree/master/';\nconst GODOCS_REGEX = /golang.org/;\nconst GITLAB_REPO_PATH = `/_${REPO_PATH}`;\nconst REPO_REGEX = `[^/'\"]+/[^/'\"]+`;\nconst NESTED_REPO_REGEX = '([^/]+/)+[^/]+?';\nconst GITHUB_REPO_REGEX = new RegExp(`(github.com/${REPO_REGEX})/(.+)`);\nconst GITLAB_REPO_REGEX = new RegExp(`(gitlab.com/${REPO_REGEX})/(.+)`);\nconst GITLAB_NESTED_REPO_REGEX = new RegExp(`(gitlab.com/${NESTED_REPO_REGEX}).git/(.+)`);\nconst attrOpenTag = generateHLJSOpenTag('attr');\nconst stringOpenTag = generateHLJSOpenTag('string');\nconst closeTag = '"';\nconst importPathString =\n 'ImportPath": ';\n\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects dependencies inside of content that is highlighted by Highlight.js\n * Example: "ImportPath": "github.com/ayufan/golang-kardianos-service"\n * Group 1: github.com/ayufan/golang-kardianos-service\n */\n `${importPathString}${stringOpenTag}(.*)${closeTag}`,\n 'gm',\n);\n\nconst replaceRepoPath = (dependency, regex, repoPath) =>\n dependency.replace(regex, (_, repo, path) => `${PROTOCOL}${repo}${repoPath}${path}`);\n\nconst regexConfigs = [\n {\n matcher: GITHUB_REPO_REGEX,\n resolver: (dep) => replaceRepoPath(dep, GITHUB_REPO_REGEX, REPO_PATH),\n },\n {\n matcher: GITLAB_REPO_REGEX,\n resolver: (dep) => replaceRepoPath(dep, GITLAB_REPO_REGEX, GITLAB_REPO_PATH),\n },\n {\n matcher: GITLAB_NESTED_REPO_REGEX,\n resolver: (dep) => replaceRepoPath(dep, GITLAB_NESTED_REPO_REGEX, GITLAB_REPO_PATH),\n },\n {\n matcher: GODOCS_REGEX,\n resolver: (dep) => `${PROTOCOL}${GODOCS_DOMAIN}${dep}`,\n },\n];\n\nconst getLinkHref = (dependency) => {\n const regexConfig = regexConfigs.find((config) => dependency.match(config.matcher));\n return regexConfig ? regexConfig.resolver(dependency) : `${PROTOCOL}${dependency}`;\n};\n\nconst handleReplace = (dependency) => {\n const linkHref = getLinkHref(dependency);\n const link = createLink(linkHref, dependency);\n return `${importPathString}${attrOpenTag}${link}${closeTag}`;\n};\n\nexport default (result) => {\n return result.value.replace(DEPENDENCY_REGEX, (_, dependency) => handleReplace(dependency));\n};\n","import { createLink, generateHLJSOpenTag } from './dependency_linker_util';\n\nconst GEM_URL = 'https://rubygems.org/gems/';\nconst GEM_STRING = 'gem ';\nconst delimiter = ''';\nconst stringOpenTag = generateHLJSOpenTag('string', delimiter);\n\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects dependencies inside of content that is highlighted by Highlight.js\n * Example: 'gem 'paranoia''\n * Group 1 (packageName) : 'paranoia'\n */\n `${GEM_STRING}${stringOpenTag}(.+?(?=${delimiter}))`,\n 'gm',\n);\n\nconst handleReplace = (packageName) => {\n const href = `${GEM_URL}${packageName}`;\n const packageLink = createLink(href, packageName);\n return `${GEM_STRING}${stringOpenTag}${packageLink}`;\n};\nexport default (result) => {\n return result.value.replace(DEPENDENCY_REGEX, (_, packageName) => handleReplace(packageName));\n};\n","import { createLink, generateHLJSOpenTag, getObjectKeysByKeyName } from './dependency_linker_util';\n\nconst COCOAPODS_URL = 'https://cocoapods.org/pods/';\nconst beginString = generateHLJSOpenTag('attr');\nconst endString =\n '": \\\\[';\n\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects dependencies inside of content that is highlighted by Highlight.js\n * Example: "AFNetworking/Security": [\n * Group 1: AFNetworking/Serialization\n */\n `${beginString}([^/]+/?[^/]+.)${endString}`,\n 'gm',\n);\n\nconst handleReplace = (original, dependency, dependenciesToLink) => {\n if (dependenciesToLink.includes(dependency)) {\n const href = `${COCOAPODS_URL}${dependency.split('/')[0]}`;\n const link = createLink(href, dependency);\n return `${beginString}${link}${endString.replace('\\\\', '')}`;\n }\n return original;\n};\n\nexport default (result, raw) => {\n const dependenciesToLink = getObjectKeysByKeyName(JSON.parse(raw), 'dependencies', []);\n return result.value.replace(DEPENDENCY_REGEX, (original, dependency) =>\n handleReplace(original, dependency, dependenciesToLink),\n );\n};\n","import { createLink, generateHLJSOpenTag } from './dependency_linker_util';\n\nconst PACKAGIST_URL = 'https://packagist.org/packages/';\nconst DRUPAL_URL = 'https://www.drupal.org/project/';\n\nconst attrOpenTag = generateHLJSOpenTag('attr');\nconst stringOpenTag = generateHLJSOpenTag('string');\nconst closeTag = '"';\nconst DRUPAL_PROJECT_SEPARATOR = 'drupal/';\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects dependencies inside of content that is highlighted by Highlight.js\n * Example: "composer/installers": "^1.2"\n * Group 1: composer/installers\n * Group 2: ^1.2\n */\n `${attrOpenTag}([^/]+/[^/]+.)${closeTag}.*${stringOpenTag}(.*[0-9].*)(${closeTag})`,\n 'gm',\n);\n\n// eslint-disable-next-line max-params\nconst handleReplace = (original, packageName, version, dependenciesToLink) => {\n const isDrupalDependency = packageName.includes(DRUPAL_PROJECT_SEPARATOR);\n const href = isDrupalDependency\n ? `${DRUPAL_URL}${packageName.split(DRUPAL_PROJECT_SEPARATOR)[1]}`\n : `${PACKAGIST_URL}${packageName}`;\n const packageLink = createLink(href, packageName);\n const versionLink = createLink(href, version);\n const closeAndOpenTag = `${closeTag}: ${attrOpenTag}`;\n const dependencyToLink = dependenciesToLink[packageName];\n\n if (dependencyToLink && dependencyToLink === version) {\n return `${attrOpenTag}${packageLink}${closeAndOpenTag}${versionLink}${closeTag}`;\n }\n\n return original;\n};\n\nexport default (result, raw) => {\n const rawParsed = JSON.parse(raw);\n\n const dependenciesToLink = {\n ...rawParsed.require,\n ...rawParsed['require-dev'],\n };\n\n return result.value.replace(DEPENDENCY_REGEX, (original, packageName, version) =>\n handleReplace(original, packageName, version, dependenciesToLink),\n );\n};\n","import { createLink } from './dependency_linker_util';\n\nconst openTag = '';\nconst closeTag = '';\nconst TAG_URL = 'https://sum.golang.org/lookup/';\nconst GO_PACKAGE_URL = 'https://pkg.go.dev/';\n\nconst DEPENDENCY_REGEX = new RegExp(\n /*\n * Detects dependencies inside of content that is highlighted by Highlight.js\n * Example: 'cloud.google.com/Go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o='\n * Group 1 (packagePath): 'cloud.google.com/Go/bigquery'\n * Group 2 (version): 'v1.0.1/go.mod'\n * Group 3 (base64url): 'i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o='\n */\n `${openTag}(.*) (v.*) h1:(.*)${closeTag}`,\n 'gm',\n);\n\nconst handleReplace = (packagePath, version, tag) => {\n const lowercasePath = packagePath.toLowerCase();\n const packageHref = `${GO_PACKAGE_URL}${lowercasePath}`;\n const packageLink = createLink(packageHref, packagePath);\n const tagHref = `${TAG_URL}${lowercasePath}@${version.split('/go.mod')[0]}`;\n const tagLink = createLink(tagHref, tag);\n\n return `${openTag}${packageLink} ${version} h1:${tagLink}${closeTag}`;\n};\n\nexport default (result) => {\n // eslint-disable-next-line max-params\n return result.value.replace(DEPENDENCY_REGEX, (_, packagePath, version, tag) =>\n handleReplace(packagePath, version, tag),\n );\n};\n","import packageJsonLinker from './utils/package_json_linker';\nimport gemspecLinker from './utils/gemspec_linker';\nimport godepsJsonLinker from './utils/godeps_json_linker';\nimport gemfileLinker from './utils/gemfile_linker';\nimport podspecJsonLinker from './utils/podspec_json_linker';\nimport composerJsonLinker from './utils/composer_json_linker';\nimport goSumLinker from './utils/go_sum_linker';\n\nconst DEPENDENCY_LINKERS = {\n package_json: packageJsonLinker,\n gemspec: gemspecLinker,\n godeps_json: godepsJsonLinker,\n gemfile: gemfileLinker,\n podspec_json: podspecJsonLinker,\n composer_json: composerJsonLinker,\n go_sum: goSumLinker,\n};\n\n/**\n * Highlight.js plugin for generating links to dependencies when viewing dependency files.\n *\n * Plugin API: https://github.com/highlightjs/highlight.js/blob/main/docs/plugin-api.rst\n *\n * @param {Object} result - an object that represents the highlighted result from Highlight.js\n * @param {String} fileType - a string containing the file type\n * @param {String} rawContent - raw (non-highlighted) file content\n */\nexport default (result, fileType, rawContent) => {\n if (DEPENDENCY_LINKERS[fileType]) {\n try {\n // eslint-disable-next-line no-param-reassign\n result.value = DEPENDENCY_LINKERS[fileType](result, rawContent);\n } catch (e) {\n // Shallowed (do nothing), in this case the original unlinked dependencies will be rendered.\n }\n }\n};\n","/**\n * Highlight.js plugin for wrapping lines in the correct classes and attributes.\n * Needed for things like hash highlighting to work.\n *\n * Plugin API: https://github.com/highlightjs/highlight.js/blob/main/docs/plugin-api.rst\n *\n * @param content - represents the highlighted content\n * @param number - represents the highlighted line number\n * @param language - represents the highlighted language\n */\n\nfunction wrapLine(content, number, language) {\n return `${content}
`;\n}\n\nexport default (result) => {\n // eslint-disable-next-line no-param-reassign\n result.value = result.value\n .split(/\\r?\\n/)\n .map((content, index) => wrapLine(content, index + 1, result.language))\n .join('\\n');\n};\n","import wrapChildNodes from '~/vue_shared/components/source_viewer/plugins/wrap_child_nodes';\nimport wrapBidiChars from '~/vue_shared/components/source_viewer/plugins/wrap_bidi_chars';\nimport linkDependencies from '~/vue_shared/components/source_viewer/plugins/link_dependencies';\nimport wrapLines from '~/vue_shared/components/source_viewer/plugins/wrap_lines';\n\nconst HLJS_ON_AFTER_HIGHLIGHT = 'after:highlight';\n\n// Registers our plugins for Highlight.js\n// Plugin API: https://github.com/highlightjs/highlight.js/blob/main/docs/plugin-api.rst\nexport const highlightPlugins = (fileType, rawContent, shouldWrapLines) => {\n const plugins = [\n wrapChildNodes,\n wrapBidiChars,\n (result) => linkDependencies(result, fileType, rawContent),\n ];\n if (shouldWrapLines) {\n plugins.push(wrapLines);\n }\n return plugins;\n};\n\nexport const registerPlugins = (hljs, plugins) => {\n if (!plugins) {\n return;\n }\n for (const plugin of plugins) {\n hljs.addPlugin({ [HLJS_ON_AFTER_HIGHLIGHT]: plugin });\n }\n};\n"],"sourceRoot":""}