forked from aniani/vim
Included the patch to support netbeans in a terminal.
This commit is contained in:
@@ -115,9 +115,8 @@ the required features succeeds.
|
||||
In case you do not want the NetBeans interface you can disable it by
|
||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||
|
||||
Currently, only GVim is supported in this integration as NetBeans does not
|
||||
have means to supply a terminal emulator for the Vim command. Furthermore,
|
||||
there is only GUI support for GTK, GNOME, and Motif.
|
||||
Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||
by GVim when it is run with one of the following GUIs: GTK, GNOME, and Motif.
|
||||
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
|workshop-xpm| for details on obtaining the latest version of XPM.
|
||||
@@ -151,6 +150,12 @@ Region is guarded, cannot modify
|
||||
which you cannot change. Also sets the current buffer, if
|
||||
necessary.
|
||||
|
||||
*E532*
|
||||
The defineAnnoType highlighting color name is too long
|
||||
The maximum length of the "fg" or "bg" color argument in the
|
||||
defineAnnoType command is 32 characters.
|
||||
New in version 2.5.
|
||||
|
||||
*E656*
|
||||
Writes of unmodified buffers forbidden
|
||||
Writes of unmodified buffers that were opened from the
|
||||
@@ -236,8 +241,8 @@ problems and has been fixed in 2.2. To decrease the likelihood of this
|
||||
confusion happening again, netbeans_saved() has been renamed to
|
||||
netbeans_save_buffer().
|
||||
|
||||
We are now at version 2.4. For the differences between 2.3 and 2.4 search for
|
||||
"2.4" below.
|
||||
We are now at version 2.5. For the differences between 2.4 and 2.5 search for
|
||||
"2.5" below.
|
||||
|
||||
The messages are currently sent over a socket. Since the messages are in
|
||||
plain UTF-8 text this protocol could also be used with any other communication
|
||||
@@ -304,8 +309,11 @@ boolean Argument with two possible values:
|
||||
|
||||
number Argument with a decimal number.
|
||||
|
||||
optnum Argument with either a decimal number or "none" (without the
|
||||
quotes).
|
||||
color Argument with either a decimal number, "none" (without the
|
||||
quotes) or the name of a color (without the quotes) defined
|
||||
both in the color list in|highlight-ctermfg| and in the color
|
||||
list in|gui-colors|.
|
||||
New in version 2.5.
|
||||
|
||||
offset A number argument that indicates a byte position in a buffer.
|
||||
The first byte has offset zero. Line breaks are counted for
|
||||
@@ -366,9 +374,14 @@ defineAnnoType typeNum typeName tooltip glyphFile fg bg
|
||||
typeName string name that identifies this annotation
|
||||
tooltip string not used
|
||||
glyphFile string name of icon file
|
||||
fg optnum foreground color for line highlighting
|
||||
bg optnum background color for line highlighting
|
||||
fg color foreground color for line highlighting
|
||||
bg color background color for line highlighting
|
||||
Vim will define a sign for the annotation.
|
||||
When color is a number, this is the "#rrggbb" Red, Green and
|
||||
Blue values of the color (see |gui-colors|) and the
|
||||
highlighting is only defined for GVim.
|
||||
When color is a name, this color is defined both for Vim
|
||||
running in a color terminal and for GVim.
|
||||
When both "fg" and "bg" are "none" no line highlighting is
|
||||
used (new in version 2.1).
|
||||
When "glyphFile" is empty, no text sign is used (new in
|
||||
@@ -432,6 +445,7 @@ putBufferNumber pathname
|
||||
New in version 2.1.
|
||||
|
||||
raise Bring the editor to the foreground.
|
||||
Only when Vim is run with a GUI.
|
||||
New in version 2.1.
|
||||
|
||||
removeAnno serNum
|
||||
@@ -521,6 +535,7 @@ showBalloon text
|
||||
Show a balloon (popup window) at the mouse pointer position,
|
||||
containing "text", a string argument. The balloon should
|
||||
disappear when the mouse is moved more than a few pixels.
|
||||
Only when Vim is run with a GUI.
|
||||
New in version 2.1.
|
||||
|
||||
specialKeys
|
||||
@@ -654,6 +669,7 @@ balloonText text
|
||||
Used when 'ballooneval' is set and the mouse pointer rests on
|
||||
some text for a moment. "text" is a string, the text under
|
||||
the mouse pointer.
|
||||
Only when Vim is run with a GUI.
|
||||
New in version 2.1.
|
||||
|
||||
buttonRelease button lnum col
|
||||
@@ -803,6 +819,13 @@ newDotAndMark, keyCommand and keyAtPos are generated (in this order).
|
||||
NUL bytes are not possible. For editor -> IDE they will appear as NL
|
||||
characters. For IDE -> editor they cannot be inserted.
|
||||
|
||||
A NetBeans session may be initiated with Vim running in a terminal, and
|
||||
continued later in a GUI environment after running the |:gui|command. In this
|
||||
case, the highlighting defined for the NetBeans annotations may be cleared
|
||||
when the ":gui" command sources .gvimrc and this file loads a colorscheme
|
||||
that runs the command ":highlight clear".
|
||||
New in version 2.5.
|
||||
|
||||
|
||||
==============================================================================
|
||||
9. Debugging NetBeans protocol *netbeans-debugging*
|
||||
|
||||
@@ -3786,7 +3786,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
|+GUI_GTK|} *E599*
|
||||
Specifies the key that your Input Method in X-Windows uses for
|
||||
activation. When this is specified correctly, vim can fully control
|
||||
IM with 'imcmdline', 'iminsert' and 'imsearch'.
|
||||
|
||||
@@ -3827,6 +3827,7 @@ E529 options.txt /*E529*
|
||||
E53 pattern.txt /*E53*
|
||||
E530 options.txt /*E530*
|
||||
E531 options.txt /*E531*
|
||||
E532 netbeans.txt /*E532*
|
||||
E533 options.txt /*E533*
|
||||
E534 options.txt /*E534*
|
||||
E535 options.txt /*E535*
|
||||
@@ -3899,6 +3900,7 @@ E595 options.txt /*E595*
|
||||
E596 options.txt /*E596*
|
||||
E597 options.txt /*E597*
|
||||
E598 options.txt /*E598*
|
||||
E599 options.txt /*E599*
|
||||
E60 pattern.txt /*E60*
|
||||
E600 eval.txt /*E600*
|
||||
E601 eval.txt /*E601*
|
||||
|
||||
@@ -1082,8 +1082,12 @@ restored. (Luc St-Louis)
|
||||
|
||||
Vim 7.3:
|
||||
Patches to include:
|
||||
- Patch to support netbeans in Unix console Vim. (Xavier de Gaye, 2009 Apr
|
||||
26) Now with Mercurial repository (2010 Jan 2)
|
||||
- nbstart command patch (Xavier de Gaye)
|
||||
Keep nbkey as the first command in ex_cmds.h
|
||||
NETBEANS_CLOSED -> NETBEANS_OPEN
|
||||
netbeans_closed() -> netbeans_active()
|
||||
do check netbeans_active() when calling netbeans_removed() et al.
|
||||
|
||||
- Include conceal patch?
|
||||
http://vince.negri.googlepages.com/
|
||||
http://vim.wikia.com/wiki/Patch_to_conceal_parts_of_lines
|
||||
|
||||
@@ -7170,6 +7170,18 @@ the buffer is marked as modified.
|
||||
Added *added-7.3*
|
||||
-----
|
||||
|
||||
Added the 'relativenumber' option. (Markus Heidelberg)
|
||||
|
||||
Support for Blowfish encryption. Added the 'cryptmethod' option.
|
||||
Mostly by Moshin Ahmed.
|
||||
|
||||
Added support for NetBeans in a terminal. (Xavier de Gaye)
|
||||
|
||||
More floating point functions: acos(), asin(), atan2(), cosh(), exp(), fmod(),
|
||||
log(), sinh(), tan(), tanh(). (Bill McCarthy)
|
||||
|
||||
gettabvar() and settabvar() functions. (Yegappan Lakshmanan)
|
||||
|
||||
New syntax files:
|
||||
TODO
|
||||
|
||||
@@ -7181,18 +7193,8 @@ TODO
|
||||
Breton. (Dominique Pelle)
|
||||
|
||||
|
||||
Added the 'relativenumber' option. (Markus Heidelberg)
|
||||
|
||||
Support for Blowfish encryption. Added the 'cryptmethod' option.
|
||||
Mostly by Moshin Ahmed.
|
||||
|
||||
Support GDK_SUPER_MASK for GTK on Mac. (Stephan Schulz)
|
||||
|
||||
More floating point functions: acos(), asin(), atan2(), cosh(), exp(), fmod(),
|
||||
log(), sinh(), tan(), tanh(). (Bill McCarthy)
|
||||
|
||||
gettabvar() and settabvar() functions. (Yegappan Lakshmanan)
|
||||
|
||||
|
||||
Fixed *fixed-7.3*
|
||||
-----
|
||||
|
||||
@@ -9433,8 +9433,7 @@ ins_tab()
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (usingNetbeans)
|
||||
{
|
||||
netbeans_removed(curbuf, fpos.lnum, cursor->col,
|
||||
(long)(i + 1));
|
||||
netbeans_removed(curbuf, fpos.lnum, cursor->col, (long)(i + 1));
|
||||
netbeans_inserted(curbuf, fpos.lnum, cursor->col,
|
||||
(char_u *)"\t", 1);
|
||||
}
|
||||
|
||||
@@ -3815,10 +3815,10 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
|
||||
DO_AUTOCHDIR
|
||||
|
||||
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG)
|
||||
if (gui.in_use && curbuf->b_ffname != NULL)
|
||||
if (curbuf->b_ffname != NULL)
|
||||
{
|
||||
# ifdef FEAT_SUN_WORKSHOP
|
||||
if (usingSunWorkShop)
|
||||
if (gui.in_use && usingSunWorkShop)
|
||||
workshop_file_opened((char *)curbuf->b_ffname, curbuf->b_p_ro);
|
||||
# endif
|
||||
# ifdef FEAT_NETBEANS_INTG
|
||||
|
||||
@@ -1193,11 +1193,9 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The Netbeans features currently only work with Motif and GTK and Win32.
|
||||
* It also requires +listcmds and +eval.
|
||||
* The Netbeans feature requires +listcmds and +eval.
|
||||
*/
|
||||
#if ((!defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
|
||||
|| !defined(FEAT_LISTCMDS) || !defined(FEAT_EVAL)) \
|
||||
#if (!defined(FEAT_LISTCMDS) || !defined(FEAT_EVAL)) \
|
||||
&& defined(FEAT_NETBEANS_INTG)
|
||||
# undef FEAT_NETBEANS_INTG
|
||||
#endif
|
||||
|
||||
@@ -2941,6 +2941,7 @@ inchar(buf, maxlen, wait_time, tb_change_cnt)
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG)
|
||||
/* Process the queued netbeans messages. */
|
||||
if (usingNetbeans)
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
|
||||
|
||||
12
src/gui.c
12
src/gui.c
@@ -593,11 +593,6 @@ gui_init()
|
||||
gui_mch_disable_beval_area(balloonEval);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (starting == 0 && usingNetbeans)
|
||||
/* Tell the client that it can start sending commands. */
|
||||
netbeans_startup_done();
|
||||
#endif
|
||||
#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
|
||||
if (!im_xim_isvalid_imactivate())
|
||||
EMSG(_("E599: Value of 'imactivatekey' is invalid"));
|
||||
@@ -2367,7 +2362,8 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
|
||||
if (draw_sign)
|
||||
/* Draw the sign on top of the spaces. */
|
||||
gui_mch_drawsign(gui.row, col, gui.highlight_mask);
|
||||
# ifdef FEAT_NETBEANS_INTG
|
||||
# if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_MOTIF) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
|
||||
if (multi_sign)
|
||||
netbeans_draw_multisign_indicator(gui.row);
|
||||
# endif
|
||||
@@ -4784,6 +4780,10 @@ ex_gui(eap)
|
||||
* of the argument ending up after the shell prompt. */
|
||||
msg_clr_eos_force();
|
||||
gui_start();
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (usingNetbeans)
|
||||
netbeans_gui_register();
|
||||
#endif
|
||||
}
|
||||
if (!ends_excmd(*eap->arg))
|
||||
ex_next(eap);
|
||||
|
||||
@@ -6596,6 +6596,7 @@ gui_mch_wait_for_chars(long wtime)
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG)
|
||||
/* Process the queued netbeans messages. */
|
||||
if (usingNetbeans)
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1732,7 +1732,7 @@ process_message(void)
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (msg.message == WM_NETBEANS)
|
||||
{
|
||||
messageFromNetbeansW32();
|
||||
netbeans_read();
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -1999,6 +1999,7 @@ gui_mch_wait_for_chars(int wtime)
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
/* Process the queued netbeans messages. */
|
||||
if (usingNetbeans)
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -635,8 +635,8 @@ gui_x11_expose_cb(w, dud, event, dum)
|
||||
gui_mch_update();
|
||||
}
|
||||
|
||||
#if (defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)) \
|
||||
|| defined(PROTO)
|
||||
#if ((defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)) \
|
||||
&& defined(FEAT_GUI_MOTIF)) || defined(PROTO)
|
||||
/*
|
||||
* This function fills in the XRectangle object with the current x,y
|
||||
* coordinates and height, width so that an XtVaSetValues to the same shell of
|
||||
@@ -709,7 +709,7 @@ gui_x11_resize_window_cb(w, dud, event, dum)
|
||||
workshop_frame_moved(rec.x, rec.y, rec.width, rec.height);
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
#if defined(FEAT_NETBEANS_INTG) && defined(FEAT_GUI_MOTIF)
|
||||
if (usingNetbeans)
|
||||
{
|
||||
XRectangle rec;
|
||||
|
||||
26
src/main.c
26
src/main.c
@@ -528,10 +528,6 @@ main
|
||||
* Set the default values for the options that use Rows and Columns.
|
||||
*/
|
||||
ui_get_shellsize(); /* inits Rows and Columns */
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (usingNetbeans)
|
||||
Columns += 2; /* leave room for glyph gutter */
|
||||
#endif
|
||||
win_init_size();
|
||||
#ifdef FEAT_DIFF
|
||||
/* Set the 'diff' option now, so that it can be checked for in a .vimrc
|
||||
@@ -937,8 +933,20 @@ main
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (usingNetbeans)
|
||||
{
|
||||
# ifdef FEAT_GUI
|
||||
# if !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32)
|
||||
if (gui.in_use)
|
||||
{
|
||||
mch_errmsg(_("netbeans is not supported with this GUI\n"));
|
||||
mch_exit(2);
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
/* Tell the client that it can start sending commands. */
|
||||
netbeans_startup_done();
|
||||
}
|
||||
#endif
|
||||
|
||||
TIME_MSG("before starting main loop");
|
||||
@@ -1879,6 +1887,16 @@ command_line_scan(parmp)
|
||||
break;
|
||||
|
||||
case 'n': /* "-n" no swap file */
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
/* checking for "-nb", netbeans parameters */
|
||||
if (argv[0][argv_idx] == 'b')
|
||||
{
|
||||
++usingNetbeans;
|
||||
netbeansArg = argv[0];
|
||||
argv_idx = -1; /* skip to next argument */
|
||||
}
|
||||
else
|
||||
#endif
|
||||
parmp->no_swap_file = TRUE;
|
||||
break;
|
||||
|
||||
|
||||
317
src/netbeans.c
317
src/netbeans.c
@@ -61,10 +61,11 @@
|
||||
|
||||
#define GUARDED 10000 /* typenr for "guarded" annotation */
|
||||
#define GUARDEDOFFSET 1000000 /* base for "guarded" sign id's */
|
||||
#define MAX_COLOR_LENGTH 32 /* max length of color name in defineAnnoType */
|
||||
|
||||
/* The first implementation (working only with Netbeans) returned "1.1". The
|
||||
* protocol implemented here also supports A-A-P. */
|
||||
static char *ExtEdProtocolVersion = "2.4";
|
||||
static char *ExtEdProtocolVersion = "2.5";
|
||||
|
||||
static long pos2off __ARGS((buf_T *, pos_T *));
|
||||
static pos_T *off2pos __ARGS((buf_T *, long));
|
||||
@@ -90,6 +91,11 @@ static void nb_parse_cmd __ARGS((char_u *));
|
||||
static int nb_do_cmd __ARGS((int, char_u *, int, int, char_u *));
|
||||
static void nb_send __ARGS((char *buf, char *fun));
|
||||
|
||||
/* TRUE when netbeans is running with a GUI. */
|
||||
#ifdef FEAT_GUI
|
||||
# define NB_HAS_GUI (gui.in_use || gui.starting)
|
||||
#endif
|
||||
|
||||
#ifdef WIN64
|
||||
typedef __int64 NBSOCK;
|
||||
#else
|
||||
@@ -110,16 +116,6 @@ extern HWND s_hwnd; /* Gvim's Window handle */
|
||||
static int r_cmdno; /* current command number for reply */
|
||||
static int haveConnection = FALSE; /* socket is connected and
|
||||
initialization is done */
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
static void netbeans_Xt_connect __ARGS((void *context));
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
static void netbeans_gtk_connect __ARGS((void));
|
||||
#endif
|
||||
#ifdef FEAT_GUI_W32
|
||||
static void netbeans_w32_connect __ARGS((void));
|
||||
#endif
|
||||
|
||||
static int dosetvisible = FALSE;
|
||||
|
||||
/*
|
||||
@@ -130,101 +126,39 @@ static int dosetvisible = FALSE;
|
||||
#endif
|
||||
|
||||
/* Connect back to Netbeans process */
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
static void
|
||||
netbeans_Xt_connect(void *context)
|
||||
{
|
||||
netbeans_connect();
|
||||
if (sd > 0)
|
||||
{
|
||||
/* tell notifier we are interested in being called
|
||||
* when there is input on the editor connection socket
|
||||
*/
|
||||
inputHandler = XtAppAddInput((XtAppContext)context, sd,
|
||||
(XtPointer)(XtInputReadMask + XtInputExceptMask),
|
||||
messageFromNetbeans, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
netbeans_disconnect(void)
|
||||
{
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
if (inputHandler != (XtInputId)NULL)
|
||||
{
|
||||
XtRemoveInput(inputHandler);
|
||||
inputHandler = (XtInputId)NULL;
|
||||
}
|
||||
sd = -1;
|
||||
haveConnection = FALSE;
|
||||
# ifdef FEAT_BEVAL
|
||||
bevalServers &= ~BEVAL_NETBEANS;
|
||||
# endif
|
||||
}
|
||||
#endif /* FEAT_MOTIF_GUI */
|
||||
|
||||
#else
|
||||
# ifdef FEAT_GUI_GTK
|
||||
static void
|
||||
netbeans_gtk_connect(void)
|
||||
{
|
||||
netbeans_connect();
|
||||
if (sd > 0)
|
||||
{
|
||||
/*
|
||||
* Tell gdk we are interested in being called when there
|
||||
* is input on the editor connection socket
|
||||
*/
|
||||
inputHandler = gdk_input_add((gint)sd, (GdkInputCondition)
|
||||
((int)GDK_INPUT_READ + (int)GDK_INPUT_EXCEPTION),
|
||||
messageFromNetbeans, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
netbeans_disconnect(void)
|
||||
{
|
||||
if (inputHandler != 0)
|
||||
{
|
||||
gdk_input_remove(inputHandler);
|
||||
inputHandler = 0;
|
||||
}
|
||||
sd = -1;
|
||||
haveConnection = FALSE;
|
||||
# ifdef FEAT_BEVAL
|
||||
bevalServers &= ~BEVAL_NETBEANS;
|
||||
# endif
|
||||
}
|
||||
#endif /* FEAT_GUI_GTK */
|
||||
|
||||
#if defined(FEAT_GUI_W32) || defined(PROTO)
|
||||
static void
|
||||
netbeans_w32_connect(void)
|
||||
{
|
||||
netbeans_connect();
|
||||
if (sd > 0)
|
||||
{
|
||||
/*
|
||||
* Tell Windows we are interested in receiving message when there
|
||||
* is input on the editor connection socket
|
||||
*/
|
||||
inputHandler = WSAAsyncSelect(sd, s_hwnd, WM_NETBEANS, FD_READ);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
netbeans_disconnect(void)
|
||||
{
|
||||
# else
|
||||
# ifdef FEAT_GUI_W32
|
||||
if (inputHandler == 0)
|
||||
{
|
||||
WSAAsyncSelect(sd, s_hwnd, 0, 0);
|
||||
inputHandler = -1;
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
sd = -1;
|
||||
haveConnection = FALSE;
|
||||
#ifdef FEAT_BEVAL
|
||||
bevalServers &= ~BEVAL_NETBEANS;
|
||||
#endif
|
||||
}
|
||||
#endif /* FEAT_GUI_W32 */
|
||||
|
||||
#define NB_DEF_HOST "localhost"
|
||||
#define NB_DEF_ADDR "3219"
|
||||
@@ -709,31 +643,35 @@ netbeans_parse_messages(void)
|
||||
#define MAXMSGSIZE 4096
|
||||
|
||||
/*
|
||||
* Read and process a command from netbeans.
|
||||
* Read a command from netbeans.
|
||||
*/
|
||||
#if defined(FEAT_GUI_W32) || defined(PROTO)
|
||||
/* Use this one when generating prototypes, the others are static. */
|
||||
void
|
||||
messageFromNetbeansW32()
|
||||
#else
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
static void
|
||||
messageFromNetbeans(XtPointer clientData UNUSED,
|
||||
int *unused1 UNUSED,
|
||||
XtInputId *unused2 UNUSED)
|
||||
{
|
||||
netbeans_read();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_GTK
|
||||
static void
|
||||
messageFromNetbeans(gpointer clientData UNUSED,
|
||||
gint unused1 UNUSED,
|
||||
GdkInputCondition unused2 UNUSED)
|
||||
{
|
||||
netbeans_read();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void
|
||||
netbeans_read()
|
||||
{
|
||||
static char_u *buf = NULL;
|
||||
int len = 0;
|
||||
int readlen = 0;
|
||||
#ifndef FEAT_GUI_GTK
|
||||
#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
|
||||
static int level = 0;
|
||||
#endif
|
||||
#ifdef HAVE_SELECT
|
||||
@@ -751,8 +689,11 @@ messageFromNetbeans(gpointer clientData UNUSED,
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef FEAT_GUI_GTK
|
||||
++level; /* recursion guard; this will be called from the X event loop */
|
||||
#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
|
||||
/* recursion guard; this will be called from the X event loop at unknown
|
||||
* moments */
|
||||
if (NB_HAS_GUI)
|
||||
++level;
|
||||
#endif
|
||||
|
||||
/* Allocate a buffer to read into. */
|
||||
@@ -807,12 +748,13 @@ messageFromNetbeans(gpointer clientData UNUSED,
|
||||
return; /* don't try to parse it */
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)
|
||||
#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32)
|
||||
/* Let the main loop handle messages. */
|
||||
if (NB_HAS_GUI)
|
||||
{
|
||||
# ifdef FEAT_GUI_GTK
|
||||
if (gtk_main_level() > 0)
|
||||
gtk_main_quit();
|
||||
# endif
|
||||
# else
|
||||
/* Parse the messages now, but avoid recursion. */
|
||||
if (level == 1)
|
||||
@@ -821,6 +763,8 @@ messageFromNetbeans(gpointer clientData UNUSED,
|
||||
--level;
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Handle one NUL terminated command.
|
||||
@@ -945,7 +889,7 @@ static int globalsignmapused;
|
||||
static int mapsigntype __ARGS((nbbuf_T *, int localsigntype));
|
||||
static void addsigntype __ARGS((nbbuf_T *, int localsigntype, char_u *typeName,
|
||||
char_u *tooltip, char_u *glyphfile,
|
||||
int usefg, int fg, int usebg, int bg));
|
||||
char_u *fg, char_u *bg));
|
||||
static void print_read_msg __ARGS((nbbuf_T *buf));
|
||||
static void print_save_msg __ARGS((nbbuf_T *buf, long nchars));
|
||||
|
||||
@@ -1848,7 +1792,9 @@ nb_do_cmd(
|
||||
buf->bufp = curbuf;
|
||||
maketitle();
|
||||
buf->insertDone = FALSE;
|
||||
#if defined(FEAT_MENU) && defined(FEAT_GUI)
|
||||
gui_update_menus(0);
|
||||
#endif
|
||||
/* =====================================================================*/
|
||||
}
|
||||
else if (streq((char *)cmd, "insertDone"))
|
||||
@@ -2012,7 +1958,9 @@ nb_do_cmd(
|
||||
netbeansReadFile = 1;
|
||||
buf->bufp = curbuf;
|
||||
maketitle();
|
||||
#if defined(FEAT_MENU) && defined(FEAT_GUI)
|
||||
gui_update_menus(0);
|
||||
#endif
|
||||
/* =====================================================================*/
|
||||
}
|
||||
else if (streq((char *)cmd, "editFile"))
|
||||
@@ -2034,7 +1982,9 @@ nb_do_cmd(
|
||||
#if defined(FEAT_TITLE)
|
||||
maketitle();
|
||||
#endif
|
||||
#if defined(FEAT_MENU) && defined(FEAT_GUI)
|
||||
gui_update_menus(0);
|
||||
#endif
|
||||
/* =====================================================================*/
|
||||
}
|
||||
else if (streq((char *)cmd, "setVisible"))
|
||||
@@ -2058,17 +2008,21 @@ nb_do_cmd(
|
||||
doupdate = 1;
|
||||
dosetvisible = FALSE;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
/* Side effect!!!. */
|
||||
if (!gui.starting)
|
||||
gui_mch_set_foreground();
|
||||
#endif
|
||||
}
|
||||
/* =====================================================================*/
|
||||
}
|
||||
else if (streq((char *)cmd, "raise"))
|
||||
{
|
||||
#ifdef FEAT_GUI
|
||||
/* Bring gvim to the foreground. */
|
||||
if (!gui.starting)
|
||||
gui_mch_set_foreground();
|
||||
#endif
|
||||
/* =====================================================================*/
|
||||
}
|
||||
else if (streq((char *)cmd, "setModified"))
|
||||
@@ -2199,8 +2153,10 @@ nb_do_cmd(
|
||||
update_screen(VALID);
|
||||
setcursor();
|
||||
out_flush();
|
||||
#ifdef FEAT_GUI
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
gui_mch_flush();
|
||||
#endif
|
||||
/* Quit a hit-return or more prompt. */
|
||||
if (State == HITRETURN || State == ASKMORE)
|
||||
{
|
||||
@@ -2237,7 +2193,9 @@ nb_do_cmd(
|
||||
EMSG("E649: invalid buffer identifier in close");
|
||||
}
|
||||
nbdebug((" CLOSE %d: %s\n", bufno, name));
|
||||
#ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
if (buf->bufp != NULL)
|
||||
do_buffer(DOBUF_WIPE, DOBUF_FIRST, FORWARD,
|
||||
buf->bufp->b_fnum, TRUE);
|
||||
@@ -2264,10 +2222,9 @@ nb_do_cmd(
|
||||
char_u *tooltip;
|
||||
char_u *p;
|
||||
char_u *glyphFile;
|
||||
int use_fg = 0;
|
||||
int use_bg = 0;
|
||||
int fg = -1;
|
||||
int bg = -1;
|
||||
int parse_error = FALSE;
|
||||
char_u *fg;
|
||||
char_u *bg;
|
||||
|
||||
if (buf == NULL)
|
||||
{
|
||||
@@ -2290,33 +2247,32 @@ nb_do_cmd(
|
||||
vim_free(p);
|
||||
|
||||
args = skipwhite(args + 1);
|
||||
if (STRNCMP(args, "none", 4) == 0)
|
||||
args += 5;
|
||||
else
|
||||
p = skiptowhite(args);
|
||||
if (*p != NUL)
|
||||
{
|
||||
use_fg = 1;
|
||||
cp = (char *)args;
|
||||
fg = strtol(cp, &cp, 10);
|
||||
args = (char_u *)cp;
|
||||
*p = NUL;
|
||||
p = skipwhite(p + 1);
|
||||
}
|
||||
if (STRNCMP(args, "none", 4) == 0)
|
||||
args += 5;
|
||||
else
|
||||
fg = vim_strsave(args);
|
||||
bg = vim_strsave(p);
|
||||
if (STRLEN(fg) > MAX_COLOR_LENGTH || STRLEN(bg) > MAX_COLOR_LENGTH)
|
||||
{
|
||||
use_bg = 1;
|
||||
cp = (char *)args;
|
||||
bg = strtol(cp, &cp, 10);
|
||||
args = (char_u *)cp;
|
||||
EMSG("E532: highlighting color name too long in defineAnnoType");
|
||||
vim_free(typeName);
|
||||
parse_error = TRUE;
|
||||
}
|
||||
if (typeName != NULL && tooltip != NULL && glyphFile != NULL)
|
||||
addsigntype(buf, typeNum, typeName, tooltip, glyphFile,
|
||||
use_fg, fg, use_bg, bg);
|
||||
else if (typeName != NULL && tooltip != NULL && glyphFile != NULL)
|
||||
addsigntype(buf, typeNum, typeName, tooltip, glyphFile, fg, bg);
|
||||
else
|
||||
vim_free(typeName);
|
||||
|
||||
/* don't free typeName; it's used directly in addsigntype() */
|
||||
vim_free(fg);
|
||||
vim_free(bg);
|
||||
vim_free(tooltip);
|
||||
vim_free(glyphFile);
|
||||
if (parse_error)
|
||||
return FAIL;
|
||||
|
||||
#endif
|
||||
/* =====================================================================*/
|
||||
@@ -2588,8 +2544,10 @@ nb_do_cmd(
|
||||
update_screen(NOT_VALID);
|
||||
setcursor();
|
||||
out_flush();
|
||||
#ifdef FEAT_GUI
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
gui_mch_flush();
|
||||
#endif
|
||||
/* Quit a hit-return or more prompt. */
|
||||
if (State == HITRETURN || State == ASKMORE)
|
||||
{
|
||||
@@ -2638,8 +2596,10 @@ coloncmd(char *cmd, ...)
|
||||
setcursor(); /* restore the cursor position */
|
||||
out_flush(); /* make sure output has been written */
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
gui_mch_flush();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -2707,7 +2667,8 @@ nb_init_graphics(void)
|
||||
|
||||
if (!did_init)
|
||||
{
|
||||
coloncmd(":highlight NBGuarded guibg=Cyan guifg=Black");
|
||||
coloncmd(":highlight NBGuarded guibg=Cyan guifg=Black"
|
||||
" ctermbg=LightCyan ctermfg=Black");
|
||||
coloncmd(":sign define %d linehl=NBGuarded", GUARDED);
|
||||
|
||||
did_init = TRUE;
|
||||
@@ -2785,7 +2746,7 @@ netbeans_keyname(int key, char *buf)
|
||||
strcat(buf, name);
|
||||
}
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
/*
|
||||
* Function to be called for balloon evaluation. Grabs the text under the
|
||||
* cursor and sends it to the debugger for evaluation. The debugger should
|
||||
@@ -2829,6 +2790,64 @@ netbeans_beval_cb(
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Return netbeans file descriptor.
|
||||
*/
|
||||
int
|
||||
netbeans_filedesc (void)
|
||||
{
|
||||
return sd;
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI) || defined(PROTO)
|
||||
/*
|
||||
* Register our file descriptor with the gui event handling system.
|
||||
*/
|
||||
void
|
||||
netbeans_gui_register(void)
|
||||
{
|
||||
if (!NB_HAS_GUI)
|
||||
return;
|
||||
|
||||
if (sd > 0)
|
||||
{
|
||||
# ifdef FEAT_GUI_MOTIF
|
||||
/* tell notifier we are interested in being called
|
||||
* when there is input on the editor connection socket
|
||||
*/
|
||||
if (inputHandler == (XtInputId)NULL)
|
||||
inputHandler = XtAppAddInput((XtAppContext)app_context, sd,
|
||||
(XtPointer)(XtInputReadMask + XtInputExceptMask),
|
||||
messageFromNetbeans, NULL);
|
||||
# else
|
||||
# ifdef FEAT_GUI_GTK
|
||||
/*
|
||||
* Tell gdk we are interested in being called when there
|
||||
* is input on the editor connection socket
|
||||
*/
|
||||
if (inputHandler == 0)
|
||||
inputHandler = gdk_input_add((gint)sd, (GdkInputCondition)
|
||||
((int)GDK_INPUT_READ + (int)GDK_INPUT_EXCEPTION),
|
||||
messageFromNetbeans, NULL);
|
||||
# else
|
||||
# ifdef FEAT_GUI_W32
|
||||
/*
|
||||
* Tell Windows we are interested in receiving message when there
|
||||
* is input on the editor connection socket
|
||||
*/
|
||||
if (inputHandler == -1)
|
||||
inputHandler = WSAAsyncSelect(sd, s_hwnd, WM_NETBEANS, FD_READ);
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
}
|
||||
|
||||
# ifdef FEAT_BEVAL
|
||||
bevalServers |= BEVAL_NETBEANS;
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Tell netbeans that the window was opened, ready for commands.
|
||||
*/
|
||||
@@ -2837,24 +2856,14 @@ netbeans_startup_done(void)
|
||||
{
|
||||
char *cmd = "0:startupDone=0\n";
|
||||
|
||||
if (usingNetbeans)
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
netbeans_Xt_connect(app_context);
|
||||
#else
|
||||
# ifdef FEAT_GUI_GTK
|
||||
netbeans_gtk_connect();
|
||||
# else
|
||||
# ifdef FEAT_GUI_W32
|
||||
netbeans_w32_connect();
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
if (!haveConnection)
|
||||
if (!usingNetbeans)
|
||||
return;
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
bevalServers |= BEVAL_NETBEANS;
|
||||
netbeans_connect();
|
||||
if (!haveConnection)
|
||||
return;
|
||||
#ifdef FEAT_GUI
|
||||
netbeans_gui_register();
|
||||
#endif
|
||||
|
||||
nbdebug(("EVT: %s", cmd));
|
||||
@@ -3404,7 +3413,6 @@ netbeans_gutter_click(linenr_T lnum)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Add a sign of the requested type at the requested location.
|
||||
*
|
||||
@@ -3427,14 +3435,12 @@ addsigntype(
|
||||
char_u *typeName,
|
||||
char_u *tooltip UNUSED,
|
||||
char_u *glyphFile,
|
||||
int use_fg,
|
||||
int fg,
|
||||
int use_bg,
|
||||
int bg)
|
||||
char_u *fg,
|
||||
char_u *bg)
|
||||
{
|
||||
char fgbuf[32];
|
||||
char bgbuf[32];
|
||||
int i, j;
|
||||
int use_fg = (*fg && STRCMP(fg, "none") != 0);
|
||||
int use_bg = (*bg && STRCMP(bg, "none") != 0);
|
||||
|
||||
for (i = 0; i < globalsignmapused; i++)
|
||||
if (STRCMP(typeName, globalsignmap[i]) == 0)
|
||||
@@ -3442,12 +3448,26 @@ addsigntype(
|
||||
|
||||
if (i == globalsignmapused) /* not found; add it to global map */
|
||||
{
|
||||
nbdebug(("DEFINEANNOTYPE(%d,%s,%s,%s,%d,%d)\n",
|
||||
nbdebug(("DEFINEANNOTYPE(%d,%s,%s,%s,%s,%s)\n",
|
||||
typeNum, typeName, tooltip, glyphFile, fg, bg));
|
||||
if (use_fg || use_bg)
|
||||
{
|
||||
sprintf(fgbuf, "guifg=#%06x", fg & 0xFFFFFF);
|
||||
sprintf(bgbuf, "guibg=#%06x", bg & 0xFFFFFF);
|
||||
char fgbuf[2 * (8 + MAX_COLOR_LENGTH) + 1];
|
||||
char bgbuf[2 * (8 + MAX_COLOR_LENGTH) + 1];
|
||||
char *ptr;
|
||||
int value;
|
||||
|
||||
value = strtol((char *)fg, &ptr, 10);
|
||||
if (ptr != (char *)fg)
|
||||
sprintf(fgbuf, "guifg=#%06x", value & 0xFFFFFF);
|
||||
else
|
||||
sprintf(fgbuf, "guifg=%s ctermfg=%s", fg, fg);
|
||||
|
||||
value = strtol((char *)bg, &ptr, 10);
|
||||
if (ptr != (char *)bg)
|
||||
sprintf(bgbuf, "guibg=#%06x", value & 0xFFFFFF);
|
||||
else
|
||||
sprintf(bgbuf, "guibg=%s ctermbg=%s", bg, bg);
|
||||
|
||||
coloncmd(":highlight NB_%s %s %s", typeName, (use_fg) ? fgbuf : "",
|
||||
(use_bg) ? bgbuf : "");
|
||||
@@ -3674,7 +3694,8 @@ print_read_msg(buf)
|
||||
}
|
||||
if (!buf->bufp->b_start_eol)
|
||||
{
|
||||
STRCAT(IObuff, shortmess(SHM_LAST) ? _("[noeol]") : _("[Incomplete last line]"));
|
||||
STRCAT(IObuff, shortmess(SHM_LAST) ? _("[noeol]")
|
||||
: _("[Incomplete last line]"));
|
||||
c = TRUE;
|
||||
}
|
||||
msg_add_lines(c, (long)lnum, nchars);
|
||||
@@ -3689,8 +3710,9 @@ print_read_msg(buf)
|
||||
|
||||
|
||||
/*
|
||||
* Print a message after NetBeans writes the file. This message should be identical
|
||||
* to the standard message a non-netbeans user would see when writing a file.
|
||||
* Print a message after NetBeans writes the file. This message should be
|
||||
* identical to the standard message a non-netbeans user would see when
|
||||
* writing a file.
|
||||
*/
|
||||
static void
|
||||
print_save_msg(buf, nchars)
|
||||
@@ -3702,7 +3724,8 @@ print_save_msg(buf, nchars)
|
||||
|
||||
if (nchars >= 0)
|
||||
{
|
||||
msg_add_fname(buf->bufp, buf->bufp->b_ffname); /* fname in IObuff with quotes */
|
||||
/* put fname in IObuff with quotes */
|
||||
msg_add_fname(buf->bufp, buf->bufp->b_ffname);
|
||||
c = FALSE;
|
||||
|
||||
msg_add_lines(c, buf->bufp->b_ml.ml_line_count,
|
||||
|
||||
@@ -366,6 +366,12 @@ mch_inchar(buf, maxlen, wtime, tb_change_cnt)
|
||||
{
|
||||
int len;
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
/* Process the queued netbeans messages. */
|
||||
if (usingNetbeans)
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
|
||||
/* Check if window changed size while we were busy, perhaps the ":set
|
||||
* columns=99" command was used. */
|
||||
while (do_resize)
|
||||
@@ -378,6 +384,11 @@ mch_inchar(buf, maxlen, wtime, tb_change_cnt)
|
||||
if (!do_resize) /* return if not interrupted by resize */
|
||||
return 0;
|
||||
handle_resize();
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
/* Process the queued netbeans messages. */
|
||||
if (usingNetbeans)
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else /* wtime == -1 */
|
||||
@@ -407,12 +418,22 @@ mch_inchar(buf, maxlen, wtime, tb_change_cnt)
|
||||
{
|
||||
while (do_resize) /* window changed size */
|
||||
handle_resize();
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
/* Process the queued netbeans messages. */
|
||||
if (usingNetbeans)
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
/*
|
||||
* we want to be interrupted by the winch signal
|
||||
* or by an event on the monitored file descriptors
|
||||
*/
|
||||
WaitForChar(-1L);
|
||||
if (WaitForChar(-1L) == 0)
|
||||
{
|
||||
if (do_resize) /* interrupted by SIGWINCH signal */
|
||||
continue;
|
||||
handle_resize();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* If input was put directly in typeahead buffer bail out here. */
|
||||
if (typebuf_changed(tb_change_cnt))
|
||||
@@ -4766,6 +4787,9 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
int *check_for_gpm UNUSED;
|
||||
{
|
||||
int ret;
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
int nb_fd = (usingNetbeans ? netbeans_filedesc() : -1);
|
||||
#endif
|
||||
#if defined(FEAT_XCLIPBOARD) || defined(USE_XSMP) || defined(FEAT_MZSCHEME)
|
||||
static int busy = FALSE;
|
||||
|
||||
@@ -4815,7 +4839,7 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
# endif
|
||||
#endif
|
||||
#ifndef HAVE_SELECT
|
||||
struct pollfd fds[5];
|
||||
struct pollfd fds[6];
|
||||
int nfd;
|
||||
# ifdef FEAT_XCLIPBOARD
|
||||
int xterm_idx = -1;
|
||||
@@ -4825,6 +4849,9 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
# endif
|
||||
# ifdef USE_XSMP
|
||||
int xsmp_idx = -1;
|
||||
# endif
|
||||
# ifdef FEAT_NETBEANS_INTG
|
||||
int nb_idx = -1;
|
||||
# endif
|
||||
int towait = (int)msec;
|
||||
|
||||
@@ -4876,6 +4903,15 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
nfd++;
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (nb_fd != -1)
|
||||
{
|
||||
nb_idx = nfd;
|
||||
fds[nfd].fd = nb_fd;
|
||||
fds[nfd].events = POLLIN;
|
||||
nfd++;
|
||||
}
|
||||
#endif
|
||||
|
||||
ret = poll(fds, nfd, towait);
|
||||
# ifdef FEAT_MZSCHEME
|
||||
@@ -4929,6 +4965,13 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
finished = FALSE; /* Try again */
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (ret > 0 && nb_idx != -1 && fds[nb_idx].revents & POLLIN)
|
||||
{
|
||||
netbeans_read();
|
||||
--ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#else /* HAVE_SELECT */
|
||||
@@ -5010,6 +5053,14 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
maxfd = xsmp_icefd;
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (nb_fd != -1)
|
||||
{
|
||||
FD_SET(nb_fd, &rfds);
|
||||
if (maxfd < nb_fd)
|
||||
maxfd = nb_fd;
|
||||
}
|
||||
#endif
|
||||
|
||||
# ifdef OLD_VMS
|
||||
/* Old VMS as v6.2 and older have broken select(). It waits more than
|
||||
@@ -5087,6 +5138,13 @@ RealWaitForChar(fd, msec, check_for_gpm)
|
||||
}
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (ret > 0 && nb_fd != -1 && FD_ISSET(nb_fd, &rfds))
|
||||
{
|
||||
netbeans_read();
|
||||
--ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* HAVE_SELECT */
|
||||
|
||||
|
||||
18
src/proto.h
18
src/proto.h
@@ -181,6 +181,16 @@ void qsort __ARGS((void *base, size_t elm_count, size_t elm_size, int (*cmp)(con
|
||||
# include "if_ruby.pro"
|
||||
# endif
|
||||
|
||||
/* Ugly solution for "BalloonEval" not being defined while it's used in some
|
||||
* .pro files. */
|
||||
# ifndef FEAT_BEVAL
|
||||
# define BalloonEval int
|
||||
# endif
|
||||
|
||||
# ifdef FEAT_NETBEANS_INTG
|
||||
# include "netbeans.pro"
|
||||
# endif
|
||||
|
||||
# ifdef FEAT_GUI
|
||||
# include "gui.pro"
|
||||
# if defined(UNIX) || defined(MACOS)
|
||||
@@ -194,11 +204,6 @@ extern char_u *vimpty_getenv __ARGS((const char_u *string)); /* from pty.c */
|
||||
# endif
|
||||
# ifdef FEAT_GUI_W16
|
||||
# include "gui_w16.pro"
|
||||
# endif
|
||||
/* Ugly solution for "BalloonEval" not being defined while it's used in
|
||||
* the prototypes. */
|
||||
# ifndef FEAT_BEVAL
|
||||
# define BalloonEval int
|
||||
# endif
|
||||
# ifdef FEAT_GUI_W32
|
||||
# include "gui_w32.pro"
|
||||
@@ -232,9 +237,6 @@ extern char *vim_SelFile __ARGS((Widget toplevel, char *prompt, char *init_path,
|
||||
# ifdef FEAT_SUN_WORKSHOP
|
||||
# include "workshop.pro"
|
||||
# endif
|
||||
# ifdef FEAT_NETBEANS_INTG
|
||||
# include "netbeans.pro"
|
||||
# endif
|
||||
# endif /* FEAT_GUI */
|
||||
|
||||
# ifdef FEAT_OLE
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
/* netbeans.c */
|
||||
void netbeans_parse_messages __ARGS((void));
|
||||
void messageFromNetbeansW32 __ARGS((void));
|
||||
void netbeans_read __ARGS((void));
|
||||
int isNetbeansBuffer __ARGS((buf_T *bufp));
|
||||
int isNetbeansModified __ARGS((buf_T *bufp));
|
||||
void netbeans_end __ARGS((void));
|
||||
void ex_nbkey __ARGS((exarg_T *eap));
|
||||
void netbeans_beval_cb __ARGS((BalloonEval *beval, int state));
|
||||
int netbeans_filedesc __ARGS((void));
|
||||
void netbeans_gui_register __ARGS((void));
|
||||
void netbeans_startup_done __ARGS((void));
|
||||
void netbeans_send_disconnect __ARGS((void));
|
||||
void netbeans_frame_moved __ARGS((int new_x, int new_y));
|
||||
|
||||
Reference in New Issue
Block a user