view src/gui_haiku.h @ 34975:52db4364a5cd v9.1.0343

patch 9.1.0343: 'showcmd' wrong for partial mapping with multibyte Commit: https://github.com/vim/vim/commit/acdfb8a97995e0f81832207e39564ba795281108 Author: zeertzjq <zeertzjq@outlook.com> Date: Wed Apr 17 21:28:54 2024 +0200 patch 9.1.0343: 'showcmd' wrong for partial mapping with multibyte Problem: 'showcmd' is wrong for partial mapping with multibyte char, and isn't very readable with modifyOtherKeys. Solution: Decode multibyte char and merge modifiers into the char. (zeertzjq) This improves the following situations: - Multibyte chars whose individual bytes are considered unprintable are now shown properly in 'showcmd' area. - Ctrl-W with modifyOtherKeys now shows ^W in 'showcmd' area. The following situation may still need improvement: - If the char is a special key or has modifiers that cannot be merged into it, internal keycodes are shown in 'showcmd' area like before. This applies to keys typed in Normal mode commands as well, and it's hard to decide how to make it more readable due to the limited space taken by 'showcmd', so I'll leave it for later. closes: #14572 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 17 Apr 2024 21:45:06 +0200
parents 22f0dda71638
children
line wrap: on
line source

/* vi:set ts=8 sts=4 sw=4:
 *
 * VIM - Vi IMproved		by Bram Moolenaar
 *				GUI support by Olaf "Rhialto" Seibert
 *
 * Do ":help uganda"  in Vim to read copying and usage conditions.
 * Do ":help credits" in Vim to see a list of people who contributed.
 *
 * Haiku GUI.
 *
 * Based on "GUI support for the Buzzword Enhanced Operating System for PPC."
 *
 */

/*
 * This file must be acceptable both as C and C++.
 * The BeOS API is defined in terms of C++, but some classes
 * should be somewhat known in the common C code.
 */

// System classes

struct BMenu;
struct BMenuItem;
struct BPictureButton;

// Our own Vim-related classes

struct VimApp;
struct VimFormView;
struct VimTextAreaView;
struct VimWindow;
struct VimScrollBar;

// Locking functions

extern int vim_lock_screen();
extern void vim_unlock_screen();

#ifndef __cplusplus

typedef struct BMenu BMenu;
typedef struct BMenuItem BMenuItem;
typedef struct BPictureButton BPictureButton;
typedef struct VimWindow VimWindow;
typedef struct VimFormView VimFormView;
typedef struct VimTextAreaView VimTextAreaView;
typedef struct VimApp VimApp;
typedef struct VimScrollBar VimScrollBar;

#endif