summaryrefslogtreecommitdiff
path: root/el.h
diff options
context:
space:
mode:
Diffstat (limited to 'el.h')
-rw-r--r--el.h35
1 files changed, 19 insertions, 16 deletions
diff --git a/el.h b/el.h
index 024a54c36974a..eb95a3ed9e8ba 100644
--- a/el.h
+++ b/el.h
@@ -1,4 +1,4 @@
-/* $NetBSD: el.h,v 1.34 2016/02/24 17:13:22 christos Exp $ */
+/* $NetBSD: el.h,v 1.43 2017/09/05 18:07:59 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -57,6 +57,7 @@
#define UNBUFFERED 0x08
#define CHARSET_IS_UTF8 0x10
#define NARROW_HISTORY 0x40
+#define NO_RESET 0x80
typedef unsigned char el_action_t; /* Index to command array */
@@ -66,10 +67,10 @@ typedef struct coord_t { /* Position on the screen */
} coord_t;
typedef struct el_line_t {
- Char *buffer; /* Input line */
- Char *cursor; /* Cursor position */
- Char *lastchar; /* Last character */
- const Char *limit; /* Max position */
+ wchar_t *buffer; /* Input line */
+ wchar_t *cursor; /* Cursor position */
+ wchar_t *lastchar; /* Last character */
+ const wchar_t *limit; /* Max position */
} el_line_t;
/*
@@ -82,7 +83,7 @@ typedef struct el_state_t {
int metanext; /* Is the next char a meta char */
el_action_t lastcmd; /* Previous command */
el_action_t thiscmd; /* this command */
- Char thisch; /* char that generated it */
+ wchar_t thisch; /* char that generated it */
} el_state_t;
/*
@@ -94,19 +95,20 @@ typedef struct el_state_t {
#include "tty.h"
#include "prompt.h"
+#include "literal.h"
#include "keymacro.h"
#include "terminal.h"
#include "refresh.h"
#include "chared.h"
#include "search.h"
#include "hist.h"
-#include "fcns.h" /* el_func_t is needed for map.h */
#include "map.h"
#include "sig.h"
-#include "read.h"
+
+struct el_read_t;
struct editline {
- Char *el_prog; /* the program name */
+ wchar_t *el_prog; /* the program name */
FILE *el_infile; /* Stdio stuff */
FILE *el_outfile; /* Stdio stuff */
FILE *el_errfile; /* Stdio stuff */
@@ -114,10 +116,9 @@ struct editline {
int el_outfd; /* Output file descriptor */
int el_errfd; /* Error file descriptor */
int el_flags; /* Various flags. */
- int el_errno; /* Local copy of errno */
coord_t el_cursor; /* Cursor location */
- Char **el_display; /* Real screen image = what is there */
- Char **el_vdisplay; /* Virtual screen image = what we see */
+ wint_t **el_display; /* Real screen image = what is there */
+ wint_t **el_vdisplay; /* Virtual screen image = what we see */
void *el_data; /* Client data */
el_line_t el_line; /* The current line information */
el_state_t el_state; /* Current editor state */
@@ -126,21 +127,23 @@ struct editline {
el_refresh_t el_refresh; /* Refresh stuff */
el_prompt_t el_prompt; /* Prompt stuff */
el_prompt_t el_rprompt; /* Prompt stuff */
+ el_literal_t el_literal; /* prompt literal bits */
el_chared_t el_chared; /* Characted editor stuff */
el_map_t el_map; /* Key mapping stuff */
el_keymacro_t el_keymacro; /* Key binding stuff */
el_history_t el_history; /* History stuff */
el_search_t el_search; /* Search stuff */
el_signal_t el_signal; /* Signal handling stuff */
- el_read_t el_read; /* Character reading stuff */
-#ifdef WIDECHAR
+ struct el_read_t *el_read; /* Character reading stuff */
+ ct_buffer_t el_visual; /* Buffer for displayable str */
ct_buffer_t el_scratch; /* Scratch conversion buffer */
ct_buffer_t el_lgcyconv; /* Buffer for legacy wrappers */
LineInfo el_lgcylinfo; /* Legacy LineInfo buffer */
-#endif
};
-protected int el_editmode(EditLine *, int, const Char **);
+libedit_private int el_editmode(EditLine *, int, const wchar_t **);
+libedit_private EditLine *el_init_internal(const char *, FILE *, FILE *,
+ FILE *, int, int, int, int);
#ifdef DEBUG
#define EL_ABORT(a) do { \