aboutsummaryrefslogtreecommitdiff
path: root/core/events.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2010-10-28 17:28:41 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2010-10-28 17:28:41 -0400
commit91d986b356ef98d214f99efdce1d1a998e8a419b (patch)
treeceab848e6b85790e1798e1c622e2f60583e45b4d /core/events.lua
parentc049bb7023ac763248e24cb18a4a7acd9e082b63 (diff)
downloadtextadept-91d986b356ef98d214f99efdce1d1a998e8a419b.tar.gz
textadept-91d986b356ef98d214f99efdce1d1a998e8a419b.zip
Use new Scintilla API for saving fold state; core/events.lua
Diffstat (limited to 'core/events.lua')
-rw-r--r--core/events.lua11
1 files changed, 4 insertions, 7 deletions
diff --git a/core/events.lua b/core/events.lua
index 4c67d37e..a7068dcd 100644
--- a/core/events.lua
+++ b/core/events.lua
@@ -369,13 +369,10 @@ connect('buffer_before_switch',
-- Save fold state.
buffer._folds = {}
local folds = buffer._folds
- local level, expanded = buffer.fold_level, buffer.fold_expanded
- local header_flag = _SCINTILLA.constants.SC_FOLDLEVELHEADERFLAG
- local test = 2 * header_flag
- for i = 0, buffer.line_count do
- if level[i] % test >= header_flag and not expanded[i] then
- folds[#folds + 1] = i
- end
+ local i = buffer:contracted_fold_next(0)
+ while i >= 0 do
+ folds[#folds + 1] = i
+ i = buffer:contracted_fold_next(i + 1)
end
end)