geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

field_p.h
Go to the documentation of this file.
1/*
2 *
3 * Copyright (c) 2015, Red Hat, Inc.
4 * Copyright (c) 2015, Masatake YAMATO
5 *
6 * Author: Masatake YAMATO <yamato@redhat.com>
7 *
8 * This source code is released for free distribution under the terms of the
9 * GNU General Public License version 2 or (at your option) any later version.
10 *
11 */
12#ifndef CTAGS_MAIN_FIELD_PRIVATE_H
13#define CTAGS_MAIN_FIELD_PRIVATE_H
14
15/*
16* INCLUDE FILES
17*/
18#include "general.h"
19#include "colprint_p.h"
20#include "field.h"
21
22/*
23* DATA DECLARATIONS
24*/
25
26
27/*
28* FUNCTION PROTOTYPES
29*/
30
31extern fieldType getFieldTypeForOption (char letter);
32
33/*
34 `getFieldTypeForName' is for looking for a field not owned by any parser,
35
36 `getFieldTypeForNameAndLanguage' can be used for getting all fields having
37 the same name; specify `LANG_AUTO' as `language' parameter to get the first
38 field having the name. With the returned fieldType, `nextSiblingField' gets
39 the next field having the same name. `nextSiblingField' returns `FIELD_UNKNOWN'
40 at the end of iteration.
41
42 Specifying `LANG_IGNORE' has the same effects as `LANG_AUTO'. However,
43 internally, each parser is not initialized. `LANG_IGNORE' is a bit faster. */
44extern fieldType getFieldTypeForName (const char *name);
45extern fieldType getFieldTypeForNameAndLanguage (const char *fieldName, langType language);
46extern bool enableField (fieldType type, bool state, bool warnIfFixedField);
47extern bool isCommonField (fieldType type);
48extern int getFieldOwner (fieldType type);
49extern const char* getFieldDescription (fieldType type);
50extern const char* getFieldName (fieldType type);
51extern unsigned char getFieldLetter (fieldType type);
52extern unsigned int getFieldDataType (fieldType type);
53extern void printFields (int language);
54
55/* Whether the field specified with TYPE has a
56 method for rendering in the current format. */
57extern bool doesFieldHaveRenderer (fieldType type, bool noEscaping);
58
59extern bool doesFieldHaveValue (fieldType type, const tagEntryInfo *tag);
60
61extern const char* renderField (fieldType type, const tagEntryInfo *tag, int index);
62extern const char* renderFieldNoEscaping (fieldType type, const tagEntryInfo *tag, int index);
63extern bool doesFieldHaveTabOrNewlineChar (fieldType type, const tagEntryInfo *tag, int index);
64
65extern void initFieldObjects (void);
66extern int countFields (void);
67
68/* language should be typed to langType.
69 Use int here to avoid circular dependency */
70extern int defineField (fieldDefinition *spec, langType language);
72
73/* --list-fields implementation. LANGUAGE must be initialized. */
74extern struct colprintTable * fieldColprintTableNew (void);
75extern void fieldColprintAddCommonLines (struct colprintTable *table);
76extern void fieldColprintAddLanguageLines (struct colprintTable *table, langType language);
77extern void fieldColprintTablePrint (struct colprintTable *table,
78 bool withListHeader, bool machinable, FILE *fp);
79
80#endif /* CTAGS_MAIN_FIELD_PRIVATE_H */
gint index
Definition: build.c:2680
const gchar * name
Definition: document.c:3219
enum eFieldType fieldType
unsigned int getFieldDataType(fieldType type)
Definition: field.c:998
struct colprintTable * fieldColprintTableNew(void)
Definition: field.c:1105
unsigned char getFieldLetter(fieldType type)
Definition: field.c:372
bool doesFieldHaveTabOrNewlineChar(fieldType type, const tagEntryInfo *tag, int index)
Definition: field.c:596
const char * renderField(fieldType type, const tagEntryInfo *tag, int index)
Definition: field.c:581
bool doesFieldHaveRenderer(fieldType type, bool noEscaping)
Definition: field.c:1003
int countFields(void)
Definition: field.c:1011
void printFields(int language)
void fieldColprintAddLanguageLines(struct colprintTable *table, langType language)
Definition: field.c:1152
bool doesFieldHaveValue(fieldType type, const tagEntryInfo *tag)
Definition: field.c:381
bool enableField(fieldType type, bool state, bool warnIfFixedField)
Definition: field.c:950
int defineField(fieldDefinition *spec, langType language)
Definition: field.c:1048
fieldType getFieldTypeForOption(char letter)
Definition: field.c:308
const char * renderFieldNoEscaping(fieldType type, const tagEntryInfo *tag, int index)
Definition: field.c:586
fieldType getFieldTypeForName(const char *name)
Definition: field.c:320
const char * getFieldDescription(fieldType type)
Definition: field.c:353
fieldType nextSiblingField(fieldType type)
Definition: field.c:1016
const char * getFieldName(fieldType type)
Definition: field.c:361
void fieldColprintAddCommonLines(struct colprintTable *table)
Definition: field.c:1146
int getFieldOwner(fieldType type)
Definition: field.c:993
void fieldColprintTablePrint(struct colprintTable *table, bool withListHeader, bool machinable, FILE *fp)
Definition: field.c:1232
void initFieldObjects(void)
Definition: field.c:237
fieldType getFieldTypeForNameAndLanguage(const char *fieldName, langType language)
Definition: field.c:325
bool isCommonField(fieldType type)
Definition: field.c:988
int langType
Definition: types.h:13