Update to version p5.9.20211031.0 of ctags
[geany-mirror.git] / ctags / main / script_p.h
blob51223225983abd1951db317d2c6417909bce4650
1 /*
2 * Copyright (c) 2020, Masatake YAMATO
3 * Copyright (c) 2020, Red Hat, Inc.
5 * This source code is released for free distribution under the terms of the
6 * GNU General Public License version 2 or (at your option) any later version.
8 * This module contains ctags specific optscript objects
9 */
11 #ifndef CTAGS_MAIN_SCRIPT_PRIVATE_H
12 #define CTAGS_MAIN_SCRIPT_PRIVATE_H
14 #include "general.h" /* must always come first */
16 #include "optscript.h"
17 #include "mio.h"
19 struct optscriptOperatorRegistration {
20 const char *name;
21 OptOperatorFn fn;
22 int arity;
23 const char *help_str;
25 extern void optscriptRegisterOperators(EsObject * dict,
26 struct optscriptOperatorRegistration regs[], size_t count);
28 extern EsObject *OPTSCRIPT_ERR_NOTAGENTRY;
29 extern EsObject *OPTSCRIPT_ERR_UNKNOWNLANGUAGE;
30 extern EsObject *OPTSCRIPT_ERR_UNKNOWNEXTRA;
32 extern OptVM *optscriptInit (void);
34 extern void optscriptInstallProcs (EsObject *dict, OptOperatorFn matchResultAccessor);
36 extern void optscriptSetup (OptVM *vm, EsObject *dict, int corkIndex);
37 extern void optscriptTeardown (OptVM *vm, EsObject *dict);
39 /* If len is 0, strlen (src) is used instead of 0. */
40 extern EsObject *optscriptRead (OptVM *vm, const char *src, size_t len);
41 extern EsObject *optscriptEval (OptVM *vm, EsObject *code);
42 extern EsObject *optscriptDefine (EsObject *dict, const char *name, EsObject *obj);
44 extern EsObject *optscriptReadAndEval (OptVM *vm, const char *src, size_t len);
45 extern EsObject *optscriptReadAndDefine (OptVM *vm, EsObject *dict, const char *name,
46 const char *src, size_t len);
48 extern EsObject *optscriptLoad (OptVM *vm, MIO *mio);
50 extern void optscriptHelp (OptVM *vm, FILE *fp, EsObject *procdocs);
52 extern xtagType optscriptGetXtagType (const EsObject *extra);
54 typedef struct {
55 unsigned long delta; /* for _advanceto operator */
56 unsigned long line;
57 MIOPos pos;
58 } matchLoc;
59 extern int OPT_TYPE_MATCHLOC;
61 extern int OPT_TYPE_TAG;
62 #endif /* CTAGS_MAIN_SCRIPT_PRIVATE_H */