Our startup time on my desktop machine is about 200ms, and I think we
pay most of that just importing modules before main even starts running.
So we're nowhere close to `git status`. That said, our *variable*
overhead should be comparable. Tweak our wording to that effect.
Summary:
This makes the plugin interface easier to understand. There are lots of
instances where we still use "fetch" to describe what's going on, but
this diff at least gets all the meaningful constants in the interface.
Reviewers: sean
Reviewed By: sean
Subscribers: sean
Differential Revision: https://phabricator.buildinspace.com/D170
Summary:
Doing tar and zip unpacking looks like it's going to need temporary
files. We could expect plugins to use the global temp dir, but so far
we've been trying to avoid that. @sean let me know what you think.
Reviewers: sean
Reviewed By: sean
Subscribers: sean
Differential Revision: https://phabricator.buildinspace.com/D153
Summary:
Add search directories for plugins. On Linux/Mac we use:
1. `$XDG_CONFIG_HOME/peru/plugins`
2. `/usr/local/lib/peru/plugins`
3. `/usr/lib/peru/plugins`
And on Windows it's:
1. `%LOCALAPPDATA%\peru\plugins`
2. `%PROGRAMFILES%\peru\plugins`
Get rid of the old rule that says you can't override existing plugins --
that was from back when we allowed individual projects to provide their
own plugins, which we no longer do.
Test Plan:
We had some old testing logic for custom plugin paths, even though that
feature had been mostly removed. Repurpose that test to load plugins
from a fake home directory. Manually test on Windows.
Reviewers: sean
Reviewed By: sean
Differential Revision: https://phabricator.buildinspace.com/D141
Summary:
A first shot at documenting how peru works internally, particularly the
plugin interface.
Reviewers: sean
Reviewed By: sean
Differential Revision: https://phabricator.buildinspace.com/D139
Summary:
Also tweak wording in a couple places, and delete the stub manpage until
we decide to flesh it out.
The gif was generated from my https://github.com/oconnor663/dotfiles
repo using ffmpeg and convert (imagemagick). The relevant commands were:
```
ffmpeg -y -framerate 10 -video_size 602x338 -f x11grab -i :0.0+54,207 \
-preset ultrafast -qp 0 out.mkv
ffmpeg -i out.mkv frame%04d.png
convert -delay 10 frame*.png -layers OptimizeFrame out.gif
```
- I used `xwininfo` to grab the dimensions info for the first command. I
also subtracted the width of the scrollbar, measured with a screenshot
in Gimp.
- The `-y` flag automatically says yes when prompted to overwrite an
existing video file (this seemingly optional flag actually avoids a
nasty bug: https://trac.ffmpeg.org/ticket/3989).
- `-qp 0` makes sure the video is recorded losslessly.
- `-preset ultrafast` skips most compression, to take load off the CPU,
since we're recording in real time.
- `-layers OptimizeFrame` does some very clever gif magic to remove
duplicate pixels between frames, which shrinks our gif by ~4x.
Reviewers: sean
Differential Revision: https://phabricator.buildinspace.com/D102