4 Stars
Updated Last
1 Year Ago
Started In
September 2014


LNR.jl implements a LineNumberingReader type which transparently wraps any other reader (::IO). It's intended for working with hand written text where line and column information is significant, and provides functions for working with this information.

LineNumberingReaders can be created with either an IO object or a string as a parameter.

The Cursor type, which has the line and column fields, represents a position between two characters (and not the character itself). So Cursor(n, m) represents the position just before the mth character on line n. Comparisons are supported.

The cursor function gives the current position in the stream as a cursor. seek can be called as usual, but with a Cursor instead of an integer, to set the reader at any position in the file.

Other than that, standard IO functions are wrapped, so you can use a line reader as you would any other stream.

Used By Packages