Commit graph

124 commits

Author SHA1 Message Date
aee7c30c65
feat: display indent mode in status bar 2025-08-08 21:30:42 +02:00
1ebdae310e
feat: save and restore tabbar state 2025-08-08 20:40:00 +02:00
c88e2dd975
fix: don't leak Buffer.file_path 2025-08-05 15:24:18 +02:00
410a6aadce
fix: branch widget: don't call git status if there is no git workspace 2025-08-04 09:47:24 +02:00
Ingo Lohmar
28da270834 harmonize selection display 2025-08-03 18:07:58 +02:00
a5af34e13f feat: select mode widget style "fancy" or "plain" with descriptor arg
"fancy" mode is the previous behaviour and the default. "plain" mode makes the
mode widget use the same styling as other status bar widgets.

Select "plain" mode with a descriptor arg in the config. e.g:

`
bottom_bar "mode:plain file log selection diagnostics keybind branch linenumber clock spacer"
`
2025-08-03 17:53:34 +02:00
Ingo Lohmar
d011294c69 use statusbar.hover style for actual hovering
The style was used for regular display of the style_label instead, which
gives the current keymap/mode weird prominence, and which means that
actual (mouse) hovering needed to use the unrelated "selection" style.

This commit uses the hover style for just hovering, or if a mini mode is
used (which, to me, sounds at least plausible).

For modal-workflow users, it may be more helpful to actually highlight
the mode (sometimes?), but I have no experience with that.
2025-08-03 17:53:34 +02:00
0c98460ca8
refactor: remove duplicate style definition in modestate widget 2025-08-03 17:28:37 +02:00
b97b8e8fb7
feat: auto hide tabs widget if there are less than {n} tabs
This can be configured via an integer argument in the bar widget descriptor, or
via the tab styles configuration file. A value of 0 will effectively disable
auto hide.
2025-08-03 17:08:53 +02:00
dfcc825e4b
feat: auto hide bars with empty widget layouts 2025-08-03 16:17:05 +02:00
31e1e5091b
fix: crash in tabs widget when buffers are destroyed during tab switch 2025-08-02 22:50:11 +02:00
cf6c9455c7
feat: update git status on focus_in events 2025-07-29 17:24:43 +02:00
6f82b4aaf3
feat: refresh branch status on file state change events 2025-07-29 10:29:06 +02:00
a734a008e1
fix: refresh git branch status on project switch 2025-07-29 10:12:15 +02:00
73d118dcee
refactor: reduce event matching overhead in filestate widget 2025-07-29 10:11:16 +02:00
efdad96054
refactor: improve create pattern to avoid leaks 2025-07-19 00:03:30 +02:00
bc2fbec083
refactor: clean-up std.StaticStringMap naming 2025-07-15 13:17:04 +02:00
53ea08a41e
fix: don't truncate scratch buffer names in tabs and terminal title 2025-06-24 12:21:10 +02:00
a33f6c8c2b
feat: add support for ~ expansion to open_file command and file_browser 2025-06-19 16:08:34 +02:00
980529029f
feat(flicker): avoid triggering initial render from branch widget 2025-04-30 18:51:55 +02:00
df11ec3d5f
fix: re-render on branch widget update 2025-04-30 09:24:35 +02:00
e39d9ed4b3
fix: render control codes in mini buffer input with unicode control code symbols
closes #236
2025-04-28 16:46:36 +02:00
c217db02f2
feat: display mini git status in branch widget 2025-04-23 22:28:48 +02:00
4ecf46b527
refactor: make branch widget a Button 2025-04-23 22:28:48 +02:00
b82c582a83
feat: add some whitespace to branch widget 2025-04-22 21:28:09 +02:00
f76085325a
feat: query project files via git (part 1) 2025-04-21 21:43:29 +02:00
a0d0a8273c
feat: check we have a git repo in the branch widget 2025-04-21 18:13:44 +02:00
45574ff5c5
feat: add git branch widget 2025-04-20 22:51:43 +02:00
d594e42f1a
feat: display pending integer argument in keybind widget 2025-04-08 18:04:02 +02:00
3e8faabd9d
feat: add clock widget digit style parameter
May be ascii, digital, subscript or superscript
2025-03-25 21:05:47 +01:00
aa568dfd5e
feat: add status bar widget parameter support with parameters for linenumber and spacer widgets
linenumber widgets may have three parameters: pad width (int), pad value (space/zero) and
digit style (ascii/digital/subscript/superscript). eg `5,zero,digital`

spacers may have one parameter: width (int)
2025-03-25 20:50:11 +01:00
a1b2737c5d
feat: use explicit error handling for all startup errors 2025-03-25 17:24:34 +01:00
1943d65924
Merge branch 'master' into zig-0.14 2025-03-06 17:14:56 +01:00
a5bf57e0e6
feat: add config options to disable scrollbars and/or file icons 2025-03-06 17:11:49 +01:00
dceb433e9e
Merge branch 'master' into zig-0.14 2025-02-28 21:43:10 +01:00
6f5efd2744
fix(tabs): refresh hover on tab changes 2025-02-27 15:53:11 +01:00
53045123c6
build: update to zig 0.14.0-dev.3039 2025-02-04 22:59:18 +01:00
594ea40c4e
feat(tabs): don't update tab styles config on startup
It is updated when calling open_tabs_style_config, so there is no
need to update it on every start.
2025-01-30 14:07:52 +01:00
4cd06e34fb
feat(tabs): add open_tabs_style_config command 2025-01-30 14:06:59 +01:00
2371140b3f
feat(tabs): don't write tab styles config if it doesn't already exist 2025-01-30 13:14:00 +01:00
ae5b528a08
feat(tabs): use more widely available glyphs for tab styling 2025-01-30 12:13:46 +01:00
917462a6e3
feat(tabs): improve tab styling and make tabs user stylable 2025-01-29 20:01:51 +01:00
939537ed84
feat(buffers): add support for ephemeral buffers
Ephemeral buffers are not hidden and kept when closed. Ephemeral buffers
can be turned into regular buffers by saving them with save_as.
2025-01-27 18:59:13 +01:00
0f6be55dbd
refactor: improve usefullness of trace-level 1 2025-01-26 17:01:33 +01:00
43c897141f
feat(tabs): use tabs styles from theme 2025-01-25 21:46:54 +01:00
434025da33
fix(tabs): alpha rendering of inactive tabs 2025-01-25 11:03:12 +01:00
5dd47f7248
feat(tabs): complete tabs widget and next_/previous_tabs 2025-01-24 23:26:41 +01:00
d7b48b40f1
feat(tabs): start work on a tabbar widget 2025-01-23 22:32:08 +01:00
1d947ab499
refactor: improve capsulation and safety of tui module public api 2025-01-23 16:45:04 +01:00
4145460012
refactor: simplify Plane/Widget usage 2025-01-23 16:12:56 +01:00