File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change 1+ # line-index
2+
3+ This crate is developped as part of ` rust-analyzer ` .
4+
5+ line-index is a library to convert between text offset and its corresponding line/column.
6+
7+ ## Installation
8+
9+ To add this crate to a project simply run ` cargo add line-index ` .
10+
11+ ## Usage
12+
13+ The main structure is ` LineIndex ` . It is constructed with an utf-8 text then various utility functions can be used on it.
14+
15+ ### Example
16+
17+ ``` rust
18+ use line_index :: LineIndex ;
19+
20+ let line_index = LineIndex :: new (" This is a\ n multi-line\ n text." );
21+ line_index . line_col (3. into ()); // LineCol { line: 0, col: 3 }
22+ line_index . line_col (13. into ()); // LineCol { line: 1, col: 3 }
23+ line_index . offset (LineCol { line : 2 , col : 3 }); // Some (24)
24+ ```
25+
26+ ## SemVer
27+
28+ This crate follows [ semver principles] ( [url](https://semver.org/)https://semver.org/ ) .
You can’t perform that action at this time.
0 commit comments