Files
ChocolateyPackages/EthanBrown.SublimeText2.EditorPackages/tools/PackageCache/Related Files/related_files.py

40 lines
1.3 KiB
Python

import sublime
import sublime_plugin
from related import *
class RelatedFilesCommand(sublime_plugin.WindowCommand):
def run(self, index=None):
active_file_path = self.__active_file_path()
if active_file_path:
# Builds a list of related files for the current open file.
self.__related = Related(active_file_path, self.__patterns(), sublime.active_window().folders())
self.window.show_quick_panel(self.__related.descriptions(), self.__open_file)
else:
self.__status_msg("No open files")
# Opens the file in path.
def __open_file(self, index):
if index >= 0:
self.window.open_file(self.__related.files()[index])
else:
self.__status_msg("No related files found")
# Retrieves the patterns from settings.
def __patterns(self):
return sublime.load_settings("RelatedFiles.sublime-settings").get('patterns')
# Returns the activelly open file path from sublime.
def __active_file_path(self):
if self.window.active_view():
file_path = self.window.active_view().file_name()
if file_path and len(file_path) > 0:
return file_path
# Displays a status message on sublime.
def __status_msg(self, message):
sublime.status_message(message)