22 lines
888 B
Python
22 lines
888 B
Python
"""This file is contributed by [David Smith](https://github.com/djs070)
|
|
"""
|
|
import sublime
|
|
import sublime_plugin
|
|
|
|
|
|
class ChangeHeadingLevelCommand(sublime_plugin.TextCommand):
|
|
def run(self, edit, up=True):
|
|
for region in self.view.sel():
|
|
line = self.view.line(region)
|
|
if up:
|
|
# Increase heading level
|
|
if not self.view.substr(line)[0] in ['#', ' ']:
|
|
self.view.insert(edit, line.begin(), " ")
|
|
self.view.insert(edit, line.begin(), "#")
|
|
else:
|
|
# Decrease heading level
|
|
if self.view.substr(line)[0] == '#':
|
|
self.view.erase(edit, sublime.Region(line.begin(), line.begin() + 1))
|
|
if self.view.substr(line)[0] == ' ':
|
|
self.view.erase(edit, sublime.Region(line.begin(), line.begin() + 1))
|