diff options
author | John Mercouris <john@mercouris.email> | 2017-09-21 00:16:05 -0500 |
---|---|---|
committer | John Mercouris <john@mercouris.email> | 2017-09-21 00:16:05 -0500 |
commit | 2ddc12558e0c53414d10607857852ef62c02e9a2 (patch) | |
tree | dad946b56dc18fdb01cc0a83f97c966ad067c9b4 | |
parent | b12c9bb2770f31466d7c67284464a3449835c973 (diff) |
version 0.02 complete, tree history and navigation implemented0.02
-rw-r--r-- | next/README.org | 18 | ||||
-rw-r--r-- | next/lisp/document-mode.lisp | 19 |
2 files changed, 28 insertions, 9 deletions
diff --git a/next/README.org b/next/README.org index 711fd8bb6..8dd76e1a0 100644 --- a/next/README.org +++ b/next/README.org @@ -192,7 +192,13 @@ release 1.20, and 2.20 are one major release away from each other. Minor releases are issued by incrementing by 0.01. That is, 1.01, and 1.02 are two minor releases following major release 1.0. -** 0.03 +** TODO 0.03 +*** TODO Improve in Code Documentation & Architecture +- Create much clearer picture of how everything functions together, + make cleaner architecture diagrams showing how everything links + together +- Clean up classes, use defmethods instead of generic functions +- Create Page class with meta information about page *** TODO Window System - Emacs like window system *** TODO Bookmarks @@ -216,11 +222,8 @@ two minor releases following major release 1.0. - Use install_name_tool to update the now copied frameworks in `next.app/Contents/Frameworks` - For more info please see: http://doc.qt.io/qt-5/osx-deployment.html -** TODO 0.02 -*** TODO Improve in Code Documentation -- Create much clearer picture of how everything functions together, - make cleaner architecture diagrams showing how everything links - together +** DONE 0.02 +CLOSED: [2017-09-21 Thu 00:15] *** DONE History Tree Mode CLOSED: [2017-09-20 Wed 22:42] - Create a mode that allows traversal of the tree created in the @@ -238,7 +241,8 @@ CLOSED: [2017-09-20 Wed 19:32] - using the key binding M-f, and M-b for forward and backward respectively - should only work if there is one child -**** TODO Forward navigation with more than one child prompts mini-buffer selection +**** DONE Forward navigation with more than one child prompts mini-buffer selection +CLOSED: [2017-09-21 Thu 00:15] - If a user tries to navigate forward but there is more than one possible destination available, show the possibilities as an auto-completable list in the minibuffer diff --git a/next/lisp/document-mode.lisp b/next/lisp/document-mode.lisp index 508d07417..c8b5295ad 100644 --- a/next/lisp/document-mode.lisp +++ b/next/lisp/document-mode.lisp @@ -22,11 +22,23 @@ (set-url (node-data parent))))) (defun history-forwards () - ;; move forwards the history selecting the first child + ;; move forwards in history selecting the first child (let ((children (node-children (mode-history-active-node (buffer-mode *active-buffer*))))) (if children (set-url (node-data (nth 0 children)))))) +(defun history-forwards-query (input) + ;; move forwards in history querying if more than one child + (let ((children (node-children (mode-history-active-node (buffer-mode *active-buffer*))))) + (loop for child in children do + (if (equalp (node-data child) input) + (set-url (node-data child)))))) + +(defun history-fowards-query-complete (input) + (let ((children (node-children (mode-history-active-node (buffer-mode *minibuffer-callback-buffer*))))) + (when children + (fuzzy-match input (mapcar #'node-data children))))) + (defun history-tree-show () (update-tree-model (mode-history-tree-root-node (buffer-mode *active-buffer*))) (set-visible-active-buffer *history-tree*)) @@ -92,8 +104,11 @@ mode)) (define-key document-mode-map (kbd "S-t") #'history-tree-show) -(define-key document-mode-map (kbd "S-f") #'history-forwards) +(define-key document-mode-map (kbd "S-f") + (:input-complete history-forwards-query history-fowards-query-complete)) (define-key document-mode-map (kbd "S-b") #'history-backwards) +(define-key document-mode-map (kbd "C-f") #'history-forwards) +(define-key document-mode-map (kbd "C-b") #'history-backwards) (define-key document-mode-map (kbd "C-p") #'scroll-up) (define-key document-mode-map (kbd "C-n") #'scroll-down) (define-key document-mode-map (kbd "C-l") (:input set-url)) |