"use strict";(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[321],{90321:(e,t,n)=>{n.r(t);n.d(t,{swift:()=>A});function r(e){var t={};for(var n=0;n-1){e.next();return"operator"}if(f.indexOf(r)>-1){e.next();e.match("..");return"punctuation"}var k;if(k=e.match(/("""|"|')/)){var w=y.bind(null,k[0]);t.tokenize.push(w);return w(e,t)}if(e.match(v)){var b=e.current();if(u.hasOwnProperty(b))return"type";if(o.hasOwnProperty(b))return"atom";if(i.hasOwnProperty(b)){if(a.hasOwnProperty(b))t.prev="define";return"keyword"}if(n=="define")return"def";return"variable"}e.next();return null}function w(){var e=0;return function(t,n,r){var i=k(t,n,r);if(i=="punctuation"){if(t.current()=="(")++e;else if(t.current()==")"){if(e==0){t.backUp(1);n.tokenize.pop();return n.tokenize[n.tokenize.length-1](t,n)}else--e}}return i}}function y(e,t,n){var r=e.length==1;var i,a=false;while(i=t.peek()){if(a){t.next();if(i=="("){n.tokenize.push(w());return"string"}a=false}else if(t.match(e)){n.tokenize.pop();return"string"}else{t.next();a=i=="\\"}}if(r){n.tokenize.pop()}return"string"}function x(e,t){var n;while(n=e.next()){if(n==="/"&&e.eat("*")){t.tokenize.push(x)}else if(n==="*"&&e.eat("/")){t.tokenize.pop();break}}return"comment"}function b(e,t,n){this.prev=e;this.align=t;this.indented=n}function g(e,t){var n=t.match(/^\s*($|\/[\/\*]|[)}\]])/,false)?null:t.column()+1;e.context=new b(e.context,n,e.indented)}function z(e){if(e.context){e.indented=e.context.indented;e.context=e.context.prev}}const A={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=t.tokenize[t.tokenize.length-1]||k;var i=r(e,t,n);if(!i||i=="comment")t.prev=n;else if(!t.prev)t.prev=i;if(i=="punctuation"){var a=/[\(\[\{]|([\]\)\}])/.exec(e.current());if(a)(a[1]?z:g)(t,e)}return i},indent:function(e,t,n){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(t);if(r.align!=null)return r.align-(i?1:0);return r.indented+(i?0:n.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}}]);