Lucas Pütz
be1953e00e
Fix handling of special keys ( #38 )
4 weeks ago
Iron-E
cbe88095ab
Feat/35/libmodal mode map fn ( #36 )
...
* ref(libmodal): `mode.switch` -> `mode.map.switch`
* feat(libmodal): `mode.map.fn`
* docs(libmodal): `libmodal.mode.map.fn`
* docs(examples): add `fn` example
2 months ago
Iron-E
9fa22b0453
fix(Mode): textchanged events ( #34 )
...
* ref(Mode): arbitrary number of per-instance autocmds
* ref(Mode): check cursor events using loop
* fix(Mode): handle textchanged events
* docs(examples): test CursorMoved, TextChanged events
3 months ago
Iron-E
8366119447
fix: virtual cursor edge cases ( #32 )
...
* perf(Mode): use dedicated virtual cursor namespace
* fix(Mode): virtual cursor stays in inactive buffers when exiting
* fix(Mode): `CursorMoved` not fired as expected
3 months ago
Iron-E
3cb0a3817f
feat(Mode): show count in popup
3 months ago
Iron-E
485b77bf14
fix(mode): incompatible with vim.v.count ( #26 )
...
* fix(mode): incompatible with vim.v.count
* ref(Vars): track local copy of global value
* ref(Mode): use new `Vars`
* ref(Mode): handle exit during `enter`
* ref: swap `Var.new` param order
Mode name should come before var name
* docs(examples): Vars
* ref: rename `Vars` -> `Var`
* fix(Mode): check if `exit == 1` for vim compat
* fix(Prompt): use new `Var` impl
* ref: remove `count1`
It seems like `math.max` is enough for this purpose
* doc: use h3 headers
3 months ago
Iron-E
1ecc4add3b
feat: `Mode:exit` ( #30 )
...
* fix(Mode): adapt to changes in `timeoutlen`
* feat(libmodal): do `self:exit()` inside callback
* docs: `Mode:exit`
* style: .editorconfig
* docs(libmodal): fix broken example
* feat(Mode): `self:switch`
* docs: `Mode:switch`
* feat(libmodal): `mode.switch`
Wraps `Mode:switch` for convenience
* docs: `libmodal.mode.switch`
* docs(examples): `*.switch`
3 months ago
Iron-E
3966014dbc
fix(Mode): cursor position doesn't update because of `getchar` ( #27 )
...
The solution here has been to use `vim.highlight.range` and hide the
real cursor.
SEE neovim/neovim#20793
3 months ago
vE5li
45577b6e19
fix: check for escaped keys and handle them correctly ( #23 )
...
Original author is @vE5li. The commit was resigned in order to be
merged upstream.
9 months ago
Iron-E
875636e91e
ref(Help): use `Statement` for vimscript commands
1 year ago
Iron-E
76f24a7456
fix(Help): remove debug code
1 year ago
Iron-E
1f402f9c65
fix(Help): attempt to get `strwidth` of function
...
CLOSES #21
1 year ago
Iron-E
1cf0232281
fix(Layer): abort `restore_map` if error occured
1 year ago
Iron-E
6d8aefa5e6
ref: remove useless directory nesting
1 year ago
Iron-E
0822846209
docs: class namespaces follow directories
1 year ago
Frank O'Brien
e3a4b66027
extracted functionality for removing mapping from existing mapping to new function, used this function on exit instead of :unmap
1 year ago
Iron-E
617022d48c
feat(Help): highlight types with `nvim_echo`
1 year ago
Iron-E
8c164b811d
perf: general improvements
...
I forgot to break it up into individual commits, and I ain't going
backwards now.
1 year ago
Iron-E
e535c17e84
ref(Layer): future-proof pruning of `nvim_get_keymap` dict
1 year ago
Iron-E
4ac30e0104
fix(Popup): width wrong when first opening
1 year ago
Iron-E
43073dbd7e
fix(Layer): `unmap` after `enter`
1 year ago
Iron-E
a7dbc7b76e
fix(Layer): `unmap` before `enter`ing layer
...
It didn't work before because the layer would still apply the "unmapped"
LHS when entering.
1 year ago
Iron-E
72f45f9187
fix(Layer): checks for if layer is active
...
The `existing_keymaps_by_mode` table is _always_ initialized, so that
was a red herring.
1 year ago
Iron-E
34b94a246d
perf(Mode): remove `InputBytes` class
1 year ago
Iron-E
69beec5e8e
feat(Mode): adapt to `showmode` option
1 year ago
Iron-E
ba75e9b4d3
ref: make workspace diagnostics more accurate
1 year ago
Iron-E
b52a440f38
fix(Mode): `nvim_get_mode` returns a table
1 year ago
Iron-E
ac93fed590
perf(Mode): `vim.fn.mode()` -> `vim.api.nvim_get_mode()`
1 year ago
Iron-E
caf4bad7f8
ref(Mode): use `ModeChanged` instead of custom event
1 year ago
Iron-E
0eb4afcc5b
ref: workspace diagnostics
1 year ago
Iron-E
2eb180827b
Merge branch 'master' of https://github.com/Iron-E/nvim-libmodal
1 year ago
Iron-E
c6002ebda9
docs: update
1 year ago
Iron-E
1a30555e73
feat(Mode): custom `User` events
1 year ago
spike
c5807eba0d
fix error: invalid key lhsraw when restoring maps
2 years ago
Iron-E
4fd0e809e4
docs(classes): allow passing `nil` to `new`
2 years ago
Iron-E
d02697c6dc
fix(Layer): typo
2 years ago
Iron-E
4a31e56e63
ref(Layer): move `replace_termcodes` to `utils.api`
...
It is a utility function for an API function, so it belongs here.
2 years ago
Iron-E
6909e1a2cd
fix(Layer): mis-scheduling
2 years ago
Iron-E
a696aecf1c
fix(Layer): nvim failing to set keymap
2 years ago
Iron-E
0786a9fa45
ref(Layer): prefer `rhs` to `callback`
2 years ago
Iron-E
a898124d3b
fix(Layer): standardize `lhs` before un/map
2 years ago
Iron-E
5c66d7622a
ref(Layer): `utils.notify_error` for unmapping errors
2 years ago
Iron-E
f61d56f221
fix(utils): don't shadow builtin `error`
2 years ago
Iron-E
f8c93ec6d8
feat(Layer): `Layer:is_active`
2 years ago
Iron-E
24115079ed
fix(Layer): `:unmap`ping
2 years ago
Iron-E
21dfc73142
style(Layer): make long line multiple lines
2 years ago
Iron-E
9665b84daf
fix(Layer): `nil` rhs from `{callback = function}`
2 years ago
Iron-E
853a180365
ref(Layer): allow `:unmap` before `:enter`
2 years ago
Iron-E
c0898e6067
docs(Layer): use proper name of field
2 years ago
Iron-E
4b84c1be46
ref(Layer): use `vim.notify` instead of `error`
2 years ago