Mercurial Hosting > editor
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