Commit Graph

33 Commits (master)

Author SHA1 Message Date
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
2 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
2 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
2 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`
2 months ago
Iron-E 6d85cb30e0
test(layer): can be used multiple times 1 year ago
Iron-E 5c4685cab2
fix(examples): unset `fooModeExit` before first run 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 c8fce913e5
fix(examples): missing argument from `layer:unmap()` 1 year ago
Iron-E 83dc6c5433
style(examples): inline keymaps-submode instruction 1 year ago
Iron-E 55a0bcca00
docs: make comments conform in case 2 years ago
Iron-E 49a02ad692
merge!: cleanup the plugin
This was my first plugin. Looking back on it, it was full of bad
design decisions (and I have elected to keep most of the user-facing
ones for backwards-compatability). This merge tries to uncrustify the
plugin by standardizing the documentation, removing much unecessary
code, reorganizing the internal structures, and removing references to
my own made-up terminology.
2 years ago
Iron-E b4419002a2
perf: don't make local copies of global `vim` module 3 years ago
Iron-E afdfadf365
ref: use Neovim 0.5
BREAKING CHANGE: now requires Neovim 0.5
3 years ago
Iron-E d35778cf91
Add more tests 4 years ago
Iron-E 2844351594
Add tests; fix bugs with Help and ParseTable 4 years ago
Iron-E 5fca6440aa
Add comments to examples 4 years ago
Iron-E f6813a55c1
Add more examples 4 years ago
Iron-E 26164953b6
Adjust documentation 4 years ago
Iron-E f190a91d81
Cleanup using sumneko_lua 4 years ago
Iron-E 85214c7487
Remove `name` 4 years ago
Iron-E d8da47fa71
Optimize module loading, update docs 4 years ago
Iron-E eb6f39b43a
Save implementation of other layers 4 years ago
Iron-E f84b0288e7
Add initial Layer implementation 4 years ago
Iron-E 301e932112
Fix bad name change 4 years ago
Iron-E eee6a01778
Consistency improvements 4 years ago
Iron-E 481ce853ca
Bug fixes 4 years ago
Iron-E c36520de46
Add vim-libmodal compatability 4 years ago
Iron-E 3a23642798
Finish first doc 4 years ago
Iron-E 148d925866
Add more features to prompt 4 years ago
Iron-E 1e121622f8
Refine prompts; completions can't exist until 0.5 4 years ago
Iron-E 88371b5ff0
Finish translating examples and fix all mode bugs 4 years ago
Iron-E d6056571d2
Begin translating examples to test implementation; fix many bugs 4 years ago