{"format":1,"manifest":{"name":"word-count","publisher":"vyloxi","version":"1.1.0","displayName":"Word Count","description":"Live word count in the status bar, with selection counts, characters, lines and reading time.","engines":{"ferrum":"^0.1.0"},"categories":["Productivity"],"icon":"icon.png","repository":"https://github.com/voukengdongmofrankysteve/ferrum-market","license":"MIT","main":"extension.js","activationEvents":["onStartup"],"permissions":[],"contributes":{"commands":[{"command":"wordCount.details","title":"Show Document Statistics","category":"Word Count"}],"configuration":{"title":"Word Count","properties":{"wordCount.wordsPerMinute":{"type":"number","default":220,"description":"Reading speed used for the reading time."}}}}},"files":{"icon.png":{"encoding":"base64","content":"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"},"extension.js":{"encoding":"utf8","content":"// Word Count: words, characters, lines and reading time for the open file and your selection, in the status bar.\n\nfunction count(text) {\n  const words = (text.match(/[\\p{L}\\p{N}][\\p{L}\\p{N}'’\\-]*/gu) || []).length;\n  const chars = [...text].length;\n  const noSpace = [...text.replace(/\\s/g, '')].length;\n  const lines = text === '' ? 0 : text.split('\\n').length;\n  const sentences = (text.match(/[^.!?\\n]+[.!?]+/g) || []).length;\n  const paragraphs = text.split(/\\n\\s*\\n/).filter((p) => p.trim()).length;\n  return { words, chars, noSpace, lines, sentences, paragraphs };\n}\n\nfunction reading(words, wpm) {\n  const min = words / Math.max(60, wpm || 220);\n  if (min < 1) return Math.max(1, Math.round(min * 60)) + ' s';\n  return Math.round(min) + ' min';\n}\n\nexports._test = { count, reading };\n\nexports.activate = function (context) {\n  let timer = null;\n\n  async function refresh() {\n    const doc = await ferrum.editor.active();\n    if (!doc) return ferrum.window.setStatusBar('wordCount.status', { text: '' });\n    const all = count(doc.text);\n    const sel = doc.selectedText ? count(doc.selectedText) : null;\n    const text = sel ? sel.words + ' of ' + all.words + ' words' : all.words + ' words';\n    ferrum.window.setStatusBar('wordCount.status', {\n      text,\n      tooltip: all.chars + ' characters, ' + all.lines + ' lines, about ' + reading(all.words, ferrum.settings.get('wordCount.wordsPerMinute')) + ' to read. Click for details.',\n      command: 'wordCount.details',\n    });\n  }\n  const later = () => {\n    clearTimeout(timer);\n    timer = setTimeout(refresh, 150);\n  };\n\n  context.subscriptions.push(\n    ferrum.events.on('activeChanged', later),\n    ferrum.events.on('save', later),\n    ferrum.events.on('selectionChanged', later),\n    ferrum.events.on('settingsChanged', later),\n    { dispose: () => clearTimeout(timer) },\n  );\n\n  context.subscriptions.push(\n    ferrum.commands.register('wordCount.details', async () => {\n      const doc = await ferrum.editor.active();\n      if (!doc) return ferrum.window.showMessage('Open a file first.', 'warn');\n      const a = count(doc.text);\n      const s = doc.selectedText ? count(doc.selectedText) : null;\n      const rows = [\n        ['Words', a.words, s && s.words], ['Characters', a.chars, s && s.chars], ['Characters without spaces', a.noSpace, s && s.noSpace],\n        ['Lines', a.lines, s && s.lines], ['Sentences', a.sentences, s && s.sentences], ['Paragraphs', a.paragraphs, s && s.paragraphs],\n      ].map(([k, v, sv]) => ({ label: k + ': ' + v, detail: sv === null ? '' : 'selection: ' + sv }));\n      rows.push({ label: 'Reading time: ' + reading(a.words, ferrum.settings.get('wordCount.wordsPerMinute')), detail: '' });\n      await ferrum.window.showQuickPick(rows, { placeholder: doc.name });\n    }),\n  );\n  refresh();\n};\n\nexports.deactivate = function () {};\n"},"README.md":{"encoding":"utf8","content":"# Word Count\n\nThe status bar shows the **word count** of the open file, and \"12 of 340 words\" when you select text. Hover for characters, lines and the reading time. Click it, or run **Show Document Statistics**, for words, characters with and without spaces, lines, sentences, paragraphs and the reading time for the file and the selection.\n\nWords are counted with Unicode letters, so it works for French, German, Greek, Cyrillic and more.\n\nNo permissions needed.\n"}}}