Mercurial Hosting > editor
comparison src/luan_editor/window.luan @ 52:3f4c3722b78b
.luan_editor dir
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 24 May 2025 16:25:55 -0600 |
parents | c17c5312e8de |
children | d5681da8ece8 |
comparison
equal
deleted
inserted
replaced
51:32631fdbbdf1 | 52:3f4c3722b78b |
---|---|
1 local Luan = require "luan:Luan.luan" | 1 local Luan = require "luan:Luan.luan" |
2 local error = Luan.error | 2 local error = Luan.error |
3 local stringify = Luan.stringify or error() | 3 local stringify = Luan.stringify or error() |
4 local Parsers = require "luan:Parsers.luan" | |
5 local json_string = Parsers.json_string or error() | |
6 local json_parse = Parsers.json_parse or error() | |
4 local Math = require "luan:Math.luan" | 7 local Math = require "luan:Math.luan" |
5 local min = Math.min or error() | 8 local min = Math.min or error() |
6 local String = require "luan:String.luan" | 9 local String = require "luan:String.luan" |
7 local sub_string = String.sub or error() | 10 local sub_string = String.sub or error() |
8 local replace = String.replace or error() | 11 local replace = String.replace or error() |
42 else | 45 else |
43 return default | 46 return default |
44 end | 47 end |
45 end | 48 end |
46 | 49 |
47 local config_file = Io.uri("file:"..Swing.home_dir.."/.luan_editor") | 50 local config_file = Io.uri("file:"..Swing.home_dir.."/.luan_editor/config.json") |
48 local config = {} | 51 local config = {} |
49 if config_file.exists() then | 52 if config_file.exists() then |
50 try | 53 try |
51 config = Luan.parse(config_file.read_text()) | 54 config = json_parse(config_file.read_text()) |
52 catch e | 55 catch e |
53 logger.error(e) | 56 logger.error(e) |
54 end | 57 end |
55 end | 58 end |
56 config.size = config.size or { width=700, height=700 } | 59 config.size = config.size or { width=700, height=700 } |
59 config.tab_size = config.tab_size or 4 | 62 config.tab_size = config.tab_size or 4 |
60 config.list_window = config.list_window or {} | 63 config.list_window = config.list_window or {} |
61 config.list_window.size = config.list_window.size or { width=200, height=400 } | 64 config.list_window.size = config.list_window.size or { width=200, height=400 } |
62 | 65 |
63 local function save_config() | 66 local function save_config() |
64 config_file.write_text( stringify(config).."\n" ) | 67 config_file.write_text( json_string(config).."\n" ) |
65 end | 68 end |
66 | 69 |
67 local list_view = new_list{ | 70 local list_view = new_list{ |
68 --layout = new_mig_layout("insets 0,wrap,fill") | 71 --layout = new_mig_layout("insets 0,wrap,fill") |
69 --layout = new_mig_layout("wrap","[grow]") | 72 --layout = new_mig_layout("wrap","[grow]") |