Skip to content

Commit a5e5399

Browse files
committed
Merge branch 'promote-demote-correction'
2 parents 490a060 + 92561c2 commit a5e5399

File tree

2 files changed

+5
-15
lines changed

2 files changed

+5
-15
lines changed

ftplugin/orgmode/plugins/EditStructure.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ def _change_heading_level(cls, level, including_children=True, on_heading=False,
129129
:on_heading: True if promoting/demoting should only happen when the cursor is on the heading
130130
:insert_mode: True if vim is in insert mode
131131
"""
132-
132+
# TODO : current promote and demote works for only headings. Since
133+
# checkboxes also have tree structure. We should think of
134+
# expanding the functionality of promoting and demoting to
135+
# checkboxes as well
133136
d = ORGMODE.get_document()
134137
current_heading = d.current_heading()
135138
if not current_heading or on_heading and current_heading.start_vim != vim.current.window.cursor[0]:
@@ -247,8 +250,7 @@ def indent(heading, ic):
247250
d.headings.insert(idx, current_heading, taint=False)
248251

249252
d.write()
250-
if indent_end_vim != current_heading.start_vim:
251-
vim.command(u_encode(u'normal %dggV%dgg=' % (current_heading.start_vim, indent_end_vim)))
253+
252254
# restore cursor position
253255
vim.current.window.cursor = (c[0], c[1] + level)
254256

tests/test_plugin_edit_structure.py

-12
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,6 @@ def test_new_heading_below_split_heading_title_with_todo(self):
254254
def test_demote_heading(self):
255255
vim.current.window.cursor = (13, 0)
256256
self.assertNotEqual(self.editstructure.demote_heading(), None)
257-
self.assertEqual(vim.CMDHISTORY[-1], u_encode(u'normal 13ggV15gg='))
258257
self.assertEqual(vim.current.buffer[10], u_encode(u'Text 3'))
259258
self.assertEqual(vim.current.buffer[11], u_encode(u''))
260259
self.assertEqual(vim.current.buffer[12], u_encode(u'***** Überschrift 1.2.1.falsch'))
@@ -277,7 +276,6 @@ def test_demote_newly_created_level_one_heading(self):
277276

278277
vim.current.window.cursor = (6, 2)
279278
self.assertNotEqual(self.editstructure.demote_heading(), None)
280-
self.assertEqual(vim.CMDHISTORY[-1], u_encode(u'normal 6ggV17gg='))
281279
self.assertEqual(vim.current.buffer[5], u_encode(u'** '))
282280
self.assertEqual(vim.current.buffer[6], u_encode(u'*** Überschrift 1.1'))
283281
self.assertEqual(vim.current.buffer[10], u_encode(u'*** Überschrift 1.2'))
@@ -322,7 +320,6 @@ def test_demote_last_heading(self):
322320
def test_promote_heading(self):
323321
vim.current.window.cursor = (13, 0)
324322
self.assertNotEqual(self.editstructure.promote_heading(), None)
325-
self.assertEqual(vim.CMDHISTORY[-1], u_encode(u'normal 13ggV15gg='))
326323
self.assertEqual(vim.current.buffer[10], u_encode(u'Text 3'))
327324
self.assertEqual(vim.current.buffer[11], u_encode(u''))
328325
self.assertEqual(vim.current.buffer[12], u_encode(u'*** Überschrift 1.2.1.falsch'))
@@ -342,7 +339,6 @@ def test_promote_level_one_heading(self):
342339
def test_demote_parent_heading(self):
343340
vim.current.window.cursor = (2, 0)
344341
self.assertNotEqual(self.editstructure.demote_heading(), None)
345-
self.assertEqual(vim.CMDHISTORY[-1], u_encode(u'normal 2ggV16gg='))
346342
self.assertEqual(vim.current.buffer[1], u_encode(u'** Überschrift 1'))
347343
self.assertEqual(vim.current.buffer[5], u_encode(u'*** Überschrift 1.1'))
348344
self.assertEqual(vim.current.buffer[9], u_encode(u'*** Überschrift 1.2'))
@@ -367,10 +363,6 @@ def test_demote_parent_heading_count(self):
367363
vim.current.window.cursor = (2, 0)
368364
vim.EVALRESULTS[u"v:count"] = u_encode(u'3')
369365
self.assertNotEqual(self.editstructure.demote_heading(), None)
370-
self.assertEqual(len(vim.CMDHISTORY), 3)
371-
self.assertEqual(vim.CMDHISTORY[-3], u_encode(u'normal 2ggV16gg='))
372-
self.assertEqual(vim.CMDHISTORY[-2], u_encode(u'normal 2ggV16gg='))
373-
self.assertEqual(vim.CMDHISTORY[-1], u_encode(u'normal 2ggV16gg='))
374366
self.assertEqual(vim.current.buffer[1], u_encode(u'**** Überschrift 1'))
375367
self.assertEqual(vim.current.buffer[5], u_encode(u'***** Überschrift 1.1'))
376368
self.assertEqual(vim.current.buffer[9], u_encode(u'***** Überschrift 1.2'))
@@ -384,10 +376,6 @@ def test_promote_parent_heading(self):
384376
vim.current.window.cursor = (13, 0)
385377
vim.EVALRESULTS[u"v:count"] = u_encode(u'3')
386378
self.assertNotEqual(self.editstructure.promote_heading(), None)
387-
self.assertEqual(len(vim.CMDHISTORY), 3)
388-
self.assertEqual(vim.CMDHISTORY[-3], u_encode(u'normal 13ggV15gg='))
389-
self.assertEqual(vim.CMDHISTORY[-2], u_encode(u'normal 13ggV15gg='))
390-
self.assertEqual(vim.CMDHISTORY[-1], u_encode(u'normal 13ggV16gg='))
391379
self.assertEqual(vim.current.buffer[5], u_encode(u'** Überschrift 1.1'))
392380
self.assertEqual(vim.current.buffer[9], u_encode(u'** Überschrift 1.2'))
393381
self.assertEqual(vim.current.buffer[12], u_encode(u'* Überschrift 1.2.1.falsch'))

0 commit comments

Comments
 (0)