cursor is v.close to left, even when the rest of the line is blank
- [X] line-count in make output is weird. Second line can be thousands
- [X] Make sometimes doesn't follow output, though usually it does
-- [ ] If dynamic-complete only finds one completion, does it still want
+- [X] If dynamic-complete only finds one completion, does it still want
a menu?
- [ ] When merge makes a change, highlight the new content.
- [ ] Review the options for editing a merge - it doesn't always do what
if not self.completions:
return 1
+ if len(self.completions) == 1:
+ self.complete_with(self.completions[0])
+ return
+ # find longest prefix
+ p = self.completions[0]
+ for i in range(1, len(self.completions)):
+ c = self.completions[i]
+ while p:
+ if c.startswith(p):
+ break
+ p = p[:-1]
+ if not p:
+ break
+ if p:
+ self.complete_with(p)
+ return
+ # Need a menu
self.opening_menu = True
mp = self.call("attach-menu", (self.parent.cx, self.parent.cy), ret='pane')
for c in self.completions:
self.menu = None
return 1
+ def complete_with(self, str):
+ self.call("doc:replace", str, self.prefix_end, self.prefix_end)
+ self.call("view:changed", self.prefix_start, self.prefix_end)
+
def menu_done(self, key, focus, str, **a):
"handle:menu-done"
if not self.prefix_start:
return
- edlib.LOG(key, str)
if not str:
# Menu aborted
self.call("view:changed", self.prefix_start, self.prefix_end)
self.call("Message", "")
return 1
self.call("doc:replace", str, self.prefix_end, self.prefix_start)
- self.complete_len = len(str)
self.call("view:changed", self.prefix_start, self.prefix_end)
return 1
self.call("view:changed", self.prefix_start, self.prefix_end)
self.prefix_start = None
self.prefix_end = None
- self.call("Message", "")
+ #self.call("Message", "")
return edlib.Efallthrough
def abbrev_attach(key, focus, comm2, **a):
Key "-p"
Display 80,30 57B0121C30A300F9ED93171BD0D569BD 9,2
Key ":A-/"
-Display 80,30 BA988BD1C0AF7CB5B05ED2D2D20CD77F 5,3
+Display 80,30 A1E582F95603809A9E8DC276497C1A05 12,2
+Key ":A-/"
+Display 80,30 F4601EC985A4AD3732CEC32383725B3E 5,3
Key ":Down"
-Display 80,30 B6BCCFE18ADD334C6C9027B52CE9CBE1 5,4
+Display 80,30 62BAE0BB16AD8E50349B3BC5215D639F 5,4
Key ":Down"
-Display 80,30 B6BCCFE18ADD334C6C9027B52CE9CBE1 5,5
+Display 80,30 62BAE0BB16AD8E50349B3BC5215D639F 5,5
Key ":Enter"
-Display 80,30 C33B543761C5D34F322D063006A9099F 12,2
+Display 80,30 2BD7C1E1B97545BEADE556086C9E25D6 13,2
Key ":A:Backspace"
Display 80,30 E7979E21C8A8DE26C622B842D72ADA50 5,2
Key "-d"
Display 80,30 2C925032938071DE257DE77D7EFF9A0B 8,2
Key ":A-/"
Display 80,30 5C4CE8698100A7263286F46B34C24BD1 5,3
-Key ":Left"
-Display 80,30 9173D165F92FAC77DB0E1FCC7F1BAC5B 5,3
+Key ":Down"
+Display 80,30 9173D165F92FAC77DB0E1FCC7F1BAC5B 5,4
Key ":Enter"
-Display 80,30 2BB95054BA3FEFEA2C5E84CB264B727B 16,2
+Display 80,30 01D3F32F892BC4076D6021BE085BF4D7 19,2
Key ":C-U"
-Display 80,30 D942F9B2848CB8DDABAD73FB638B3F5A 16,2
+Display 80,30 0BAB2CA069001D0A57048D5A27B290A3 19,2
Key ":C-X"
-Display 80,30 312A12F758B4F74265EFFEB48978F7A6 16,2
+Display 80,30 BFDE34A6C5119A8ADFDDD8EBF984221E 19,2
Key "-k"
Display 80,30 CDBBFFABF0534E6F4508C0F00F8F75E0 1,8
Key ":C-X"
Display 80,30 84F4B35BF26F9D5EEBB67D572ADD0BBF 1,0
Key ":C-C"
Display 80,30 D2E6DB1DE1E62B191C28D1B2CFF7F1C0 1,0
-Close 1575
+Close 1577