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))
 |