Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement basic tab completion support | Gregory Mullen | 2019-06-29 | 1 | -7/+17 |
| | | | | | Tab completion currently only works on commands. Contextual completion will be added in the future. | ||||
* | s/aerc2/aerc/g | Drew DeVault | 2019-05-17 | 1 | -1/+1 |
| | |||||
* | Add initial compose widget | Drew DeVault | 2019-05-12 | 1 | -1/+1 |
| | |||||
* | Refactor ctx stashing out of exline | Drew DeVault | 2019-05-11 | 1 | -8/+2 |
| | |||||
* | Split ex line text handling into dedicated widget | Drew DeVault | 2019-05-11 | 1 | -98/+18 |
| | |||||
* | lib/ui: introduce Invalidatable | Simon Ser | 2019-04-27 | 1 | -7/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many Drawable implementations have their own Invalidate and OnInvalidate functions, with an unexported onInvalidate field. However OnInvalidate and Invalidate are usually not called in the same goroutine. This results in a race on this field, e.g.: Read at 0x00c000094748 by goroutine 7: git.sr.ht/~sircmpwn/aerc2/widgets.NewDirectoryList.func1() /home/simon/src/aerc2/widgets/dirlist.go:85 +0x56 git.sr.ht/~sircmpwn/aerc2/widgets.(*Spinner).Start.func1() /home/simon/src/aerc2/widgets/spinner.go:93 +0x1bb Previous write at 0x00c000094748 by main goroutine: [failed to restore the stack] Goroutine 7 (running) created at: git.sr.ht/~sircmpwn/aerc2/widgets.(*Spinner).Start() /home/simon/src/aerc2/widgets/spinner.go:46 +0x8f git.sr.ht/~sircmpwn/aerc2/widgets.NewDirectoryList() /home/simon/src/aerc2/widgets/dirlist.go:37 +0x286 git.sr.ht/~sircmpwn/aerc2/widgets.NewAccountView() /home/simon/src/aerc2/widgets/account.go:50 +0x5ca git.sr.ht/~sircmpwn/aerc2/widgets.NewAerc() /home/simon/src/aerc2/widgets/aerc.go:60 +0x800 main.main() /home/simon/src/aerc2/aerc.go:65 +0x33e To fix this, introduce a new type, Invalidatable, which protects the field. Unfortunately the Drawable must be passed to the callback function in Invalidate, so we still need to re-implement this in each Invalidatable user. | ||||
* | Add basic terminal widget | Drew DeVault | 2019-03-17 | 1 | -0/+9 |
| | |||||
* | Rig up key bindings | Drew DeVault | 2019-03-15 | 1 | -2/+6 |
| | |||||
* | Implement key bindings subsystem | Drew DeVault | 2019-03-15 | 1 | -4/+2 |
| | | | | Which is not yet rigged up | ||||
* | Add cursor handling in ex line | Drew DeVault | 2019-01-14 | 1 | -3/+9 |
| | |||||
* | Apply gofmt | Drew DeVault | 2018-06-11 | 1 | -3/+3 |
| | |||||
* | switch to tcell from termbox | Markus Ongyerth | 2018-06-01 | 1 | -28/+21 |
| | | | | | | | | | | | | | This is a simple mostly straight forward switch to tcell in favor of termbox. It uses the tcell native api (not the compat layer) but does not make use of most features. Further changes should include moving to tcell's views.TextArea and the general built in widget behaviour instead of the current ad hoc implementation. Regression: Cursor isn't shown in ex-line | ||||
* | Add statusline widget | Drew DeVault | 2018-02-27 | 1 | -5/+14 |
| | |||||
* | Make ex line fully unicode aware | Drew DeVault | 2018-02-27 | 1 | -20/+19 |
| | |||||
* | Split UI library and widgets | Drew DeVault | 2018-02-26 | 1 | -0/+129 |