a7c19f3a60
fix: move reflow message to Editor.reflow
...
We don't want to display the log message when reflow is used internally.
For example by the info_view.
2026-02-18 16:11:52 +01:00
4fcde7b861
fix: scroll_cursor_min_border_distance should always be read from config
...
And fix an off-by-one issue causing the distance at the bottom of the view
to be one line less than the top.
close #506
2026-02-18 14:14:47 +01:00
a81f5c61d0
refactor: de-duplicate utf8_write_transform & utf8_partial_write_transform
2026-02-15 21:52:58 +01:00
7471848ef2
fix: switch_case does nothing if there are non-cased chars in range
2026-02-15 21:52:29 +01:00
414668c4cd
refactor: add Editor.get_vcs_blame
2026-02-12 14:00:22 +01:00
7cda28adde
fix: do not insert EOL CR chars in Buffer.insert_chars
2026-02-12 10:38:36 +01:00
da8677357f
feat: preserve paragraphs when reflowing
2026-02-06 14:40:28 +01:00
c0107e32e0
feat: add retain_symlinks option to enable writing files through links (default: true)
2026-02-06 14:04:53 +01:00
74d033cb72
refactor: remove some spammy debug logs in Buffer cache
2026-02-03 11:32:34 +01:00
ed69048e91
refactor: add document plain text caching to Buffer
2026-02-02 21:33:52 +01:00
111e9dbe1f
refactor: add Buffer.Node.Ref type
2026-02-02 21:31:33 +01:00
cdfa463ce7
fix: reflow should add whitespace to line length calculation
2026-02-02 12:11:31 +01:00
7b6e75cc9d
feat: log effective reflow width
2026-02-02 12:11:00 +01:00
919c87e988
fix: ignore blank lines in reflow prefix detection
2026-02-02 11:45:06 +01:00
f55885c48e
fix: ignore/preserve trailing new line in reflow input
2026-02-02 11:44:39 +01:00
0251d783bf
fix: always place at least one word on each line in reflow
2026-02-01 20:48:42 +01:00
d07389b8ee
fix: wrong prefix for single line reflows
2026-02-01 20:00:01 +01:00
9c4f30c4ee
fix: reflow width is off by one
2026-02-01 19:52:01 +01:00
4803daec3e
fix: make reflow wrap *before* width limit, not after it
2026-02-01 19:48:03 +01:00
281b9e47a1
refactor: add reflow support for markdown list entries
2026-01-31 22:31:16 +01:00
6adc0b5887
feat: add basic reflow command and keybind (alt+q)
2026-01-31 22:11:53 +01:00
7d1809ba57
refactor: switch git blame to incremental output mode
...
Also, move blame parser and related structures to a new module VcsBlame.
This includes a full parser re-write to take advantage of the slightly
more efficient incremental output format.
2026-01-26 22:31:18 +01:00
Miguel Granero
90a817066a
feat: add git blame with inline display (wip)
2026-01-26 22:31:18 +01:00
2ee92d2548
refactor: move TypedInt to a module
2026-01-22 15:34:19 +01:00
6d86807e21
refactor: improve type safety of Buffer.Ref values in messages
2026-01-22 15:12:57 +01:00
9b02a8f6e9
refactor: use enum type for buffer references
2026-01-22 14:32:44 +01:00
94e6965ad0
refactor: add Buffer.last_view field
2026-01-14 20:15:59 +01:00
a53ef127ec
feat: add fast_scroll mode support to horizontal scrolling
...
Also, bump the basic scroll step to 5 columns like other editors.
2026-01-14 11:09:42 +01:00
25d5f80a4c
refactor: drop all c_(u)int usage in Plane
...
The use of c_int and c_uint comes from the days when flow supported
building agains notcurses has a c API.
2026-01-13 12:44:40 +01:00
6b4549f400
refactor: add View.clam_offset
2025-12-26 22:47:51 +01:00
12159edfcf
refactor: add Buffer.delete_range_char function
2025-12-21 20:57:46 +01:00
d08749123f
refactor: make Buffer.get_vcs_id and Buffer.get_vcs_content const
2025-12-17 22:00:01 +01:00
2a3210a183
refactor: store received vcs_id and vcs_content in buffer
2025-12-17 21:12:02 +01:00
0143a7148a
refactor: add vcs_id and vcs_content fields to Buffer
2025-12-15 20:41:36 +01:00
891b80e5bb
fix: case fold find pattern in find_all_ranges mode .case_folded
2025-11-26 12:48:29 +01:00
74e7406034
fix: guarantee progress in find_all_ranges when pattern is shorter than a utf8 sequence
2025-11-26 10:22:04 +01:00
99f9f95dbc
fix: use a partial write capable case folding writer in Buffer.find_all_ranges
...
This fixes case insensitive search. Previously the case folding would fail on
input slices that contain partial utf8 sequences, which is normal in the
buffer write process design. Now these partial utf8 sequences are not consumed
and instead pushed to the next write call where they will be completed from the
main buffer contents.
2025-11-26 09:56:39 +01:00
68b17301cd
refactor: use unchecked Utf8View in utf8 transformation
...
Internally we use only validated utf8 and unchecked performs much better
and reduces unused error values.
2025-11-26 09:33:04 +01:00
abee93d366
refactor: add unicode.is_lowercase
2025-11-25 22:35:14 +01:00
64d95ee009
refactor: move FindMode to Buffer
2025-11-25 21:50:36 +01:00
3ebe68a384
refactor: implement find_all_ranges mode .case_folded
2025-11-25 21:43:12 +01:00
37428bd698
refactor: add unicode.case_folded_write
2025-11-25 21:42:51 +01:00
e35a0555f1
feat: port to_upper and to_lower to uucode
2025-11-25 21:14:59 +01:00
2ff0521040
refactor: move all zg LetterCasing usage to Buffer.unicode
2025-11-25 17:16:53 +01:00
86ec27893d
feat: implement case insensitive search (part 1)
2025-11-25 15:53:12 +01:00
4a0150d68f
refactor: add Cursor.from_pos and Seleciton.from_range
...
And use them to clean-up all root.pos_to_width call sites.
2025-11-25 14:37:05 +01:00
be41027d75
refactor: make Selection.from_pos infallible
2025-11-25 13:32:31 +01:00
8b9cc87cab
fix: add back german quotes to char_pairs
2025-11-18 10:55:36 +01:00
Igor Támara
b4b44ec906
refactor: additional characters for smart_insert
2025-11-18 10:50:47 +01:00
Igor Támara
56ea0138a5
feat: goto_bracket goes to the pair bracket under cursor
...
Uses simple matching nesting, as a complement to tree-sitter approach.
Flow mode shorcut ctrl+shit+\ ala Code
2025-11-17 18:43:42 +01:00