Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
ST sort tabs (neater)
import sublime, sublime_plugin, os
from operator import itemgetter
class SortTabsCommand(sublime_plugin.TextCommand):
def run(self, edit):
file_views = []
win = self.view.window()
curr_view = win.active_view()
for vw in win.views():
head, tail = os.path.split(vw.file_name())
group, _ = win.get_view_index(vw)
file_views.append((tail.lower(), vw, group))
file_views.sort(key = itemgetter(2, 0))
for index, (_, vw, group) in enumerate(file_views):
if not index or group > prev_group:
moving_index = 0
prev_group = group
else:
moving_index += 1
win.set_view_index(vw, group, moving_index)
win.focus_view(curr_view)
Owner

agibsonsw commented Mar 7, 2012

No added functionality, just slightly neater code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment