From 114628b6d325fb6c56bb92f5cfac1828b12c6cfc Mon Sep 17 00:00:00 2001 From: Randy Lai Date: Fri, 28 Jul 2017 00:15:54 -0400 Subject: [PATCH] Enhancement: limit of items in tags dashboard --- GitSavvy.sublime-settings | 5 +++++ core/interfaces/tags.py | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/GitSavvy.sublime-settings b/GitSavvy.sublime-settings index 532f9cf75..3e6af042f 100755 --- a/GitSavvy.sublime-settings +++ b/GitSavvy.sublime-settings @@ -158,6 +158,11 @@ */ "show_remotes_in_tags_dashboard": false, + /* + Limit the number of tags listed in the tags dashboard. + */ + // "max_items_in_tags_dashboard": 10 + /* When set to `true`, GitSavvy will offer to set the upstream on `git: push` when tracking branch is not configured. diff --git a/core/interfaces/tags.py b/core/interfaces/tags.py index efa8f6d74..c1e0b93c5 100644 --- a/core/interfaces/tags.py +++ b/core/interfaces/tags.py @@ -81,6 +81,7 @@ def pre_render(self): if self.show_remotes is None: savvy_settings = sublime.load_settings("GitSavvy.sublime-settings") self.show_remotes = savvy_settings.get("show_remotes_in_tags_dashboard") + self.max_items = savvy_settings.get("max_items_in_tags_dashboard", None) self.local_tags = self.get_tags(reverse=True) if not self.remotes and self.show_remotes: @@ -110,7 +111,7 @@ def render_local_tags(self): return "\n".join( " {} {}".format(self.get_short_hash(tag.sha), tag.tag) - for tag in self.local_tags + for tag in self.local_tags[0:self.max_items] ) @ui.partial("remote_tags") @@ -147,10 +148,11 @@ def render_help(self): def get_remote_tags_list(self, remote, remote_name): if "tags" in remote: if remote["tags"]: - msg = "\n".join( - " {} {}".format(self.get_short_hash(tag.sha), tag.tag) - for tag in remote["tags"] if tag.tag[-3:] != "^{}" - ) + tags_list = [tag for tag in remote["tags"] if tag.tag[-3:] != "^{}"] + tags_list = tags_list[0:self.max_items] + + msg = "\n".join(" {} {}".format( + self.get_short_hash(tag.sha), tag.tag) for tag in tags_list) else: msg = NO_REMOTE_TAGS_MESSAGE