Com: introduce epicsReadlinePvt.h

Helping IDEs understand gnuReadline.c and osdReadline.c
This commit is contained in:
Michael Davidsaver
2022-06-19 15:39:50 -07:00
parent a6afef4850
commit 07ffc1ffae
5 changed files with 37 additions and 25 deletions

View File

@@ -13,31 +13,7 @@
#include <errno.h>
#include "envDefs.h"
#include "epicsReadline.h"
/* Basic command-line input, no editing or history: */
#define EPICS_COMMANDLINE_LIBRARY_EPICS 0
/* OS-specific command-line editing and/or history: */
#define EPICS_COMMANDLINE_LIBRARY_LIBTECLA 1
#define EPICS_COMMANDLINE_LIBRARY_LEDLIB 1
#define EPICS_COMMANDLINE_LIBRARY_OTHER 1
/* GNU readline, or Apple's libedit wrapper: */
#define EPICS_COMMANDLINE_LIBRARY_READLINE 2
#define EPICS_COMMANDLINE_LIBRARY_READLINE_CURSES 2
#define EPICS_COMMANDLINE_LIBRARY_READLINE_NCURSES 2
#ifndef EPICS_COMMANDLINE_LIBRARY
# define EPICS_COMMANDLINE_LIBRARY EPICS_COMMANDLINE_LIBRARY_EPICS
#endif
struct osdContext;
struct readlineContext {
FILE *in;
char *line;
struct osdContext *osd;
};
#include "epicsReadlinePvt.h"
static void osdReadlineBegin(struct readlineContext *);
static char * osdReadline(const char *prompt, struct readlineContext *);

View File

@@ -0,0 +1,30 @@
#ifndef EPICSREADLINEPVT_H
#define EPICSREADLINEPVT_H
#include "epicsReadline.h"
/* Basic command-line input, no editing or history: */
#define EPICS_COMMANDLINE_LIBRARY_EPICS 0
/* OS-specific command-line editing and/or history: */
#define EPICS_COMMANDLINE_LIBRARY_LIBTECLA 1
#define EPICS_COMMANDLINE_LIBRARY_LEDLIB 1
#define EPICS_COMMANDLINE_LIBRARY_OTHER 1
/* GNU readline, or Apple's libedit wrapper: */
#define EPICS_COMMANDLINE_LIBRARY_READLINE 2
#define EPICS_COMMANDLINE_LIBRARY_READLINE_CURSES 2
#define EPICS_COMMANDLINE_LIBRARY_READLINE_NCURSES 2
#ifndef EPICS_COMMANDLINE_LIBRARY
# define EPICS_COMMANDLINE_LIBRARY EPICS_COMMANDLINE_LIBRARY_EPICS
#endif
struct osdContext;
struct readlineContext {
FILE *in;
char *line;
struct osdContext *osd;
};
#endif // EPICSREADLINEPVT_H

View File

@@ -16,6 +16,8 @@
#include <string.h>
#include <libtecla.h>
#include "epicsReadlinePvt.h"
struct osdContext {};
/*

View File

@@ -17,6 +17,8 @@
#include <readline/history.h>
#include "epicsExit.h"
#include "envDefs.h"
#include "epicsReadlinePvt.h"
static struct osdContext {
char dummy; /* Required for older compilers */

View File

@@ -16,6 +16,8 @@
#include <string.h>
#include <ledLib.h>
#include "epicsReadlinePvt.h"
/* FIXME: Remove line-lenth limitation */
#define LEDLIB_LINESIZE 1000