Git Product home page Git Product logo

gitsavvy's People

Contributors

abusalimov avatar asfaltboy avatar aziz avatar borgand avatar codetriage-readme-bot avatar ddevlin avatar deathaxe avatar divmain avatar dnicolson avatar dufferzafar avatar gwenzek avatar joreiff avatar joshgoebel avatar kaste avatar kinduff avatar laggingreflex avatar marcinruszkiewicz avatar mreq avatar nicosantangelo avatar old9 avatar p3lim avatar raanan-metanetworks avatar randy3k avatar scott-vsi avatar sindrig avatar stevage avatar stoivo avatar timfjord avatar tomv564 avatar yetithefoot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitsavvy's Issues

Output to panels

Most of the outputs in this plugin is done to the status bar.
I would like to see an option to output to panels, especially for certain actions like commit or push where you'd want to see the output, like a response from the server(s).

`git: tags` view

  • show all local tags
  • add tag
  • delete tag
  • show tags on remote (?)
  • push tags to remote

Feature documentation

Add basic documentation including:

  • intro / welcome
  • command palette commands
  • special views, their features, and key-bindings
  • existing GitHub integration features
    • setup API keys
  • docs include context for what it going on under the hood, to help learn git (moved from #12)

Link to docs from README.

Interactive help system

  • help docs written in markdown in docs/
  • wiki-style browsing when user presses super-enter on link
  • open docs to specific page/location when certain flags are set on originating view
  • docs include context for what it going on under the hood, to help learn git moving this requirement to #28.

Color scheme fails to load for git diff (windows)

I get the attached error message, the color scheme defaults to white with black text, and the changed hunks are unclear (in cached mode it seems like the changed hunks aren't shown at all, in uncached mode the hunks are shown as white text on black but it isn't clear what was removed, changed, added).
gitsavvy-error

Is there a way to configure inline diff background colors?

The default background colors result in a very low contrast because I'm using a light color scheme.
Is there a way to set these color values in the user config?
If not, would you consider to add in the config?

themeGenerator.add_scoped_style("GitSavvy Added Line", "git_savvy.change.addition", background="#37A832")
themeGenerator.add_scoped_style("GitSavvy Removed Line", "git_savvy.change.removal", background="#A83732")

Thanks.

Helpful message when git unconfigured

  • When path to git cannot be found, notify user and inform that they can either install or enter custom path in User/GitSavvy.sublime-settings.
  • When Git name and email and unconfigured, notify user, prompt for name/email, and configure Git.

add `git add --edit` equivalent

There's no easy way of telling which hunks or lines are actually staged in the inline diff.
Consider adding a background color to these (e.g. yellow) to distinguish them.

This would be especially useful with #35.

`GitSavvy: submit last failed git command as issue`

For debugging purposes (particularly for those submitting bugs), store the stdin and stdout of the most recent failed git operation. Add command to open web browser with URL along the these lines:

https://github.com/divmain/GitSavvy/issues/new?title=failed%20git%20command%20X&body=some%0Ainput%0Aand%0Aoutput

`git: submodule`

Special view with:

  • list of all submodules with commit status
  • summary for each submodule
  • initialize new submodule
  • update

Windows keybindings conflict

When in the inline-diff view, you cannot do SUPER-L, as this results in a locked machine. Introduce Windows-specific keybindings that swap SUPER for CTRL across the board.

Teaching mode

  • Before running git commands, display what is about to happen to the user
  • Dry-run mode where commands aren't run, just displayed to the user

Full-featured `git: graph` view

  • syntax highlighted view
  • pressing super+enter on a branch name checks out that branch
  • pressing super+enter on a commit will checkout that commit as detached HEAD
  • pressing enter on a commit displays the full commit message and diff in a separate window

Rethink module layout

Instead of:

  • root
    • commands
      • git-related commands
      • github-related commands
    • common
      • util
        • actual common code
      • git-related code
      • github-related code
      • some actual common code (view or HTTP related)
    • syntax
      • ...

Consider:

  • root
    • core
      • all git-related commands and shared code
    • github
      • all github-related commands and shared code
    • common
      • http
      • view-related
      • theme-related
      • date-related
      • file-related
      • log / debug
      • etc
    • syntax

Enhance commit view interactivity

Follow-up for changes seen in #45.

  • convert commit view to ui.Interface
  • enable region-based retrieval of commit message
  • toggle-able display of relevant diff
  • toggle-able display of commit summary (ala git commit --dry-run, see #107)
  • add embedded syntax-highlighting for diff (defining scope for region)
  • investigate: stage files from commit view

Diff while commiting

When creating a commit, it's handy to see at a glance what you are actually committing, a diff displayed at the bottom is the optimal solution.

Should also be optional, as it would probably add extra load time on larger commits.

`git: branch` view

  • syntax-highlighted view
  • show all local branches
  • checkout branch
  • delete branch (--force)
  • merge branch

git: blame current file results in AttributeError

git 1.9.3
sublime 3065
ubuntu linux 14.04

Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 543, in run_
    return self.run(edit, **args)
  File "/home/oliver/.config/sublime-text-3/Packages/GitSavvy/core/commands/blame.py", line 39, in run
    content = self.get_content()
  File "/home/oliver/.config/sublime-text-3/Packages/GitSavvy/core/commands/blame.py", line 50, in get_content
    blamed_lines, commits = self.parse_blame(blame_porcelain.splitlines())
  File "/home/oliver/.config/sublime-text-3/Packages/GitSavvy/core/commands/blame.py", line 100, in parse_blame
    k, v = re.match(r"([^ ]+) (.+)", next_line).groups()
AttributeError: 'NoneType' object has no attribute 'groups'

Show status.

Can we have a new feature that show repo status in bottom left-hand corner of Sublime Text Window?

`git: merge` in command palette

Required merge functionality:

  • git: merge
  • git: abort merge
  • git: merge (rebase) (split out as #26)
  • git: fetch and merge
  • status view reports merge status successfully
    • header
    • files
  • merge information in commit view
  • git: restart merge (untenable at present)
  • git: restart merge for file...
  • disallow inline-diff for file with merge conflict (patch is no longer two-way; it involves working tree, HEAD, and other branch/ref)

File status in gutter

  • icons for inserted, modified lines
  • icon between lines for removed lines
  • gray out icons when changes are staged

`git: rebase`

Thoughts for a rebase dashboard.


  REBASE:  master --> my-feature-branch
  STATUS:  conflict at 221ca4

    ┳ (dcc578)
    ┃
    ✔  11dc57  some commit message
    ┃
    ✔  d0c116  some other commit message
    ┃          resolved: path/to/some/file.ext
    ┃
  ▸ ✕  221ca4  message for commit with conflict
    ┃          conflict: path/to/some/conflicting/file.ext
    ┃          resolved: path/to/file/already/resolved.ext
    ┃
    ?  a0891c  message for commit to check next
    ┃
    ?  5fe330  message for last commit
    ┃
    ┻

  ###############                      #############
  ## CONFLICTS ##                      ## COMMITS ##
  ###############                      #############

  [o] open file                        [s] squash commit with next
  [a] accept file in current state     [S] squash all commits
  [m] use mine                         [u] move commit up (above previous)
  [t] use theirs                       [d] move commit down (below next)
  [M] launch external merge tool       [e] edit commit message

  ####################
  ## REBASE ACTIONS ##
  ####################

  [R] restart rebase
  [A] abort rebase
  [F] finalize rebase

-

Notes:

  • cannot finalize until all commits show a green check mark
  • squash commands would take to commit-like view pre-filled with combined commit messages
  • cannot squash all until all commits show a green check mark
  • cannot squash commit with next until selected and selected's next commit show green check mark

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.