var e=/({)?[a-zA-Z0-9_]+(})?/;function t(e,t){for(var n,r,i=!1;!e.eol()&&(n=e.next())!=t.pending;){if(n===`$`&&r!=`\\`&&t.pending==`"`){i=!0;break}r=n}return i&&e.backUp(1),n==t.pending?t.continueString=!1:t.continueString=!0,`string`}function n(n,r){var i=n.next();return i===`$`?n.match(e)?`variableName.special`:`variable`:r.continueString?(n.backUp(1),t(n,r)):n.match(/(\s+)?\w+\(/)||n.match(/(\s+)?\w+\ \(/)?(n.backUp(1),`def`):i==`#`?(n.skipToEnd(),`comment`):i==`'`||i==`"`?(r.pending=i,t(n,r)):i==`(`||i==`)`?`bracket`:i.match(/[0-9]/)?`number`:(n.eatWhile(/[\w-]/),null)}const r={name:`cmake`,startState:function(){var e={};return e.inDefinition=!1,e.inInclude=!1,e.continueString=!1,e.pending=!1,e},token:function(e,t){return e.eatSpace()?null:n(e,t)}};export{r as cmake};