def browsing_on_done(self, index=None):
if index == -1:
return self.input_on_cancel()
if self.no_browser_action is False and index == 0:
# create from the position in the browser
self.create_from = self.browser.path
self.path_to_create_choosed_from_browsing = True
if self.browser_action.get('func', None) is None:
return self.create_input()
else:
return self.browser_action['func'](self.create_from, None)
elif (self.no_browser_action is True and index == 0) or (
index == 1 and self.no_browser_action is False):
self.browser.path = os.path.normpath(
os.path.join(self.browser.path, '..'))
elif index is not None:
self.browser.path = os.path.join(self.browser.path,
self.browser.items[index])
if os.path.isfile(self.browser.path):
set_status(self.view, self.STATUS_KEY, '')
return self.window.open_file(self.browser.path)
folders, files = [], []
for item in os.listdir(self.browser.path):
if os.path.isdir(os.path.join(self.browser.path, item)):
folders.append(item + '/')
else:
files.append(item)
if self.no_browser_action:
self.browser.items = ['[cmd] ..'] + folders + files
elif self.browser_action.get('title', None) is not None:
self.browser.items = [
'[cmd] ' + self.browser_action['title'], '[cmd] ..'
] + folders + files
else:
self.browser.items = ['[cmd] Create from here', '[cmd] ..'
] + folders + files
set_status(self.view, self.STATUS_KEY,
'Browsing at: {0}'.format(user_friendly(self.browser.path)))
if self.browser_index is not None:
index = self.browser_index
elif self.no_browser_action:
index = 1
else:
index = 2
self.window.show_quick_panel(self.browser.items, self.browsing_on_done,
sublime.KEEP_OPEN_ON_FOCUS_LOST, index, self.open_in_transient)
评论列表
文章目录