editors: Launch editors as child processes. Hopefully this is ok on
other platforms. On Windows, VSCode gets launched as a child process, which kills the editor when Factor exits. This is not what we want. Add an overridable option to launch editors as child processes, which should get repated when Factor quits. The confusion comes from ``run-detached`` which itself just waits until the child process returns (as opposed to "detaching" a child process from the parent process, which is called +new-group+ or +new-session+ instead).paths
							parent
							
								
									e50be2a1ca
								
							
						
					
					
						commit
						f164f47e41
					
				|  | @ -25,10 +25,14 @@ M: f editor-command | ||||||
| HOOK: editor-detached? editor-class ( -- ? ) | HOOK: editor-detached? editor-class ( -- ? ) | ||||||
| M: object editor-detached? t ; | M: object editor-detached? t ; | ||||||
| 
 | 
 | ||||||
|  | HOOK: editor-is-child? editor-class ( -- ? ) | ||||||
|  | M: object editor-is-child? f ; | ||||||
|  | 
 | ||||||
| : run-and-wait-for-editor ( command -- ) | : run-and-wait-for-editor ( command -- ) | ||||||
|     <process> |     <process> | ||||||
|         swap >>command |         swap >>command | ||||||
|         editor-detached? >>detached |         editor-detached? >>detached | ||||||
|  |         editor-is-child? [ +new-group+ >>group ] unless | ||||||
|     run-process |     run-process | ||||||
|     300 milliseconds sleep |     300 milliseconds sleep | ||||||
|     dup status>> { 0 f } member? |     dup status>> { 0 f } member? | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue