ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible.
							parent
							
								
									cf54ce8e42
								
							
						
					
					
						commit
						8d15fb1021
					
				| 
						 | 
					@ -359,6 +359,12 @@ M: editor gadget-text* editor-string % ;
 | 
				
			||||||
: delete-to-end-of-line ( editor -- ) 
 | 
					: delete-to-end-of-line ( editor -- ) 
 | 
				
			||||||
    one-line-elt editor-backspace ;
 | 
					    one-line-elt editor-backspace ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: delete-to-start-of-document ( editor -- )
 | 
				
			||||||
 | 
					    doc-elt editor-delete ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: delete-to-end-of-document ( editor -- )
 | 
				
			||||||
 | 
					    doc-elt editor-delete ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: com-undo ( editor -- ) model>> undo ;
 | 
					: com-undo ( editor -- ) model>> undo ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: com-redo ( editor -- ) model>> redo ;
 | 
					: com-redo ( editor -- ) model>> redo ;
 | 
				
			||||||
| 
						 | 
					@ -423,6 +429,9 @@ editor "caret-motion" f {
 | 
				
			||||||
    { T{ key-down f f "END" } end-of-line }
 | 
					    { T{ key-down f f "END" } end-of-line }
 | 
				
			||||||
    { T{ key-down f { C+ } "HOME" } start-of-document }
 | 
					    { T{ key-down f { C+ } "HOME" } start-of-document }
 | 
				
			||||||
    { T{ key-down f { C+ } "END" } end-of-document }
 | 
					    { T{ key-down f { C+ } "END" } end-of-document }
 | 
				
			||||||
 | 
					    { T{ key-down f { C+ } "k" } delete-to-start-of-line }
 | 
				
			||||||
 | 
					    { T{ key-down f { C+ } "a" } start-of-line }
 | 
				
			||||||
 | 
					    { T{ key-down f { C+ } "e" } end-of-line }
 | 
				
			||||||
} define-command-map
 | 
					} define-command-map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: clear-editor ( editor -- )
 | 
					: clear-editor ( editor -- )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -368,7 +368,6 @@ M: interactor handle-gesture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interactor "interactor" f {
 | 
					interactor "interactor" f {
 | 
				
			||||||
    { T{ key-down f f "RET" } evaluate-input }
 | 
					    { T{ key-down f f "RET" } evaluate-input }
 | 
				
			||||||
    { T{ key-down f { C+ } "k" } clear-editor }
 | 
					 | 
				
			||||||
} define-command-map
 | 
					} define-command-map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interactor "completion" f {
 | 
					interactor "completion" f {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -73,14 +73,14 @@ IN: ui.tools.operations
 | 
				
			||||||
: edit-file ( pathname -- ) edit ;
 | 
					: edit-file ( pathname -- ) edit ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ pathname? ] \ edit-file H{
 | 
					[ pathname? ] \ edit-file H{
 | 
				
			||||||
    { +keyboard+ T{ key-down f { C+ } "e" } }
 | 
					    { +keyboard+ T{ key-down f { C+ } "b" } }
 | 
				
			||||||
    { +primary+ t }
 | 
					    { +primary+ t }
 | 
				
			||||||
    { +secondary+ t }
 | 
					    { +secondary+ t }
 | 
				
			||||||
    { +listener+ t }
 | 
					    { +listener+ t }
 | 
				
			||||||
} define-operation
 | 
					} define-operation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ definition? ] \ edit H{
 | 
					[ definition? ] \ edit H{
 | 
				
			||||||
    { +keyboard+ T{ key-down f { C+ } "e" } }
 | 
					    { +keyboard+ T{ key-down f { C+ } "b" } }
 | 
				
			||||||
    { +listener+ t }
 | 
					    { +listener+ t }
 | 
				
			||||||
} define-operation
 | 
					} define-operation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -202,4 +202,4 @@ interactor
 | 
				
			||||||
"These commands operate on the entire contents of the input area."
 | 
					"These commands operate on the entire contents of the input area."
 | 
				
			||||||
[ ]
 | 
					[ ]
 | 
				
			||||||
[ quot-action ]
 | 
					[ quot-action ]
 | 
				
			||||||
define-operation-map
 | 
					define-operation-map
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue