1
0
silverbullet/plugs/core/word_count_command.ts

21 lines
646 B
TypeScript
Raw Normal View History

2022-03-25 11:03:06 +00:00
import { syscall } from "../lib/syscall";
2022-03-04 10:21:11 +00:00
2022-02-24 16:24:49 +00:00
function countWords(str: string): number {
2022-03-29 10:13:46 +00:00
const matches = str.match(/[\w\d\'-]+/gi);
2022-02-24 16:24:49 +00:00
return matches ? matches.length : 0;
}
function readingTime(wordCount: number): number {
// 225 is average word reading speed for adults
return Math.ceil(wordCount / 225);
}
export async function wordCount({ text }: { text: string }) {
let sysCallText = (await syscall("editor.getText")) as string;
const count = countWords(sysCallText);
console.log("Word count", count);
let syntaxNode = await syscall("editor.getSyntaxNodeUnderCursor");
console.log("Syntax node", syntaxNode);
return count;
}