Commit Graph

11 Commits

Author SHA1 Message Date
Jack O'Connor 631722ee2c stop claiming we're as fast as git status
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.
2016-04-26 12:58:59 -04:00
Jack O'Connor 0856395dc0 add notes about how to release 2015-12-03 01:34:08 -05:00
Jack O'Connor e7b8a3003d comment changes in the make example 2015-09-21 12:11:19 -04:00
Jack O'Connor 8e8c59a486 check in the make examples 2015-09-09 00:01:48 -04:00
Jack O'Connor ab69f020ec rewrite of the README intro
Reviewers: sean

Differential Revision: https://phabricator.buildinspace.com/D212
2015-06-02 23:51:49 -04:00
Jack O'Connor e856b7fc78 use `sync` instead of `fetch` in the plugin interface
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
2015-01-13 17:22:43 -08:00
Jack O'Connor a58c1b6a19 add PERU_PLUGIN_TMP to the plugin interface
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
2015-01-04 17:12:06 -08:00
Jack O'Connor f91dd4c936 support user-defined plugins
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
2014-12-17 14:19:14 -08:00
Jack O'Connor a4305d4518 create docs/architecture.md
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
2014-12-08 10:50:59 -06:00
Jack O'Connor 9a52d94d35 use square boxes, for better font support 2014-12-03 00:14:36 -05:00
Jack O'Connor 4ffcfd9880 update README.md with a snazzy gif!
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
2014-09-30 23:56:05 -07:00