{"version":3,"file":"heading.mjs","sources":["../../../../../../node_modules/markdown-it/lib/rules_block/heading.mjs"],"sourcesContent":["// heading (#, ##, ...)\n\nimport { isSpace } from '../common/utils.mjs'\n\nexport default function heading (state, startLine, endLine, silent) {\n  let pos = state.bMarks[startLine] + state.tShift[startLine]\n  let max = state.eMarks[startLine]\n\n  // if it's indented more than 3 spaces, it should be a code block\n  if (state.sCount[startLine] - state.blkIndent >= 4) { return false }\n\n  let ch  = state.src.charCodeAt(pos)\n\n  if (ch !== 0x23/* # */ || pos >= max) { return false }\n\n  // count heading level\n  let level = 1\n  ch = state.src.charCodeAt(++pos)\n  while (ch === 0x23/* # */ && pos < max && level <= 6) {\n    level++\n    ch = state.src.charCodeAt(++pos)\n  }\n\n  if (level > 6 || (pos < max && !isSpace(ch))) { return false }\n\n  if (silent) { return true }\n\n  // Let's cut tails like '    ###  ' from the end of string\n\n  max = state.skipSpacesBack(max, pos)\n  const tmp = state.skipCharsBack(max, 0x23, pos) // #\n  if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n    max = tmp\n  }\n\n  state.line = startLine + 1\n\n  const token_o  = state.push('heading_open', 'h' + String(level), 1)\n  token_o.markup = '########'.slice(0, level)\n  token_o.map    = [startLine, state.line]\n\n  const token_i    = state.push('inline', '', 0)\n  token_i.content  = state.src.slice(pos, max).trim()\n  token_i.map      = [startLine, state.line]\n  token_i.children = []\n\n  const token_c  = state.push('heading_close', 'h' + String(level), -1)\n  token_c.markup = '########'.slice(0, level)\n\n  return true\n}\n"],"names":["heading","state","startLine","endLine","silent","pos","max","ch","level","isSpace","tmp","token_o","token_i","token_c"],"mappings":";AAIe,SAASA,EAASC,GAAOC,GAAWC,GAASC,GAAQ;AAClE,MAAIC,IAAMJ,EAAM,OAAOC,CAAS,IAAID,EAAM,OAAOC,CAAS,GACtDI,IAAML,EAAM,OAAOC,CAAS;AAGhC,MAAID,EAAM,OAAOC,CAAS,IAAID,EAAM,aAAa;AAAK,WAAO;AAE7D,MAAIM,IAAMN,EAAM,IAAI,WAAWI,CAAG;AAElC,MAAIE,MAAO,MAAeF,KAAOC;AAAO,WAAO;AAG/C,MAAIE,IAAQ;AAEZ,OADAD,IAAKN,EAAM,IAAI,WAAW,EAAEI,CAAG,GACxBE,MAAO,MAAeF,IAAMC,KAAOE,KAAS;AACjD,IAAAA,KACAD,IAAKN,EAAM,IAAI,WAAW,EAAEI,CAAG;AAGjC,MAAIG,IAAQ,KAAMH,IAAMC,KAAO,CAACG,EAAQF,CAAE;AAAM,WAAO;AAEvD,MAAIH;AAAU,WAAO;AAIrB,EAAAE,IAAML,EAAM,eAAeK,GAAKD,CAAG;AACnC,QAAMK,IAAMT,EAAM,cAAcK,GAAK,IAAMD,CAAG;AAC9C,EAAIK,IAAML,KAAOI,EAAQR,EAAM,IAAI,WAAWS,IAAM,CAAC,CAAC,MACpDJ,IAAMI,IAGRT,EAAM,OAAOC,IAAY;AAEzB,QAAMS,IAAWV,EAAM,KAAK,gBAAgB,MAAM,OAAOO,CAAK,GAAG,CAAC;AAClE,EAAAG,EAAQ,SAAS,WAAW,MAAM,GAAGH,CAAK,GAC1CG,EAAQ,MAAS,CAACT,GAAWD,EAAM,IAAI;AAEvC,QAAMW,IAAaX,EAAM,KAAK,UAAU,IAAI,CAAC;AAC7C,EAAAW,EAAQ,UAAWX,EAAM,IAAI,MAAMI,GAAKC,CAAG,EAAE,KAAI,GACjDM,EAAQ,MAAW,CAACV,GAAWD,EAAM,IAAI,GACzCW,EAAQ,WAAW,CAAA;AAEnB,QAAMC,IAAWZ,EAAM,KAAK,iBAAiB,MAAM,OAAOO,CAAK,GAAG,EAAE;AACpE,SAAAK,EAAQ,SAAS,WAAW,MAAM,GAAGL,CAAK,GAEnC;AACT;","x_google_ignoreList":[0]}