aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar mitchell <70453897+667e-11@users.noreply.github.com>2020-03-12 12:10:54 -0400
committerGravatar mitchell <70453897+667e-11@users.noreply.github.com>2020-03-12 12:10:54 -0400
commit0549db74ae256cb77b3da0a83ddb0c22d910fb29 (patch)
treeefad84bf2a8347214c117e020bd4b81eb4a84cab
parent21fe6139c683240c6be4718e448c4915b2fc1021 (diff)
When generating iface for Scintilla events, move modifiers parameter to end.
-rw-r--r--core/iface.lua2
-rwxr-xr-xscripts/gen_iface.lua12
2 files changed, 8 insertions, 6 deletions
diff --git a/core/iface.lua b/core/iface.lua
index f3f3847a..8360bbed 100644
--- a/core/iface.lua
+++ b/core/iface.lua
@@ -47,7 +47,7 @@ M.properties = {accessibility={2703,2702,1,0},additional_caret_fore={2605,2604,3
-- Map of Scintilla event IDs to tables of event names and event parameters.
-- @class table
-- @name events
-M.events = {[2000]={"style_needed","position"},[2001]={"char_added","ch","character_source"},[2002]={"save_point_reached"},[2003]={"save_point_left"},[2004]={"modify_attempt_ro"},[2005]={"key","ch","modifiers"},[2006]={"double_click","modifiers","position","line"},[2007]={"update_ui","updated"},[2008]={"modified","position","modification_type","text","length","lines_added","line","fold_level_now","fold_level_prev","token","annotation_lines_added"},[2009]={"macro_record","message","w_param","l_param"},[2010]={"margin_click","margin","position","modifiers"},[2011]={"need_shown","position","length"},[2013]={"painted"},[2014]={"user_list_selection","list_type","text","position","ch","list_completion_method"},[2015]={"uri_dropped","text"},[2016]={"dwell_start","position","x","y"},[2017]={"dwell_end","position","x","y"},[2018]={"zoom"},[2019]={"hot_spot_click","modifiers","position"},[2020]={"hot_spot_double_click","modifiers","position"},[2021]={"call_tip_click","position"},[2022]={"auto_c_selection","text","position","ch","list_completion_method"},[2023]={"indicator_click","modifiers","position"},[2024]={"indicator_release","modifiers","position"},[2025]={"auto_c_cancelled"},[2026]={"auto_c_char_deleted"},[2027]={"hot_spot_release_click","modifiers","position"},[2028]={"focus_in"},[2029]={"focus_out"},[2030]={"auto_c_completed","text","position","ch","list_completion_method"},[2031]={"margin_right_click","margin","position","modifiers"},[2032]={"auto_c_selection_change","list_type","text","position"},}
+M.events = {[2000]={"style_needed","position"},[2001]={"char_added","ch","character_source"},[2002]={"save_point_reached"},[2003]={"save_point_left"},[2004]={"modify_attempt_ro"},[2005]={"key","ch","modifiers"},[2006]={"double_click","position","line","modifiers"},[2007]={"update_ui","updated"},[2008]={"modified","position","modification_type","text","length","lines_added","line","fold_level_now","fold_level_prev","token","annotation_lines_added"},[2009]={"macro_record","message","w_param","l_param"},[2010]={"margin_click","position","margin","modifiers"},[2011]={"need_shown","position","length"},[2013]={"painted"},[2014]={"user_list_selection","list_type","text","position","ch","list_completion_method"},[2015]={"uri_dropped","text"},[2016]={"dwell_start","position","x","y"},[2017]={"dwell_end","position","x","y"},[2018]={"zoom"},[2019]={"hot_spot_click","position","modifiers"},[2020]={"hot_spot_double_click","position","modifiers"},[2021]={"call_tip_click","position"},[2022]={"auto_c_selection","text","position","ch","list_completion_method"},[2023]={"indicator_click","position","modifiers"},[2024]={"indicator_release","position","modifiers"},[2025]={"auto_c_cancelled"},[2026]={"auto_c_char_deleted"},[2027]={"hot_spot_release_click","position","modifiers"},[2028]={"focus_in"},[2029]={"focus_out"},[2030]={"auto_c_completed","text","position","ch","list_completion_method"},[2031]={"margin_right_click","position","margin","modifiers"},[2032]={"auto_c_selection_change","list_type","text","position"},}
local marker_number, indic_number, list_type, image_type = -1, -1, 0, 0
diff --git a/scripts/gen_iface.lua b/scripts/gen_iface.lua
index 3455b2dd..5737b338 100755
--- a/scripts/gen_iface.lua
+++ b/scripts/gen_iface.lua
@@ -39,15 +39,15 @@ for line in io.lines('../src/scintilla/include/Scintilla.iface') do
elseif line:find('^evt ') then
local name, value, param_list = line:match(event_patt)
name = to_lua_name(name)
- local event = {string.format('%q', name)}
+ local event, has_modifiers = {string.format('%q', name)}, false
for param in param_list:gmatch('(%a+)[,)]') do
- if param ~= 'void' then
+ if param ~= 'void' and param ~= 'modifiers' then
event[#event + 1] = string.format('%q', to_lua_name(param))
+ elseif param == 'modifiers' then
+ has_modifiers = true
end
end
- if name:find('^margin') then
- event[2], event[4] = event[4], event[2] -- swap modifiers, margin
- end
+ if has_modifiers then event[#event + 1] = '"modifiers"' end
events[#events + 1] = value
events[value] = table.concat(event, ',')
elseif line:find('^fun ') then
@@ -189,6 +189,7 @@ local marker_number, indic_number, list_type, image_type = -1, -1, 0, 0
-- @see buffer.marker_define
-- @name next_marker_number
function M.next_marker_number()
+ assert(marker_number < M.constants.MARKER_MAX, 'too many markers in use')
marker_number = marker_number + 1
return marker_number
end
@@ -201,6 +202,7 @@ end
-- @see buffer.indic_style
-- @name next_indic_number
function M.next_indic_number()
+ assert(indic_number < M.constants.INDICATOR_MAX, 'too many indicators in use')
indic_number = indic_number + 1
return indic_number
end