fuel.listener: new vocab with a listener better for FUEL (#1486)
							parent
							
								
									8762d1c593
								
							
						
					
					
						commit
						27a707947a
					
				| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
USING: accessors fuel.listener io.serial.linux io.serial.linux.ffi
 | 
			
		||||
kernel libc math.bitwise sequences system ;
 | 
			
		||||
IN: fuel.listener.linux
 | 
			
		||||
 | 
			
		||||
: flush-termios ( termios fileno -- )
 | 
			
		||||
    TCSAFLUSH rot tcsetattr io-error ;
 | 
			
		||||
 | 
			
		||||
: set-raw-flags ( termios -- )
 | 
			
		||||
    [ ICANON unmask ECHO unmask ] change-lflag
 | 
			
		||||
    cc>> [ 1 VMIN rot set-nth ] [ 0 VTIME rot set-nth ] bi ;
 | 
			
		||||
 | 
			
		||||
M: linux fuel-pty-setup
 | 
			
		||||
    0 get-fd-termios dup set-raw-flags 0 flush-termios ;
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
linux
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
USING: help.syntax ;
 | 
			
		||||
IN: fuel.listener
 | 
			
		||||
 | 
			
		||||
ARTICLE: "fuel.listener" "FUEL command listener" "This vocab contains the listener started from FUEL. It sets up the pty in non-canonical mode so that you can paste long lines into it from Emacs." ;
 | 
			
		||||
 | 
			
		||||
ABOUT: "fuel.listener"
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
USING: kernel listener system vocabs ;
 | 
			
		||||
IN: fuel.listener
 | 
			
		||||
 | 
			
		||||
HOOK: fuel-pty-setup os ( -- )
 | 
			
		||||
 | 
			
		||||
M: object fuel-pty-setup ;
 | 
			
		||||
 | 
			
		||||
os linux? [ "fuel.listener.linux" require ] when
 | 
			
		||||
 | 
			
		||||
: fuel-listener ( -- )
 | 
			
		||||
    fuel-pty-setup listener-main ;
 | 
			
		||||
 | 
			
		||||
MAIN: fuel-listener
 | 
			
		||||
| 
						 | 
				
			
			@ -137,7 +137,7 @@ sessions."
 | 
			
		|||
    (message "Starting FUEL listener (this may take a while) ...")
 | 
			
		||||
    (pop-to-buffer (fuel-listener--buffer))
 | 
			
		||||
    (make-comint-in-buffer "fuel listener" (current-buffer) factor nil
 | 
			
		||||
                           "-run=listener" (format "-i=%s" image))
 | 
			
		||||
                           "-run=fuel.listener" (format "-i=%s" image))
 | 
			
		||||
    (fuel-listener--wait-for-prompt 60000)
 | 
			
		||||
    (fuel-listener--history-setup)
 | 
			
		||||
    (fuel-con--setup-connection (current-buffer))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue