summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backup-conf.el17
-rw-r--r--basic.el4
-rw-r--r--comb/orderless-conf.el39
-rw-r--r--common.el2
-rw-r--r--desktop26
-rw-r--r--embark-conf.el163
-rw-r--r--gnus-conf.el22
-rw-r--r--init.el6
-rw-r--r--magit-conf.el6
-rw-r--r--modeline.el30
-rw-r--r--org-conf.el124
-rw-r--r--pdf.el4
-rw-r--r--recentf36
-rw-r--r--rime-conf.el50
-rw-r--r--suffix tree/LCS.el314
-rw-r--r--suffix tree/ST.cpp131
-rw-r--r--suffix tree/generalized-suffix-tree.el398
-rw-r--r--suffix tree/gst test ground.txt12291
-rw-r--r--suffix tree/lcs test ground.txt180
-rw-r--r--suffix tree/suffiex-tree.txt (renamed from comb/suffiex-tree.txt)141
-rw-r--r--suffix tree/suffix tree test ground.txt145
-rw-r--r--suffix tree/suffix-tree files.zipbin0 -> 14879 bytes
-rw-r--r--suffix tree/suffix-tree.el (renamed from comb/suffix-tree.el)85
-rw-r--r--view-functions.el2
24 files changed, 14077 insertions, 139 deletions
diff --git a/backup-conf.el b/backup-conf.el
new file mode 100644
index 0000000..20b2116
--- /dev/null
+++ b/backup-conf.el
@@ -0,0 +1,17 @@
+;;; backup-conf.el --- My configurations concerning backups -*- lexical-binding: t; -*-
+
+(set 'backup-directory-alist (list (cons "." (expand-file-name "backups" load-file-directory))))
+
+(set 'make-backup-files t)
+
+(set 'backup-by-copying t)
+
+(set 'version-control t)
+
+(set 'delete-old-versions t)
+
+(set 'kept-new-versions 2)
+
+(set 'kept-old-versions 2)
+
+(set 'create-lockfiles nil)
diff --git a/basic.el b/basic.el
index cfa606a..4db6b0d 100644
--- a/basic.el
+++ b/basic.el
@@ -116,7 +116,9 @@
(display-buffer-in-side-window)
(side . bottom)
(slot . -1)
- (window-height . 0.37))))
+ (window-height . 0.37))
+ (,(rx (seq bos "magit: "))
+ (display-buffer-same-window))))
;;; auto-fill for texts
diff --git a/comb/orderless-conf.el b/comb/orderless-conf.el
new file mode 100644
index 0000000..8af75e4
--- /dev/null
+++ b/comb/orderless-conf.el
@@ -0,0 +1,39 @@
+;;; -*- lexical-binding: t; -*-
+
+(use-package "orderless" 'orderless
+ (setq completion-styles '(orderless partial-completion)
+ completion-category-defaults nil
+ completion-flex-nospace nil
+ completion-pcm-complete-word-inserts-delimiters t
+ completion-show-help nil
+ completion-ignore-case t
+ read-file-name-completion-ignore-case t
+ read-buffer-completion-ignore-case t
+ resize-mini-windows t)
+
+ (setq orderless-component-separator " +"
+ orderless-matching-styles '(orderless-prefixes
+ orderless-literal
+ orderless-regexp
+ orderless-strict-leading-initialism)
+ orderless-style-dispatchers '(equal-means-literal-dispatcher
+ comma-means-initial-dispatcher))
+
+ ;; unbind space in the minibuffer
+ (define-key minibuffer-local-completion-map (vector 32) nil)
+
+ ;;; dispatchers
+
+;;;###autoload
+ (defun equal-means-literal-dispatcher (pattern _index _total)
+ "If a pattern begins with an equal sign, then we use literals."
+ (cond
+ ((= (aref pattern 0) ?=)
+ (cons 'orderless-literal (substring pattern 1)))))
+
+;;;###autoload
+ (defun comma-means-initial-dispatcher (pattern _index _total)
+ "If a pattern begins with a comma, then we use initials to match."
+ (cond
+ ((= (aref pattern 0) ?,)
+ (cons 'orderless-strict-leading-initialism (substring pattern 1))))))
diff --git a/common.el b/common.el
index dd12539..8b9ef16 100644
--- a/common.el
+++ b/common.el
@@ -16,7 +16,7 @@
;;;###autoload
(defvar durand-completion-buffer-names (list "Completions"
- "Embark Live Occur"
+ "Embark Collect"
"comb")
"The list of names that match the names of \"completion buffers\".")
diff --git a/desktop b/desktop
index f0d26bc..eaa6cb3 100644
--- a/desktop
+++ b/desktop
@@ -2,18 +2,30 @@
;; --------------------------------------------------------------------------
;; Desktop File for Emacs
;; --------------------------------------------------------------------------
-;; Created Sat Jan 9 12:10:19 2021
+;; Created Wed Jan 13 11:12:14 2021
;; Desktop file format version 208
;; Emacs version 27.1
;; Global section:
(setq desktop-saved-frameset nil)
(setq desktop-missing-file-warning nil)
-(setq tags-file-name nil)
-(setq tags-table-list nil)
-(setq search-ring '(#("gnus-" 0 5 (isearch-regexp-function nil isearch-case-fold-search t)) #("en" 0 2 (isearch-case-fold-search t isearch-regexp-function nil)) #("gnu" 0 3 (isearch-regexp-function nil isearch-case-fold-search t)) #("mu" 0 2 (isearch-regexp-function nil isearch-case-fold-search t)) #("curr" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("mu4e-" 0 5 (isearch-regexp-function nil isearch-case-fold-search t)) #("gnus" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("mu4e" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("mem" 0 3 (isearch-regexp-function nil isearch-case-fold-search t)) #("that" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("pap" 0 3 (isearch-regexp-function nil isearch-case-fold-search t)) #("int" 0 3 (isearch-regexp-function nil isearch-case-fold-search t)) #("great" 0 5 (isearch-regexp-function nil isearch-case-fold-search t)) #("s," 0 2 (isearch-case-fold-search t isearch-regexp-function nil)) #("much" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("art" 0 3 (isearch-regexp-function nil isearch-case-fold-search t))))
-(setq regexp-search-ring '(#("emacs.*bug" 0 10 (isearch-case-fold-search t)) #("emacs.*deve" 0 11 (isearch-case-fold-search t)) #("emacs.*bugs" 0 11 (isearch-case-fold-search t)) #("emacs.*devel" 0 12 (isearch-case-fold-search t))))
-(setq register-alist (list '(101 #("#'embark-export" 0 2 (fontified t face font-lock-keyword-face) 2 15 (fontified t face font-lock-constant-face)) #("#'embark-export" 0 2 (fontified t face font-lock-keyword-face) 2 15 (fontified t face font-lock-constant-face))) '(107 . #("(define-key embark-occur-mode-map (vector ?\\ ) )" 0 1 (fontified t) 1 11 (fontified t face font-lock-constant-face) 11 12 (fontified t) 12 33 (fontified t face font-lock-variable-name-face) 33 34 (fontified t) 34 35 (fontified t) 35 41 (fontified t face font-lock-constant-face) 41 45 (fontified t) 45 47 (fontified t) 47 48 (fontified t rear-nonsticky t))) (list 115 "Unprintable entity" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) '(114 . #("(pop result)" 0 1 (fontified t) 1 4 (fontified t face font-lock-keyword-face) 4 11 (fontified t) 11 12 (fontified t))) (desktop-list* 108 (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) (list 109 "Unprintable entity" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) '(100 . #(";;;###autoload\n(defun )" 0 3 (face font-lock-comment-delimiter-face fontified t) 3 6 (face font-lock-comment-face fontified t) 6 13 (face (font-lock-warning-face font-lock-warning-face) fontified t) 13 14 (face (font-lock-warning-face font-lock-warning-face) rear-nonsticky t fontified t) 14 15 (face font-lock-comment-face fontified t) 15 16 (fontified t) 16 21 (face font-lock-keyword-face fontified t) 21 22 (fontified t) 22 23 (fontified t))) '(118 . #(";;;###autoload\n(defvar )" 0 3 (face font-lock-comment-delimiter-face fontified t) 3 6 (face font-lock-comment-face fontified t) 6 13 (face (font-lock-warning-face font-lock-warning-face) fontified t) 13 14 (face (font-lock-warning-face font-lock-warning-face) rear-nonsticky t fontified t) 14 15 (face font-lock-comment-face fontified t) 15 16 (fontified t) 16 22 (face font-lock-keyword-face fontified t) 22 23 (fontified t) 23 24 (fontified t))) '(97 . #(";;;###autoload" 0 3 (face font-lock-comment-delimiter-face fontified t) 3 6 (face font-lock-comment-face fontified t) 6 14 (face (font-lock-warning-face font-lock-warning-face) fontified t)))))
-(setq file-name-history '("~/Desktop/emacs.d/comb" "~/Desktop/emacs.d/" "~/Downloads/documents intéressants/Algorithms/Algorithms on Strings, Trees, and Sequences Computer Science and Computational Biology by Dan Gusfield (z-lib.org).pdf" "~/Desktop/emacs.d/comb/pdf reading progress.txt" "~/Desktop/emacs.d/view-functions.el" "~/Desktop/emacs.d/center-buffer.el" "~/Desktop/emacs.d/gnus-conf.el" "~/Desktop/emacs.d/org-conf.el" "~/Desktop/emacs.d/ibuffer.el" "~/Desktop/emacs.d/comb/" "suffix-tree.el" "~/Desktop/emacs.d/comb/suffix-tree.el" "~/elisp_packages/hierarchy/hierarchy.el" "~/org/notes.org" "~/Desktop/emacs.d/init.el" "~/Desktop/emacs.d/embark-conf.el" "~/elisp_packages" "~/elisp_packages/embark/embark.el" "~/elisp_packages/embark" "~/elisp_packages/" "~/Desktop/nnmaildir+private:private" "~/Desktop/" "~/Desktop/emacs.d/basic.el" "~/.doom.d/modules/lang/durand-org/config.el" "~/.doom.d/modules/email/durand-gnus/README.org" "~/.doom.d/modules/email/durand-gnus/config.el" "~/Desktop/emacs.d/comb/*Summary nntp+news.gmane.io:gmane.emacs.devel*.ps" "~/Desktop/emacs.d/comb/ST.cpp" "~/Desktop/emacs.d/bongo.el" "~/elisp_packages/hierarchy" "~/.doom.d/modules/emacs/durand-ibuffer/config.el" "~/.doom.d/init.el" "~/.doom.d/modules/app/durand-bongo/autoload.el" "~/.doom.d/modules/app/durand-bongo/config.el" "~/Desktop/emacs.d/comb/comb.el" "~/Desktop/emacs.d/backups/" "~/" "~/.newsrc.eld" "~/.newsrc" "~/.nnmaildir/private" "~/.nnmaildir/" "~/.nnmaildir" "~/Desktop" "~/.gnus.el" "~/.mbsyncrc" "~/Desktop/emacs.d/GNU Emacs integrated computing environment | Protesilaos Stavrou.pdf" "/Users/durand/.gnus.el" "~/Desktop/Centre/Mes notes/casual notes/links.txt" "~/Desktop/Centre/Mes notes/casual notes" "~/Desktop/Centre/Mes notes/" "~/.authinfo.gpg" "~/.doom.d/modules/editor/durand-evil/autoload.el" "~/.doom.d/modules/editor/durand-evil/config.el" "~/.doom.d/modules/editor/durand-evil/evil-setting.el" "~/.doom.d/" "~/.doom.d/autoload.el" "~/.doom.d/modules/email/durand-mu/" "~/.doom.d/modules/email/durand-mu/autoload.el" "/Users/durand/.doom.d/modules/email/durand-mu/config.el" "~/Desktop/emacs.d/mail.el" "~/mbsync" "~/Desktop/emacs.d/text-conf.el" "~/Desktop/emacs.d/modes/Concepts.txt" "~/Desktop/emacs.d/dashboard.el" "~/Desktop/emacs.d/desktop-conf.el" "~/Desktop/emacs.d/backups" "~/Downloads/documents intéressants/Algorithms/On-line Construction Of Suffix Tree by Ukkonen in 1995.pdf" "~/Downloads/documents intéressants/Algorithms/algorithm 2.png" "~/Downloads/documents intéressants/Algorithms/" "~/Downloads/documents intéressants/Algorithms/overall algorithm in Ukkonen paper.png" "~/Desktop/emacs.d/comb/suffix-tree.txt" "/Users/durand/Downloads/documents intéressants/Algorithms/update procedure in Ukkonen paper.png" "/Users/durand/Downloads/documents intéressants/Algorithms/overall algorithm in Ukkonen paper.png" "/Users/durand/Downloads/documents intéressants/Algorithms/Algorithm 1 from Ukkonen paper.png" "~/Downloads/documents intéressants/Algorithms/overall algorithm in Ukkonen pdf.png" "~/Downloads/documents intéressants/Algorithms/update procedure in Ukkonen pdf.png" "~/Downloads/documents intéressants/Algorithms/Algorithm 1 from Ukkonen pdf.png" "~/Desktop/emacs.d/tab-conf.el" "~/Downloads/documents intéressants/Algorithms/Ukkonen power point.pdf" "~/Downloads" "~/Desktop/emacs.d/comb/suffiex-tree.txt" "~/Desktop/emacs.d/comb/reference geeks for geeks.txt" "~/Desktop/Centre/Musique/Chansons/Blama/文殊師利菩薩祈請文・多識仁波切 譯 ᴴᴰ དཔེ་སྐྲུན་ཁང་། ・Praise of Manjushri Bodhisattva.mp3" "/stackoverflow.com/questions/9452701/" "~/w.emacs.d/emacs/lisp/minibuffer.el" "~/Downloads/" "~/Desktop/screen shot.png" "~/Desktop/Centre/Musique/Chansons/Chinois/辞洛 - Cover 一生獨一 -GY8130qPqW8.mkv" "~/Desktop/Centre/Musique/Chansons/Chinois/程響 - 世界這麼大還是遇見你 -wRmedql89Ro.webm" "~/Desktop/emacs.d/dired-conf.el" "~/Desktop/emacs.d/common.el" "~/Desktop/emacs.d/comb/orderless-conf.el" "~/Desktop/emacs.d/recentf-conf.el" "~/Desktop/emacs.d/modeline.el" "~/Desktop/test.png" "~/Desktop/Centre/PDF/" "~/Downloads/Algorithms on Strings, Trees, and Sequences Computer Science and Computational Biology by Dan Gusfield (z-lib.org).djvu"))
+(setq tags-file-name "/Users/durand/w.emacs.d/emacs/src/TAGS")
+(setq tags-table-list '("/Users/durand/w.emacs.d/emacs/src/TAGS"))
+(setq search-ring '(#("view" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("deter" 0 5 (isearch-regexp-function nil isearch-case-fold-search t)) #("cl-s" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("durand-novel-addresses-regexp" 0 29 (isearch-case-fold-search t isearch-regexp-function isearch-symbol-regexp)) #("dete" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("GNUS" 0 4 (isearch-regexp-function nil isearch-case-fold-search nil)) #("dia" 0 3 (isearch-regexp-function nil isearch-case-fold-search t)) #("setq" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("c:" 0 2 (isearch-regexp-function nil isearch-case-fold-search t)) #("inter" 0 5 (isearch-regexp-function nil isearch-case-fold-search t)) #(")" 0 1 (isearch-regexp-function nil isearch-case-fold-search t)) #("strs" 0 4 (isearch-regexp-function nil isearch-case-fold-search t)) #("c" 0 1 (isearch-regexp-function nil isearch-case-fold-search t)) #("compile_it" 0 10 (isearch-regexp-function isearch-symbol-regexp isearch-case-fold-search t)) #("_it" 0 3 (isearch-regexp-function nil isearch-case-fold-search t)) #("com" 0 3 (isearch-regexp-function nil isearch-case-fold-search t))))
+(setq regexp-search-ring '(#("^ \\{2\\}-" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #("^ \\{2\\}-ll" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t) 8 10 (isearch-case-fold-search t)) #("^ \\{2\\}d" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #("^ \\{2\\}n" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #("^ \\{2\\}m" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #("^ \\{2\\}e" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #("^ \\{2\\}o" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #("^ \\{2\\}r" 0 1 (isearch-case-fold-search t) 1 8 (isearch-case-fold-search t)) #(" \\{2\\}r" 0 7 (isearch-case-fold-search t)) #("\\s-\\{\\}" 0 7 (isearch-case-fold-search t)) #("comb/su.*el" 0 11 (isearch-regexp-function nil isearch-case-fold-search t)) #("obs.*1" 0 6 (isearch-case-fold-search t)) #("emacs.*bug" 0 10 (isearch-case-fold-search t)) #("emacs.*deve" 0 11 (isearch-case-fold-search t)) #("emacs.*bugs" 0 11 (isearch-case-fold-search t)) #("emacs.*devel" 0 12 (isearch-case-fold-search t))))
+(setq register-alist (list '(102 . #(";;;###autoload\n(defface )" 0 3 (face font-lock-comment-delimiter-face fontified t) 3 6 (face font-lock-comment-face fontified t) 6 13 (face (font-lock-warning-face font-lock-warning-face) fontified t) 13 14 (face (font-lock-warning-face font-lock-warning-face) rear-nonsticky t fontified t) 14 15 (face font-lock-comment-face fontified t) 15 16 (fontified t) 16 23 (face font-lock-keyword-face fontified t) 23 24 (fontified t) 24 25 (fontified t))) '(65 . #("doom-modeline-input-method-alt" 0 30 (face font-lock-constant-face fontified t))) '(105 . #("(setq org-capture-templates\n '((\"m\" \"Account records\" entry\n (file+olp+datetree \"~/org/account/account.org\")\n \"* %(durand-org-capture-account-template)\"\n ;; \"* %^{ITEM|breakfast|brunch|brunverage|lunch|dinner|beverage|snack|fruit}\\n :PROPERTIES:\\n :cost: %(number-to-string (read-number \\\"COST:\\\" 0))\\n :FROM: %(completing-read \\\"FROM: \\\" '(\\\"Cash\\\" \\\"etique\\\"))\\n :RECORD_TIME: %U\\n :END:\\n %(durand-org-complete-capture-account)%?\"\n :jump-to-captured t)\n (\"d\" \"Record Diaries\" entry\n (file+olp+datetree \"~/org/diary.org\")\n \"* %?\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :END:\\n\\n\"\n :jump-to-captured t)\n (\"w\" \"Withdrawal records\" entry\n (file+headline \"~/org/wiki.org\" \"Money Withdrawal\")\n \"* WITHDRAW NTD %? %(org-insert-time-stamp (org-read-date nil t \\\"+0d\\\") nil nil)\\n\"\n :kill-buffer t)\n (\"l\" \"Store links\" entry\n (file \"/Users/durand/org/math_article_links.org\")\n \"* TO-THINK %? %(org-insert-time-stamp (org-read-date nil t \\\"+0d\\\") nil t)\\n%a\\n\" :kill-buffer t)\n (\"g\" \"GNUS\" entry\n (file \"~/org/notes.org\")\n \"* TO-THINK %:subject\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :END:\\n %:from\\n %:to\\n %a\\n %?\"\n :empty-lines 1\n :kill-buffer t)\n (\"L\" \"for storing webpages\" entry\n #'org-determine-link-file\n \"* PENDING %(org-filter-title) %(org-determine-tag)\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :END:\\n\\n %(org-filtered-link)\\n %i\\n %?\"\n :empty-lines 1\n :kill-buffer t\n :immediate-finish t)\n (\"t\" \"TODO\" entry\n (file \"~/org/aujourdhui.org\")\n \"* TODO %? %^{Date to do:}t\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :END:\\n\\n\"\n :kill-buffer t)\n (\"b\" \"Blog posts\" entry\n (file+headline \"~/org/notes.org\" \"Blog posts\")\n \"* %? %(org-insert-time-stamp (org-read-date nil t \\\"+0d\\\"))\\n%i\\n\")\n (\"a\" \"Abstractions\" entry\n (file+headline \"~/org/wiki.org\" \"Abstractions\")\n \"* ABSTRACT %?\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :END:\\n\\n\")\n (\"A\" \"Agenda\" entry\n (file+headline \"~/org/agenda.org\" \"Agenda\")\n \"* TODO %?\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :DURATION: %^{Date: }t\\n :END:\\n\\n\")\n (\"y\" \"YiFu\" entry\n (file+headline \"~/org/wiki.org\" \"Yi Fu Tips\")\n \"* MEMO %^{word}\\n :PROPERTIES:\\n :STORY: %\\\\2\\n :MEANING: %\\\\3\\n :END:\\n** Yi Fu story\\n %^{story}\\n** Meaning\\n %^{meaning}\"\n :kill-buffer t\n :immediate-finish t)\n (\"c\" \"Chansons\" entry\n (file+headline \"~/org/wiki.org\" \"Liste de Chansons\")\n \"* MEMO %^{title}\\n :PROPERTIES:\\n :RECORD_TIME: %U\\n :LINK: [[%^{link}][%^{description}]]\\n :END:\\n %?\"\n :jump-to-captured t)\n (\"f\" \"français\" entry\n (file+headline \"~/org/français/français.org\" \"Liste de mots français\")\n \"* MEMO %^{mot} :drill:\\n :PROPERTIES:\\n :DRILL_CARD_TYPE: français\\n :RECORD_TIME: %U\\n :MEANING: %^{ce qu'il veut dire}\\n :END:\\n\\n MEANING: %\\\\2\\n%?\"\n :jump-to-captured t)))" 0 1 (fontified t) 1 5 (fontified t face font-lock-keyword-face) 5 36 (fontified t) 36 37 (fontified t face font-lock-keyword-face) 37 39 (fontified t) 39 42 (fontified t face font-lock-string-face) 42 43 (fontified t) 43 60 (fontified t face font-lock-string-face) 60 97 (fontified t) 97 124 (fontified t face font-lock-string-face) 124 137 (fontified t) 137 179 (fontified t face font-lock-string-face) 179 191 (fontified t) 191 194 (fontified t face font-lock-comment-delimiter-face) 194 477 (fontified t face font-lock-comment-face) 477 488 (fontified t) 488 498 (fontified t face font-lock-builtin-face) 498 505 (fontified t face font-lock-builtin-face) 505 509 (fontified t) 509 520 (fontified t) 520 523 (fontified t face font-lock-string-face) 523 524 (fontified t) 524 540 (fontified t face font-lock-string-face) 540 577 (fontified t) 577 594 (fontified t face font-lock-string-face) 594 607 (fontified t) 607 662 (fontified t face font-lock-string-face) 662 674 (fontified t) 674 691 (fontified t face font-lock-builtin-face) 691 706 (fontified t) 706 709 (fontified t face font-lock-string-face) 709 710 (fontified t) 710 730 (fontified t face font-lock-string-face) 730 763 (fontified t) 763 779 (fontified t face font-lock-string-face) 779 780 (fontified t) 780 798 (fontified t face font-lock-string-face) 798 811 (fontified t) 811 895 (fontified t face font-lock-string-face) 895 907 (fontified t) 907 919 (fontified t face font-lock-builtin-face) 919 934 (fontified t) 934 937 (fontified t face font-lock-string-face) 937 938 (fontified t) 938 951 (fontified t face font-lock-string-face) 951 975 (fontified t) 975 1009 (fontified t face font-lock-string-face) 1009 1017 (fontified t face font-lock-string-face) 1017 1019 (fontified t) 1019 1030 (fontified t) 1030 1112 (fontified t face font-lock-string-face) 1112 1113 (fontified t) 1113 1125 (fontified t face font-lock-builtin-face) 1125 1140 (fontified t) 1140 1143 (fontified t face font-lock-string-face) 1143 1144 (fontified t) 1144 1150 (fontified t face font-lock-string-face) 1150 1174 (fontified t) 1174 1191 (fontified t face font-lock-string-face) 1191 1204 (fontified t) 1204 1301 (fontified t face font-lock-string-face) 1301 1313 (fontified t) 1313 1325 (fontified t face font-lock-builtin-face) 1325 1339 (fontified t) 1339 1351 (fontified t face font-lock-builtin-face) 1351 1366 (fontified t) 1366 1369 (fontified t face font-lock-string-face) 1369 1370 (fontified t) 1370 1392 (fontified t face font-lock-string-face) 1392 1410 (fontified t) 1410 1412 (fontified t face font-lock-keyword-face) 1412 1435 (fontified t face font-lock-constant-face) 1435 1447 (fontified t) 1447 1519 (fontified t face font-lock-string-face) 1519 1582 (fontified t face font-lock-string-face) 1582 1583 (fontified t) 1583 1594 (fontified t) 1594 1606 (fontified t face font-lock-builtin-face) 1606 1620 (fontified t) 1620 1632 (fontified t face font-lock-builtin-face) 1632 1646 (fontified t) 1646 1663 (fontified t face font-lock-builtin-face) 1663 1678 (fontified t) 1678 1681 (fontified t face font-lock-string-face) 1681 1682 (fontified t) 1682 1688 (fontified t face font-lock-string-face) 1688 1712 (fontified t) 1712 1734 (fontified t face font-lock-string-face) 1734 1747 (fontified t) 1747 1824 (fontified t face font-lock-string-face) 1824 1836 (fontified t) 1836 1848 (fontified t face font-lock-builtin-face) 1848 1863 (fontified t) 1863 1866 (fontified t face font-lock-string-face) 1866 1867 (fontified t) 1867 1879 (fontified t face font-lock-string-face) 1879 1912 (fontified t) 1912 1929 (fontified t face font-lock-string-face) 1929 1930 (fontified t) 1930 1942 (fontified t face font-lock-string-face) 1942 1955 (fontified t) 1955 2022 (fontified t face font-lock-string-face) 2022 2035 (fontified t) 2035 2038 (fontified t face font-lock-string-face) 2038 2039 (fontified t) 2039 2053 (fontified t face font-lock-string-face) 2053 2083 (fontified t) 2083 2086 (fontified t) 2086 2102 (fontified t face font-lock-string-face) 2102 2103 (fontified t) 2103 2117 (fontified t face font-lock-string-face) 2117 2119 (fontified t) 2119 2130 (fontified t) 2130 2194 (fontified t face font-lock-string-face) 2194 2207 (fontified t) 2207 2210 (fontified t face font-lock-string-face) 2210 2211 (fontified t) 2211 2219 (fontified t face font-lock-string-face) 2219 2252 (fontified t) 2252 2270 (fontified t face font-lock-string-face) 2270 2271 (fontified t) 2271 2279 (fontified t face font-lock-string-face) 2279 2292 (fontified t) 2292 2378 (fontified t face font-lock-string-face) 2378 2391 (fontified t) 2391 2394 (fontified t face font-lock-string-face) 2394 2395 (fontified t) 2395 2401 (fontified t face font-lock-string-face) 2401 2434 (fontified t) 2434 2450 (fontified t face font-lock-string-face) 2450 2451 (fontified t) 2451 2463 (fontified t face font-lock-string-face) 2463 2476 (fontified t) 2476 2610 (fontified t face font-lock-string-face) 2610 2619 (fontified t) 2619 2622 (fontified t) 2622 2634 (fontified t face font-lock-builtin-face) 2634 2637 (fontified t) 2637 2648 (fontified t) 2648 2665 (fontified t face font-lock-builtin-face) 2665 2680 (fontified t) 2680 2683 (fontified t face font-lock-string-face) 2683 2684 (fontified t) 2684 2694 (fontified t face font-lock-string-face) 2694 2727 (fontified t) 2727 2743 (fontified t face font-lock-string-face) 2743 2744 (fontified t) 2744 2763 (fontified t face font-lock-string-face) 2763 2776 (fontified t) 2776 2885 (fontified t face font-lock-string-face) 2885 2897 (fontified t) 2897 2914 (fontified t face font-lock-builtin-face) 2914 2929 (fontified t) 2929 2932 (fontified t face font-lock-string-face) 2932 2933 (fontified t) 2933 2943 (fontified t face font-lock-string-face) 2943 2976 (fontified t) 2976 3005 (fontified t face font-lock-string-face) 3005 3006 (fontified t) 3006 3030 (fontified t face font-lock-string-face) 3030 3043 (fontified t) 3043 3137 (fontified t face font-lock-string-face) 3137 3201 (fontified t face font-lock-string-face) 3201 3202 (fontified t) 3202 3213 (fontified t) 3213 3230 (fontified t face font-lock-builtin-face) 3230 3235 (fontified t))) '(103 file-query "/Users/durand/Desktop/emacs.d/suffix tree/LCS.el" 2590) (desktop-list* 119 (record 'frameset-register (vector 'frameset 1 '(24569 44555 290847 0) 'register nil nil nil (list (list (list '(minibuffer . t) '(font-backend mac-ct) '(fontsize . 0) '(font . "-*-Droid Sans Mono for Powerline-normal-normal-normal-*-20-*-*-*-m-0-iso10646-1") '(border-width . 0) '(internal-border-width . 2) '(right-divider-width . 0) '(bottom-divider-width . 0) '(vertical-scroll-bars) '(horizontal-scroll-bars) '(foreground-color . "#ffffff") '(background-color . "#000000") '(line-spacing) '(left-fringe . 8) '(right-fringe . 8) '(no-special-glyphs) '(undecorated) '(ns-appearance . dark) '(ns-transparent-titlebar . t) '(parent-frame) '(z-group) '(no-focus-on-map) '(no-accept-focus) '(menu-bar-lines . 0) '(tool-bar-lines . 0) '(buffer-predicate) '(title) '(icon-type) '(auto-raise) '(auto-lower) '(cursor-type . box) '(scroll-bar-width . 15) '(scroll-bar-height . 15) '(alpha) '(fullscreen . maximized) '(window-system . ns) '(display-type . color) '(background-mode . dark) '(cursor-color . "#ffffff") '(environment) '(last-focus-update . t) (list 'tabs '(current-tab (name . "working") (explicit-name . t)) (list 'tab '(name . "default") '(explicit-name . t) '(time . 1610198531.271038) '(ws ((min-height . 4) (min-width . 10) (min-height-ignore . 3) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 96) (min-pixel-width . 120) (min-pixel-height-ignore . 72) (min-pixel-width-ignore . 48) (min-pixel-height-safe . 24) (min-pixel-width-safe . 24)) leaf (pixel-width . 1436) (pixel-height . 819) (total-width . 120) (total-height . 34) (normal-height . 1.0) (normal-width . 1.0) (buffer "durand" (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 117) (start . 1)) (prev-buffers ("suffix-tree.el" 7617 8143) ("durand" 1 117))) '(wc . "Unprintable entity") (desktop-list* 'wc-point (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk 117 (get-buffer "durand")))) mk)) '(wc-bl "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity") '(wc-bbl "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity") '(wc-history-back) '(wc-history-forward))) (list 'window-state '((min-height . 12) (min-width . 10) (min-height-ignore . 9) (min-width-ignore . 4) (min-height-safe . 3) (min-width-safe . 2) (min-pixel-height . 288) (min-pixel-width . 120) (min-pixel-height-ignore . 216) (min-pixel-width-ignore . 48) (min-pixel-height-safe . 72) (min-pixel-width-safe . 24)) 'vc '(pixel-width . 1436) '(pixel-height . 819) '(total-width . 120) '(total-height . 34) '(normal-height . 1.0) '(normal-width . 1.0) '(combination-limit) '(parameters (clone-of . "Unprintable entity")) (list 'vc '(pixel-width . 1436) '(pixel-height . 507) '(total-width . 120) '(total-height . 21) '(normal-height . 0.6172161172161172) '(normal-width . 1.0) '(combination-limit) '(parameters (clone-of . "Unprintable entity")) (list 'leaf '(pixel-width . 1436) '(pixel-height . 243) '(total-width . 120) '(total-height . 10) '(normal-height . 0.5) '(normal-width . 1.0) '(parameters (clone-of . "Unprintable entity")) (list 'buffer "Unprintable entity" '(selected . t) '(hscroll . 0) '(fringes 8 8 nil nil) '(margins nil) '(scroll-bars nil 0 t nil 0 t nil) '(vscroll . 0) '(dedicated) (desktop-list* 'point (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) (desktop-list* 'start (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk))) (list 'prev-buffers (list "Unprintable entity" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk) (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) (list "Unprintable entity" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk) (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) (list "Unprintable entity" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk) (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)))) (list 'leaf '(last . t) '(pixel-width . 1436) '(pixel-height . 264) '(total-width . 120) '(total-height . 11) '(normal-height . 0.5) '(normal-width . 1.0) '(parameters (clone-of . "Unprintable entity")) (list 'buffer "Unprintable entity" '(selected) '(hscroll . 0) '(fringes 8 8 nil nil) '(margins nil) '(scroll-bars nil 0 t nil 0 t nil) '(vscroll . 32.791666666666664) '(dedicated) (desktop-list* 'point (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) (desktop-list* 'start (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk))) (list 'prev-buffers (list "Unprintable entity" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk) (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk))))) (list 'leaf '(last . t) '(pixel-width . 1436) '(pixel-height . 312) '(total-width . 120) '(total-height . 13) '(normal-height . 0.38278388278388276) '(normal-width . 1.0) '(parameters (clone-of . "Unprintable entity") (window-side . bottom) (window-slot . 1)) (list 'buffer "Unprintable entity" '(selected) '(hscroll . 0) '(fringes 8 8 nil nil) '(margins nil) '(scroll-bars nil 0 t nil 0 t nil) '(vscroll . 0) '(dedicated . side) (desktop-list* 'point (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk)) (desktop-list* 'start (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk))))) '(tab-bar-lines . 1) '(frameset--id . "30A3-30F0-BF57-BE59") '(frameset--mini t . t) '(height . 35) '(width . 118) '(modeline . t) '(unsplittable) '(buffer-list "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity") '(buried-buffer-list "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity" "Unprintable entity") '(left . 0) '(top . 25) '(window-id . "1") '(icon-name) '(visibility . t) '(display . "MacBook-Pro-de-Severe.local") '(explicit-name) '(parent-id) '(tool-bar-position . top)) '((min-height . 8) (min-width . 10) (min-height-ignore . 6) (min-width-ignore . 4) (min-height-safe . 2) (min-width-safe . 2) (min-pixel-height . 192) (min-pixel-width . 120) (min-pixel-height-ignore . 144) (min-pixel-width-ignore . 48) (min-pixel-height-safe . 48) (min-pixel-width-safe . 24)) 'vc '(pixel-width . 1436) '(pixel-height . 819) '(total-width . 120) '(total-height . 34) '(normal-height . 1.0) '(normal-width . 1.0) '(combination-limit) '(leaf (pixel-width . 1436) (pixel-height . 723) (total-width . 120) (total-height . 30) (normal-height . 0.8809523809523809) (normal-width . 1.0) (buffer "suffix-tree.el" (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 8143) (start . 7650)) (prev-buffers ("suffix-tree.el" 7617 8143) ("ST.cpp" 2563 2942))) '(leaf (last . t) (pixel-width . 1436) (pixel-height . 96) (total-width . 120) (total-height . 4) (normal-height . 0.11904761904761907) (normal-width . 1.0) (buffer "test ground" (selected) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 1) (start . 1)) (prev-buffers ("test ground" 1 1)))))) "30A3-30F0-BF57-BE59" (let ((mk (make-marker))) (add-hook 'desktop-delay-hook (lambda nil (set-marker mk nil (get-buffer " *temp*")))) mk))) '(112 . #("\\prod_{p\\in\\mathscr{A}}p^{v_p}" 0 5 (face font-lock-keyword-face fontified t) 5 6 (fontified t) 6 8 (face (subscript) fontified t display (raise -0.2)) 8 11 (face (font-lock-keyword-face subscript) fontified t display (raise -0.2)) 11 19 (face (font-lock-keyword-face subscript) fontified t display (raise -0.2)) 19 21 (face (subscript) fontified t display (raise -0.2)) 21 22 (face (subscript) fontified t display (raise -0.2) rear-nonsticky t) 22 23 (face (subscript) fontified t display (raise -0.2)) 23 25 (fontified t) 25 28 (face (superscript) fontified t display (raise 0.2)) 28 29 (face (superscript subscript) fontified t display (raise -0.2)) 29 30 (face (superscript) rear-nonsticky t fontified t display (raise 0.2)))) '(116 file-query "/Users/durand/Desktop/Centre/Introduction to algebra/Questions/semi-direct products/answer.tex" 2083) '(101 . "4249:") '(107 . #("(define-key embark-occur-mode-map (vector ?\\ ) )" 0 1 (fontified t) 1 11 (face font-lock-constant-face fontified t) 11 12 (fontified t) 12 33 (face font-lock-variable-name-face fontified t) 33 34 (fontified t) 34 35 (fontified t) 35 41 (face font-lock-constant-face fontified t) 41 45 (fontified t) 45 47 (fontified t) 47 48 (rear-nonsticky t fontified t))) '(115 . #(" (insert (format \"after character %c, the tree becomes\\n\" character))\n (insert (format \"string is %s\\n\" (substring str 0 position)))\n (st-print-tree tree (substring str 0 position))\n (insert \"\\n\\n\")" 0 6 (fontified t) 6 7 (fontified t) 7 13 (fontified t face font-lock-constant-face) 13 14 (fontified t) 14 15 (fontified t) 15 21 (face font-lock-constant-face fontified t) 21 22 (fontified t) 22 62 (face font-lock-string-face fontified t) 62 72 (fontified t) 72 73 (fontified t) 73 75 (fontified t) 75 81 (fontified t) 81 82 (fontified t) 82 88 (face font-lock-constant-face fontified t) 88 89 (fontified t) 89 90 (fontified t) 90 96 (face font-lock-constant-face fontified t) 96 97 (fontified t) 97 111 (face font-lock-string-face fontified t) 111 113 (face font-lock-string-face fontified t) 113 114 (fontified t) 114 115 (fontified t) 115 124 (face font-lock-constant-face fontified t) 124 125 (fontified t) 125 139 (fontified t) 139 140 (fontified t) 140 141 (fontified t) 141 142 (fontified t) 142 143 (fontified t) 143 149 (fontified t) 149 150 (fontified t) 150 163 (face font-lock-function-name-face fontified t) 163 169 (fontified t) 169 170 (fontified t) 170 179 (face font-lock-constant-face fontified t) 179 180 (fontified t) 180 194 (fontified t) 194 195 (fontified t) 195 196 (fontified t rear-nonsticky t) 196 197 (fontified t) 197 203 (fontified t) 203 204 (fontified t) 204 210 (face font-lock-constant-face fontified t) 210 211 (fontified t) 211 212 (face font-lock-string-face fontified t) 212 217 (face font-lock-string-face fontified t) 217 218 (fontified t))) '(114 . #("\\mathscr{A}" 0 8 (face tex-math fontified t) 8 11 (face tex-math fontified t))) '(108 file-query "/Users/durand/Desktop/emacs.d/org-conf.el" 11583) '(109 file-query "/Users/durand/Desktop/emacs.d/suffix tree/generalized-suffix-tree.el" 10191) '(100 . #(";;;###autoload\n(defun )" 0 3 (fontified t face font-lock-comment-delimiter-face) 3 6 (fontified t face font-lock-comment-face) 6 13 (fontified t face (font-lock-warning-face font-lock-warning-face)) 13 14 (fontified t rear-nonsticky t face (font-lock-warning-face font-lock-warning-face)) 14 15 (fontified t face font-lock-comment-face) 15 16 (fontified t) 16 21 (fontified t face font-lock-keyword-face) 21 22 (fontified t) 22 23 (fontified t))) '(118 . #(";;;###autoload\n(defvar )" 0 3 (fontified t face font-lock-comment-delimiter-face) 3 6 (fontified t face font-lock-comment-face) 6 13 (fontified t face (font-lock-warning-face font-lock-warning-face)) 13 14 (fontified t rear-nonsticky t face (font-lock-warning-face font-lock-warning-face)) 14 15 (fontified t face font-lock-comment-face) 15 16 (fontified t) 16 22 (fontified t face font-lock-keyword-face) 22 23 (fontified t) 23 24 (fontified t))) '(97 . #(";;;###autoload" 0 3 (fontified t face font-lock-comment-delimiter-face) 3 6 (fontified t face font-lock-comment-face) 6 13 (fontified t face (font-lock-warning-face font-lock-warning-face)) 13 14 (rear-nonsticky t fontified t face (font-lock-warning-face font-lock-warning-face))))))
+(setq file-name-history '("~/Desktop/emacs.d/" "~/.doom.d/modules/lang/durand-org/config.el" "~/.doom.d/modules/lang/durand-org/" "~/.doom.d/" "~/Desktop/emacs.d/gnus-conf.el" "~/Desktop/emacs.d/suffix tree/gst test ground.txt" "~/Desktop/emacs.d/suffix tree/lcs test ground.txt" "~/Desktop/emacs.d/suffix tree/LCS.el" "~/Desktop/emacs.d/comb/orderless-conf.el" "~/Desktop/emacs.d/suffix tree/generalized-suffix-tree.el" "~/w.emacs.d/emacs/src/TAGS" "~/Desktop/emacs.d/dashboard.el" "~/Desktop/emacs.d/modes/modes.el" "~/Desktop/emacs.d/embark-conf.el" "~/Downloads/documents intéressants/Algorithms/Algorithms on Strings, Trees, and Sequences Computer Science and Computational Biology by Dan Gusfield (z-lib.org).pdf" "~/elisp_packages/pdf-tools/" "~/.emacs.d/.local/straight/build/pdf-tools/" "~/Desktop/emacs.d/org-conf.el" "~/org/notes.org" "~/Desktop/emacs.d/pdf.el" "/etc/passwd" "/usr/local/etc/dovecot/dovecot.passwd" "/usr/local/etc/dovecot/conf.d/10-master.conf" "/usr/local/etc/dovecot/conf.d/10-auth.conf" "/usr/local/etc/dovecot/conf.d/10-mail.conf" "/usr/local/etc/dovecot/dovecot.conf" "/usr/local/etc/dovecot/" "/usr/local/etc/dovecot/passwd.master" "/etc/shadow" "/usr/local/etc/dovecot/conf.d/10-ssl.conf" "~/" "/usr/local/var/run/dovecot/" "/usr/local/var/run/dovecot/dovecot.conf" "~/mbsync" "/usr/local/Cellar/dovecot/2.3.10.1/share/doc/dovecot/example-config/dovecot.conf" "/usr/local/Cellar/dovecot/2.3.10.1/share/doc/dovecot/example-config/conf.d/10-master.conf" "/usr/local/Cellar/dovecot/2.3.10.1/share/doc/dovecot/example-config/" "~/Desktop/emacs.d/view-functions.el" "~/elisp_packages/" "~/Desktop/emacs.d/suffix tree/suffix-tree files.zip" "~/Desktop/emacs.d/suffix tree/suffix-tree files" "~/Desktop/emacs.d/suffix tree/" "~/.authinfo" "~/.authinfo.gpg" "~/.mbsyncrc" "~/Desktop/emacs.d/test.gpg" "~/Desktop/emacs.d/mail.el" "/usr/local/etc/openssl/gmail.crt" "/Users/durand/.mbsyncrc" "~/.doom.d/modules/email/durand-mu/" "~/w.emacs.d/emacs/src/lisp.h" "~/w.emacs.d/emacs/src/" "~/Desktop/emacs.d/org-pdftools.el" "~/Desktop/emacs.d/backups/" "~/elisp_packages/embark/" "~/Desktop/" "~/elisp_packages/orqura/tequela.el" "~/.emacs.d/.local/straight/repos/doom-modeline/doom-modeline-core.el" "~/.emacs.d/.local/straight/repos/doom-modeline/doom-modeline-env.el" "~/.emacs.d/.local/straight/repos/doom-modeline/doom-modeline-segments.el" "~/.emacs.d/modules/ui/modeline/config.el" "~/Desktop/emacs.d/modeline.el" "~/.emacs.d/.local/straight/repos/dash.el/" "~/.emacs.d/.local/straight/repos/emacs-rime/" "~/elisp_packages/rime/" "~/elisp_packages/librime/" "~/Desktop/emacs.d/rime-conf.el" "~/.doom.d/modules/" "~/.doom.d" "~/Desktop/emacs.d/suffix tree/test ground.txt" "~/Desktop/emacs.d/suffix tree/suffix tree test ground.txt" "test ground.txt" "suffix-tree.el" "~/Desktop/emacs.d/suffix tree/ST.cpp" "~/Desktop/emacs.d/suffix tree/suffix-tree.el" "~/Desktop/emacs.d/comb/reference geeks for geeks.txt" "~/Downloads/" "~/Desktop/emacs.d/suffix tree" "~/Desktop/emacs.d/comb/" "~/Desktop/emacs.d/comb/generalized-suffix-tree.el" "~/Desktop/emacs.d/comb/generalized suffix tree.el" "~/Desktop/emacs.d/comb/test ground.txt" "~/Desktop/emacs.d/comb/test ground (windows).txt" "~/Desktop/emacs.d/comb/test ground" "~/Desktop/emacs.d/comb/ST.cpp" "ST.cpp" "comb/pdf reading progress.txt" "~/Desktop/Centre/Introduction to algebra/Questions/semi-direct products/" "~/Desktop/Centre/Introduction to algebra/Questions/semi-direct products/answer.pdf" "~/Desktop/Centre/Introduction to algebra/Questions/groups of order 1575/groups of order 1575.tex" "~/Desktop/Centre/Introduction to algebra/Questions/semi-direct products/answer.tex" "~/Desktop/Centre/Introduction to algebra/Questions/semi-direct products" "~/Desktop/Centre/Introduction to algebra/" "~/Desktop/Centre/Introduction to algebra/Questions/question.pdf" "~/Desktop/emacs.d/comb/suffiex-tree.txt" "~/Desktop/emacs.d/.gitignore" "~/Desktop/emacs.d/center-buffer.el" "~/Desktop/emacs.d/comb" "~/Desktop/emacs.d/comb/pdf reading progress.txt" "~/Desktop/emacs.d/ibuffer.el" "~/Desktop/emacs.d/comb/suffix-tree.el" "~/elisp_packages/hierarchy/hierarchy.el" "~/Desktop/emacs.d/init.el" "~/elisp_packages" "~/elisp_packages/embark/embark.el" "~/elisp_packages/embark" "~/Desktop/nnmaildir+private:private" "~/Desktop/emacs.d/basic.el" "~/.doom.d/modules/email/durand-gnus/README.org" "~/.doom.d/modules/email/durand-gnus/config.el" "~/Desktop/emacs.d/comb/*Summary nntp+news.gmane.io:gmane.emacs.devel*.ps" "~/Desktop/emacs.d/bongo.el" "~/elisp_packages/hierarchy" "~/.doom.d/modules/emacs/durand-ibuffer/config.el" "~/.doom.d/init.el" "~/.doom.d/modules/app/durand-bongo/autoload.el" "~/.doom.d/modules/app/durand-bongo/config.el" "~/Desktop/emacs.d/comb/comb.el" "~/.newsrc.eld" "~/.newsrc" "~/.nnmaildir/private" "~/.nnmaildir/" "~/.nnmaildir" "~/Desktop" "~/.gnus.el" "~/Desktop/emacs.d/GNU Emacs integrated computing environment | Protesilaos Stavrou.pdf" "/Users/durand/.gnus.el" "~/Desktop/Centre/Mes notes/casual notes/links.txt" "~/Desktop/Centre/Mes notes/casual notes" "~/Desktop/Centre/Mes notes/" "~/.doom.d/modules/editor/durand-evil/autoload.el" "~/.doom.d/modules/editor/durand-evil/config.el" "~/.doom.d/modules/editor/durand-evil/evil-setting.el" "~/.doom.d/autoload.el" "~/.doom.d/modules/email/durand-mu/autoload.el" "/Users/durand/.doom.d/modules/email/durand-mu/config.el" "~/Desktop/emacs.d/text-conf.el" "~/Desktop/emacs.d/modes/Concepts.txt" "~/Desktop/emacs.d/desktop-conf.el" "~/Desktop/emacs.d/backups" "~/Downloads/documents intéressants/Algorithms/On-line Construction Of Suffix Tree by Ukkonen in 1995.pdf" "~/Downloads/documents intéressants/Algorithms/algorithm 2.png" "~/Downloads/documents intéressants/Algorithms/" "~/Downloads/documents intéressants/Algorithms/overall algorithm in Ukkonen paper.png" "~/Desktop/emacs.d/comb/suffix-tree.txt" "/Users/durand/Downloads/documents intéressants/Algorithms/update procedure in Ukkonen paper.png" "/Users/durand/Downloads/documents intéressants/Algorithms/overall algorithm in Ukkonen paper.png" "/Users/durand/Downloads/documents intéressants/Algorithms/Algorithm 1 from Ukkonen paper.png" "~/Downloads/documents intéressants/Algorithms/overall algorithm in Ukkonen pdf.png" "~/Downloads/documents intéressants/Algorithms/update procedure in Ukkonen pdf.png" "~/Downloads/documents intéressants/Algorithms/Algorithm 1 from Ukkonen pdf.png" "~/Desktop/emacs.d/tab-conf.el" "~/Downloads/documents intéressants/Algorithms/Ukkonen power point.pdf" "~/Downloads" "~/Desktop/Centre/Musique/Chansons/Blama/文殊師利菩薩祈請文・多識仁波切 譯 ᴴᴰ དཔེ་སྐྲུན་ཁང་། ・Praise of Manjushri Bodhisattva.mp3" "/stackoverflow.com/questions/9452701/" "~/w.emacs.d/emacs/lisp/minibuffer.el" "~/Desktop/screen shot.png" "~/Desktop/Centre/Musique/Chansons/Chinois/辞洛 - Cover 一生獨一 -GY8130qPqW8.mkv" "~/Desktop/Centre/Musique/Chansons/Chinois/程響 - 世界這麼大還是遇見你 -wRmedql89Ro.webm" "~/Desktop/emacs.d/dired-conf.el" "~/Desktop/emacs.d/common.el" "~/Desktop/emacs.d/recentf-conf.el" "~/Desktop/test.png" "~/Desktop/Centre/PDF/" "~/Downloads/Algorithms on Strings, Trees, and Sequences Computer Science and Computational Biology by Dan Gusfield (z-lib.org).djvu"))
;; Buffer section -- buffers listed in same order as in buffer list:
+(desktop-create-buffer 208
+ "/Users/durand/.newsrc-dribble"
+ ".newsrc-dribble"
+ 'fundamental-mode
+ nil
+ 1927
+ '(nil nil)
+ nil
+ nil
+ '((buffer-display-time) (buffer-file-coding-system . utf-8-unix))
+ '((mark-ring nil)))
+
diff --git a/embark-conf.el b/embark-conf.el
new file mode 100644
index 0000000..d03b5bc
--- /dev/null
+++ b/embark-conf.el
@@ -0,0 +1,163 @@
+(use-package "embark" 'embark
+ (define-key global-map (vector ?\s-,) #'embark-act)
+ (define-key global-map (vector ?\s-.) #'embark-act-noexit)
+
+ (define-key minibuffer-local-completion-map (vector ?\M-q) #'embark-collect-toggle-view)
+ (define-key minibuffer-local-completion-map (vector ?\s-:) #'embark-collect-live)
+ (define-key minibuffer-local-completion-map (vector 'down) #'durand-embark-scroll-down-or-go-to-completions)
+ (define-key minibuffer-local-completion-map (vector 'up) #'durand-embark-scroll-up-or-go-to-completions)
+ (define-key minibuffer-local-completion-map (vector ?\M-o) #'embark-export)
+ (define-key minibuffer-local-completion-map (vector ?\C-o) #'embark-export)
+ (define-key minibuffer-local-completion-map (vector ?\M-v) #'embark-switch-to-collect-completions)
+ (define-key embark-collect-mode-map (vector ?,) #'embark-act)
+ (define-key embark-collect-mode-map (vector ?\M-o) #'embark-export)
+ (define-key embark-collect-mode-map (vector ?\C-o) #'embark-export)
+ (define-key embark-collect-mode-map (vector ?\M-t) #'toggle-truncate-lines)
+ (define-key embark-collect-mode-map (vector ?\M-q) #'embark-collect-toggle-view)
+ (define-key embark-collect-mode-map (vector 'down) #'durand-completion-scroll-down-or-go-to-minibuffer)
+ (define-key embark-collect-mode-map (vector 'up) #'durand-completion-scroll-up-or-go-to-minibuffer)
+
+ (define-key completion-list-mode-map (vector 'down) #'durand-completion-scroll-down-or-go-to-minibuffer)
+ (define-key completion-list-mode-map (vector 'up) #'durand-completion-scroll-up-or-go-to-minibuffer)
+
+ ;; (define-key embark-file-map (vector ?v) #'view-file)
+
+ (define-key embark-general-map (vector ?v) (lambda (&rest _args)
+ (interactive)
+ (cond
+ ((buffer-file-name)
+ (view-file (buffer-file-name))))))
+ (define-key embark-general-map (vector 127) #'durand-switch-other-buffer)
+
+;;;###autoload
+ (defun durand-switch-other-buffer (&rest _args)
+ "switch to the last used buffer"
+ (interactive)
+ (switch-to-buffer (other-buffer)))
+
+;;;###autoload
+ (defun prot-embark--live-collect-fit-window (&rest _)
+ "Fit Embark's live collect window to its buffer.
+To be added to `embark-collect-post-revert-hook'."
+ (when (string-match-p "Live" (buffer-name))
+ (fit-window-to-buffer (get-buffer-window)
+ (floor (frame-height) 2) 1)))
+
+;;;###autoload
+ (defun prot-embark--live-buffer-p ()
+ "Determine presence of a linked live collect buffer."
+ (let* ((buf-link embark-collect-linked-buffer)
+ (buf-name (buffer-name buf-link)))
+ (when buf-name
+ (string-match-p "Embark Live Collect" buf-name))))
+
+;;;###autoload
+ (defun prot-embark-live-collect-toggle ()
+ "Toggle `embark-live-collect', call `prot-embark-live-collect-hook'."
+ (interactive)
+ (if (prot-embark--live-buffer-p)
+ (kill-buffer embark-collect-linked-buffer)
+ (embark-collect-live)))
+
+;;;###autoload
+ (defun durand-embark-scroll-down-or-go-to-completions (&optional arg)
+ "Scroll down; if this is not feasible, go to the completions buffer.
+ARG means do this command ARG times."
+ (interactive "p")
+ (let ((original-point (point))
+ (left (abs (forward-line arg)))
+ (completion-windows
+ (delq nil
+ (mapcar
+ (lambda (w)
+ (and (consp
+ (delq nil
+ (mapcar (lambda (name)
+ (string-match-p
+ name
+ (buffer-name (window-buffer w))))
+ durand-completion-buffer-names)))
+ w))
+ (window-list nil 'nomini))))
+ (in-completion-p (consp
+ (delq nil
+ (mapcar
+ (lambda (name)
+ (string-match-p name (buffer-name)))
+ durand-completion-buffer-names)))))
+ (cond ((= (point) (point-max))
+ (setq left (1+ left)))
+ ((get-text-property (point) 'field)
+ (goto-char original-point)))
+ (cond ((and (> left 0)
+ (consp completion-windows)
+ (not in-completion-p))
+ (select-window (car completion-windows))
+ (cond
+ ((> arg 0)
+ (goto-char (point-min))
+ (cond
+ ((derived-mode-p 'completion-list-mode)
+ (next-completion 1))))
+ ((< arg 0)
+ (goto-char (point-max))
+ (cond
+ ((derived-mode-p 'completion-list-mode)
+ (next-completion -1)))))))))
+
+;;;###autoload
+ (defun durand-embark-scroll-up-or-go-to-completions (&optional arg)
+ "Scroll up; if this is not feasible, go to the completions buffer.
+ARG means do this command ARG times."
+ (interactive "p")
+ (durand-embark-scroll-down-or-go-to-completions (- arg)))
+
+;;;###autoload
+ (defun durand-completion-scroll-down-or-go-to-minibuffer (&optional arg)
+ "Scroll down; if this is not feasible, go to the mini-buffer.
+ARG means do this command ARG times."
+ (interactive "p")
+ (let ((original-point (point))
+ (left (abs (forward-line arg)))
+ (minibuffer-active-p (active-minibuffer-window))
+ (in-minibuffer-p (minibuffer-window-active-p (selected-window))))
+ (cond ((= (point) (point-max))
+ (setq left (1+ left)))
+ ((get-text-property (point) 'field)
+ (goto-char original-point)))
+ (cond ((and (> left 0)
+ minibuffer-active-p
+ (not in-minibuffer-p))
+ (select-window (active-minibuffer-window))
+ (cond
+ ((> arg 0)
+ (goto-char (point-min)))
+ ((< arg 0)
+ (goto-char (point-max))))))))
+
+;;;###autoload
+ (defun durand-completion-scroll-up-or-go-to-minibuffer (&optional arg)
+ "Scroll up; if this is not feasible, go to the mini-buffer.
+ARG means do this command ARG times."
+ (interactive "p")
+ (durand-completion-scroll-down-or-go-to-minibuffer (- arg)))
+
+ ;; (set 'embark-occur-minibuffer-completion t)
+
+ (add-hook 'embark-collect-post-revert-hook #'prot-embark--live-collect-fit-window))
+
+;;; Actually there is no difference between putting the configuration
+;;; after and inside the use-package form.
+
+(define-key input-decode-map (vector 27) nil)
+(define-key input-decode-map (vector 27) (vector 'escape))
+
+(define-key global-map (vector 'escape) #'embark-act)
+
+(use-package "marginalia" 'marginalia
+ (setq marginalia-annotators
+ '(marginalia-annotators-heavy
+ marginalia-annotators-light))
+ (marginalia-mode 1))
+
+
diff --git a/gnus-conf.el b/gnus-conf.el
index 1a5ff18..f1b0b2c 100644
--- a/gnus-conf.el
+++ b/gnus-conf.el
@@ -1,15 +1,31 @@
;;; gnus-conf.el --- My Gnus configurations -*- lexical-binding: t; -*-
(require 'gnus)
+(require 'epa)
+(epa-file-enable)
(setq gnus-select-method '(nnnil ""))
(setq gnus-secondary-select-methods
- '((nntp "news.gmane.io")
+ '(;; (nntp "news.gmane.io")
(nnmaildir "private" (directory "~/.nnmaildir"))
- (nnmaildir "sent" (directory "~/.nnmaildir"))))
+ ;; (nnmaildir "sent" (directory "~/.nnmaildir"))
+ ;; (nnimap "LocalMail"
+ ;; (nnimap-address "localhost")
+ ;; (nnimap-stream network)
+ ;; (nnimap-server-port 143))
+ ))
(setq gnus-ignored-from-addresses "mmemmew@gmail.com")
+(setq send-mail-function #'smtpmail-send-it)
+(setq smtpmail-smtp-user "mmemmew@gmail.com")
+
+(setq gnus-user-agent '(emacs gnus config))
+
+(setq mail-user-agent 'gnus-user-agent)
+
+(setq read-mail-command 'gnus)
+
(set 'gnus-novice-user nil)
(setq nnmail-expiry-wait 'immediate)
@@ -18,7 +34,7 @@
'((".*"
(posting-style
(gcc "nnmaildir+private:Sent")
- (From (format "%s" user-full-name))))))
+ (From (format "Durand <%s>" user-mail-address))))))
(require 'gnus-msg)
diff --git a/init.el b/init.el
index 9d94c06..6896744 100644
--- a/init.el
+++ b/init.el
@@ -137,6 +137,12 @@ then FUNCTION-NAME will be defined as DEF after loading."
(load-config "embark-conf.el")
+;;; magit
+
+(load-after-function magit "magit-conf.el" "Load magit and launch it." nil
+ (defalias 'magit 'magit-status)
+ (magit))
+
;;; Don't let s-q quit as I oft press that by accident.
(define-key global-map (vector ?\s-q) #'window-toggle-side-windows)
diff --git a/magit-conf.el b/magit-conf.el
new file mode 100644
index 0000000..c10732e
--- /dev/null
+++ b/magit-conf.el
@@ -0,0 +1,6 @@
+;; Well, a lot of dependencies
+
+(use-package "dash.el" 'dash)
+(use-package "with-editor" 'with-editor)
+(use-package "transient/lisp" 'transient)
+(use-package "magit/lisp/" 'magit)
diff --git a/modeline.el b/modeline.el
index 7da967e..0fdd0d5 100644
--- a/modeline.el
+++ b/modeline.el
@@ -43,6 +43,7 @@
(defun modeline-format-right ()
"The right mode line format."
(concat
+ (modeline-format-input-method)
(modeline-format-major-mode)
(modeline-format-vc-mode)))
@@ -137,6 +138,14 @@ MAP is the local keymap of the text."
(defface doom-modeline-buffer-major-mode nil
"The face for mode line major mode.")
+;;;###autoload
+(defface doom-modeline-input-method nil
+ "The face for mode line input method.")
+
+;;;###autoload
+(defface doom-modeline-input-method-alt nil
+ "The alternative face for mode line input method.")
+
;;; Various sections of the mode line
;;;###autoload
@@ -482,3 +491,24 @@ This will be displayed in the mode line."
(get-text-property 1 'help-echo vc-mode)
(get-text-property 1 'local-map vc-mode))
(modeline-spc)))))
+
+;;;###autoload
+(defun modeline-format-input-method ()
+ "Display the current input method on the mode line."
+ (cond
+ (current-input-method
+ (concat
+ (modeline-spc)
+ (modeline-propertize
+ (propertize
+ current-input-method-title
+ 'face (cond ((modeline-active-window-p) 'doom-modeline-input-method)
+ (t 'mode-line-inactive)))
+ nil
+ (format "Current input method: %s\nmouse-2: Disable input method\nmouse-3: Describe current input method"
+ current-input-method)
+ mode-line-input-method-map)
+ (modeline-spc))
+ )
+ (t "")))
+
diff --git a/org-conf.el b/org-conf.el
index e978e22..d252657 100644
--- a/org-conf.el
+++ b/org-conf.el
@@ -1,7 +1,8 @@
;;; -*- lexical-binding: t; -*-
(setq org-latex-packages-alist '(("" "amsfonts" t))
- org-format-latex-options (plist-put org-format-latex-options :scale 1.5))
+ ;; org-format-latex-options (plist-put org-format-latex-options :scale 1.5)
+ )
;; tempo
@@ -46,6 +47,7 @@
(browse-url (concat scheme ":" url) arg))))
(use-package "tablist" 'tablist)
+(setq pdf-info-epdfinfo-program "/Users/durand/elisp_packages/pdf-tools/epdfinfo" )
(load-config "org-pdftools.el")
(set 'org-pdftools-link-prefix "pdfview")
(org-pdftools-setup-link)
@@ -238,7 +240,46 @@ in Lisp code use `org-set-tags' instead."
which cost from inactive-time shop-and-items)))
(setq org-capture-templates
- '(("g" "GNUS" entry
+ '(("d" "Record Diaries" entry
+ (file+olp+datetree "~/org/diary.org")
+ "* %?\n :PROPERTIES:\n :RECORD_TIME: %U\n :END:\n\n"
+ :jump-to-captured t)
+ ("l" "Store links" entry
+ (file "/Users/durand/org/math_article_links.org")
+ "* TO-THINK %? %(org-insert-time-stamp (org-read-date nil t \"+0d\") nil t)\n%a\n" :kill-buffer t)
+ ("L" "for storing webpages" entry
+ #'org-determine-link-file
+ "* PENDING %(org-filter-title) %(org-determine-tag)\n :PROPERTIES:\n :RECORD_TIME: %U\n :END:\n\n %(org-filtered-link)\n %i\n %?"
+ :empty-lines 1
+ :kill-buffer t
+ :immediate-finish t)
+ ("t" "TODO" entry
+ (file "~/org/aujourdhui.org")
+ "* TODO %? %^{Date to do:}t\n :PROPERTIES:\n :RECORD_TIME: %U\n :END:\n\n"
+ :kill-buffer t)
+ ;; ("b" "Blog posts" entry
+ ;; (file+headline "~/org/notes.org" "Blog posts")
+ ;; "* %? %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%i\n")
+ ;; ("a" "Abstractions" entry
+ ;; (file+headline "~/org/wiki.org" "Abstractions")
+ ;; "* ABSTRACT %?\n :PROPERTIES:\n :RECORD_TIME: %U\n :END:\n\n")
+ ("A" "Agenda" entry
+ (file+headline "~/org/agenda.org" "Agenda")
+ "* TODO %?\n :PROPERTIES:\n :RECORD_TIME: %U\n :DURATION: %^{Date: }t\n :END:\n\n")
+ ;; ("y" "YiFu" entry
+ ;; (file+headline "~/org/wiki.org" "Yi Fu Tips")
+ ;; "* MEMO %^{word}\n :PROPERTIES:\n :STORY: %\\2\n :MEANING: %\\3\n :END:\n** Yi Fu story\n %^{story}\n** Meaning\n %^{meaning}"
+ ;; :kill-buffer t
+ ;; :immediate-finish t)
+ ("c" "Chansons" entry
+ (file+headline "~/org/wiki.org" "Liste de Chansons")
+ "* MEMO %^{title}\n :PROPERTIES:\n :RECORD_TIME: %U\n :LINK: [[%^{link}][%^{description}]]\n :END:\n %?"
+ :jump-to-captured t)
+ ;; ("f" "français" entry
+ ;; (file+headline "~/org/français/français.org" "Liste de mots français")
+ ;; "* MEMO %^{mot} :drill:\n :PROPERTIES:\n :DRILL_CARD_TYPE: français\n :RECORD_TIME: %U\n :MEANING: %^{ce qu'il veut dire}\n :END:\n\n MEANING: %\\2\n%?"
+ ;; :jump-to-captured t)
+ ("g" "GNUS" entry
(file "~/org/notes.org")
"* TO-THINK %:subject\n :PROPERTIES:\n :RECORD_TIME: %U\n :END:\n %:from\n %:to\n %a\n %?"
:empty-lines 1
@@ -307,3 +348,82 @@ in Lisp code use `org-set-tags' instead."
;; ("m" "sections with time"
;; ((durand-agenda-command-sections-time)))
))
+
+;;; novel addresses
+;;;###autoload
+(defvar durand-novel-addresses-regexp '("uukanshu"
+ "ptwxz"
+ "piaotian"
+ "101novel"
+ "booktxt")
+ "Regexp for matching a novel website.")
+
+;;;###autoload
+(defun org-determine-link-file ()
+ "Go to the file to capture to based upon the URL"
+ (let* ((link (plist-get org-store-link-plist :link))
+ (file-name
+ (cond
+ ((string-match-p "https?://www.youtube.com" link)
+ "youtube_links.org")
+ ((or
+ (string-match-p "https?://math.stackexchange.com" link)
+ (string-match-p "https?://mathoverflow.net/" link))
+ "math_article_links.org")
+ ((let ((temp durand-novel-addresses-regexp)
+ result)
+ (while (and (consp temp) (not result))
+ (cond
+ ((string-match-p (car temp) link)
+ (setq result t)))
+ (setq temp (cdr temp)))
+ result)
+ "notes.org")
+ ((string-match-p "https?://stacks.math.columbia.edu/" link)
+ "math_article_links.org")
+ (t
+ "notes.org"))))
+ (find-file (expand-file-name file-name org-directory))
+ (goto-char (point-max))))
+
+;; filter title in the link
+;;;###autoload
+(defun org-filtered-link ()
+ "Filter out some unnecessary parts in the link description"
+ (let* ((link (plist-get org-store-link-plist :link))
+ (title (plist-get org-store-link-plist :description))
+ (filtered (cond ((string-match-p " - Mathematics Stack Exchange" title)
+ (replace-match "" nil nil title))
+ ((string-match-p " - YouTube" title)
+ (replace-match "" nil nil title))
+ ((string-match-p "\\(.*?\\)最新章节列表,\\1无弹窗_UU看书" title)
+ (replace-match "\\1" nil nil title))
+ (t
+ title))))
+ (org-make-link-string link filtered)))
+
+;; Determine tag based upon the URL
+;;;###autoload
+(defun org-determine-tag ()
+ "Determine tag based upon the URL"
+ (let ((link (plist-get org-store-link-plist :link)))
+ (cond
+ ((string-match-p "https?://www.youtube.com" link)
+ ":youtube:")
+ ((or
+ (string-match-p "https?://math.stackexchange.com" link)
+ (string-match-p "https?://mathoverflow.net/" link))
+ ":stack:web_link:")
+ ((let ((temp durand-novel-addresses-regexp)
+ result)
+ (while (and (consp temp) (not result))
+ (cond
+ ((string-match-p (car temp) link)
+ (setq result t)))
+ (setq temp (cdr temp)))
+ result)
+ ":roman:")
+ ((string-match-p "https?://stacks.math.columbia.edu/" link)
+ ":web_link:stack:")
+ (t
+ ":web_link:"))))
diff --git a/pdf.el b/pdf.el
index 5ec5c58..cd44664 100644
--- a/pdf.el
+++ b/pdf.el
@@ -1,2 +1,2 @@
-(use-package "pdf-tools" 'pdf-view
- )
+(use-package "pdf-tools/lisp" 'pdf-view
+ (define-key pdf-view-mode-map (vector ?y) #'pdf-view-previous-line-or-previous-page))
diff --git a/recentf b/recentf
index 7715881..3dce653 100644
--- a/recentf
+++ b/recentf
@@ -1,27 +1,25 @@
-;;; Automatically generated by ‘recentf’ on Fri Jan 8 20:45:28 2021.
+;;; Automatically generated by ‘recentf’ on Tue Jan 12 20:06:14 2021.
(setq recentf-list
'(
- "/Users/durand/.newsrc.eld"
- "/Users/durand/org/math_article_links.org"
- "/Users/durand/org/aujourdhui.org"
- "/Users/durand/org/agenda.org"
- "/Users/durand/org/notes.org"
+ "/Users/durand/.newsrc-dribble"
"/Users/durand/Desktop/emacs.d/gnus-conf.el"
- "/usr/local/Cellar/emacs-plus@27/27.1/share/emacs/27.1/lisp/gnus/gnus-group.el.gz"
- "/Users/durand/elisp_packages/hierarchy/hierarchy.el"
- "/Users/durand/.emacs.d/bookmarks"
- "/Users/durand/Desktop/emacs.d/init.el"
- "/Users/durand/Desktop/emacs.d/comb/suffix-tree.el"
- "/Users/durand/Downloads/documents intéressants/Algorithms/Algorithms on Strings, Trees, and Sequences Computer Science and Computational Biology by Dan Gusfield (z-lib.org).pdf"
- "/Users/durand/Desktop/emacs.d/comb/orderless-conf.el"
- "/Users/durand/Desktop/emacs.d/ibuffer.el"
- "/usr/local/Cellar/emacs-plus@27/27.1/share/emacs/27.1/lisp/ibuffer.el.gz"
- "/Users/durand/Desktop/emacs.d/basic.el"
+ "/Users/durand/.authinfo.gpg"
+ "/Users/durand/.mbsyncrc"
+ "/Users/durand/.newsrc.eld"
+ "/Users/durand/Desktop/emacs.d/mail.el"
+ "/usr/local/etc/openssl/gmail.crt"
+ "/Users/durand/.doom.d/modules/editor/durand-evil/autoload.el"
+ "/Users/durand/Desktop/emacs.d/suffix tree/lcs test ground.txt"
+ "/Users/durand/elisp_packages/orderless/orderless.el"
+ "/Users/durand/Desktop/emacs.d/view-functions.el"
+ "/Users/durand/w.emacs.d/emacs/src/lisp.h"
+ "/Users/durand/w.emacs.d/emacs/src/fns.c"
+ "/Users/durand/Desktop/emacs.d/suffix tree/generalized-suffix-tree.el"
+ "/Users/durand/Desktop/emacs.d/suffix tree/LCS.el"
+ "/Users/durand/Desktop/emacs.d/org-conf.el"
+ "/Users/durand/Desktop/emacs.d/org-pdftools.el"
"/Users/durand/Desktop/emacs.d/embark-conf.el"
- "/Users/durand/Desktop/emacs.d/common.el"
- "/Users/durand/elisp_packages/embark/embark.el"
- "/Users/durand/Desktop/nnmaildir+private:private"
))
(setq recentf-filter-changer-current 'nil)
diff --git a/rime-conf.el b/rime-conf.el
new file mode 100644
index 0000000..8bb25fd
--- /dev/null
+++ b/rime-conf.el
@@ -0,0 +1,50 @@
+;;; rime-conf.el --- Configurations of rime -*- lexical-binding: t; -*-
+
+;;; Author: Durand
+;;; Version: 0.0.1
+
+;;; Commentary:
+
+;;; My configurations of rime.
+
+;;; Code:
+
+(use-package "dash.el" 'dash)
+
+(use-package "emacs-rime" 'rime
+ (define-key global-map (vector ?\s-i) #'toggle-input-method)
+ (setq rime-librime-root "~/elisp_packages/librime/dist")
+ (add-to-list 'rime-translate-keybindings "RET")
+ (add-to-list 'rime-translate-keybindings "[")
+ (add-to-list 'rime-translate-keybindings "]")
+ (setq default-input-method "rime"
+ ;; rime-show-candidate 'posframe
+ rime-user-data-dir (expand-file-name "rime" load-file-directory))
+
+;;; HACK: Fix a function
+ (defun durand-rime-send-keybinding-a ()
+ "Fix a weird function."
+ (let* ((parsed (rime--parse-key-event last-input-event))
+ (key-raw (car parsed))
+ (key (if (numberp key-raw)
+ key-raw
+ (pcase key-raw
+ ('home 65360)
+ ('left 65361)
+ ('up 65362)
+ ('right 65363)
+ ('down 65364)
+ ('prior 65365)
+ ('next 65366)
+ ('delete 65535)
+ (_ key-raw))))
+ (mask (cdr parsed)))
+ (unless (numberp key)
+ (error "Can't send this keybinding to librime"))
+ (rime-lib-process-key key mask)
+ (rime--redisplay)
+ (rime--refresh-mode-state)))
+ (advice-add 'rime-send-keybinding :override #'durand-rime-send-keybinding-a))
+
+(provide 'rime-conf)
+;; rime-conf.el ends here
diff --git a/suffix tree/LCS.el b/suffix tree/LCS.el
new file mode 100644
index 0000000..989c25e
--- /dev/null
+++ b/suffix tree/LCS.el
@@ -0,0 +1,314 @@
+;;; LCS.el --- Longest Common Substrings of multiple strings -*- lexical-binding: t; -*-
+
+;;; Author: Durand
+;;; Version: 0.0.1
+
+;;; Commentary:
+
+;; First generate a generalized suffix tree of the strings, then
+;; traverses the tree in a depth-first manner to find the nodes under
+;; which there are suffixes from each and every string in question.
+;; Finally collect and return the list of all substrings which are
+;; common to all input strings and which have the longest length.
+
+;;; Code:
+
+;;; Our building block
+(require 'generalized-suffix-tree)
+
+;;;###autoload
+(defun lcs-string (strs)
+ "Return the longest common substring of STRS."
+ (lcs-interpret (lcs strs) strs))
+
+;;;###autoload
+(defun lcs-edge-length (node str-lens)
+ "Return the length of the edge going into NODE.
+Unlike `gst-edge-length', this does not need to know about POSITION
+and NUM, since it is assumed that the tree is already built
+before calling this function."
+ (let ((start (car (cdr node)))
+ (end (cond
+ ((eq (car (cdr (cdr node))) 'infty)
+ (nth (car node) str-lens))
+ (t (car (cdr (cdr node)))))))
+ (- end start)))
+
+;;;###autoload
+(defun lcs-get-parent-length (parents)
+ "Return the length of the parent strings PARENTS."
+ (let* ((ls parents)
+ (result 0))
+ (while (consp ls)
+ (setq result (+ result (- (caddr (car ls))
+ (cadr (car ls)))))
+ (setq ls (cdr ls)))
+ result))
+
+;;;###autoload
+(defun lcs-get-env (node str-lens)
+ "Return the information we want to keep on the stack."
+ (let ((num (car node))
+ (start (car (cdr node)))
+ (end (cond
+ ((eq (car (cdr (cdr node))) 'infty)
+ (nth (car node) str-lens))
+ (t (car (cdr (cdr node))))))
+ (children (car (nthcdr 4 node))))
+ (list num start end children)))
+
+;;; For debug purposes
+
+;;;###autoload
+(defmacro lcs-debug (&rest vars)
+ "Print the names and the values of VARS."
+ `(insert
+ (mapconcat 'identity
+ (list
+ ,@(mapcar
+ (lambda (var)
+ `(format "%s: %S"
+ ,(symbol-name var)
+ ,var))
+ vars))
+ "\n")
+ "\n"))
+
+;;;###autoload
+(defun lcs-pretty-stack-element (element)
+ "Return a pretty representation of ELEMENT."
+ (concat
+ "("
+ (mapconcat
+ (lambda (slot)
+ (format "%S"
+ (cond
+ ((hash-table-p slot)
+ (gst-pretty-hash-table slot))
+ ((consp slot)
+ (mapconcat #'lcs-pretty-stack-element slot ", "))
+ (t slot))))
+ element ", ")
+ ")"))
+
+;;;###autoload
+(defun lcs-pretty-stack (stack)
+ "Prettify a stack."
+ (concat
+ "[ "
+ (mapconcat #'lcs-pretty-stack-element
+ stack
+ ",")
+ " ]"
+ "\n"))
+
+;;;###autoload
+(defun lcs-prepare-env (long-env)
+ "Take the first three elements out of LONG-ENV."
+ (cons (car long-env)
+ (cons (cadr long-env)
+ (cons (caddr long-env)
+ nil))))
+
+;;; Interpreting the result
+
+;;;###autoload
+(defun lcs-interpret (result strs &optional just-length)
+ "Since the raw RESULT of `lcs' is not human-readable, we interpret it.
+If JUST-LENGTH is non-nil, then this only returns the length of
+the longest common substrings. Otherwise, it returns the longest
+common substrings themselves.
+
+Of course, without STRS, we don't even know what our strings are."
+ (cond
+ (just-length (car result))
+ (t (mapcar
+ (lambda (one-result)
+ (let ((chain one-result)
+ temp res-str)
+ (while (consp one-result)
+ (setq temp (car one-result))
+ (setq res-str
+ (concat
+ (let ((nstr (nth (car temp) strs)))
+ (substring nstr
+ (cadr temp)
+ (min (caddr temp) (length nstr))))
+ res-str))
+ (setq one-result (cdr one-result)))
+ res-str))
+ (cadr result)))))
+
+;;; The main engine
+
+;;;###autoload
+(defun lcs (strs &optional just-length)
+ "Return the longest common substring of a list STRS of strings.
+
+If JUST-LENGTH is non-nil, then this only returns the length of the
+longest common substring. Otherwise, it returns the length as well as the
+longest common substring itself."
+ (let* ((strs (mapcar (lambda (str)
+ (vconcat str (list -1)))
+ strs))
+ (str-lens (mapcar #'length strs))
+ (tree (gst-build-for-strs strs str-lens))
+ (max-height 0)
+ (bits-table (make-hash-table))
+ (discovered-table (make-hash-table))
+ (all-common (1- (expt 2 (length strs))))
+ max-env stack current temp)
+ ;; The format of elements on the stack is as follows.
+ ;; (number start end children node-number parents)
+
+ ;; Here number identifies the string this comes from. start, end
+ ;; and children have the same meaning as in the tree. Node-number
+ ;; is the number of the node that is recorded in the hash-table
+ ;; tree. And finally parents is a list of triples that represents
+ ;; parent segments.
+ (setq stack (progn
+ (maphash
+ (lambda (letter node)
+ (setq temp
+ (cons
+ (append
+ (lcs-get-env (gethash node tree) str-lens)
+ (list node nil ; parent strings represented as a triple of integers
+ ))
+ temp)))
+ (car (nthcdr 4 (gethash 1 tree))))
+ temp))
+ (setq temp nil)
+ ;; (insert (format "count: %d\n" count))
+ ;; (lcs-debug all-common)
+ ;; (insert "stack: " (lcs-pretty-stack stack))
+ (while (consp stack)
+ ;; (insert "stack: " (lcs-pretty-stack stack))
+ (setq current (car stack))
+ (let ((current-length (+ (lcs-get-parent-length (car (nthcdr 5 current)))
+ (- (min (caddr current)
+ ;; The final character does
+ ;; not count!
+ (1- (nth (car current)
+ str-lens)))
+ (cadr current))))
+ (current-env (list (car current)
+ (cadr current)
+ (caddr current)
+ (car (nthcdr 3 current))))
+ (current-children (car (nthcdr 3 current))))
+ ;; (insert (format "\n\ncount: %d\n" count))
+ ;; (insert "current: " (lcs-pretty-stack-element current) "\n")
+ ;; (lcs-debug current-length max-env max-height)
+ ;; (insert (format "current children: %S\n" (gst-pretty-hash-table current-children)))
+ ;; (insert (format
+ ;; "discovered: %S\n"
+ ;; (gst-pretty-hash-table discovered-table)))
+ ;; (insert (format
+ ;; "bits: %S\n"
+ ;; (gst-pretty-hash-table bits-table)))
+ (cond
+ ((not (hash-table-empty-p current-children)) ; There are children
+ (cond
+ ((gethash (car (nthcdr 4 current)) discovered-table)
+ ;; This node is already traversed
+ ;; This means we have already given bits to its children
+ (let ((bit (progn
+ (setq temp 0)
+ (maphash (lambda (child-letter child-num)
+ (setq
+ temp
+ (logior temp
+ (gethash child-num bits-table))))
+ current-children)
+ temp)
+ ;; An alternative
+ ;; (apply #'logior
+ ;; (mapcar (lambda (num)
+ ;; (gethash num bits-table))
+ ;; (hash-table-values current-children)))
+ ))
+ (setq temp nil)
+ (puthash (car (nthcdr 4 current)) bit bits-table)
+ ;; (lcs-debug bit)
+ ;; (insert (format
+ ;; "bits: %S\n"
+ ;; (gst-pretty-hash-table bits-table)))
+ (cond
+ ((= bit all-common) ; a common substring
+ (cond
+ ((> current-length max-height)
+ (setq max-height current-length)
+ (setq max-env (list
+ (cons
+ (list (car current)
+ (cadr current)
+ (caddr current))
+ (mapcar #'lcs-prepare-env
+ (car (nthcdr 5 current)))))))
+ ((= current-length max-height)
+ (setq max-env
+ (cons (cons
+ (list (car current)
+ (cadr current)
+ (caddr current))
+ (mapcar #'lcs-prepare-env
+ (car (nthcdr 5 current))))
+ max-env)))))))
+ (setq stack (cdr stack)))
+ (t ; a new node!
+ (setq stack
+ (append
+ (progn
+ (maphash
+ (lambda (letter node)
+ (setq temp
+ (cons
+ (append
+ (lcs-get-env (gethash node tree) str-lens)
+ (list node
+ (cons current-env (car (nthcdr 5 current)))))
+ temp)))
+ current-children)
+ temp)
+ stack))
+ (puthash (car (nthcdr 4 current)) 1 discovered-table)
+ ;; (insert (format "current children: %S\n" (gst-pretty-hash-table current-children)))
+ ;; (insert "stack: " (lcs-pretty-stack stack))
+ (setq temp nil))))
+ (t ; a leaf
+ (let* ((node-number (car (nthcdr 4 current)))
+ (leaf-labels (car (nthcdr 5 (gethash node-number tree))))
+ (bit (apply #'logior
+ (mapcar (lambda (label)
+ (ash 1 (car label)))
+ leaf-labels))))
+ ;; (insert "leaf")
+ ;; (lcs-debug node-number leaf-labels bit)
+ (puthash node-number bit bits-table)
+ (cond
+ ((= bit all-common) ; a common substring
+ (cond
+ ((> current-length max-height)
+ (setq max-height current-length)
+ (setq max-env (list
+ (cons
+ (list (car current)
+ (cadr current)
+ (caddr current))
+ (mapcar #'lcs-prepare-env
+ (car (nthcdr 5 current)))))))
+ ((= current-length max-height)
+ (setq max-env
+ (cons (cons
+ (list (car current)
+ (cadr current)
+ (caddr current))
+ (mapcar #'lcs-prepare-env
+ (car (nthcdr 5 current))))
+ max-env))))))
+ (setq stack (cdr stack)))))))
+ (list max-height max-env)))
+
+(provide 'lcs)
+;;; LCS.el ends here
diff --git a/suffix tree/ST.cpp b/suffix tree/ST.cpp
new file mode 100644
index 0000000..cad0ccb
--- /dev/null
+++ b/suffix tree/ST.cpp
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2016 Sergey Makagonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#include <iostream>
+#include <stdio.h>
+#include <string>
+
+const int oo = 1<<25;
+const int ALPHABET_SIZE = 256;
+const int MAXN = 5000;
+
+using namespace std;
+
+int root, last_added, pos, needSL, remainder,
+ active_node, active_e, active_len;
+
+struct node {
+/*
+ There is no need to create an "Edge" struct.
+ Information about the edge is stored right in the node.
+ [start; end) interval specifies the edge,
+ by which the node is connected to its parent node.
+*/
+
+ int start, end, slink;
+ int next[ALPHABET_SIZE];
+
+ int edge_length() {
+ return min(end, pos + 1) - start;
+ }
+};
+
+node tree[2*MAXN];
+char text[MAXN];
+
+int new_node(int start, int end = oo) {
+ node nd;
+ nd.start = start;
+ nd.end = end;
+ nd.slink = 0;
+ for (int i = 0; i < ALPHABET_SIZE; i++)
+ nd.next[i] = 0;
+ tree[++last_added] = nd;
+ return last_added;
+}
+
+char active_edge() {
+ return text[active_e];
+}
+
+void add_SL(int node) {
+ if (needSL > 0) tree[needSL].slink = node;
+ needSL = node;
+}
+
+bool walk_down(int node) {
+ if (active_len >= tree[node].edge_length()) {
+ active_e += tree[node].edge_length();
+ active_len -= tree[node].edge_length();
+ active_node = node;
+ return true;
+ }
+ return false;
+}
+
+void st_init() {
+ needSL = 0, last_added = 0, pos = -1,
+ remainder = 0, active_node = 0, active_e = 0, active_len = 0;
+ root = active_node = new_node(-1, -1);
+}
+
+void st_extend(char c) {
+ text[++pos] = c;
+ needSL = 0;
+ remainder++;
+ while(remainder > 0) {
+ if (active_len == 0) active_e = pos;
+ if (tree[active_node].next[active_edge()] == 0) {
+ int leaf = new_node(pos);
+ tree[active_node].next[active_edge()] = leaf;
+ add_SL(active_node); //rule 2
+ } else {
+ int nxt = tree[active_node].next[active_edge()];
+ if (walk_down(nxt)) continue; //observation 2
+ if (text[tree[nxt].start + active_len] == c) { //observation 1
+ active_len++;
+ add_SL(active_node); //observation 3
+ break;
+ }
+ int split = new_node(tree[nxt].start, tree[nxt].start + active_len);
+ tree[active_node].next[active_edge()] = split;
+ int leaf = new_node(pos);
+ tree[split].next[c] = leaf;
+ tree[nxt].start += active_len;
+ tree[split].next[text[tree[nxt].start]] = nxt;
+ add_SL(split); //rule 2
+ }
+ remainder--;
+ if (active_node == root && active_len > 0) { //rule 1
+ active_len--;
+ active_e = pos - remainder + 1;
+ } else
+ active_node = tree[active_node].slink > 0 ? tree[active_node].slink : root; //rule 3
+ }
+}
+
+int main() {
+ //
+ return 0;
+}
diff --git a/suffix tree/generalized-suffix-tree.el b/suffix tree/generalized-suffix-tree.el
new file mode 100644
index 0000000..227aea9
--- /dev/null
+++ b/suffix tree/generalized-suffix-tree.el
@@ -0,0 +1,398 @@
+;;; generalized-suffiex-tree.el --- Building a generalized suffix tree -*- lexical-binding: t; -*-
+
+;;; Author: Durand
+;;; Version: 0.0.2
+
+;;; Commentary:
+
+;; Our node is represented as a list of the following elements:
+
+;; number , from which string this edge comes
+;; start , which is the starting index of the edge going from its parent
+;; node to this node
+;; end , the index of the end of the above edge
+;; suffix-link, the index of the node this node's suffix-link points to
+;; children , a hash-table of pairs of integers and indices of its
+;; children
+;; leaf-labels, a list of pairs (number start), where
+;; number means the number-th string and
+;; start is the starting position of this edge.
+;; This element is nil for the internal nodes.
+
+;; To compute the length of the edge going into NODE we use:
+;; (- (min end (1+ position)) start)
+;; which is actually how far the position is on that edge,
+;; if it is on that edge.
+
+;; We use only one terminating symbol, and that is -1.
+
+;;; Code:
+
+;;;###autoload
+(defun gst-min (&rest args)
+ "Return the minimum among ARGS.
+If an argument is 'infty, then it is considered greater than
+every number."
+ (apply #'min (delq nil
+ (mapcar
+ (lambda (arg)
+ (cond
+ ((number-or-marker-p arg) arg)
+ ((eq arg 'infty) nil)))
+ args))))
+
+;;;###autoload
+(defun gst-edge-length (node position num str-lens)
+ "Return the length of the edge into NODE.
+See the comment above this function for the reason
+POSITION and NUM are here."
+ (let* ((node-active-num (car node))
+ (leafp (eq (car (cdr (cdr node))) 'infty))
+ (leaf-labels (cond (leafp (car (nthcdr 5 node))))))
+ (- (cond
+ ((and (/= node-active-num num)
+ leafp)
+ (nth node-active-num str-lens))
+ ((/= node-active-num num)
+ (caddr node))
+ (t (gst-min (caddr node) (1+ position))))
+ (cond
+ ((and (= node-active-num num)
+ leafp)
+ (or (cadr (assoc num leaf-labels #'eq))
+ (cadr node)))
+ (t (cadr node))))))
+
+;;;###autoload
+(defun gst-new-node (tree last-added number start &optional end suffix-start)
+ "Make a new node with START and END as the coming edge.
+NUMBER is the number of string the label belongs to.
+Then add the new node to TREE.
+LAST-ADDED is the number of elements already in the TREE."
+ (let* ((end (or end 'infty) ;; 'infty represents the index of a leaf
+ )
+ (suffix-link 0) ;; The suffix link is initially 0
+ (new-node
+ (cond ((eq end 'infty)
+ (list number start end suffix-link (make-hash-table)
+ (list (list number suffix-start))))
+ (t
+ (list number start end suffix-link (make-hash-table))))))
+ (puthash (1+ last-added) new-node tree)
+ (1+ last-added)))
+
+;;;###autoload
+(defun gst-add-leaf-label (tree leaf number start)
+ "Add a label to LEAF."
+ (let* ((actual-node (gethash leaf tree))
+ (leaf-labels (cdr (cdr (cdr (cdr (cdr actual-node)))))))
+ (cond ((consp leaf-labels)
+ (setcar leaf-labels
+ (cons (list number start)
+ (car leaf-labels)))))))
+
+;;;###autoload
+(defun gst-add-suffix-link (tree need-sl node)
+ "If NEED-SL is positive, then add the suffix link.
+In particular, the node corresponding to NEED-SL in TREE
+gets a suffix link pointing to NODE.
+
+This always returns NODE."
+ (cond
+ ((and (> need-sl 1) (/= need-sl node))
+ (setcar (cdr (cdr (cdr (gethash need-sl tree)))) node)))
+ node)
+
+;;;###autoload
+(defun gst-canonize (tree node position active-number active-edge-index active-length active-node
+ str-lens)
+ "Walk down TREE to find the correct active point."
+ (let* ((actual-node (gethash node tree))
+ (node-edge-length (gst-edge-length actual-node position active-number
+ str-lens)))
+ (cond
+ ((>= active-length node-edge-length)
+ (list t
+ active-number
+ (+ active-edge-index
+ node-edge-length)
+ (- active-length
+ node-edge-length)
+ node))
+ (t
+ (list nil
+ active-number
+ active-edge-index
+ active-length
+ active-node)))))
+
+;;;###autoload
+(defsubst gst-aref (strs num index)
+ "Return the INDEX-th element in NUM-th element of STRS."
+ (aref (nth num strs) index))
+
+;;;###autoload
+(defun gst-extend-tree (tree last-added position remain
+ active-node active-number active-edge-index
+ active-length character strs num str-lens)
+ "Extend a tree by CHARACTER in NUM-th string of STRS.
+The return value is
+(tree
+ last-added remain active-node
+ active-number active-edge-index active-length)"
+ (let* ((need-sl 0)
+ (remain (1+ remain))
+ continue-p breakp)
+ (while (and (not breakp) (> remain 0))
+ (setq continue-p nil breakp nil)
+ (cond
+ ((= active-length 0)
+ (setq active-edge-index position)
+ (setq active-number num)))
+ (let* ((actual-node (gethash active-node tree))
+ (nxt (cond
+ (actual-node
+ (gethash (gst-aref strs active-number active-edge-index)
+ (cadr (cdr (cdr (cdr actual-node)))))))))
+ (cond
+ ((null nxt)
+ (let ((leaf (gst-new-node tree last-added num position nil
+ (- position remain -1))))
+ (setq last-added leaf)
+ (puthash (gst-aref strs active-number active-edge-index)
+ leaf
+ (cadr (cdr (cdr (cdr (gethash active-node tree))))))
+ (setq need-sl (gst-add-suffix-link tree need-sl active-node)))
+ ;; rule 2
+ )
+ (t
+ (let* ((result (gst-canonize
+ tree nxt position active-number
+ active-edge-index active-length active-node
+ str-lens)))
+ (cond
+ ((car result)
+ ;; observation 2
+ (setq active-number (car (cdr result)))
+ (setq active-edge-index (car (cdr (cdr result))))
+ (setq active-length (car (cdr (cdr (cdr result)))))
+ (setq active-node (car (cdr (cdr (cdr (cdr result))))))
+ (setq continue-p t))
+ (t
+ (cond
+ ((eq (gst-aref strs
+ (car (gethash nxt tree))
+ (+ active-length
+ (cadr (gethash nxt tree))))
+ character)
+ ;; observation 1
+ (setq active-length (1+ active-length))
+ (setq need-sl (gst-add-suffix-link tree need-sl active-node))
+ (setq breakp t)
+ ;; add a label
+ (cond
+ ((eq character -1) ; terminating symbol
+ (gst-add-leaf-label tree nxt num (- position remain -1))))))
+ (cond
+ (breakp)
+ (t ;; splitting
+ (let ((split (gst-new-node
+ tree last-added (car (gethash nxt tree)) (cadr (gethash nxt tree))
+ (+ (cadr (gethash nxt tree)) active-length))))
+ (setq last-added split)
+ (puthash
+ (gst-aref strs active-number active-edge-index)
+ split (cadr (cdr (cdr (cdr (gethash active-node tree))))))
+ (let ((leaf (gst-new-node tree last-added num position
+ nil (- position remain -1))))
+ (setq last-added leaf)
+ (puthash character leaf
+ (cadddr (cdr (gethash split tree))))
+ (setcar (cdr (gethash nxt tree))
+ (+ (cadr (gethash nxt tree))
+ active-length))
+ (puthash (gst-aref strs
+ (car (gethash nxt tree))
+ (cadr (gethash nxt tree)))
+ nxt
+ (cadddr (cdr (gethash split tree))))
+ ;; rule 2
+ (setq need-sl
+ (gst-add-suffix-link tree need-sl split)))))))))))
+ (cond
+ ((or continue-p breakp))
+ (t
+ (setq remain (1- remain))
+ (cond
+ ((and (eq active-node 1) ; root
+ (> active-length 0))
+ (setq active-length (1- active-length))
+ (setq active-edge-index
+ (1+ (- position remain))))
+ (t
+ (setq active-node
+ (let ((slink (cadddr (gethash active-node tree))))
+ (cond ; follow the suffix link or go to root
+ ((> slink 1) slink)
+ (t 1))))))))))
+ (list tree last-added remain active-node
+ active-number active-edge-index active-length)))
+
+;;;###autoload
+(defun gst-build-for-strs (strs &optional str-lens)
+ "Build the generalized suffix tree for STRS.
+One can optionally provide STR-LENS to avoid calculating the
+lengths again."
+ (let* ((len (length strs))
+ (index 0)
+ (tree (make-hash-table))
+ (last-added 0)
+ (active-node (gst-new-node tree last-added index -1 -1))
+ (str-lens (or str-lens (mapcar #'length strs))))
+ (setq last-added active-node)
+ (while (< index len)
+ (let* ((position 0)
+ (character (ignore-errors (gst-aref strs index position)))
+ (remain 0)
+ (active-node 1) ; start from the root
+ (active-number index)
+ (active-edge-index 0)
+ (active-length 0)
+ old-character result) ; temporary holder
+ (while character
+ (setq old-character character)
+ (setq result (gst-extend-tree tree last-added position remain
+ active-node active-number active-edge-index
+ active-length character strs index
+ str-lens))
+ (setq tree (pop result))
+ (setq last-added (pop result))
+ (setq remain (pop result))
+ (setq active-node (pop result))
+ (setq active-number (pop result))
+ (setq active-edge-index (pop result))
+ (setq active-length (pop result))
+ (setq position (1+ position))
+ (setq character (ignore-errors (gst-aref strs index position)))
+ (cond
+ ((characterp old-character)
+ (insert (format "After adding character %c:\n" old-character))
+ (gst-print-tree tree
+ (append (seq-take strs index)
+ (list (concat
+ (seq-take (nth index strs) position)
+ "$"))))
+ (insert "\n\n"))
+ ((= old-character -1)
+ (insert (format "After adding character -1:\n"))
+ (gst-print-tree tree
+ (seq-take strs (1+ index)))
+ (insert "\n\n")))))
+ (setq index (1+ index))
+ (insert "\n \n"))
+ tree))
+
+;;; Printing
+
+;; This section is not necessary. It is here just to print the trees
+;; to make sure we don't make some strange errors.
+
+(require 'hierarchy)
+(require 'seq)
+
+;;;###autoload
+(defun gst-print-strs (strs)
+ "Print strings STRS nicely."
+ (mapc (lambda (str)
+ (mapc (lambda (char)
+ (cond ((characterp char) (insert char))
+ (t (insert ", "))))
+ str))
+ strs))
+
+;;;###autoload
+(defun gst-pretty-hash-table (table)
+ "Only returns the useful parts from a table."
+ (let (keys-values-alist)
+ (maphash
+ (lambda (key value)
+ (setq keys-values-alist
+ (cons
+ (cons key value)
+ keys-values-alist)))
+ table)
+ keys-values-alist))
+
+;;;###autoload
+(defun gst-pretty-node (node)
+ "Outputs a prettified NODE."
+ (format "(%d %d %s %d %s %S)"
+ (car node) (cadr node)
+ (caddr node) (cadddr node)
+ (gst-pretty-hash-table (car (nthcdr 4 node)))
+ (car (nthcdr 5 node))))
+
+;;;###autoload
+(defun gst-print-tree-for-strs (strs)
+ "Print the generalized suffix tree for STRS."
+ (let* ((strs (mapcar (lambda (str)
+ (vconcat str (list -1)))
+ strs))
+ (symbol (make-symbol "gtree")))
+ (set symbol (gst-build-for-strs strs))
+ (insert "Generalized suffix tree for: ")
+ (gst-print-strs strs)
+ (delete-region (- (point) 2) (point))
+ (insert ":\n")
+ (gst-print-tree (symbol-value symbol) strs)))
+
+;;;###autoload
+(defvar gst-full-error-p nil
+ "Whether to print full nodes in the output.")
+
+;;;###autoload
+(defun gst-print-tree (tree strs)
+ "Print TREE with the aid of STRS."
+ (let* ((symbol-tree (make-symbol "new-hierarchy")))
+ (set symbol-tree (hierarchy-new))
+ (maphash
+ (lambda (key value)
+ (hierarchy-add-tree
+ (symbol-value symbol-tree) key nil
+ (lambda (item)
+ (hash-table-values (car (nthcdr 4 (gethash item tree)))))))
+ tree)
+ (hierarchy-print
+ (symbol-value symbol-tree)
+ (lambda (item)
+ (cond ((= item 1) "root")
+ (t (let ((actual-str
+ (let* ((node (gethash item tree))
+ (leafp (eq (caddr node) 'infty))
+ (leaf-labels
+ (cond (leafp (car (nthcdr 5 node))))))
+ (concat
+ (seq-subseq
+ (nth (car node) strs)
+ (min (cadr node) (1- (length (nth (car node) strs))))
+ (cond (leafp -1)
+ (t (caddr node))))
+ (cond
+ (leafp
+ (apply
+ #'concat
+ (mapcar
+ (lambda (label)
+ (let ((first (car label))
+ (second (cadr label)))
+ (format "$ (%d : %d)"
+ first second)))
+ leaf-labels))))))))
+ (cond (gst-full-error-p
+ (concat
+ (format "key: %d, %s, %s" item actual-str
+ (gst-pretty-node (gethash item tree)))))
+ (t actual-str)))))))))
+
+(provide 'generalized-suffix-tree)
+;;; generalized-suffiex-tree.el ends here
diff --git a/suffix tree/gst test ground.txt b/suffix tree/gst test ground.txt
new file mode 100644
index 0000000..2dad02e
--- /dev/null
+++ b/suffix tree/gst test ground.txt
@@ -0,0 +1,12291 @@
+Generalized suffix tree for: abab, baba:
+root
+ a
+ $ (1 : 3)
+ b
+ $ (0 : 2)
+ a
+ $ (1 : 1)
+ b$ (0 : 0)
+ b
+ $ (0 : 3)
+ a
+ $ (1 : 2)
+ b
+ a$ (1 : 0)
+ $ (0 : 1)
+ $ (1 : 4)$ (0 : 4)
+
+
+
+Generalized suffix tree for: abab, baba, cbabd:
+root
+ a
+ $ (1 : 3)
+ b
+ $ (0 : 2)
+ a
+ $ (1 : 1)
+ b$ (0 : 0)
+ d$ (2 : 2)
+ b
+ $ (0 : 3)
+ a
+ $ (1 : 2)
+ b
+ a$ (1 : 0)
+ $ (0 : 1)
+ d$ (2 : 1)
+ d$ (2 : 3)
+ $ (2 : 5)$ (1 : 4)$ (0 : 4)
+ cbabd$ (2 : 0)
+ d$ (2 : 4)
+
+
+
+After adding character i:
+root
+ i$ (0 : 0)
+
+
+After adding character d:
+root
+ id$ (0 : 0)
+ d$ (0 : 1)
+
+
+After adding character o:
+root
+ ido$ (0 : 0)
+ do$ (0 : 1)
+ o$ (0 : 2)
+
+
+After adding character -:
+root
+ ido-$ (0 : 0)
+ do-$ (0 : 1)
+ o-$ (0 : 2)
+ -$ (0 : 3)
+
+
+After adding character c:
+root
+ ido-c$ (0 : 0)
+ do-c$ (0 : 1)
+ o-c$ (0 : 2)
+ -c$ (0 : 3)
+ c$ (0 : 4)
+
+
+After adding character o:
+root
+ ido-co$ (0 : 0)
+ do-co$ (0 : 1)
+ o-co$ (0 : 2)
+ -co$ (0 : 3)
+ co$ (0 : 4)
+
+
+After adding character m:
+root
+ ido-com$ (0 : 0)
+ do-com$ (0 : 1)
+ o
+ m$ (0 : 5)
+ -com$ (0 : 2)
+ -com$ (0 : 3)
+ com$ (0 : 4)
+ m$ (0 : 6)
+
+
+After adding character p:
+root
+ ido-comp$ (0 : 0)
+ do-comp$ (0 : 1)
+ o
+ mp$ (0 : 5)
+ -comp$ (0 : 2)
+ -comp$ (0 : 3)
+ comp$ (0 : 4)
+ mp$ (0 : 6)
+ p$ (0 : 7)
+
+
+After adding character l:
+root
+ ido-compl$ (0 : 0)
+ do-compl$ (0 : 1)
+ o
+ mpl$ (0 : 5)
+ -compl$ (0 : 2)
+ -compl$ (0 : 3)
+ compl$ (0 : 4)
+ mpl$ (0 : 6)
+ pl$ (0 : 7)
+ l$ (0 : 8)
+
+
+After adding character e:
+root
+ ido-comple$ (0 : 0)
+ do-comple$ (0 : 1)
+ o
+ mple$ (0 : 5)
+ -comple$ (0 : 2)
+ -comple$ (0 : 3)
+ comple$ (0 : 4)
+ mple$ (0 : 6)
+ ple$ (0 : 7)
+ le$ (0 : 8)
+ e$ (0 : 9)
+
+
+After adding character t:
+root
+ ido-complet$ (0 : 0)
+ do-complet$ (0 : 1)
+ o
+ mplet$ (0 : 5)
+ -complet$ (0 : 2)
+ -complet$ (0 : 3)
+ complet$ (0 : 4)
+ mplet$ (0 : 6)
+ plet$ (0 : 7)
+ let$ (0 : 8)
+ et$ (0 : 9)
+ t$ (0 : 10)
+
+
+After adding character i:
+root
+ ido-completi$ (0 : 0)
+ do-completi$ (0 : 1)
+ o
+ mpleti$ (0 : 5)
+ -completi$ (0 : 2)
+ -completi$ (0 : 3)
+ completi$ (0 : 4)
+ mpleti$ (0 : 6)
+ pleti$ (0 : 7)
+ leti$ (0 : 8)
+ eti$ (0 : 9)
+ ti$ (0 : 10)
+
+
+After adding character o:
+root
+ i
+ o$ (0 : 11)
+ do-completio$ (0 : 0)
+ do-completio$ (0 : 1)
+ o
+ mpletio$ (0 : 5)
+ -completio$ (0 : 2)
+ -completio$ (0 : 3)
+ completio$ (0 : 4)
+ mpletio$ (0 : 6)
+ pletio$ (0 : 7)
+ letio$ (0 : 8)
+ etio$ (0 : 9)
+ tio$ (0 : 10)
+
+
+After adding character n:
+root
+ i
+ on$ (0 : 11)
+ do-completion$ (0 : 0)
+ do-completion$ (0 : 1)
+ o
+ mpletion$ (0 : 5)
+ -completion$ (0 : 2)
+ n$ (0 : 12)
+ -completion$ (0 : 3)
+ completion$ (0 : 4)
+ mpletion$ (0 : 6)
+ pletion$ (0 : 7)
+ letion$ (0 : 8)
+ etion$ (0 : 9)
+ tion$ (0 : 10)
+ n$ (0 : 13)
+
+
+After adding character s:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ do-completions$ (0 : 1)
+ o
+ mpletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ completions$ (0 : 4)
+ mpletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+
+
+After adding character -1:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ do-completions$ (0 : 1)
+ o
+ mpletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ completions$ (0 : 4)
+ mpletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+
+
+After adding character c:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ do-completions$ (0 : 1)
+ o
+ mpletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ completions$ (0 : 4)
+ mpletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character o:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ do-completions$ (0 : 1)
+ o
+ mpletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ completions$ (0 : 4)
+ mpletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character m:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ do-completions$ (0 : 1)
+ o
+ mpletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ completions$ (0 : 4)
+ mpletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character i:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ do-completions$ (0 : 1)
+ o
+ m
+ i$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ i$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ i$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character n:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ n$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ in$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ in$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ in$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ ns$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character t:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ tions$ (0 : 10)
+ n
+ t$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character -:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character c:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-c$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-c$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-c$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-c$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -c$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-c$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character o:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-co$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-co$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-co$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-co$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -co$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-co$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character m:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-com$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-com$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-com$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-com$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -com$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-com$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character p:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-comp$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-comp$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-comp$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-comp$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -comp$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-comp$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character l:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-compl$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-compl$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-compl$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-compl$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -compl$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-compl$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character e:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-comple$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-comple$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-comple$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-comple$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -comple$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-comple$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character t:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-complet$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-complet$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-complet$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-complet$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -complet$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-complet$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character i:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completi$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completi$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-completi$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-completi$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -completi$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-completi$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character o:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completio$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completio$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-completio$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-completio$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -completio$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-completio$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character n:
+root
+ i
+ ons$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion$ (1 : 1)
+ pletions$ (0 : 5)
+ -completions$ (0 : 2)
+ ns$ (0 : 12)
+ -completions$ (0 : 3)
+ com
+ int-completion$ (1 : 0)
+ pletions$ (0 : 4)
+ m
+ int-completion$ (1 : 2)
+ pletions$ (0 : 6)
+ pletions$ (0 : 7)
+ letions$ (0 : 8)
+ etions$ (0 : 9)
+ t
+ -completion$ (1 : 5)
+ ions$ (0 : 10)
+ n
+ t-completion$ (1 : 4)
+ s$ (0 : 13)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character -:
+root
+ i
+ on
+ -$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-$ (1 : 1)
+ pletion
+ -$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -$ (1 : 15)
+ s$ (0 : 12)
+ -completion
+ -$ (1 : 6)
+ s$ (0 : 3)
+ com
+ int-completion-$ (1 : 0)
+ pletion
+ -$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-$ (1 : 2)
+ pletion
+ -$ (1 : 9)
+ s$ (0 : 6)
+ pletion
+ -$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -completion-$ (1 : 5)
+ ion
+ -$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-$ (1 : 4)
+ s$ (0 : 13)
+ -$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+
+
+After adding character a:
+root
+ i
+ on
+ -a$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-a$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-a$ (1 : 1)
+ pletion
+ -a$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -a$ (1 : 15)
+ s$ (0 : 12)
+ -
+ a$ (1 : 17)
+ completion
+ -a$ (1 : 6)
+ s$ (0 : 3)
+ com
+ int-completion-a$ (1 : 0)
+ pletion
+ -a$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-a$ (1 : 2)
+ pletion
+ -a$ (1 : 9)
+ s$ (0 : 6)
+ pletion
+ -a$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -a$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -a$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -completion-a$ (1 : 5)
+ ion
+ -a$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-a$ (1 : 4)
+ s$ (0 : 13)
+ -a$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ a$ (1 : 18)
+
+
+After adding character t:
+root
+ i
+ on
+ -at$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at$ (1 : 1)
+ pletion
+ -at$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at$ (1 : 15)
+ s$ (0 : 12)
+ -
+ at$ (1 : 17)
+ completion
+ -at$ (1 : 6)
+ s$ (0 : 3)
+ com
+ int-completion-at$ (1 : 0)
+ pletion
+ -at$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at$ (1 : 2)
+ pletion
+ -at$ (1 : 9)
+ s$ (0 : 6)
+ pletion
+ -at$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -completion-at$ (1 : 5)
+ ion
+ -at$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at$ (1 : 4)
+ s$ (0 : 13)
+ -at$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at$ (1 : 18)
+
+
+After adding character -:
+root
+ i
+ on
+ -at-$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at-$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-$ (1 : 1)
+ pletion
+ -at-$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-$ (1 : 15)
+ s$ (0 : 12)
+ -
+ at-$ (1 : 17)
+ completion
+ -at-$ (1 : 6)
+ s$ (0 : 3)
+ com
+ int-completion-at-$ (1 : 0)
+ pletion
+ -at-$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-$ (1 : 2)
+ pletion
+ -at-$ (1 : 9)
+ s$ (0 : 6)
+ pletion
+ -at-$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -completion-at-$ (1 : 5)
+ ion
+ -at-$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at-$ (1 : 4)
+ s$ (0 : 13)
+ -at-$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at-$ (1 : 18)
+
+
+After adding character p:
+root
+ i
+ on
+ -at-p$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at-p$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-p$ (1 : 1)
+ pletion
+ -at-p$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-p$ (1 : 15)
+ s$ (0 : 12)
+ -
+ at-p$ (1 : 17)
+ completion
+ -at-p$ (1 : 6)
+ s$ (0 : 3)
+ p$ (1 : 20)
+ com
+ int-completion-at-p$ (1 : 0)
+ pletion
+ -at-p$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-p$ (1 : 2)
+ pletion
+ -at-p$ (1 : 9)
+ s$ (0 : 6)
+ pletion
+ -at-p$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-p$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-p$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ p$ (1 : 19)
+ completion-at-p$ (1 : 5)
+ ion
+ -at-p$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at-p$ (1 : 4)
+ s$ (0 : 13)
+ -at-p$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at-p$ (1 : 18)
+
+
+After adding character o:
+root
+ i
+ on
+ -at-po$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at-po$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-po$ (1 : 1)
+ pletion
+ -at-po$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-po$ (1 : 15)
+ s$ (0 : 12)
+ -
+ at-po$ (1 : 17)
+ completion
+ -at-po$ (1 : 6)
+ s$ (0 : 3)
+ po$ (1 : 20)
+ com
+ int-completion-at-po$ (1 : 0)
+ pletion
+ -at-po$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-po$ (1 : 2)
+ pletion
+ -at-po$ (1 : 9)
+ s$ (0 : 6)
+ p
+ o$ (1 : 21)
+ letion
+ -at-po$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-po$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-po$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ po$ (1 : 19)
+ completion-at-po$ (1 : 5)
+ ion
+ -at-po$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at-po$ (1 : 4)
+ s$ (0 : 13)
+ -at-po$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at-po$ (1 : 18)
+
+
+After adding character i:
+root
+ i
+ on
+ -at-poi$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at-poi$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-poi$ (1 : 1)
+ pletion
+ -at-poi$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-poi$ (1 : 15)
+ s$ (0 : 12)
+ i$ (1 : 22)
+ -
+ at-poi$ (1 : 17)
+ completion
+ -at-poi$ (1 : 6)
+ s$ (0 : 3)
+ poi$ (1 : 20)
+ com
+ int-completion-at-poi$ (1 : 0)
+ pletion
+ -at-poi$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-poi$ (1 : 2)
+ pletion
+ -at-poi$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oi$ (1 : 21)
+ letion
+ -at-poi$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-poi$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-poi$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ poi$ (1 : 19)
+ completion-at-poi$ (1 : 5)
+ ion
+ -at-poi$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at-poi$ (1 : 4)
+ s$ (0 : 13)
+ -at-poi$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at-poi$ (1 : 18)
+
+
+After adding character n:
+root
+ i
+ on
+ -at-poin$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at-poin$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-poin$ (1 : 1)
+ pletion
+ -at-poin$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-poin$ (1 : 15)
+ s$ (0 : 12)
+ in$ (1 : 22)
+ -
+ at-poin$ (1 : 17)
+ completion
+ -at-poin$ (1 : 6)
+ s$ (0 : 3)
+ poin$ (1 : 20)
+ com
+ int-completion-at-poin$ (1 : 0)
+ pletion
+ -at-poin$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-poin$ (1 : 2)
+ pletion
+ -at-poin$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oin$ (1 : 21)
+ letion
+ -at-poin$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-poin$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-poin$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ poin$ (1 : 19)
+ completion-at-poin$ (1 : 5)
+ ion
+ -at-poin$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at-poin$ (1 : 4)
+ s$ (0 : 13)
+ -at-poin$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at-poin$ (1 : 18)
+
+
+After adding character t:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt-completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ n
+ t-completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (0 : 15)
+ at-point$ (1 : 18)
+
+
+After adding character -1:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+
+
+
+
+After adding character p:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+
+
+After adding character r:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ r$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ r$ (2 : 1)
+
+
+After adding character e:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ re$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ etion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ re$ (2 : 1)
+
+
+After adding character v:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ rev$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ v$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ rev$ (2 : 1)
+ v$ (2 : 3)
+
+
+After adding character i:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revi$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vi$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revi$ (2 : 1)
+ vi$ (2 : 3)
+
+
+After adding character o:
+root
+ i
+ on
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revio$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vio$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revio$ (2 : 1)
+ vio$ (2 : 3)
+
+
+After adding character u:
+root
+ i
+ o
+ u$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ u$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ reviou$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ viou$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ reviou$ (2 : 1)
+ viou$ (2 : 3)
+ u$ (2 : 6)
+
+
+After adding character s:
+root
+ i
+ o
+ us$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s$ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious$ (2 : 1)
+ vious$ (2 : 3)
+ us$ (2 : 6)
+
+
+After adding character -:
+root
+ i
+ o
+ us-$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-$ (2 : 1)
+ vious-$ (2 : 3)
+ us-$ (2 : 6)
+
+
+After adding character c:
+root
+ i
+ o
+ us-c$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-c$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-c$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-c$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -c$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-c$ (2 : 1)
+ vious-c$ (2 : 3)
+ us-c$ (2 : 6)
+
+
+After adding character o:
+root
+ i
+ o
+ us-co$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-co$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-co$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-co$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -co$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-co$ (2 : 1)
+ vious-co$ (2 : 3)
+ us-co$ (2 : 6)
+
+
+After adding character m:
+root
+ i
+ o
+ us-com$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-com$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-com$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-com$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -com$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-com$ (2 : 1)
+ vious-com$ (2 : 3)
+ us-com$ (2 : 6)
+
+
+After adding character p:
+root
+ i
+ o
+ us-comp$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-comp$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-comp$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-comp$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -comp$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-comp$ (2 : 1)
+ vious-comp$ (2 : 3)
+ us-comp$ (2 : 6)
+
+
+After adding character l:
+root
+ i
+ o
+ us-compl$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-compl$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-compl$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-compl$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -compl$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-compl$ (2 : 1)
+ vious-compl$ (2 : 3)
+ us-compl$ (2 : 6)
+
+
+After adding character e:
+root
+ i
+ o
+ us-comple$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-comple$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-comple$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-comple$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -comple$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-comple$ (2 : 1)
+ vious-comple$ (2 : 3)
+ us-comple$ (2 : 6)
+
+
+After adding character t:
+root
+ i
+ o
+ us-complet$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-complet$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-complet$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-complet$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -complet$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-complet$ (2 : 1)
+ vious-complet$ (2 : 3)
+ us-complet$ (2 : 6)
+
+
+After adding character i:
+root
+ i
+ o
+ us-completi$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-completi$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-completi$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-completi$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -completi$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completi$ (2 : 1)
+ vious-completi$ (2 : 3)
+ us-completi$ (2 : 6)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completio$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-completio$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-completio$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-completio$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -completio$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completio$ (2 : 1)
+ vious-completio$ (2 : 3)
+ us-completio$ (2 : 6)
+
+
+After adding character n:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character -1:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+
+
+After adding character c:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character m:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character p:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character l:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character t:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character i:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character n:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+
+
+After adding character f:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ f$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ f$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ f$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ f$ (3 : 10)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ f$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ f$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ f$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -
+ f$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ f$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ f$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ f$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ f$ (3 : 11)
+
+
+After adding character l:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ fl$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ fl$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ fl$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ fl$ (3 : 10)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ fl$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ fl$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ fl$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -
+ fl$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ fl$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ fl$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ fl$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ fl$ (3 : 11)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ fle$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ fle$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ fle$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ fle$ (3 : 10)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ fle$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ fle$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ fle$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ letion
+ -
+ fle$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ fle$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ fle$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ fle$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ fle$ (3 : 11)
+
+
+After adding character x:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex$ (3 : 10)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x$ (3 : 12)
+ tion
+ -
+ flex$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex$ (3 : 11)
+ x$ (3 : 14)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex-$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex-$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex-$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex-$ (3 : 10)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex-$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex-$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex-$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x-$ (3 : 12)
+ tion
+ -
+ flex-$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex-$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex-$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex-$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-$ (3 : 11)
+ x-$ (3 : 14)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--$ (3 : 10)
+ -$ (3 : 15)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--$ (3 : 12)
+ tion
+ -
+ flex--$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--$ (3 : 11)
+ x--$ (3 : 14)
+
+
+After adding character m:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--m$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--m$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--m$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--m$ (3 : 10)
+ -m$ (3 : 15)
+ m$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--m$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--m$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--m$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--m$ (3 : 12)
+ tion
+ -
+ flex--m$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--m$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--m$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--m$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--m$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--m$ (3 : 11)
+ x--m$ (3 : 14)
+
+
+After adding character a:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--ma$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--ma$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--ma$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--ma$ (3 : 10)
+ -ma$ (3 : 15)
+ ma$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--ma$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--ma$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--ma$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--ma$ (3 : 12)
+ tion
+ -
+ flex--ma$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--ma$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--ma$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--ma$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--ma$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ at-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--ma$ (3 : 11)
+ x--ma$ (3 : 14)
+
+
+After adding character k:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--mak$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--mak$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--mak$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--mak$ (3 : 10)
+ -mak$ (3 : 15)
+ mak$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--mak$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--mak$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ak$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--mak$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--mak$ (3 : 12)
+ tion
+ -
+ flex--mak$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--mak$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--mak$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--mak$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--mak$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ k$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--mak$ (3 : 11)
+ x--mak$ (3 : 14)
+ k$ (3 : 19)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make$ (3 : 10)
+ -make$ (3 : 15)
+ make$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make$ (3 : 12)
+ tion
+ -
+ flex--make$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make$ (3 : 13)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make$ (3 : 11)
+ x--make$ (3 : 14)
+ ke$ (3 : 19)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make-$ (3 : 10)
+ -make-$ (3 : 15)
+ make-$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make-$ (3 : 12)
+ tion
+ -
+ flex--make-$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make-$ (3 : 13)
+ -$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make-$ (3 : 11)
+ x--make-$ (3 : 14)
+ ke-$ (3 : 19)
+
+
+After adding character f:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-f$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-f$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-f$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make-f$ (3 : 10)
+ -make-f$ (3 : 15)
+ make-f$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-f$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-f$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-f$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-f$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make-f$ (3 : 12)
+ tion
+ -
+ flex--make-f$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-f$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make-f$ (3 : 13)
+ -f$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-f$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-f$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-f$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make-f$ (3 : 11)
+ x--make-f$ (3 : 14)
+ ke-f$ (3 : 19)
+
+
+After adding character l:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-fl$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-fl$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-fl$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make-fl$ (3 : 10)
+ -make-fl$ (3 : 15)
+ make-fl$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-fl$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-fl$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-fl$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-fl$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make-fl$ (3 : 12)
+ tion
+ -
+ flex--make-fl$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-fl$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make-fl$ (3 : 13)
+ -fl$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-fl$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-fl$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-fl$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make-fl$ (3 : 11)
+ x--make-fl$ (3 : 14)
+ ke-fl$ (3 : 19)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-fle$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-fle$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-fle$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make-fle$ (3 : 10)
+ -make-fle$ (3 : 15)
+ make-fle$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-fle$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-fle$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-fle$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-fle$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make-fle$ (3 : 12)
+ tion
+ -
+ flex--make-fle$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-fle$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make-fle$ (3 : 13)
+ -fle$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-fle$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-fle$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-fle$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make-fle$ (3 : 11)
+ x--make-fle$ (3 : 14)
+ ke-fle$ (3 : 19)
+
+
+After adding character x:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make-flex$ (3 : 10)
+ -make-flex$ (3 : 15)
+ make-flex$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make-flex$ (3 : 12)
+ tion
+ -
+ flex--make-flex$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make-flex$ (3 : 13)
+ -flex$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make-flex$ (3 : 11)
+ x--make-flex$ (3 : 14)
+ ke-flex$ (3 : 19)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex--make-flex-$ (3 : 10)
+ -make-flex-$ (3 : 15)
+ make-flex-$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x--make-flex-$ (3 : 12)
+ tion
+ -
+ flex--make-flex-$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x--make-flex-$ (3 : 13)
+ -flex-$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex--make-flex-$ (3 : 11)
+ x--make-flex-$ (3 : 14)
+ ke-flex-$ (3 : 19)
+
+
+After adding character p:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-p$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-p$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-p$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ point$ (1 : 20)
+ flex-
+ p$ (3 : 21)
+ -make-flex-p$ (3 : 10)
+ -make-flex-p$ (3 : 15)
+ make-flex-p$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-p$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-p$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-p$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-p$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ le
+ x-
+ p$ (3 : 23)
+ -make-flex-p$ (3 : 12)
+ tion
+ -
+ flex--make-flex-p$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-p$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ p$ (3 : 24)
+ -make-flex-p$ (3 : 13)
+ -flex-p$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-p$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-p$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-p$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ p$ (3 : 22)
+ -make-flex-p$ (3 : 11)
+ x-
+ p$ (3 : 25)
+ -make-flex-p$ (3 : 14)
+ ke-flex-p$ (3 : 19)
+
+
+After adding character a:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pa$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pa$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pa$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ a$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pa$ (3 : 21)
+ -make-flex-pa$ (3 : 10)
+ -make-flex-pa$ (3 : 15)
+ make-flex-pa$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pa$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pa$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pa$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pa$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ a$ (3 : 27)
+ le
+ x-
+ pa$ (3 : 23)
+ -make-flex-pa$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pa$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pa$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pa$ (3 : 24)
+ -make-flex-pa$ (3 : 13)
+ -flex-pa$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pa$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pa$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pa$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pa$ (3 : 22)
+ -make-flex-pa$ (3 : 11)
+ x-
+ pa$ (3 : 25)
+ -make-flex-pa$ (3 : 14)
+ ke-flex-pa$ (3 : 19)
+
+
+After adding character t:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pat$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pat$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pat$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ at$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pat$ (3 : 21)
+ -make-flex-pat$ (3 : 10)
+ -make-flex-pat$ (3 : 15)
+ make-flex-pat$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pat$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pat$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pat$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pat$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ at$ (3 : 27)
+ le
+ x-
+ pat$ (3 : 23)
+ -make-flex-pat$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pat$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pat$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pat$ (3 : 24)
+ -make-flex-pat$ (3 : 13)
+ -flex-pat$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pat$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pat$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pat$ (3 : 18)
+ t-point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pat$ (3 : 22)
+ -make-flex-pat$ (3 : 11)
+ x-
+ pat$ (3 : 25)
+ -make-flex-pat$ (3 : 14)
+ ke-flex-pat$ (3 : 19)
+
+
+After adding character t:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-patt$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-patt$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-patt$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ att$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ patt$ (3 : 21)
+ -make-flex-patt$ (3 : 10)
+ -make-flex-patt$ (3 : 15)
+ make-flex-patt$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-patt$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-patt$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-patt$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-patt$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ att$ (3 : 27)
+ le
+ x-
+ patt$ (3 : 23)
+ -make-flex-patt$ (3 : 12)
+ tion
+ -
+ flex--make-flex-patt$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-patt$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ patt$ (3 : 24)
+ -make-flex-patt$ (3 : 13)
+ -flex-patt$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-patt$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ t$ (3 : 29)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-patt$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-patt$ (3 : 18)
+ t
+ t$ (3 : 28)
+ -point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ patt$ (3 : 22)
+ -make-flex-patt$ (3 : 11)
+ x-
+ patt$ (3 : 25)
+ -make-flex-patt$ (3 : 14)
+ ke-flex-patt$ (3 : 19)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-patte$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-patte$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-patte$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ atte$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ patte$ (3 : 21)
+ -make-flex-patte$ (3 : 10)
+ -make-flex-patte$ (3 : 15)
+ make-flex-patte$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-patte$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-patte$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-patte$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-patte$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ atte$ (3 : 27)
+ le
+ x-
+ patte$ (3 : 23)
+ -make-flex-patte$ (3 : 12)
+ tion
+ -
+ flex--make-flex-patte$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-patte$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ patte$ (3 : 24)
+ -make-flex-patte$ (3 : 13)
+ -flex-patte$ (3 : 20)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-patte$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ te$ (3 : 29)
+ e$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-patte$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-patte$ (3 : 18)
+ t
+ te$ (3 : 28)
+ -point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ patte$ (3 : 22)
+ -make-flex-patte$ (3 : 11)
+ x-
+ patte$ (3 : 25)
+ -make-flex-patte$ (3 : 14)
+ ke-flex-patte$ (3 : 19)
+
+
+After adding character r:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-patter$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-patter$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-patter$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ atter$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ patter$ (3 : 21)
+ -make-flex-patter$ (3 : 10)
+ -make-flex-patter$ (3 : 15)
+ make-flex-patter$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-patter$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-patter$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-patter$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-patter$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ atter$ (3 : 27)
+ le
+ x-
+ patter$ (3 : 23)
+ -make-flex-patter$ (3 : 12)
+ tion
+ -
+ flex--make-flex-patter$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-patter$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ patter$ (3 : 24)
+ -make-flex-patter$ (3 : 13)
+ -flex-patter$ (3 : 20)
+ r$ (3 : 31)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-patter$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ ter$ (3 : 29)
+ er$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-patter$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-patter$ (3 : 18)
+ t
+ ter$ (3 : 28)
+ -point$ (1 : 18)
+ revious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ patter$ (3 : 22)
+ -make-flex-patter$ (3 : 11)
+ x-
+ patter$ (3 : 25)
+ -make-flex-patter$ (3 : 14)
+ ke-flex-patter$ (3 : 19)
+
+
+After adding character n:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ le
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character -1:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ le
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ le
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character l:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ le
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ l$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character d:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ d$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ld$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do-completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ do$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldo$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character c:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c$ (4 : 3)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ com
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-$ (4 : 3)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ c
+ -$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character r:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-r$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-r$ (4 : 3)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ r$ (4 : 5)
+ c
+ -r$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-r$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-r$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-re$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-re$ (4 : 3)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ re$ (4 : 5)
+ c
+ -re$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-re$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-re$ (4 : 0)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ evious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character m:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-rem$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-rem$ (4 : 3)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ rem$ (4 : 5)
+ c
+ -rem$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-rem$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-rem$ (4 : 0)
+ m$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ m$ (4 : 6)
+ vious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remo$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remo$ (4 : 3)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remo$ (4 : 5)
+ c
+ -remo$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ o$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remo$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remo$ (4 : 0)
+ mo$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ mo$ (4 : 6)
+ vious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character v:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remov$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remov$ (4 : 3)
+ v$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remov$ (4 : 5)
+ c
+ -remov$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ov$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remov$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remov$ (4 : 0)
+ mov$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ mov$ (4 : 6)
+ vious-completion$ (2 : 1)
+ vious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove$ (4 : 3)
+ ve$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove$ (4 : 5)
+ c
+ -remove$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove$ (4 : 0)
+ move$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-$ (4 : 3)
+ ve-$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-$ (4 : 5)
+ c
+ -remove-$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove-$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-$ (4 : 0)
+ move-$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move-$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character c:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-c$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-c$ (4 : 3)
+ ve-c$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-c$ (4 : 5)
+ c
+ -remove-c$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove-c$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-c$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ c$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-c$ (4 : 0)
+ move-c$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move-c$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-c$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-co$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-co$ (4 : 3)
+ ve-co$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-co$ (4 : 5)
+ c
+ -remove-co$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove-co$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-co$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ co$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-co$ (4 : 0)
+ move-co$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move-co$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-co$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character m:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-com$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-com$ (4 : 3)
+ ve-com$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ completion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-com$ (4 : 5)
+ c
+ -remove-com$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove-com$ (4 : 8)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-com$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ com$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-com$ (4 : 0)
+ move-com$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move-com$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-com$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character m:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-comm$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ m$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-comm$ (4 : 3)
+ ve-comm$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ m$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-comm$ (4 : 5)
+ c
+ -remove-comm$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ m$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove-comm$ (4 : 8)
+ m$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-comm$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ comm$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-comm$ (4 : 0)
+ move-comm$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move-comm$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-comm$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character a:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-comma$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ ma$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-comma$ (4 : 3)
+ ve-comma$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ ma$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-comma$ (4 : 5)
+ c
+ -remove-comma$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ ma$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ ake-flex-pattern$ (3 : 17)
+ ove-comma$ (4 : 8)
+ ma$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-comma$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ comma$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-comma$ (4 : 0)
+ move-comma$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ r
+ n$ (3 : 32)
+ e
+ move-comma$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-comma$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character n:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-comman$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ man$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-comman$ (4 : 3)
+ ve-comman$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ man$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-comman$ (4 : 5)
+ c
+ -remove-comman$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ man$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ n$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-comman$ (4 : 8)
+ man$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-comman$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ comman$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-comman$ (4 : 0)
+ move-comman$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ n$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-comman$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-comman$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character d:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ do
+ c-remove-command$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command$ (4 : 3)
+ ve-command$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command$ (4 : 5)
+ c
+ -remove-command$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command$ (4 : 8)
+ mand$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command$ (4 : 0)
+ move-command$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character -:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -$ (4 : 19)
+ o
+ c-remove-command-$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-$ (4 : 3)
+ ve-command-$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-$ (4 : 5)
+ c
+ -remove-command-$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-$ (4 : 8)
+ mand-$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-$ (4 : 0)
+ move-command-$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character c:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -c$ (4 : 19)
+ o
+ c-remove-command-c$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-c$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-c$ (4 : 3)
+ ve-command-c$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-c$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-c$ (4 : 5)
+ c
+ -remove-command-c$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-c$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-c$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-c$ (4 : 8)
+ mand-c$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-c$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-c$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-c$ (4 : 0)
+ move-command-c$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-c$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-c$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-c$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-c$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -co$ (4 : 19)
+ o
+ c-remove-command-co$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-co$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-co$ (4 : 3)
+ ve-command-co$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-co$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-co$ (4 : 5)
+ c
+ -remove-command-co$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-co$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-co$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-co$ (4 : 8)
+ mand-co$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-co$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-co$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-co$ (4 : 0)
+ move-command-co$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-co$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-co$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-co$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-co$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character m:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -com$ (4 : 19)
+ o
+ c-remove-command-com$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-com$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-com$ (4 : 3)
+ ve-command-com$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-com$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-com$ (4 : 5)
+ c
+ -remove-command-com$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-com$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-com$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-com$ (4 : 8)
+ mand-com$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-com$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-com$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-com$ (4 : 0)
+ move-command-com$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-com$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-com$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-com$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-com$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character p:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -comp$ (4 : 19)
+ o
+ c-remove-command-comp$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-comp$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-comp$ (4 : 3)
+ ve-command-comp$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-comp$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-comp$ (4 : 5)
+ c
+ -remove-command-comp$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-comp$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-comp$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-comp$ (4 : 8)
+ mand-comp$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-comp$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-comp$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-comp$ (4 : 0)
+ move-command-comp$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-comp$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-comp$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-comp$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-comp$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character l:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -compl$ (4 : 19)
+ o
+ c-remove-command-compl$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-compl$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-compl$ (4 : 3)
+ ve-command-compl$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-compl$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-compl$ (4 : 5)
+ c
+ -remove-command-compl$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-compl$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-compl$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-compl$ (4 : 8)
+ mand-compl$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-compl$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-compl$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-compl$ (4 : 0)
+ move-command-compl$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-compl$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-compl$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-compl$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-compl$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character e:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -comple$ (4 : 19)
+ o
+ c-remove-command-comple$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-comple$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-comple$ (4 : 3)
+ ve-command-comple$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-comple$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-comple$ (4 : 5)
+ c
+ -remove-command-comple$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-comple$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-comple$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-comple$ (4 : 8)
+ mand-comple$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-comple$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-comple$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-comple$ (4 : 0)
+ move-command-comple$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-comple$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-comple$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-comple$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-comple$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character t:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -complet$ (4 : 19)
+ o
+ c-remove-command-complet$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-complet$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-complet$ (4 : 3)
+ ve-command-complet$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-complet$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-complet$ (4 : 5)
+ c
+ -remove-command-complet$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-complet$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-complet$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-complet$ (4 : 8)
+ mand-complet$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-complet$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-complet$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-complet$ (4 : 0)
+ move-command-complet$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-complet$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-complet$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-complet$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-complet$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character i:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -completi$ (4 : 19)
+ o
+ c-remove-command-completi$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-completi$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-completi$ (4 : 3)
+ ve-command-completi$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-completi$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-completi$ (4 : 5)
+ c
+ -remove-command-completi$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-completi$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-completi$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-completi$ (4 : 8)
+ mand-completi$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-completi$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-completi$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-completi$ (4 : 0)
+ move-command-completi$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-completi$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-completi$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-completi$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-completi$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character o:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -completio$ (4 : 19)
+ o
+ c-remove-command-completio$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-completio$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-completio$ (4 : 3)
+ ve-command-completio$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-completio$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-completio$ (4 : 5)
+ c
+ -remove-command-completio$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-completio$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-completio$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-completio$ (4 : 8)
+ mand-completio$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-completio$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-completio$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-completio$ (4 : 0)
+ move-command-completio$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-completio$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-completio$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-completio$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-completio$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character n:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -completion$ (4 : 19)
+ o
+ c-remove-command-completion$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-completion$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-completion$ (4 : 3)
+ ve-command-completion$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-completion$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-completion$ (4 : 5)
+ c
+ -remove-command-completion$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-completion$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-completion$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-completion$ (4 : 8)
+ mand-completion$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-completion$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-completion$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-completion$ (4 : 0)
+ move-command-completion$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-completion$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-completion$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-completion$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-completion$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character s:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -completions$ (4 : 19)
+ o
+ c-remove-command-completions$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-completions$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-completions$ (4 : 3)
+ ve-command-completions$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-completions$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-completions$ (4 : 5)
+ c
+ -remove-command-completions$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-completions$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-completions$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-completions$ (4 : 8)
+ mand-completions$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-completions$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-completions$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-completions$ (4 : 0)
+ move-command-completions$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-completions$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-completions$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-completions$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-completions$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+After adding character -1:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -completions$ (4 : 19)
+ o
+ c-remove-command-completions$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-completions$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-completions$ (4 : 3)
+ ve-command-completions$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-completions$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (4 : 20)$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-completions$ (4 : 5)
+ c
+ -remove-command-completions$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-completions$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-completions$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-completions$ (4 : 8)
+ mand-completions$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-completions$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-completions$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-completions$ (4 : 0)
+ move-command-completions$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-completions$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-completions$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-completions$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-completions$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
+
+
+
+
diff --git a/suffix tree/lcs test ground.txt b/suffix tree/lcs test ground.txt
new file mode 100644
index 0000000..5762268
--- /dev/null
+++ b/suffix tree/lcs test ground.txt
@@ -0,0 +1,180 @@
+
+longest commons substring of ("abab" "baba") is:
+(3
+ ((0 2 3
+ ((0 1 2)
+ (0 0 1)))
+ (0 3 4
+ ((0 2 3)
+ (0 1 2)))))
+
+Generalized suffix tree for: ido-completions, comint-completion-at-point, previous-completion, completion-flex--make-flex-pattern, eldoc-remove-command-completions:
+root
+ i
+ o
+ us-completion$ (2 : 4)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 7)
+ at-point$ (1 : 14)
+ s$ (0 : 11)
+ $ (2 : 16)
+ do-completions$ (0 : 0)
+ nt
+ $ (1 : 23)
+ -completion-at-point$ (1 : 3)
+ d
+ -completions$ (4 : 19)
+ o
+ c-remove-command-completions$ (4 : 2)
+ -completions$ (0 : 1)
+ o
+ m
+ int-completion-at-point$ (1 : 1)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 1)
+ at-point$ (1 : 8)
+ s$ (0 : 5)
+ $ (2 : 10)
+ mand-completions$ (4 : 14)
+ -completions$ (0 : 2)
+ n
+ -
+ flex--make-flex-pattern$ (3 : 8)
+ at-point$ (1 : 15)
+ s$ (0 : 12)
+ $ (2 : 17)
+ int$ (1 : 22)
+ us-completion$ (2 : 5)
+ c-remove-command-completions$ (4 : 3)
+ ve-command-completions$ (4 : 9)
+ -
+ at-point$ (1 : 17)
+ com
+ mand-completions$ (4 : 12)
+ pletion
+ -at-point$ (1 : 6)
+ s$ (4 : 20)$ (0 : 3)
+ $ (2 : 8)
+ p
+ attern$ (3 : 26)
+ oint$ (1 : 20)
+ flex-
+ pattern$ (3 : 21)
+ -make-flex-pattern$ (3 : 10)
+ -make-flex-pattern$ (3 : 15)
+ make-flex-pattern$ (3 : 16)
+ remove-command-completions$ (4 : 5)
+ c
+ -remove-command-completions$ (4 : 4)
+ om
+ int-completion-at-point$ (1 : 0)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 0)
+ at-point$ (1 : 7)
+ s$ (0 : 4)
+ $ (2 : 9)
+ mand-completions$ (4 : 13)
+ m
+ int-completion-at-point$ (1 : 2)
+ pletion
+ -
+ flex--make-flex-pattern$ (3 : 2)
+ at-point$ (1 : 9)
+ s$ (0 : 6)
+ $ (2 : 11)
+ a
+ nd-completions$ (4 : 16)
+ ke-flex-pattern$ (3 : 17)
+ ove-command-completions$ (4 : 8)
+ mand-completions$ (4 : 15)
+ p
+ oint$ (1 : 21)
+ letion
+ -
+ flex--make-flex-pattern$ (3 : 3)
+ at-point$ (1 : 10)
+ s$ (0 : 7)
+ $ (2 : 12)
+ revious-completion$ (2 : 0)
+ attern$ (3 : 27)
+ l
+ doc-remove-command-completions$ (4 : 1)
+ e
+ x-
+ pattern$ (3 : 23)
+ -make-flex-pattern$ (3 : 12)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 4)
+ at-point$ (1 : 11)
+ s$ (0 : 8)
+ $ (2 : 13)
+ e
+ vious-completion$ (2 : 2)
+ tion
+ -
+ flex--make-flex-pattern$ (3 : 5)
+ at-point$ (1 : 12)
+ s$ (0 : 9)
+ $ (2 : 14)
+ x-
+ pattern$ (3 : 24)
+ -make-flex-pattern$ (3 : 13)
+ -
+ command-completions$ (4 : 11)
+ flex-pattern$ (3 : 20)
+ rn$ (3 : 31)
+ ldoc-remove-command-completions$ (4 : 0)
+ move-command-completions$ (4 : 7)
+ t
+ -
+ point$ (1 : 19)
+ completion-at-point$ (1 : 5)
+ ion
+ -
+ flex--make-flex-pattern$ (3 : 6)
+ at-point$ (1 : 13)
+ s$ (0 : 10)
+ $ (2 : 15)
+ $ (1 : 25)
+ tern$ (3 : 29)
+ ern$ (3 : 30)
+ n
+ t
+ $ (1 : 24)
+ -completion-at-point$ (1 : 4)
+ s$ (0 : 13)
+ -
+ flex--make-flex-pattern$ (3 : 9)
+ at-point$ (1 : 16)
+ $ (3 : 33)$ (2 : 18)
+ d-completions$ (4 : 18)
+ s
+ -completion$ (2 : 7)
+ $ (0 : 14)
+ $ (2 : 19)$ (1 : 26)$ (0 : 15)
+ a
+ ke-flex-pattern$ (3 : 18)
+ t
+ tern$ (3 : 28)
+ -point$ (1 : 18)
+ nd-completions$ (4 : 17)
+ r
+ n$ (3 : 32)
+ e
+ move-command-completions$ (4 : 6)
+ vious-completion$ (2 : 1)
+ v
+ e-command-completions$ (4 : 10)
+ ious-completion$ (2 : 3)
+ us-completion$ (2 : 6)
+ flex-
+ pattern$ (3 : 22)
+ -make-flex-pattern$ (3 : 11)
+ x-
+ pattern$ (3 : 25)
+ -make-flex-pattern$ (3 : 14)
+ ke-flex-pattern$ (3 : 19)
diff --git a/comb/suffiex-tree.txt b/suffix tree/suffiex-tree.txt
index 51908a3..6eb4b5a 100644
--- a/comb/suffiex-tree.txt
+++ b/suffix tree/suffiex-tree.txt
@@ -83,10 +83,21 @@ Intuitively speaking, this is to list all suffixes of S as an edge
from the root to a leaf, and then "merge" these suffixes so that any
common prefix among some of them is in only one edge.
+As a concrete example, the suffix tree for "hah$" is given as follows.
+I am using the library "hierarchy.el" to visualize trees.
+
+root
+ h
+ $
+ ah$
+ ah$
+ $
+
+
======================================================================
- Description of the algorithm
+ Naive description of the algorithm
======================================================================
Below is a breif description of the algorithm. For a description in
@@ -94,7 +105,7 @@ Below is a breif description of the algorithm. For a description in
https://stackoverflow.com/questions/9452701/
-For a more detailed survey on the principle behind the algorithm and
+Fonr a more detailed survey on the principle behind the algorithm and
on many other related topics, see the book "Algorithms on Strings,
Trees, and Sequences: Computer Science and Computational Biology" by
Dan Gusfield, or if you prefer reading the original paper, then the
@@ -114,104 +125,44 @@ suffix tree. I refer to this terminating symbol as $.
Also an edge of the tree is not labelled explicitly by strings. To do
so would violate already the linear time constraint. Instead, we
represent each edge with a pair of integers, interpreted as the
-indices of the starting and the ending points of the associated
+indices of the starting and the ending positions of the associated
substring in T.
The algorithm has n + 1 iterations. We start with the following
variables:
-- s = root
-- k = 1
-- i = 0
-# - A root node.
-# - An "active point" with value (root, nil, 0).
-# - "remainder" with value 1.
+- A root node.
+- An active node.
+- An active edge.
+- The length of the active edge.
+- "remainder" with value 0.
Then we want to add n + 1 symbols to the tree iteratively.
-In the i-th iteration we look to add the i-th letter S (i) of S. In
-Emacs Lisp this is expressed as (aref S i).
-
-# substring
-# S[(i-remainder+1)..i]
-
-And in each iteration we do the following things:
-
-- (setq i (+ i 1))
-- (let ((result (update s k i)))
- (setq s (car result))
- (setq k (cadr result)))
- We update by adding the i-th letter S(i) to the current active point
- indicated by (s, k, i - 1), see below.
-- (let ((result (canonize s k i)))
- (setq s (car result))
- (setq k (cadr result)))
- We canonize the new active point returned by the update function.
- The process of canonization is to find the closest node to the
- point.
-
-Then we repeat until S(i) equals the terminating symbol (this way we
-avoid calculating the length of the string beforehand, since in Emacs
-Lisp the string does not have the length pre-calculated. Though this
-does not affect the overall time complexity, it might affect the
-practical performance.
-
-The function "update is described below.
-
-It taks three arguments: s, k, and i. First let oldr = root. Then let
-(end-p, r) be the result of (test-and-split s k (- i 1) S(i)).
-
-
-
-
-
-
-
-
-
-
-
-
-
-# begin a "remainder loop". Whenever the remainder
-# loop ends, we go to the next iteration.
-
-We compare the letter S(i) with the labels of edges going out from the
-active point. That is, if the active point is (node, edge_label, m),
-then this is the length m point in the edge going out from node with
-the first letter of label given as edge_label.
-
-If the letter is the prefix of some edge label, then we set the
-active point to (node, edge_label, m+1) and increment remainder by 1.
-If m+1 is greater than or equal to the length of the current edge,
-then set the active point to follow that edge to the new point.
-
-Then we end the remainder loop and skip to the next iteration.
-
----
-
-If the letter is not the prefix of any edge label emanating from the
-active point, and m > 0, then we split the point (node, edge_label, m)
-into a node and add a new leaf to that node, with label S(i). And then
-we decrement remainder by 1.
-
-If this is not the first time we split a node in the current
-iteration, then we add a "suffix link" from the previously created
-node to the newly created node.
-
-If the "node" in the specification of the active point is the root,
-then we set the active point to (root, S(i-remainder+1), m-1).
-
-If the "node" is not the root, then if the node has a suffix link to
-other_node, then we set the active point to the following:
-(other_node, S(i-remainder+1), m-1)
-
-If the node has no suffix link, then we set the active point to the
-following: (root, S(i-remainder+1), m-1)
-
----
-
-If the letter is not the prefix of any edge label emanating from the
-active point, and if m = 0, then we add a new leaf with label S(i) to
-node, and decrement remainder by 1. Then we follow the same rules to
-reset the active point.
+In the i-th iteration we look to add the substring
+S[(i-remainder+1)..i] of S. In Emacs Lisp this is expressed as
+(substring S (- i remainder -1) (1+ i)).
+
+And in each iteration we do the following things (the description that
+follows is not rigorous; see the sources mentioned above for more
+detailed and rigorous expositions):
+
+- Check if the "active point" specified by the triple
+ (active node, active edge, active edge length)
+ has an edge going out whose first letter of the label matches the
+ i-th character of S.
+- If it matches, then that means we don't have to add anything to
+ the tree: we just update the specifications of the active point to
+ point to the right place.
+- Otherwise, we add the i-th charcter of S as a new leaf of the
+ active point. This may involve splitting an edge.
+- In both of the sub-cases, if there is a node that we created in
+ the last round, then we add a "suffix link" that points to the
+ current node. This suffix link is the main reason this algorithm
+ can run in linear time.
+- After updating the active point, we still need to make sure that our
+ specification of the active point is valid. We do this by examining
+ if the active length is >= the length of the active edge. If so,
+ then we set the active point to follow the path.
+
+Then we repeat until S(i) equals the terminating symbol.
diff --git a/suffix tree/suffix tree test ground.txt b/suffix tree/suffix tree test ground.txt
new file mode 100644
index 0000000..e566bf7
--- /dev/null
+++ b/suffix tree/suffix tree test ground.txt
@@ -0,0 +1,145 @@
+suffix tree for "aabbccba$"
+root
+ a
+ bbccba$
+ abbccba$
+ $
+ b
+ ccba$
+ bccba$
+ a$
+ c
+ ba$
+ cba$
+ $
+
+
+
+suffix tree for "durand-bongo-play-previous-or-last"
+root
+ d
+ -bongo-play-previous-or-last
+ urand-bongo-play-previous-or-last
+ u
+ s-or-last
+ rand-bongo-play-previous-or-last
+ r
+ evious-or-last
+ and-bongo-play-previous-or-last
+ -last
+ a
+ y-previous-or-last
+ nd-bongo-play-previous-or-last
+ st
+ n
+ go-play-previous-or-last
+ d-bongo-play-previous-or-last
+ -
+ p
+ revious-or-last
+ lay-previous-or-last
+ bongo-play-previous-or-last
+ or-last
+ last
+ bongo-play-previous-or-last
+ o
+ -play-previous-or-last
+ ngo-play-previous-or-last
+ us-or-last
+ r-last
+ go-play-previous-or-last
+ p
+ revious-or-last
+ lay-previous-or-last
+ la
+ st
+ y-previous-or-last
+ y-previous-or-last
+ evious-or-last
+ vious-or-last
+ ious-or-last
+ s
+ t
+ -or-last
+ t
+
+
+
+suffix tree for strings: aaaaa$
+root
+ a
+ $
+ a
+ $
+ a
+ $
+ a
+ $
+ a$
+ $
+
+
+
+suffix tree for strings: aaaaabbb$
+root
+ a
+ bbb$
+ a
+ bbb$
+ a
+ bbb$
+ a
+ bbb$
+ abbb$
+ b
+ $
+ b
+ $
+ b$
+ $
+
+
+
+Generalized suffix tree for: abab, baba:
+root
+ a
+ $ (1 : 3)
+ b
+ $ (0 : 2)
+ a
+ $ (1 : 1)
+ b$ (0 : 0)
+ b
+ $ (0 : 3)
+ a
+ $ (1 : 2)
+ b
+ a$ (1 : 0)
+ $ (0 : 1)
+ $ (1 : 4)$ (0 : 4)
+
+
+
+Generalized suffix tree for: abab, baba, cbabd:
+root
+ a
+ $ (1 : 3)
+ b
+ $ (0 : 2)
+ a
+ $ (1 : 1)
+ b$ (0 : 0)
+ d$ (2 : 2)
+ b
+ $ (0 : 3)
+ a
+ $ (1 : 2)
+ b
+ a$ (1 : 0)
+ $ (0 : 1)
+ d$ (2 : 1)
+ d$ (2 : 3)
+ $ (2 : 5)$ (1 : 4)$ (0 : 4)
+ cbabd$ (2 : 0)
+ d$ (2 : 4)
+
diff --git a/suffix tree/suffix-tree files.zip b/suffix tree/suffix-tree files.zip
new file mode 100644
index 0000000..946352b
--- /dev/null
+++ b/suffix tree/suffix-tree files.zip
Binary files differ
diff --git a/comb/suffix-tree.el b/suffix tree/suffix-tree.el
index af55ba9..0d929d0 100644
--- a/comb/suffix-tree.el
+++ b/suffix tree/suffix-tree.el
@@ -15,7 +15,7 @@
;; children
;; To compute the length of the edge going into NODE we use:
-;; (- (min end (1+ st-position)) start)
+;; (- (min end (1+ position)) start)
;; which is actually how far the position is on that edge,
;; if it is on that edge.
@@ -207,15 +207,76 @@ The return value is
(setq character (ignore-error 'error (aref str position))))
tree))
+;;; Some printing functions
+
+(require 'hierarchy)
+
+;;;###autoload
+(defun st-print-str (str)
+ "Print generalized string"
+ (mapc (lambda (char)
+ (cond ((characterp char) (insert char))
+ (t (insert ", "))))
+ str))
+
;;;###autoload
(defun st-print-tree-for-str (str)
"Print the suffix tree for STR."
(let* ((symbol (make-symbol "test")))
(set symbol (st-build-for-str str))
- (insert "suffix tree for \"" str "\"" "\n")
+ (insert "suffix tree for strings: ")
+ (st-print-str str)
+ (insert "\n")
(st-print-tree (symbol-value symbol) str)))
;;;###autoload
+(defun st-reduce-index (node strs)
+ "Reduce the second element of the NODE."
+ (let* ((lengths (mapcar #'length strs))
+ (start (car node))
+ (end (cadr node))
+ (first-greater-than-start
+ (let ((sum -1) (index 0) done result)
+ (while (and (not done) (< index (length strs)))
+ (cond
+ ((<= (+ sum (nth index lengths)) start)
+ (setq index (1+ index))
+ (setq sum (+ sum (nth index lengths))))
+ (t (setq result (+ sum (nth index lengths)))
+ (setq done t))))
+ (cond ((null result) (setq result (1- (apply #'+ lengths)))))
+ result)))
+ (st-min end first-greater-than-start))
+ ;; (let* ((start (car node))
+ ;; (end (cadr node))
+ ;; (index start)
+ ;; result stop)
+ ;; (while (and (not stop) (or (eq end 'infty) (<= index end)))
+ ;; (cond
+ ;; ((and (< index (length str)) (characterp (aref str index))) (setq index (1+ index)))
+ ;; (t (setq stop t)
+ ;; (setq result index))))
+ ;; (cond ((and (numberp end) (= index (1+ end))) (setq result end)))
+ ;; (cond ((<= result start) (setq result 'end)))
+ ;; result)
+ )
+
+;; ;;;###autoload
+;; (defun st-build-generalized-tree (strs)
+;; (let* ((copy strs)
+;; (long-str
+;; (let ((index 1) result)
+;; (while (consp copy)
+;; (setq result (vconcat result
+;; (car copy)
+;; (vector (- index))))
+;; (setq index (1+ index))
+;; (setq copy (cdr copy)))
+;; result))
+;; (tree (make-symbol "tree")))
+;; (set tree (st-build-for-str long-str))))
+
+;;;###autoload
(defun st-print-tree (tree str)
"Print TREE with the aid of STR."
(let* ((symbol-tree (make-symbol "test-tree")))
@@ -230,8 +291,20 @@ The return value is
(hierarchy-print (symbol-value symbol-tree)
(lambda (item)
(cond ((= item 1) "root")
- (t (let ((node (gethash item tree)))
- (substring str (car node) (cond ((integerp (cadr node)) (cadr node))))
+ (t (let* ((node (gethash item tree))
+ ;; (reduced (st-reduce-index node str))
+ )
+ (substring str (car node)
+ (cond ((integerp (cadr node)) (cadr node))))
+ ;; (cond ((eq reduced 'end) "$")
+ ;; (t (apply #'string
+ ;; (append
+ ;; (seq-subseq str (car node)
+ ;; reduced
+ ;; ;; (cond ((integerp (cadr node)) (cadr node)))
+ ;; )
+ ;; nil))))
+
;; (format "%d): (%S, %S): (%d): \"%s\""
;; item
;; (car node)
@@ -241,10 +314,6 @@ The return value is
;; )
)))))))
-;;; Some printing functions
-
-(use-package "hierarchy" 'hierarchy)
-
(provide 'suffix-tree)
;;; suffiex-tree.el ends here
diff --git a/view-functions.el b/view-functions.el
index ae5559a..5d51293 100644
--- a/view-functions.el
+++ b/view-functions.el
@@ -1,4 +1,4 @@
-;;; view-functions.el --- My functions to monitor system infos -*- lexical-binding: t; -*-
+;;; view-functions.el --- My functions to view things -*- lexical-binding: t; -*-
;;;###autoload
(defun durand-view-timers-or-temps (&optional arg)