37 Commits

Author SHA1 Message Date
Henry Hsieh
059e88e9dc feat: add windows-list to allow custom window candidates (#70)
* feat: add windows-list to allow custom window candidates

* fix: always check focusable window
2024-04-21 10:19:37 +03:30
yehuohan
64184f6792 refactor: add jump_target_generator 2023-11-08 17:21:22 +00:00
yehuohan
396d755816 refactor: add clip_line_context 2023-11-08 17:21:22 +00:00
mohsen
ef78b32ef3 fix: include cursor column when dimming before cursor 2023-11-08 17:21:22 +00:00
yehuohan
fa89b3a6d6 fix: take the first folded line as an empty line 2023-11-08 17:21:22 +00:00
yehuohan
2a9bc73808 refactor: compute unmatched area with LineRange and ColumnRange 2023-11-08 17:21:22 +00:00
mohsen
a1cfb6d1c1 refactor: minor edits 2023-11-08 17:21:22 +00:00
yehuohan
ae5e9128be refactor: add WindowRow,WindowCol,WindowCell and WindowChar to make position computation less confused 2023-11-08 17:21:22 +00:00
yehuohan
ccf8e08dcc fix:change windows in multi windows mode only it's necessery (#57)
* fix: call winsaveview with nvim_win_call to avoid switching window cursor

* fix: rename buf_handle and win_handle to be consistent with JumpContext
2023-11-01 17:31:37 +00:00
yehuohan
a75b915955 feat: support match mappings (#51)
* feat: support match mappings

* feat: add testcases for match_mappings

* added farsi mapping

* fix hop vertical

---------

Co-authored-by: mohsen <smoka7@hotmail.com>
2023-10-30 05:54:29 +00:00
mohsen
2d80315010 fix: fix invalid col for before cursor (#35) 2023-08-23 07:29:20 +00:00
mohsen
877e175669 fix: fix invalid col on empty lines (#33) 2023-08-19 06:46:52 +00:00
mohsen
0b250bf412 fix:don't get current char when searching after cursor 2023-08-16 21:57:06 +03:30
mohsen
31e0e42e62 refactor!: fix lint errors (#17)
* refactor!: fix lint errors
update deprecated api calls

* refactor!: update minimum nvim version to 9.0
2023-06-22 10:27:28 +00:00
mohsen
0569092d44 fix: out of range on empty lines (#16) 2023-06-21 18:56:11 +00:00
mohsen
a29ac72227 fix:do not hint current char 2023-06-12 20:13:26 +03:30
mohsen
325ac2f34e refactor:cleanup window context 2023-06-12 12:34:49 +03:30
mohsen
e901f60d2f refactor:added type annotation and minor refactors 2023-06-08 18:21:15 +03:30
mohsen
32866676c7 feat:add a config option for user to control dimming unmatched areas 2023-06-07 17:50:50 +03:30
mohsen
ba390f2ee5 chore:added stylua config 2023-06-07 10:22:48 +03:30
mohsen
c35ee631aa Merge branch 'fix-invalid-window-id' 2023-06-07 10:07:45 +03:30
Kamil Dydo
242322b361 check if window is valid and not floating before labeling 2022-11-10 02:15:53 +01:00
yehuohan
65ce506384 Add excluded_filetypes to avoid invalid windows and buffers 2022-10-16 00:53:24 +08:00
aznhe21
6ed29f1c2d Fix incorrect behavior in multi-byte chars 2022-09-14 14:31:46 +09:00
ii14
da3affb1dc fix: fix "col value outside range" error
getcurpos()'s curswant refers to the _preferred_ column, and it
signifies to what column the cursor should get back to after moving over
empty or shorter lines. It does not refer to the actual cursor position,
and cannot be used here because it can report a column that does not
actually exist on the current line.

virtcol() would be more correct, as it reports the actual column.
However, it counts hard tabs as their screen width, could still cause
out of range errors.

Instead get the current line up to the cursor and calculate the column
with strwidth().

Fixes #261
2022-07-10 00:50:40 +02:00
Dimitri Sabadie
0b454bd66f Merge pull request #248 from gerazov/unicode_cursor_location_fix
Unicode cursor location fix
2022-06-21 10:36:33 +02:00
Dimitri Sabadie
03675eba34 Merge pull request #234 from yehuohan/multi-windows-fix
Fixs for multi-windows
2022-06-09 12:32:53 +02:00
Branislav Gerazov
d0b8baedda delete print debug line 2022-06-06 00:07:09 +02:00
Branislav Gerazov
a72fb10dca use getcurpos instead of nvim_win_get_cursor to get virtcol for unicode 2022-06-05 23:58:37 +02:00
Felipe Lema
53612b6386 fix #237
`line` & `column` are repeated (thx, sumneko lua lsp)
2022-04-29 16:24:21 -04:00
yehuohan
8738217d6f fix: switch to the window at the start of window_context() to get correct win_view 2022-04-27 00:25:12 +08:00
yehuohan
3659a86bcb fix: skip foldline's targets 2022-04-25 14:08:09 +02:00
Dimitri Sabadie
17f67f7a3d Fix current_line_only bug.
This was introduced in #205. The way window contexts are passed around
was altered (the get_window_context() function doesn’t return the
context immediately but now returns every contexts right away, unless a
flag is passed — multi_windows = false or nil).

Also, I realized why fixing that bug that opts.multi_windows and
opts.current_line_only are unsound used together. I don’t block the
behavior (yet? it’s weird) but I notify the user not to do that.

Fixes #214. Relates and probably fixes #213 as well.
2022-01-09 18:07:03 +01:00
yehuohan
f37e36d662 Add multi_windows support 2021-12-19 01:08:55 +08:00
Dimitri Sabadie
8af1839f1a Fix dimming for current_line_only. 2021-10-31 18:02:11 +01:00
Dimitri Sabadie
bb4ef4ce84 Move out window clipping from get_window_context.
It now lives in hop.window.clip_window_context.
2021-10-31 12:00:17 +01:00
Dimitri Sabadie
055cf45090 Extract window context in window mod & cleanup. 2021-10-26 11:36:09 +02:00