[][src]Module nvimpam_lib::lines

This module holds the datastructure for the Lines of the buffer.

Future ideas, if performance isn't enough: Skip list, gap buffer (adapted to lines instead of strings), rope (adapted to lines instead of strings)

Structs

KeywordLine

A struct to hold a Line of a file that has been parsed and starts with a Keyword.

Lines

The struct to hold the lines.

LinesIter

A struct returned by the iter() method of Lines. Used to iterate over the Line of a file.

ParsedLine

A struct to hold the data of a Line that has been parsed before.

Enums

Line

An enum representing a line of a file, either as a byte slice (which we obtain from reading a file into a Vec<u8> and splitting on newlines) or an owned String (which we get from neovim's buffer update API).