import{p as n}from"./vendor-lezer-cpp-DwXC8bac.js";import{L as o,c as a,d as r,f as i,e as t,h as p,j as m,k as s}from"./cm-language-CDsY7zq0.js";import"./vendor-lezer-lr-eZ5kYecM.js";import"./vendor-lezer-common-tVQBIsvN.js";import"./vendor-lezer-highlight-DuEf3ZFH.js";import"./cm-state-X9WpHEQO.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./cm-view-CiSFjroV.js";import"./vendor-style-mod-Bs6eFhZE.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";const d=o.define({name:"cpp",parser:n.configure({props:[r.add({IfStatement:t({except:/^\s*({|else\b)/}),TryStatement:t({except:/^\s*({|catch)\b/}),LabeledStatement:m,CaseStatement:e=>e.baseIndent+e.unit,BlockComment:()=>null,CompoundStatement:p({closing:"}"}),Statement:t({except:/^{/})}),i.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":s,BlockComment(e){return{from:e.from+2,to:e.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function C(){return new a(d)}export{C as cpp,d as cppLanguage};
