Top
Best
New

Posted by ravenical 15 hours ago

Ki Editor - an editor that operates on the AST(ki-editor.org)
352 points | 126 commentspage 3
arikrahman 7 hours ago|
I highly appreciate the Nix-first approach
gigatexal 4 hours ago||
Ok ok all talk of the giant heavy java written jet brains IDE which I’m sure is great. What about all the experiences of using Ki and similar editors?
groundzeros2015 12 hours ago||
Have you seen any of the lisp tree editing modes for eMacs or vim?
mgaunard 9 hours ago||
Does it support C++?
hwhshs 13 hours ago||
Why not a vim plugin
hou32hou 12 hours ago||
We have one underway in https://codeberg.org/alicealysia/ki-bindings.nvim
cassepipe 12 hours ago|||
> Note that the Ki keybindings cannot be simply implemented in Vim/Helix via key- remapping, due to the lack of the concept of Selection Mode, and implementing that requires major architectural changes in the core.
0ta2x6j3 11 hours ago||
Not by default, and it's not a neat and tidy solution, but you can rebind keys as a result of inputing other keys in neovim via a callback (and edit the statusbar ofc to display said selection mode)

This, alongside the use of a variable means you can, in fact, build your own selection modes! Likewise, nvim does have a seperate select and visual mode.

This is primarily designed as an option to replicate the more traditional shift+movement selection and type to replace functionality of something like vscode or notepad, however it can be exploited as an additional layer for storing keybinds in a pinch

0ta2x6j3 11 hours ago||
It's funny you mention that. I am currently working on a neovim plugin which implements the ki-editor keymap.

https://codeberg.org/alicealysia/ki-bindings.nvim

Unfortunately however, there's some shortcomings of neovim which make its control scheme impossible (at least not without some workarounds)

One of the biggest is ki's momentary layers feature.

Ki uses the kitty keyboard protocol to detect when a key is being held and when it is released in order to allow for unique actions when multiple keys are pressed simultaneously, and this functionality is a big part of what makes it so ergonomic.

For example, tapping c will copy the currently highlighted text, but pressing c and k simultaneously will duplicate the currently selected text to a new line below the current line.

While I'm currently chipping away at a pull request to introduce similar functionality to neovim itself, in the meantime, I'm needing to work around the issue by making a lot of concessions.

irenetusuq 12 hours ago|
[dead]