diff options
author | rabite <rabite@posteo.de> | 2019-02-13 10:08:29 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-13 10:08:29 +0100 |
commit | 205e9dc4265b9a9d7fdcd836e646830bf8e0ce30 (patch) | |
tree | 0e0cc4907fd912e05c77a58700ca42bf2998f181 /src/textview.rs | |
parent | 56d9c3521599baef6ff1472c0c95fa07f17a5a67 (diff) |
speed optimization
Diffstat (limited to 'src/textview.rs')
-rw-r--r-- | src/textview.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/textview.rs b/src/textview.rs index 04e0fbf..73b7741 100644 --- a/src/textview.rs +++ b/src/textview.rs @@ -28,6 +28,21 @@ impl TextView { coordinates: Coordinates::new(), } } + pub fn new_from_file_limit_lines(file: &File, num: usize) -> TextView { + let file = std::fs::File::open(&file.path).unwrap(); + let file = std::io::BufReader::new(file); + let lines = file.lines() + .take(num) + .map(|line| + line.unwrap() + .replace("\t", " ")).collect(); + + TextView { + lines: lines, + buffer: String::new(), + coordinates: Coordinates::new(), + } + } } impl Widget for TextView { |