Skip to content

Instantly share code, notes, and snippets.

@agibsonsw
Created March 7, 2012 20:26
Show Gist options
  • Select an option

  • Save agibsonsw/1995854 to your computer and use it in GitHub Desktop.

Select an option

Save agibsonsw/1995854 to your computer and use it in GitHub Desktop.
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)
@agibsonsw
Copy link
Copy Markdown
Author

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