def on_done_filename(self, value):
        self.filename = value
        # get selected text, or the whole file if nothing selected
        if all([region.empty() for region in self.view.sel()]):
            text = self.view.substr(sublime.Region(0, self.view.size()))
        else:
            text = "\n".join(
                [self.view.substr(region) for region in self.view.sel()])

        gistapi = GitHubApi(self.github_token, debug=self.debug)
        try:
            gist_url = gistapi.create_gist(description=self.description,
                                           filename=self.filename,
                                           content=text,
                                           public=self.public)
            sublime.set_clipboard(gist_url)
            sublime.status_message(self.MSG_SUCCESS)
        except GitHubApi.UnauthorizedException:
            # clear out the bad token so we can reset it
            self.settings.set("github_token", "")
            sublime.save_settings("GitHub.sublime-settings")
            sublime.error_message(self.ERR_UNAUTHORIZED_TOKEN)
            sublime.set_timeout(self.get_username, 50)
        except GitHubApi.UnknownException, e:
            sublime.error_message(e.message)
    def on_done_filename(self, value):
        self.filename = value
        # get selected text, or the whole file if nothing selected
        if all([region.empty() for region in self.view.sel()]):
            text = self.view.substr(sublime.Region(0, self.view.size()))
        else:
            text = "\n".join([self.view.substr(region) for region in self.view.sel()])

        gistapi = GitHubApi(self.github_token, debug=self.debug)
        try:
            gist_url = gistapi.create_gist(description=self.description,
                                           filename=self.filename,
                                           content=text,
                                           public=self.public)
            sublime.set_clipboard(gist_url)
            sublime.status_message(self.MSG_SUCCESS)
        except GitHubApi.UnauthorizedException:
            # clear out the bad token so we can reset it
            self.settings.set("github_token", "")
            sublime.save_settings("GitHub.sublime-settings")
            sublime.error_message(self.ERR_UNAUTHORIZED_TOKEN)
            sublime.set_timeout(self.get_username, 50)
        except GitHubApi.UnknownException, e:
            sublime.error_message(e.message)