forked from aniani/vim
patch 8.2.0320: no Haiku support
Problem: No Haiku support. Solution: Add support for Haiku. (Emir Sari, closes #5605)
This commit is contained in:
@@ -64,6 +64,7 @@ DOCS = \
|
||||
os_amiga.txt \
|
||||
os_beos.txt \
|
||||
os_dos.txt \
|
||||
os_haiku.txt \
|
||||
os_mac.txt \
|
||||
os_mint.txt \
|
||||
os_msdos.txt \
|
||||
@@ -204,6 +205,7 @@ HTMLS = \
|
||||
os_amiga.html \
|
||||
os_beos.html \
|
||||
os_dos.html \
|
||||
os_haiku.html \
|
||||
os_mac.html \
|
||||
os_mint.html \
|
||||
os_msdos.html \
|
||||
@@ -422,6 +424,9 @@ os_beos.txt:
|
||||
os_dos.txt:
|
||||
touch os_dos.txt
|
||||
|
||||
os_haiku.txt:
|
||||
touch os_haiku.txt
|
||||
|
||||
os_mac.txt:
|
||||
touch os_mac.txt
|
||||
|
||||
|
||||
@@ -10766,12 +10766,14 @@ gui_gnome Compiled with Gnome support (gui_gtk is also defined).
|
||||
gui_gtk Compiled with GTK+ GUI (any version).
|
||||
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
|
||||
gui_gtk3 Compiled with GTK+ 3 GUI (gui_gtk is also defined).
|
||||
gui_haiku Compiled with Haiku GUI.
|
||||
gui_mac Compiled with Macintosh GUI.
|
||||
gui_motif Compiled with Motif GUI.
|
||||
gui_photon Compiled with Photon GUI.
|
||||
gui_running Vim is running in the GUI, or it will start soon.
|
||||
gui_win32 Compiled with MS Windows Win32 GUI.
|
||||
gui_win32s idem, and Win32s system being used (Windows 3.1)
|
||||
haiku Haiku version of Vim.
|
||||
hangul_input Compiled with Hangul input support. |hangul|
|
||||
hpux HP-UX version of Vim.
|
||||
iconv Can use iconv() for conversion.
|
||||
|
||||
@@ -99,6 +99,7 @@ Recommended place for your personal GUI initializations:
|
||||
or $VIM/_gvimrc
|
||||
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
|
||||
or $VIM/.gvimrc
|
||||
Haiku $HOME/config/settings/vim/gvimrc
|
||||
|
||||
The personal initialization files are searched in the order specified above
|
||||
and only the first one that is found is read.
|
||||
|
||||
@@ -204,6 +204,7 @@ Remarks about specific systems ~
|
||||
|os_os2.txt| OS/2
|
||||
|os_qnx.txt| QNX
|
||||
|os_risc.txt| RISC-OS
|
||||
|os_haiku.txt| Haiku
|
||||
|os_unix.txt| Unix
|
||||
|os_vms.txt| VMS
|
||||
|os_win32.txt| MS-Windows
|
||||
|
||||
@@ -3769,7 +3769,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'guitablabel' can be used to change the text in the labels.
|
||||
When 'e' is missing a non-GUI tab pages line may be used.
|
||||
The GUI tabs are only supported on some systems, currently
|
||||
GTK, Motif, Mac OS/X and MS-Windows.
|
||||
GTK, Motif, Mac OS/X, Haiku, and MS-Windows.
|
||||
*'go-f'*
|
||||
'f' Foreground: Don't use fork() to detach the GUI from the shell
|
||||
where it was started. Use this for programs that wait for the
|
||||
@@ -6207,6 +6207,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Macintosh: "$VIM:vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM:vimfiles:after"
|
||||
Haiku: "$BE_USER_SETTINGS/vim,
|
||||
$VIM/vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM/vimfiles/after,
|
||||
$BE_USER_SETTINGS/vim/after")
|
||||
VMS: "sys$login:vimfiles,
|
||||
$VIM/vimfiles,
|
||||
$VIMRUNTIME,
|
||||
@@ -7665,6 +7670,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
in the GUI: "builtin_gui"
|
||||
on Amiga: "amiga"
|
||||
on BeOS: "beos-ansi"
|
||||
on Haiku: "xterm"
|
||||
on Mac: "mac-ansi"
|
||||
on MiNT: "vt52"
|
||||
on Unix: "ansi"
|
||||
|
||||
228
runtime/doc/os_haiku.txt
Normal file
228
runtime/doc/os_haiku.txt
Normal file
@@ -0,0 +1,228 @@
|
||||
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Feb 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
*Haiku*
|
||||
This file contains the particularities for the Haiku version of Vim. For
|
||||
matters not discussed in this file, Vim behaves very much like the Unix
|
||||
|os_unix.txt| version.
|
||||
|
||||
Haiku is an open-source operating system inspired by BeOS, that specifically
|
||||
targets personal computing.
|
||||
|
||||
1. General |haiku-general|
|
||||
2. Compiling Vim |haiku-compiling|
|
||||
3. The Haiku GUI |haiku-gui|
|
||||
4. The $VIM directory |haiku-vimdir|
|
||||
5. The $BE_USER_SETTINGS
|
||||
directory |haiku-user-settings-dir|
|
||||
6. Drag & Drop |haiku-dragndrop|
|
||||
7. Single Launch vs. Multiple
|
||||
Launch |haiku-launch|
|
||||
8. Fonts |haiku-fonts|
|
||||
9. The meta key modifier |haiku-meta|
|
||||
10. Mouse key mappings |haiku-mouse|
|
||||
11. Color names |haiku-colors|
|
||||
12. Credits |haiku-support-credits|
|
||||
13. Bugs & things To Do |haiku-bugs|
|
||||
|
||||
|
||||
1. General *haiku-general*
|
||||
|
||||
The default syntax highlighting mostly works with different foreground colors
|
||||
to highlight items. This works best if you set your Terminal window to a
|
||||
darkish background and light letters. Some middle-grey background (for
|
||||
instance (r,g,b)=(168,168,168)) with black letters also works nicely.
|
||||
|
||||
|
||||
2. Compiling Vim *haiku-compiling*
|
||||
|
||||
Vim can be compiled using the standard configure/make approach. Running
|
||||
./configure without any arguments or passing --enable-gui=haiku, will compile
|
||||
vim with the Haiku GUI support. Run ./configure --help , to find out other
|
||||
features you can enable/disable.
|
||||
|
||||
Now you should use "make" to compile Vim, then "make install" to install it.
|
||||
For seamless integration into the Haiku the GUI-less vim binary should be
|
||||
additionally installed over the GUI version. Typical build commands are: >
|
||||
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
|
||||
make clean
|
||||
make install
|
||||
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
|
||||
--disable-gui
|
||||
make clean
|
||||
make install
|
||||
|
||||
|
||||
3. The Haiku GUI *haiku-gui*
|
||||
|
||||
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
|
||||
version with GUI tries to determine if it was started from the Tracker instead
|
||||
of the Terminal, and if so, uses the GUI anyway. However, the current detection
|
||||
scheme is fooled if you use the command "vim - </dev/null".
|
||||
|
||||
Stuff that does not work yet:
|
||||
|
||||
- Mouse up events are not generated when outside the window. This may be a bug in
|
||||
Haiku. You can notice this when selecting text and moving the cursor outside
|
||||
the window, then letting go of the mouse button. Another way is when you
|
||||
drag the scrollbar and do the same thing. Because Vim still thinks you are
|
||||
still playing with the scrollbar it won't change it itself. I provided a
|
||||
workaround which kicks in when the window is activated or deactivated (so it
|
||||
works best with focus- follows-mouse turned on).
|
||||
- The cursor does not flash (very low priority; I'm not sure I even like it
|
||||
when it flashes)
|
||||
|
||||
|
||||
4. The $VIM directory *haiku-vimdir*
|
||||
|
||||
$VIM is the symbolic name for the place where Vims support files are stored.
|
||||
The default value for $VIM is set at compile time and can be determined with >
|
||||
|
||||
:version
|
||||
|
||||
The normal value is /boot/common/data/vim. If you don't like it you can
|
||||
set the VIM environment variable to override this, or set 'helpfile' in your
|
||||
.vimrc: >
|
||||
|
||||
:if version >= 500
|
||||
: set helpfile=~/vim/runtime/doc/help.txt
|
||||
: syntax on
|
||||
:endif
|
||||
|
||||
|
||||
5. The $USER_SETTINGS_DIR directory *haiku-user-settings-dir*
|
||||
|
||||
$USER_SETTINGS_DIR is the symbolic name for the place where Haiku
|
||||
configuration and settings files are stored.
|
||||
|
||||
The normal value is /boot/home/config/settings.
|
||||
|
||||
|
||||
6. Drag & Drop *haiku-dragndrop*
|
||||
|
||||
You can drop files and directories on either the Vim icon (starts a new Vim
|
||||
session, unless you use the File Types application to set Vim to be "Single
|
||||
Launch") or on the Vim window (starts editing the files). Dropping a folder
|
||||
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
|
||||
folders with either SHIFT key pressed, Vim changes directory to the folder
|
||||
that contains the first item dropped. When starting Vim, there is no need to
|
||||
press shift: Vim behaves as if you do.
|
||||
|
||||
Files dropped set the current argument list. |argument-list|
|
||||
|
||||
|
||||
7. Single Launch vs. Multiple Launch *haiku-launch*
|
||||
|
||||
As distributed Vim's Application Flags (as seen in the FileTypes preference)
|
||||
are set to Multiple Launch. If you prefer, you can set them to Single Launch
|
||||
instead. Attempts to start a second copy of Vim will cause the first Vim to
|
||||
open the files instead. This works from the Tracker but also from the command
|
||||
line. In the latter case, non-file (option) arguments are not supported.
|
||||
Another drawback of the Single Launch is silent ignore of "Open With ..."
|
||||
requests by vim instance that running as non-GUI application even GUI support
|
||||
was compiled in. Vim instance running with GUI has no such problems.
|
||||
|
||||
NB: Only the GUI version has a BApplication (and hence Application Flags).
|
||||
This section does not apply to the GUI-less version, should you compile one.
|
||||
|
||||
|
||||
8. Fonts *haiku-fonts*
|
||||
|
||||
Set fonts with >
|
||||
|
||||
:set guifont=DejaVu_Sans_Mono/Book/12
|
||||
|
||||
where the first part is the font family, the second part the style, and the
|
||||
third part the size. You can use underscores instead of spaces in family and
|
||||
style.
|
||||
|
||||
Best results are obtained with monospaced fonts. Vim attempts to use all
|
||||
fonts in B_FIXED_SPACING mode but apparently this does not work for
|
||||
proportional fonts (despite what the BeBook says).
|
||||
|
||||
To verify which encodings are supported by the current font give the >
|
||||
|
||||
:digraphs
|
||||
|
||||
command, which lists a bunch of characters with their ISO Latin 1 encoding.
|
||||
If, for instance, there are "box" characters among them, or the last character
|
||||
isn't a dotted-y, then for this font the encoding does not work.
|
||||
|
||||
If the font you specify is unavailable, you get the system fixed font.
|
||||
|
||||
GUI Font Selection Dialog is available at giving the >
|
||||
|
||||
:set guifont=*
|
||||
|
||||
command.
|
||||
|
||||
|
||||
9. The meta key modifier *haiku-meta*
|
||||
|
||||
The META key modifier is obtained by the left or right OPTION keys. This is
|
||||
because the ALT (aka COMMAND) keys are not passed to applications.
|
||||
|
||||
|
||||
10. Mouse key mappings *haiku-mouse*
|
||||
|
||||
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
|
||||
you use the default Mouse preference settings these names indeed correspond to
|
||||
reality. Vim uses this mapping:
|
||||
|
||||
Button 1 -> LeftMouse,
|
||||
Button 2 -> RightMouse,
|
||||
Button 3 -> MiddleMouse.
|
||||
|
||||
If your mouse has fewer than 3 buttons you can provide your own mapping from
|
||||
mouse clicks with modifier(s) to other mouse buttons. See the file
|
||||
$VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
|
||||
|
||||
|
||||
11. Color names *haiku-colors*
|
||||
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
|
||||
|
||||
12. GUI Toolbar Images *haiku-toolbar-images*
|
||||
|
||||
Alternative set of toolbar images should be the PNG image of any height you
|
||||
like. Image width is calculated to contain at least 32 buttons in one-row
|
||||
cells.
|
||||
The image should be stored under the name $VIRUNTIME/bitmaps/builtin-tools.png
|
||||
More info about the buttons assignment are at |builtin-tools|.
|
||||
|
||||
|
||||
13. Credits *haiku-support-credits*
|
||||
|
||||
Haiku port is based on work done for BeOS version by many people
|
||||
- BeBox GUI support Copyright 1998 by Olaf Seibert;
|
||||
- Ported to R4 by Richard Offer <richard@whitequeen.com> Jul 99;
|
||||
- Those who contributed, not listed above but not forgotten;
|
||||
- Haiku support by Siarzhuk Zharski <imker@gmx.li> Apr-Mai 2009.
|
||||
|
||||
All the changes and patches released under vim-license.
|
||||
|
||||
Thank you, all!
|
||||
|
||||
|
||||
13. Bugs & things To Do *haiku-bugs*
|
||||
|
||||
The port is under development now and far away from the perfect state. Bug
|
||||
reports, patches and wishes are welcome.
|
||||
|
||||
|
||||
-Siarzhuk Zharski <imker@gmx.li>
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
@@ -790,6 +790,7 @@ accordingly. Vim proceeds in this order:
|
||||
or $VIM/_vimrc
|
||||
Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc
|
||||
or $VIM/.vimrc
|
||||
Haiku $HOME/config/settings/vim/vimrc
|
||||
|
||||
The files are searched in the order specified above and only the first
|
||||
one that is found is read.
|
||||
@@ -835,6 +836,8 @@ accordingly. Vim proceeds in this order:
|
||||
"$HOME/_vimrc" (for Win32) (*)
|
||||
"$HOME/vimfiles/vimrc" (for Win32) (*)
|
||||
"$VIM/_vimrc" (for Win32) (*)
|
||||
"$HOME/config/settings/vim/vimrc" (for Haiku) (*)
|
||||
|
||||
Note: For Unix and Amiga, when ".vimrc" does not exist,
|
||||
"_vimrc" is also tried, in case an MS-DOS compatible file
|
||||
system is used. For MS-Windows ".vimrc" is checked after
|
||||
@@ -950,6 +953,8 @@ sessions. Put it in a place so that it will be found by 3b:
|
||||
~/.vimrc (Unix)
|
||||
s:.vimrc (Amiga)
|
||||
$VIM\_vimrc (Win32)
|
||||
~/config/settings/vim/vimrc (Haiku)
|
||||
|
||||
Note that creating a vimrc file will cause the 'compatible' option to be off
|
||||
by default. See |compatible-default|.
|
||||
|
||||
|
||||
@@ -4871,6 +4871,7 @@ GetLatestVimScripts-copyright pi_getscript.txt /*GetLatestVimScripts-copyright*
|
||||
GetLatestVimScripts_dat pi_getscript.txt /*GetLatestVimScripts_dat*
|
||||
Gnome gui_x11.txt /*Gnome*
|
||||
H motion.txt /*H*
|
||||
Haiku os_haiku.txt /*Haiku*
|
||||
I insert.txt /*I*
|
||||
ICCF uganda.txt /*ICCF*
|
||||
IM-server mbyte.txt /*IM-server*
|
||||
@@ -7053,6 +7054,20 @@ g~ change.txt /*g~*
|
||||
g~g~ change.txt /*g~g~*
|
||||
g~~ change.txt /*g~~*
|
||||
h motion.txt /*h*
|
||||
haiku-bugs os_haiku.txt /*haiku-bugs*
|
||||
haiku-colors os_haiku.txt /*haiku-colors*
|
||||
haiku-compiling os_haiku.txt /*haiku-compiling*
|
||||
haiku-dragndrop os_haiku.txt /*haiku-dragndrop*
|
||||
haiku-fonts os_haiku.txt /*haiku-fonts*
|
||||
haiku-general os_haiku.txt /*haiku-general*
|
||||
haiku-gui os_haiku.txt /*haiku-gui*
|
||||
haiku-launch os_haiku.txt /*haiku-launch*
|
||||
haiku-meta os_haiku.txt /*haiku-meta*
|
||||
haiku-mouse os_haiku.txt /*haiku-mouse*
|
||||
haiku-support-credits os_haiku.txt /*haiku-support-credits*
|
||||
haiku-toolbar-images os_haiku.txt /*haiku-toolbar-images*
|
||||
haiku-user-settings-dir os_haiku.txt /*haiku-user-settings-dir*
|
||||
haiku-vimdir os_haiku.txt /*haiku-vimdir*
|
||||
hangul hangulin.txt /*hangul*
|
||||
hangulin.txt hangulin.txt /*hangulin.txt*
|
||||
has() eval.txt /*has()*
|
||||
@@ -8211,6 +8226,7 @@ os_390.txt os_390.txt /*os_390.txt*
|
||||
os_amiga.txt os_amiga.txt /*os_amiga.txt*
|
||||
os_beos.txt os_beos.txt /*os_beos.txt*
|
||||
os_dos.txt os_dos.txt /*os_dos.txt*
|
||||
os_haiku.txt os_haiku.txt /*os_haiku.txt*
|
||||
os_mac.txt os_mac.txt /*os_mac.txt*
|
||||
os_mint.txt os_mint.txt /*os_mint.txt*
|
||||
os_msdos.txt os_msdos.txt /*os_msdos.txt*
|
||||
|
||||
@@ -6,10 +6,11 @@
|
||||
" Last change: 2016 Apr 05
|
||||
"
|
||||
" To use it, copy it to
|
||||
" for Unix: ~/.gvimrc
|
||||
" for Amiga: s:.gvimrc
|
||||
" for MS-DOS and Win32: $VIM\_gvimrc
|
||||
" for OpenVMS: sys$login:.gvimrc
|
||||
" for Unix: ~/.gvimrc
|
||||
" for Amiga: s:.gvimrc
|
||||
" for MS-Windows: $VIM\_gvimrc
|
||||
" for Haiku: ~/config/settings/vim/gvimrc
|
||||
" for OpenVMS: sys$login:.gvimrc
|
||||
|
||||
" Make external commands work through a pipe instead of a pseudo-tty
|
||||
"set noguipty
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
" for Unix: ~/.vimrc
|
||||
" for Amiga: s:.vimrc
|
||||
" for MS-Windows: $VIM\_vimrc
|
||||
" for Haiku: ~/config/settings/vim/vimrc
|
||||
" for OpenVMS: sys$login:.vimrc
|
||||
|
||||
" When started as "evim", evim.vim will already have done these settings, bail
|
||||
|
||||
Reference in New Issue
Block a user