Commit graph

427 commits

Author SHA1 Message Date
Ian C. Anderson
b132c644be Use rg if it's present in bin/replace
I like this `bin/replace` script, but I've recently switched from `ag`
to [ripgrep](https://github.com/BurntSushi/ripgrep). This checks for the
presence of `rg` and uses it in `bin/replace`, passing the correct
parameter to disable colors.
2018-12-27 14:01:59 -05:00
Geoff Harcourt
013f9711af Move from agignore to gitignore
Per @andyw8 in #588:
https://github.com/ggreer/the_silver_searcher/wiki/Advanced-Usage

`agignore` is now deprecated as the place to declare ignored files for
search. We'll put these files into `gitignore` rather than `ignore` so
that we have consistently ignored files between ag, git, etc.

Recommended by @croaky:
bcfa239b31

Close #588
2018-12-16 14:06:13 -05:00
Jared Smith
80972c9b6e Replace ale#lint with ale#queue - ale#lint no longer supported (#615) 2018-10-31 10:56:28 -04:00
Ashwin Vidiyala
695d92f50e Isolate ALE settings into its own augroup 2018-10-01 21:27:00 -04:00
Stephen Hanson
319f1284f9 Set vim syntax for local dotfiles overrides 2018-10-01 20:17:46 -05:00
Jared Smith
88d70fcd12 Fix vim ctag plugin 2018-08-26 21:28:08 -04:00
Jared Smith
51669fc552 Add universal ctags config support 2018-08-26 21:22:41 -04:00
Geoff Harcourt
2b58323de6 Use gitcommit syntax for Github pull requests
This change leverages the existing `gitcommit` syntax rules to apply the
same formatting and highlighting settings to pull request messages when
they are edited from Vim.
2018-07-15 15:50:48 -04:00
Brett MacDonald
d69b67004e Improve successive startup time; fix conflict.
- Don't update completion dump if it has been updated within 24hrs.
- Unload Completion for zsh bundled function mcd to prevent conflict. #594
2018-07-15 15:49:04 -04:00
Geoff Harcourt
ee30830241 Remove no-longer functional git-pr script
The Github `hub` utilty has added a `pr` subcommand, which takes
precedence over `git-pr` in execution order, so this script is no longer
accessible with `git pr` or `hub pr`.
2018-07-13 16:03:07 -04:00
Daniel Colson
6e1c567653
Merge pull request #598 from sublimecoder/master
Change ctag git hook to use universal-ctags tag-relative syntax
2018-06-22 14:17:34 -04:00
Jared Smith
5489e166ee Change ctag git hook to use universal-ctags tag-relative syntax 2018-06-13 00:59:34 -07:00
Derek Prior
21055dff63
Appraisal file is supported by vim-ruby
See: 04fabcc1d5/ftdetect/ruby_extra.vim (L12)
2018-02-25 21:57:42 -05:00
Tyson Gach
ef58e42a24 Add co-author prompt to gitmessage template
GitHub now supports trailers for co-authors. The syntax isn't the
easiest to remember, so having it as a prompt when commiting makes the
process easier.

More info: https://github.com/blog/2496-commit-together-with-co-authors
2018-02-03 15:10:18 -05:00
Geoff Harcourt
a7e107038a vimrc: Use consistent style for key mapping
This change updates portions of our vimrc that used inconsistent
capitalization for commands to have a more consistent style.
2018-01-05 14:09:05 -05:00
Geoff Harcourt
aa2f5b3d13 Remove deprecation warning for rbenv -> asdf
This change removes the deprecation warning and shim we added during the
transition from rbenv to asdf.
2018-01-05 14:07:20 -05:00
Geoff Harcourt
2f02c53042 Update copyright year -> 2018 2018-01-05 09:10:56 -05:00
Geoff Harcourt
6425042ee1 git: Use zebra for moved line colors
This change uses a git 2.15 feature to change the diff colors for lines
that have been moved rather than added or deleted. It provides a cue to
readers that a line's content has not changed.

Adding this setting in gitconfig should not break earlier git. (Tested
against 2.14 and the change had no effect.)
2018-01-03 16:45:22 -05:00
Andy Waite
3594ac5181 Use consistent syntax for tmux mappings
`bind` is effectively an alias for `bind-key`:

See https://superuser.com/questions/581939/on-tmux-what-is-the-difference-between-bind-and-bind-key
2017-12-28 12:55:23 -05:00
Geoff Harcourt
0786549686 merge-branch: exit 1 if origin and local differ
This change prevents chained commands from continuing execution if the
`git merge` is operation would be unsuccessful such as a common
operation when a feature branch is ready to be merged and pushed:

```
git merge-branch && git push origin
```

If the origin/master and the local master have any difference, we return
status 1 and stop execution rather then emit a false success.

h/t: @croaky

Fix #563.
2017-12-18 22:51:13 -05:00
Karun Siritheerathamrong
cad8f464e3 Use -g instead of --filename-pattern as Ag argument
This change undoes one of the two changes made in #564 so resolve an
issue for non macOS environments with Ag and ctrlp.
2017-12-18 22:39:38 -05:00
Bernerd Schaefer
06b4bf8c9c zsh: Allow prompt to be overridden
`zsh/configs/prompt.zsh` sets up the dotfile's custom prompt. It
currently does so in a way which prevents overriding the prompt for
specific invocations of zsh.

I noticed this because I've got a helper script for getting a shell
fully configured to work with the AWS CLI that ends with
`PS1='[aws] ' exec "$SHELL"` to distinguish the shell from other
sessions. With a vanilla zsh (and bash) setup, this correctly sets the
prompt on the new shell.

Here's a minimal demonstration with vanilla zsh:

```
bernerdscha-ltm% echo $PS1
%m%#
bernerdscha-ltm% PS1="hi> " exec zsh
hi>
```

And with dotfiles:

```
dotfiles bs-override-ps1 % echo $PS1
${SSH_CONNECTION+"%{$fg_bold[green]%}%n@%m"}%{$fg_bold[blue]%}%c%{$reset_color%}$(git_prompt_info) %#
dotfiles bs-override-ps1 % PS1="hi> " exec zsh
dotfiles bs-override-ps1 %
```

This PR updates prompt.zsh to only update the prompt if there's not an
existing exported PS1 variable. The export check is relevant because in
the default case where PS1 is not explicitly set  by the user it will
have already been set (but not exported) by the default zsh configs.
2017-12-06 10:24:13 -05:00
Derrick Carr
b860504752
Revert accidental merge from fork (#571)
This reverts two commits that were accidentally merged from a fork.
- commit c3180360ac
- commit ccb51c97c6
2017-11-17 16:36:59 -08:00
Derrick Carr
c3180360ac Use ASDF for version management
ASDF manages languages versions for many languages instead of just one.
This commit adds ASDF to path and completions for zsh, so that it's
easier to use.
2017-11-17 14:44:00 -08:00
Derrick Carr
ccb51c97c6 Make tmux splits oen in working directory 2017-11-17 14:44:00 -08:00
Andy Waite
113ddba054 Use long options for when calling ag for CtrlP plugin 2017-11-05 20:39:53 -05:00
Geoff Harcourt
c0317cedb0 Remove Vundle shim and deprecation warning
We've been using vim-plug over Vundle since 5724d12 (April 2015). Users
have had long enough to migrate their `vimrc.bundles.local` to use
vim-plug's `Plug` command.
2017-10-06 13:12:45 -04:00
Nhut Duong
e52c274215 Use exclude pattern with RCRC variable 2017-10-05 21:19:05 +07:00
Nhut Duong
a6a572d328 Exclude README in Spanish with RCRC variable 2017-10-05 10:22:36 +07:00
Ali-Akber Saifee
706c968a26 Update link to maintained Ctrl-P fork 2017-10-04 09:28:26 -04:00
Horacio Chavez
49d89bec0e Adds README in Spanish 2017-09-28 09:19:32 -04:00
Brad Urani
4fa7cd6f4b Filter commented lines out of .env in envup
Makes envup filter out comments in the .env file even if the line starts
with whitespace
2017-09-26 17:14:04 -04:00
Derek Prior
346268b6e7 Add deprecation 2017-09-15 14:36:21 -04:00
Derek Prior
3d11861f82 Use ASDF for version managment
ASDF has plugins for Ruby, Node, Elixir, Haskell, Scala, Go, etc.
Instead of finding and installing a new tool each time we have need for
a version manager in a new tools, we can use the same tool we already
know, adding a new plugin.

This change is the result of a successful [research card][1] and has a
corresponding change to [laptop][2].

[1]: https://trello.com/c/MVbfz8e5/676-asdf-for-tool-management
[2]: https://github.com/thoughtbot/laptop/pull/502
2017-09-15 14:36:21 -04:00
Greg Lazarev
b5c26215a1
Add export to support Elixir/Erlang history
[Sourced from this](https://til.hashrocket.com/posts/is9yfvhdnp-enable-history-in-iex-through-erlang-otp-20-)
2017-08-29 10:04:28 -07:00
Chris Toomey
bc047365f5 Add a specific "Update" section to the README
Thanks to rcm and the `post-up` hook file, the dotfiles do a great job
of keeping things up to date.

This change adds a bit of detail and specificity to the README around
updating, specifically clarifying the need to run `rcup` after pulling
to link new files and install new vim plugins.
2017-08-28 09:13:07 -04:00
John Eckhart
f4d509ffd0 Skip compiled wordcode files (ie. zwc extensions) 2017-08-25 15:35:02 -04:00
Frank Loesche
d6014c3a60 fix #524, update plugins
* if .vim/autoload/plug.vim already exists, then use PlugUpgrade to get
  the newest version. This should fix #524.
* change from PlugInstall to PlugUpdate which doesn't just install new
  plugins but also updates existing ones.
2017-08-25 15:23:25 -04:00
Sean Doyle
384d4ad5e6 Add bin/git-trust-bin command
To [append a project's local `bin/` directory to `$PATH`][dotfiles],
the dotfiles check for the existence of a special directory: `git/.safe`.

This commit is inspired by [thoughtbot/suspenders#837][#837]:

> The idea behind the .git/safe is that I run it manually and explicitly
> after I trust the directoy and the team behind the project.

> Creating it as part of the setup script defeats the point of that. Doing
> so without explcitly telling the user comes across as sneaky, perhaps.
> (I do expect all devs to read setup scripts before running them -- but I
> also know that they do not!)

> Switch this script to inform the user that they have no `.git/safe`
> directory but might like to make one.

Since suspenders may no longer mark projects safe by default, this
commit introduces the `git trust-bin` command to do so.

[dotfiles]: af75a673b1/zsh/configs/post/path.zsh (L9-L10)
[#837]: https://github.com/thoughtbot/suspenders/pull/837
2017-08-25 09:28:16 -04:00
Derek Prior
e0ff6ef15f
Move definition of has_async
We have an rcm `post-up` hook that installs plugins after running
`rcup`. It does this by directly loading the `.vimrc.bundles` file,
which means our regular `.vimrc` file is not sourced. This lead to
`has_async` being undefined.

By moving the definition into the `vimrc.bundles` we ensure it's
available when that `post-up` hook runs. It remains available when
needed in `vimrc` because we use it there *after* sourcing the bundles.
2017-08-10 09:35:50 -04:00
Derek Prior
7593dafebb
Require Vim 8 or NeoVim
Now that we're using `ALE`, we're making use of the async features
available in Vim8 and NeoVim. If you try to use these dotfiles on Vim 7,
you'll get a host of errors from ALE.

This change does two things:

1. It writes an error when starting in an unsupported vim version.
2. It skips loading ALE in those versions.

The thinking behind the second change is to leave vim in a more usable
state with minimal annoyance after the initial error.
2017-08-10 00:27:18 -04:00
Derek Prior
8ac75ba56b
Replace Syntastic with ALE
ALE is an Asynchronous Linting Engine which works with Vim 8 and NeoVim
to lint your code "as you type". It does so without blocking the main
thread by using the asynchronous features of both of those Vim versions.

A number of us in Boston have been using ALE for some time now with
great success. The asynchronous nature means linting does not block
other interactions with Vim and it's been nice to get linting feedback
more often than buffer write.

Many of us find the "as-you-type" linting to be performant enough to
actually be a distraction, so this PR tones that down some. With this
configuration, ALE will lint on cursor hold durations of 1 second and
when leaving insert mode in addition to buffer write, buffer read, and
file type change.
2017-08-06 10:33:48 -04:00
Riley Dallas
af75a673b1 Capitalize l in leaders 2017-06-19 12:53:17 -05:00
Geoff Harcourt
0078865a67 Revert "Skip compiled wordcode files (ie. zwc extensions)"
This reverts commit 5178a8a1a8.
2017-05-25 13:10:02 -04:00
Geoff Harcourt
88618e5858 Revert "Combine conditional statements"
This reverts commit cae0bd04ea.

This implementation appears to break sourced configurations. Reverting
until we figure out a resolution.
2017-05-25 13:04:30 -04:00
John Eckhart
cae0bd04ea Combine conditional statements 2017-05-23 16:29:16 -04:00
John Eckhart
5178a8a1a8 Skip compiled wordcode files (ie. zwc extensions) 2017-05-22 02:19:20 -04:00
Geoff Harcourt
592249def2 Merge pull request #523 from thoughtbot/replace-coffee-with-java
Add JavaScript syntax highlighting
2017-05-08 16:06:55 -04:00
Geoff Harcourt
06197218c7 Don't rely on Bash in post-up hook
In 16219a31db we implemented a post-up
hook that checked for a problematic `/etc/zshenv` file. OSX/macOS has
changed the file responsible for executing `path_helper` and loading the
system paths multiple times, and this script change issued a warning to
users if `path_helper` might be called in such a way that their paths
could be unexpectedly reordered.

The script used colored output to highlight this problem for the user,
and relied on Bash's script path introspection (through `$BASH_SOURCE`)
to print the location of the `post-up` hook to assist the user in
troubleshooting and understanding where our warning came from.

This change removes the hook's reliance on GNU Bash in favor of `sh`. It
uses the POSIX-compliant `$0` to determine the hook location (this
method is less robust than Bash's `$BASH_SOURCE`, but is available in
all POSIX shells) and removes colored output in the warning to be
compatible with shells that don't support colored output.

Fix #517.
2017-05-08 16:06:01 -04:00
Dan Croak
bab2ddc9f0 Add JavaScript syntax highlighting
It seems like JavaScript/ES6 is becoming more common for us to run into
in the wild compared to CoffeeScript
with the advent of Babel / transpiling.

Eventually, we'll probably want to remove kchmck/vim-coffee-script.
Users working on CoffeeScript applications would need to move that
plugin into their personal dotfiles.
2017-05-08 10:36:07 -07:00