Skip to content

Commit 802731e

Browse files
committed
Merge tag 'v8.2.0320'
2 parents 97fc110 + b3f7406 commit 802731e

41 files changed

Lines changed: 6318 additions & 156 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Filelist

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,14 @@ SRC_AMI = \
599599
src/testdir/amiga.vim \
600600
src/xxd/Make_amiga.mak \
601601

602+
# source files for Haiku (also in the extra archive)
603+
SRC_HAIKU = \
604+
src/os_haiku.h \
605+
src/os_haiku.rdef \
606+
src/gui_haiku.cc \
607+
src/gui_haiku.h \
608+
src/proto/gui_haiku.pro \
609+
602610
# source files for the Mac (also in the extra archive)
603611
SRC_MAC = \
604612
src/INSTALLmac.txt \
@@ -634,13 +642,13 @@ SRC_QNX = \
634642
src/proto/gui_photon.pro \
635643
src/proto/os_qnx.pro \
636644

637-
638645
# source files for the extra archive (all sources that are not for Unix)
639646
SRC_EXTRA = \
640647
$(SRC_AMI) \
641648
$(SRC_AMI_DOS) \
642649
$(SRC_DOS) \
643650
$(SRC_DOS_BIN) \
651+
$(SRC_HAIKU) \
644652
$(SRC_MAC) \
645653
$(SRC_QNX) \
646654
$(SRC_VMS) \

runtime/doc/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ DOCS = \
6565
os_amiga.txt \
6666
os_beos.txt \
6767
os_dos.txt \
68+
os_haiku.txt \
6869
os_mac.txt \
6970
os_mint.txt \
7071
os_msdos.txt \
@@ -205,6 +206,7 @@ HTMLS = \
205206
os_amiga.html \
206207
os_beos.html \
207208
os_dos.html \
209+
os_haiku.html \
208210
os_mac.html \
209211
os_mint.html \
210212
os_msdos.html \
@@ -423,6 +425,9 @@ os_beos.txt:
423425
os_dos.txt:
424426
touch os_dos.txt
425427

428+
os_haiku.txt:
429+
touch os_haiku.txt
430+
426431
os_mac.txt:
427432
touch os_mac.txt
428433

runtime/doc/eval.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10779,13 +10779,15 @@ gui_gnome Compiled with Gnome support (gui_gtk is also defined).
1077910779
gui_gtk Compiled with GTK+ GUI (any version).
1078010780
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
1078110781
gui_gtk3 Compiled with GTK+ 3 GUI (gui_gtk is also defined).
10782+
gui_haiku Compiled with Haiku GUI.
1078210783
gui_mac Compiled with Macintosh GUI.
1078310784
gui_macvim Compiled with MacVim GUI.
1078410785
gui_motif Compiled with Motif GUI.
1078510786
gui_photon Compiled with Photon GUI.
1078610787
gui_running Vim is running in the GUI, or it will start soon.
1078710788
gui_win32 Compiled with MS Windows Win32 GUI.
1078810789
gui_win32s idem, and Win32s system being used (Windows 3.1)
10790+
haiku Haiku version of Vim.
1078910791
hangul_input Compiled with Hangul input support. |hangul|
1079010792
hpux HP-UX version of Vim.
1079110793
iconv Can use iconv() for conversion.

runtime/doc/gui.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ Recommended place for your personal GUI initializations:
9999
or $VIM/_gvimrc
100100
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
101101
or $VIM/.gvimrc
102+
Haiku $HOME/config/settings/vim/gvimrc
102103

103104
The personal initialization files are searched in the order specified above
104105
and only the first one that is found is read.

runtime/doc/help.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ Remarks about specific systems ~
205205
|os_os2.txt| OS/2
206206
|os_qnx.txt| QNX
207207
|os_risc.txt| RISC-OS
208+
|os_haiku.txt| Haiku
208209
|os_unix.txt| Unix
209210
|os_vms.txt| VMS
210211
|os_win32.txt| MS-Windows

runtime/doc/options.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3878,7 +3878,7 @@ A jump table for the options with a short description can be found at |Q_op|.
38783878
'guitablabel' can be used to change the text in the labels.
38793879
When 'e' is missing a non-GUI tab pages line may be used.
38803880
The GUI tabs are only supported on some systems, currently
3881-
GTK, Motif, Mac OS/X and MS-Windows.
3881+
GTK, Motif, Mac OS/X, Haiku, and MS-Windows.
38823882
*'go-f'*
38833883
'f' Foreground: Don't use fork() to detach the GUI from the shell
38843884
where it was started. Use this for programs that wait for the
@@ -6356,6 +6356,11 @@ A jump table for the options with a short description can be found at |Q_op|.
63566356
Macintosh (pre-OS X): "$VIM:vimfiles,
63576357
$VIMRUNTIME,
63586358
$VIM:vimfiles:after"
6359+
Haiku: "$BE_USER_SETTINGS/vim,
6360+
$VIM/vimfiles,
6361+
$VIMRUNTIME,
6362+
$VIM/vimfiles/after,
6363+
$BE_USER_SETTINGS/vim/after")
63596364
VMS: "sys$login:vimfiles,
63606365
$VIM/vimfiles,
63616366
$VIMRUNTIME,
@@ -7814,6 +7819,7 @@ A jump table for the options with a short description can be found at |Q_op|.
78147819
in the GUI: "builtin_gui"
78157820
on Amiga: "amiga"
78167821
on BeOS: "beos-ansi"
7822+
on Haiku: "xterm"
78177823
on Mac: "mac-ansi"
78187824
on MiNT: "vt52"
78197825
on Unix: "ansi"

runtime/doc/os_haiku.txt

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Feb 26
2+
3+
4+
VIM REFERENCE MANUAL by Bram Moolenaar
5+
6+
7+
*Haiku*
8+
This file contains the particularities for the Haiku version of Vim. For
9+
matters not discussed in this file, Vim behaves very much like the Unix
10+
|os_unix.txt| version.
11+
12+
Haiku is an open-source operating system inspired by BeOS, that specifically
13+
targets personal computing.
14+
15+
1. General |haiku-general|
16+
2. Compiling Vim |haiku-compiling|
17+
3. The Haiku GUI |haiku-gui|
18+
4. The $VIM directory |haiku-vimdir|
19+
5. The $BE_USER_SETTINGS
20+
directory |haiku-user-settings-dir|
21+
6. Drag & Drop |haiku-dragndrop|
22+
7. Single Launch vs. Multiple
23+
Launch |haiku-launch|
24+
8. Fonts |haiku-fonts|
25+
9. The meta key modifier |haiku-meta|
26+
10. Mouse key mappings |haiku-mouse|
27+
11. Color names |haiku-colors|
28+
12. Credits |haiku-support-credits|
29+
13. Bugs & things To Do |haiku-bugs|
30+
31+
32+
1. General *haiku-general*
33+
34+
The default syntax highlighting mostly works with different foreground colors
35+
to highlight items. This works best if you set your Terminal window to a
36+
darkish background and light letters. Some middle-grey background (for
37+
instance (r,g,b)=(168,168,168)) with black letters also works nicely.
38+
39+
40+
2. Compiling Vim *haiku-compiling*
41+
42+
Vim can be compiled using the standard configure/make approach. Running
43+
./configure without any arguments or passing --enable-gui=haiku, will compile
44+
vim with the Haiku GUI support. Run ./configure --help , to find out other
45+
features you can enable/disable.
46+
47+
Now you should use "make" to compile Vim, then "make install" to install it.
48+
For seamless integration into the Haiku the GUI-less vim binary should be
49+
additionally installed over the GUI version. Typical build commands are: >
50+
51+
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
52+
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
53+
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
54+
make clean
55+
make install
56+
57+
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
58+
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
59+
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
60+
--disable-gui
61+
make clean
62+
make install
63+
64+
65+
3. The Haiku GUI *haiku-gui*
66+
67+
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
68+
version with GUI tries to determine if it was started from the Tracker instead
69+
of the Terminal, and if so, uses the GUI anyway. However, the current detection
70+
scheme is fooled if you use the command "vim - </dev/null".
71+
72+
Stuff that does not work yet:
73+
74+
- Mouse up events are not generated when outside the window. This may be a bug in
75+
Haiku. You can notice this when selecting text and moving the cursor outside
76+
the window, then letting go of the mouse button. Another way is when you
77+
drag the scrollbar and do the same thing. Because Vim still thinks you are
78+
still playing with the scrollbar it won't change it itself. I provided a
79+
workaround which kicks in when the window is activated or deactivated (so it
80+
works best with focus- follows-mouse turned on).
81+
- The cursor does not flash (very low priority; I'm not sure I even like it
82+
when it flashes)
83+
84+
85+
4. The $VIM directory *haiku-vimdir*
86+
87+
$VIM is the symbolic name for the place where Vims support files are stored.
88+
The default value for $VIM is set at compile time and can be determined with >
89+
90+
:version
91+
92+
The normal value is /boot/common/data/vim. If you don't like it you can
93+
set the VIM environment variable to override this, or set 'helpfile' in your
94+
.vimrc: >
95+
96+
:if version >= 500
97+
: set helpfile=~/vim/runtime/doc/help.txt
98+
: syntax on
99+
:endif
100+
101+
102+
5. The $USER_SETTINGS_DIR directory *haiku-user-settings-dir*
103+
104+
$USER_SETTINGS_DIR is the symbolic name for the place where Haiku
105+
configuration and settings files are stored.
106+
107+
The normal value is /boot/home/config/settings.
108+
109+
110+
6. Drag & Drop *haiku-dragndrop*
111+
112+
You can drop files and directories on either the Vim icon (starts a new Vim
113+
session, unless you use the File Types application to set Vim to be "Single
114+
Launch") or on the Vim window (starts editing the files). Dropping a folder
115+
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
116+
folders with either SHIFT key pressed, Vim changes directory to the folder
117+
that contains the first item dropped. When starting Vim, there is no need to
118+
press shift: Vim behaves as if you do.
119+
120+
Files dropped set the current argument list. |argument-list|
121+
122+
123+
7. Single Launch vs. Multiple Launch *haiku-launch*
124+
125+
As distributed Vim's Application Flags (as seen in the FileTypes preference)
126+
are set to Multiple Launch. If you prefer, you can set them to Single Launch
127+
instead. Attempts to start a second copy of Vim will cause the first Vim to
128+
open the files instead. This works from the Tracker but also from the command
129+
line. In the latter case, non-file (option) arguments are not supported.
130+
Another drawback of the Single Launch is silent ignore of "Open With ..."
131+
requests by vim instance that running as non-GUI application even GUI support
132+
was compiled in. Vim instance running with GUI has no such problems.
133+
134+
NB: Only the GUI version has a BApplication (and hence Application Flags).
135+
This section does not apply to the GUI-less version, should you compile one.
136+
137+
138+
8. Fonts *haiku-fonts*
139+
140+
Set fonts with >
141+
142+
:set guifont=DejaVu_Sans_Mono/Book/12
143+
144+
where the first part is the font family, the second part the style, and the
145+
third part the size. You can use underscores instead of spaces in family and
146+
style.
147+
148+
Best results are obtained with monospaced fonts. Vim attempts to use all
149+
fonts in B_FIXED_SPACING mode but apparently this does not work for
150+
proportional fonts (despite what the BeBook says).
151+
152+
To verify which encodings are supported by the current font give the >
153+
154+
:digraphs
155+
156+
command, which lists a bunch of characters with their ISO Latin 1 encoding.
157+
If, for instance, there are "box" characters among them, or the last character
158+
isn't a dotted-y, then for this font the encoding does not work.
159+
160+
If the font you specify is unavailable, you get the system fixed font.
161+
162+
GUI Font Selection Dialog is available at giving the >
163+
164+
:set guifont=*
165+
166+
command.
167+
168+
169+
9. The meta key modifier *haiku-meta*
170+
171+
The META key modifier is obtained by the left or right OPTION keys. This is
172+
because the ALT (aka COMMAND) keys are not passed to applications.
173+
174+
175+
10. Mouse key mappings *haiku-mouse*
176+
177+
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
178+
you use the default Mouse preference settings these names indeed correspond to
179+
reality. Vim uses this mapping:
180+
181+
Button 1 -> LeftMouse,
182+
Button 2 -> RightMouse,
183+
Button 3 -> MiddleMouse.
184+
185+
If your mouse has fewer than 3 buttons you can provide your own mapping from
186+
mouse clicks with modifier(s) to other mouse buttons. See the file
187+
$VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
188+
189+
190+
11. Color names *haiku-colors*
191+
192+
Vim has a number of color names built-in. Additional names are read from the
193+
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
194+
database from X. Names used from this file are cached for efficiency.
195+
196+
197+
12. GUI Toolbar Images *haiku-toolbar-images*
198+
199+
Alternative set of toolbar images should be the PNG image of any height you
200+
like. Image width is calculated to contain at least 32 buttons in one-row
201+
cells.
202+
The image should be stored under the name $VIRUNTIME/bitmaps/builtin-tools.png
203+
More info about the buttons assignment are at |builtin-tools|.
204+
205+
206+
13. Credits *haiku-support-credits*
207+
208+
Haiku port is based on work done for BeOS version by many people
209+
- BeBox GUI support Copyright 1998 by Olaf Seibert;
210+
- Ported to R4 by Richard Offer <[email protected]> Jul 99;
211+
- Those who contributed, not listed above but not forgotten;
212+
- Haiku support by Siarzhuk Zharski <[email protected]> Apr-Mai 2009.
213+
214+
All the changes and patches released under vim-license.
215+
216+
Thank you, all!
217+
218+
219+
13. Bugs & things To Do *haiku-bugs*
220+
221+
The port is under development now and far away from the perfect state. Bug
222+
reports, patches and wishes are welcome.
223+
224+
225+
-Siarzhuk Zharski <[email protected]>
226+
227+
228+
vim:tw=78:ts=8:ft=help:norl:

runtime/doc/starting.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,7 @@ accordingly. Vim proceeds in this order:
790790
or $VIM/_vimrc
791791
Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc
792792
or $VIM/.vimrc
793+
Haiku $HOME/config/settings/vim/vimrc
793794

794795
The files are searched in the order specified above and only the first
795796
one that is found is read.
@@ -836,6 +837,8 @@ accordingly. Vim proceeds in this order:
836837
"$HOME/_vimrc" (for Win32) (*)
837838
"$HOME/vimfiles/vimrc" (for Win32) (*)
838839
"$VIM/_vimrc" (for Win32) (*)
840+
"$HOME/config/settings/vim/vimrc" (for Haiku) (*)
841+
839842
Note: For Unix and Amiga, when ".vimrc" does not exist,
840843
"_vimrc" is also tried, in case an MS-DOS compatible file
841844
system is used. For MS-Windows ".vimrc" is checked after
@@ -951,6 +954,8 @@ sessions. Put it in a place so that it will be found by 3b:
951954
~/.vimrc (Unix)
952955
s:.vimrc (Amiga)
953956
$VIM\_vimrc (Win32)
957+
~/config/settings/vim/vimrc (Haiku)
958+
954959
Note that creating a vimrc file will cause the 'compatible' option to be off
955960
by default. See |compatible-default|.
956961

0 commit comments

Comments
 (0)