summaryrefslogtreecommitdiff
path: root/src/json_ui.hh
AgeCommit message (Collapse)Author
2023-03-11Implement bracketed pasteJohannes Altmanninger
Text pasted into Kakoune's normal mode is interpreted as command sequence, which is probably never what the user wants. Text pasted during insert mode will be inserted fine but may trigger auto-indentation hooks which is likely not what users want. Bracketed paste is pair of escape codes sent by terminals that allow applications to distinguish between pasted text and typed text. Let's use this feature to always insert pasted text verbatim, skipping keymap lookup and the InsertChar hook. In future, we could add a dedicated Paste hook. We need to make a decision on whether to paste before or after the selection. I chose "before" because that's what I'm used to. TerminalUI::set_on_key has EventManager::instance().force_signal(0); I'm not sure if we want the same for TerminalUI::set_on_paste? I assume it doesn't matter because they are always called in tandem. Closes #2465
2019-11-22Add support for markup in info boxesMaxime Coste
Fixes #2552
2018-04-29Rework the way UI can trigger a client quittingMaxime Coste
Add a UserInterface::is_ok method and return false on SIGHUP/stdin closing/socket dropping This should be cleaner and more robust than the previous SIGHUP handling code. Fixes #1594
2017-04-12Place hardware terminal cursor at the current main cursor/prompt cursor positionMaxime Coste
Fixes #1318 Also fixes https://gitlab.com/gnachman/iterm2/issues/5408
2017-03-07Replace IdMap with HashMapMaxime Coste
2016-11-29Simplify greatly UI input handlingMaxime Coste
This round trip through an input callback expected to call is_key_available and get_key was overcomplicated, just send the keys as they arrive, the client is already buffering due to urgent event mode.
2016-11-28Add more memory domains to certain dataMaxime Coste
2016-10-01Support codepoints of variable widthMaxime Coste
Add a ColumnCount type and use it in place of CharCount whenever more appropriate, take column size of codepoints into account for vertical movements and docstring wrapping. Fixes #811
2016-04-11Merge remote-tracking branch 'lenormf/buffer-padding'Maxime Coste
2016-03-14Code cleanupsMaxime Coste
2016-03-07Handle <c-l> redrawing on the server sideMaxime Coste
That way we can force a redraw at any moment, including during batch execution.
2016-03-07Cleanup JsonUI and add support for a resize methodMaxime Coste
2016-03-07Initial, WIP json ui implementationMaxime Coste
The JsonUI writes json rpc user interface commands on stdout and reads json rpc requests on stdin.