summaryrefslogtreecommitdiff
path: root/helix-view
diff options
context:
space:
mode:
authorBlaž Hrastnik2021-02-22 03:06:28 +0000
committerBlaž Hrastnik2021-02-22 03:06:28 +0000
commit8b9b02f08b5554a4c17e533937c74c1fb80df5f5 (patch)
tree06dfd723a47100fd1882c0a107e6984b0fde8b8b /helix-view
parent3b6c9648f320d175de14e4b80df8980dcba54282 (diff)
minor
Diffstat (limited to 'helix-view')
-rw-r--r--helix-view/src/document.rs9
-rw-r--r--helix-view/src/tree.rs21
2 files changed, 26 insertions, 4 deletions
diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs
index 426c8e21..569e72ee 100644
--- a/helix-view/src/document.rs
+++ b/helix-view/src/document.rs
@@ -300,10 +300,11 @@ impl Document {
}
pub fn relative_path(&self) -> Option<&Path> {
- self.path.as_ref().map(|path| {
- path.strip_prefix(std::env::current_dir().unwrap())
- .unwrap_or(path)
- })
+ let cwdir = std::env::current_dir().expect("couldn't determine current directory");
+
+ self.path
+ .as_ref()
+ .map(|path| path.strip_prefix(cwdir).unwrap_or(path))
}
// pub fn slice<R>(&self, range: R) -> RopeSlice where R: RangeBounds {
diff --git a/helix-view/src/tree.rs b/helix-view/src/tree.rs
index 9903ba79..382ef09e 100644
--- a/helix-view/src/tree.rs
+++ b/helix-view/src/tree.rs
@@ -303,6 +303,27 @@ impl Tree {
// For now that's okay though, since it's unlikely you'll be able to open a large enough
// number of splits to notice.
+ // current = focus
+ // let found = loop do {
+ // node = focus.parent;
+ // let found = node.next_sibling_of(current)
+ // if some {
+ // break found;
+ // }
+ // // else
+ // if node == root {
+ // return first child of root;
+ // };
+ // current = parent;
+ // }
+ // }
+ //
+ // use found next sibling
+ // loop do {
+ // if found = view -> focus = found, return
+ // if found = container -> found = first child
+ // }
+
let iter = self.traverse();
let mut iter = iter.skip_while(|&(key, _view)| key != self.focus);