Skip to content

Commit 9e20e19

Browse files
committed
Merge branch 'st4-develop'
2 parents 8bd9216 + 88499d3 commit 9e20e19

File tree

9 files changed

+344
-97
lines changed

9 files changed

+344
-97
lines changed

Preferences.sublime-settings

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@
124124
// MarkdownEditing (Folding):
125125
// Selector for urls to automatically fold
126126
"mde.auto_fold_link.selector": "( meta.image.inline.metadata.markdown | meta.image.reference.metadata.markdown | meta.link.inline.metadata.markdown | meta.link.reference.metadata.markdown ) - punctuation.definition.metadata",
127+
// MarkdownEditing (Folding):
128+
// Automatically fold sections when loading new document
129+
// false: disable auto-folding on load
130+
// true: fold headings by level 1
131+
// 0: fold all sections, but keep headings visible (outline/toc mode, like ctrl+k, ctrl+9)
132+
// 1..6: fold headings by level (like ctrl+k, ctrl+1..6)
133+
"mde.auto_fold_sections.level": false,
127134

128135
// MarkdownEditing (Wiki):
129136
// wiki file extensions

docs/usage.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,25 @@ The folding selector can be tweaked in order to add or remove certain kinds of u
189189
"mde.auto_fold_link.selector": "( meta.image | meta.link ) & ( markup.underline | constant.other) - meta.link.reference.footnote - meta.link.reference.def - meta.link.inet",
190190
```
191191

192+
## Automatic Section Folding
193+
194+
MarkdownEditing can automatically fold sections when loading a document.
195+
196+
To globally enable it, add the following setting to _Perferences.sublime-settings_
197+
198+
```jsonc
199+
"mde.auto_fold_sections.level": 0, // TOC mode
200+
```
201+
202+
Valid values are:
203+
204+
| Value | Description
205+
| :---: | ---
206+
| false | disable auto-folding on load
207+
| true | fold headings by level 1
208+
| 0 | fold all sections, but keep headings visible (outline/toc mode, like <kbd>ctrl+k, ctrl+9</kbd>)
209+
| 1..6 | fold headings by level (like <kbd>ctrl+k, ctrl+1..6</kbd>)
210+
192211
## Navigation
193212

194213
MarkdownEditing provides various ways to navigate between sections.

make.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ goto :usage
9696

9797
:: create the release
9898
call git push --tags --force
99-
gh release create --target master -t "%package% %2" "%2" %assets%
99+
gh release create --target master -t "%package% %2" "%build%-%2" %assets%
100100
del /f /q *.sublime-package
101101
git fetch
102102
goto :eof

plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
MdeSelectColorSchemeCommand,
2929
)
3030
from .plugins.folding import (
31+
MdeAutoFoldListener,
3132
MdeFoldAllSectionsCommand,
3233
MdeFoldLinksCommand,
33-
MdeFoldLinksListener,
3434
MdeFoldSectionCommand,
3535
MdeShowFoldAllSectionsCommand,
3636
MdeUnfoldAllSectionsCommand,

plugins/folding.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -395,38 +395,44 @@ def run(self, edit, fold=None):
395395
unfold_urls(self.view)
396396

397397

398-
class MdeFoldLinksListener(MdeViewEventListener):
398+
class MdeAutoFoldListener(MdeViewEventListener):
399399
"""
400400
This class describes an automatic link folding event listener.
401401
"""
402402

403-
def auto_fold(self):
404-
settings = self.view.settings()
405-
if settings.get("mde.auto_fold_link.enabled", True):
403+
def auto_fold_links(self):
404+
if self.view.settings().get("mde.auto_fold_link.enabled", True):
406405
fold_urls(self.view)
407406
else:
408407
unfold_urls(self.view)
409408

409+
def auto_fold_sections(self):
410+
level = self.view.settings().get("mde.auto_fold_sections.level", False)
411+
if level is not False and 0 <= int(level) <= 6:
412+
self.view.run_command("mde_fold_all_sections", {"target_level": level})
413+
410414
def on_init(self):
411415
"""
412416
Fold all links after application startup.
413417
"""
414-
self.auto_fold()
418+
self.auto_fold_sections()
419+
self.auto_fold_links()
415420

416421
def on_load(self):
417422
"""
418423
Fold all links once file is loaded.
419424
"""
420-
self.auto_fold()
425+
self.auto_fold_sections()
426+
self.auto_fold_links()
421427

422428
def on_activated(self):
423429
"""
424430
Update link folding when activating view.
425431
"""
426-
self.auto_fold()
432+
self.auto_fold_links()
427433

428434
def on_selection_modified(self):
429435
"""
430436
Update link folding when moving caret around.
431437
"""
432-
self.auto_fold()
438+
self.auto_fold_links()

syntaxes/Fold.tmPreferences

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@
2323
<key>excludeTrailingNewlines</key>
2424
<true/>
2525
</dict>
26+
<dict>
27+
<key>begin</key>
28+
<string>punctuation.section.div.begin.markdown</string>
29+
<key>end</key>
30+
<string>punctuation.section.div.end.markdown</string>
31+
<key>excludeTrailingNewlines</key>
32+
<false/>
33+
</dict>
2634
</array>
2735
</dict>
2836
</dict>

0 commit comments

Comments
 (0)