1/* 2 * Copyright (c) 2002 by The XFree86 Project, Inc. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 19 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 * SOFTWARE. 21 * 22 * Except as contained in this notice, the name of the XFree86 Project shall 23 * not be used in advertising or otherwise to promote the sale, use or other 24 * dealings in this Software without prior written authorization from the 25 * XFree86 Project. 26 * 27 * Author: Paulo César Pereira de Andrade 28 */ 29 30/* $XFree86: xc/programs/xedit/lisp/xedit.h,v 1.5tsi Exp $ */ 31 32#ifndef Lisp_xedit_h 33#define Lisp_xedit_h 34 35#ifdef XEDIT_LISP_PRIVATE 36#include "lisp/private.h" 37#include "lisp/io.h" 38#include "lisp/read.h" 39#include "lisp/write.h" 40 41LispObj *Xedit_AddEntity(LispBuiltin*); 42LispObj *Xedit_AutoFill(LispBuiltin*); 43LispObj *Xedit_Background(LispBuiltin*); 44LispObj *Xedit_CharAfter(LispBuiltin*); 45LispObj *Xedit_CharBefore(LispBuiltin*); 46LispObj *Xedit_ClearEntities(LispBuiltin*); 47LispObj *Xedit_ConvertPropertyList(LispBuiltin*); 48LispObj *Xedit_Font(LispBuiltin*); 49LispObj *Xedit_Foreground(LispBuiltin*); 50LispObj *Xedit_GotoChar(LispBuiltin*); 51LispObj *Xedit_HorizontalScrollbar(LispBuiltin*); 52LispObj *Xedit_Insert(LispBuiltin*); 53LispObj *Xedit_Justification(LispBuiltin*); 54LispObj *Xedit_LeftColumn(LispBuiltin*); 55LispObj *Xedit_Point(LispBuiltin*); 56LispObj *Xedit_PointMax(LispBuiltin*); 57LispObj *Xedit_PointMin(LispBuiltin*); 58LispObj *Xedit_PropertyList(LispBuiltin*); 59LispObj *Xedit_ReadText(LispBuiltin*); 60LispObj *Xedit_ReplaceText(LispBuiltin*); 61LispObj *Xedit_RightColumn(LispBuiltin*); 62LispObj *Xedit_Scan(LispBuiltin*); 63LispObj *Xedit_SearchBackward(LispBuiltin*); 64LispObj *Xedit_SearchForward(LispBuiltin*); 65LispObj *Xedit_VerticalScrollbar(LispBuiltin*); 66LispObj *Xedit_WrapMode(LispBuiltin*); 67LispObj *Xedit_XrmStringToQuark(LispBuiltin*); 68#else 69#define LispObj void 70#endif /* XEDIT_LISP_PRIVATE */ 71 72typedef struct _EditModeInfo { 73 char *desc; /* Mode description */ 74 Widget sme; /* Menu entry */ 75 LispObj *symbol; /* Symbol holding syntax data */ 76 LispObj *syntax; /* The syntax definition */ 77} EditModeInfo; 78 79/* Typedef'ed to XeditLispData in ../xedit.h */ 80struct _XeditLispData { 81 LispObj *syntax; /* Syntax definition */ 82 LispObj *syntable; /* Syntax-table the cursor is located */ 83 int disable_highlight; /* Working in the buffer */ 84}; 85 86void LispXeditInitialize(void); 87void XeditLispExecute(Widget, XawTextPosition, XawTextPosition); 88void XeditLispSetEditMode(xedit_flist_item*, LispObj*); 89void XeditLispUnsetEditMode(xedit_flist_item*); 90 91extern EditModeInfo *mode_infos; 92extern Cardinal num_mode_infos; 93 94#endif /* Lisp_xedit_h */ 95