UnsaltedScholar
255f2fcaea
Add backtick textobject actions
2026-04-15 12:51:03 +02:00
8adab79d53
feat: auto detect indent size when loading buffers
...
closes #536
2026-04-14 23:55:44 +02:00
0dc1774336
feat: add toggle_gutter_diffs command and gutter_diffs config option
...
closes #533
2026-04-14 23:28:04 +02:00
a35fc00f31
feat: improve rendering of tabs in filelist_view
...
closes #530
2026-04-14 23:18:17 +02:00
66ed4a5af4
fix: pull the last line of a file up or down
...
closes #527
2026-04-14 22:56:52 +02:00
UnsaltedScholar
1e7d595309
Add angle bracket textobject actions
2026-04-14 17:10:17 +02:00
1769342e23
feat: preserve file mode and owner on write (if possible)
...
closes #18
2026-04-14 16:40:37 +02:00
2ae8d3048d
refactor: reduce code duplication in case transform functions
2026-04-13 22:40:08 +02:00
c7e6906efd
feat: add toggle_case keybind to flow mode
2026-04-13 22:21:34 +02:00
ce61c1765a
refactor: use changes_when_lowercased consistently in toggle_case
...
switch_case already uses changes_when_lowercased to detect uppercase
characters. toggle_case was using is_lowercase with inverted branch
order, which is functionally equivalent but inconsistent.
2026-04-13 22:21:34 +02:00
Danylo Kondratiev
b2cb003d82
feat: add toggle_case
2026-04-13 22:21:34 +02:00
Danylo Kondratiev
d7c02f0700
refactor: add helper function get_selection_or_select_word
2026-04-13 21:24:06 +02:00
Ingo Lohmar
5d7323bfe7
args for scroll_{up,down,left,right}; scroll_step_vertical only for mouse
2026-04-13 20:02:51 +02:00
Ingo Lohmar
00abd90cd5
add scroll_{up,down} commands
2026-04-13 20:02:51 +02:00
Ingo Lohmar
5871583cba
[BREAKING] drop misleading move_ from scroll_{left,right}
...
This might break existing custom keybindings, so we mark it BREAKING for
the release notes.
2026-04-13 20:02:51 +02:00
16377e3700
fix: surround add overshoots end cursor on multi-row selections
2026-04-13 19:32:01 +02:00
34d99a17d5
fix: use buf_for_update consistently in helix mode
2026-04-13 19:28:43 +02:00
Igor Támara
157e1ba7d3
feat: [hx] surround add
2026-04-13 19:09:46 +02:00
afeca37f10
fix: quote textobject selects wrong pair when cursor is on closing quote
2026-04-13 19:05:04 +02:00
UnsaltedScholar
76cc8260bb
Add quote textobject actions
2026-04-13 19:05:04 +02:00
Ryan Mehri
763935912f
fix: incorrect clamping on highlight ranges
2026-04-13 16:53:39 +02:00
37bbb17da6
feat: add palette_placement config option
2026-04-12 22:22:53 +02:00
cfe6ba8c6b
fix: correctly handle vaxis.Key.multicodepoint in bracketed paste
...
closes #552
2026-04-12 18:06:27 +02:00
9a940eb7a4
feat: add support for fuzzy finding into git submodules
2026-04-11 15:57:27 +02:00
51753cc87a
feat: add restore_last_cursor_position_exclusions config option
...
Defaults to just COMMIT_EDITMSG
2026-04-03 18:06:03 +02:00
cf7fc6af54
fix: allow loading custom theme files up to 512Kb in size
...
closes #544
2026-03-31 20:58:54 +02:00
310221bb26
feat: support adding entirely new themes via the config
2026-03-31 20:58:00 +02:00
d53d155c6d
feat: add V language support
...
closes #509
2026-03-31 14:03:18 +02:00
Paul Graydon
ce7cc48a72
feat: [vim] Add bracket textobject actions
2026-03-31 10:07:55 +02:00
Paul Graydon
ba840b72e0
feat: [vim] Add word textobject actions
2026-03-31 10:07:55 +02:00
a782bfb690
fix: don't filter super, hyper and meta modifiers for no reason
...
This filter was introduced to ignore caps lock, scroll lock and num lock
modifier bits. super, hyper and meta might actually be useful though.
2026-03-28 14:48:07 +01:00
f61c716c27
feat: configure default markdown formatter to reflow at reflow_width
2026-03-26 09:39:06 +01:00
e930effa0c
feat: add {{reflow_width}} expansion
2026-03-26 09:38:28 +01:00
Volodia Kraplich
7f07f544c9
feat(lsp): support toml
2026-03-25 12:34:52 +01:00
84a45810a6
fix(lsp): fallback to sorting completions by label for LSPs that don't return unique sortText
2026-03-25 12:30:44 +01:00
JailBird
561124e667
Add formatter for YAML and LSP for YAML and RPM .spec
2026-03-25 09:10:48 +01:00
Ingo Lohmar
9df7a13934
feat: 0-based status line column
...
Optional fifth entry in bottom_bar "linenumber" widget: If literally "true",
display column 0-based (instead of 1-based) a la Emacs.
2026-03-24 15:30:32 +01:00
Miguel Granero
742e70a670
feat: change base path of git blame for subrepo support
2026-03-24 14:02:54 +01:00
edwloef
c0e315495c
invert priorities in file type guess
2026-03-24 13:56:25 +01:00
11d0e9e7e3
fix: avoid dangling Project pointer crash in LSP and git handlers
2026-03-23 13:09:19 +01:00
a5df57f824
fix: sort filelist items
2026-03-17 22:27:35 +01:00
c93f829cd5
fix: sort files in each directory of the file tree
2026-03-17 22:21:42 +01:00
22ed9a32d7
fix(symbol_palette): add indent to match highlights
2026-03-17 22:11:45 +01:00
Igor Támara
3a16d7fe50
Add indentation according to depth in symbol palette
2026-03-13 13:32:25 -05:00
1cf22db498
fix: reset hover on focus_out events
2026-02-23 21:51:05 +01:00
4cbd8fbde3
fix: prevent endless looping on tab bar widget updates
...
Now that Widget addresses do not have to be stable we can greatly simplfy
and in the process eliminate the potential for update looping.
The closes #520
2026-02-23 21:48:41 +01:00
cdd6fee9d6
refactor: compare widgets via the .ptr memeber instead of via their addresses
...
Widget is a handle type. Sort of a smart pointer. Comparing their addresses
is brittle because it requires keeping Widget pointers stable. This is
nonsense because Widget identity is actually determined by the actual
widget object it points to.
This big refactor elimits the requirement that Widget addresses remain
stable to work properly with Widget.walk and Widget.get.
2026-02-23 21:44:24 +01:00
xoxorwr
2266c92eab
word left stops before newline when moved from other line
2026-02-22 08:42:21 +01:00
xoxorwr
523f08c281
Move right stops at last character
2026-02-21 23:28:24 +01:00
xoxorwr
2d55a3a843
ctrl+del stops before end of line
2026-02-21 21:50:19 +01:00