nlcst-is-literal
Check if an NLCST node is meant literally. Useful if a tool wants to
exclude these values possibly void of meaning.
As an example, a spell-checker could exclude these literal words, thus not
warning about “monsieur”.
Installation
npm:
npm install nlcst-is-literal
Usage
Say we have the following file, example.txt
:
The word “foo” is meant as a literal.
The word «bar» is meant as a literal.
The word (baz) is meant as a literal.
The word, qux, is meant as a literal.
The word — quux — is meant as a literal.
And our script, example.js
, looks as follows:
var vfile = require('to-vfile');
var unified = require('unified');
var english = require('retext-english');
var visit = require('unist-util-visit');
var toString = require('nlcst-to-string');
var literal = require('nlcst-is-literal');
var file = vfile.readSync('example.txt');
var tree = unified().use(english).parse(file);
visit(tree, 'WordNode', visitor);
function visitor(node, index, parent) {
if (literal(parent, index)) {
console.log(toString(node));
}
}
Now, running node example
yields:
foo
bar
baz
qux
quux
API
isLiteral(parent, index)
Check if the node in parent
at position
is enclosed
by matching delimiters.
For example, foo
is literal in the following samples:
Foo - is meant as a literal.
Meant as a literal is - foo.
The word “foo” is meant as a literal.
License
MIT © Titus Wormer