Commit graph

71 commits

Author SHA1 Message Date
Aurélien Rainone 64e275a515 tmux: make tests easier to read 2023-04-12 10:06:37 +02:00
Aurélien Rainone 7bac1201bc wip 2023-04-09 12:21:13 +02:00
Aurélien Rainone 3e552aaf8f
README.md: fix badges 2023-04-06 00:18:12 +02:00
Aurélien Rainone 62b966b221
Reset fb and bg to default at the end of the output (#96)
Fix #95
2023-04-05 19:17:12 +02:00
Josh Medeski 25d89f7df9
fix: only render if hideClean is false and there are stashes (#93)
* fix: only render if hideClean is false and there are stashes

* fix: test
2023-03-22 16:34:45 +01:00
Josh Medeski 395d66dcc3
feat: separate layout items with spaces (#91)
* feat: separate layout items with spaces

* docs: update layout example

* fix: add space after stash

* feat: add trailing space to stats component

* feat: add trailing space to clean section

* test: trailing spaces on all components

* Remove bytes.Buffer, status functions return strings

* Take care of elements spacing in format()

* Fix spacing in default config

---------

Co-authored-by: Aurélien Rainone <aurelien.rainone@gmail.com>
2023-03-22 14:08:19 +01:00
Josh Medeski 2d1c132ecf
feat: adds option to hide clean flag (#92)
* feat: adds option to hide clean flag

* test: hide clean option

* test: options true and false

* docs: add hide_clean to README

* fix: whitespace in yml example
2023-03-16 17:54:35 +01:00
Aurélien Rainone 595c9fde2f
Issue 82/comment default config (#87)
* Remove _ prefix to variables

* Update README.md: align with default config

* -printcfg shows commented configuration

* Remove unused formater.go

* Move config-related in config.go

* tmux: remove DefaultCfg variable

The default configuration is now defined in an embedded file
with comments.

Fixes #82
2023-02-18 02:39:56 +01:00
Aurélien Rainone 4decaa8885
ci: Only publish if tests pass (#86)
* ci: Only publish if tests pass

* Cosmetics
2023-02-18 01:17:19 +01:00
Aurélien Rainone 2f7b93a487
Issue 60/ellipsis (#85)
* Add Ellipsis option, defaults to …

* Modify Test_truncate

* Change default layout (remove .. between branch and remote)

* README.md format

* README.md: document ellipsis

Fixes #60

* Update golden file and fix tests

Since the default config has changed the golden file must be
updated.
2023-02-16 10:09:23 +01:00
Aurélien Rainone 1606e240f4
Issue 77/count insertions deletions (#83)
* tmux: cosmetics

* bump gitstatus to v0.6.0

* testscript: set TestWork to true

* Add Insertions/Deletions to Symbols and Styles

* Show insertions/deletions if 'stats' is in the layout

* Add Test_stats

* Update README.md
2023-02-15 23:27:15 +01:00
Aurélien Rainone 9dc9823172
Update README.md 2023-02-13 08:45:45 +01:00
Aurélien Rainone 936e72be38
Update README.md 2023-02-11 15:41:23 +01:00
Aurélien Rainone efd7cb90f1 Update README.md 2023-02-11 15:38:39 +01:00
Aurélien Rainone e76504fef7
Brew tap (#81)
* cd: use gorelease --clean instead of --rm-dist

* cd: check brew tap has been installed after a release

* README.md: update ci/cd workflow badges

* README.md: add brew tap to install section

Closes #52
2023-02-11 15:31:41 +01:00
Aurélien Rainone 794f960018
Fix goreleaser token (#80) 2023-02-11 01:09:52 +01:00
Aurélien Rainone 23bdcb6ba4
Issue 78/homebrew (#79)
* .github: rename workflows to ci, cd and release

* .goreleaser: fix deprecation notices

* Goreleaser publishes tap to homebrew-arl

* .github: bump github-actions and go version to 1.20.x
2023-02-11 00:38:53 +01:00
Aurélien Rainone de215c3854
Add FUNDING.yml (#75) 2022-10-07 15:11:35 +02:00
Robin Candau bf5e8d22ef
Update README.md (#73)
Added the AUR packages installation info
2022-09-15 13:47:45 +02:00
Aurélien Rainone 619f2a5ad3
goreleaser: add license+readme to archives (#72)
Fixes #71
2022-09-15 11:36:58 +02:00
Aurélien Rainone 070552e334
Update README.md 2022-09-04 20:37:25 +02:00
A2n 055e87f5eb
Update README.md (#70)
* Update README.md

Updated the README with clearer information: 

- an information about the refresh time -- I almost created a bug, because I'm a beginner on tmux and I didn't know this variable; so I think that an informative line about this can be useful
- a modification of an example that I didn't find necessarily clear because it didn't use the same context as the example given in the "Getting started" section

* Update README.md

Improve the line about status-interval
2022-09-04 19:48:02 +02:00
Julian Torres 9f9de9bb38
Update README for installing with Go (#68)
* Update README for installing with Go

On Go 1.17, `go get -u` as a method os installation locally was deprecated, and on 1.18 it completely fails to run. Switching to `go install github.com/arl/gitmux@latest` works as expected on 1.16+
2022-06-09 22:18:01 +02:00
Aurélien Rainone d79bab3906
Decouple stash entries from clean flag (#67)
Since now the clean flag is indepdendent from the number of
stashed entries, we need to show the stash count, even if the
working tree is clean.

Fix #66
2022-03-18 20:06:53 +01:00
Aurélien Rainone 22e1642285
Code gardening (#65)
* Use flag.Duration instead roll-your-own duration

* Remove deprecated cli flags (-q and --fmt)

* parseOptions returns context cancellation function

* In config_test.go do not import embed package anymore

* Cosmetics

* Cosmetics
2022-03-11 12:46:38 +01:00
Aurélien Rainone 6031fc2b0d
Improve testing (#64)
* Update gitstatus to v0.5.1

Fixes #63

* Use testscript for end-to-end test of gitmux output
2022-03-11 12:39:22 +01:00
Aurélien Rainone cd50b54ade
go.mod: upgrade to gitstatus@v0.4.4 (#62)
Closes #61
2022-02-21 22:22:31 +01:00
Aurélien Rainone 7986e6b6d2
Update README.md 2022-01-23 17:40:04 +01:00
Aurélien Rainone e614142f54
Issue 58/trim branch name right or left (#59)
* Bump gopkg.in/yaml v2 -> v3

* Add branch_trim_direction (default to right)

* tmux: remove Formater.remote()

Formater.remote() is just remoteBranch() followed by divergence()

* tmux: implement and test branch_trim_direction (left|right)

* tmux: s/BranchTrimDirection/BranchTrim

* README.md: update and add branch_trim

* tmux: remove dependency to testify

* tmux: use io.Discard in test
2022-01-23 17:36:31 +01:00
Aurélien Rainone 98d8874553
format: remove empty package (#57) 2021-10-15 12:20:20 +02:00
Aurélien Rainone f0f9c7aa15 Update README.md: fix typo 2021-09-25 16:27:25 +02:00
Aurélien Rainone c43cc4ce04
Issue 53/divergence style (#54)
Print Divergence style before behind/ahead count

Fixes #53
2021-09-25 07:15:11 -07:00
Aurélien Rainone 9102751c0b
CI: replace travis with GitHub actions (#56)
Fixes #55

* .travis: run tests with go1.17.x

* go.{mod,sum}: bump dependencies

* .gitignore: add dist/

* ci: run test on github-action

* ci: goreleaser runs on github action
2021-09-25 16:07:49 +02:00
Aurélien Rainone 8703c0d545
Update README.md
Add link to solution solution without pane_current_path. 
Fixes #19
2021-08-07 11:49:39 +02:00
Blaok 3e537ea740
Update README.md (#46) 2020-09-21 07:31:36 +02:00
Blaok 1d5e54efa4
Make clear style configurable (#45) 2020-09-21 00:07:33 +02:00
Aurélien Rainone 3983d85658
Issue 37/second try (#42)
* Bump gitstatus to v0.4.3 (NewWithContext)

* Pass -timeout as ctx to gitstatus.NewWithContext
2020-09-02 15:25:59 +02:00
Aurélien Rainone 67343b2978 gh: add pull request template 2020-09-02 03:12:20 +02:00
Aurélien Rainone 4add6c410e gh: improve issue templates 2020-09-02 03:04:57 +02:00
Aurélien Rainone 9d5e668002
Update issue templates (#40) 2020-09-02 02:56:48 +02:00
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