#include <assert.h>
#include <inttypes.h>
#include <stdbool.h>
#include "nvim/ascii.h"
#include "nvim/charset.h"
#include "nvim/digraph.h"
#include "nvim/eval/typval.h"
#include "nvim/ex_cmds2.h"
#include "nvim/ex_docmd.h"
#include "nvim/ex_getln.h"
#include "nvim/garray.h"
#include "nvim/getchar.h"
#include "nvim/mbyte.h"
#include "nvim/memory.h"
#include "nvim/message.h"
#include "nvim/normal.h"
#include "nvim/os/input.h"
#include "nvim/screen.h"
#include "nvim/strings.h"
#include "nvim/vim.h"
Data Structures | |
struct | digraph |
struct | dg_header_entry |
struct | kmap_T |
structure used for b_kmap_ga.ga_data More... | |
Macros | |
#define | DG_START_LATIN 0xa1 |
#define | DG_START_GREEK 0x0386 |
#define | DG_START_CYRILLIC 0x0401 |
#define | DG_START_HEBREW 0x05d0 |
#define | DG_START_ARABIC 0x060c |
#define | DG_START_LATIN_EXTENDED 0x1e02 |
#define | DG_START_GREEK_EXTENDED 0x1f00 |
#define | DG_START_PUNCTUATION 0x2002 |
#define | DG_START_SUB_SUPER 0x2070 |
#define | DG_START_CURRENCY 0x20a4 |
#define | DG_START_OTHER1 0x2103 |
#define | DG_START_ROMAN 0x2160 |
#define | DG_START_ARROWS 0x2190 |
#define | DG_START_MATH 0x2200 |
#define | DG_START_TECHNICAL 0x2302 |
#define | DG_START_OTHER2 0x2423 |
#define | DG_START_DRAWING 0x2500 |
#define | DG_START_BLOCK 0x2580 |
#define | DG_START_SHAPES 0x25a0 |
#define | DG_START_SYMBOLS 0x2605 |
#define | DG_START_DINGBATS 0x2713 |
#define | DG_START_CJK_SYMBOLS 0x3000 |
#define | DG_START_HIRAGANA 0x3041 |
#define | DG_START_KATAKANA 0x30a1 |
#define | DG_START_BOPOMOFO 0x3105 |
#define | DG_START_OTHER3 0x3220 |
#define | KMAP_MAXLEN 20 |
#define | KMAP_LLEN 200 |
Typedefs | |
typedef int | result_T |
typedef struct digraph | digr_T |
Functions | |
int | do_digraph (int c) |
char_u * | get_digraph_for_char (int val_arg) |
int | get_digraph (bool cmdline) |
int | digraph_get (int char1, int char2, bool meta_char) FUNC_ATTR_PURE |
bool | check_digraph_chars_valid (int char1, int char2) |
void | putdigraph (char_u *str) |
void | listdigraphs (bool use_headers) |
void | digraph_getlist_common (bool list_all, typval_T *rettv) |
void | f_digraph_get (typval_T *argvars, typval_T *rettv, FunPtr fptr) |
"digraph_get()" function More... | |
void | f_digraph_getlist (typval_T *argvars, typval_T *rettv, FunPtr fptr) |
"digraph_getlist()" function More... | |
void | f_digraph_set (typval_T *argvars, typval_T *rettv, FunPtr fptr) |
"digraph_set()" function More... | |
void | f_digraph_setlist (typval_T *argvars, typval_T *rettv, FunPtr fptr) |
"digraph_setlist()" function More... | |
char * | keymap_init (void) |
void | ex_loadkeymap (exarg_T *eap) |
void | keymap_ga_clear (garray_T *kmap_ga) |
Frees the buf_T.b_kmap_ga field of a buffer. More... | |
Variables | |
struct dg_header_entry | header_table [] |
code for digraphs
#define DG_START_ARABIC 0x060c |
#define DG_START_ARROWS 0x2190 |
#define DG_START_BLOCK 0x2580 |
#define DG_START_BOPOMOFO 0x3105 |
#define DG_START_CJK_SYMBOLS 0x3000 |
#define DG_START_CURRENCY 0x20a4 |
#define DG_START_CYRILLIC 0x0401 |
#define DG_START_DINGBATS 0x2713 |
#define DG_START_DRAWING 0x2500 |
#define DG_START_GREEK 0x0386 |
#define DG_START_GREEK_EXTENDED 0x1f00 |
#define DG_START_HEBREW 0x05d0 |
#define DG_START_HIRAGANA 0x3041 |
#define DG_START_KATAKANA 0x30a1 |
#define DG_START_LATIN 0xa1 |
#define DG_START_LATIN_EXTENDED 0x1e02 |
#define DG_START_MATH 0x2200 |
#define DG_START_OTHER1 0x2103 |
#define DG_START_OTHER2 0x2423 |
#define DG_START_OTHER3 0x3220 |
#define DG_START_PUNCTUATION 0x2002 |
#define DG_START_ROMAN 0x2160 |
#define DG_START_SHAPES 0x25a0 |
#define DG_START_SUB_SUPER 0x2070 |
#define DG_START_SYMBOLS 0x2605 |
#define DG_START_TECHNICAL 0x2302 |
#define KMAP_LLEN 200 |
#define KMAP_MAXLEN 20 |
typedef int result_T |
bool check_digraph_chars_valid | ( | int | char1, |
int | char2 | ||
) |
Check the characters are valid for a digraph. If they are valid, returns true; otherwise, give an error message and returns false.
int digraph_get | ( | int | char1, |
int | char2, | ||
bool | meta_char | ||
) |
Get digraph. Allow for both char1-char2 and char2-char1
char1 | |
char2 | |
meta_char |
int do_digraph | ( | int | c | ) |
handle digraphs after typing a character
c |
":loadkeymap" command: load the following lines as the keymap.
eap |
"digraph_getlist()" function
"digraph_setlist()" function
int get_digraph | ( | bool | cmdline | ) |
Get a digraph. Used after typing CTRL-K on the command line or in normal mode.
cmdline | true when called from the cmdline |
char_u* get_digraph_for_char | ( | int | val_arg | ) |
Find a digraph for "val". If found return the string to display it. If not found return NULL.
Frees the buf_T.b_kmap_ga field of a buffer.
char* keymap_init | ( | void | ) |
Set up key mapping tables for the 'keymap' option.
Add the digraphs in the argument to the digraph table. format: {c1}{c2} char {c1}{c2} char ...
str |
struct dg_header_entry header_table[] |