blob: e7a9aa06faa24b33140bc3ac100ff9cf9af9ff0f [file] [log] [blame]
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001*netbeans.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
Bram Moolenaar071d4272004-06-13 20:20:40 +00002
3
4 VIM REFERENCE MANUAL by Gordon Prieur
5
6
7NetBeans ExternalEditor Integration Features *netbeans*
8 *netbeans-support*
91. Introduction |netbeans-intro|
102. NetBeans Key Bindings |netbeans-keybindings|
113. Configuring Vim for NetBeans |netbeans-configure|
124. Downloading NetBeans |netbeans-download|
135. Preparing NetBeans for Vim |netbeans-preparation|
146. Obtaining the External Editor Module |obtaining-exted|
157. Setting up NetBeans to run with Vim |netbeans-setup|
168. Messages |netbeans-messages|
179. Running Vim from NetBeans |netbeans-run|
1810. NetBeans protocol |netbeans-protocol|
1911. Known problems |netbeans-problems|
20
21{Vi does not have any of these features}
22{only available when compiled with the |+netbeans_intg| feature}
23
24==============================================================================
251. Introduction *netbeans-intro*
26
27NetBeans is an open source Integrated Development Environment developed
28jointly by Sun Microsystems, Inc. and the netbeans.org developer community.
29Initially just a Java IDE, NetBeans has had C, C++, and Fortran support added
30in recent releases.
31
32For more information visit the main NetBeans web site http://www.netbeans.org
33or the NetBeans External Editor site at http://externaleditor.netbeans.org.
34
35Sun Microsystems, Inc. also ships NetBeans under the name Sun ONE Studio.
36Visit http://www.sun.com for more information regarding the Sun ONE Studio
37product line.
38
39Current releases of NetBeans provide full support for Java and limited support
40for C, C++, and Fortran. Current releases of Sun ONE Studio provide full
41support for Java, C, C++, and Fortran.
42
43The interface to NetBeans is also supported by Agide, the A-A-P GUI IDE.
44Agide is very different from NetBeans:
45- Based on Python instead of Java, much smaller footprint and fast startup.
46- Agide is a framework in which many different tools can work together.
47See the A-A-P website for information: http://www.A-A-P.org.
48
49==============================================================================
502. NetBeans Key Bindings *netbeans-keybindings*
51
52Vim understands a number of key bindings that execute NetBeans commands. These
53are typically all the Function key combinations. To execute a NetBeans command,
54the user must press the Pause key followed by a NetBeans key binding. For
55example, in order to compile a Java file, the NetBeans key binding is "F9". So,
56while in vim, press "Pause F9" to compile a java file. To toggle a breakpoint
57at the current line, press "Pause Shift F8".
58
59The Pause key is Function key 21. If you don't have a working Pause key and
60want to use F8 instead, use: >
61
62 :map <F8> <F21>
63
64The External Editor module dynamically reads the NetBeans key bindings so vim
65should always have the latest key bindings, even when NetBeans changes them.
66
67==============================================================================
683. Configuring Vim for NetBeans *netbeans-configure*
69
70For more help installing vim, please read |usr_90.txt| in the Vim User Manual.
71
72
73On Unix
74
75When running configure without arguments the NetBeans interface should be
76included. That is, if the configure check to find out if your system supports
77the required features succeeds.
78
79In case you do not want the NetBeans interface you can disable it by
80uncommenting a line with "--disable-netbeans" in the Makefile.
81
82Currently, only gvim is supported in this integration as NetBeans does not
83have means to supply a terminal emulator for the vim command. Furthermore,
84there is only GUI support for GTK, GNOME, and Motif.
85
86If Motif support is required the user must supply XPM libraries. See
87|workshop-xpm| for details on obtaining the latest version of XPM.
88
89
90On MS-Windows
91
92The Win32 support is now in beta stage.
93
94To use XPM signs on Win32 (e.g. when using with NetBeans) you can compile
95XPM by yourself or use precompiled libraries from http://iamphet.nm.ru/misc/
96(for MS Visual C++) or http://gnuwin32.sourceforge.net (for MinGW).
97
98==============================================================================
994. Downloading NetBeans *netbeans-download*
100
101The NetBeans IDE is available for download from netbeans.org. You can download
102a released version, download sources, or use CVS to download the current
103source tree. If you choose to download sources, follow directions from
104netbeans.org on building NetBeans.
105
106Depending on the version of NetBeans you download, you may need to do further
107work to get the required External Editor module. This is the module which lets
108NetBeans work with gvim (or xemacs :-). See http://externaleditor.netbeans.org
109for details on downloading this module if your NetBeans release does not have
110it.
111
112For C, C++, and Fortran support you will also need the cpp module. See
113http://cpp.netbeans.org for information regarding this module.
114
115You can also download Sun ONE Studio from Sun Microsystems, Inc for a 30 day
116free trial. See http://www.sun.com for further details.
117
118==============================================================================
1195. Preparing NetBeans for Vim *netbeans-preparation*
120
121In order for NetBeans to work with vim, the NetBeans External Editor module
122must be loaded and enabled. If you have a Sun ONE Studio Enterprise Edition
123then this module should be loaded and enabled. If you have a NetBeans release
124you may need to find another way of obtaining this open source module.
125
126You can check if you have this module by opening the Tools->Options dialog
127and drilling down to the "Modules" list (IDE Configuration->System->Modules).
128If your Modules list has an entry for "External Editor" you must make sure
129it is enabled (the "Enabled" property should have the value "True"). If your
130Modules list has no External Editor see the next section on |obtaining-exted|.
131
132==============================================================================
1336. Obtaining the External Editor Module *obtaining-exted*
134
135There are 2 ways of obtaining the External Editor module. The easiest way
136is to use the NetBeans Update Center to download and install the module.
137Unfortunately, some versions do not have this module in their update
138center. If you cannot download via the update center you will need to
139download sources and build the module. I will try and get the module
140available from the NetBeans Update Center so building will be unnecessary.
141Also check http://externaleditor.netbeans.org for other availability options.
142
143To download the External Editor sources via CVS and build your own module,
144see http://externaleditor.netbeans.org and http://www.netbeans.org.
145Unfortunately, this is not a trivial procedure.
146
147==============================================================================
1487. Setting up NetBeans to run with Vim *netbeans-setup*
149
150Assuming you have loaded and enabled the NetBeans External Editor module
151as described in |netbeans-preparation| all you need to do is verify that
152the gvim command line is properly configured for your environment.
153
154Open the Tools->Options dialog and open the Editing category. Select the
155External Editor. The right hand pane should contain a Properties tab and
156an Expert tab. In the Properties tab make sure the "Editor Type" is set
157to "Vim". In the Expert tab make sure the "Vim Command" is correct.
158
159You should be careful if you change the "Vim Command". There are command
160line options there which must be there for the connection to be properly
161set up. You can change the command name but thats about it. If your gvim
162can be found by your $PATH then the VIM Command can start with "gvim". If
163you don't want gvim searched from your $PATH then hard code in the full
164Unix path name. At this point you should get a gvim for any source file
165you open in NetBeans.
166
167If some files come up in gvim and others (with different file suffixes) come
168up in the default NetBeans editor you should verify the MIME type in the
169Expert tab MIME Type property. NetBeans is MIME oriented and the External
170Editor will only open MIME types specified in this property.
171
172==============================================================================
1738. Messages *netbeans-messages*
174
175These messages are specific for NetBeans:
176
177 *E463*
178Region is guarded, cannot modify
179 NetBeans defines guarded areas in the text, which you cannot
180 change.
181
182 *E656*
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000183NetBeans disallows writes of unmodified buffers
Bram Moolenaar071d4272004-06-13 20:20:40 +0000184 NetBeans does not support writes of unmodified buffers that
185 were opened from NetBeans.
186
187 *E657*
188Partial writes disallowed for NetBeans buffers
189 NetBeans does not support partial writes for buffers that were
190 opened from NetBeans.
191
192 *E658*
193NetBeans connection lost for this buffer
194 NetBeans has become confused about the state of this file.
195 Rather than risc data corruption, NetBeans has severed the
196 connection for this file. Vim will take over responsibility
197 for saving changes to this file and NetBeans will no longer
198 know of these changes.
199
200==============================================================================
2019. Running Vim from NetBeans *netbeans-run*
202
203NetBeans starts Vim with the |-nb| argument. Three forms can be used, that
204differ in the way the information for the connection is specified:
205
206 -nb={fname} from a file
207 -nb:{hostname}:{addr}:{password} directly
208 -nb from a file or environment
209
210 *E660* *E668*
211For security reasons, the best method is to write the information in a file
212readable only by the user. The name of the file can be passed with the
213"-nb={fname}" argument or, when "-nb" is used without a parameter, the
214environment variable "__NETBEANS_CONINFO". The file must contain these three
215lines, in any order:
216
217 host={hostname}
218 port={addr}
219 auth={password}
220
221Other lines are ignored. The caller of Vim is responsible for deleting the
222file afterwards.
223
224{hostname} is the name of the machine where NetBeans is running. When omitted
225the environment variable "__NETBEANS_HOST" is used or the default "localhost".
226
227{addr} is the port number for NetBeans. When omitted the environment variable
228"__NETBEANS_SOCKET" is used or the default 3219.
229
230{password} is the password for connecting to NetBeans. When omitted the
231environment variable "__NETBEANS_VIM_PASSWORD" is used or "changeme".
232
233==============================================================================
23410. NetBeans protocol *netbeans-protocol*
235
236The communication between NetBeans and Vim uses plain text messages. This
237protocol was first designed to work with the external editor module of
238NetBeans (see http://externaleditor.netbeans.org). Later it was extended to
239work with Agide (A-A-P GUI IDE, see http://www.a-a-p.org). The extensions are
240marked with "version 2.1".
241
242Version 2.2 of the protocol has several minor changes which should only
243affect NetBeans users (ie, not Agide users). However, a bug was fixed which
244could cause confusion. The netbeans_saved() function sent a "save" protocol
245command. In protocol version 2.1 and earlier this was incorrectly interpreted
246as a notification that a write had taken place. In reality, it told NetBeans
247to save the file so multiple writes were being done. This caused various
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000248problems and has been fixed in 2.2. To decrease the likelihood of this
Bram Moolenaar071d4272004-06-13 20:20:40 +0000249confusion happening again, netbeans_saved() has been renamed to
250netbeans_save_buffer().
251
252The messages are currently sent over a socket. Since the messages are in
253plain UTF-8 text this protocol could also be used with any other communication
254mechanism.
255
25610.1 Kinds of messages |nb-messages|
25710.2 Terms |nb-terms|
25810.3 Commands |nb-commands|
25910.4 Functions and Replies |nb-functions|
26010.5 Events |nb-events|
26110.6 Special messages |nb-special|
262
263*E627* *E628* *E629* *E630* *E631* *E632* *E633* *E634* *E635* *E636*
264*E637* *E638* *E639* *E640* *E641* *E642* *E643* *E644* *E645* *E646*
265*E647* *E648* *E649* *E650* *E651* *E652* *E653* *E654*
266These errors occur when a message violates the protocol.
267
268
26910.1 Kinds of messages *nb-messages*
270
271There are four kinds of messages:
272
273kind direction comment ~
274Command IDE -> editor no reply necessary
275Function IDE -> editor editor must send back a reply
276Reply editor -> IDE only in response to a Function
277Event editor -> IDE no reply necessary
278
279The messages are sent as a single line with a terminating newline character.
280Arguments are separated by a single space. The first item of the message
281depends on the kind of message:
282
283kind first item example ~
284Command bufID:name!seqno 11:showBalloon!123 "text"
285Function bufID:name/seqno 11:getLength/123
286Reply seqno 123 5000
287Event bufID:name=123 11:keyCommand=123 "S-F2"
288
289
29010.2 Terms *nb-terms*
291
292bufID Buffer number. A message may be either for a specific buffer
293 or generic. Generic messages use a bufID of zero. NOTE: this
294 buffer ID is assigned by the IDE, it is not Vim's buffer
295 number. The bufID must be a sequentially rising number,
296 starting at one.
297
298seqno The IDE uses a sequence number for Commands and Functions. A
299 Reply must use the sequence number of the Function that it is
300 associated with. A zero sequence number can be used for
301 Events (the seqno of the last received Command or Function can
302 also be used).
303
304string Argument in double quotes. Text is in UTF-8 encoding. This
305 means ASCII is passed as-is. Special characters are
306 represented with a backslash:
307 \" double quote
308 \n newline
309 \r carriage-return
310 \t tab (optional, also works literally)
311 \\ backslash
312 NUL bytes are not allowed!
313
314boolean Argument with two possible values:
315 T true
316 F false
317
318number Argument with a decimal number.
319
320optnum Argument with either a decimal number or "none" (without the
321 quotes).
322
323offset A number argument that indicates a byte position in a buffer.
324 The first byte has offset zero. Line breaks are counted for
325 how they appear in the file (CR/LF counts for two bytes).
326 Note that a multi-byte character is counted for the number of
327 bytes it takes.
328
329lnum/col Argument with a line number and column number position. The
330 line number starts with one, the column is the byte position,
331 starting with zero. Note that a multi-byte character counts
332 for several columns.
333
334pathname String argument: file name with full path.
335
336
33710.3 Commands *nb-commands*
338
339actionMenuItem Not implemented.
340
341actionSensitivity
342 Not implemented.
343
344addAnno serNum typeNum off len
345 Place an annotation in this buffer.
346 Arguments:
347 serNum number serial number of this placed
348 annotation, used to be able to remove
349 it
350 typeNum number sequence number of the annotation
351 defined with defineAnnoType for this
352 buffer
353 off number offset where annotation is to be placed
354 len number not used
355 In version 2.1 "lnum/col" can be used instead of "off".
356
357balloonResult text
358 Not implemented.
359
360close Close the buffer. This leaves us without current buffer, very
361 dangerous to use!
362
363create Creates a buffer without a name. Replaces the current buffer
364 (it's hidden when it was changed).
365 NetBeans uses this as the first command for a file that is
366 being opened. The sequence of commands could be:
367 create
368 setCaretListener (ignored)
369 setModified (no effect)
370 setContentType (ignored)
371 startDocumentListen
372 setTitle
373 setFullName
374
375defineAnnoType typeNum typeName tooltip glyphFile fg bg
376 Define a type of annotation for this buffer.
377 Arguments:
378 typeNum number sequence number (not really used)
379 typeName string name that identifies this annotation
380 tooltip string not used
381 glyphFile string name of icon file
382 fg optnum foreground color for line highlighting
383 bg optnum background color for line highlighting
384 Vim will define a sign for the annotation.
385 When both "fg" and "bg" are "none" no line highlighting is
386 used (new in version 2.1).
387 When "glyphFile" is empty, no text sign is used (new in
388 version 2.1).
389 When "glyphFile" is one or two characters long, a text sign is
390 defined (new in version 2.1).
391 Note: the annotations will be defined in sequence, and the
392 sequence number is later used with addAnno.
393
394editFile pathname
395 Set the name for the buffer and edit the file "pathname", a
396 string argument.
397 Normal way for the IDE to tell the editor to edit a file. If
398 the IDE is going to pass the file text to the editor use these
399 commands instead:
400 setFullName
401 insert
402 initDone
403 New in version 2.1.
404
405enableBalloonEval
406 Not implemented.
407
408endAtomic End an atomic operation. The changes between "startAtomic"
409 and "endAtomic" can be undone as one operation. But it's not
410 implemented yet. Redraw when necessary.
411
412guard off len
413 Mark an area in the buffer as guarded. This means it cannot
414 be edited. "off" and "len" are numbers and specify the text
415 to be guarded.
416
417initDone Mark the buffer as ready for use. Implicitly makes the buffer
418 the current buffer. Fires the BufReadPost autocommand event.
419
Bram Moolenaar009b2592004-10-24 19:18:58 +0000420insertDone
421 Sent by NetBeans to tell vim an initial file insert is done.
422 This triggers a read message being printed. Prior to version
423 2.3, no read messages were displayed after opening a file.
424 New in version 2.3.
425
Bram Moolenaar071d4272004-06-13 20:20:40 +0000426moveAnnoToFront serNum
427 Not implemented.
428
429netbeansBuffer isNetbeansBuffer
430 If "isNetbeansBuffer" is "T" then this buffer is ``owned'' by
431 NetBeans.
432 New in version 2.2.
433
434putBufferNumber pathname
435 Associate a buffer number with the Vim buffer by the name
436 "pathname", a string argument. To be used when the editor
437 reported editing another file to the IDE and the IDE needs to
438 tell the editor what buffer number it will use for this file.
439 Also marks the buffer as initialized.
440 New in version 2.1.
441
442raise Bring the editor to the foreground.
443 New in version 2.1.
444
445removeAnno serNum
446 Remove a previously place annotation for this buffer.
447 "serNum" is the same number used in addAnno.
448
449save Save the buffer when it was modified. The other side of the
450 interface is expected to write the buffer and invoke
451 "setModified" to reset the "changed" flag of the buffer.
452 The writing is skipped when one of these conditions is true:
453 - 'write' is not set
454 - the buffer is read-only
455 - the buffer does not have a file name
456 - 'buftype' disallows writing
457 New in version 2.2.
458
Bram Moolenaar009b2592004-10-24 19:18:58 +0000459saveDone
460 Sent by NetBeans to tell vim a save is done. This triggers
461 a save message being printed. Prior to version 2.3, no save
462 messages were displayed after a save.
463 New in version 2.3.
464
Bram Moolenaar071d4272004-06-13 20:20:40 +0000465setAsUser Not implemented.
466
467setBufferNumber pathname
468 Associate a buffer number with Vim buffer by the name
469 "pathname". To be used when the editor reported editing
470 another file to the IDE and the IDE needs to tell the editor
471 what buffer number it will use for this file.
472 Has the side effect of making the buffer the current buffer.
473 See "putBufferNumber" for a more useful command.
474
475setContentType
476 Not implemented.
477
478setDot off Make the buffer the current buffer and set the cursor at the
479 specified position. If there are folds they are opened to
480 make the cursor line visible.
481 In version 2.1 "lnum/col" can be used instead of "off".
482
483setExitDelay seconds
484 Set the delay for exiting to "seconds", a number.
485 This delay is used to give the IDE a chance to handle things
486 before really exiting. The default delay is two seconds.
487 New in version 2.1.
Bram Moolenaar009b2592004-10-24 19:18:58 +0000488 Obsolete in version 2.3.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000489
490setFullName pathname
491 Set the file name to be used for a buffer to "pathname", a
492 string argument.
493 Used when the IDE wants to edit a file under control of the
494 IDE. This makes the buffer the current buffer, but does not
495 read the file. "insert" commands will be used next to set the
496 contents.
497
498setLocAndSize Not implemented.
499
500setMark Not implemented.
501
502setModified modified
503 When the boolean argument "modified" is "T" mark the buffer as
504 modified, when it is "F" mark it as unmodified.
505
Bram Moolenaar009b2592004-10-24 19:18:58 +0000506setModtime time
507 Update a buffers modification time after NetBeans saves the
508 file.
509 New in version 2.3.
510
511setReadOnly
512 Passed by NetBeans to tell vim a file is readonly.
513 Implemented in verion 2.3.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000514
515setStyle Not implemented.
516
517setTitle name
518 Set the title for the buffer to "name", a string argument.
519 The title is only used for NetBeans functions, not by Vim.
520
521setVisible visible
522 When the boolean argument "visible" is "T", goto the buffer.
523 The "F" argument does nothing.
524
525showBalloon text
526 Show a balloon (popup window) at the mouse pointer position,
527 containing "text", a string argument. The balloon should
528 disappear when the mouse is moved more than a few pixels.
529 New in version 2.1.
530
Bram Moolenaar009b2592004-10-24 19:18:58 +0000531specialKeys
532 Map a set of keys (mostly function keys) to be passed back
533 to NetBeans for processing. This lets NetBeans hotkeys be
534 used from vim.
535 Implemented in version 2.3.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000536
537startAtomic Begin an atomic operation. The screen will not be updated
538 until "endAtomic" is given.
539
540startCaretListen
541 Not implemented.
542
543startDocumentListen
544 Mark the buffer to report changes to the IDE with the
545 "insert" and "remove" events. The default is to report
546 changes.
547
548stopCaretListen
549 Not implemented.
550
551stopDocumentListen
552 Mark the buffer to stop reporting changes to the IDE.
553 Opposite of startDocumentListen.
554
555unguard off len
556 Opposite of "guard", remove guarding for a text area.
557
558version Not implemented.
559
560
56110.4 Functions and Replies *nb-functions*
562
563getDot Not implemented.
564
565getCursor Return the current buffer and cursor position.
566 The reply is:
567 seqno bufID lnum col off
568 seqno = sequence number of the function
569 bufID = buffer ID of the current buffer (if this is unknown -1
570 is used)
571 lnum = line number of the cursor (first line is one)
572 col = column number of the cursor (in bytes, zero based)
573 off = offset of the cursor in the buffer (in bytes)
574 New in version 2.1.
575
576getLength Return the length of the buffer in bytes.
577 Reply example for a buffer with 5000 bytes:
578 123 5000
579 TODO: explain use of partial line.
580
581getMark Not implemented.
582
583getModified When a buffer is specified: Return zero if the buffer does not
584 have changes, one if it does have changes.
585 When no buffer is specified (buffer number zero): Return the
586 number of buffers with changes. When the result is zero it's
587 safe to tell Vim to exit.
588 New in version 2.1.
589
590getText Return the contents of the buffer as a string.
591 Reply example for a buffer with two lines
592 123 "first line\nsecond line\n"
593 NOTE: docs indicate an offset and length argument, but this is
594 not implemented.
595
596insert off text
597 Insert "text" before position "off". "text" is a string
598 argument, "off" a number.
599 Possible replies:
600 123 no problem
601 123 !message failed
602 Note that the message in the reply is not quoted.
603
604remove off length
605 Delete "length" bytes of text at position "off". Both
606 arguments are numbers.
607 Possible replies:
608 123 no problem
609 123 !message failed
610 Note that the message in the reply is not quoted.
611
612saveAndExit Perform the equivalent of closing Vim: ":confirm qall".
613 If there are no changed files or the user does not cancel the
614 operation Vim exits and no result is sent back. The IDE can
615 consider closing the connection as a successful result.
616 If the user cancels the operation the number of modified
617 buffers that remains is returned and Vim does not exit.
618 New in version 2.1.
619
620
62110.5 Events *nb-events*
622
623balloonEval off len type
624 The mouse pointer rests on text for a short while. When "len"
625 is zero, there is no selection and the pointer is at position
626 "off". When "len" is non-zero the text from position "off" to
627 "off" + "len" is selected.
628 Only sent after "enableBalloonEval" was used for this buffer.
629 "type" is not yet defined.
630 Not implemented yet.
631
632balloonText text
633 Used when 'ballooneval' is set and the mouse pointer rests on
634 some text for a moment. "text" is a string, the text under
635 the mouse pointer.
636 New in version 2.1.
637
638buttonRelease button lnum col
639 Report which button was pressed and the location of the cursor
640 at the time of the release. Only for buffers that are owned
641 by NetBeans. This event is not sent if the button was
642 released while the mouse was in the status line or in a
643 separator line. If col is less than 1 the button release was
644 in the sign area.
645 New in version 2.2.
646
Bram Moolenaar009b2592004-10-24 19:18:58 +0000647disconnect
648 Tell NetBeans that vim is exiting and not to try and read or
649 write more commands.
650 New in version 2.3.
651
Bram Moolenaar071d4272004-06-13 20:20:40 +0000652fileClosed Not implemented.
653
654fileModified Not implemented.
655
656fileOpened pathname open modified
657 A file was opened by the user.
658 Arguments:
659 pathname string name of the file
660 open boolean always "T"
661 modified boolean always "F"
662
663geometry cols rows x y
664 Report the size and position of the editor window.
665 Arguments:
666 cols number number of text columns
667 rows number number of text rows
668 x number pixel position on screen
669 y number pixel position on screen
670 Only works for Motif.
671
672insert off text
673 Text "text" has been inserted in Vim at position "off".
674 Only fired when enabled, see "startDocumentListen".
675
676invokeAction Not implemented.
677
678keyCommand keyName
679 Reports a special key being pressed with name "keyName", which
680 is a string.
681 Supported key names:
682 F1 function key 1
683 F2 function key 2
684 ...
685 F12 function key 12
686
687 ' ' space (without the quotes)
688 ! exclamation mark
689 ... any other ASCII printable character
690 ~ tilde
691
692 X any unrecognized key
693
694 The key may be prepended by "C", "S" and/or "M" for Control,
695 Shift and Meta (Alt) modifiers. If there is a modifier a dash
696 is used to separate it from the key name. For example:
697 "C-F2".
698 ASCII characters are new in version 2.1.
699
700keyAtPos keyName lnum/col
701 Like "keyCommand" and also report the line number and column
702 of the cursor.
703 New in version 2.1.
704
705killed A file was closed by the user. Only for files that have been
706 assigned a number by the IDE.
707
708newDotAndMark off off
709 Reports the position of the cursor being at "off" bytes into
710 the buffer. Only sent just before a "keyCommand" event.
711
712quit Not implemented.
713
714remove off len
715 Text was deleted in Vim at position "off" with byte length
716 "len".
717 Only fired when enabled, see "startDocumentListen".
718
719revert Not implemented.
720
721save The buffer has been saved and is now unmodified.
722 Only fired when enabled, see "startDocumentListen".
723
724startupDone The editor has finished its startup work and is ready for
725 editing files.
726 New in version 2.1.
727
728unmodified The buffer is now unmodified.
729 Only fired when enabled, see "startDocumentListen".
730
731version vers Report the version of the interface implementation. Vim
732 reports "2.2" (including the quotes).
733
734
73510.6 Special messages *nb-special*
736
737These messages do not follow the style of the messages above. They are
738terminated by a newline character.
739
740ACCEPT Not used.
741
742AUTH password editor -> IDE: First message that the editor sends to the IDE.
743 Must contain the password for the socket server, as specified
744 with the |-nb| argument. No quotes are used!
745
746DISCONNECT IDE -> editor: break the connection. The editor will exit.
747 The IDE must only send this message when there are no unsaved
748 changes!
749
750DETACH IDE -> editor: break the connection without exiting the
751 editor. Used when the IDE exits without bringing down the
752 editor as well.
753 New in version 2.1.
754
755REJECT Not used.
756
757==============================================================================
75811. Known problems *netbeans-problems*
759
760NUL bytes are not possible. For editor -> IDE they will appear as NL
761characters. For IDE -> editor they cannot be inserted.
762
763
764 vim:tw=78:ts=8:ft=help:norl: