diff src/luan_editor/editor.luan @ 75:7f5b3824f4d4

add Windows
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 18 Jun 2025 18:57:34 -0600
parents 824f6d74b1d4
children
line wrap: on
line diff
--- a/src/luan_editor/editor.luan	Tue Jun 17 13:00:25 2025 -0600
+++ b/src/luan_editor/editor.luan	Wed Jun 18 18:57:34 2025 -0600
@@ -6,6 +6,10 @@
 local to_number = String.to_number or error()
 local Io = require "luan:Io.luan"
 local new_file = Io.schemes.file or error()
+local Thread = require "luan:Thread.luan"
+local sleep = Thread.sleep or error()
+local Swing_runner = require "luan:swing/Swing_runner.luan"
+local swing_run = Swing_runner.run or error()
 local Launcher = require "luan:swing/Launcher.luan"
 local Java = require "classpath:luan_editor/Java.luan"
 local Logging = require "luan:logging/Logging.luan"
@@ -13,24 +17,46 @@
 
 
 local function open(args)
-	local Window = require "classpath:luan_editor/Window.luan"
-	local new_window = Window.new_window or error()
+	if #args == 0 then
+		swing_run( function()
+			local Window = require "classpath:luan_editor/Window.luan"
+			local new_window = Window.new_window or error()
 
-	if #args == 0 then
-		new_window()
+			new_window()
+		end )
 	else
 		for _, arg in ipairs(args) do
 			local file = new_file(arg)
-			new_window(file)
+			swing_run( function()
+				local Window = require "classpath:luan_editor/Window.luan"
+				local new_window = Window.new_window or error()
+
+				new_window(file)
+			end )
+			sleep(100)
 		end
 	end
 end
 
 local function reopen(args)
-	local Window = require "classpath:luan_editor/Window.luan"
-	local open_windows = Window.open_windows or error()
+	if #args == 0 then
+		swing_run( function()
+			local Window = require "classpath:luan_editor/Window.luan"
+			local open_window = Window.open_window or error()
 
-	open_windows(args)
+			open_window(nil)
+		end )
+	else
+		for _, arg in ipairs(args) do
+			swing_run( function()
+				local Window = require "classpath:luan_editor/Window.luan"
+				local open_window = Window.open_window or error()
+
+				open_window(arg)
+			end )
+			sleep(100)
+		end
+	end
 end
 
 local port = Java.port