summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2022-08-07 14:49:45 +0200
committerTyge Løvset <[email protected]>2022-08-07 14:49:45 +0200
commit621cf0d0cf508cbdd7b15a9b8416c5938f2b27a0 (patch)
treec494be25e2d05f8d1896563d6916a1a8c1d935e6 /include
parentc87898773d1af364a9847610401a9959f6019fe7 (diff)
downloadSTC-modified-621cf0d0cf508cbdd7b15a9b8416c5938f2b27a0.tar.gz
STC-modified-621cf0d0cf508cbdd7b15a9b8416c5938f2b27a0.zip
Refined template.h when specifying i_key_bind (and i_val_bind): i_keyclone becomes defined `c_derived_keyclone` when i_keyfrom is defined, i.e. you don't have to define both, but you can.
Improved cmap docs.
Diffstat (limited to 'include')
-rw-r--r--include/stc/template.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/include/stc/template.h b/include/stc/template.h
index d7289ba7..e77aa781 100644
--- a/include/stc/template.h
+++ b/include/stc/template.h
@@ -95,6 +95,7 @@
#define i_key_bind cstr
#define i_keyraw crawstr
#define i_keyfrom cstr_from
+ #define i_keyclone cstr_clone
#ifndef i_tag
#define i_tag str
#endif
@@ -103,6 +104,7 @@
#define i_keyraw csview
#define i_keyfrom cstr_from_sv
#define i_keyto cstr_sv
+ #define i_keyclone cstr_clone
#define i_eq csview_eq
#ifndef i_tag
#define i_tag ssv
@@ -116,7 +118,9 @@
#ifdef i_key_bind
#define i_key i_key_bind
- #ifndef i_keyclone
+ #if !defined i_keyclone && defined i_keyfrom
+ #define i_keyclone c_derived_keyclone
+ #elif !defined i_keyclone
#define i_keyclone c_paste(i_key, _clone)
#endif
#if !defined i_keyto && defined i_keyraw
@@ -189,20 +193,24 @@
#define i_val_bind cstr
#define i_valraw crawstr
#define i_valfrom cstr_from
+ #define i_valclone cstr_clone
#elif defined i_val_ssv
#define i_val_bind cstr
#define i_valraw csview
#define i_valfrom cstr_from_sv
#define i_valto cstr_sv
+ #define i_valclone cstr_clone
#elif defined i_val_arcbox
#define i_val_bind i_val_arcbox
#define i_valraw c_paste(i_val_arcbox, _value)
- #define i_valto c_paste(i_val, _toval)
+ #define i_valto c_paste(i_val, _toval)
#endif
#ifdef i_val_bind
#define i_val i_val_bind
- #ifndef i_valclone
+ #if !defined i_valclone && defined i_valfrom
+ #define i_valclone c_derived_valclone
+ #elif !defined i_valclone
#define i_valclone c_paste(i_val, _clone)
#endif
#if !defined i_valto && defined i_valraw