50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sublime, os, pkgutil
 | |
| import os.path
 | |
| import re
 | |
| 
 | |
| '''
 | |
| INSTALLED_DIRECTORY - The install directory name for this plugin.
 | |
| 
 | |
| For ST3
 | |
|     As descriped in http://www.sublimetext.com/docs/3/packages.html this script locations is one of
 | |
|     Zipped: 
 | |
|         "<executable_path>/Packages/Markdown Preview.sublime-package/Markdown Preview.MarkdownPreview"
 | |
|         "<data_path>/Installed Packages/Markdown Preview.sublime-package/Markdown Preview.MarkdownPreview"
 | |
|     Not Zipped:
 | |
|         "<data_path>/Packages/Markdown Preview/MarkdownPreview.py"
 | |
| 
 | |
|     All passable path for ST3 are abspath (tested on windows)
 | |
| 
 | |
| For ST2
 | |
|     The __file__ will be '.\MarkdownPreview.pyc' that means when this script is loaded,
 | |
|     Sublime Text entered the directoy of this script. So we make use of os.path.abspath()
 | |
| '''
 | |
| try:
 | |
|     INSTALLED_DIRECTORY = re.search("[ \\\\/]Packages[\\\\/]([^\\\\/\.]+)", os.path.abspath(__file__)).group(1)
 | |
| except:
 | |
|     print('Warning failed to detect the install directory, defaulting to: "Markdown Preview"')
 | |
|     INSTALLED_DIRECTORY = "Markdown Preview"
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| """
 | |
| Preload all python-markdown extensions (ST2 only)
 | |
| """
 | |
| 
 | |
| # By default sublime 2 only imports python packages from the top level of the plugin directory.
 | |
| # Trying to import packages from subdirectories dynamically at a later time is NOT possible.
 | |
| 
 | |
| # This package automatically imports all packages from the extension directory
 | |
| # so they are available when we need them.
 | |
| 
 | |
| if sublime.version() < '3000':
 | |
|     packages_path = sublime.packages_path()
 | |
|     extension_module = "markdown.extensions"
 | |
| 
 | |
| 
 | |
|     for  _, package, _ in pkgutil.walk_packages("."):
 | |
|         if package.startswith(extension_module):
 | |
|             print ("Reloading plugin extension " + os.path.join(packages_path, INSTALLED_DIRECTORY, *package.split(".")) + ".py")
 | |
|             __import__(package)
 |