| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-03-11 | Implement bracketed paste | Johannes 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-22 | Add support for markup in info boxes | Maxime Coste | |
| Fixes #2552 | |||
| 2018-06-03 | Add MenuStyle::Search that prevents the menu from hiding buffer text | Maxime Coste | |
| Fixes #2042 | |||
| 2018-04-29 | Rework the way UI can trigger a client quitting | Maxime 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-12 | Place hardware terminal cursor at the current main cursor/prompt cursor position | Maxime Coste | |
| Fixes #1318 Also fixes https://gitlab.com/gnachman/iterm2/issues/5408 | |||
| 2017-03-07 | Replace IdMap with HashMap | Maxime Coste | |
| 2017-01-08 | Apply clang-tidy modernize to the codebase | Maxime Coste | |
| 2017-01-04 | Add `Modal` InfoStyle used for bufer reload info box | Maxime Coste | |
| Modal info style wont be replaced by other info boxes. NCursesUI will center that info box. Fixes #1060 | |||
| 2016-11-29 | Simplify greatly UI input handling | Maxime 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-29 | Clean up includes of user_interface.hh | Maxime Coste | |
| 2016-10-01 | Support codepoints of variable width | Maxime 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-11 | Merge remote-tracking branch 'lenormf/buffer-padding' | Maxime Coste | |
| 2016-03-07 | Handle <c-l> redrawing on the server side | Maxime Coste | |
| That way we can force a redraw at any moment, including during batch execution. | |||
| 2016-02-17 | Allow users to chose how the buffers are padded | Frank LENORMAND | |
| 2015-10-05 | Use DisplayLine for menu choices | Maxime Coste | |
| 2015-09-16 | Use IdMap instead of UnorderedMap for ui options and env vars | Maxime Coste | |
| 2015-06-17 | Move status/mode line drawing as a separate ui method | Maxime Coste | |
| 2015-03-09 | ArrayView content is not const anymore | Maxime Coste | |
| As in upcoming std c++ array_view, ArrayView<T> points to mutable data, use ArrayView<const T> or alias ConstArrayView<T> for const data. | |||
| 2015-01-14 | Even more memory tracking | Maxime Coste | |
| 2015-01-06 | Rename memoryview to ArrayView | Maxime Coste | |
| 2014-12-16 | Rework hashing, use a more extensible framework similar to n3876 proposal | Maxime Coste | |
| std::hash specialization is a pain to work with, stop using that, and just specialize a 'size_t hash_value(const T&)' free function. | |||
| 2014-11-25 | Separate events between normal and urgent ones | Maxime Coste | |
| Run urgent ones while executing %sh blocks. Fixes #236 | |||
| 2014-11-12 | Cleanup includes | Maxime Coste | |
| 2014-11-10 | Add ui_options option for UserInterface configuration | Maxime Coste | |
| ui_options is a std::unordered_map<String, String> that gets forwarded to the user interface. Add support ncurses_status_on_top. | |||
| 2014-11-10 | Support hinting if an inline info should be above or below the anchor | Maxime Coste | |
| Used by ctags function info, we always want it *above* the opening parenthesis so that it does not hide multi line parameter lists. | |||
| 2014-11-08 | Add a MenuDoc style for info box, that will place it next to the menu | Maxime Coste | |
| 2014-08-12 | Make safe_ptr able to track callstacks | Maxime Coste | |
| The code stays disabled, as the performance penalty is quite high, but can be enabled to help debugging safe pointers. | |||
| 2014-07-11 | Rename ColorPair to Face and ColorRegistry to FaceRegistry | Maxime Coste | |
| Face also stores the attributes | |||
| 2014-05-07 | Refactor LineAndColumn coordinates | Maxime Coste | |
| BufferCoord -> ByteCoord DisplayCoord -> CharCoord Moved their definition along with LineAndColumn into coord.hh | |||
| 2014-04-30 | Use StringView in UserInterface and NCursesUI | Maxime Coste | |
| 2014-04-15 | Add an explicit refresh method to user interface | Maxime Coste | |
| With this refresh method user interface can defer updating the display until really needed. | |||
| 2013-10-11 | Pass title to UserInterface::info_show | Maxime Coste | |
| Move unicode box generation and assistant code as a NcursesUI implementation detail. | |||
| 2013-09-16 | remove print_status from UserInterface, pass status line to draw | Maxime Coste | |
| Client store the current status line. This way calls to print status do not force the user interface to display directly. | |||
| 2013-07-26 | memoryview: always pass by value | Maxime Coste | |
| 2013-04-09 | sort includes directives | Maxime Coste | |
| 2013-04-04 | UserInterface: status line messages are now DisplayLines | Maxime Coste | |
| This add color support for the status line | |||
| 2013-04-04 | pass a color pair when displaying an information window | Maxime Coste | |
| 2013-04-04 | Pass a fg and bg color when displaying a menu | Maxime Coste | |
| 2013-02-18 | Fix class/struct mismatches | Maxime Coste | |
| 2013-01-14 | move input watching responsibility into UserInterface implementations | Maxime Coste | |
| 2012-12-14 | UserInterface: add info box support | Maxime Coste | |
| using the info command, you can display an arbitrary string in a tooltip box. | |||
| 2012-10-29 | NCurses: refactor status line handling, and disambiguate status line from ↵ | Maxime Coste | |
| mode line | |||
| 2012-10-28 | Handle all available input before redrawing | Maxime Coste | |
| 2012-10-20 | make UserInterface unaware of Window, only of DisplayBuffer | Maxime Coste | |
| 2012-09-30 | Menus can be placed anywhere on the screen, and takes a style parameter | Maxime Coste | |
| This paves the way for insert mode completion menu using the current prompt menu system. | |||
| 2012-09-26 | Move UserInterface out of Client into Context | Maxime Coste | |
| 2012-09-24 | Hide more Client Mode code in the cpp | Maxime Coste | |
| 2012-09-24 | extract Client virtual methods to a UserInterface class | Maxime Coste | |
