xref: /Universal-ctags/main/promise.h (revision 89a71f3bd1b10d2c6df0cd56e8a1b3db8f308f9e)
14fa68e36SMasatake YAMATO /*
24fa68e36SMasatake YAMATO  *
34fa68e36SMasatake YAMATO  *  Copyright (c) 2016, Red Hat, Inc.
44fa68e36SMasatake YAMATO  *  Copyright (c) 2016, Masatake YAMATO
54fa68e36SMasatake YAMATO  *
64fa68e36SMasatake YAMATO  *  Author: Masatake YAMATO <yamato@redhat.com>
74fa68e36SMasatake YAMATO  *
84fa68e36SMasatake YAMATO  *   This source code is released for free distribution under the terms of the
94fa68e36SMasatake YAMATO  *   GNU General Public License version 2 or (at your option) any later version.
104fa68e36SMasatake YAMATO  *
114fa68e36SMasatake YAMATO  */
124fa68e36SMasatake YAMATO #ifndef CTAGS_MAIN_PROMISE_H
134fa68e36SMasatake YAMATO #define CTAGS_MAIN_PROMISE_H
144fa68e36SMasatake YAMATO 
154fa68e36SMasatake YAMATO #include "general.h"
164fa68e36SMasatake YAMATO #include "mio.h"
174fa68e36SMasatake YAMATO #include "parse.h"
18db20bea4SMasatake YAMATO #include "numarray.h"
194fa68e36SMasatake YAMATO 
20*89a71f3bSMasatake YAMATO /* parser can be NULL; give a name with promiseUpdateLanguage()
21*89a71f3bSMasatake YAMATO  * when the name can be determined. */
224fa68e36SMasatake YAMATO int  makePromise   (const char *parser,
23ef722b09SMasatake YAMATO 		    unsigned long startLine, long startCharOffset,
24ef722b09SMasatake YAMATO 		    unsigned long endLine, long endCharOffset,
254fa68e36SMasatake YAMATO 		    unsigned long sourceLineOffset);
264fa68e36SMasatake YAMATO 
27db20bea4SMasatake YAMATO /* Fill the line with white spaces.
28db20bea4SMasatake YAMATO    The callee takes the ownership of lines. */
29db20bea4SMasatake YAMATO void promiseAttachLineFiller (int promise, ulongArray *lines);
30db20bea4SMasatake YAMATO 
31*89a71f3bSMasatake YAMATO void promiseUpdateLanguage  (int promise, langType lang);
32*89a71f3bSMasatake YAMATO 
334fa68e36SMasatake YAMATO #endif	/* CTAGS_MAIN_PROMISE_H */
34