]> git.wincent.com - wincent.git/log
19 months agofeat: add bin/git-cipher symlink as a convenience
Greg Hurrell [Mon, 7 Jun 2021 14:13:04 +0000 (16:13 +0200)] 
feat: add bin/git-cipher symlink as a convenience

19 months agodocs: add reminder to set up Full Disk Access for iTerm
Greg Hurrell [Mon, 7 Jun 2021 11:54:46 +0000 (13:54 +0200)] 
docs: add reminder to set up Full Disk Access for iTerm

To avoid going insane.

19 months agostyle: fix formatting
Greg Hurrell [Sun, 6 Jun 2021 16:26:27 +0000 (18:26 +0200)] 
style: fix formatting

One error fixed, and one config tweak to make sure that Prettier never
looks in these directories.

In practice, "undo" is probably the only one to worry about because it
has files that end with legit-looking extensions; eg:


unlike the others, like "view", that has filenames like:


19 months agorefactor: tweak pre-push to only sync the local branch
Greg Hurrell [Sun, 6 Jun 2021 16:04:07 +0000 (18:04 +0200)] 
refactor: tweak pre-push to only sync the local branch

As we now have a post-receive hook installed on the remote server, the
pre-push is just a nice-to-have to keep the local branch up-to-date (and
really, pretty superfluous because I should never be checking it out,
touching it, or even looking at it). Basically just for my OCD, so that
I don't get annoyed by seeing the two branches not pointing at the same

Note that it only happens when I push, which seems like an acceptable
interval for it to happen at.

19 months agofeat: add post-receive alternative to our pre-push hook
Greg Hurrell [Sun, 6 Jun 2021 15:07:05 +0000 (17:07 +0200)] 
feat: add post-receive alternative to our pre-push hook

This moves the responsibility for updating "master" to the server, which
means I don't have to set it up on multiple machines. I think I like
this better, and I have the luxury of being able to install this hook on
my own server (which syncs over to GitHub etc every hour).

Now, if I want to push a "hotfix" to GitHub directly, I can still do

    git push github

But it will only push "main", and "master" will sync over within an
hour. I could reduce the interval, or make these forks push immediately
as a side-effect. Or I could just push both.

    git push github
    git push github main

The one downside here is that local "master" doesn't sync, so there
still may be some utility in have a pre-push hook that does it at that
time for you. I will probably do that in the next commit.

19 months agochore: remove "master" from GitHub actions
Greg Hurrell [Sun, 6 Jun 2021 14:53:18 +0000 (16:53 +0200)] 
chore: remove "master" from GitHub actions

It is redundant, because "master" always matches "main", and the actions
already run on the latter.

19 months agochore: adjust "personal" profile pattern to match Arch machine too
Greg Hurrell [Sun, 6 Jun 2021 14:46:19 +0000 (16:46 +0200)] 
chore: adjust "personal" profile pattern to match Arch machine too

Although this won't make any behavioral difference because the aspects
that apply to Arch weren't affected by any profile-gated code paths.

19 months agochore(dotfiles): set work email address
Greg Hurrell [Sun, 6 Jun 2021 10:18:04 +0000 (12:18 +0200)] 
chore(dotfiles): set work email address

From a file that will be set up automatically, as opposed to me having
to go in and set up a `~/.gitconfig.local` by hand.

Nothing sensitive in here, so no need to encrypt this yet.

19 months agorefactor(dotfiles): move host-specific Git config into file
Greg Hurrell [Sun, 6 Jun 2021 09:56:27 +0000 (11:56 +0200)] 
refactor(dotfiles): move host-specific Git config into file

Seeing as I just had to use `git-send-email` to send this:


And that required me to update some stale settings.

May as well do it "the right way".

19 months agochore(dotfiles): remove some cruft left over from FB
Greg Hurrell [Sun, 6 Jun 2021 09:34:16 +0000 (11:34 +0200)] 
chore(dotfiles): remove some cruft left over from FB

Somehow, missed this one in my original clean-up.

19 months agorefactor: make "main" the default branch
Greg Hurrell [Sun, 6 Jun 2021 00:23:49 +0000 (02:23 +0200)] 
refactor: make "main" the default branch

There are two kinds of breakage that I was worried about with the move
from "master" towards "main":

1. Tools which assume "master".
2. Existing links to "master"-located things.

So, because of "1" my plan was to wait a while before switching my
default. I was thinking of only starting new projects on the "main"
branch and not updating existing projects so as to avoid "2".

But I realized we can have our cake and eat it too by just making sure
that "master" is always in sync with "main". We do it with a hook that I
have tested lightly and hope works. 😂

In theory, this means that people who cloned or linked to "master" a
while ago will continue to have things working just fine. And new folks
will land on the repo page and see that the default is "main" and get

Now, there are some places where I think I can't change this (gitweb,
for example; I don't know how to force that to show "main" as the
default). And there are a few type-"1" problems still noted inline in
comments here, like things that I want to update to be

Closes: https://github.com/wincent/wincent/issues/100
19 months agostyle: make sure Vim plugin submodules don't get mangled by Prettier
Greg Hurrell [Sun, 6 Jun 2021 00:22:13 +0000 (02:22 +0200)] 
style: make sure Vim plugin submodules don't get mangled by Prettier

Because of our symlinking, we have to stop Prettier from looking in
".vim" as well as ".config/nvim", even though they are the same files.

19 months agochore(dotfiles): remove GITHUB_ACCESS_TOKEN from exports
Greg Hurrell [Sat, 5 Jun 2021 23:40:22 +0000 (01:40 +0200)] 
chore(dotfiles): remove GITHUB_ACCESS_TOKEN from exports

I don't have any use for this right now, and I don't want to run the
risk of accidentally copy-pasting my environment somewhere and leaking

Funnily enough, I think the token got invalidated/removed anyway.

19 months agostyle(vim): fix style issues
Greg Hurrell [Sat, 5 Jun 2021 22:56:50 +0000 (00:56 +0200)] 
style(vim): fix style issues

Note we have to update our ignore rules here or Prettier will complain
about every single thing in the submodules down there.

19 months agorefactor(vim): remove unused config
Greg Hurrell [Sat, 5 Jun 2021 22:45:49 +0000 (00:45 +0200)] 
refactor(vim): remove unused config

Haven't used this in _ages_, so it can be killed.

19 months agochore(vim): remove more references to Macvim
Greg Hurrell [Sat, 5 Jun 2021 22:42:16 +0000 (00:42 +0200)] 
chore(vim): remove more references to Macvim

Some things I missed in 5ac9e314 (would have squashed this into that,
but I have big submodule changes in between that cause the rebase to
claim some fake conflicts).

Note that we're also removing reattach-to-user-namespace because I no
longer have any surviving callers to it.

19 months agorefactor(vim)!: make ~/.vim/* symlink to ~/.config/nvim/*
Greg Hurrell [Sat, 5 Jun 2021 22:37:30 +0000 (00:37 +0200)] 
refactor(vim)!: make ~/.vim/* symlink to ~/.config/nvim/*

As noted here:


the symlink has been pointing in the opposite direction for just over 4
years now. It is time for a change.

This was originally motivated by a bug on my work machine where I had
the `$PATH` messed up intermittently, which meant that I would sometimes
open a file with Vim instead of Neovim without meaning to. Vim would
then complain about an undo file made by a newer version of Vim, or
something like that.

So I fixed the `$PATH` bug but in thinking about keeping the backup,
view, undo, and swap files separate between Neovim and Vim I started to
wonder whether inverting the symlink would be a good idea. It is churn,
but I think it is a good long-term ploy, because it opens up the
possibility of me diverging a little bit more in the future (eg. more
Lua-only stuff on the Neovim side, and letting the Vim config sit

Highly possible that I've broken something here, so will follow up if i
find any problems.

19 months agorefactor(vim): tighten up temporary directory settings
Greg Hurrell [Sat, 5 Jun 2021 21:04:28 +0000 (23:04 +0200)] 
refactor(vim): tighten up temporary directory settings

No behavioral change expected here, but trying to stick more closely to
what the docs say. `'backupdir'` and `'undodir'` seem to be behaving as
though the "//" suffix was there all along.

Added the `file=NONE` suffix to `'viminfofile'`/`'shadafile'` because
that seems a more robust way of ensuring that we don't get any
root-owned files being written in user-owned locations.

19 months agorefactor(vim): remove `has('gui')` guard from wincent#functions#keynote()
Greg Hurrell [Sat, 5 Jun 2021 20:41:06 +0000 (22:41 +0200)] 
refactor(vim): remove `has('gui')` guard from wincent#functions#keynote()

Seems to work fine in Neovim in tmux in iTerm. For some reason, on my
second test of this, the text came out in black always, even when the
inspector said it shouldn't. But the exact same file shows text color
correctly just fine in Safari, so I am chalking this up to some bizarre
Chrome bug.

19 months agochore(vim): remove references to Macvim
Greg Hurrell [Sat, 5 Jun 2021 20:19:55 +0000 (22:19 +0200)] 
chore(vim): remove references to Macvim

Haven't used it to do work in over 10 years. Have really only opened it
about once a year while troubleshooting rendering issues to answer the
question, "how would this render in Macvim?".

Well, in the update to Big Sur, the application when missing off the
disk, so I figure now is as good a time as any to stop pretending that I
am ever going to use this again. 😂

19 months agochore: update git-cipher submodule
Greg Hurrell [Sat, 5 Jun 2021 12:45:43 +0000 (14:45 +0200)] 
chore: update git-cipher submodule

Because as noted in d5e3faf8, we now encrypt for multiple recipients.
I've tested this on multiple machines now (work and personal laptops,
and Linux machine), so I am pretty satisfied that it actually works.

19 months agochore(vim): add "declutter" to custom dictionary
Greg Hurrell [Fri, 4 Jun 2021 23:05:51 +0000 (01:05 +0200)] 
chore(vim): add "declutter" to custom dictionary

19 months agochore: encrypt for multiple recipients
Greg Hurrell [Fri, 4 Jun 2021 23:01:40 +0000 (01:01 +0200)] 
chore: encrypt for multiple recipients

I want separate keys on work and personal machines, so encrypting for
both greg@hurrell.net and wincent@github.com.

This depends on some changes to git-cipher that I haven't pushed
upstream yet because I first want to test that these files can actually
be decrypted over on the other side.

19 months agochore(dotfiles): remove old ec2-api-tools references
Greg Hurrell [Fri, 4 Jun 2021 18:34:36 +0000 (20:34 +0200)] 
chore(dotfiles): remove old ec2-api-tools references

A long time ago I moved to the AWS CLI tools

- https://aws.amazon.com/cli/

Specifically, to version 1, which was a Python based thing. Now they
have a new thing, version 2, which might be Go or something. Both have
an `aws` executable:

- https://docs.aws.amazon.com/cli/latest/userguide/welcome-versions.html

19 months agofix(shell): detect arm64 correctly
Greg Hurrell [Fri, 4 Jun 2021 15:23:19 +0000 (17:23 +0200)] 
fix(shell): detect arm64 correctly

So this is an enormous hack, but I don't have much choice.

If you run this in an x86_64 shell on an arm64 machine, it will end up
detecting your arch as arm64. Maybe that's not you want, but you should
probably be running an arm64 shell on an arm64 machine.

Homebrew just accepts whatever `uname -m` tells it. So that behaves
differently: if you're running in an x86_64 shell then it will assume
you're really on x86_64 and install into `/usr/local/bin/`.

This is a revert of 2290414ec1be78a3fdbc859f97127f324f0f5a60, with the
above changes squashed in.

19 months agorefactor(fig): use `uname` instead of `arch`
Greg Hurrell [Fri, 4 Jun 2021 15:20:19 +0000 (17:20 +0200)] 
refactor(fig): use `uname` instead of `arch`

Well, I thought this was going to work, but it didn't... seems `uname`
inherits from the environment in almost exactly the same way `node` +
`arch` does.


output in shell: arm64
output in node: x86_64

You can see this in action here:

    $arch -x86_64 uname -m
    $ uname -m

I say "almost" because with `arch` it actually when to "ia32".

19 months agorefactor(shell): attempt arch detection
Greg Hurrell [Fri, 4 Jun 2021 15:10:46 +0000 (17:10 +0200)] 
refactor(shell): attempt arch detection

As noted inline, this doesn't actually work as expected due to
architecture preference inheritance. But I am adding it as a "refactor"
seeing as it edges in the direction we want to go, for educational

I'll follow up presently with an approach that uses `/usr/bin/uname -m`
instead, which should work fine everywhere.

19 months agochore(vim): add "unsubscribe" to custom dictionary
Greg Hurrell [Fri, 4 Jun 2021 14:26:56 +0000 (16:26 +0200)] 
chore(vim): add "unsubscribe" to custom dictionary

19 months agofeat(dotfiles): improve PATH, MANPATH, INFOPATH handling
Greg Hurrell [Fri, 4 Jun 2021 14:16:50 +0000 (16:16 +0200)] 
feat(dotfiles): improve PATH, MANPATH, INFOPATH handling

The `append_to`/`prepend_to` functions are dumb and repetitive, but they
get the job done. Now we correctly handle MANPATH (ie. not adding it
redundantly in subshells) and INFOPATH.

At least on macOS, we have these config files:



  /etc/manpaths.d/40-XQuartz (etc)


Even though they aren't in the MANPATH, they still get included in the
search path. ie. on opening a new shell, MANPATH will be something like
`/opt/homebrew/share/man` and all of these work:

    man screencapture # ie. from /usr/share/man
    man xmpwrite # ie. from /opt/X11/share/man
    man nvim # ie. from /opt/homebrew/share/man

I don't know if there is an equivalent to /etc/manpaths for INFOPATH,
but on opening a shell, INFOPATH starts off like:


And these work:

    man screen # ie. from /usr/share/info
    man gnupg # ie. from /opt/homebrew/share/info

19 months agofeat(homebrew): add hex-fiend to list of casks
Greg Hurrell [Fri, 4 Jun 2021 14:01:12 +0000 (16:01 +0200)] 
feat(homebrew): add hex-fiend to list of casks

Needed this yesterday.

19 months agofix(dotfiles): avoid ordering issues setting up $PATH
Greg Hurrell [Fri, 4 Jun 2021 11:58:53 +0000 (13:58 +0200)] 
fix(dotfiles): avoid ordering issues setting up $PATH

In new terminal windows `vim` wasn't getting aliased to `nvim`, but it
was in tmux sessions and nested shells.

This is because the alias is gated with an `if command -v nvim` check,
and we had a subtle `$PATH` ordering issue.

On my Intel machine, `/usr/local/bin` is in the `$PATH` and the
executable is found. On Apple Silicon, `nvim` is in `/opt/homebrew/bin`
and that doesn't get set up until too late.

So, I looked into this further and noticed some unfortunate circular

- `path` depended on `exports`, and vice versa
- `aliases` depended on `path`

The fix is to move `path` to the top, and pull the things in `exports`
that it depended on into the parent file. It's all very ugly, but
nothing else seems better (ie. we could just collapse everything into
one file and intermingle as though we were writing C without forward

19 months agofix(homebrew): sadly, require user to manually do initial install
Greg Hurrell [Fri, 4 Jun 2021 09:49:11 +0000 (11:49 +0200)] 
fix(homebrew): sadly, require user to manually do initial install

Although I can probably make this better by not prompting if
`/usr/local/bin/brew` (etc) already exists. But this is just a quick
first cut at making it not-totally-broken.

19 months agochore(defaults): remove problematic defaults
Greg Hurrell [Fri, 4 Jun 2021 09:35:03 +0000 (11:35 +0200)] 
chore(defaults): remove problematic defaults

On new Big Sur install, I got these errors:

    Could not write domain com.apple.universalaccess; exiting

For these items.

Now, the first one, "reduceTransparency", looks horrible on Big Sur, so
let's dump it.

Second one, "closeViewSmoothImages", seems to be the default anyway, so
let's kill.

Finally, the third, I can't even find this in the UI any more
because they have renamed it. The closest thing I could find was
"closeViewTrackpadGestureZoomEnabled" but it doesn't seem that useful,
so I'm just going to kill this.

19 months agofeat(cron): only schedule cron jobs on personal machine
Greg Hurrell [Fri, 4 Jun 2021 09:29:57 +0000 (11:29 +0200)] 
feat(cron): only schedule cron jobs on personal machine

We clearly need a better way of specifying what should run where, but I
am not sure what form it should take, so for now, arbitrary logic in an
`if` expression is the solution.

19 months agodocs: note manual steps in README
Greg Hurrell [Fri, 4 Jun 2021 09:10:43 +0000 (11:10 +0200)] 
docs: note manual steps in README

And as a drive-by, include a minor update to a stale reference.

19 months agofeat(homebrew): install CleanShot X via Homebrew
Greg Hurrell [Thu, 3 Jun 2021 10:30:41 +0000 (12:30 +0200)] 
feat(homebrew): install CleanShot X via Homebrew

19 months agorefactor(brewfile): switch from Isolator to Blurred
Greg Hurrell [Wed, 2 Jun 2021 16:30:53 +0000 (18:30 +0200)] 
refactor(brewfile): switch from Isolator to Blurred

Because Isolator is not working on Big Sur and M1 (not sure which one is
the problem).

19 months agofix(dotfiles): update Hammerspoon screen resolutions
Greg Hurrell [Wed, 2 Jun 2021 15:33:34 +0000 (17:33 +0200)] 
fix(dotfiles): update Hammerspoon screen resolutions

Different laptop and external display at play now. Conveniently, both
the mid-2015 15" MacBook Pro and 2020 13" MacBook Pro (M1) both report
their resolution as 1440x900.

Also, my external resolution has changed.

Added `externalDisplay()` for symmetry, although I confess to not using
it at this point.

19 months agochore(dotfiles): removed unused Hammerspoon layout
Greg Hurrell [Wed, 2 Jun 2021 15:33:08 +0000 (17:33 +0200)] 
chore(dotfiles): removed unused Hammerspoon layout

19 months agochore(homebrew): Add scroll-reverser cask to work casks
Greg Hurrell [Wed, 2 Jun 2021 13:16:57 +0000 (15:16 +0200)] 
chore(homebrew): Add scroll-reverser cask to work casks

This one is work only because only on the work machine do I connect to
an external monitor with a mouse etc.

19 months agochore(homebrew): install Slack.app on work machine
Greg Hurrell [Wed, 2 Jun 2021 12:00:12 +0000 (14:00 +0200)] 
chore(homebrew): install Slack.app on work machine

19 months agofix(fonts): make sure fonts actually get copied
Greg Hurrell [Tue, 1 Jun 2021 18:31:54 +0000 (20:31 +0200)] 
fix(fonts): make sure fonts actually get copied

So "aspects/fonts/files/source-code-pro/" is actually a symlink to
somewhere under "vendor/", which means that our `isDirectory() ||
isFile()` check was skipping right over it and not actually copying the

The fix, then, is to look at symlinks that we find during traversal and
`stat` the object they point to to see whether _that_ is a directory or
file, and then proceed.

19 months agorefactor(vim): remove redundant command
Greg Hurrell [Tue, 1 Jun 2021 18:31:21 +0000 (20:31 +0200)] 
refactor(vim): remove redundant command

This is covered by the "node" aspect.

19 months agofix(vim): make `gem install neovim` work
Greg Hurrell [Tue, 1 Jun 2021 18:30:42 +0000 (20:30 +0200)] 
fix(vim): make `gem install neovim` work

19 months agofix(vim): update corpus submodule
Greg Hurrell [Tue, 1 Jun 2021 16:23:32 +0000 (18:23 +0200)] 
fix(vim): update corpus submodule

Fixes an annoying bug when saving files in Corpus in newer versions of

* aspects/vim/files/.vim/pack/bundle/opt/corpus 44fb7ee...f0488f4 (1):
  > fix: avoid E874

19 months agofix: update identity check to cover new machine
Greg Hurrell [Tue, 1 Jun 2021 14:24:00 +0000 (16:24 +0200)] 
fix: update identity check to cover new machine

19 months agochore: update to a more recent Node version
Greg Hurrell [Tue, 1 Jun 2021 14:22:03 +0000 (16:22 +0200)] 
chore: update to a more recent Node version

Fig itself can move to the latest in the v14 series without any
breakage. On the system itself, no need to use v10 any more; that
recently hit EOL, and I had only pegged at that version for
compatibility with Liferay.

19 months agochore(homebrew): move ARM-incompatible packages into "personal" profile
Greg Hurrell [Tue, 1 Jun 2021 13:31:06 +0000 (15:31 +0200)] 
chore(homebrew): move ARM-incompatible packages into "personal" profile

Can live without these on the work machine for now.

19 months agofix: make Homebrew sort of work on M1 Mac
Greg Hurrell [Tue, 1 Jun 2021 12:48:33 +0000 (14:48 +0200)] 
fix: make Homebrew sort of work on M1 Mac

As noted here:


I can't really run the Homebrew installation script in an
automated fashion any more. First of all it fails to run
`sudo`. If you prime it by running `sudo` first, it will
run, but it will install into `/usr/local/` even though
`/opt/homebrew/` is the right location on M1 Macs.

So, I removed the install with the uninstall script:


then I re-ran the install manually, and it went into
`/opt/homebrew/` as desired.

I need to figure out how to make this play nicely on both
old and new Macs in a robust/tidy way, but for now this
commit should be unobstrusive enough.

In a follow-up commit I will be commenting out some items
from the Brewfile that don't install properly on ARM.

19 months agofix(homebrew): catch up with breaking changes
Greg Hurrell [Tue, 1 Jun 2021 12:03:10 +0000 (14:03 +0200)] 
fix(homebrew): catch up with breaking changes

3 packages failed to install:

    1.  camlp4 (removed)

            Error: No similarly named formulae found.
            Error: No available formula with the name "camlp4".
            ==> Searching for similarly named formulae...
            ==> Searching for a previously deleted formula (in the last month)...
            Error: No previously deleted formula found.
            ==> Searching taps on GitHub...
            Error: No formulae found in taps.

    2.  git (option removed, appears to be default now)

            Error: invalid option: --with-pcre

        Some talk here of it being named --with-pcre2 now, but
        I think it's just used by default now and that option
        doesn't exist either:


    3.  gnu-sed (option removed)

            Error: invalid option: --with-default-names

        As mentioned here:


        Note that there is no `--default-names` option,
        also mentioned in that thread.

19 months agorefactor(homebrew): shuffle some packages between work/personal profiles
Greg Hurrell [Tue, 1 Jun 2021 12:01:50 +0000 (14:01 +0200)] 
refactor(homebrew): shuffle some packages between work/personal profiles

Although note, a deeper clean-up is needed:


19 months agochore: add host-specific Zsh config
Greg Hurrell [Tue, 1 Jun 2021 10:56:18 +0000 (12:56 +0200)] 
chore: add host-specific Zsh config

In doing this, I noticed an error in my old alias: it needed to be
quoted. And adding the quotes uncovered a bug: when you do `gets` in
Ruby it is going to read from stdin by default only in the absence
of command line arguments; now that we are passing arguments, the
`gets` doesn't work any more. This is fixed by adding an explicit

19 months agochore: set up "work" profile in project.json again
Greg Hurrell [Tue, 1 Jun 2021 10:42:17 +0000 (12:42 +0200)] 
chore: set up "work" profile in project.json again

19 months agochore: update "n" submodule
Greg Hurrell [Tue, 1 Jun 2021 10:16:16 +0000 (12:16 +0200)] 
chore: update "n" submodule

Without this, we fail to install NodeJS on an M1 machine:

    [info]    Installing TypeScript
    [info]    Installing Node 14.4.0

      installing : node-v14.4.0
    curl: (22) The requested URL returned error: 404

      Error: download preflight failed for '14.4.0' (https://nodejs.org/dist/v14.4.0/node-v14.4.0-darwin-arm64.tar.gz)

After updating succeeds:

    [info]    Installing TypeScript
    [info]    Installing Node 14.4.0
      installing : node-v14.4.0
           mkdir : /Users/wincent/code/wincent/vendor/node/n/versions/node/14.4.0
           fetch : https://nodejs.org/dist/v14.4.0/node-v14.4.0-darwin-x64.tar.xz
       installed : v14.4.0 to /Users/wincent/code/wincent/vendor/node/bin/node
          active : v14.4.0 at /Users/wincent/code/wincent/bin/node
    [info]    Cleaning
    [info]    Generating TypeScript types


* vendor/n 4257eeb...158e5a0 (75):
  > 7.2.2
  > Prepare for release
  > Tighter and consistent wording
  > Merge branch 'develop' of github.com:tj/n into develop
  > Update CHANGELOG
  > Fix link in CHANGELOG
  > Post-release
  > 7.2.1
  > Bump version correctly prior to release
  > Prepare for release
  > Merge branch 'develop' of github.com:tj/n into develop
  > 7.2.0
  > Fix spelling
  > Post-release
  > 7.1.0
  > Set release version
  > Prepare for release
  > Rework activate to support more configurations (#657)
  > Refer to product as Node.js, executable as node (#658)
  > Add install to command-line help. Sort aliases. (#659)
  > Point to contributors on github rather than list subset (#660)
  > Post release
  > 7.0.2
  > Prepare for release
  > Update mount points and /mnt paths for new bats and relative paths
  > Merge branch 'develop' of github.com:tj/n into develop
  > Add caveat about false positives
  > Post-release
  > 7.0.1
  > Prerelease
  > Fix failure to display error under some circumstances (#651)
  > Mention MacPorts in readme (#650)
  > Upgrade bats. Use boost-assert for better failure messages.
  > Eliminate last bogus uses of run in tests
  > Post-release
  > 7.0.0
  > Prepare for release
  > Remove anti-pattern use of run in more tests
  > WIP: Scan package.json last (#644)
  > Protect tests fron GREP_OPTIONS too
  > Merge branch 'develop' of github.com:tj/n into develop
  > Post release
  > 6.8.0
  > Use x64 for Apple M1 architecture for now
  > Fix lint warnings
  > Suppress warning when downloading semvr with npx using npm 7
  > Post release
  > 6.7.1
  > Prepare for release, better
  > Prepare for release
  > Detect download failure (#635)
  > "directly" caused confusion in past, reword
  > Remove chakra from README, no longer being updated
  > Fix repeated word typo
  > Post release
  > 6.7.0
  > Extend auto support to include .node-version, .nvmrc, and engines field of package.json (#628)
  > Use https instead of http (#627)
  > Post-release
  > 6.6.0
  > Prepare for release
  > Add to CHANGELOG
  > Add node support aliases (#619)
  > Update CHANGELOG for merged work
  > Lint: quote echoed variables
  > bin/n: Update can_use_xz() for macOS 11 (#624)
  > Post release
  > 6.5.1
  > Change filename. Prepare for release.
  > Add links to CHANGELOG
  > Post release
  > 6.5.0
  > Prepare for release
  > Add auto label to read version from .node-version (#616)
  > Post release

19 months agofeat(dotfiles): give vlc a dedicated space
Greg Hurrell [Wed, 2 Jun 2021 22:17:56 +0000 (00:17 +0200)] 
feat(dotfiles): give vlc a dedicated space

And make a "secret" space to put non-guest browser windows during

19 months agofeat(interception): set up udev rules
Greg Hurrell [Tue, 1 Jun 2021 20:55:56 +0000 (22:55 +0200)] 
feat(interception): set up udev rules

As noted in the comment, having this in here is a bit of an abuse, but
the alternatives suck in different ways too:

- Putting it in the "dotfiles" aspect: now we would need `sudo` to
  install dotfiles, and `udev` has nothing to do with dotfiles, really.
- Making a separate "udev" aspect: lots of overhead for a little thing;
  also, it relies on scripts installed in our home directory... maybe we
  should think about installing elsewhere, but still, pretending that
  this will ever be used by more than just `glh` is a joke.

So, here it goes. Note that I had to adjust the TS config because `tsc`
was choking on ".ts" (timestamp) files

    aspects/interception/support/CMakeFiles/mac2linux.dir/compiler_depend.ts:1:1 - error TS18016: Private identifiers are not allowed outside class bodies.

    1 # CMAKE generated file: DO NOT EDIT!


19 months agofix(interception): remove problematic option
Greg Hurrell [Tue, 1 Jun 2021 20:55:01 +0000 (22:55 +0200)] 
fix(interception): remove problematic option


    CMake Error: Unknown argument --configure\nCMake Error: Run 'cmake --help' for all supported options.

No idea why I haven't seen this error before... maybe something changed
during an update.

19 months agofeat(dotfiles): make asdf and asdf-wrapper into templates
Greg Hurrell [Tue, 1 Jun 2021 20:36:48 +0000 (22:36 +0200)] 
feat(dotfiles): make asdf and asdf-wrapper into templates

So that they don't have a hard-coded user-name in them.

19 months agofeat(dotfiles): add asdf-wrapper script for use in udev rule
Greg Hurrell [Mon, 31 May 2021 23:02:11 +0000 (01:02 +0200)] 
feat(dotfiles): add asdf-wrapper script for use in udev rule

I need to set up a proper "udev" aspect to manage all this, but for now
have just set it up manually and it seems to be working well. If it
proves solid, I will go ahead and set up the aspect later.

19 months agorefactor(dotfiles): centralize all xsecurelock config in one place
Greg Hurrell [Mon, 31 May 2021 21:47:00 +0000 (23:47 +0200)] 
refactor(dotfiles): centralize all xsecurelock config in one place

Just to make it easier to find in the future.

19 months agochore(dotfiles): note date for new work machine in .irl.rb
Greg Hurrell [Mon, 31 May 2021 11:13:19 +0000 (13:13 +0200)] 
chore(dotfiles): note date for new work machine in .irl.rb

Haven't set the machine up yet; will do that tomorrow (setting up a
~/.zsh/host/ entry and so on to complete this set-up).

19 months agofix(dotfiles): fix xsecurelock font
Greg Hurrell [Mon, 31 May 2021 06:42:10 +0000 (08:42 +0200)] 
fix(dotfiles): fix xsecurelock font

Didn't notice, but this was also affected by yesterday's font breakage.
Can't seems to find a reasonable font; needs to be told.

19 months agofeat(pacman): add necessary dependency of i3-save-tree
Greg Hurrell [Sun, 30 May 2021 21:48:42 +0000 (23:48 +0200)] 
feat(pacman): add necessary dependency of i3-save-tree

`i3-save-tree` is described here:


19 months agofeat(dotfiles): tweak i3 workspaces
Greg Hurrell [Sun, 30 May 2021 21:43:31 +0000 (23:43 +0200)] 
feat(dotfiles): tweak i3 workspaces

Make Audacious, pavucontrol, and obs wind up on the right workspace
every time.

19 months agofix(dotfiles): fix busted font after a `pacman` operation
Greg Hurrell [Sun, 30 May 2021 20:43:16 +0000 (22:43 +0200)] 
fix(dotfiles): fix busted font after a `pacman` operation

As I was puzzling over here:


after a package install (not sure if it was `graphviz` or a `pacman
-Syyu`) fonts were all messed up in Kitty and i3.

Oddly, enough, the i3bar actually looked better as it fell back to a
fallback font... Whatever...

By changing the names, everything is working again. Really no idea why

19 months agochore(dotfiles): freshen kitty.conf
Greg Hurrell [Sun, 30 May 2021 19:43:54 +0000 (21:43 +0200)] 
chore(dotfiles): freshen kitty.conf

Was seeing deprecation warnings about a renamed setting, so overwrote

    cp /usr/share/doc/kitty/kitty.conf \

And then doing a `git add -p` to keep all the new bits that I care
about, while preserving overrides that I had made previously.

19 months agodocs(pacman): note perils of enabling testing repositories
Greg Hurrell [Sun, 30 May 2021 18:52:50 +0000 (20:52 +0200)] 
docs(pacman): note perils of enabling testing repositories

19 months agochore(pacman): install some more man pages
Greg Hurrell [Sun, 30 May 2021 14:57:16 +0000 (16:57 +0200)] 
chore(pacman): install some more man pages

Because, surprisingly, things like `man 3 strlen` don't work without it.

19 months agofeat(pacman): add "audacious" package
Greg Hurrell [Sat, 29 May 2021 21:18:44 +0000 (23:18 +0200)] 
feat(pacman): add "audacious" package

19 months agochore(pacman): switch from PulseAudio to PipeWire
Greg Hurrell [Sat, 29 May 2021 20:53:47 +0000 (22:53 +0200)] 
chore(pacman): switch from PulseAudio to PipeWire

20 months agofeat(vim): get lua-language-server working on Arch
Greg Hurrell [Thu, 27 May 2021 20:13:10 +0000 (22:13 +0200)] 
feat(vim): get lua-language-server working on Arch

There is probably a better way to write those horrible `if`/`else`
checks, but this works.

20 months agofeat(vim): set CompeDocumentation highlight group
Greg Hurrell [Thu, 27 May 2021 09:01:49 +0000 (11:01 +0200)] 
feat(vim): set CompeDocumentation highlight group

Defaults to `NormalFloat`, but `TabLine` is a bit darker and makes the
hover distinguishable from the completion popup.

20 months agofix(vim): don't allow focus/blur to mess with lspsaga hover
Greg Hurrell [Thu, 27 May 2021 08:48:59 +0000 (10:48 +0200)] 
fix(vim): don't allow focus/blur to mess with lspsaga hover

Seeing as it uses `'winhighlight'` internally (and so does
nvim-compe). I don't seem to need to do anything special for
nvim-compe documentation windows (those ones can be identified with a
nvim-window-level `compe_documentation` variable), so I am not looking
at that at this time.

20 months agofeat(vim): also hide search matches in non-current windows
Greg Hurrell [Thu, 27 May 2021 08:27:26 +0000 (10:27 +0200)] 
feat(vim): also hide search matches in non-current windows

20 months agorefactor(vim): remove dead code
Greg Hurrell [Thu, 27 May 2021 08:05:06 +0000 (10:05 +0200)] 
refactor(vim): remove dead code

No longer relevant since we're letting lspsaga handle hover windows now.

20 months agofeat(vim): also apply lspsaga treatment to line diagnostics windows
Greg Hurrell [Wed, 26 May 2021 21:41:45 +0000 (23:41 +0200)] 
feat(vim): also apply lspsaga treatment to line diagnostics windows

Makes them prettier, thanks to the border.

20 months agochore(vim): ignore docs/tags in nvim-compe submodule
Greg Hurrell [Wed, 26 May 2021 21:29:17 +0000 (23:29 +0200)] 
chore(vim): ignore docs/tags in nvim-compe submodule

20 months agofeat(vim): make LSP hover windows prettier with lspsaga.nvim
Greg Hurrell [Wed, 26 May 2021 21:28:20 +0000 (23:28 +0200)] 
feat(vim): make LSP hover windows prettier with lspsaga.nvim

* aspects/vim/files/.vim/pack/bundle/opt/lspsaga.nvim 0000000...cb0e35d (258):
  > feat(window): avoid pmenu (!181) (#181)

20 months agorefactor(vim): switch to nvim-compe
Greg Hurrell [Wed, 26 May 2021 20:58:04 +0000 (22:58 +0200)] 
refactor(vim): switch to nvim-compe

So, some perf problems with completion-nvim were pointed out to me here:


but here's the kicker:


It turns out that the "semi-official" status of completion-nvim by
virtue of being under the "nvim-lua" org is under question... it might
not be there for much longer.

nvim-compe seems a mostly drop-in replacement. The only thing that I can
obviously see that doesn't work out of the box is signature help:


20 months agofix(vim): add missing guards around nvim-specific plugin
Greg Hurrell [Wed, 26 May 2021 08:10:59 +0000 (10:10 +0200)] 
fix(vim): add missing guards around nvim-specific plugin

Although to be honest, I didn't notice any problems when I tested with
vanilla Vim, so maybe there are some other guards internally in the
plugin that stop anything from blowing up.

20 months agofix(vim): provide missing highlighting for two LspDiagnostics groups
Greg Hurrell [Wed, 26 May 2021 08:07:11 +0000 (10:07 +0200)] 
fix(vim): provide missing highlighting for two LspDiagnostics groups

These were linking to two cleared groups:

    LspDiagnosticsDefaultWarning xxx cleared
    LspDiagnosticsDefaultInformation xxx cleared

so showed up as white text on black background, which is a bit ugly... I
don't know if this is the best approach, but the least we can do is give
it a decent `ColorColumn` background to match the other stuff in the

20 months agochore(vim): turn on g:completion_auto_change_source
Greg Hurrell [Wed, 26 May 2021 07:59:18 +0000 (09:59 +0200)] 
chore(vim): turn on g:completion_auto_change_source

Not sure whether this is the best idea or whether I should be adding a
plugin like:


Basically, I want it to complete words in buffers automatically (without
having to press C-n). So, giving this a try... it basically means that
if there are no matches from LSP or snippets, it will fall back and show
buffer options. I have a feeling that I'll end up going with the plugin
because this isn't a fuzzy search, but I still want to give this a try
before committing to yet another dependency.

20 months agofeat(vim): activate transparency for pop-up menus and floating windows
Greg Hurrell [Tue, 25 May 2021 23:16:48 +0000 (01:16 +0200)] 
feat(vim): activate transparency for pop-up menus and floating windows

Will affect all places I use floating windows (eg. Corpus), but I have
selected a low transparency, so it is a subtle effect in any case.

20 months agochore(vim): set up g:completion_chain_complete_list
Greg Hurrell [Tue, 25 May 2021 23:00:47 +0000 (01:00 +0200)] 
chore(vim): set up g:completion_chain_complete_list

Let's see if this makes our filename completion a little bit cleverer.

20 months agofeat(vim): allow completion-nvim to use fuzzy matching
Greg Hurrell [Tue, 25 May 2021 22:49:46 +0000 (00:49 +0200)] 
feat(vim): allow completion-nvim to use fuzzy matching

Without this I will probably go crazy...

20 months agorefactor(vim): switch to completion-nvim from deoplete
Greg Hurrell [Tue, 25 May 2021 22:39:45 +0000 (00:39 +0200)] 
refactor(vim): switch to completion-nvim from deoplete

Because I am sick of waiting for deoplete to implement a proper preview
for autocompletion candidates. This plugin seems to work well and is
under relatively active/blessed development:


Submodule changes:

* aspects/vim/files/.vim/pack/bundle/opt/completion-nvim 0000000...8bca7ac (318):
  > Merge pull request #333 from garypippi/when_text_insert_format_is_nil

* aspects/vim/files/.vim/pack/bundle/opt/deoplete 35e27c3...0000000:

* aspects/vim/files/.vim/pack/bundle/opt/deoplete-lsp 00937dd...0000000:

20 months agofix(vim): add another exception to mkview() function
Greg Hurrell [Tue, 25 May 2021 22:04:14 +0000 (00:04 +0200)] 
fix(vim): add another exception to mkview() function

Swallows errors like:

    Error detected while processing WinLeave Autocommands for "*":
    E5108: Error executing lua $HOME/.config/nvim/lua/wincent/autocmds.lua:142:
    $HOME/.config/nvim/lua/wincent/autocmds.lua:135: Vim(mkview):E32: No file name

which I was seeing when running `:checkhealth`.

20 months agochore(vim): update plugins
Greg Hurrell [Tue, 25 May 2021 21:57:55 +0000 (23:57 +0200)] 
chore(vim): update plugins

Two changes required for compatibility:

- Need tweak to `.gitmodules` because vim-slime changed the name of
  their main development branch (from `master` to `main`).

- `nvim-lspconfig` must now be required as `'lspconfig'` and not

      E5108: Error executing lua $USER/.config/nvim/lua/wincent/lsp.lua:42:
      module 'nvim_lsp' not found:
              no field package.preload['nvim_lsp']


* aspects/vim/files/.vim/pack/bundle/opt/deoplete cb9212d...35e27c3 (127):
  > Update the documentation
  > Fix #1181 complete_common_string()
  > Fix #1179 skip very long lines in getline()
  > Merge pull request #1176 from habibalamin/fix-input_patterns-source-option-not-being-recognised
  > Fix #1172 neovim_rpc#serveraddr() error
  > Check user mark
  > Fix the documentation
  > Add dummy mark
  > Fix #1175 sources mark
  > Use lambda functions
  > Update the documentation
  > Fix the name conflict
  > Fix #1174 yarp import check
  > Fix #1173 filename completion
  > Fix prev complete
  > Remove codecov
  > Add source key for candidates
  > Improve prev completion behavior
  > Add input check
  > Add the comment
  > Fix #1170 buffer_path
  > Fix #1167 multiple filetypes support
  > Add deoplete#can_complete()
  > Check indentkeys for TextChanged only
  > Check indentkeys for words only
  > Fix the documentation
  > Fix exists_path()
  > Fix #1165 exists path
  > Merge pull request #1162 from maujim/patch-1
  > Merge pull request #1160 from e-kwsm/try-expanduser
  > ignore_sources is disabled when manual completion
  > Add enable_slash_completion in file source
  > Fix cd problems in file source
  > Fix lint
  > Fix exists check in file source
  > Fix imports
  > Fix expand() error
  > Merge pull request #1157 from MindTooth/use_github_action
  > Fix #1158 filename completion
  > Fix indentkeys check
  > Fix bug
  > Fix #1156 duplicated filter check
  > Replace os.path
  > Fix file source
  > Fix file source
  > Replace os.path
  > Replace os.path
  > Replace os.path
  > Fix #1156 duplicated source check
  > Fix for type: ignore
  > Add matcher_matchfuzzy
  > Merge pull request #1154 from timgates42/bugfix_typo_parentheses
  > Fix the link
  > Fix for flake8
  > Fix
  > Update README
  > Update
  > Fix the documentation
  > Fix the documentation format
  > Merge pull request #1150 from alexkalderimis/ajk-doc-rewordings
  > Fix #1149 add refresh_backspace option
  > Improve converter_remove_overlap
  > Skip if old completion
  > Merge pull request #1146 from Shougo/recently_used
  > Fix #1148 Disable non ascii indentkeys
  > Version 6.0 development is started
  > Fix the documentation
  > Enable auto completion in Command Line window
  > Update the documentation
  > Update the documentation
  > Fix multi process flicker problem
  > Disable nofile buffers completion except nofile_complete_filetypes.
  > Disable : auto indentation in deoplete
  > Fix for Vim script autocompletion
  > Fix message
  > Change completeopt before complete()
  > Improve change completeopt
  > Fix #1141 completeopt error
  > Fix #1143 disable auto indent when &indentexpr is disabled
  > Improve converter_remove_overlap behaviour
  > Fix #1140 check use_prev problem
  > Fix #1139 indentkeys problem
  > Fix #1138 auto update problem
  > Fix #1137 needs_poll update problem
  > Fix #1136 smart_close_popup
  > Update the documentation
  > Fix BS flickers and require Vim 8.1+
  > Fix #1135 disable popup flicker prevents
  > Change default auto refresh delay
  > Disable parallel feature in default to prevent flicker issue
  > Fix for popup flicker
  > Fix lint errors
  > Fix #1132 omnifunc check
  > Fix #1131 is_debug_enabled documentation
  > Remove restore completeopt
  > Fix #1128 restore completeopt when popup is closed
  > Update the documentation
  > Fix #1123 disabled_syntaxes error
  > Fix lint error
  > Fix custom conflict
  > Add converter_word_abbr
  > Improve expand()
  > Merge pull request #1118 from m-lima/master
  > Merge pull request #1116 from ujihisa/master
  > Update FAQ
  > Add screenshot
  > Merge pull request #1115 from ujihisa/master
  > Add note
  > Fix #1111 skip invalid bytes for Vim8
  > Fix #1110 ignore <bd> binary data
  > Fix #1109 is_async check
  > Fix health messages
  > Fix the expression error
  > Fix #1107 <Plug> mappings problem
  > Merge pull request #1104 from Shougo/fix_is_async
  > Update the documentation
  > Update FAQ
  > Fix user_data
  > Fix #1102 user_data check
  > Merge pull request #1101 from Milly/typing-parent
  > Use v:insertmode instead
  > Fix lint errors
  > Add InsertLeave support in buffer source
  > Add InsertLeave autocmd
  > Fix #247 call send_event() to make cache
  > Add comment
  > Check prev text in Update

* aspects/vim/files/.vim/pack/bundle/opt/deoplete-lsp fb51bfe...00937dd (6):
  > Fix #47 improve default input_pattern
  > Fix source initialization
  > Improve initialization
  > Merge pull request #46 from CKolkey/master
  > Fix #43 add variable for hover
  > Merge pull request #40 from jubnzv/fix-neovim-compatibility

* aspects/vim/files/.vim/pack/bundle/opt/fern.vim 8a857c9...5fe781e (20):
  > Merge pull request #340 from lambdalisue/fix-macvim
  > Merge pull request #333 from lambdalisue/improve-zoom
  > Merge pull request #334 from lambdalisue/fix-331
  > Merge pull request #329 from wtsnjp/fix-doc
  > Merge pull request #316 from shanesmith/action-focus-parent
  > Merge pull request #314 from lambdalisue/remove-smart-cursor
  > Merge pull request #305 from lambdalisue/fix-nested
  > Merge pull request #296 from lambdalisue/fix-auto-resize
  > Merge pull request #292 from lambdalisue/devtool
  > Merge pull request #288 from lambdalisue/fix-refresh-directory
  > Merge pull request #289 from KapJI/fix-edit-or
  > Merge pull request #286 from lambdalisue/use-relative
  > Merge pull request #285 from obcat/add-spinner-highlight
  > Merge pull request #282 from lambdalisue/fix-trash
  > Merge pull request #279 from lambdalisue/fix-iskeyword
  > Update README.md
  > Merge pull request #277 from lambdalisue/fix-fri
  > Merge pull request #274 from lambdalisue/fix-267
  > Merge pull request #266 from hrsh7th/fix-auto-buffer-delete
  > Merge pull request #265 from lambdalisue/fix-resolve-windows

* aspects/vim/files/.vim/pack/bundle/opt/float-preview.nvim 3c2e230...f9ed1c7 (1):
  > Improved the floating window

* aspects/vim/files/.vim/pack/bundle/opt/goyo 6b6ed27...a865dec (2):
  > Remove :PlugInstall tag
  > Fix signify detection (#223)

* aspects/vim/files/.vim/pack/bundle/opt/neco-ghc 682869a...699897c (3):
  > Fix for hhp
  > Fix executable() check
  > Merge pull request #86 from macthecadillac/master

* aspects/vim/files/.vim/pack/bundle/opt/nvim-lspconfig 60133c4...6a25eb0 (313):
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #937 from mrquaketotheworld/patch-1
  > Merge pull request #935 from lcrockett/master
  > Merge pull request #919 from nathanaelcunningham/prismals
  > Merge pull request #931 from lcrockett/master
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #929 from mjlbach/sumneko_documentation_update
  > [docgen] Update CONFIG.md skip-checks: true
  > Update vimdoc.yml
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #924 from tamago324/jdtls-package-json
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #912 from undu/ocaml_interface
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #900 from rafamadriz/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #910 from mjlbach/simplify_docs
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #909 from clason/texlab-3.0
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #908 from mhinz/fix-docgen
  > Merge pull request #871 from mjlbach/fix_docgen_v4
  > Merge pull request #907 from mjlbach/installation_clarification
  > Merge pull request #892 from amiralies/add-rescript-config
  > Merge pull request #889 from weeman1337/fix-pylsp-doc
  > Merge pull request #883 from weeman1337/feature-pylsp
  > Merge pull request #884 from WhyNotHugo/patch-2
  > Merge pull request #875 from zupatisc/master
  > Merge pull request #882 from fdschmidt93/pyright/default-diagnosticMode-to-workspace
  > Merge pull request #878 from neovim/remove-tabs
  > Merge pull request #877 from dimbleby/issue-876
  > Merge pull request #873 from mjlbach/fix_windows
  > Merge pull request #866 from mjlbach/fix_docgen_v3
  > Merge pull request #861 from mjlbach/dofile
  > Merge pull request #864 from nanotee/zeta_note
  > Merge pull request #857 from mnowotnik/master
  > Merge pull request #859 from mjlbach/lazy_require_lspinfo
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #846 from joseeMDS/update-ocaml-defaults
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #852 from Isti115/patch-1
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #851 from bmatcuk/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #839 from nabezokodaikon/css-description
  > Merge pull request #840 from mjlbach/lsp_start_improvements
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #841 from Adnios/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #477 from dpretet/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #822 from mjlbach/minimal_config_v3
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #800 from dewey92/stylelint-support
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #830 from csaez/patch-1
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #829 from Z5483/master
  > Merge pull request #833 from mjlbach/catch_autostart_error
  > Merge pull request #377 from tkonolige/master
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #832 from mjlbach/fix_babel
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #831 from mjlbach/document_more_commands
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #820 from shihanng/tflint
  > Merge pull request #826 from mjlbach/remove_trim_and_pad
  > Merge pull request #789 from ttys3/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #823 from kraftwerk28/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #819 from ya-luotao/patch-2
  > Merge pull request #816 from mjlbach/feature/update_minimal_config
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #814 from dradtke/jdtls-document-version
  > manual docgen
  > Merge pull request #809 from mjlbach/windows_documentation
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #806 from tamago324/pyright-package-json
  > Merge pull request #803 from mjlbach/remove_tbl_deep_extend
  > Merge pull request #802 from mjlbach/stop_start_restart
  > Merge pull request #799 from mjlbach/fixes
  > Merge pull request #788 from mjlbach/feature/add_vimdoc
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #797 from LuoZhongYao/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #795 from mhinz/lspinfo-highlighting
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #793 from mhinz/sumneko-disable-telemetry
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #792 from DoktorMike/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #489 from tzx/pyright-org-imports
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #769 from andersondanilo/feature/phpactor-support
  > Merge pull request #787 from mjlbach/update_readme
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #786 from mjlbach/fix_godot_docs
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #785 from mjlbach/improve_docgen
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #783 from polarmutex/beancount
  > Merge pull request #781 from mjlbach/bump_minimal_init
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #779 from sakhnik/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #778 from mjlbach/add_discourse_to_readme
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #707 from ngscheurich/haxe-language-server
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #768 from HiPhish/vala-ls
  > Merge pull request #775 from brandoncc/patch-1
  > Merge pull request #774 from smolck/prefer-vim-api
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #772 from mjlbach/fix_clangd
  > Merge pull request #771 from runiq/fix-clangd-default-capabilities
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #765 from kitagry/fix-deno-scheme
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #767 from glepnir/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #751 from 88maomao/erlang-ls
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #757 from WhyNotHugo/patch-1
  > Merge pull request #753 from kitagry/fix-deno-definition
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #755 from etrnal70/cargo-reload
  > Merge pull request #763 from ThatsNoMoon/ra-root_dir-deps
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #762 from teto/add-hls-specific-lspinfo
  > Merge pull request #760 from teto/lspinfo
  > Merge pull request #759 from ibraheemdev/patch-1
  > Merge pull request #756 from kitagry/fix-deno-cache
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #747 from PhilT/lsp-config-for-fsharp
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #748 from PhilT/typo-in-sumneko-lua
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #744 from kitagry/add-denols-functions
  > Merge pull request #743 from rudotriton/patch-1
  > Merge pull request #715 from mjlbach/fix_reloading
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #739 from mjlbach/hls_formatting
  > Update README.md
  > Merge pull request #738 from mjlbach/fix_autostart
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #721 from mjlbach/disable_autostart
  > Merge pull request #733 from mjlbach/fix_on_attach
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #735 from teto/notify
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #728 from lithammer/fix-document-highlight-augroup
  > Merge pull request #722 from halkn/fix-readmne
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #719 from lithammer/nimlsp-root-dir
  > Merge pull request #712 from glepnir/glepnir-patch-1
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #710 from stevearc/stevearc-rust
  > Merge pull request #475 from mjlbach/fix_custom_config_documentation
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #706 from forkbomb9/patch-1
  > [docgen] Update CONFIG.md skip-checks: true
  > Add sqls support (#422)
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #370 from HiPhish/jdtls
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #703 from mjlbach/fix_graphql_docgen
  > Merge pull request #562 from JoosepAlviste/master
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #658 from elianiva/feat/v-lang-server
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #686 from lithammer/bash-language-server-prevent-recursive-scanning
  > Merge pull request #702 from mjlbach/fix_docgen_2
  > Merge pull request #671 from mjlbach/kotlin_update_roots
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #700 from mjlbach/update_omnisharp
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #508 from mjlbach/remove_dynamic_registration_workaround
  > Merge pull request #698 from mjlbach/remove_deprecated_commands
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #690 from teto/compact-lsp-info
  > [docgen] Update CONFIG.md skip-checks: true
  > Merge pull request #695 from mjlbach/fix_docgen_ci
  > Merge pull request #693 from mjlbach/feature_request_template
  > Merge pull request #680 from delphinus/feature/use-nvim-exec
  > Merge pull request #668 from mhartington/angularls-bin
  > Merge pull request #672 from mjlbach/refactor_lspinfo
  > Merge pull request #689 from ckipp01/dirname
  > Update bug_report.md
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #679 from ckipp01/racket
  > Merge pull request #678 from mjlbach/pyright_update_root
  > vimls: change to use cwd instead of home for root
  > Merge pull request #677 from lithammer/fix-scry-root-pattern
  > Update bug_report.md
  > Merge pull request #673 from mjlbach/filetypes_nil_handling
  > Merge pull request #509 from mjlbach/remove_deprecated_handlers
  > Merge pull request #670 from mjlbach/add_executable_check
  > Merge pull request #661 from mjlbach/lspinfo_fix_display
  > Merge pull request #669 from mjlbach/fix_filetypes
  > Merge pull request #665 from mjlbach/fix_lsp_info_root_detect
  > Merge pull request #659 from mjlbach/disable_transparency_lspinfo
  > Merge pull request #651 from mjlbach/lsp_info
  > Merge pull request #657 from mjlbach/fix_rust_analyzer_root
  > Merge pull request #655 from ckipp01/metals
  > readme: add references to the wiki
  > Merge pull request #644 from jdrouhard/clangd_fix_capabilities
  > tsserver: fix luacheck error
  > Merge pull request #648 from mjlbach/rust_analyzer_root
  > Merge pull request #554 from mjlbach/typescript_fix_root
  > Merge pull request #649 from mjlbach/fix_custom_config
  > Merge pull request #647 from mjlbach/readme_on_attach
  > [docgen] Update README.md skip-checks: true
  > jdtls: fix spelling error
  > Merge pull request #646 from mjlbach/jdtls_fix_formatting
  > Merge pull request #645 from mjlbach/jdtls_fix_docs
  > Merge pull request #560 from mjlbach/readme_tweaks
  > Merge pull request #559 from pierreprinetti/readme_typo
  > Merge pull request #558 from mjlbach/readme_fix_function
  > Merge pull request #556 from mjlbach/solargraph_diagnostics
  > Merge pull request #555 from mjlbach/fix_rls_documentation
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #553 from zhuangya/update-denols-doc
  > Update bug_report.md
  > Merge pull request #517 from mjlbach/issue_template_improvements
  > Merge pull request #552 from mjlbach/fix_typo
  > Merge pull request #549 from mjlbach/readme_updates
  > Merge pull request #547 from mjlbach/update_julia_documentation
  > Merge pull request #548 from mjlbach/vscode_html_languageserver_completion_doc
  > Merge pull request #546 from mjlbach/remove_vscode_doc_ccls
  > Merge pull request #545 from mjlbach/improve_root_pattern_documentation
  > Merge pull request #544 from mjlbach/clarify_on_new_config
  > Merge pull request #540 from mjlbach/angularls_fix_documentation
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #543 from oberblastmeister/master
  > Merge pull request #542 from theHamsta/fix-sumneko-config-syntax-error
  > Merge pull request #539 from mjlbach/fix_vimls_docs
  > Merge pull request #491 from mjlbach/feature/add_denols
  > Merge pull request #535 from mjlbach/update_pr_template
  > Merge pull request #536 from mjlbach/sumneko_typo
  > Merge pull request #528 from mjlbach/improve_ccls_documentation
  > Merge pull request #525 from mjlbach/fix_texlab_build_args
  > Merge pull request #518 from mjlbach/jsonls_fix_formatting
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #523 from akinsho/patch-1
  > Merge pull request #520 from mjlbach/update_sumneko_lua_docs
  > Merge pull request #521 from mjlbach/update_tsserver_documentation
  > Merge pull request #498 from mjlbach/remove_installers
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #519 from mjlbach/remove_rust_analyzer_workaround
  > [docgen] Update README.md skip-checks: true
  > [docgen] Update README.md skip-checks: true
  > Update sumneko lua docs
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #481 from mjlbach/fix_rust-analyzer_nightly
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #507 from mjlbach/remove_texlab_capabilities_fix
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #505 from mjlbach/fix_filesystem_permissions
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #352 from nathunsmitty/master
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #503 from mjlbach/fix_texlab
  > [docgen] Update README.md skip-checks: true
  > Update bug report template (#480)
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #501 from mjlbach/fix_docgen_v2
  > Merge pull request #486 from pretentious7/master
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #450 from lithammer/dont-use-homedir-as-root-dir
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #437 from creativenull/fix-tsserver-rootdir
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #420 from Gian12315/master
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #385 from elianiva/svelte-lang-server
  > [docgen] Update README.md skip-checks: true
  > Fix macos CI
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #499 from mjlbach/fix_docgen
  > Merge pull request #471 from mjlbach/feature/handle_registerCapability
  > Have leanls use util.find_git_ancestor.
  > Merge pull request #464 from mjlbach/feature/factor_out_autogen_doc
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #470 from h-michael/deprecate-ghcide
  > Merge pull request #469 from h-michael/deprecate-ghcide
  > zig: nvim_lsp/zls.lua -> lspconfig/zls.lua
  > Merge pull request #392 from abenz1267/master
  > Merge pull request #453 from tormodatt/master
  > Merge pull request #355 from wuilliam321/groovyls-support
  > Merge pull request #438 from HiPhish/kotlin
  > Merge pull request #429 from jerrywang1981/master
  > Merge pull request #439 from benawas/master
  > Merge pull request #406 from igrep/purescriptls-win
  > pyright: Wrap settings correctly with python.analysis
  > Merge pull request #366 from Ogromny/zls_support
  > Remove before_init workaround
  > Merge pull request #358 from PatOConnor43/change-dart-init-options
  > Merge pull request #405 from mjlbach/feature/specify-unzip-dependency
  > Merge pull request #404 from mjlbach/fix-pyright-languageserver
  > Merge pull request #303 from mjlbach/feature/add-pyright-languageserver
  > Merge pull request #399 from Iron-E/patch-1
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #351 from lithammer/fix-terraformls-cmd
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #371 from HiPhish/kotlin
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #403 from h-michael/kotlin
  > [docgen] Update README.md skip-checks: true
  > Merge pull request #401 from h-michael/sourcekit
  > Merge pull request #400 from h-michael/script
  > Merge pull request #348 from h-michael/rename
  > Merge pull request #238 from steelsojka/angular-ls

* aspects/vim/files/.vim/pack/bundle/opt/tcomment_vim 22f3707...a15822e (14):
  > XML style comments: don't escape "-" but "<!--" and "-->" FIX #288
  > Merge pull request #287 from aca/master
  > Merge pull request #286 from alteriks/bind_named
  > Restrict use of /// to the rust filetype FIXES #282
  > C-style comments: Support for /// etc. FIXES #282
  > Merge pull request #281 from herrbischoff/patch-1
  > Merge pull request #278 from itchyny/support-vim9-script
  > Merge branch 'master' of github.com:tomtom/tcomment_vim
  > tcomment#GuessCommentType(): Enrich return value
  > Add support for spss
  > Merge pull request #272 from tamago324/support-dot
  > Merge pull request #273 from amadeus/fix/typescript-alt
  > Merge pull request #271 from bradleymackey/master
  > FIX #269 Support for cuda

* aspects/vim/files/.vim/pack/bundle/opt/typescript-vim 17d85d8...67e81e4 (5):
  > Merge pull request #185 from SeungUkLee/fix-link
  > Merge pull request #171 from iwikal/typescriptreact
  > Merge pull request #179 from z0rzi/patch-1
  > Merge pull request #180 from nornagon/patch-1
  > Merge pull request #181 from patstockwell/extend-global-objects

* aspects/vim/files/.vim/pack/bundle/opt/ultisnips e35158d...b3fd902 (31):
  > Add deoplete completion source to the documentation (#1353)
  > Fix #1339 wrong cursor position in nested snippets (#1347)
  > Expand snipMate snippets with 'w' instead of 'i' (#1345)
  >  Correctly handle escaping backslashes in Placeholder defaults (#1346)
  > Enable sponsorship.
  > Use a valid unite kind variable (#1338)
  > Expand snipMate snippets with 'i' option (#1336)
  > Fix shebangs in the repo to use python3.
  > Fix race condition in checking vim startup. (#1331)
  > Trigger build on pull requests.
  > Test more Python/Vim combinations and fix caching. (#1329)
  > Remove Travis Integration, enable GitHub Actions (#1330)
  > Added CanExpandSnippet, CanJumpForwards, CanJumpBackwards (#1314)
  > Enhancing the wording of an example (#1309)
  > Adds g:UltisnipsSnippetStorageDirectoryForUltiSnipsEdit (#1301)
  > docs: Update tabstop-generation README (#1272) (#1298)
  > Improve b:match_words pattern (#1288)
  > A trivial change to test travis-ci.com integration. (#1286)
  > Fix python 3.8 warning on start. (#1285)
  > autotrigger: trigger only on new characters insert (#1183)
  > Add description of choice tabstop. (#1224)
  > Python 3.5 Compatibility: Fix crash when snippet for current file does not exist  (#1240)
  > Optimize choices, support space as a terminator for selection (#1261)
  > Add support to escape comma inside choice item by "\," (#1271)
  > Fix: DeprecationWarning from unescaped regex (#1279)
  > Update README.md (#1282)
  > Fix: bug in autojump-if-empty example (#1249)
  > Minimal typo fix (#1275)
  > Fix typo (#1257)
  > Clearer wording on the YCM warning (#1244)
  > Fix errors in state handling when switching buffers (#1229)

* aspects/vim/files/.vim/pack/bundle/opt/undotree be23eac...271c565 (7):
  > Merge pull request #127 from maniac-en/patch-1
  > Merge pull request #126 from develduan/master
  > Merge pull request #124 from kaldown/master
  > Merge pull request #123 from kunzaatko/master
  > Merge pull request #119 from jmembreno4194/master
  > Merge pull request #118 from jmembreno4194/master
  > Merge pull request #117 from yhu266/master

* aspects/vim/files/.vim/pack/bundle/opt/vim-abolish 7e4da6e...3f0c8fa (5):
  > Allow escaped delimiter in substitution string
  > Include ag matching
  > Add support for ripgrep
  > FIX: Duplicate nmap should be vmap instead
  > Use getcurpos() to properly set curswant (#93)

* aspects/vim/files/.vim/pack/bundle/opt/vim-dirvish b136fd2...9c0dc32 (6):
  > K: fix [count]K for old Vim
  > doc: rearrange image
  > doc: add image to readme
  > s:list_dir(): fix: 'wildignorecase' affects directory listing #184
  > fix: Pattern delimiter not found #193
  > handle backslash in pathname #190

* aspects/vim/files/.vim/pack/bundle/opt/vim-dispatch fe6a343...250ea26 (5):
  > Truncate finished message to prevent press ENTER prompt
  > Use v:echospace if available for echo width
  > Fix :Start on iTerm
  > Don't wait silently on :wall with 'confirm'
  > Add customizable message colors

* aspects/vim/files/.vim/pack/bundle/opt/vim-eunuch 33e875b...dbbbf85 (3):
  > Also subject current buffer to 'buftype' check before writing
  > Fix #72: Detect the terminal is in local robustly
  > Allow renaming new files

* aspects/vim/files/.vim/pack/bundle/opt/vim-fugitive caf3b1d...c926aad (158):
  > Fix deprecation error in :GBlame
  > Tighten up diff highlighting
  > Hunt other tabs for window on :tab Git
  > Fix capitalization
  > Change deprecated q and D maps to errors
  > Replace HEAD with @
  > Require Git 1.8.5 or newer
  > Fix README formatting
  > Require Vim 7.4 or newer
  > Add note about :Gvdiffsplit
  > fugitive.vim 3.3
  > Provide FugitiveConfigGetRegexp()
  > Provide FugitiveResult()
  > Support :Gwrite +aftercommand
  > Only do "guessed" :Gwrite behaviors with no argument
  > Fix :Git difftool work-tree paths
  > Fix :GBrowse :/ in bare repositories
  > Return empty string on FugitiveFind() with no Git dir
  > Fix :Gedit /
  > Fix status in bare repository
  > Account for invalid b:git_dir in FugitiveGitDir()
  > Proactively detect Git dir if autocommand hasn't triggered
  > Always set b:git_dir
  > Add deprecation warnings to :Glog and :Gstatus
  > Add :Glog and :Gstatus to list of opt-out legacy commands
  > Don't use pty on win32unix
  > Don't trigger BufWrite during :Git blame
  > Provide :GBrowse behavior in blame buffers
  > Don't rely on current buffer's Git dir for :GBrowse
  > Support all <cword> style expansions
  > Ignore :GBrowse line numbers for non-blob objects
  > Provide "." and "<C-R><C-G>" in blame buffers
  > Fix double "fugitive:" in error message
  > Add notices to deprecated lowercase commands
  > Add aliases for blame "-" map
  > Support :GBrowse {url} outside of Git repository
  > Pass <mods> along to URL opener
  > Use :echo not :echomsg for displaying :GBrowse URL
  > Jump to correct Unpushed/Unpulled section on reload
  > Handle non-config dictionary passed to FugitiveConfig()
  > URL escape :command special characters
  > Add git_dir key to :GBrowse API
  > Handle race condition closing job stdin
  > Don't discard deleted submodules
  > Add foldtext for hunk headers
  > Press escape to background :Git to preview window
  > Expand <cfile>
  > Make FugitiveChanged event aware of :Git result
  > Provide :Gedit - to open previous :Git output
  > Restore X on submodules
  > Don't trigger FugitiveChanged until :Git finishes output
  > Fix undesired line wrap in :Git output
  > Move edit sentinel removal out of resume handler
  > Eliminate blank line after resuming from GIT_EDITOR
  > Allow close callback to run before leaving job wait loop
  > Echo from wait loop, not job callback
  > Don't record last job until after completion
  > Unify remote resolution
  > Capture cwd of :Git command
  > Add error message when editing after Vim exit
  > Don't wait silently on :wall with 'confirm'
  > Don't try to send :Git process CTRL-C when stdin is closed
  > Retool :Git blame colored commits
  > Extract fugitiveblame ftplugin
  > Automatically mkdir when editing .git/info/exclude
  > Capture exit status of :Git
  > Pass private job state to s:RunWait()
  > Fix :GBrowse with no argument
  > Don't set foldmethod=syntax in historical buffers
  > Accept alternate syntax for :GBrowse remote
  > Tweak default list of paginated commands
  > Don't complete directories as subcommands
  > Handle tabs in commit subject
  > Forcefully disable colors on paginated :Git output
  > Unify temp state and job state
  > Replace broken check for nvim 0.5.0
  > Use git --list-cmds= to complete subcommands
  > Retool completion of subcommands
  > Paginate :Git whatchanged
  > Clean up argument splitting utility functions
  > Expand ssh host aliases in remote urls
  > Capture :Git job output to temp file
  > Fix diff in status buffer
  > Default coo to identifier under cursor in temp buffers
  > Don't automatically enable syntax folding in status buffer
  > Revert "Support X for submodules"
  > Don't clobber alt buffer with :Gread
  > Make :Gdiffsplit! from common ancestor stage open ours and theirs
  > Don't expand # in :GBrowse http://example.com/#anchor
  > Update env workarounds for nvim
  > Support opting out of deprecated commands
  > Remove broken deprecated :Git merge calling mergetool
  > Partition public and private job state
  > Avoid :normal during status reload
  > Use unambiguous option keys for subcommand delegation
  > Fix inline diff expansion when foldmethod is not syntax
  > Retool discard operation during conflict
  > Fix remaining :Gremove and :Gmove references
  > Tiny optimization to s:Slash()
  > Act globally when invoking inline diff maps on Head: line
  > Ensure open folds after expanding inline diff
  > Feed custom file under cursor into netrw's gx
  > Remove Git dir checks on FileType events
  > Set b:git_dir early in BufReadCmd
  > End the guioptions+=! reign of terror
  > Fix staging partial hunk near EOF lacking newline
  > Add initial :echo before job
  > Replace blame shell fiddling with s:TempCmd()
  > Fix tab complete of tree objects
  > Fix argument parsing of :Gedit fugitive:\\...
  > Delete backing temp file upon wiping buffer
  > Rename temp state bufnr field to origin_bufnr
  > Don't try to reuse terminal buffers for status window edits
  > Add a FAQ about symlinks
  > Smarter diff jumping in :Git log
  > Add sourcehut plugin for :GBrowse to README
  > Provide some <mods> handling on quickfix commands
  > Better handling of git blame variable width date formats
  > Account for closing windows when reloading status
  > Resolve temp name used in :Git
  > Work around 'suffixes' in :Git completion
  > Move :Git --paginate helper function into :Git section
  > Fix :Gedit worktree-file
  > Provide error message when Netrw can't be loaded
  > Remove obsolete push/fetch docs
  > Use stderr for in-band job communication
  > Guard against diff.noprefix in commit buffers
  > Add Azure DevOps :GBrowse extension to README
  > Remove dispatch.vim backed fetch and push
  > Add deprecation notices to git subcommand wrappers
  > Retire old :Gsplit! family of temp buffer commands
  > Don't default to work tree on :Gedit invalidref:file
  > Emphasize poor quickfix performance in docs
  > Fix typo in helpfile
  > Avoid presenting verbose command output as error
  > Avoid window shenanigans if :diffoff restores options
  > Enable Help: header
  > Restore correct cursor position in commit buffer
  > Fix jumps from blame commits with ignore marks
  > Recover from deleted temp script
  > Disable 'swapfile' early
  > Don't override user :G
  > Fix reference to renamed function
  > Disable spell checking while blaming
  > Provide public diff closing function
  > Fix :Gwrite DWIM in commit messages
  > Avoid empty string keys to prevent Vim 7 error
  > Fix: digits in a user name was highlighted as time
  > Support partial staging after git add -N
  > Fix tab complete for :Git push --option
  > Recommend :Git log over :Gclog
  > Trigger OptionSet on automatic :diffoff
  > Improve weird :Ggrep --column quickfix title
  > Tighten syntax highlighting for SHA
  > Add Help: header
  > Refactor run loop
  > Extract s:RunEdit()
  > Fix stash map

* aspects/vim/files/.vim/pack/bundle/opt/vim-git 117abeb...0fe3f4e (13):
  > Rebase: highlight empty commits
  > Allow keywordprg with pager with guioptions=!
  > Combine redundant groups
  > Highlight git blame --porcelain output
  > Disable spell checking in git hashes when viewing git files
  > Disable spell checking in git hashes when rebasing
  > Match hash references in commit bodies
  > Fix eager highlight of word diff
  > Include new and modified files
  > Sync timestamps with Vim 8.2
  > Revert "Include new and modified files"
  > Fix gitrebase r/t
  > Include new and modified files

* aspects/vim/files/.vim/pack/bundle/opt/vim-javascript 3c90d0c...f8345cd (4):
  > Add BigInt (#1239)
  > Add WeakRef (#1238)
  > Add support for _ in hex numbers
  > jsCatch can be followed by jsParenCatch or jsTryCatchBlock. (#1230)

* aspects/vim/files/.vim/pack/bundle/opt/vim-lion 75306ac...ce46593 (1):
  > Spelling error README.md

* aspects/vim/files/.vim/pack/bundle/opt/vim-markdown da5a7ac...8e5d86f (8):
  > Merge pull request #498 from jrwrigh/master
  > Merge pull request #492 from jrwrigh/master
  > Merge pull request #497 from AggroBoy/master
  > Merge pull request #477 from cdelledonne/insert-toc
  > Merge pull request #472 from kalafut/master
  > Merge pull request #486 from jbriales/master
  > Fix tex syntax test for latest syntax
  > Merge pull request #451 from yous/fix-url

* aspects/vim/files/.vim/pack/bundle/opt/vim-pathogen c6bc424...e0a3efb (1):
  > Fix whitespace needed around colon-separated slice args

* aspects/vim/files/.vim/pack/bundle/opt/vim-projectionist 1d95458...8dda7ac (5):
  > Limit BufFilePost detection to known good buffers
  > Add :Ptcd and :Tcd commands
  > Tentatively add O commands wrapping :drop
  > Use native json_decode() when available
  > Experimentally allow string values for delegation

* aspects/vim/files/.vim/pack/bundle/opt/vim-repeat c947ad2...24afe92 (1):
  > Rework error return to prevent off-by-one in Ex mode

* aspects/vim/files/.vim/pack/bundle/opt/vim-slime a811392...a522fed (14):
  > Replace ^D in _EscapeText_scala (#287)
  > Fix Kitty for nvim, other external sources
  > Update documentation for slime_paste_file (#278)
  > Clarify README, parts about keyboard mappings and config prompts (#272)
  > Add Elm to README
  > Normalize whitespace
  > Add ftplugin for elm files
  > Merge pull request #266 from jpalardy/fix-jobid
  > Revert "Use tmux bracketed paste"
  > Merge pull request #265 from carlocab/bracketed-paste
  > Merge pull request #264 from pacbard/master
  > Merge pull request #261 from Jacob-Bishop/ReadmeX11TargetUpdates
  > Merge pull request #258 from jpalardy/better-cell-delimiter
  > Merge pull request #255 from LeoKavanagh/master

* aspects/vim/files/.vim/pack/bundle/opt/vim-speeddating fe98cfa...95da3d7 (1):
  > Ignore mswin.vim CTRL-A/CTRL-X overrides

* aspects/vim/files/.vim/pack/bundle/opt/vim-zsh 953535b...55ca6ed (13):
  > ftplugin: do not start an interactive shell for run-help
  > ftplugin: make sure, shell is actually executable
  > Merge pull request #32 from dkearns/fix-character-escape-sequence-highlighting
  > update header
  > syntax: slightly readjust the math expression syntax
  > syntax: update metadata fix inconsistent indentation
  > syntax: (( )) is a arithmethic region (fixes #31)
  > Merge pull request #28 from dkearns/extract-compiler-plugin
  > Merge pull request #29 from dkearns/fix-case-sensitivity-of-typeset-and-friends
  > Merge pull request #30 from dkearns/fix-highlighting-of-commented-out-function-definitions
  > Merge pull request #26 from guidocella/cdsilent
  > ftplugin: Undefine MANPAGER before running run-help
  > Merge pull request #24 from benknoble/patch-1

20 months agofix(vim): silence `find` warning
Greg Hurrell [Tue, 25 May 2021 21:53:05 +0000 (23:53 +0200)] 
fix(vim): silence `find` warning

Haven't seen this in macOS, but seeing it on Linux. It is harmless, but
may as well silence it anyway:

    find: warning: you have specified the global option -maxdepth after
    the argument -type, but global options are not positional, i.e.,
    -maxdepth affects tests specified before it as well as those
    specified after it.  Please specify global options before other

20 months agochore(dotfiles): move i3bar down to bottom
Greg Hurrell [Tue, 25 May 2021 21:44:17 +0000 (23:44 +0200)] 
chore(dotfiles): move i3bar down to bottom

Because it has been driving me crazy since I turned on `mode hide` the
other day. Every time I hit "alt" (incredibly often, because I do things
like copy/paste or switch tabs) the darn bar flickers in at the top,
obscuring whatever tabs I have visible in Chrome.

Moving it to the bottom makes it much less jarring. And when I am
looking at the terminal (full screen) it overlaps nicely with the tmux
status line.

20 months agorefactor(contrib): set up EFISTUB loader in lieu of Grub
Greg Hurrell [Tue, 25 May 2021 19:13:50 +0000 (21:13 +0200)] 
refactor(contrib): set up EFISTUB loader in lieu of Grub

Grub seems needlessly complicated for our use case. My motherboard has
good UEFI support apparently, so I can use its own boot menu to select
boot options and dispense with the complexity of Grub.

Now, I am flying a bit blind here. I have run the `efibootmgr` commands
manually and seen them work, but I am not going to reinstall the OS just
to see the changes here work, so there is a small chance that they
won't. If that turns out to be the case, will have to revert or adjust.

At this isn't necessarily super obvious:

- The `--disk` and `--part` params identify the `/boot` partition.
- The `PARTUUID` identifies the "root" partition, which in our case,
  happens to be encrypted (hence the `cryptroot` song and dance).

Note that while I am not installing the `grub` package any more, I am
keeping the others around (eg. `os-prober`) in case I ever want to
dual-boot or doing anything else fancy.

Also note the order of additions here. I add "linux-lts" first (gets set
as first in the boot order) and then "linux" (moves to first in boot
order). That way I can avoid any explicit juggling of orders with

See: https://wiki.archlinux.org/title/EFISTUB#Using_UEFI_directly

20 months agochore(dotfiles): reduce font size in Kitty
Greg Hurrell [Tue, 25 May 2021 09:56:43 +0000 (11:56 +0200)] 
chore(dotfiles): reduce font size in Kitty

Kitty font size suddenly seems way too large; not sure what the cause
is. I set it from 13 to 16 in 7e661fc3531880f9fa87f56 with the message,
"make fonts look nice on 4K display in kitty". But upon rebooting today,
16 looks absolutely enormous. Bumping down to 12, and to be honest, even
that looks quite large to me now.

20 months agorefactor(pacman): switch to some more lightweight tools
Greg Hurrell [Tue, 25 May 2021 09:49:15 +0000 (11:49 +0200)] 
refactor(pacman): switch to some more lightweight tools

Instead of `gnome-control-center` (massive overkill), use the hideously
ugly but simple `pavucontrol` to control PulseAudio.

Get rid of `caja` (can just live with `pcmanfm` instead; it's ugly, but
it's ridiculously fast and lean).

20 months agochore: clean out some more Liferay-specific stuff
Greg Hurrell [Tue, 25 May 2021 09:48:33 +0000 (11:48 +0200)] 
chore: clean out some more Liferay-specific stuff

Things that I missed in my first pass in 6465fa42bf6e.

20 months agofix(dotfiles): avoid long delay opening GTK programs
Greg Hurrell [Tue, 25 May 2021 09:41:55 +0000 (11:41 +0200)] 
fix(dotfiles): avoid long delay opening GTK programs

Lots of threads out there describing this problem:


Usual response is to RTFM:


Root cause is that by not including the files from
/etc/X11/xinit/xinitrc.d/ you end up not running this critical script:

    systemctl --user import-environment DISPLAY XAUTHORITY

    if command -v dbus-update-activation-environment >/dev/null 2>&1; then
      dbus-update-activation-environment DISPLAY XAUTHORITY

Before: apps like `gnome-control-center` or even the lowly `pavucontrol`
take many seconds to open.

After: apps open instantly.

20 months agofix(vim): stop ledger paragraph movement from clobbering search
Greg Hurrell [Thu, 20 May 2021 21:39:52 +0000 (23:39 +0200)] 
fix(vim): stop ledger paragraph movement from clobbering search

Avoids unwanted highlighting and messing with the search register.

20 months agofeat(vim): improve transaction jumping in ledger files
Greg Hurrell [Thu, 20 May 2021 21:33:21 +0000 (23:33 +0200)] 
feat(vim): improve transaction jumping in ledger files

This will work even if there aren't blank lines between transactions,
unlike the default `{`/`}` behavior.

20 months agochore(vim): configure g:ledger_decimal_sep
Greg Hurrell [Thu, 20 May 2021 21:29:41 +0000 (23:29 +0200)] 
chore(vim): configure g:ledger_decimal_sep

In Spain, "," is the decimal separator, not ".".

With this set, we can do things like `:LedgerAlignBuffer` and have it
prettify the entire file.

20 months agofeat(vim): add vim-ledger plugin
Greg Hurrell [Thu, 20 May 2021 21:20:36 +0000 (23:20 +0200)] 
feat(vim): add vim-ledger plugin

See: https://github.com/ledger/vim-ledger

20 months agochore(dotfiles): ease off on i3bar transparency
Greg Hurrell [Thu, 20 May 2021 19:34:52 +0000 (21:34 +0200)] 
chore(dotfiles): ease off on i3bar transparency

Now that I have the bar set to hidden it can appear on top of other
windows. On top of a dark terminal window, the strong transparency looks
great; but on top of a bright Chrome window, it's not too readable. Bump
it up.