Commits on Jul 29, 2015
Commits on Jul 12, 2015
Commits on Jul 4, 2015
  1. Update

    CodingFu committed Jul 4, 2015
Commits on Jun 15, 2015
  1. Ignore "useless use of variable in void context"

    derekprior committed Jun 15, 2015
    The following ERB generates a "Possibly useless use of variable in void
    context" warning from Syntastic:
    <%= comment %>
    The warning can be eliminated by making it:
    <%= comment.to_s %>
    However, this behavior is the default and is redundant. There are other
    cases where this warning pops up and in each case I've found it to be of
    no use.
Commits on May 26, 2015
  1. Add third-party site-functions to $fpath

    gylaz committed May 22, 2015
    Third-party completions get added to
    Standard `$fpath` contains `/usr/share/zsh/site-functions`
    (not the missing `local`).
    By adding this to the `$fpath` git subcommands get completed correctly.
    Related to thoughtbot#373.
  2. Remove uncommon aliases

    gylaz committed May 8, 2015
Commits on May 22, 2015
  1. Use C-s as tmux prefix

    tute committed May 19, 2015
    C-a allow use to trigger tmux prefix more easily than C-b, at the cost
    of overriding the readline beginning of line. This change remaps it to
    C-s, which has the same effect without that drawback.
    Remove last-pane bindings.
    Map prefixes to underlying behavior
    Quoting Chris Toomey:
    > I'm wondering if we might want to take a different approach with these
    > keys. last-pane is already bound to ; by default which is comfortably
    > on the home row, and if using vim-tmux-navigator also bound to
    > (unprefixed) C-\.
  2. Added git_template/info/exclude for Xcode

    Dean Tambling authored and gylaz committed Apr 21, 2015
    Xcode >=6.0.1 throws an error when creating a new git-tracked project
    without an 'exclude' file. Created the exclude file to correspond to
    the existing gitignore file.
    More info about this file:
  3. Add "^K" keybind

    jacquerie authored and gylaz committed May 13, 2015
    Bind "^K" to the kill-line command.
  4. Source matchit.vim from vim/macros directory

    danielnolan authored and gylaz committed May 11, 2015
    * After removing the matchit.vim plugin from the vimrc.bundles file in
      this pull request thoughtbot#379. It
      was brought to my attention that plugins in the macros directory are
      not automatically loaded due to backwards compatibility issues.
    * Add entry to vimrc to source the matchit.vim plugin from the macros
      directory, if the user does not have it installed already. This is how
      Tim Pope adds the matchit.vim plugin to vimrc in his vim-sensible plugin.
Commits on May 16, 2015
  1. Update tat script to accept optional session name

    graysonwright committed Feb 27, 2015
    If no session name is provided,
    it will generate one from the current directory.
Commits on May 12, 2015
  1. Update README to use vim-plug syntax

    shamanime committed May 12, 2015
    The examples were using the vundle syntax instead.
Commits on May 8, 2015
  1. Update shim that helps migrate to vim-plug

    joshleichtung authored and gylaz committed May 2, 2015
    Improve the shim to catch both `Plugin` and `Bundle` commands
    for users that are still using Vundle's older syntax.
  2. Remove ctags.vim plugin

    gylaz committed May 1, 2015
    The plugin seems abandoned and doesn't work with our setup as it is.
  3. Add "bundle search" subcommand

    derekprior authored and gylaz committed Mar 13, 2015
    Bundler 1.8+ added support for git-style subcommands. Any scripts
    starting with `bundler-` in your path are executable as bundler
    This adds `search` as a subcommand that uses `ag` to search for a string
    among all gems in your bundle (default) or optionally a specific gem.
    I've found this useful for finding the source of puzzling deprecations,
    finding what gem provides a method, and other various things.
  4. Remove plugin

    danielnolan authored and gylaz committed May 6, 2015
    * This plugin is no longer maintained and is included in vim by default.
    * Per the docs at
      Since vim 6.0, matchit.vim has been included in the standard vim distribution,
      under the macros/ directory; the version here may be more recent.
    * The version included in the vim macros directory is the same version
      being added in the vimrc.bundles file from github version 1.13.2
  5. Exclude `node_modules` and `bower_components`

    seanpdoyle committed Apr 10, 2015
    This is equivalent to excluding `vendor/assets` in a Rails project.
    JS Dependency trees (especially npm packages) can be extremely noisy.
Commits on May 3, 2015
  1. Enable Git's autosquash feature by default.

    georgebrock committed May 3, 2015
    Autosquash makes it quicker and easier to squash or fixup commits during an
    interactive rebase. It can be enabled for each rebase using `git rebase -i
    --autosquash`, but it's easier to turn it on by default.
    Say I have this history:
        $ git log --oneline
        aaa1111 A first commit
        bbb2222 A second commit
        ccc3333 A third commit
    I make another change that I already know should be squashed into "A
    second commit". I can do this:
        $ git add .
        $ git commit --squash bbb2222
        [my-branch ddd4444] squash! A second commit
    Then when I rebase:
        $ git rebase -i origin/my-branch
    The interactive rebase list will be set up ready to squash:
        pick aaa1111 A first commit
        pick bbb2222 A second commit
        squash ddd4444 squash! A second commit
        pick ccc3333 A third commit
    Since it's unlikely that anyone will be writing a commit message that begins
    `squash!` or `fixup!` when they don't want this behaviour, and the user
    still has a chance to review what's going to happen with the rebase, it's
    safe to have it always turned on.
Commits on Apr 27, 2015
  1. Use vim-plug over vundle

    geoffharcourt committed Feb 19, 2015
    [vim-plug]( has a number of
    advantages over Vundle:
    * Installs and updates plugins very quickly in parallel
    * Can lock plugins at versions/tags
    * Can rollbacks updates (useful if a plugin breaks) and take/reload
      snapshots of current state
    * Optionally lazily-load plugins when their relevant command is invoked
    * Execute post-update hooks for plugins with compiled extensions, etc.
    vim-plug uses a DSL very close to Vundle (simplest form is `Plug` vs.
    `Plugin`), and here it is set to continue to use the same plugin
    location that Vundle was using before.
    After updating, users will need to
    1. Rename `Plugin` lines in `.vimrc.bundles.local` to use `Plug`
    2. Run `:PlugInstall` (the post-up hook does this)
  2. Move Git aliases to subcommand scripts

    croaky committed Apr 12, 2015
    Any executable script on you PATH
    that is named `git-some-name`
    will be available as a git subcommand,
    which means you could do `git some-name` to run the script.
    Git adds them to `git help -a` under the title
    "git commands available from elsewhere on your $PATH",
    which will then power the auto completion,
    so that will also work for any command you add.
    Examples of other projects that structure their dotfiles like this:
Commits on Apr 9, 2015
  1. Enable autocomplete with dictionary words

    andyw8 authored and gylaz committed Mar 18, 2015
    Enable autocomplete with dictionary words when
    spell check is on.
Commits on Mar 18, 2015
  1. Remove GitHub colorscheme

    jessieay committed Mar 12, 2015
    * Every time I pull updates from this repo into my own dotfiles, I have to
      reconfigure my preferred theme (solarized)
    * Seems like there is not a majority or plurality of thoughbotters using a
      single colorscheme
    * Easiest to just not specify a colorscheme
    * See
Commits on Mar 13, 2015
  1. Let ctrl-p find files with a leading dot

    derekprior committed Mar 12, 2015
    I am constantly forgetting that I can't use `ctrl-p` to open
    `.travis.yml` or any other file with a leading `.`. This change comes
    about after some discussion in general on how to handle this. Passing
    `--hidden` to the `ag` command allows it to find files with a leading
    Unfortunately, this also includes the content of your `.git`
    directory. To overcome this, we add `/.git/` to `agignore`.
Commits on Mar 9, 2015
  1. Update credits

    jferris committed Mar 9, 2015
    * Break up credits section into thanks/about
    * Use new "About thoughtbot" section
Commits on Feb 24, 2015
  1. remove `set nocompatible`

    joshhartigan authored and gylaz committed Feb 16, 2015
    It is not needed - see'nocompatible'
    (or see :help 'cp')
Commits on Feb 23, 2015
  1. set --nocolor flag to make piping xargs safe

    Zachary Jones authored and gylaz committed Feb 18, 2015
  2. Add the `-v` flag to `commit --amend`.

    blainesch committed Feb 23, 2015
    This allows us to always see things we are going to commit, even if we
    are amending.
Commits on Feb 20, 2015
  1. Add `git branches` command

    iwz committed Feb 20, 2015
    * Lists all remote branches
    * Sorts by last commit date, descending
    * Shows how long the branch has been around
    * Shows last commit author
    $ git branches
    6 days ago  Dan Croak  origin/HEAD
    6 days ago  Dan Croak  origin/master
    5 months ago  Dan Croak  origin/dc-rbenv-zsh
    6 months ago  Sean Doyle  origin/sd-nvm-path
    6 months ago  Tute Costa  origin/vim-multiple-cursors
    7 months ago  Sean Doyle  origin/sd-vundle
    8 months ago  Sean Griffin  origin/sg-disable-spring
    9 months ago  Mike Burns  origin/mb-experimental-tag
Commits on Feb 18, 2015
  1. Switch from gh to hub

    croaky committed Feb 15, 2015
    * `hub` is the official GitHub client.
    * Like `gh`, `hub` 2.2.0 now powered by the Go programming language.
    * It has been bottled in Homebrew.
    * We are using it in the Laptop script.
Commits on Feb 12, 2015
  1. Prevent unreadable prompt within Git repository

    lunohodov committed Feb 12, 2015
    When within a git repository, doing a tab-autocomplete on a command results with the command becoming unreadable. The command still works but this is pretty annoying visually.
    Basically I
    1. Navigate to a directory with a git repository in it. The prompt indicates the current branch properly
    2. Next, type `git -` and hit tab
    The prompt now shows only part of branch's name with the first suggestion appended.
    After googling a bit I stumbled upon several pages describing a similar problem (most useful to me was
    The culprit seems to be the git_prompt_info function escaping the `$current_branch` variable as if it is a color. As a result zsh is confused where the cursor is. After "unescaping" the variable everything seems to work fine.
    Using zsh 5.0.7 (x86_64-apple-darwin13.4.0).
Commits on Feb 9, 2015
  1. Stop ag from excluding directories with ds_store

    danielnolan authored and gylaz committed Feb 4, 2015
    * Silver searcher or ag was filtering out any directory that had a
      .DS_STORE file. Any directory that has a .DS_STORE file in it is being
      ignored by ag and therefor does not show up in the ctrlp fuzzy finder
    * Removing the * from before .DS_STORE in the gitignore
      file still prevents .DS_STORE files from being checked into source
      control and stops ag from filtering out the directory. I am not sure
      if this is a bug with silver_searcher or what
Commits on Feb 3, 2015
  1. Don't interpolate environment variables in aliases

    reshleman committed Feb 3, 2015
    A few aliases contain references to environment variables, but were
    defined using double quotes. This caused zsh to interpolate the value of
    those variables when the alias was defined instead of when it was
    executed. In particular, any change to `PATH` (or `EDITOR` or `VISUAL`)
    in `.zshrc.local`, which is sourced after `.aliases`, would not be
    reflected in these aliases.
    This commit defines these aliases using single quotes so that the
    environment variables are evaluated when the alias is executed.
Commits on Jan 26, 2015
  1. Add `git rename-branch` alias

    croaky committed Jan 26, 2015
    * Extract `git current-branch` alias.
    * Re-use `git current-branch` in two places.
Commits on Jan 13, 2015
  1. Remove outdated references to `Rnavcommand`

    geoffharcourt committed Jan 13, 2015
    `Rnavcommand` has been removed from rails.vim. These commands don't work
    if you are using a recent version of the plugin. Users who want to
    regain this functionality can do it through projections.