FreeBasic: Update keywords
[geany-mirror.git] / tagmanager / ctags / nestlevel.h
bloba82307b3b0d6c5ee5122842adea3f65cbd9a487f
1 /*
2 * Copyright (c) 1999-2002, Darren Hiebert
3 * Copyright 2009-2011 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
5 * This source code is released for free distribution under the terms of the
6 * GNU General Public License.
8 * Defines external interface to scope nesting levels for tags.
9 */
10 #ifndef _NESTLEVEL_H
11 #define _NESTLEVEL_H
14 * INCLUDE FILES
16 #include "general.h" /* must always come first */
18 #include "vstring.h"
21 * DATA DECLARATIONS
23 typedef struct NestingLevel NestingLevel;
24 typedef struct NestingLevels NestingLevels;
26 struct NestingLevel
28 int indentation;
29 vString *name;
30 int type;
33 struct NestingLevels
35 NestingLevel *levels;
36 int n; /* number of levels in use */
37 int allocated;
41 * FUNCTION PROTOTYPES
43 extern NestingLevels *nestingLevelsNew(void);
44 extern void nestingLevelsFree(NestingLevels *nls);
45 extern void nestingLevelsPush(NestingLevels *nls,
46 const vString *name, int type);
47 extern void nestingLevelsPop(NestingLevels *nls);
48 extern NestingLevel *nestingLevelsGetCurrent(NestingLevels *nls);
50 #endif /* _NESTLEVEL_H */
52 /* vi:set tabstop=4 shiftwidth=4: */