Commit graph

31 commits

Author SHA1 Message Date
Aurélien Rainone 15e791b5fb
Fix use of clear (#39)
* format/tmux: fix usage of tmux #fg=default string

Tmux format string `#fg=default` clears the foreground and is used
before applying styles to the elements of the gitmux format string.

Now, we only call `clear()` before an element that is actually being
printed.
Also we call `clear()` before printing non-keywords strings appearing in
`Config.Layout`.

Fix tests

* Update non-regression golden file
2020-09-02 02:47:02 +02:00
Aurélien Rainone 06654727b5
Issue 32/branch format (#38)
* format/tmux: add failing test for issue 32

As exposed in the added failing test, reproducing the issue 32, the
branch style only affect the branch symbol whereas it should affect both
affect the symbol and the branch name.

* format/tmux: branch style now affects both branch symbol+name

Fixes #32

* Fix tests and adapt for new behavior
2020-09-02 02:37:38 +02:00
Aurélien Rainone 845f4165fe
Add -timeout option (#37)
`-timeout DUR` simply exist `gitmux` is it still running after DUR
amount of time.
DUR is parsed as a time.Duration with the special exception that 0
means no timeout.
Defaults to 0 = _no timeout_

Closes #35
2020-09-01 23:13:42 +02:00
Aurélien Rainone 247481f189
Linting (#36)
* lint: cosmetics

* lint: rename global variables

* gofmt

* lint: unchecked error

* lint: errcheck

* lint: cosmetics

* Specialize 'run' function to run 'git'
2020-09-01 23:01:30 +02:00
Aurélien Rainone 59b3b290a9
Update README.md 2020-08-12 17:53:23 +02:00
Aurélien Rainone d20527afab
Remove darwin/386 and all 32-bit arm platforms (#34)
* goreleaser: remove darwin/386 support

* travis: build on go 1.15.x

* goreleaser: remove arm support (32-bit)
2020-08-12 17:44:27 +02:00
cdelledonne 75a5b9e615
Add option to truncate long branch names (#31)
* Add option to truncate long branch names

* Update unit tests
2020-07-28 07:48:12 +02:00
Aurélien Rainone d06ff11990 Update README 2020-06-09 19:11:25 +02:00
Aurélien Rainone e2693a76b3
Update README.md 2020-06-07 20:46:34 +02:00
Aurélien Rainone c0b7b03325
Breakdown remote component (#27)
* Cosmetics

* Add TestOutputNonRegression

This test ensures that new features do not change gitmux output
when used with a default configuration.
It loads a golden file ('testdata/default.output.golden') and
compares it with the actual output. -update updates the golden
file.

* format/tmux: breakdown `remote` into `remote-flags`+`divergence`

Currently the `remote` flags gets replaced by both the name of the
remote (e.g `origin`) and the divergence flags indicating whether the
local and the remote branch diverges and how much (e.g `↓·2↑·3`).

In order to allow user to skip the remote branch and to keep the
divergence flags, or the other way around, we add the `remote-branch` and
the `divergence` layout elements.

Also, to not break user configurations, we keep the 'remote' layout
element, and make it so that it's equivalent to setting `remote-flags`
and `divergence` consecutively.

Fixes #23

* format/tmux: replace `remote` with `branch+divergence` in default config

* Update README.md: improve the customizing section

Improve the Customizing section of the README
2020-06-07 20:07:02 +02:00
Aurélien Rainone 5ef17f15a7
format/tmux: add missing spaces after symbols (#25)
The 'staged' and 'untracked' symbols are both missing a trailing
space in the default configuration. With some fixed fonts (for
instance the stock Ubuntu font) this makes difficult to discern
between the symbol and the number following it.

Fixes #24
2020-06-07 12:58:05 +02:00
Aurélien Rainone 22666069c0 goreleaser: drop freebsd releases 2020-04-21 09:04:42 +02:00
Salar Khan 9846b104da
allow flexible display for output format of git status (#21)
* changes from casonadams:
- added options in cfg file to show or hide remote information
- Consider possibility to choose/reorder/remove the info shown #14 fix
- updated test cases to accomidate changes to code base
- better docs, added second delm option, more flexible formatting
- fixed tests to run on travis CI
- fixed tests to run on travis CI
- adding README info for cfg options in dynamic layout output
- making display output not break if missing, plus making spacing strings more flexible
- adding usage in READ around display features
- fixed typo in README

* changes from salarkhan
- match string exactly, remove regexp
- don't call git, create a synthetic status to compare against
- use "Symbol-Thing" instead of the actual symbols, in case they change
- note that divergence is coupled to remote. maybe these should be split
- add empty test case
- no need to have a test for every single permutation, one example should suffice

* display -> layout

Co-authored-by: Cason Adams <casonadams@gmail.com>
2020-04-13 08:04:30 +02:00
Aurélien Rainone a2244005d4
Update README with "#{pane_current_path}" (#18)
Fixes #17
2020-02-12 22:44:24 +01:00
Aurélien Rainone 57f0f80cf0
Fix error check function (#15)
When current directory was not a Git working tree, git command
were failing, as expected. But a recent commit made a change in
the error check function, and the program was not exit anymore in
the event of an error. Instead it was continuing with a bogus
gitstatus varriable, leading to panics. Unless running in -dbg
mode, those panic had no effect whatsoever and gitmux was usable
as before. It's just that the program was silently crashing
instead of silently terminating.
2020-01-06 19:09:25 +01:00
Aurélien Rainone d826bfc431
Update README.md (#13)
* .github: add ISSUE_TEMPLATE.md

* Update README.md

Fixes #3

* Improve README
2020-01-06 18:51:00 +01:00
Aurélien Rainone 590623c50c
Update README.md 2019-12-25 16:05:07 +01:00
Aurélien Rainone d9fc3d3d9e
Sensible defaults (#11)
* Change default options to more sensible ones

Remove `-quiet` and `-fmt` option, replace them with `-dbg` since they
were only meant to be used if something went wrong.

* In debug mod, prints errors on stderr

* cosmetics

* Keep -q -fmt deprecated/unused options

* Improve README.md
2019-12-24 01:05:17 +01:00
Aurélien Rainone e407770624 update go.sum 2019-12-17 10:56:22 +01:00
Aurélien Rainone d424275b8e Update README 2019-12-17 10:44:19 +01:00
Aurélien Rainone 5282f487a0
Issue 9/add git no optional lock (#10)
* Update README.md

s/GiTmux/Gitmux

* Bump gitstatus

By bumping gitstatus to v0.4.2 we're now calling git with
GIT_OPTIONAL_LOCKS set to 0, ensuring gitstatus does not lock the
working tree for its operations, effectively giving higher
priority to user-initiated operations. This is useful when gitmux
is run in the background.

Fixes #9
2019-12-17 10:12:45 +01:00
Aurélien Rainone 704dbffbd7 ci: cache downloaded go modules 2019-11-07 10:08:59 +01:00
Aurélien Rainone 9fbf088b0a README: fix badges 2019-11-07 10:06:18 +01:00
Aurélien Rainone 97c13d81ff releases: place only the binary in the archives
archives were created with LICENSE and README.md alongside the gitmux
binary, requiring an extra step for installation in the user's `$PATH`
2019-11-07 10:03:30 +01:00
Aurélien Rainone 8086075405 releases: build on 386 arch 2019-11-07 10:03:15 +01:00
Aurélien Rainone da3b350ef9 releases: remove -next version suffix
Fixes #5
2019-11-07 10:02:40 +01:00
Aurélien Rainone 6f1a6ec93f Update to gitstatus@v0.4.1 (#4)
* Moves functions to main.go

* format: add and use package

* ci: use latest Go minor
2019-11-06 23:13:46 +01:00
Aurélien Rainone ffafab15e2 Update README.md 2019-11-06 23:13:46 +01:00
Aurélien Rainone c342dee476 Auto releases (#1)
* Add README.md

* Add gitmux -V option

* Setup travis-ci and goreleaser
2019-10-28 13:28:01 +01:00
Aurélien Rainone d0f6255a1f Initial version 2019-10-28 08:45:14 +01:00
Aurélien Rainone 6c470f62e6
Initial commit 2019-10-28 08:38:41 +01:00