mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
136 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c88928f02 | |||
| 8a6708e69a | |||
| 731b3aad86 | |||
| 5294013d41 | |||
| 952d45c066 | |||
| 896307f2f9 | |||
| 54b911e075 | |||
| 49c8bdd0c6 | |||
| 751144d731 | |||
| d10a4523ff | |||
| aaf987387d | |||
| 11a5cd8e06 | |||
| 6d15994125 | |||
| 57ac1f43e1 | |||
| 1936879867 | |||
| 5bf8f1ef93 | |||
| 0bc7cd1e50 | |||
| 7b3dea9023 | |||
| 591d8fc766 | |||
| 099e55ec35 | |||
| 2415dd8f62 | |||
| 5c628fb880 | |||
| 94ab78aaea | |||
| efb196d8b4 | |||
| 48c55ee503 | |||
| a8f2f92780 | |||
| 8e73b009c9 | |||
| 581f58f6ac | |||
| 808ccdba71 | |||
| 14f9556df8 | |||
| 020c5d0408 | |||
| 13d5221ed7 | |||
| 0ec13c58a8 | |||
| 5f70c8b7ba | |||
| e9969158b8 | |||
| dd31e93867 | |||
| 7847450f1b | |||
| 7cc94eb0d2 | |||
| e5db65a0cc | |||
| 776fd25da0 | |||
| 264ab99a52 | |||
| fed313070c | |||
| f9e219077a | |||
| de8726ab8f | |||
| dcb1d78155 | |||
| efd005f008 | |||
| cd3568c182 | |||
| 88443ae876 | |||
| 4943bae84c | |||
| fb49c75b0e | |||
| 0114cc51c0 | |||
| ffa7051c1a | |||
| c4967f7800 | |||
| 8ca157a3c8 | |||
| a4eace222a | |||
| 0d619d0e74 | |||
| c63ac12984 | |||
| 0e51c47db3 | |||
| eb705c0a08 | |||
| 68e7f052ac | |||
| b1a5dc0d4e | |||
| ff53a554ad | |||
| e857f2e795 | |||
| 14df568fb1 | |||
| 12c7f3b47c | |||
| 839c2a9322 | |||
| f9965d86de | |||
| 85e67db5a8 | |||
| 3a03956405 | |||
| 3b8d18d92e | |||
| ab502ae107 | |||
| e0a43e2170 | |||
| 268341c726 | |||
| a6f4a725fc | |||
| c20f1c1407 | |||
| ece5e9efe3 | |||
| e9a93f649c | |||
| e1527c270d | |||
| 9980a5d31e | |||
| a606ed9ad0 | |||
| 23043f1857 | |||
| 2ff58d67fe | |||
| e6d0f243be | |||
| 02ab595c3d | |||
| 8fffdcb24a | |||
| 3c4452d38d | |||
| 6044bba640 | |||
| 04bb1caaf0 | |||
| ba7e7be841 | |||
| 29cc7a3e42 | |||
| 9608c271e9 | |||
| d720c39612 | |||
| ba25a8fcf0 | |||
| 8440e54efa | |||
| 95bb069fb2 | |||
| 9916e6bbdb | |||
| e4b862947e | |||
| 94825a34da | |||
| bf44ab0a1a | |||
| 0fd8c4f5eb | |||
| fda04022c6 | |||
| 9bbd58ee73 | |||
| 208eb80ec3 | |||
| c3961e472f | |||
| 138ac066a9 | |||
| 536cb9365e | |||
| 8407829c8b | |||
| 247684f19c | |||
| 9c7086198a | |||
| 65f60bafbf | |||
| ea1103f323 | |||
| 1f2319de7b | |||
| 68d79b6549 | |||
| cd955e032e | |||
| f8aeeef2fb | |||
| a220a19234 | |||
| af4ffc7a6d | |||
| c1a78cdb89 | |||
| f74c8bab5b | |||
| 936e910937 | |||
| 9b97928856 | |||
| 83455f6aa9 | |||
| c25c055a37 | |||
| 3bd36b3047 | |||
| 6531a68bc2 | |||
| 5145cf5030 | |||
| d5accc8493 | |||
| 0ad40fadfb | |||
| 4662d59c27 | |||
| df0d398d4a | |||
| 4bad2b9e34 | |||
| 6ea57a2e10 | |||
| be4dbef5f3 | |||
| c2b026b208 | |||
| 39835384ff | |||
| a64a0d33a4 |
-35
@@ -1,35 +0,0 @@
|
||||
.*.swp
|
||||
.DS_Store
|
||||
src/MacVim/MacVim.xcodeproj/*.mode1
|
||||
src/MacVim/MacVim.xcodeproj/*.mode1v3
|
||||
src/MacVim/MacVim.xcodeproj/*.pbxuser
|
||||
src/MacVim/icons/*.pyc
|
||||
src/MacVim/icons/*.ttf
|
||||
src/MacVim/icons/*.reg
|
||||
src/MacVim/icons/*.zip
|
||||
src/MacVim/icons/*.txt
|
||||
src/MacVim/icons/*.so
|
||||
src/MacVim/icons/*.egg-info
|
||||
src/MacVim/icons/build
|
||||
src/MacVim/icons/makeicns/*.o
|
||||
src/MacVim/icons/makeicns/makeicns
|
||||
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.mode1
|
||||
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.pbxuser
|
||||
src/MacVim/PSMTabBarControl/build
|
||||
src/MacVim/build
|
||||
src/TAGS
|
||||
src/Vim
|
||||
src/auto/config.h
|
||||
src/auto/config.mk
|
||||
src/auto/if_perl.c
|
||||
src/auto/link.log
|
||||
src/auto/link.sed
|
||||
src/auto/osdef.h
|
||||
src/auto/pathdef.c
|
||||
src/config.log
|
||||
src/config.status
|
||||
src/objects
|
||||
src/po/*.mo
|
||||
src/tags
|
||||
src/xxd/xxd
|
||||
src/xxd/xxd.dSYM
|
||||
@@ -1,23 +0,0 @@
|
||||
Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
|
||||
for editing programs and other plain ASCII text. Full Vi
|
||||
compatibility and includes all Ex commands. Extra features
|
||||
above Vi: Multilevel undo, multiple windows, syntax
|
||||
highlighting, command line history, folding, improved command
|
||||
line editing, command typeahead display, command to display
|
||||
yank buffers, possibility to edit binary files, file name
|
||||
stack, support for Manx QuickFix and other compiler's error
|
||||
messages, shows current file name in window title, on-line
|
||||
help, rectangular cut/paste, etc., etc., etc...
|
||||
|
||||
Version 7.2. Also runs under UNIX, MSDOS and other systems.
|
||||
vim72rt.tgz contains the documentation and syntax files.
|
||||
vim72bin.tgz contains the binaries.
|
||||
vim72src.tgz contains the sources.
|
||||
Author: Bram Moolenaar et al.
|
||||
|
||||
|
||||
Xxd Hex dumper and reader. Can be used to view files as hex, edit
|
||||
them and write them back. Can also be used to patch files.
|
||||
|
||||
Version 1.8 (1997 May 22)
|
||||
Author: Juergen Weigert
|
||||
Binary file not shown.
@@ -1,716 +0,0 @@
|
||||
# List of distributed Vim files.
|
||||
# Used by Makefile and upload.aap.
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
src/README.txt \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
src/ascii.h \
|
||||
src/buffer.c \
|
||||
src/charset.c \
|
||||
src/diff.c \
|
||||
src/digraph.c \
|
||||
src/edit.c \
|
||||
src/eval.c \
|
||||
src/ex_cmds.c \
|
||||
src/ex_cmds.h \
|
||||
src/ex_cmds2.c \
|
||||
src/ex_docmd.c \
|
||||
src/ex_eval.c \
|
||||
src/ex_getln.c \
|
||||
src/farsi.c \
|
||||
src/farsi.h \
|
||||
src/feature.h \
|
||||
src/fileio.c \
|
||||
src/fold.c \
|
||||
src/getchar.c \
|
||||
src/globals.h \
|
||||
src/gui.c \
|
||||
src/gui.h \
|
||||
src/gui_beval.c \
|
||||
src/gui_beval.h \
|
||||
src/hardcopy.c \
|
||||
src/hashtab.c \
|
||||
src/keymap.h \
|
||||
src/macros.h \
|
||||
src/main.c \
|
||||
src/mark.c \
|
||||
src/mbyte.c \
|
||||
src/memfile.c \
|
||||
src/memline.c \
|
||||
src/menu.c \
|
||||
src/message.c \
|
||||
src/misc1.c \
|
||||
src/misc2.c \
|
||||
src/move.c \
|
||||
src/mysign \
|
||||
src/nbdebug.c \
|
||||
src/nbdebug.h \
|
||||
src/netbeans.c \
|
||||
src/normal.c \
|
||||
src/ops.c \
|
||||
src/option.c \
|
||||
src/option.h \
|
||||
src/popupmnu.c \
|
||||
src/quickfix.c \
|
||||
src/regexp.c \
|
||||
src/regexp.h \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
src/structs.h \
|
||||
src/spell.c \
|
||||
src/syntax.c \
|
||||
src/tag.c \
|
||||
src/term.c \
|
||||
src/term.h \
|
||||
src/termlib.c \
|
||||
src/ui.c \
|
||||
src/undo.c \
|
||||
src/version.c \
|
||||
src/version.h \
|
||||
src/vim.h \
|
||||
src/window.c \
|
||||
src/xxd/xxd.c \
|
||||
src/main.aap \
|
||||
src/testdir/main.aap \
|
||||
src/testdir/*.in \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/proto.h \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/diff.pro \
|
||||
src/proto/digraph.pro \
|
||||
src/proto/edit.pro \
|
||||
src/proto/eval.pro \
|
||||
src/proto/ex_cmds.pro \
|
||||
src/proto/ex_cmds2.pro \
|
||||
src/proto/ex_docmd.pro \
|
||||
src/proto/ex_eval.pro \
|
||||
src/proto/ex_getln.pro \
|
||||
src/proto/fileio.pro \
|
||||
src/proto/fold.pro \
|
||||
src/proto/getchar.pro \
|
||||
src/proto/gui.pro \
|
||||
src/proto/gui_beval.pro \
|
||||
src/proto/hardcopy.pro \
|
||||
src/proto/hashtab.pro \
|
||||
src/proto/main.pro \
|
||||
src/proto/mark.pro \
|
||||
src/proto/mbyte.pro \
|
||||
src/proto/memfile.pro \
|
||||
src/proto/memline.pro \
|
||||
src/proto/menu.pro \
|
||||
src/proto/message.pro \
|
||||
src/proto/misc1.pro \
|
||||
src/proto/misc2.pro \
|
||||
src/proto/move.pro \
|
||||
src/proto/netbeans.pro \
|
||||
src/proto/normal.pro \
|
||||
src/proto/ops.pro \
|
||||
src/proto/option.pro \
|
||||
src/proto/popupmnu.pro \
|
||||
src/proto/quickfix.pro \
|
||||
src/proto/regexp.pro \
|
||||
src/proto/screen.pro \
|
||||
src/proto/search.pro \
|
||||
src/proto/spell.pro \
|
||||
src/proto/syntax.pro \
|
||||
src/proto/tag.pro \
|
||||
src/proto/term.pro \
|
||||
src/proto/termlib.pro \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
src/proto/version.pro \
|
||||
src/proto/window.pro \
|
||||
|
||||
|
||||
# source files for Unix only
|
||||
SRC_UNIX = \
|
||||
Makefile \
|
||||
Filelist \
|
||||
README_src.txt \
|
||||
configure \
|
||||
pixmaps/*.xpm \
|
||||
pixmaps/gen-inline-pixbufs.sh \
|
||||
pixmaps/stock_icons.h \
|
||||
src/INSTALL \
|
||||
src/INSTALLx.txt \
|
||||
src/Makefile \
|
||||
src/auto/configure \
|
||||
src/config.aap.in \
|
||||
src/config.h.in \
|
||||
src/config.mk.dist \
|
||||
src/config.mk.in \
|
||||
src/configure \
|
||||
src/configure.in \
|
||||
src/gui_at_fs.c \
|
||||
src/gui_at_sb.c \
|
||||
src/gui_at_sb.h \
|
||||
src/gui_athena.c \
|
||||
src/gui_gtk.c \
|
||||
src/gui_gtk_f.c \
|
||||
src/gui_gtk_f.h \
|
||||
src/gui_gtk_x11.c \
|
||||
src/gui_motif.c \
|
||||
src/gui_xmdlg.c \
|
||||
src/gui_xmebw.c \
|
||||
src/gui_xmebw.h \
|
||||
src/gui_xmebwp.h \
|
||||
src/gui_x11.c \
|
||||
src/gui_x11_pm.h \
|
||||
src/hangulin.c \
|
||||
src/if_xcmdsrv.c \
|
||||
src/integration.c \
|
||||
src/integration.h \
|
||||
src/link.sh \
|
||||
src/installman.sh \
|
||||
src/installml.sh \
|
||||
src/mkinstalldirs \
|
||||
src/os_unix.c \
|
||||
src/os_unix.h \
|
||||
src/os_unixx.h \
|
||||
src/osdef.sh \
|
||||
src/osdef1.h.in \
|
||||
src/osdef2.h.in \
|
||||
src/pathdef.sh \
|
||||
src/proto/gui_athena.pro \
|
||||
src/proto/gui_gtk.pro \
|
||||
src/proto/gui_gtk_x11.pro \
|
||||
src/proto/gui_motif.pro \
|
||||
src/proto/gui_xmdlg.pro \
|
||||
src/proto/gui_x11.pro \
|
||||
src/proto/hangulin.pro \
|
||||
src/proto/if_xcmdsrv.pro \
|
||||
src/proto/os_unix.pro \
|
||||
src/proto/pty.pro \
|
||||
src/proto/workshop.pro \
|
||||
src/pty.c \
|
||||
src/testdir/Makefile \
|
||||
src/testdir/unix.vim \
|
||||
src/toolcheck \
|
||||
src/vim_icon.xbm \
|
||||
src/vim_mask.xbm \
|
||||
src/vimtutor \
|
||||
src/gvimtutor \
|
||||
src/which.sh \
|
||||
src/workshop.c \
|
||||
src/workshop.h \
|
||||
src/wsdebug.c \
|
||||
src/wsdebug.h \
|
||||
src/xxd/Makefile \
|
||||
|
||||
# source files for both DOS and Unix
|
||||
SRC_DOS_UNIX = \
|
||||
src/if_cscope.c \
|
||||
src/if_cscope.h \
|
||||
src/if_mzsch.c \
|
||||
src/if_mzsch.h \
|
||||
src/if_perl.xs \
|
||||
src/if_perlsfio.c \
|
||||
src/if_python.c \
|
||||
src/if_ruby.c \
|
||||
src/if_sniff.h \
|
||||
src/if_tcl.c \
|
||||
src/proto/if_cscope.pro \
|
||||
src/proto/if_mzsch.pro \
|
||||
src/proto/if_perl.pro \
|
||||
src/proto/if_perlsfio.pro \
|
||||
src/proto/if_python.pro \
|
||||
src/proto/if_ruby.pro \
|
||||
src/proto/if_tcl.pro \
|
||||
src/typemap \
|
||||
|
||||
# source files for DOS (also in the extra archive)
|
||||
SRC_DOS = \
|
||||
src/GvimExt/*.mak \
|
||||
src/GvimExt/GvimExt.reg \
|
||||
src/GvimExt/Makefile \
|
||||
src/GvimExt/README.txt \
|
||||
src/GvimExt/gvimext.cpp \
|
||||
src/GvimExt/gvimext.def \
|
||||
src/GvimExt/gvimext.h \
|
||||
src/GvimExt/gvimext.inf \
|
||||
src/GvimExt/gvimext.rc \
|
||||
src/GvimExt/gvimext_ming.def \
|
||||
src/GvimExt/gvimext_ming.rc \
|
||||
src/GvimExt/resource.h \
|
||||
src/GvimExt/uninst.bat \
|
||||
README_srcdos.txt \
|
||||
src/INSTALLpc.txt \
|
||||
src/Make_bc3.mak \
|
||||
src/Make_bc5.mak \
|
||||
src/Make_cyg.mak \
|
||||
src/Make_djg.mak \
|
||||
src/Make_ivc.mak \
|
||||
src/Make_dvc.mak \
|
||||
src/Make_ming.mak \
|
||||
src/Make_mvc.mak \
|
||||
src/Make_w16.mak \
|
||||
src/bigvim.bat \
|
||||
src/msvcsetup.bat \
|
||||
src/msvc2008.bat \
|
||||
src/dimm.idl \
|
||||
src/dlldata.c \
|
||||
src/dosinst.c \
|
||||
src/dosinst.h \
|
||||
src/glbl_ime.cpp \
|
||||
src/glbl_ime.h \
|
||||
src/gui_w16.c \
|
||||
src/gui_w32.c \
|
||||
src/gui_w48.c \
|
||||
src/guiw16rc.h \
|
||||
src/gui_w32_rc.h \
|
||||
src/if_ole.cpp \
|
||||
src/if_ole.h \
|
||||
src/if_ole.idl \
|
||||
src/iid_ole.c \
|
||||
src/os_dos.h \
|
||||
src/os_msdos.c \
|
||||
src/os_msdos.h \
|
||||
src/os_w32dll.c \
|
||||
src/os_w32exe.c \
|
||||
src/os_win16.c \
|
||||
src/os_win32.c \
|
||||
src/os_mswin.c \
|
||||
src/os_win16.h \
|
||||
src/os_win32.h \
|
||||
src/proto/gui_w16.pro \
|
||||
src/proto/gui_w32.pro \
|
||||
src/proto/if_ole.pro \
|
||||
src/proto/os_msdos.pro \
|
||||
src/proto/os_win16.pro \
|
||||
src/proto/os_win32.pro \
|
||||
src/proto/os_mswin.pro \
|
||||
src/testdir/Make_dos.mak \
|
||||
src/testdir/Make_ming.mak \
|
||||
src/testdir/dos.vim \
|
||||
src/uninstal.c \
|
||||
src/vim.def \
|
||||
src/vim.rc \
|
||||
src/vimio.h \
|
||||
src/gvim.exe.mnf \
|
||||
src/vim16.def \
|
||||
src/vim16.rc \
|
||||
src/vimrun.c \
|
||||
src/vimtbar.h \
|
||||
src/xpm_w32.c \
|
||||
src/xpm_w32.h \
|
||||
src/xxd/Make_bc3.mak \
|
||||
src/xxd/Make_bc5.mak \
|
||||
src/xxd/Make_cyg.mak \
|
||||
src/xxd/Make_djg.mak \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
nsis/README.txt \
|
||||
uninstal.txt \
|
||||
src/VisVim/Commands.cpp \
|
||||
src/VisVim/Commands.h \
|
||||
src/VisVim/DSAddIn.cpp \
|
||||
src/VisVim/DSAddIn.h \
|
||||
src/VisVim/OleAut.cpp \
|
||||
src/VisVim/OleAut.h \
|
||||
src/VisVim/README_VisVim.txt \
|
||||
src/VisVim/Reg.cpp \
|
||||
src/VisVim/Register.bat \
|
||||
src/VisVim/Resource.h \
|
||||
src/VisVim/StdAfx.cpp \
|
||||
src/VisVim/StdAfx.h \
|
||||
src/VisVim/UnRegist.bat \
|
||||
src/VisVim/VisVim.cpp \
|
||||
src/VisVim/VisVim.def \
|
||||
src/VisVim/VisVim.mak \
|
||||
src/VisVim/VisVim.h \
|
||||
src/VisVim/VisVim.odl \
|
||||
src/VisVim/VisVim.rc \
|
||||
src/VisVim/VsReadMe.txt \
|
||||
|
||||
# source files for DOS without CR/LF translation (also in the extra archive)
|
||||
SRC_DOS_BIN = \
|
||||
src/VisVim/Res/*.bmp \
|
||||
src/tearoff.bmp \
|
||||
src/tools.bmp \
|
||||
src/tools16.bmp \
|
||||
src/vim*.ico \
|
||||
src/vim.tlb \
|
||||
src/vimtbar.lib \
|
||||
src/vimtbar.dll \
|
||||
nsis/icons/*.bmp \
|
||||
nsis/icons/*.ico \
|
||||
|
||||
# source files for Amiga, DOS, etc. (also in the extra archive)
|
||||
SRC_AMI_DOS = \
|
||||
|
||||
# source files for Amiga (also in the extra archive)
|
||||
SRC_AMI = \
|
||||
README_amisrc.txt \
|
||||
README_amisrc.txt.info \
|
||||
src.info \
|
||||
src/INSTALLami.txt \
|
||||
src/Make_dice.mak \
|
||||
src/Make_manx.mak \
|
||||
src/Make_morph.mak \
|
||||
src/Make_sas.mak \
|
||||
src/os_amiga.c \
|
||||
src/os_amiga.h \
|
||||
src/proto/os_amiga.pro \
|
||||
src/testdir/Make_amiga.mak \
|
||||
src/testdir/amiga.vim \
|
||||
src/xxd/Make_amiga.mak \
|
||||
|
||||
# source files for the Mac (also in the extra archive)
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
src/dehqx.py \
|
||||
src/gui_mac.c \
|
||||
src/os_mac_rsrc/*.icns \
|
||||
src/os_mac.h \
|
||||
src/os_mac.rsr.hqx \
|
||||
src/os_mac_conv.c \
|
||||
src/os_macosx.c \
|
||||
src/proto/gui_mac.pro \
|
||||
src/proto/os_mac_conv.pro \
|
||||
|
||||
# source files for VMS (in the extra archive)
|
||||
SRC_VMS = \
|
||||
src/INSTALLvms.txt \
|
||||
src/Make_vms.mms \
|
||||
src/gui_gtk_vms.h \
|
||||
src/os_vms.c \
|
||||
src/os_vms_conf.h \
|
||||
src/os_vms_mms.c \
|
||||
src/proto/os_vms.pro \
|
||||
src/testdir/Make_vms.mms \
|
||||
src/testdir/vms.vim \
|
||||
src/xxd/Make_vms.mms \
|
||||
vimtutor.com \
|
||||
|
||||
# source files for OS/2 (in the extra archive)
|
||||
SRC_OS2 = \
|
||||
src/Make_os2.mak \
|
||||
src/os_os2_cfg.h \
|
||||
src/testdir/Make_os2.mak \
|
||||
src/testdir/todos.vim \
|
||||
src/testdir/os2.vim \
|
||||
src/xxd/Make_os2.mak \
|
||||
|
||||
# source files for QNX (in the extra archive)
|
||||
SRC_QNX = \
|
||||
src/os_qnx.c \
|
||||
src/os_qnx.h \
|
||||
src/gui_photon.c \
|
||||
src/proto/gui_photon.pro \
|
||||
src/proto/os_qnx.pro \
|
||||
|
||||
|
||||
# source files for the extra archive (all sources that are not for Unix)
|
||||
SRC_EXTRA = \
|
||||
$(SRC_AMI) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS) \
|
||||
$(SRC_DOS_BIN) \
|
||||
$(SRC_MAC) \
|
||||
$(SRC_OS2) \
|
||||
$(SRC_QNX) \
|
||||
$(SRC_VMS) \
|
||||
README_os390.txt \
|
||||
src/Make_mint.mak \
|
||||
src/Make_ro.mak \
|
||||
src/gui_riscos.c \
|
||||
src/gui_riscos.h \
|
||||
src/if_sniff.c \
|
||||
src/infplist.xml \
|
||||
src/link.390 \
|
||||
src/os_beos.c \
|
||||
src/os_beos.h \
|
||||
src/os_beos.rsrc \
|
||||
src/os_mint.h \
|
||||
src/os_riscos.c \
|
||||
src/os_riscos.h \
|
||||
src/proto/gui_riscos.pro \
|
||||
src/proto/os_riscos.pro \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
# runtime files for all distributions
|
||||
RT_ALL = \
|
||||
README.txt \
|
||||
runtime/bugreport.vim \
|
||||
runtime/doc/*.awk \
|
||||
runtime/doc/*.pl \
|
||||
runtime/doc/*.txt \
|
||||
runtime/doc/Makefile \
|
||||
runtime/doc/doctags.c \
|
||||
runtime/doc/vim.1 \
|
||||
runtime/doc/evim.1 \
|
||||
runtime/doc/vimdiff.1 \
|
||||
runtime/doc/vimtutor.1 \
|
||||
runtime/doc/xxd.1 \
|
||||
runtime/ftoff.vim \
|
||||
runtime/gvimrc_example.vim \
|
||||
runtime/macros/README.txt \
|
||||
runtime/macros/dvorak \
|
||||
runtime/macros/editexisting.vim \
|
||||
runtime/macros/hanoi/click.me \
|
||||
runtime/macros/hanoi/hanoi.vim \
|
||||
runtime/macros/hanoi/poster \
|
||||
runtime/macros/justify.vim \
|
||||
runtime/macros/less.sh \
|
||||
runtime/macros/less.vim \
|
||||
runtime/macros/life/click.me \
|
||||
runtime/macros/life/life.vim \
|
||||
runtime/macros/matchit.vim \
|
||||
runtime/macros/matchit.txt \
|
||||
runtime/macros/maze/README.txt \
|
||||
runtime/macros/maze/[mM]akefile \
|
||||
runtime/macros/maze/main.aap \
|
||||
runtime/macros/maze/maze.c \
|
||||
runtime/macros/maze/maze_5.78 \
|
||||
runtime/macros/maze/maze_mac \
|
||||
runtime/macros/maze/mazeansi.c \
|
||||
runtime/macros/maze/mazeclean.c \
|
||||
runtime/macros/maze/poster \
|
||||
runtime/macros/shellmenu.vim \
|
||||
runtime/macros/swapmous.vim \
|
||||
runtime/macros/urm/README.txt \
|
||||
runtime/macros/urm/examples \
|
||||
runtime/macros/urm/urm \
|
||||
runtime/macros/urm/urm.vim \
|
||||
runtime/mswin.vim \
|
||||
runtime/evim.vim \
|
||||
runtime/optwin.vim \
|
||||
runtime/ftplugin.vim \
|
||||
runtime/ftplugof.vim \
|
||||
runtime/indent.vim \
|
||||
runtime/indoff.vim \
|
||||
runtime/termcap \
|
||||
runtime/tools/README.txt \
|
||||
runtime/tools/[a-z]*[a-z0-9] \
|
||||
runtime/tutor/README.txt \
|
||||
runtime/tutor/tutor \
|
||||
runtime/tutor/tutor.vim \
|
||||
runtime/vimrc_example.vim \
|
||||
|
||||
# runtime files for all distributions without CR-NL translation
|
||||
RT_ALL_BIN = \
|
||||
runtime/doc/tags \
|
||||
runtime/print/*.ps \
|
||||
|
||||
# runtime script files
|
||||
RT_SCRIPTS = \
|
||||
runtime/filetype.vim \
|
||||
runtime/scripts.vim \
|
||||
runtime/menu.vim \
|
||||
runtime/macmap.vim \
|
||||
runtime/delmenu.vim \
|
||||
runtime/synmenu.vim \
|
||||
runtime/makemenu.vim \
|
||||
runtime/autoload/*.vim \
|
||||
runtime/autoload/README.txt \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
runtime/compiler/*.vim \
|
||||
runtime/compiler/README.txt \
|
||||
runtime/indent/*.vim \
|
||||
runtime/indent/README.txt \
|
||||
runtime/ftplugin/*.vim \
|
||||
runtime/ftplugin/logtalk.dict \
|
||||
runtime/ftplugin/README.txt \
|
||||
runtime/plugin/*.vim \
|
||||
runtime/plugin/README.txt \
|
||||
runtime/syntax/*.vim \
|
||||
runtime/syntax/README.txt \
|
||||
|
||||
# Unix runtime
|
||||
RT_UNIX = \
|
||||
README_unix.txt \
|
||||
runtime/hi16-action-make.png \
|
||||
runtime/hi22-action-make.png \
|
||||
runtime/vim16x16.png \
|
||||
runtime/vim16x16.xpm \
|
||||
runtime/vim32x32.png \
|
||||
runtime/vim32x32.xpm \
|
||||
runtime/vim48x48.png \
|
||||
runtime/vim48x48.xpm \
|
||||
|
||||
# Unix and DOS runtime without CR-LF translation
|
||||
RT_UNIX_DOS_BIN = \
|
||||
runtime/vim16x16.gif \
|
||||
runtime/vim32x32.gif \
|
||||
runtime/vim48x48.gif \
|
||||
|
||||
# runtime not for unix or extra
|
||||
RT_NO_UNIX = \
|
||||
|
||||
# runtime for Amiga (also in the extra archive)
|
||||
RT_AMI_DOS = \
|
||||
runtime/doc/vim.man \
|
||||
runtime/doc/vimdiff.man \
|
||||
runtime/doc/vimtutor.man \
|
||||
runtime/doc/xxd.man \
|
||||
|
||||
# DOS runtime (also in the extra archive)
|
||||
RT_DOS = \
|
||||
README_dos.txt \
|
||||
runtime/rgb.txt \
|
||||
vimtutor.bat \
|
||||
|
||||
# DOS runtime without CR-LF translation (also in the extra archive)
|
||||
RT_DOS_BIN = \
|
||||
runtime/vimlogo.cdr \
|
||||
runtime/vimlogo.eps \
|
||||
runtime/vimlogo.gif \
|
||||
runtime/vimlogo.pdf \
|
||||
|
||||
# Amiga runtime (also in the extra archive)
|
||||
RT_AMI = \
|
||||
README.txt.info \
|
||||
README_ami.txt \
|
||||
README_ami.txt.info \
|
||||
libs/arp.library \
|
||||
runtime/doc.info \
|
||||
runtime/doc/*.info \
|
||||
runtime/icons/README.txt \
|
||||
runtime/icons/*.info \
|
||||
runtime/icons.info \
|
||||
runtime/macros.info \
|
||||
runtime/macros/*.info \
|
||||
runtime/macros/hanoi/*.info \
|
||||
runtime/macros/life/*.info \
|
||||
runtime/macros/maze/*.info \
|
||||
runtime/macros/urm/*.info \
|
||||
runtime/tools.info \
|
||||
runtime/tutor.info \
|
||||
runtime/tutor/*.info \
|
||||
|
||||
# runtime files in extra archive
|
||||
RT_EXTRA = \
|
||||
$(RT_AMI) \
|
||||
$(RT_AMI_DOS) \
|
||||
$(RT_DOS) \
|
||||
$(RT_DOS_BIN) \
|
||||
README_mac.txt \
|
||||
|
||||
# included in all Amiga archives
|
||||
ROOT_AMI = \
|
||||
Contents \
|
||||
Contents.info \
|
||||
runtime.info \
|
||||
vimdir.info \
|
||||
|
||||
# root files for the extra archive
|
||||
ROOT_EXTRA = \
|
||||
$(ROOT_AMI) \
|
||||
|
||||
# files for Amiga small binary (also in extra archive)
|
||||
BIN_AMI = \
|
||||
README_amibin.txt \
|
||||
README_amibin.txt.info \
|
||||
Vim.info \
|
||||
Xxd.info \
|
||||
|
||||
# files for DOS binary (also in extra archive)
|
||||
BIN_DOS = \
|
||||
README_bindos.txt \
|
||||
uninstal.txt \
|
||||
|
||||
# files for Win32 OLE binary (also in extra archive)
|
||||
BIN_OLE = \
|
||||
README_ole.txt \
|
||||
|
||||
# files for Win32s binary (also in extra archive)
|
||||
BIN_W32S = \
|
||||
README_w32s.txt \
|
||||
|
||||
# files for VMS binary (also in extra archive)
|
||||
BIN_VMS = \
|
||||
README_vms.txt \
|
||||
|
||||
# files for OS/2 binary (also in extra archive)
|
||||
BIN_OS2 = \
|
||||
README_os2.txt \
|
||||
|
||||
# binary files for extra archive
|
||||
BIN_EXTRA = \
|
||||
$(BIN_AMI) \
|
||||
$(BIN_DOS) \
|
||||
$(BIN_OLE) \
|
||||
$(BIN_W32S) \
|
||||
$(BIN_VMS) \
|
||||
$(BIN_OS2) \
|
||||
|
||||
# all files for extra archive
|
||||
EXTRA = \
|
||||
$(BIN_EXTRA) \
|
||||
$(ROOT_EXTRA) \
|
||||
$(RT_EXTRA) \
|
||||
$(SRC_EXTRA) \
|
||||
README_extra.txt \
|
||||
src/VisVim/VisVim.dll \
|
||||
farsi/README.txt \
|
||||
farsi/fonts/*/far-* \
|
||||
runtime/vimlogo.xpm \
|
||||
src/swis.s \
|
||||
src/tee/Makefile* \
|
||||
src/tee/tee.c \
|
||||
csdpmi4b.zip \
|
||||
|
||||
# generic language files
|
||||
LANG_GEN = \
|
||||
README_lang.txt \
|
||||
runtime/doc/*-fr.1 \
|
||||
runtime/doc/*-fr.UTF-8.1 \
|
||||
runtime/doc/*-it.1 \
|
||||
runtime/doc/*-it.UTF-8.1 \
|
||||
runtime/doc/*-pl.1 \
|
||||
runtime/doc/*-pl.UTF-8.1 \
|
||||
runtime/doc/*-ru.1 \
|
||||
runtime/doc/*-ru.UTF-8.1 \
|
||||
runtime/lang/README.txt \
|
||||
runtime/lang/menu_*.vim \
|
||||
runtime/keymap/README.txt \
|
||||
runtime/keymap/*.vim \
|
||||
runtime/tutor/README.*.txt \
|
||||
runtime/tutor/Makefile \
|
||||
runtime/tutor/tutor.utf-8 \
|
||||
runtime/tutor/tutor.?? \
|
||||
runtime/tutor/tutor.??.* \
|
||||
runtime/spell/README.txt \
|
||||
runtime/spell/??/*.diff \
|
||||
runtime/spell/??/main.aap \
|
||||
runtime/spell/yi/README.txt \
|
||||
runtime/spell/main.aap \
|
||||
runtime/spell/*.vim \
|
||||
|
||||
# generic language files, binary
|
||||
LANG_GEN_BIN = \
|
||||
runtime/spell/README_en.txt \
|
||||
runtime/spell/en.ascii.spl \
|
||||
runtime/spell/en.latin1.spl \
|
||||
runtime/spell/en.utf-8.spl \
|
||||
runtime/spell/en.ascii.sug \
|
||||
runtime/spell/en.latin1.sug \
|
||||
runtime/spell/en.utf-8.sug \
|
||||
|
||||
# all files for lang archive
|
||||
LANG_SRC = \
|
||||
src/po/README.txt \
|
||||
src/po/README_mingw.txt \
|
||||
src/po/README_mvc.txt \
|
||||
src/po/check.vim \
|
||||
src/po/cleanup.vim \
|
||||
src/po/Makefile \
|
||||
src/po/Make_cyg.mak \
|
||||
src/po/Make_ming.mak \
|
||||
src/po/Make_mvc.mak \
|
||||
src/po/sjiscorr.c \
|
||||
src/po/*.po \
|
||||
|
||||
# the language files for the Win32 lang archive
|
||||
LANG_DOS = \
|
||||
src/po/*.mo \
|
||||
|
||||
# vim: set ft=make:
|
||||
@@ -1,602 +0,0 @@
|
||||
# This Makefile has two purposes:
|
||||
# 1. Starting the compilation of Vim for Unix.
|
||||
# 2. Creating the various distribution files.
|
||||
|
||||
|
||||
# 1. Using this Makefile without an argument will compile Vim for Unix.
|
||||
#
|
||||
# "make install" is also possible.
|
||||
#
|
||||
# NOTE: If this doesn't work properly, first change directory to "src" and use
|
||||
# the Makefile there:
|
||||
# cd src
|
||||
# make [arguments]
|
||||
# Noticed on AIX systems when using this Makefile: Trying to run "cproto" or
|
||||
# something else after Vim has been compiled. Don't know why...
|
||||
# Noticed on OS/390 Unix: Restarts configure.
|
||||
#
|
||||
# The first (default) target is "first". This will result in running
|
||||
# "make first", so that the target from "src/auto/config.mk" is picked
|
||||
# up properly when config didn't run yet. Doing "make all" before configure
|
||||
# has run can result in compiling with $(CC) empty.
|
||||
|
||||
first:
|
||||
@echo "Starting make in the src directory."
|
||||
@echo "If there are problems, cd to the src directory and run make there"
|
||||
cd src && $(MAKE) $@
|
||||
|
||||
# Some make programs use the last target for the $@ default; put the other
|
||||
# targets separately to always let $@ expand to "first" by default.
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
|
||||
@echo "Starting make in the src directory."
|
||||
@echo "If there are problems, cd to the src directory and run make there"
|
||||
cd src && $(MAKE) $@
|
||||
|
||||
|
||||
# 2. Create the various distributions:
|
||||
#
|
||||
# TARGET PRODUCES CONTAINS
|
||||
# unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
|
||||
#
|
||||
# extra vim-#.#-extra.tar.gz Extra source and runtime files
|
||||
# lang vim-#.#-lang.tar.gz multi-language files
|
||||
#
|
||||
# html vim##html.zip HTML docs
|
||||
#
|
||||
# amisrc vim##src.tgz sources for Amiga
|
||||
# amirt vim##rt.tgz runtime for Amiga
|
||||
# amibin vim##bin.tgz binary for Amiga
|
||||
#
|
||||
# dossrc vim##src.zip sources for MS-DOS
|
||||
# dosrt vim##rt.zip runtime for MS-DOS
|
||||
# dosbin vim##d16.zip binary for MS-DOS 16 bits
|
||||
# vim##d32.zip binary for MS-DOS 32 bits
|
||||
# vim##w32.zip binary for Win32
|
||||
# gvim##.zip binary for GUI Win32
|
||||
# gvim##ole.zip OLE exe for Win32 GUI
|
||||
# gvim##_s.zip exe for Win32s GUI
|
||||
# doslang vim##lang.zip language files for Win32
|
||||
#
|
||||
# os2bin vim##os2.zip binary for OS/2
|
||||
# (use RT from dosrt)
|
||||
#
|
||||
# farsi farsi##.zip Farsi fonts
|
||||
#
|
||||
# All output files are created in the "dist" directory. Existing files are
|
||||
# overwritten!
|
||||
# To do all this you need the unix, extra and lang archives, and
|
||||
# compiled binaries.
|
||||
# Before creating an archive first delete all backup files, *.orig, etc.
|
||||
|
||||
MAJOR = 7
|
||||
MINOR = 2
|
||||
|
||||
# Uncomment this line if the Win32s version is to be included.
|
||||
DOSBIN_S = dosbin_s
|
||||
|
||||
# CHECKLIST for creating a new version:
|
||||
#
|
||||
# - Update Vim version number. For a test version in: src/version.h, Contents,
|
||||
# MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
|
||||
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
|
||||
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
|
||||
# - Correct included_patches[] in src/version.c.
|
||||
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme (if you can make it
|
||||
# work), Cscope and "huge" features. Exclude workshop and SNiFF.
|
||||
# - With these features: "make proto" (requires cproto and Motif installed;
|
||||
# ignore warnings for missing include files, fix problems for syntax errors).
|
||||
# - With these features: "make depend" (works best with gcc).
|
||||
# - "make lint" and check the output (ignore GTK warnings).
|
||||
# - Enable the efence library in "src/Makefile" and run "make test". Disable
|
||||
# Python and Ruby to avoid trouble with threads (efence is not threadsafe).
|
||||
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
|
||||
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
|
||||
# - Do "make menu" to update the runtime/synmenu.vim file.
|
||||
# - Add remarks for changes to runtime/doc/version7.txt.
|
||||
# - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
|
||||
# ADDITIONS".
|
||||
# - In runtime/doc run "make" and "make html" to check for errors.
|
||||
# - Check if src/Makefile and src/feature.h don't contain any personal
|
||||
# preferences or the GTK, Perl, etc. mentioned above.
|
||||
# - Check file protections to be "644" for text and "755" for executables (run
|
||||
# the "check" script).
|
||||
# - Check compiling on Amiga, MS-DOS and MS-Windows.
|
||||
# - Delete all *~, *.sw?, *.orig, *.rej files
|
||||
# - "make unixall", "make extra", "make lang", "make html"
|
||||
# - Make diff files against the previous release: "makediff7 7.1 7.2"
|
||||
#
|
||||
# Amiga:
|
||||
# - "make amisrc", move the archive to the Amiga and compile:
|
||||
# "make -f Make_manx.mak" (will use "big" features by default).
|
||||
# - Run the tests: "make -f Make_manx.mak test"
|
||||
# - Place the executables Vim and Xxd in this directory (set the executable
|
||||
# flag).
|
||||
# - "make amirt", "make amibin".
|
||||
#
|
||||
# PC:
|
||||
# - "make dossrc" and "make dosrt". Unpack the archives on a PC.
|
||||
# 16 bit DOS version:
|
||||
# - Set environment for compiling with Borland C++ 3.1.
|
||||
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
|
||||
# case set environment for compiling with Borland C++ 4.0 and do
|
||||
# "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
|
||||
# NOTE: this currently fails because Vim is too big.
|
||||
# - "make test" and check the output.
|
||||
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
|
||||
# "uninstald16.exe".
|
||||
# 32 bit DOS version:
|
||||
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
|
||||
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for
|
||||
# "ALL DONE".
|
||||
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
|
||||
# "uninstald32.exe".
|
||||
# Win32 console version:
|
||||
# - Set environment for Visual C++ 2008 Express Edition: "msvc2008.bat". Or,
|
||||
# when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths
|
||||
# when necessary). For Windows 98 the 2003 version is required.
|
||||
# - "nmake -f Make_mvc.mak"
|
||||
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
|
||||
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
|
||||
# - Rename vim.pdb to vimw32.pdb.
|
||||
# - When building the Win32s version later, delete vimrun.exe, install.exe and
|
||||
# uninstal.exe. Otherwise rename executables to installw32.exe and
|
||||
# uninstalw32.exe.
|
||||
# Win32 GUI version:
|
||||
# - "nmake -f Make_mvc.mak GUI=yes.
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
|
||||
# - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
# - Delete install.exe and uninstal.exe.
|
||||
# - If building the Win32s version delete vimrun.exe.
|
||||
# Win32s GUI version:
|
||||
# - Set environment for Visual C++ 4.1 (requires a new console window)
|
||||
# - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
|
||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
|
||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
|
||||
# - Rename "gvim.exe" to "gvim_w32s.exe".
|
||||
# - Rename "install.exe" to "installw32.exe"
|
||||
# - Rename "uninstal.exe" to "uninstalw32.exe"
|
||||
# - The produced uninstalw32.exe and vimrun.exe are used.
|
||||
# Create the archives:
|
||||
# - Copy all the "*.exe" files to where this Makefile is.
|
||||
# - Copy all the "*.pdb" files to where this Makefile is.
|
||||
# - "make dosbin".
|
||||
# - Run make on Unix to update the ".mo" files.
|
||||
# - "make doslang".
|
||||
# NSIS self installing exe:
|
||||
# - Unpack the doslang archive on the PC.
|
||||
# - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
|
||||
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
|
||||
# - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
|
||||
# from a binary archive or build them)
|
||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||
# - make sure there is a diff.exe two levels up
|
||||
# - go to ../nsis and do "makensis gvim.nsi".
|
||||
# - Copy gvim##.exe to the dist directory.
|
||||
#
|
||||
# OS/2:
|
||||
# - Unpack the Unix "src", "extra" and "rt" archives.
|
||||
# - "make -f Make_os2.mak".
|
||||
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
|
||||
# them to here.
|
||||
# - "make os2bin".
|
||||
|
||||
VIMVER = vim-$(MAJOR).$(MINOR)
|
||||
VERSION = $(MAJOR)$(MINOR)
|
||||
VDOT = $(MAJOR).$(MINOR)
|
||||
VIMRTDIR = vim$(VERSION)
|
||||
|
||||
# Vim used for conversion from "unix" to "dos"
|
||||
VIM = vim
|
||||
|
||||
# How to include Filelist depends on the version of "make" you have.
|
||||
# If the current choice doesn't work, try the other one.
|
||||
|
||||
include Filelist
|
||||
#.include "Filelist"
|
||||
|
||||
|
||||
# All output is put in the "dist" directory.
|
||||
dist:
|
||||
mkdir dist
|
||||
|
||||
# Clean up some files to avoid they are included.
|
||||
prepare:
|
||||
if test -f runtime/doc/uganda.nsis.txt; then \
|
||||
rm runtime/doc/uganda.nsis.txt; fi
|
||||
|
||||
# For the zip files we need to create a file with the comment line
|
||||
dist/comment:
|
||||
mkdir dist/comment
|
||||
|
||||
COMMENT_RT = comment/$(VERSION)-rt
|
||||
COMMENT_RT1 = comment/$(VERSION)-rt1
|
||||
COMMENT_RT2 = comment/$(VERSION)-rt2
|
||||
COMMENT_D16 = comment/$(VERSION)-bin-d16
|
||||
COMMENT_D32 = comment/$(VERSION)-bin-d32
|
||||
COMMENT_W32 = comment/$(VERSION)-bin-w32
|
||||
COMMENT_GVIM = comment/$(VERSION)-bin-gvim
|
||||
COMMENT_OLE = comment/$(VERSION)-bin-ole
|
||||
COMMENT_W32S = comment/$(VERSION)-bin-w32s
|
||||
COMMENT_SRC = comment/$(VERSION)-src
|
||||
COMMENT_OS2 = comment/$(VERSION)-bin-os2
|
||||
COMMENT_HTML = comment/$(VERSION)-html
|
||||
COMMENT_FARSI = comment/$(VERSION)-farsi
|
||||
COMMENT_LANG = comment/$(VERSION)-lang
|
||||
|
||||
dist/$(COMMENT_RT): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
|
||||
|
||||
dist/$(COMMENT_RT1): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)
|
||||
|
||||
dist/$(COMMENT_RT2): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)
|
||||
|
||||
dist/$(COMMENT_D16): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
|
||||
|
||||
dist/$(COMMENT_D32): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)
|
||||
|
||||
dist/$(COMMENT_W32): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
|
||||
|
||||
dist/$(COMMENT_GVIM): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)
|
||||
|
||||
dist/$(COMMENT_OLE): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
|
||||
|
||||
dist/$(COMMENT_W32S): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)
|
||||
|
||||
dist/$(COMMENT_SRC): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
|
||||
|
||||
dist/$(COMMENT_OS2): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2)
|
||||
|
||||
dist/$(COMMENT_HTML): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)
|
||||
|
||||
dist/$(COMMENT_FARSI): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
|
||||
|
||||
dist/$(COMMENT_LANG): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
|
||||
|
||||
unixall: dist prepare
|
||||
-rm -f dist/$(VIMVER).tar.bz2
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(RT_ALL) \
|
||||
$(RT_ALL_BIN) \
|
||||
$(RT_UNIX) \
|
||||
$(RT_UNIX_DOS_BIN) \
|
||||
$(RT_SCRIPTS) \
|
||||
$(LANG_GEN) \
|
||||
$(LANG_GEN_BIN) \
|
||||
$(SRC_ALL) \
|
||||
$(SRC_UNIX) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
# Need to use a "distclean" config.mk file
|
||||
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
|
||||
# Create an empty config.h file, make dependencies require it
|
||||
touch dist/$(VIMRTDIR)/src/auto/config.h
|
||||
# Make sure configure is newer than config.mk to force it to be generated
|
||||
touch dist/$(VIMRTDIR)/src/configure
|
||||
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
|
||||
bzip2 dist/$(VIMVER).tar
|
||||
|
||||
extra: dist prepare
|
||||
-rm -f dist/$(VIMVER)-extra.tar.gz
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(EXTRA) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
|
||||
gzip -9 dist/$(VIMVER)-extra.tar
|
||||
|
||||
lang: dist prepare
|
||||
-rm -f dist/$(VIMVER)-lang.tar.gz
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(LANG_SRC) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
|
||||
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
|
||||
touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
|
||||
touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po
|
||||
touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po
|
||||
touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po
|
||||
touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
|
||||
touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
|
||||
touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
|
||||
cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
|
||||
gzip -9 dist/$(VIMVER)-lang.tar
|
||||
|
||||
amirt: dist prepare
|
||||
-rm -f dist/vim$(VERSION)rt.tar.gz
|
||||
-rm -rf dist/Vim
|
||||
mkdir dist/Vim
|
||||
mkdir dist/Vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(ROOT_AMI) \
|
||||
$(RT_ALL) \
|
||||
$(RT_ALL_BIN) \
|
||||
$(RT_SCRIPTS) \
|
||||
$(RT_AMI) \
|
||||
$(RT_NO_UNIX) \
|
||||
$(RT_AMI_DOS) \
|
||||
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
|
||||
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
|
||||
mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
|
||||
rmdir dist/Vim/$(VIMRTDIR)/runtime
|
||||
cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info
|
||||
gzip -9 dist/vim$(VERSION)rt.tar
|
||||
mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
|
||||
|
||||
amibin: dist prepare
|
||||
-rm -f dist/vim$(VERSION)bin.tar.gz
|
||||
-rm -rf dist/Vim
|
||||
mkdir dist/Vim
|
||||
mkdir dist/Vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(ROOT_AMI) \
|
||||
$(BIN_AMI) \
|
||||
Vim \
|
||||
Xxd \
|
||||
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
|
||||
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
|
||||
cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info
|
||||
gzip -9 dist/vim$(VERSION)bin.tar
|
||||
mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
|
||||
|
||||
amisrc: dist prepare
|
||||
-rm -f dist/vim$(VERSION)src.tar.gz
|
||||
-rm -rf dist/Vim
|
||||
mkdir dist/Vim
|
||||
mkdir dist/Vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(ROOT_AMI) \
|
||||
$(SRC_ALL) \
|
||||
$(SRC_AMI) \
|
||||
$(SRC_AMI_DOS) \
|
||||
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
|
||||
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
|
||||
cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info
|
||||
gzip -9 dist/vim$(VERSION)src.tar
|
||||
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
|
||||
|
||||
no_title.vim: Makefile
|
||||
echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
|
||||
|
||||
dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
|
||||
-rm -rf dist/vim$(VERSION)rt.zip
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
|
||||
|
||||
# Split in two parts to avoid a "argument list too long" error.
|
||||
dosrt_unix2dos: dist prepare no_title.vim
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(RT_ALL) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
tar cf - \
|
||||
$(RT_SCRIPTS) \
|
||||
$(RT_DOS) \
|
||||
$(RT_NO_UNIX) \
|
||||
$(RT_AMI_DOS) \
|
||||
$(LANG_GEN) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
tar cf - \
|
||||
$(RT_UNIX_DOS_BIN) \
|
||||
$(RT_ALL_BIN) \
|
||||
$(RT_DOS_BIN) \
|
||||
$(LANG_GEN_BIN) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
|
||||
|
||||
# Convert runtime files from Unix fileformat to dos fileformat.
|
||||
# Used before uploading. Don't delete the AAPDIR/sign files!
|
||||
runtime_unix2dos: dosrt_unix2dos
|
||||
-rm -rf `find runtime/dos -type f -print | sed -e /AAPDIR/d`
|
||||
cd dist/vim/$(VIMRTDIR); tar cf - * \
|
||||
| (cd ../../../runtime/dos; tar xf -)
|
||||
|
||||
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S)
|
||||
|
||||
# make Win32 gvim
|
||||
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
||||
-rm -rf dist/gvim$(VERSION).zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_DOS) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
|
||||
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
||||
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
||||
cp gvim.pdb dist/gvim$(VERSION).pdb
|
||||
|
||||
# make Win32 console
|
||||
dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
|
||||
-rm -rf dist/vim$(VERSION)w32.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_DOS) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
|
||||
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
|
||||
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
|
||||
|
||||
# make 32bit DOS
|
||||
dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
|
||||
-rm -rf dist/vim$(VERSION)d32.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_DOS) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
|
||||
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp csdpmi4b.zip dist/vim/$(VIMRTDIR)
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32)
|
||||
|
||||
# make 16bit DOS
|
||||
dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
|
||||
-rm -rf dist/vim$(VERSION)d16.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_DOS) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
|
||||
cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16)
|
||||
|
||||
# make Win32 gvim with OLE
|
||||
dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
|
||||
-rm -rf dist/gvim$(VERSION)ole.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_DOS) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
|
||||
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
||||
cp README_ole.txt dist/vim/$(VIMRTDIR)
|
||||
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
|
||||
cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR)
|
||||
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
|
||||
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
|
||||
|
||||
# make Win32s gvim
|
||||
dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
|
||||
-rm -rf dist/gvim$(VERSION)_s.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_DOS) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
|
||||
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp README_w32s.txt dist/vim/$(VIMRTDIR)
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
|
||||
|
||||
# make Win32 lang archive
|
||||
doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
|
||||
-rm -rf dist/vim$(VERSION)lang.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
mkdir dist/vim/$(VIMRTDIR)/lang
|
||||
cd src && MAKEMO=yes $(MAKE) languages
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
|
||||
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
|
||||
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
|
||||
for i in $(LANG_DOS); do \
|
||||
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
|
||||
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
|
||||
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
|
||||
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
|
||||
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
||||
fi \
|
||||
done
|
||||
cp libintl.dll dist/vim/$(VIMRTDIR)/
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG)
|
||||
|
||||
# MS-DOS sources
|
||||
dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
|
||||
-rm -rf dist/vim$(VERSION)src.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(SRC_ALL) \
|
||||
$(SRC_DOS) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
runtime/doc/uganda.nsis.txt \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
tar cf - \
|
||||
$(SRC_DOS_BIN) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
|
||||
|
||||
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
|
||||
cd runtime/doc && $(MAKE) uganda.nsis.txt
|
||||
|
||||
os2bin: dist no_title.vim dist/$(COMMENT_OS2)
|
||||
-rm -rf dist/vim$(VERSION)os2.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(BIN_OS2) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
|
||||
cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
|
||||
cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe
|
||||
cp emx.dll emxlibcs.dll dist/vim/$(VIMRTDIR)
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)os2.zip vim <$(COMMENT_OS2)
|
||||
|
||||
html: dist dist/$(COMMENT_HTML)
|
||||
-rm -rf dist/vim$(VERSION)html.zip
|
||||
cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
|
||||
|
||||
farsi: dist dist/$(COMMENT_FARSI)
|
||||
-rm -f dist/farsi$(VERSION).zip
|
||||
zip -9 -rD -z dist/farsi$(VERSION).zip farsi < dist/$(COMMENT_FARSI)
|
||||
@@ -0,0 +1,9 @@
|
||||
# Old MacVim website
|
||||
|
||||
This is the old branch for the MacVim website and is no longer used. Please see https://github.com/macvim-dev/macvim-dev.github.io (available as https://macvim.org) instead.
|
||||
|
||||
When visiting this site, there is now a meta refresh to redirect to the new location.
|
||||
|
||||
## Note
|
||||
|
||||
The file appcast/latest.xml is still in use and should not be deleted or moved. Older versions of MacVim point directly to the raw GitHub URL for that file in this branch for updates (before it was moved to point to https://macvim.org/appcast/latest.xml instead). To prevent breaking software update for people running older versions of MacVim (since they may not use the software frequently), we keep the file around for now. Also, the versions of MacVim pointing to this appcast XML file are still using Sparkle 1, and as such we should avoid adding Sparkle 2 features (e.g. beta channels) if we update the file.
|
||||
-138
@@ -1,138 +0,0 @@
|
||||
README.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
|
||||
WHAT IS VIM
|
||||
|
||||
Vim is an almost compatible version of the UNIX editor Vi. Many new features
|
||||
have been added: multi-level undo, syntax highlighting, command line history,
|
||||
on-line help, spell checking, filename completion, block operations, etc.
|
||||
There is also a Graphical User Interface (GUI) available. See
|
||||
"runtime/doc/vi_diff.txt" for differences with Vi.
|
||||
|
||||
This editor is very useful for editing programs and other plain ASCII files.
|
||||
All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
defined by the user, and the mouse can be used.
|
||||
|
||||
Vim currently runs under Amiga DOS, MS-DOS, MS-Windows 95/98/Me/NT/2000/XP,
|
||||
Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
|
||||
UNIX. Porting to other systems should not be very difficult.
|
||||
|
||||
|
||||
DISTRIBUTION
|
||||
|
||||
There are separate distributions for Unix, PC, Amiga and some other systems.
|
||||
This README.txt file comes with the runtime archive. It includes the
|
||||
documentation, syntax files and other files that are used at runtime. To run
|
||||
Vim you must get either one of the binary archives or a source archive.
|
||||
Which one you need depends on the system you want to run it on and whether you
|
||||
want or must compile it yourself. Check "http://www.vim.org/download.php" for
|
||||
an overview of currently available distributions.
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
|
||||
The best is to use ":help" in Vim. If you don't have an executable yet, read
|
||||
"runtime/doc/help.txt". It contains pointers to the other documentation
|
||||
files. The User Manual reads like a book and is recommended to learn to use
|
||||
Vim. See ":help user-manual".
|
||||
|
||||
The vim tutor is a one hour training course for beginners. Mostly it can be
|
||||
started as "vimtutor". See ":help tutor" for more information.
|
||||
|
||||
|
||||
COPYING
|
||||
|
||||
Vim is Charityware. You can use and copy it as much as you like, but you are
|
||||
encouraged to make a donation to orphans in Uganda. Please read the file
|
||||
"runtime/doc/uganda.txt" for details (do ":help uganda" inside Vim).
|
||||
|
||||
Summary of the license: There are no restrictions on using or distributing an
|
||||
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
|
||||
text must always be included. For modified versions a few restrictions apply.
|
||||
The license is GPL compatible, you may compile Vim with GPL libraries and
|
||||
distribute it.
|
||||
|
||||
|
||||
SPONSORING
|
||||
|
||||
Fixing bugs and adding new features takes a lot of time and effort. To show
|
||||
your appreciation for the work and motivate Bram and others to continue
|
||||
working on Vim please send a donation.
|
||||
|
||||
Since Bram is back to a paid job the money will now be used to help children
|
||||
in Uganda. See runtime/doc/uganda.txt. But at the same time donations
|
||||
increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
|
||||
http://www.vim.org/sponsor/
|
||||
|
||||
|
||||
COMPILING
|
||||
|
||||
If you obtained a binary distribution you don't need to compile Vim. If you
|
||||
obtained a source distribution, all the stuff for compiling Vim is in the
|
||||
"src" directory. See src/INSTALL for instructions.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
|
||||
See one of these files for system-specific instructions:
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_os2.txt OS/2
|
||||
README_mac.txt Macintosh
|
||||
README_vms.txt VMS
|
||||
|
||||
|
||||
INFORMATION
|
||||
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
http://www.vim.org/
|
||||
|
||||
If you have problems, have a look at the Vim FAQ:
|
||||
http://vimdoc.sf.net/vimfaq.html
|
||||
|
||||
Send bug reports to:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
There are five mailing lists for Vim:
|
||||
<vim@vim.org>
|
||||
For discussions about using existing versions of Vim: Useful mappings,
|
||||
questions, answers, where to get a specific version, etc.
|
||||
<vim-dev@vim.org>
|
||||
For discussions about changing Vim: New features, porting, beta-test
|
||||
versions, etc.
|
||||
<vim-announce@vim.org>
|
||||
Announcements about new versions of Vim; also beta-test versions and
|
||||
ports to different systems.
|
||||
<vim-multibyte@vim.org>
|
||||
For discussions about using and improving the multi-byte aspects of
|
||||
Vim: XIM, Hangul, fontset, etc.
|
||||
<vim-mac@vim.org>
|
||||
For discussions about using and improving Vim on the Macintosh.
|
||||
|
||||
For more info and URLs of the archives see "http://www.vim.org/maillist.php".
|
||||
|
||||
NOTE:
|
||||
- You can only send messages to these lists if you have subscribed!
|
||||
- You need to send the messages from the same location as where you subscribed
|
||||
from (to avoid spam mail).
|
||||
- Maximum message size is 40000 characters.
|
||||
|
||||
If you want to join a maillist, send a message to
|
||||
<vim-help@vim.org>
|
||||
Make sure that your "From:" address is correct. Then the list server will
|
||||
send you a help message.
|
||||
|
||||
|
||||
MAIN AUTHOR
|
||||
|
||||
Send any other comments, patches, pizza and suggestions to:
|
||||
|
||||
Bram Moolenaar E-mail: Bram@vim.org
|
||||
Finsterruetihof 1
|
||||
8134 Adliswil
|
||||
Switzerland
|
||||
Binary file not shown.
@@ -1,32 +0,0 @@
|
||||
README_ami.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Amiga systems.
|
||||
See README.txt for general information about Vim.
|
||||
|
||||
|
||||
Unpack the distributed files in the place where you want to keep them. It is
|
||||
wise to have a "vim" directory to keep your vimrc file and any other files you
|
||||
change. The distributed files go into a subdirectory. This way you can
|
||||
easily upgrade to a new version. For example:
|
||||
|
||||
dh0:editors/vim contains your vimrc and modified files
|
||||
dh0:editors/vim/vim54 contains the Vim version 5.4 distributed files
|
||||
dh0:editors/vim/vim55 contains the Vim version 5.5 distributed files
|
||||
|
||||
You would then unpack the archives like this:
|
||||
|
||||
cd dh0:editors
|
||||
tar xf t:vim60bin.tar
|
||||
tar xf t:vim60rt.tar
|
||||
|
||||
Set the $VIM environment variable to point to the top directory of your Vim
|
||||
files. For the above example:
|
||||
|
||||
set VIM=dh0:editors/vim
|
||||
|
||||
Vim version 5.4 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim54. See ":help $VIM" for more information.
|
||||
|
||||
Make sure the Vim executable is in your search path. Either copy the Vim
|
||||
executable to a directory that is in your search path, or (preferred) modify
|
||||
the search path to include the directory where the Vim executable is.
|
||||
Binary file not shown.
@@ -1,12 +0,0 @@
|
||||
README_amibin.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
These files are in the runtime archive (vim60rt.tgz).
|
||||
|
||||
|
||||
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
|
||||
compiled with "big" features.
|
||||
|
||||
Postscript printing is not included to avoid requiring floating point
|
||||
computations.
|
||||
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
README_amisrc.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
These files are in the runtime archive (vim60rt.tgz).
|
||||
|
||||
|
||||
The Amiga source archive contains the files needed to compile Vim on the
|
||||
Amiga.
|
||||
|
||||
See "src/INSTALLami.txt" for instructions on how to compile Vim on the Amiga.
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
README_bindos.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim72rt.zip).
|
||||
|
||||
|
||||
There are several binary distributions of Vim for the PC. You would normally
|
||||
pick only one of them, but it's also possible to install several.
|
||||
These ones are available (the version number may differ):
|
||||
vim72d16.zip 16 bit DOS version
|
||||
vim72d32.zip 32 bit DOS version
|
||||
vim72w32.zip Windows 95/98/NT/etc. console version
|
||||
gvim72.zip Windows 95/98/NT/etc. GUI version
|
||||
gvim72ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||
gvim72_s.zip Windows 3.1 GUI version
|
||||
|
||||
You MUST also get the runtime archive (vim72rt.zip).
|
||||
The sources are also available (vim72src.zip).
|
||||
-154
@@ -1,154 +0,0 @@
|
||||
README_dos.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
There are two ways to install Vim:
|
||||
A. Use the self-installing .exe file.
|
||||
B. Unpack .zip files and run the install.exe program.
|
||||
|
||||
|
||||
A. Using the self-installing .exe
|
||||
---------------------------------
|
||||
|
||||
This is mostly self-explaining. Just follow the prompts and make the
|
||||
selections. A few things to watch out for:
|
||||
|
||||
- When an existing installation is detected, you are offered to first remove
|
||||
this. The uninstall program is then started while the install program waits
|
||||
for it to complete. Sometimes the windows overlap each other, which can be
|
||||
confusing. Be sure the complete the uninstalling before continuing the
|
||||
installation. Watch the taskbar for uninstall windows.
|
||||
|
||||
- When selecting a directory to install Vim, use the same place where other
|
||||
versions are located. This makes it easier to find your _vimrc file. For
|
||||
example "C:\Program Files\vim" or "D:\vim". A name ending in "vim" is
|
||||
preferred.
|
||||
|
||||
- After selecting the directory where to install Vim, clicking on "Next" will
|
||||
start the installation.
|
||||
|
||||
|
||||
B. Using .zip files
|
||||
-------------------
|
||||
|
||||
These are the normal steps to install Vim from the .zip archives:
|
||||
|
||||
1. Go to the directory where you want to put the Vim files. Examples:
|
||||
cd C:\
|
||||
cd D:\editors
|
||||
If you already have a "vim" directory, go to the directory in which it is
|
||||
located. Check the $VIM setting to see where it points to:
|
||||
set VIM
|
||||
For example, if you have
|
||||
C:\vim\vim54
|
||||
do
|
||||
cd C:\
|
||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||
on top of each other.
|
||||
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim72",
|
||||
in which all the distributed Vim files are placed. Since the directory
|
||||
name includes the version number, it is unlikely that you overwrite
|
||||
existing files.
|
||||
Examples:
|
||||
pkunzip -d gvim72.zip
|
||||
unzip vim72w32.zip
|
||||
|
||||
You need to unpack the runtime archive and at least one of the binary
|
||||
archives. When using more than one binary version, be careful not to
|
||||
overwrite one version with the other, the names of the executables
|
||||
"vim.exe" and "gvim.exe" are the same.
|
||||
|
||||
After you unpacked the files, you can still move the whole directory tree
|
||||
to another location. That is where they will stay, the install program
|
||||
won't move or copy the runtime files.
|
||||
|
||||
Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to
|
||||
run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP
|
||||
archive and follow the instructions in the documentation.
|
||||
|
||||
3. Change to the new directory:
|
||||
cd vim\vim72
|
||||
Run the "install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
parent directory.
|
||||
- It can also install an "Edit with Vim" entry in the Windows Explorer
|
||||
popup menu.
|
||||
- You can have it create batch files, so that you can run Vim from the
|
||||
console or in a shell. You can select one of the directories in your
|
||||
$PATH. If you skip this, you can add Vim to the search path manually:
|
||||
The simplest is to add a line to your autoexec.bat. Examples:
|
||||
set path=%path%;C:\vim\vim72
|
||||
set path=%path%;D:\editors\vim\vim72
|
||||
- Create entries for Vim on the desktop and in the Start menu.
|
||||
|
||||
That's it!
|
||||
|
||||
|
||||
Remarks:
|
||||
|
||||
- If Vim can't find the runtime files, ":help" won't work and the GUI version
|
||||
won't show a menubar. Then you need to set the $VIM environment variable to
|
||||
point to the top directory of your Vim files. Example:
|
||||
set VIM=C:\editors\vim
|
||||
Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim72. See ":help $VIM" for more information.
|
||||
|
||||
- To avoid confusion between distributed files of different versions and your
|
||||
own modified vim scripts, it is recommended to use this directory layout:
|
||||
("C:\vim" is used here as the root, replace it with the path you use)
|
||||
Your own files:
|
||||
C:\vim\_vimrc Your personal vimrc.
|
||||
C:\vim\_viminfo Dynamic info for 'viminfo'.
|
||||
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
|
||||
C:\vim\... Other files you made.
|
||||
Distributed files:
|
||||
C:\vim\vim72\vim.exe The Vim version 6.0 executable.
|
||||
C:\vim\vim72\doc\*.txt The version 6.0 documentation files.
|
||||
C:\vim\vim72\bugreport.vim A Vim version 6.0 script.
|
||||
C:\vim\vim72\... Other version 6.0 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim72". Don't add
|
||||
"vim72" to $VIM, that won't work.
|
||||
|
||||
- You can put your Vim executable anywhere else. If the executable is not
|
||||
with the other Vim files, you should set $VIM. The simplest is to add a line
|
||||
to your autoexec.bat. Examples:
|
||||
set VIM=c:\vim
|
||||
set VIM=d:\editors\vim
|
||||
|
||||
- If you have told the "install.exe" program to add the "Edit with Vim" menu
|
||||
entry, you can remove it by running the "uninstal.exe". See
|
||||
":help win32-popup-menu".
|
||||
|
||||
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
|
||||
DOS and Win32 console versions. For the console version this gives you the
|
||||
opportunity to set defaults for the Console where Vim runs in.
|
||||
|
||||
1. On the desktop, click right to get a menu. Select New/Shortcut.
|
||||
2. In the dialog, enter Command line: "C:\command.com". Click "Next".
|
||||
3. Enter any name. Click "Finish".
|
||||
The new shortcut will appear on the desktop.
|
||||
4. With the mouse pointer on the new shortcut, click right to get a menu.
|
||||
Select Properties.
|
||||
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
|
||||
Vim executable. Examples:
|
||||
C:\command.com /c C:\vim\vim72\vim.exe
|
||||
C:\command.com /c D:\editors\vim\vim72\vim.exe
|
||||
6. Select the font, window size, etc. that you like. If this isn't
|
||||
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
|
||||
mode".
|
||||
7. Click OK.
|
||||
|
||||
For gvim, you can use a normal shortcut on the desktop, and set the size of
|
||||
the Window in your $VIM/_gvimrc:
|
||||
set lines=30 columns=90
|
||||
|
||||
|
||||
For further information, type one of these inside Vim:
|
||||
:help dos
|
||||
:help msdos
|
||||
:help win32
|
||||
@@ -1,61 +0,0 @@
|
||||
README_extra.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
The extra archive of Vim is to be used in combination with the source archive
|
||||
(vim-7.0-src.tar.gz). The extra archive is useless without it.
|
||||
|
||||
For more information, see the "README.txt" file that comes with the runtime
|
||||
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive too!
|
||||
|
||||
The extra archive plus the source and runtime achives make up the complete
|
||||
sources of Vim for all systems.
|
||||
|
||||
|
||||
Some of the things that the extra archive contains:
|
||||
|
||||
Farsi Files for the Farsi (persian) language. If you don't know
|
||||
what Farsi is, this is not for you.
|
||||
|
||||
if_sniff Interface to SNiFF. If you don't know what SNiFF is, this is
|
||||
not for you.
|
||||
|
||||
os_amiga Files for the Amiga port.
|
||||
|
||||
gui_riscos
|
||||
os_riscos Files for the RISC OS port.
|
||||
|
||||
gui_beos
|
||||
os_beos Files for the BeOS port.
|
||||
|
||||
os_msdos
|
||||
os_dos Files for the MS-DOS port.
|
||||
|
||||
gui_mac
|
||||
os_mac Files for the Mac port.
|
||||
|
||||
os_mint Files for the Atari Mint port.
|
||||
|
||||
os_os2 Files for the OS/2 port.
|
||||
tee Extra program for OS/2.
|
||||
|
||||
os_vms Files for the VMS port.
|
||||
|
||||
os_w32
|
||||
os_win32 Files for the Win32 port.
|
||||
|
||||
gui_w32 Files for the Win32 GUI.
|
||||
gui_w48 Files for the Win32 and Win16 GUI.
|
||||
Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
|
||||
rgb.txt File with color definitions for the Win32 GUI.
|
||||
|
||||
if_ole OLE automation interface, for MS Windows 95 and NT.
|
||||
|
||||
VisVim Integration of Win32 GUI with MS Visual Developer Studio.
|
||||
|
||||
GvimExt DLL for the "Edit with Vim" context menu entry
|
||||
|
||||
nsis NSIS script to build the self-installing MS-Windows exe
|
||||
|
||||
*.man Preprocessed manual pages.
|
||||
|
||||
file_select.vim Vim script to browse directories (Unix only).
|
||||
@@ -1,5 +0,0 @@
|
||||
README_lang.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file contains files for non-English languages:
|
||||
- Translated messages.
|
||||
- Translated menus.
|
||||
@@ -1,8 +0,0 @@
|
||||
README_mac.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Macintosh systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
|
||||
Sorry, this text still needs to be written!
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
README_ole.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains gvim.exe with OLE interface and VisVim.
|
||||
This version of gvim.exe can also load a number of interface dynamically (you
|
||||
can optionally install the .dll files for each interface).
|
||||
It is only for MS-Windows 95/98/ME/NT/2000/XP.
|
||||
|
||||
Also see the README_bindos.txt, README_dos.txt and README.txt files.
|
||||
|
||||
Be careful not to overwrite the OLE gvim.exe with the non-OLE gvim.exe when
|
||||
unpacking another binary archive! Check the output of ":version":
|
||||
Win32s - "MS-Windows 16/32 bit GUI version"
|
||||
Win32 - "MS-Windows 32 bit GUI version"
|
||||
Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
|
||||
|
||||
For further information, type this inside Vim:
|
||||
:help if_ole
|
||||
|
||||
Futhermore, this archive contains VISVIM.DLL. It can be used to integrate
|
||||
the OLE gvim with Microsoft Visual Developer Studio. See VisVim/README.txt.
|
||||
@@ -1,58 +0,0 @@
|
||||
README_os2.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on OS/2 systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
|
||||
NOTE: You will need two archives:
|
||||
vim72rt.zip contains the runtime files (same as for the PC version)
|
||||
vim72os2.zip contains the OS/2 executables
|
||||
|
||||
1. Go to the directory where you want to put the Vim files. Examples:
|
||||
cd C:\
|
||||
cd D:\editors
|
||||
|
||||
2. Unpack the zip archives. This will create a new directory "vim/vim72",
|
||||
in which all the distributed Vim files are placed. Since the directory
|
||||
name includes the version number, it is unlikely that you overwrite
|
||||
existing files.
|
||||
Examples:
|
||||
pkunzip -d vim72os2.zip
|
||||
unzip vim72os2.zip
|
||||
|
||||
After you unpacked the files, you can still move the whole directory tree
|
||||
to another location.
|
||||
|
||||
3. Add the directory where vim.exe is to your path. The simplest is to add a
|
||||
line to your autoexec.bat. Examples:
|
||||
set path=%path%;C:\vim\vim72
|
||||
set path=%path%;D:\editors\vim\vim72
|
||||
|
||||
That's it!
|
||||
|
||||
|
||||
Extra remarks:
|
||||
|
||||
- To avoid confusion between distributed files of different versions and your
|
||||
own modified vim scripts, it is recommended to use this directory layout:
|
||||
("C:\vim" is used here as the root, replace with the path you use)
|
||||
Your own files:
|
||||
C:\vim\_vimrc Your personal vimrc.
|
||||
C:\vim\_viminfo Dynamic info for 'viminfo'.
|
||||
C:\vim\... Other files you made.
|
||||
Distributed files:
|
||||
C:\vim\vim72\vim.exe The Vim version 7.1 executable.
|
||||
C:\vim\vim72\doc\*.txt The version 7.1 documentation files.
|
||||
C:\vim\vim72\bugreport.vim A Vim version 7.1 script.
|
||||
C:\vim\vim72\... Other version 7.1 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
|
||||
- You can put your Vim executable anywhere else. If the executable is not
|
||||
with the other distributed Vim files, you should set $VIM. The simplest is
|
||||
to add a line to your autoexec.bat. Examples:
|
||||
set VIM=c:\vim
|
||||
set VIM=d:\editors\vim
|
||||
|
||||
For further information, type this inside Vim:
|
||||
:help os2
|
||||
@@ -1,130 +0,0 @@
|
||||
README_os_390.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
Welcome to the OS/390 Unix port of VIM.
|
||||
|
||||
ATTENTION: THIS IS AN _ALPHA_ VERSION!!!
|
||||
I expect you to know how to handle alpha software!
|
||||
|
||||
This port was done by Ralf Schandl <schandl@de.ibm.com>.
|
||||
This port is not maintained or supported by IBM!!
|
||||
|
||||
|
||||
For the list of changes see runtime/doc/os_390.txt.
|
||||
|
||||
|
||||
Compiling:
|
||||
----------
|
||||
|
||||
Note: After the file configure was created via autoconf, it had been
|
||||
handedited, to make the test for ICEConnectionNumber work.
|
||||
DO NOT run autoconf again!
|
||||
|
||||
Without X11:
|
||||
|
||||
If you build VIM without X11 support, compiling and building is nearly
|
||||
straightforward. The only restriction is, that you can't call make from the
|
||||
VIM toplevel directory. Change to the src directory first and call make from
|
||||
there. Here is a what to do:
|
||||
|
||||
# Don't use c89!
|
||||
# Make additional symbols visible.
|
||||
# Allow intermixing of compiler options and files.
|
||||
|
||||
$ export CC=cc
|
||||
$ export CFLAGS=-D_ALL_SOURCE
|
||||
$ export _CC_CCMODE=1
|
||||
$./configure --enable-max-features --without-x --enable-gui=no
|
||||
$ cd src
|
||||
$ make
|
||||
$ make test
|
||||
|
||||
Note: Test 28 will be reported as failed. This is because diff can't
|
||||
compare files containing '\0' characters. Test 11 will fail if you
|
||||
don't have gzip.
|
||||
|
||||
$ make install
|
||||
|
||||
|
||||
With X11:
|
||||
|
||||
There are two ways for building VIM with X11 support. The first way is simple
|
||||
and results in a big executable (~13 Mb), the second needs a few additional
|
||||
steps and results in a much smaller executable (~4.5 Mb). This examples assume
|
||||
you want Motif.
|
||||
|
||||
The easy way:
|
||||
$ export CC=cc
|
||||
$ export CFLAGS="-D_ALL_SOURCE -W c,dll"
|
||||
$ export LDFLAGS="-W l,dll"
|
||||
$ export _CC_CCMODE=1
|
||||
$ ./configure --enable-max-features --enable-gui=motif
|
||||
$ cd src
|
||||
$ make
|
||||
|
||||
With this VIM is linked statically with the X11 libraries.
|
||||
|
||||
The smarter way:
|
||||
Make VIM as described above. Then create a file named 'link.sed' with the
|
||||
following contense:
|
||||
|
||||
s/-lXext *//g
|
||||
s/-lXmu *//g
|
||||
s/-lXm */\/usr\/lib\/Xm.x /g
|
||||
s/-lX11 */\/usr\/lib\/X11.x /g
|
||||
s/-lXt *//g
|
||||
s/-lSM */\/usr\/lib\/SM.x /g
|
||||
s/-lICE */\/usr\/lib\/ICE.x /g
|
||||
|
||||
Then do:
|
||||
$ rm vim
|
||||
$ make
|
||||
|
||||
Now Vim is linked with the X11-DLLs.
|
||||
|
||||
See the Makefile and the file link.sh on how link.sed is used.
|
||||
|
||||
|
||||
Hint:
|
||||
-----
|
||||
Use the online help! (See weaknesses below.)
|
||||
|
||||
Example:
|
||||
Enter ':help syntax' and then press <TAB> several times, you will switch
|
||||
through all help items containing 'syntax'. Press <ENTER> on the one you are
|
||||
interested at. Or press <Ctrl-D> and you will get a list of all items printed
|
||||
that contain 'syntax'.
|
||||
|
||||
The helpfiles contains cross-references. Links are between '|'. Position the
|
||||
cursor on them and press <Ctrl-]> to follow this link. Use <Ctrl-T> to jump
|
||||
back.
|
||||
|
||||
Known weaknesses:
|
||||
-----------------
|
||||
|
||||
- You can't call make from the toplevel directory, you have to do a 'cd src'
|
||||
first. If you do it, make will call configure again. I don't know why and
|
||||
didn't investigate it, there were more important things to do. If you can
|
||||
make it work drop me a note.
|
||||
|
||||
- The documentation was not updated for this alpha release. It contains lot of
|
||||
ASCII dependencies, especially in examples.
|
||||
|
||||
- Digraphs are dependent on code page 1047. Digraphs are used to enter
|
||||
characters that normally cannot be entered by an ordinary keyboard.
|
||||
See ":help digraphs".
|
||||
|
||||
- Using 'ga' to show the code of the character under the cursor shows the
|
||||
correct dec/hex/oct values, but the other informations might be missing or
|
||||
wrong.
|
||||
|
||||
- The sed syntax file doesn't work, it is ASCII dependent.
|
||||
|
||||
Bugs:
|
||||
-----
|
||||
If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram
|
||||
Moolenaar. It's most likely a bug I introduced during porting or some ASCII
|
||||
dependency I didn't notice.
|
||||
|
||||
Feedback:
|
||||
---------
|
||||
Feedback welcome! Just drop me a note.
|
||||
@@ -1,10 +0,0 @@
|
||||
README_src.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
The source archive contains the files needed to compile Vim on Unix systems.
|
||||
It is packed for Unix systems (NL line separator). It is also used for other
|
||||
systems in combination with the extra archive (vim-7.0-extra.tar.gz, in the
|
||||
"extra" directory of ftp.vim.org).
|
||||
|
||||
For more information, see the README.txt file that comes with the runtime
|
||||
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive too!
|
||||
@@ -1,12 +0,0 @@
|
||||
README_srcdos.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim72rt.zip).
|
||||
|
||||
|
||||
The DOS source archive contains the files needed to compile Vim on MS-DOS or
|
||||
MS-Windows. It is packed for DOS systems, with CR-LF. It also includes the
|
||||
VisVim sources.
|
||||
|
||||
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.
|
||||
@@ -1,10 +0,0 @@
|
||||
README_unix.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Unix systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
|
||||
When you use the source distribution, "make install" is used to install Vim.
|
||||
See the "INSTALL" file in the "src" directory.
|
||||
|
||||
If you use a compiled package, follow the instructions for the package.
|
||||
@@ -1,48 +0,0 @@
|
||||
README_vms.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on VMS systems.
|
||||
See "README.txt" in the runtime archive for information about Vim.
|
||||
|
||||
|
||||
Most information can be found in the on-line documentation. Use ":help vms"
|
||||
inside Vim. Or get the runtime files and read runtime/doc/os_vms.txt to find
|
||||
out how to install and configure Vim with runtime files etc.
|
||||
|
||||
To compile Vim yourself you need three archives:
|
||||
vim-X.X-rt.tar.gz runtime files
|
||||
vim-X.X-src.tar.gz source files
|
||||
vim-X.X-extra.tar.gz extra source files
|
||||
|
||||
Compilation is recommended, in order to make sure that the correct
|
||||
libraries are used for your specific system. Read about compiling in
|
||||
src/INSTALLvms.txt.
|
||||
|
||||
To use the binary version, you need one of these archives:
|
||||
|
||||
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
|
||||
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
|
||||
vim-XX-exe-ia64-term.zip IA64 console executables
|
||||
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
|
||||
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
|
||||
vim-XX-exe-axp-term.zip Alpha console executables
|
||||
vim-XX-exe-vax-gui.zip VAX GUI executables
|
||||
vim-XX-exe-vax-term.zip VAX console executables
|
||||
|
||||
and of course
|
||||
vim-XX-runtime.zip runtime files
|
||||
|
||||
The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
|
||||
but there are also prepared "deploy ready" archives:
|
||||
|
||||
vim-XX-ia64.zip GUI and console executables with runtime and
|
||||
help files for IA64 systems
|
||||
vim-XX-axp.zip GUI and console executables with runtime and
|
||||
help files for Alpha systems
|
||||
vim-XX-vax.zip GUI and console executables with runtime and
|
||||
help files for VAX systems
|
||||
|
||||
GTK builds need LIBGTK library installed.
|
||||
|
||||
These executables and up to date patches for OpenVMS system are downloadable
|
||||
from http://www.polarhome.com/vim/ or ftp://ftp.polarhome.com/pub/vim/
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
README_w32s.txt for version 7.2 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains the gvim.exe that was specifically compiled for use in
|
||||
the Win32s subsystem in MS-Windows 3.1 and 3.11.
|
||||
|
||||
Also see the README_bindos.txt, README_dos.txt and README.txt files.
|
||||
|
||||
Be careful not to overwrite the Win32s gvim.exe with the another gvim.exe when
|
||||
unpacking another binary archive! Check the output of ":version":
|
||||
Win32s - "MS-Windows 16/32 bit GUI version"
|
||||
Win32 - "MS-Windows 32 bit GUI version"
|
||||
Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
|
||||
|
||||
For further information, type this inside Vim:
|
||||
:help win32s
|
||||
@@ -0,0 +1,526 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
|
||||
<channel>
|
||||
<title>MacVim</title>
|
||||
<link>https://macvim.org/appcast/latest.xml</link>
|
||||
<description>MacVim</description>
|
||||
|
||||
<item>
|
||||
<title>MacVim release-181</title>
|
||||
<description><![CDATA[
|
||||
<style>
|
||||
:root { supported-color-schemes: light dark; color-scheme: light dark; }
|
||||
div h1 { padding-bottom: .3em; border-bottom: 1px solid gray; }
|
||||
|
||||
/* Older versions' release notes. Will be optionally shown in collapsed form if the user has upgraded across multiple versions. */
|
||||
div > details.oldVersionToggle > summary {
|
||||
font-size: 1.2em;
|
||||
border-radius: 5px;
|
||||
border-bottom: 3px solid #57c4d0;
|
||||
cursor: pointer;
|
||||
padding: 10px;
|
||||
}
|
||||
.toc {
|
||||
/* Sparkle does not seem to allow anchor links. Just disable the TOC. */
|
||||
display: none;
|
||||
}
|
||||
div.sparkle-installed-version { display:none; }
|
||||
div.sparkle-installed-version ~ section { display: none; }
|
||||
</style>
|
||||
|
||||
<div>
|
||||
<p>Updated to Vim 9.1.1128</p>
|
||||
|
||||
<nav>
|
||||
<ul class="toc" id="markdown-toc">
|
||||
<li><a href="#r181-defaults-change" id="markdown-toc-r181-defaults-change">Defaults Change</a></li>
|
||||
<li><a href="#r181-features" id="markdown-toc-r181-features">Features</a> <ul>
|
||||
<li><a href="#r181-tabs" id="markdown-toc-r181-tabs">Tabs</a></li>
|
||||
<li><a href="#r181-new-vim-features" id="markdown-toc-r181-new-vim-features">New Vim features</a></li>
|
||||
<li><a href="#r181-misc-new-settings" id="markdown-toc-r181-misc-new-settings">Misc New Settings</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#r181-general" id="markdown-toc-r181-general">General</a></li>
|
||||
<li><a href="#r181-fixes" id="markdown-toc-r181-fixes">Fixes</a> <ul>
|
||||
<li><a href="#r181-apple-intelligence-writing-tools" id="markdown-toc-r181-apple-intelligence-writing-tools">Apple “Intelligence” Writing Tools</a></li>
|
||||
<li><a href="#r181-window-resizing-and-full-screen" id="markdown-toc-r181-window-resizing-and-full-screen">Window resizing and full screen</a></li>
|
||||
<li><a href="#r181-other-fixes" id="markdown-toc-r181-other-fixes">Other Fixes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#r181-scripting" id="markdown-toc-r181-scripting">Scripting</a></li>
|
||||
<li><a href="#r181-compatibility" id="markdown-toc-r181-compatibility">Compatibility</a></li>
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
<p>This update contains a completely new GUI tabs implementation by @sfsam! It also contains lots of small fixes for window resizing and full screen mode that aims to make using MacVim feel rock solid and stable.</p>
|
||||
|
||||
<h1 id="r181-defaults-change">Defaults Change</h1>
|
||||
|
||||
<p>New settings defaults related to window sizing <a href="https://github.com/macvim-dev/macvim/issues/1528">#1528</a>:</p>
|
||||
|
||||
<ul>
|
||||
<li>“Smoothly resizes window” is now on by default. MacVim’s window will now resize smoothly instead of snapped to the size of the character grid.</li>
|
||||
<li>Vim’s <code>guioptions</code> now has <code>k</code> set by default (<a href="https://macvim.org/docs/redirect.html?tag='go-k'"><code>:h go-k</code></a>). This prevents MacVim’s window size from changing unnecessarily when showing/hiding tabs or changing font size.</li>
|
||||
</ul>
|
||||
|
||||
<p>These should align MacVim better with how other apps work and integrate better with OS window management, including macOS 15 Sequoia’s window tiling feature.</p>
|
||||
|
||||
<h1 id="r181-features">Features</h1>
|
||||
|
||||
<h2 id="r181-tabs">Tabs</h2>
|
||||
|
||||
<p>MacVim has a new tabs implementation! The old version (PSMTabBarControl) is not maintained and lacks features such as overflowing tabs and customizable colors. The new tabs will overflow horizontally and are scrollable. They also animate when tabs are closed or moved, respect system settings such as right-to-left locales and high-contrast modes, and are designed to fit within the currently selected Vim colors.</p>
|
||||
|
||||
<p>There are a few ways to customize the colors of the new tabs, under the “Appearance” settings pane. MacVim defaults to an “Automatic colors” mode which tries to pick sensible colors automatically based on the current foreground/background colors. However, you can also configure it to simply use the tab colors specified by the Vim color scheme (some color schemes will work better than others depending on their choice of colors). Another new option is “Use tabs background color” which when combined with “Transparent title bar” allows the title bar and tabs to look like a single cohesive whole.</p>
|
||||
|
||||
<p><img width="375" alt="new tabs" src="https://github.com/user-attachments/assets/f70a683e-1450-48d1-89b7-f6c12d73bf90" />
|
||||
<img width="375" alt="image" src="https://github.com/user-attachments/assets/b1af9c2f-8176-43d8-add7-faf6272f9a74" />
|
||||
<img width="375" alt="new tabs" src="https://github.com/user-attachments/assets/1190e1e4-2544-485c-adf5-86a57233f9a0" />
|
||||
<img width="375" alt="new tabs" src="https://github.com/user-attachments/assets/93bc52e6-3559-48fa-8a28-5848fd19b1d7" /></p>
|
||||
|
||||
<p>Relevant work:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/macvim-dev/macvim/issues/1120">#1120</a> (by @sfsam)</li>
|
||||
<li>Also: <a href="https://github.com/macvim-dev/macvim/issues/1535">#1535</a> / <a href="https://github.com/macvim-dev/macvim/issues/1536">#1536</a> / <a href="https://github.com/macvim-dev/macvim/issues/1537">#1537</a> / <a href="https://github.com/macvim-dev/macvim/issues/1538">#1538</a> / <a href="https://github.com/macvim-dev/macvim/issues/1539">#1539</a> / <a href="https://github.com/macvim-dev/macvim/issues/1557">#1557</a> / <a href="https://github.com/macvim-dev/macvim/issues/1558">#1558</a> / <a href="https://github.com/macvim-dev/macvim/issues/1560">#1560</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r181-new-vim-features">New Vim features</h2>
|
||||
|
||||
<ul>
|
||||
<li>new bundled color scheme:
|
||||
<ul>
|
||||
<li>unokai (<a href="https://github.com/vim/vim/issues/16443">vim/vim#16443</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>new bundled optional plugins (use <code>packadd</code> to enable them):
|
||||
<ul>
|
||||
<li>helptoc: Use <a href="https://macvim.org/docs/redirect.html?tag=:HelpToc"><code>:HelpToc</code></a> to show an interactive table of contents for Vim help, man pages, Markdown files, and terminal. <a href="https://github.com/vim/vim/issues/10446">vim/vim#10446</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>new options:
|
||||
<ul>
|
||||
<li><code>set diffopt+=linematch:{n}</code>. Matches lines better when in diff mode. <a href="https://github.com/vim/vim/commit/7c7a4e6d1ad50d5b25b42aa2d5a33a8d04a4cc8a">v9.1.1009</a></li>
|
||||
<li><code>findfunc</code>. Customizes <code>:find</code> and other commands. <a href="https://github.com/vim/vim/commit/a13f3a4f5de9c150f70298850e34747838904995">v9.1.0831</a></li>
|
||||
<li><code>set completeopt+=preinsert</code>. Preview inserted text in completion. <a href="https://github.com/vim/vim/commit/edd4ac3e895ce16034c7e098f1d68e0155d97886">v9.1.1056</a></li>
|
||||
<li><code>messagesopt</code>. Allows customizing hit-enter behavior. <a href="https://github.com/vim/vim/commit/51d4d84d6a7159c6ce9e04b36f8edc105ca3794b">v9.1.0908</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>new functions:
|
||||
<ul>
|
||||
<li><code>getcellpixels()</code>. Query the pixel size of a character cell in the grid. <a href="https://github.com/vim/vim/commit/1083cae7091f006249c1349d0575412d2ff6a7dc">v9.1.0854</a> / <a href="https://github.com/macvim-dev/macvim/issues/1554">#1554</a> / <a href="https://github.com/macvim-dev/macvim/issues/1555">#1555</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Vim tutor has a new interactive plugin (<a href="https://macvim.org/docs/redirect.html?tag=:Tutor"><code>:h :Tutor</code></a>) (<a href="https://github.com/vim/vim/commit/a54816b884157f6b7973a188f85c708d15cbf72f">v9.1.0836</a>). There is also now a chapter 2 (<a href="https://github.com/vim/vim/issues/5729">vim/vim#5729</a>).</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r181-misc-new-settings">Misc New Settings</h2>
|
||||
|
||||
<ul>
|
||||
<li>“Open untitled window” (General) has a new option to only open on MacVim re-activation. <a href="https://github.com/macvim-dev/macvim/issues/1509">#1509</a></li>
|
||||
<li>“Show document icon at title bar” (Appearance). Previously MacVim implicitly hid the document icon when using transparent title bar. This is now customizable. <a href="https://github.com/macvim-dev/macvim/issues/1510">#1510</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-general">General</h1>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>The MacVim dmg installer has a new design. Courtesy of @jasonlong. <a href="https://github.com/macvim-dev/macvim/issues/1540">#1540</a> <a href="https://github.com/macvim-dev/macvim/issues/1545">#1545</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Legacy builds (macOS 10.9 - 10.12) are no longer built by GitHub hosted runners, due to GitHub’s deprecation of old runners. They are now built by a custom self-hosted VM instead. In the future we hope to set up reproducible builds (<a href="https://github.com/macvim-dev/macvim/issues/1506">#1506</a>) so it will not matter who’s building the app as it would be verifiable. <a href="https://github.com/macvim-dev/macvim/issues/1559">#1559</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>“Nightly” build: We now build a dmg installer for every commit. This allows for trying out the latest developmental version of MacVim, but note that the app will not be signed / notarized, and it will not be as polished as official release/pre-release builds. See <a href="https://github.com/macvim-dev/macvim/wiki/Installing">wiki</a> for instructions. <a href="https://github.com/macvim-dev/macvim/issues/1532">#1532</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-fixes">Fixes</h1>
|
||||
|
||||
<h2 id="r181-apple-intelligence-writing-tools">Apple “Intelligence” Writing Tools</h2>
|
||||
|
||||
<p>macOS 15 Sequoia’s Apple “Intelligence” Writing Tools should work correctly with MacVim now. To use it, select some text, right click to show menu, and then select the “Writing Tools” sub-menu. As part of this fix, the integration with the “Services” menu now works more reliably as well. You can select texts in blockwise visual mode and select a service and MacVim will try to place the new texts back to the blockwise selection if possible. <a href="https://github.com/macvim-dev/macvim/issues/1552">#1552</a></p>
|
||||
|
||||
<h2 id="r181-window-resizing-and-full-screen">Window resizing and full screen</h2>
|
||||
|
||||
<ul>
|
||||
<li>Flicker begone: Changing font size, showing/hiding tabs or scroll bars, or entering non-native full screen should no longer cause MacVim to flicker. Previously there could be a momentary but distracting/annoying stale image that flashes briefly. <a href="https://github.com/macvim-dev/macvim/issues/1547">#1547</a> <a href="https://github.com/macvim-dev/macvim/issues/1549">#1549</a></li>
|
||||
<li>Fixed issue where resizing MacVim window would occasionally cause Vim to be stuck in a stale wrong size. <a href="https://github.com/macvim-dev/macvim/issues/1518">#1518</a></li>
|
||||
<li>Non-native full screen now supports <code>blurradius</code> option. <a href="https://github.com/macvim-dev/macvim/issues/1546">#1546</a></li>
|
||||
<li>Fixed window size not always restoring correctly when exiting full screen. Non-native full screen also works more reliably in multi-monitor setup. <a href="https://github.com/macvim-dev/macvim/issues/1525">#1525</a></li>
|
||||
<li>Fixed non-native full screen mode when using an external monitor with a MacBook with a notch, and having the “Show menu bar in non-native mode” option set. Previously MacVim would sometimes miscalculate the menu bar height in the second screen. <a href="https://github.com/macvim-dev/macvim/issues/1548">#1548</a></li>
|
||||
<li>Fixed misc issues with non-native full screen’s interaction with <code>fuoptions</code> and also the <code>transparency</code> setting, and rare crash. <a href="https://github.com/macvim-dev/macvim/issues/1521">#1521</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r181-other-fixes">Other Fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Fixed issue where changing font size (using Cmd =/-) with guifont set to “-monospace-“ would result in guifont being changed to a confusing name like “.AppleSystemUIFontMonospaced-Regular”. <a href="https://github.com/macvim-dev/macvim/issues/1544">#1544</a></li>
|
||||
<li>“MacVim Website” menu item now goes to the updated URL. <a href="https://github.com/macvim-dev/macvim/issues/1524">#1524</a></li>
|
||||
<li>What’s New page now allows changing font size (using Cmd =/-), and showing table of contents. <a href="https://github.com/macvim-dev/macvim/issues/1561">#1561</a> <a href="https://github.com/macvim-dev/macvim/issues/1562">#1562</a></li>
|
||||
<li>Dark mode documentation is now a bit clearer on <code>v:os_appearance</code>. <a href="https://github.com/macvim-dev/macvim/issues/1511">#1511</a></li>
|
||||
<li>Using dictionary look up on selected texts (by right clicking and then selecting “Look Up” in the pop-up menu) is now more resilient as it uses Vim’s native <code>getregion()</code> to determine the selected texts. <a href="https://github.com/macvim-dev/macvim/issues/1508">#1508</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-scripting">Scripting</h1>
|
||||
|
||||
<ul>
|
||||
<li>Scripting languages versions:
|
||||
<ul>
|
||||
<li>Ruby is now built against 3.4, up from 3.3.</li>
|
||||
<li>Perl is now built against 5.34, up from 5.30.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-compatibility">Compatibility</h1>
|
||||
|
||||
<p>Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)</p>
|
||||
|
||||
<p>Script interfaces have compatibility with these versions:</p>
|
||||
|
||||
<ul>
|
||||
<li>Lua 5.4</li>
|
||||
<li>Perl 5.34</li>
|
||||
<li>Python2 2.7</li>
|
||||
<li>Python3 3.9 or above</li>
|
||||
<li>Ruby 3.4</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div data-sparkle-version=180>
|
||||
<details class=oldVersionToggle>
|
||||
<summary>r180</summary>
|
||||
<p>Updated to Vim 9.1.0727</p>
|
||||
|
||||
<nav>
|
||||
<ul class="toc" id="markdown-toc">
|
||||
<li><a href="#r180-features" id="markdown-toc-r180-features">Features</a> <ul>
|
||||
<li><a href="#r180-new-vim-features" id="markdown-toc-r180-new-vim-features">New Vim features</a></li>
|
||||
<li><a href="#r180-misc" id="markdown-toc-r180-misc">Misc</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#r180-general" id="markdown-toc-r180-general">General</a></li>
|
||||
<li><a href="#r180-fixes" id="markdown-toc-r180-fixes">Fixes</a></li>
|
||||
<li><a href="#r180-compatibility" id="markdown-toc-r180-compatibility">Compatibility</a></li>
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
<p>This update mostly syncs to new upstream Vim version, along with small fixes.</p>
|
||||
|
||||
<h1 id="r180-features">Features</h1>
|
||||
|
||||
<h2 id="r180-new-vim-features">New Vim features</h2>
|
||||
|
||||
<ul>
|
||||
<li>Vim now supports the XDG Base Directory Specification. You can now put your vimrc and plugins in <code>~/.config/vim</code> intsead of <code>~/.vim</code> / <code>~/.vimrc</code>. See <a href="https://macvim.org/docs/redirect.html?tag=xdg-base-dir"><code>:h xdg-base-dir</code></a>. <a href="https://github.com/vim/vim/commit/c9df1fb35a1866901c32df37dd39c8b39dbdb64a">v9.1.0327</a></li>
|
||||
<li>Auto completion
|
||||
<ul>
|
||||
<li>
|
||||
<p>Matched text in a completion popup menu will now be highlighted <a href="https://github.com/vim/vim/commit/40c1c3317d92f8c2adadf744fab72e4458e2a9fa">v9.1.0476</a></p>
|
||||
|
||||
<p><img width="147" alt="image" src="https://github.com/user-attachments/assets/9dff8254-74ca-455d-b65e-50ed87e30961" /></p>
|
||||
</li>
|
||||
<li>Insert mode fuzzy completion (<code>:set completopt+=fuzzy</code>). <a href="https://github.com/vim/vim/commit/a218cc6cdabae1113647b817c4eefc2b60a6902f">v9.1.0463</a> / <a href="https://github.com/vim/vim/commit/8159fb18a92e9a9f5e35201bd92bf651f4d5835c">v9.1.0598</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>New options:
|
||||
<ul>
|
||||
<li><code>tabclose</code>: specifies tab closing behavior. <a href="https://github.com/vim/vim/commit/5247b0b92e191a046b034171a3b34031e317735f">v9.1.0572</a></li>
|
||||
<li><code>winfixbuf</code>: fixes a window to a buffer and prevent navigating away from it. <a href="https://github.com/vim/vim/commit/215703563757a4464907ead6fb9edaeb7f430bea">v9.1.0147</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>New functions:
|
||||
<ul>
|
||||
<li><code>getregion()</code> / <code>getregionpos()</code>: Helps retrieve the text selected in a visual selection. <a href="https://github.com/vim/vim/commit/3f905ab3c4f66562f4a224bf00f49d98a0b0da91">v9.1.0120</a> <a href="https://github.com/vim/vim/commit/19b718828d8d5fab52d94c6cdba694641879ab38">v9.1.0142</a> <a href="https://github.com/vim/vim/commit/b4757e627e6c83d1c8e5535d4887a82d6a5efdd0">v9.1.0394</a></li>
|
||||
<li><code>diff()</code>: Diff provided strings. <a href="https://github.com/vim/vim/commit/fa37835b8c0ed0f83952978fca4c332335ca7c46">v9.1.0071</a></li>
|
||||
<li><code>gettext()</code> / <code>bindtextdomain()</code>: Vim plugins can now add localized messages. <a href="https://github.com/vim/vim/commit/ce0ef910df837b9b961f007a0a35064cad85188b">v9.1.0509</a>.</li>
|
||||
<li><code>filecopy()</code>: Copy a file using Vim script. <a href="https://github.com/vim/vim/commit/60c8743ab6c90e402e6ed49d27455ef7e5698abe">v9.1.0465</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>New bundled optional plugins (use <code>packadd</code> to enable them):
|
||||
<ul>
|
||||
<li>comment: toggle code comments on/off. <a href="https://github.com/vim/vim/issues/14634">vim/vim#14634</a></li>
|
||||
<li>nohlsearch: simple package to automatically set <code>nohlsearch</code>. <a href="https://github.com/vim/vim/issues/15042">vim/vim#15042</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Highlighting for diff files are back to normal. <a href="https://github.com/vim/vim/commit/124371c5a149a8c0c75c04b6c90ac11e71a0aa97">v9.1.0016</a></li>
|
||||
<li>Vim9 script improvements.</li>
|
||||
<li>Miscellaneous smoothscroll, termdebug, security fixes.</li>
|
||||
<li>Other platforms (these don’t affect MacVim and included for reference only):
|
||||
<ul>
|
||||
<li>GTK Vim GUI can now also use <code><D-...></code> to map super keys, similar to MacVim for its Cmd key mappings. This should allow sharing cross-platform configs easier. <a href="https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df">v9.1.0058</a></li>
|
||||
<li>Vim GUI now supports Wayland in Linux. <a href="https://github.com/vim/vim/commit/6e0a18f82bd04a45e9682523c42af9cbbc37684c">v9.1.0064</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r180-misc">Misc</h2>
|
||||
|
||||
<ul>
|
||||
<li>When resizing MacVim, the title bar’s message looks a little nicer now. <a href="https://github.com/macvim-dev/macvim/issues/1488">#1488</a> by @sfsam</li>
|
||||
<li>Copyright disclaimer in About MacVim no longer shows a year. <a href="https://github.com/macvim-dev/macvim/issues/1497">#1497</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r180-general">General</h1>
|
||||
|
||||
<ul>
|
||||
<li>Sparkle (updater for MacVim) is now updated to 2.6.4. For legacy builds it’s now updated to 1.27.3. <a href="https://github.com/macvim-dev/macvim/issues/1494">#1494</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r180-fixes">Fixes</h1>
|
||||
|
||||
<ul>
|
||||
<li>Fixed dragging tabs to reorder them resulting in a crash. <a href="https://github.com/macvim-dev/macvim/issues/1499">#1499</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r180-compatibility">Compatibility</h1>
|
||||
|
||||
<p>Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)</p>
|
||||
|
||||
<p>Script interfaces have compatibility with these versions:</p>
|
||||
|
||||
<ul>
|
||||
<li>Lua 5.4</li>
|
||||
<li>Perl 5.30</li>
|
||||
<li>Python2 2.7</li>
|
||||
<li>Python3 3.9 or above</li>
|
||||
<li>Ruby 3.3</li>
|
||||
</ul>
|
||||
|
||||
</details>
|
||||
</div>
|
||||
|
||||
<p><br /><small><a href="https://github.com/macvim-dev/macvim/releases/latest">Latest release notes ></a></small></p>
|
||||
]]></description>
|
||||
<sparkle:fullReleaseNotesLink>https://github.com/macvim-dev/macvim/releases</sparkle:fullReleaseNotesLink>
|
||||
<pubDate>Fri, 21 Feb 2025 02:00:00 +0000</pubDate>
|
||||
<sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
|
||||
<sparkle:version>181</sparkle:version>
|
||||
<sparkle:shortVersionString>9.1.1128</sparkle:shortVersionString>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="https://github.com/macvim-dev/macvim/releases/download/release-181/MacVim.dmg"
|
||||
sparkle:edSignature="Tlrdw10++4MxiqdCt9WsCtkF4isMkN/MNGVsu2K5IDe1RUYgSoKxpVFZJYNhrikttsmEtJio8N9eCGfsGKNQDA==" length="23750581"
|
||||
/>
|
||||
<sparkle:deltas>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="https://github.com/macvim-dev/macvim/releases/download/release-181/179_to_181.delta"
|
||||
sparkle:deltaFrom="179"
|
||||
sparkle:edSignature="H0jwLee4FvcPuDf1W52+KjeSOdaz9LeHyxhOlPDSPc1EBnOI3pv+SUQl2y+ZN1tDvXUUsga4HZcwo5jQgPugAQ==" length="4359922"
|
||||
/>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="https://github.com/macvim-dev/macvim/releases/download/release-181/180_to_181.delta"
|
||||
sparkle:deltaFrom="180"
|
||||
sparkle:edSignature="kHmhSxmOiOWP7ThBFb0EEdPcoieVUDWh/quhEMaN/6XGiw3OqUL71b5CSfLPHLZgyc4mhWS4DN6XM+RxMoyNAQ==" length="3265534"
|
||||
/>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="https://github.com/macvim-dev/macvim/releases/download/release-181/180.2_to_181.delta"
|
||||
sparkle:deltaFrom="180.2"
|
||||
sparkle:edSignature="VmJPum/HxM93IGJVMVGTEPS5QiDFvTy9kVRHDdwucHBRrlOI/FtiAjn9aPauE27RgYc02RueeLUouG7OqznZBA==" length="915450"
|
||||
/>
|
||||
</sparkle:deltas>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>MacVim release-181</title>
|
||||
<description><![CDATA[
|
||||
<style>
|
||||
:root { supported-color-schemes: light dark; color-scheme: light dark; }
|
||||
div h1 { padding-bottom: .3em; border-bottom: 1px solid gray; }
|
||||
|
||||
/* Older versions' release notes. Will be optionally shown in collapsed form if the user has upgraded across multiple versions. */
|
||||
div > details.oldVersionToggle > summary {
|
||||
font-size: 1.2em;
|
||||
border-radius: 5px;
|
||||
border-bottom: 3px solid #57c4d0;
|
||||
cursor: pointer;
|
||||
padding: 10px;
|
||||
}
|
||||
.toc {
|
||||
/* Sparkle does not seem to allow anchor links. Just disable the TOC. */
|
||||
display: none;
|
||||
}
|
||||
div.sparkle-installed-version { display:none; }
|
||||
div.sparkle-installed-version ~ section { display: none; }
|
||||
</style>
|
||||
|
||||
<div>
|
||||
<p>Updated to Vim 9.1.1128</p>
|
||||
|
||||
<nav>
|
||||
<ul class="toc" id="markdown-toc">
|
||||
<li><a href="#r181-defaults-change" id="markdown-toc-r181-defaults-change">Defaults Change</a></li>
|
||||
<li><a href="#r181-features" id="markdown-toc-r181-features">Features</a> <ul>
|
||||
<li><a href="#r181-tabs" id="markdown-toc-r181-tabs">Tabs</a></li>
|
||||
<li><a href="#r181-new-vim-features" id="markdown-toc-r181-new-vim-features">New Vim features</a></li>
|
||||
<li><a href="#r181-misc-new-settings" id="markdown-toc-r181-misc-new-settings">Misc New Settings</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#r181-general" id="markdown-toc-r181-general">General</a></li>
|
||||
<li><a href="#r181-fixes" id="markdown-toc-r181-fixes">Fixes</a> <ul>
|
||||
<li><a href="#r181-apple-intelligence-writing-tools" id="markdown-toc-r181-apple-intelligence-writing-tools">Apple “Intelligence” Writing Tools</a></li>
|
||||
<li><a href="#r181-window-resizing-and-full-screen" id="markdown-toc-r181-window-resizing-and-full-screen">Window resizing and full screen</a></li>
|
||||
<li><a href="#r181-other-fixes" id="markdown-toc-r181-other-fixes">Other Fixes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#r181-scripting" id="markdown-toc-r181-scripting">Scripting</a></li>
|
||||
<li><a href="#r181-compatibility" id="markdown-toc-r181-compatibility">Compatibility</a></li>
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
<p>This update contains a completely new GUI tabs implementation by @sfsam! It also contains lots of small fixes for window resizing and full screen mode that aims to make using MacVim feel rock solid and stable.</p>
|
||||
|
||||
<h1 id="r181-defaults-change">Defaults Change</h1>
|
||||
|
||||
<p>New settings defaults related to window sizing <a href="https://github.com/macvim-dev/macvim/issues/1528">#1528</a>:</p>
|
||||
|
||||
<ul>
|
||||
<li>“Smoothly resizes window” is now on by default. MacVim’s window will now resize smoothly instead of snapped to the size of the character grid.</li>
|
||||
<li>Vim’s <code>guioptions</code> now has <code>k</code> set by default (<a href="https://macvim.org/docs/redirect.html?tag='go-k'"><code>:h go-k</code></a>). This prevents MacVim’s window size from changing unnecessarily when showing/hiding tabs or changing font size.</li>
|
||||
</ul>
|
||||
|
||||
<p>These should align MacVim better with how other apps work and integrate better with OS window management, including macOS 15 Sequoia’s window tiling feature.</p>
|
||||
|
||||
<h1 id="r181-features">Features</h1>
|
||||
|
||||
<h2 id="r181-tabs">Tabs</h2>
|
||||
|
||||
<p>MacVim has a new tabs implementation! The old version (PSMTabBarControl) is not maintained and lacks features such as overflowing tabs and customizable colors. The new tabs will overflow horizontally and are scrollable. They also animate when tabs are closed or moved, respect system settings such as right-to-left locales and high-contrast modes, and are designed to fit within the currently selected Vim colors.</p>
|
||||
|
||||
<p>There are a few ways to customize the colors of the new tabs, under the “Appearance” settings pane. MacVim defaults to an “Automatic colors” mode which tries to pick sensible colors automatically based on the current foreground/background colors. However, you can also configure it to simply use the tab colors specified by the Vim color scheme (some color schemes will work better than others depending on their choice of colors). Another new option is “Use tabs background color” which when combined with “Transparent title bar” allows the title bar and tabs to look like a single cohesive whole.</p>
|
||||
|
||||
<p><img width="375" alt="new tabs" src="https://github.com/user-attachments/assets/f70a683e-1450-48d1-89b7-f6c12d73bf90" />
|
||||
<img width="375" alt="image" src="https://github.com/user-attachments/assets/b1af9c2f-8176-43d8-add7-faf6272f9a74" />
|
||||
<img width="375" alt="new tabs" src="https://github.com/user-attachments/assets/1190e1e4-2544-485c-adf5-86a57233f9a0" />
|
||||
<img width="375" alt="new tabs" src="https://github.com/user-attachments/assets/93bc52e6-3559-48fa-8a28-5848fd19b1d7" /></p>
|
||||
|
||||
<p>Relevant work:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/macvim-dev/macvim/issues/1120">#1120</a> (by @sfsam)</li>
|
||||
<li>Also: <a href="https://github.com/macvim-dev/macvim/issues/1535">#1535</a> / <a href="https://github.com/macvim-dev/macvim/issues/1536">#1536</a> / <a href="https://github.com/macvim-dev/macvim/issues/1537">#1537</a> / <a href="https://github.com/macvim-dev/macvim/issues/1538">#1538</a> / <a href="https://github.com/macvim-dev/macvim/issues/1539">#1539</a> / <a href="https://github.com/macvim-dev/macvim/issues/1557">#1557</a> / <a href="https://github.com/macvim-dev/macvim/issues/1558">#1558</a> / <a href="https://github.com/macvim-dev/macvim/issues/1560">#1560</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r181-new-vim-features">New Vim features</h2>
|
||||
|
||||
<ul>
|
||||
<li>new bundled color scheme:
|
||||
<ul>
|
||||
<li>unokai (<a href="https://github.com/vim/vim/issues/16443">vim/vim#16443</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>new bundled optional plugins (use <code>packadd</code> to enable them):
|
||||
<ul>
|
||||
<li>helptoc: Use <a href="https://macvim.org/docs/redirect.html?tag=:HelpToc"><code>:HelpToc</code></a> to show an interactive table of contents for Vim help, man pages, Markdown files, and terminal. <a href="https://github.com/vim/vim/issues/10446">vim/vim#10446</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>new options:
|
||||
<ul>
|
||||
<li><code>set diffopt+=linematch:{n}</code>. Matches lines better when in diff mode. <a href="https://github.com/vim/vim/commit/7c7a4e6d1ad50d5b25b42aa2d5a33a8d04a4cc8a">v9.1.1009</a></li>
|
||||
<li><code>findfunc</code>. Customizes <code>:find</code> and other commands. <a href="https://github.com/vim/vim/commit/a13f3a4f5de9c150f70298850e34747838904995">v9.1.0831</a></li>
|
||||
<li><code>set completeopt+=preinsert</code>. Preview inserted text in completion. <a href="https://github.com/vim/vim/commit/edd4ac3e895ce16034c7e098f1d68e0155d97886">v9.1.1056</a></li>
|
||||
<li><code>messagesopt</code>. Allows customizing hit-enter behavior. <a href="https://github.com/vim/vim/commit/51d4d84d6a7159c6ce9e04b36f8edc105ca3794b">v9.1.0908</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>new functions:
|
||||
<ul>
|
||||
<li><code>getcellpixels()</code>. Query the pixel size of a character cell in the grid. <a href="https://github.com/vim/vim/commit/1083cae7091f006249c1349d0575412d2ff6a7dc">v9.1.0854</a> / <a href="https://github.com/macvim-dev/macvim/issues/1554">#1554</a> / <a href="https://github.com/macvim-dev/macvim/issues/1555">#1555</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Vim tutor has a new interactive plugin (<a href="https://macvim.org/docs/redirect.html?tag=:Tutor"><code>:h :Tutor</code></a>) (<a href="https://github.com/vim/vim/commit/a54816b884157f6b7973a188f85c708d15cbf72f">v9.1.0836</a>). There is also now a chapter 2 (<a href="https://github.com/vim/vim/issues/5729">vim/vim#5729</a>).</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r181-misc-new-settings">Misc New Settings</h2>
|
||||
|
||||
<ul>
|
||||
<li>“Open untitled window” (General) has a new option to only open on MacVim re-activation. <a href="https://github.com/macvim-dev/macvim/issues/1509">#1509</a></li>
|
||||
<li>“Show document icon at title bar” (Appearance). Previously MacVim implicitly hid the document icon when using transparent title bar. This is now customizable. <a href="https://github.com/macvim-dev/macvim/issues/1510">#1510</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-general">General</h1>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>The MacVim dmg installer has a new design. Courtesy of @jasonlong. <a href="https://github.com/macvim-dev/macvim/issues/1540">#1540</a> <a href="https://github.com/macvim-dev/macvim/issues/1545">#1545</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Legacy builds (macOS 10.9 - 10.12) are no longer built by GitHub hosted runners, due to GitHub’s deprecation of old runners. They are now built by a custom self-hosted VM instead. In the future we hope to set up reproducible builds (<a href="https://github.com/macvim-dev/macvim/issues/1506">#1506</a>) so it will not matter who’s building the app as it would be verifiable. <a href="https://github.com/macvim-dev/macvim/issues/1559">#1559</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>“Nightly” build: We now build a dmg installer for every commit. This allows for trying out the latest developmental version of MacVim, but note that the app will not be signed / notarized, and it will not be as polished as official release/pre-release builds. See <a href="https://github.com/macvim-dev/macvim/wiki/Installing">wiki</a> for instructions. <a href="https://github.com/macvim-dev/macvim/issues/1532">#1532</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-fixes">Fixes</h1>
|
||||
|
||||
<h2 id="r181-apple-intelligence-writing-tools">Apple “Intelligence” Writing Tools</h2>
|
||||
|
||||
<p>macOS 15 Sequoia’s Apple “Intelligence” Writing Tools should work correctly with MacVim now. To use it, select some text, right click to show menu, and then select the “Writing Tools” sub-menu. As part of this fix, the integration with the “Services” menu now works more reliably as well. You can select texts in blockwise visual mode and select a service and MacVim will try to place the new texts back to the blockwise selection if possible. <a href="https://github.com/macvim-dev/macvim/issues/1552">#1552</a></p>
|
||||
|
||||
<h2 id="r181-window-resizing-and-full-screen">Window resizing and full screen</h2>
|
||||
|
||||
<ul>
|
||||
<li>Flicker begone: Changing font size, showing/hiding tabs or scroll bars, or entering non-native full screen should no longer cause MacVim to flicker. Previously there could be a momentary but distracting/annoying stale image that flashes briefly. <a href="https://github.com/macvim-dev/macvim/issues/1547">#1547</a> <a href="https://github.com/macvim-dev/macvim/issues/1549">#1549</a></li>
|
||||
<li>Fixed issue where resizing MacVim window would occasionally cause Vim to be stuck in a stale wrong size. <a href="https://github.com/macvim-dev/macvim/issues/1518">#1518</a></li>
|
||||
<li>Non-native full screen now supports <code>blurradius</code> option. <a href="https://github.com/macvim-dev/macvim/issues/1546">#1546</a></li>
|
||||
<li>Fixed window size not always restoring correctly when exiting full screen. Non-native full screen also works more reliably in multi-monitor setup. <a href="https://github.com/macvim-dev/macvim/issues/1525">#1525</a></li>
|
||||
<li>Fixed non-native full screen mode when using an external monitor with a MacBook with a notch, and having the “Show menu bar in non-native mode” option set. Previously MacVim would sometimes miscalculate the menu bar height in the second screen. <a href="https://github.com/macvim-dev/macvim/issues/1548">#1548</a></li>
|
||||
<li>Fixed misc issues with non-native full screen’s interaction with <code>fuoptions</code> and also the <code>transparency</code> setting, and rare crash. <a href="https://github.com/macvim-dev/macvim/issues/1521">#1521</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="r181-other-fixes">Other Fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Fixed issue where changing font size (using Cmd =/-) with guifont set to “-monospace-“ would result in guifont being changed to a confusing name like “.AppleSystemUIFontMonospaced-Regular”. <a href="https://github.com/macvim-dev/macvim/issues/1544">#1544</a></li>
|
||||
<li>“MacVim Website” menu item now goes to the updated URL. <a href="https://github.com/macvim-dev/macvim/issues/1524">#1524</a></li>
|
||||
<li>What’s New page now allows changing font size (using Cmd =/-), and showing table of contents. <a href="https://github.com/macvim-dev/macvim/issues/1561">#1561</a> <a href="https://github.com/macvim-dev/macvim/issues/1562">#1562</a></li>
|
||||
<li>Dark mode documentation is now a bit clearer on <code>v:os_appearance</code>. <a href="https://github.com/macvim-dev/macvim/issues/1511">#1511</a></li>
|
||||
<li>Using dictionary look up on selected texts (by right clicking and then selecting “Look Up” in the pop-up menu) is now more resilient as it uses Vim’s native <code>getregion()</code> to determine the selected texts. <a href="https://github.com/macvim-dev/macvim/issues/1508">#1508</a></li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-scripting">Scripting</h1>
|
||||
|
||||
<ul>
|
||||
<li>Scripting languages versions:
|
||||
<ul>
|
||||
<li>Ruby is now built against 3.4, up from 3.3.</li>
|
||||
<li>Perl is now built against 5.34, up from 5.30.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1 id="r181-compatibility">Compatibility</h1>
|
||||
|
||||
<p>Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)</p>
|
||||
|
||||
<p>Script interfaces have compatibility with these versions:</p>
|
||||
|
||||
<ul>
|
||||
<li>Lua 5.4</li>
|
||||
<li>Perl 5.34</li>
|
||||
<li>Python2 2.7</li>
|
||||
<li>Python3 3.9 or above</li>
|
||||
<li>Ruby 3.4</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<p><br /><small><a href="https://github.com/macvim-dev/macvim/releases/latest">Latest release notes ></a></small></p>
|
||||
]]></description>
|
||||
<sparkle:fullReleaseNotesLink>https://github.com/macvim-dev/macvim/releases</sparkle:fullReleaseNotesLink>
|
||||
<pubDate>Fri, 21 Feb 2025 02:00:00 +0000</pubDate>
|
||||
<sparkle:minimumSystemVersion>10.9</sparkle:minimumSystemVersion>
|
||||
<sparkle:maximumSystemVersion>10.12.99</sparkle:maximumSystemVersion>
|
||||
<sparkle:version>181</sparkle:version>
|
||||
<sparkle:shortVersionString>9.1.1128</sparkle:shortVersionString>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="https://github.com/macvim-dev/macvim/releases/download/release-181/MacVim_10.9.dmg"
|
||||
sparkle:edSignature="5Loj2zZ25vXfqVMDLt/yyFiLr4ZUDckru/IEOF/4MNZnOEYKBdvf8w8a5zUOPiNqSOIjpqfgbHJskqnh+CZxAQ==" length="26286287"
|
||||
/>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,6 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# This is just a stub for the Unix configure script, to provide support for
|
||||
# doing "./configure" in the top Vim directory.
|
||||
|
||||
cd src && exec ./configure "$@"
|
||||
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
For information about installation of Farsi fonts and Vim usage in Farsi mode,
|
||||
refer to the Farsi help file by typing ":help farsi" in Vim.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 268 B |
+36
@@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
|
||||
|
||||
<!-- The gh-pages branch is no longer in use. Redirect to the new URL -->
|
||||
<title>Redirecting to https://macvim.org</title>
|
||||
<meta http-equiv="refresh" content="0; URL=https://macvim.org">
|
||||
|
||||
|
||||
|
||||
<!-- In case the client has autorefresh disabled, we display a message to tell the client that we have moved -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet_dark.css" media="screen">
|
||||
</head>
|
||||
<body>
|
||||
<section class="page-header">
|
||||
<h1 class="project-name">MacVim</h1>
|
||||
<h2 class="project-tagline">Vim - the text editor - for macOS</h2>
|
||||
|
||||
This page has been moved to <a href=https://macvim.org>https://macvim.org</a>
|
||||
|
||||
</section>
|
||||
|
||||
<section class="main-content">
|
||||
<footer class="site-footer">
|
||||
<span class="site-footer-owner"><a href="https://github.com/macvim-dev/macvim">MacVim</a> is maintained by <a href="https://github.com/macvim-dev">macvim-dev</a>.</span>
|
||||
<span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span>
|
||||
</footer>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
console.log('This would be the main JS file.');
|
||||
Binary file not shown.
@@ -1,42 +0,0 @@
|
||||
This builds a one-click install for Vim for Win32 using the Nullsoft
|
||||
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
|
||||
|
||||
To build the installable .exe:
|
||||
|
||||
1. Unpack three archives:
|
||||
PC sources
|
||||
PC runtime
|
||||
PC language files
|
||||
You can generate these from the Unix sources and runtime plus the extra
|
||||
archive (see the Makefile in the top directory).
|
||||
|
||||
2. Go to the src directory and build:
|
||||
gvim.exe (the OLE version),
|
||||
vimrun.exe,
|
||||
install.exe,
|
||||
uninstal.exe,
|
||||
xxd/xxd.exe,
|
||||
|
||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||
archive).
|
||||
|
||||
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
||||
archive).
|
||||
|
||||
5. Go to the OleVim directory and build OpenWithVim.exe and SendToVim.exe (or
|
||||
get them from a binary archive).
|
||||
|
||||
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
||||
"vim61" directory, it's the same for all Vim versions).
|
||||
You can find one in previous Vim versions or in this archive:
|
||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||
|
||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||
to do this on Unix. Make sure the file is in DOS file format!
|
||||
|
||||
Install NSIS if you didn't do that already.
|
||||
Also install UPX, if you want a compressed file.
|
||||
|
||||
To build then, enter:
|
||||
|
||||
makensis gvim.nsi
|
||||
-456
@@ -1,456 +0,0 @@
|
||||
# NSIS file to create a self-installing exe for Vim.
|
||||
# It requires NSIS version 2.0 or later.
|
||||
# Last change: 2004 May 02
|
||||
|
||||
# WARNING: if you make changes to this script, look out for $0 to be valid,
|
||||
# because uninstall deletes most files in $0.
|
||||
|
||||
# Location of gvim_ole.exe, vimd32.exe, GvimExt/*, etc.
|
||||
!define VIMSRC "..\src"
|
||||
|
||||
# Location of runtime files
|
||||
!define VIMRT ".."
|
||||
|
||||
# Location of extra tools: diff.exe
|
||||
!define VIMTOOLS ..\..
|
||||
|
||||
# Comment the next line if you don't have UPX.
|
||||
# Get it at http://upx.sourceforge.net
|
||||
!define HAVE_UPX
|
||||
|
||||
# comment the next line if you do not want to add Native Language Support
|
||||
!define HAVE_NLS
|
||||
|
||||
!define VER_MAJOR 7
|
||||
!define VER_MINOR 2
|
||||
|
||||
# ----------- No configurable settings below this line -----------
|
||||
|
||||
!include UpgradeDLL.nsh # for VisVim.dll
|
||||
|
||||
Name "Vim ${VER_MAJOR}.${VER_MINOR}"
|
||||
OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
|
||||
CRCCheck force
|
||||
SetCompressor lzma
|
||||
SetDatablockOptimize on
|
||||
|
||||
ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
|
||||
DirText "Choose a directory to install Vim (must end in 'vim')"
|
||||
Icon icons\vim_16c.ico
|
||||
# NSIS2 uses a different strategy with six diferent images in a strip...
|
||||
#EnabledBitmap icons\enabled.bmp
|
||||
#DisabledBitmap icons\disabled.bmp
|
||||
UninstallText "This will uninstall Vim ${VER_MAJOR}.${VER_MINOR} from your system."
|
||||
UninstallIcon icons\vim_uninst_16c.ico
|
||||
|
||||
# On NSIS 2 using the BGGradient causes trouble on Windows 98, in combination
|
||||
# with the BringToFront.
|
||||
# BGGradient 004000 008200 FFFFFF
|
||||
LicenseText "You should read the following before installing:"
|
||||
LicenseData ${VIMRT}\doc\uganda.nsis.txt
|
||||
|
||||
!ifdef HAVE_UPX
|
||||
!packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
|
||||
!endif
|
||||
|
||||
# This adds '\vim' to the user choice automagically. The actual value is
|
||||
# obtained below with ReadINIStr.
|
||||
InstallDir "$PROGRAMFILES\Vim"
|
||||
|
||||
# Types of installs we can perform:
|
||||
InstType Typical
|
||||
InstType Minimal
|
||||
InstType Full
|
||||
|
||||
SilentInstall normal
|
||||
|
||||
# These are the pages we use
|
||||
Page license
|
||||
Page components
|
||||
Page directory "" "" CheckInstallDir
|
||||
Page instfiles
|
||||
UninstPage uninstConfirm
|
||||
UninstPage instfiles
|
||||
|
||||
##########################################################
|
||||
# Functions
|
||||
|
||||
Function .onInit
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer.$\n Continue?" \
|
||||
IDYES NoAbort
|
||||
Abort ; causes installer to quit.
|
||||
NoAbort:
|
||||
|
||||
# run the install program to check for already installed versions
|
||||
SetOutPath $TEMP
|
||||
File /oname=install.exe ${VIMSRC}\installw32.exe
|
||||
ExecWait "$TEMP\install.exe -uninstall-check"
|
||||
Delete $TEMP\install.exe
|
||||
|
||||
# We may have been put to the background when uninstall did something.
|
||||
BringToFront
|
||||
|
||||
# Install will have created a file for us that contains the directory where
|
||||
# we should install. This is $VIM if it's set. This appears to be the only
|
||||
# way to get the value of $VIM here!?
|
||||
ReadINIStr $INSTDIR $TEMP\vimini.ini vimini dir
|
||||
Delete $TEMP\vimini.ini
|
||||
|
||||
# If ReadINIStr failed or did not find a path: use the default dir.
|
||||
StrCmp $INSTDIR "" 0 IniOK
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\Vim"
|
||||
IniOK:
|
||||
|
||||
# Should check for the value of $VIM and use it. Unfortunately I don't know
|
||||
# how to obtain the value of $VIM
|
||||
# IfFileExists "$VIM" 0 No_Vim
|
||||
# StrCpy $INSTDIR "$VIM"
|
||||
# No_Vim:
|
||||
|
||||
# User variables:
|
||||
# $0 - holds the directory the executables are installed to
|
||||
# $1 - holds the parameters to be passed to install.exe. Starts with OLE
|
||||
# registration (since a non-OLE gvim will not complain, and we want to
|
||||
# always register an OLE gvim).
|
||||
# $2 - holds the names to create batch files for
|
||||
StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
|
||||
StrCpy $1 "-register-OLE"
|
||||
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onUserAbort
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION "Abort install?" IDYES NoCancelAbort
|
||||
Abort ; causes installer to not quit.
|
||||
NoCancelAbort:
|
||||
FunctionEnd
|
||||
|
||||
# We only accept the directory if it ends in "vim". Using .onVerifyInstDir has
|
||||
# the disadvantage that the browse dialog is difficult to use.
|
||||
Function CheckInstallDir
|
||||
StrCpy $0 $INSTDIR 3 -3
|
||||
StrCmp $0 "vim" PathGood
|
||||
MessageBox MB_OK "The path must end in 'vim'."
|
||||
Abort
|
||||
PathGood:
|
||||
FunctionEnd
|
||||
|
||||
Function .onInstSuccess
|
||||
WriteUninstaller vim${VER_MAJOR}${VER_MINOR}\uninstall-gui.exe
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"The installation process has been successful. Happy Vimming! \
|
||||
$\n$\n Do you want to see the README file now?" IDNO NoReadme
|
||||
Exec '$0\gvim.exe -R "$0\README.txt"'
|
||||
NoReadme:
|
||||
FunctionEnd
|
||||
|
||||
Function .onInstFailed
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "Installation failed. Better luck next time."
|
||||
FunctionEnd
|
||||
|
||||
Function un.onUnInstSuccess
|
||||
MessageBox MB_OK|MB_ICONINFORMATION \
|
||||
"Vim ${VER_MAJOR}.${VER_MINOR} has been (partly) removed from your system"
|
||||
FunctionEnd
|
||||
|
||||
Function un.GetParent
|
||||
Exch $0 ; old $0 is on top of stack
|
||||
Push $1
|
||||
Push $2
|
||||
StrCpy $1 -1
|
||||
loop:
|
||||
StrCpy $2 $0 1 $1
|
||||
StrCmp $2 "" exit
|
||||
StrCmp $2 "\" exit
|
||||
IntOp $1 $1 - 1
|
||||
Goto loop
|
||||
exit:
|
||||
StrCpy $0 $0 $1
|
||||
Pop $2
|
||||
Pop $1
|
||||
Exch $0 ; put $0 on top of stack, restore $0 to original value
|
||||
FunctionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Vim executables and runtime files"
|
||||
SectionIn 1 2 3
|
||||
|
||||
# we need also this here if the user changes the instdir
|
||||
StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
|
||||
|
||||
SetOutPath $0
|
||||
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
|
||||
File /oname=install.exe ${VIMSRC}\installw32.exe
|
||||
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
|
||||
File ${VIMSRC}\vimrun.exe
|
||||
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
||||
File ${VIMTOOLS}\diff.exe
|
||||
File ${VIMRT}\vimtutor.bat
|
||||
File ${VIMRT}\README.txt
|
||||
File ..\uninstal.txt
|
||||
File ${VIMRT}\*.vim
|
||||
File ${VIMRT}\rgb.txt
|
||||
|
||||
SetOutPath $0\colors
|
||||
File ${VIMRT}\colors\*.*
|
||||
|
||||
SetOutPath $0\compiler
|
||||
File ${VIMRT}\compiler\*.*
|
||||
|
||||
SetOutPath $0\doc
|
||||
File ${VIMRT}\doc\*.txt
|
||||
File ${VIMRT}\doc\tags
|
||||
|
||||
SetOutPath $0\ftplugin
|
||||
File ${VIMRT}\ftplugin\*.*
|
||||
|
||||
SetOutPath $0\indent
|
||||
File ${VIMRT}\indent\*.*
|
||||
|
||||
SetOutPath $0\macros
|
||||
File ${VIMRT}\macros\*.*
|
||||
|
||||
SetOutPath $0\plugin
|
||||
File ${VIMRT}\plugin\*.*
|
||||
|
||||
SetOutPath $0\autoload
|
||||
File ${VIMRT}\autoload\*.*
|
||||
|
||||
SetOutPath $0\autoload\xml
|
||||
File ${VIMRT}\autoload\xml\*.*
|
||||
|
||||
SetOutPath $0\syntax
|
||||
File ${VIMRT}\syntax\*.*
|
||||
|
||||
SetOutPath $0\spell
|
||||
File ${VIMRT}\spell\*.txt
|
||||
File ${VIMRT}\spell\*.vim
|
||||
File ${VIMRT}\spell\*.spl
|
||||
File ${VIMRT}\spell\*.sug
|
||||
|
||||
SetOutPath $0\tools
|
||||
File ${VIMRT}\tools\*.*
|
||||
|
||||
SetOutPath $0\tutor
|
||||
File ${VIMRT}\tutor\*.*
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Vim console program (vim.exe)"
|
||||
SectionIn 1 3
|
||||
|
||||
SetOutPath $0
|
||||
ReadRegStr $R0 HKLM \
|
||||
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
||||
IfErrors 0 lbl_winnt
|
||||
# Windows 95/98/ME
|
||||
File /oname=vim.exe ${VIMSRC}\vimd32.exe
|
||||
Goto lbl_done
|
||||
lbl_winnt:
|
||||
# Windows NT/2000/XT
|
||||
File /oname=vim.exe ${VIMSRC}\vimw32.exe
|
||||
lbl_done:
|
||||
StrCpy $2 "$2 vim view vimdiff"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Create .bat files for command line use"
|
||||
SectionIn 3
|
||||
|
||||
StrCpy $1 "$1 -create-batfiles $2"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Create icons on the Desktop"
|
||||
SectionIn 1 3
|
||||
|
||||
StrCpy $1 "$1 -install-icons"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Add Vim to the Start Menu"
|
||||
SectionIn 1 3
|
||||
|
||||
StrCpy $1 "$1 -add-start-menu"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Add an Edit-with-Vim context menu entry"
|
||||
SectionIn 1 3
|
||||
|
||||
# Be aware of this sequence of events:
|
||||
# - user uninstalls Vim, gvimext.dll can't be removed (it's in use) and
|
||||
# is scheduled to be removed at next reboot.
|
||||
# - user installs Vim in same directory, gvimext.dll still exists.
|
||||
# If we now skip installing gvimext.dll, it will disappear at the next
|
||||
# reboot. Thus when copying gvimext.dll fails always schedule it to be
|
||||
# installed at the next reboot. Can't use UpgradeDLL!
|
||||
# We don't ask the user to reboot, the old dll will keep on working.
|
||||
SetOutPath $0
|
||||
ClearErrors
|
||||
SetOverwrite try
|
||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
||||
IfErrors 0 GvimExtDone
|
||||
|
||||
# Can't copy gvimext.dll, create it under another name and rename it on
|
||||
# next reboot.
|
||||
GetTempFileName $3 $0
|
||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
||||
Rename /REBOOTOK $3 $0\gvimext.dll
|
||||
|
||||
GvimExtDone:
|
||||
SetOverwrite lastused
|
||||
|
||||
# We don't have a separate entry for the "Open With..." menu, assume
|
||||
# the user wants either both or none.
|
||||
StrCpy $1 "$1 -install-popup -install-openwith"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Create a _vimrc if it doesn't exist"
|
||||
SectionIn 1 3
|
||||
|
||||
StrCpy $1 "$1 -create-vimrc"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Create plugin directories in HOME or VIM"
|
||||
SectionIn 1 3
|
||||
|
||||
StrCpy $1 "$1 -create-directories home"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "Create plugin directories in VIM"
|
||||
SectionIn 3
|
||||
|
||||
StrCpy $1 "$1 -create-directories vim"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section "VisVim Extension for MS Visual Studio"
|
||||
SectionIn 3
|
||||
|
||||
SetOutPath $0
|
||||
!insertmacro UpgradeDLL "${VIMSRC}\VisVim\VisVim.dll" "$0\VisVim.dll" "$0"
|
||||
File ${VIMSRC}\VisVim\README_VisVim.txt
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
!ifdef HAVE_NLS
|
||||
Section "Native Language Support"
|
||||
SectionIn 1 3
|
||||
|
||||
SetOutPath $0\lang
|
||||
File /r ${VIMRT}\lang\*.*
|
||||
SetOutPath $0\keymap
|
||||
File ${VIMRT}\keymap\README.txt
|
||||
File ${VIMRT}\keymap\*.vim
|
||||
SetOutPath $0
|
||||
File ${VIMRT}\libintl.dll
|
||||
SectionEnd
|
||||
!endif
|
||||
|
||||
##########################################################
|
||||
Section -call_install_exe
|
||||
SetOutPath $0
|
||||
ExecWait "$0\install.exe $1"
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section -post
|
||||
BringToFront
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
Section Uninstall
|
||||
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
||||
# created. Thus the "vim61" directory is included in it.
|
||||
StrCpy $0 "$INSTDIR"
|
||||
|
||||
# If VisVim was installed, unregister the DLL.
|
||||
IfFileExists "$0\VisVim.dll" Has_VisVim No_VisVim
|
||||
Has_VisVim:
|
||||
ExecWait "regsvr32.exe /u /s $0\VisVim.dll"
|
||||
|
||||
No_VisVim:
|
||||
|
||||
# delete the context menu entry and batch files
|
||||
ExecWait "$0\uninstal.exe -nsis"
|
||||
|
||||
# We may have been put to the background when uninstall did something.
|
||||
BringToFront
|
||||
|
||||
# ask the user if the Vim version dir must be removed
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"Would you like to delete $0?$\n \
|
||||
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
||||
|
||||
Delete /REBOOTOK $0\*.dll
|
||||
ClearErrors
|
||||
# Remove everything but *.dll files. Avoids that
|
||||
# a lot remains when gvimext.dll cannot be deleted.
|
||||
RMDir /r $0\autoload
|
||||
RMDir /r $0\colors
|
||||
RMDir /r $0\compiler
|
||||
RMDir /r $0\doc
|
||||
RMDir /r $0\ftplugin
|
||||
RMDir /r $0\indent
|
||||
RMDir /r $0\macros
|
||||
RMDir /r $0\plugin
|
||||
RMDir /r $0\spell
|
||||
RMDir /r $0\syntax
|
||||
RMDir /r $0\tools
|
||||
RMDir /r $0\tutor
|
||||
RMDir /r $0\VisVim
|
||||
RMDir /r $0\lang
|
||||
RMDir /r $0\keymap
|
||||
Delete $0\*.exe
|
||||
Delete $0\*.bat
|
||||
Delete $0\*.vim
|
||||
Delete $0\*.txt
|
||||
|
||||
IfErrors ErrorMess NoErrorMess
|
||||
ErrorMess:
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
||||
"Some files in $0 have not been deleted!$\nYou must do it manually."
|
||||
NoErrorMess:
|
||||
|
||||
# No error message if the "vim62" directory can't be removed, the
|
||||
# gvimext.dll may still be there.
|
||||
RMDir $0
|
||||
|
||||
NoRemoveExes:
|
||||
# get the parent dir of the installation
|
||||
Push $INSTDIR
|
||||
Call un.GetParent
|
||||
Pop $0
|
||||
StrCpy $1 $0
|
||||
|
||||
# if a plugin dir was created at installation ask the user to remove it
|
||||
# first look in the root of the installation then in HOME
|
||||
IfFileExists $1\vimfiles AskRemove 0
|
||||
ReadEnvStr $1 "HOME"
|
||||
StrCmp $1 "" NoRemove 0
|
||||
|
||||
IfFileExists $1\vimfiles 0 NoRemove
|
||||
|
||||
AskRemove:
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"Remove all files in your $1\vimfiles directory? \
|
||||
$\nIf you have created something there that you want to keep, click No" IDNO Fin
|
||||
RMDir /r $1\vimfiles
|
||||
NoRemove:
|
||||
|
||||
# ask the user if the Vim root dir must be removed
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"Would you like to remove $0?$\n \
|
||||
$\nIt contains your Vim configuration files!" IDNO NoDelete
|
||||
RMDir /r $0 ; skipped if no
|
||||
NoDelete:
|
||||
|
||||
Fin:
|
||||
Call un.onUnInstSuccess
|
||||
|
||||
SectionEnd
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 358 B |
Binary file not shown.
|
Before Width: | Height: | Size: 358 B |
Binary file not shown.
|
Before Width: | Height: | Size: 766 B |
Binary file not shown.
|
Before Width: | Height: | Size: 766 B |
@@ -0,0 +1 @@
|
||||
{"name":"Macvim","tagline":"Vim - the text editor - for Mac OS X","body":"* [Releases](https://github.com/macvim-dev/macvim/releases): Binary releases\r\n* [FAQ](https://github.com/macvim-dev/macvim/wiki/FAQ): Answers to some frequently asked questions\r\n* [Troubleshooting](https://github.com/macvim-dev/macvim/wiki/Troubleshooting): How to track down the source of common problems\r\n* [Debugging](https://github.com/macvim-dev/macvim/wiki/Debugging): How to generate a debug log\r\n* [Building](https://github.com/macvim-dev/macvim/wiki/Building): Information on how to build MacVim [](https://travis-ci.org/macvim-dev/macvim)\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
|
||||
@@ -1,44 +0,0 @@
|
||||
/* XPM */
|
||||
static char * alert_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"34 34 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor6 m white c #FFFF00",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ... ",
|
||||
" .XXX. ",
|
||||
" .XXXXX.o ",
|
||||
" .XXXXX.oo ",
|
||||
" .XXXXXXX.oo ",
|
||||
" .XXXXXXX.oo ",
|
||||
" .XXXXXXXXX.oo ",
|
||||
" .XXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXX.oo ",
|
||||
" .XXXX...XXXX.oo ",
|
||||
" .XXXX.....XXXX.oo ",
|
||||
" .XXXX.....XXXX.oo ",
|
||||
" .XXXXX.....XXXXX.oo ",
|
||||
" .XXXXX.....XXXXX.oo ",
|
||||
" .XXXXXX.....XXXXXX.oo ",
|
||||
" .XXXXXX.....XXXXXX.oo ",
|
||||
" .XXXXXXXX...XXXXXXXX.oo ",
|
||||
" .XXXXXXXX...XXXXXXXX.oo ",
|
||||
" .XXXXXXXXX...XXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXX.XXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXX.XXXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXXX..XXXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXX....XXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXXX....XXXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXXXX..XXXXXXXXXXXX.oo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.ooo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.ooo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXX.oooo ",
|
||||
" .........................ooooo ",
|
||||
" ooooooooooooooooooooooooooo ",
|
||||
" ooooooooooooooooooooooooo ",
|
||||
" "};
|
||||
@@ -1,44 +0,0 @@
|
||||
/* XPM */
|
||||
static char * error_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"34 34 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor3 m black c #FF0000",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
"o s iconColor2 m white c #FFFFFF",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ........ ",
|
||||
" ............ ",
|
||||
" ................ ",
|
||||
" .................. ",
|
||||
" ....................X ",
|
||||
" ......................X ",
|
||||
" ........................X ",
|
||||
" .......o..........o.......X ",
|
||||
" ......ooo........ooo......X ",
|
||||
" ......ooooo......ooooo......X ",
|
||||
" .......ooooo....ooooo.......X ",
|
||||
" .........ooooo..ooooo.........X ",
|
||||
" ..........oooooooooo..........X ",
|
||||
" ...........oooooooo...........XX ",
|
||||
" ............oooooo............XX ",
|
||||
" ............oooooo............XX ",
|
||||
" ...........oooooooo...........XX ",
|
||||
" ..........oooooooooo..........XX ",
|
||||
" .........ooooo..ooooo.........XX ",
|
||||
" .......ooooo....ooooo.......XX ",
|
||||
" ......ooooo......ooooo......XX ",
|
||||
" ......ooo........ooo......XXX ",
|
||||
" .......o..........o.......XX ",
|
||||
" ........................XXX ",
|
||||
" ......................XXX ",
|
||||
" X....................XXX ",
|
||||
" X..................XXX ",
|
||||
" X................XXX ",
|
||||
" XX............XXXX ",
|
||||
" XX........XXXXX ",
|
||||
" XXXXXXXXXXX ",
|
||||
" XXXXXXX ",
|
||||
" "};
|
||||
@@ -1,13 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
prefix=stock_
|
||||
list=
|
||||
|
||||
for file in "$@"
|
||||
do
|
||||
name=`echo "$file" | sed 's|-|_|g; s|^.*/||; s|\..*$||'`
|
||||
list="$list $prefix$name $file"
|
||||
done
|
||||
|
||||
gdk-pixbuf-csource --raw --static --build-list $list
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/* XPM */
|
||||
static char * generic_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"34 34 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s bottomShadowColor m black c #5D6069",
|
||||
"X s iconColor2 m white c #FFFFFF",
|
||||
"o s iconColor1 m black c #000000",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ........ ",
|
||||
" ...XXXXXXXX... ",
|
||||
" ..XXXXXXXXXXXXXX.. ",
|
||||
" .XXXXXXXXXXXXXXXXXX. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo... ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo... ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXo... ",
|
||||
" oXXXXXXXXXXXXXXXXXXXXXXo.... ",
|
||||
" oXXXXXXXXXXXXXXXXXXXXo.... ",
|
||||
" oXXXXXXXXXXXXXXXXXXo.... ",
|
||||
" ooXXXXXXXXXXXXXXoo.... ",
|
||||
" .oooXXXXXXXXooo..... ",
|
||||
" ...oooXXXXo....... ",
|
||||
" ....oXXXo..... ",
|
||||
" .oXXXo.. ",
|
||||
" oXXo.. ",
|
||||
" oXo.. ",
|
||||
" oo.. ",
|
||||
" ... ",
|
||||
" .. ",
|
||||
" "};
|
||||
@@ -1,44 +0,0 @@
|
||||
/* XPM */
|
||||
static char * info_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"34 34 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s bottomShadowColor m black c #5D6069",
|
||||
"X s iconColor2 m white c #FFFFFF",
|
||||
"o s iconColor1 m black c #000000",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ........ ",
|
||||
" ...XXXXXXXX... ",
|
||||
" ..XXXXXXXXXXXXXX.. ",
|
||||
" .XXXXXXXXXXXXXXXXXX. ",
|
||||
" .XXXXXXXXooooXXXXXXXXo ",
|
||||
" .XXXXXXXXooooooXXXXXXXXo ",
|
||||
" .XXXXXXXXXooooooXXXXXXXXXo ",
|
||||
" .XXXXXXXXXXXooooXXXXXXXXXXXo ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXoooooooXXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXoooooXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoooooXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoooooXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoooooXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoooooXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXoooooXXXXXXXXXXo... ",
|
||||
" .XXXXXXXXXXXoooooXXXXXXXXXXo... ",
|
||||
" .XXXXXXXXXXoooooXXXXXXXXXo... ",
|
||||
" oXXXXXXXoooooooooXXXXXXo.... ",
|
||||
" oXXXXXXXXXXXXXXXXXXXXo.... ",
|
||||
" oXXXXXXXXXXXXXXXXXXo.... ",
|
||||
" ooXXXXXXXXXXXXXXoo.... ",
|
||||
" .oooXXXXXXXXooo..... ",
|
||||
" ...oooXXXXo....... ",
|
||||
" ....oXXXo..... ",
|
||||
" .oXXXo.. ",
|
||||
" oXXo.. ",
|
||||
" oXo.. ",
|
||||
" oo.. ",
|
||||
" ... ",
|
||||
" .. ",
|
||||
" "};
|
||||
@@ -1,44 +0,0 @@
|
||||
/* XPM */
|
||||
static char * quest_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"34 34 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s bottomShadowColor m black c #5D6069",
|
||||
"X s iconColor2 m white c #FFFFFF",
|
||||
"o s iconColor1 m black c #000000",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ........ ",
|
||||
" ...XXXXXXXX... ",
|
||||
" ..XXXXXXXXXXXXXX.. ",
|
||||
" .XXXXXXXXXXXXXXXXXX. ",
|
||||
" .XXXXXXXXoooooXXXXXXXo ",
|
||||
" .XXXXXXXXoXXXXooXXXXXXXo ",
|
||||
" .XXXXXXXXoooXXXXooXXXXXXXo ",
|
||||
" .XXXXXXXXXooooXXXooXXXXXXXXo ",
|
||||
" .XXXXXXXXXXooXXXoooXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXXXooooXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXXooooXXXXXXXXXXo. ",
|
||||
" .XXXXXXXXXXXXXoooooXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoooooXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoooXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXooXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXXoXXXXXXXXXXXXXXXo.. ",
|
||||
" .XXXXXXXXXXXoXXXXXXXXXXXXXXo... ",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo... ",
|
||||
" .XXXXXXXXXXooXXXXXXXXXXXXo... ",
|
||||
" oXXXXXXXXooooXXXXXXXXXXo.... ",
|
||||
" oXXXXXXXXooXXXXXXXXXXo.... ",
|
||||
" oXXXXXXXXXXXXXXXXXXo.... ",
|
||||
" ooXXXXXXXXXXXXXXoo.... ",
|
||||
" .oooXXXXXXXXooo..... ",
|
||||
" ...oooXXXXo....... ",
|
||||
" ....oXXXo..... ",
|
||||
" .oXXXo.. ",
|
||||
" oXXo.. ",
|
||||
" oXo.. ",
|
||||
" oo.. ",
|
||||
" ... ",
|
||||
" .. ",
|
||||
" "};
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_blank_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 4 1 0 0",
|
||||
/* colors */
|
||||
" s iconColor1 m black c #000000",
|
||||
". s none m none c none",
|
||||
"X s topShadowColor m none c #DCDEE5",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" .",
|
||||
" XXXXXXXXXXXXXXX .",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" X.............. o",
|
||||
" o",
|
||||
"..oooooooooooooooo"};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_close_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". c #880000 m black",
|
||||
"X s iconColor1 m black c #000000",
|
||||
"o s iconColor3 m black c #FF0000",
|
||||
"O s topShadowColor m none c #DCDEE5",
|
||||
"+ s iconColor2 m none c #FFFFFF",
|
||||
"@ s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ..XXXXXXXXX. ",
|
||||
" .oo.OOOOOOO.o. ",
|
||||
" .oo.O+OOO.oo. ",
|
||||
" .oo.OOO.oo.@ ",
|
||||
" X.oo.O.oo.X@ ",
|
||||
" XO.oo.oo.+X@ ",
|
||||
" XOO.ooo.O+X@ ",
|
||||
" XOO.ooo.O+X@ ",
|
||||
" XO.oo.oo.+X@ ",
|
||||
" X.oo.O.oo.X@ ",
|
||||
" .oo.OOO.oo.@ ",
|
||||
" .oo.OOOOO.oo. ",
|
||||
" .oo.OOOOOOO.oo. ",
|
||||
" ..+++++++++.o. ",
|
||||
" XXXXXXXXXXX. ",
|
||||
" @@@@@@@@@ ",
|
||||
" "};
|
||||
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_copy_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" .......... ",
|
||||
" .XXXXXXXX.o ",
|
||||
" .X............. ",
|
||||
" .XXXX.XXXXXXXX. ",
|
||||
" .X....X......X.o ",
|
||||
" .XXXX.XXXXXXXX.o ",
|
||||
" .X....X......X.o ",
|
||||
" .XXXX.XXXXXXXX.o ",
|
||||
" .X..X.X......X.o ",
|
||||
" .XXXX.XXXXXXXX.o ",
|
||||
" ......X..XXXXX.o ",
|
||||
" oooo.XXXXXXXX.o ",
|
||||
" ..........o ",
|
||||
" ooooooooo ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_ctags_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
"O m black c #888800",
|
||||
"+ s topShadowColor m none c #DCDEE5",
|
||||
"@ s iconColor6 m none c #FFFF00",
|
||||
/* pixels */
|
||||
" .. ..... ",
|
||||
" .XX.XXXXX. ",
|
||||
" .XXXXXXXXX. ",
|
||||
" .XX.XXXX..X. ",
|
||||
" .. ....o .. ",
|
||||
" OO++O+...+O+.+ ",
|
||||
" Oo@@@@@...o@@@.o",
|
||||
" Oo@@@@@@...o@@@.o",
|
||||
"Oo@+o+@@@...o@@@.o",
|
||||
"O@@o.o@@@...o@@@.o",
|
||||
"o@@+o+@@@...o@@@.o",
|
||||
"o.@@@@@@@...o@@@.o",
|
||||
" o.@@@@@@...o@@@.o",
|
||||
" o.........o....o",
|
||||
" oooooo...oooooo",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ooo "};
|
||||
@@ -1,27 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_cut_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 3 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" . .X ",
|
||||
" .X .X ",
|
||||
" . .X ",
|
||||
" .X .X ",
|
||||
" . .X ",
|
||||
" .X.X ",
|
||||
" .X ",
|
||||
" ...X ",
|
||||
" X.X .X ",
|
||||
" ...X ... ",
|
||||
" .XX.X .X . ",
|
||||
" . .X .X .X ",
|
||||
" . .X .X .X ",
|
||||
" ..XX ..X ",
|
||||
" XX XX ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,33 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_exit_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 9 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
"O s iconColor3 m black c #FF0000",
|
||||
"+ s iconGray3 m none c #adadad",
|
||||
"@ s iconGray4 m none c #949494",
|
||||
"# s iconGray5 m black c #737373",
|
||||
"$ s iconGray6 m black c #636363",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ........ ",
|
||||
" .XXXXXX.o ",
|
||||
" .XXXXXX.o ",
|
||||
" ...XXXXXX.o ",
|
||||
" .O.XXXXXX.o ",
|
||||
" ......OO.XX..X.o ",
|
||||
" .OOOOOOOO.X..X.o ",
|
||||
" .OOOOOOOO.XXXX.o ",
|
||||
" ......OO.XXXXX.o ",
|
||||
" .O.XXXXX+.o ",
|
||||
" ...XXXX++.o ",
|
||||
" .XX++@#.o ",
|
||||
" .X+@##$.o ",
|
||||
" ........o ",
|
||||
" ooooooo ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_find_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"O s iconGray2 m none c #bdbdbd",
|
||||
"+ s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ......... ",
|
||||
" .XXXXXXX.. ",
|
||||
" .XXXXXXX.O. ",
|
||||
" .XXXXXXX.... ",
|
||||
" .XXXXXXXXXX. ",
|
||||
" .XXXXXXX.... ",
|
||||
" .XXXXXX.OOOO. ",
|
||||
" .XXXXX.OXXOOO. ",
|
||||
" .XXXXX.OXOOOO. ",
|
||||
" .XXXXX.OOOOOO. ",
|
||||
" .XXXXX.OOOXOO. ",
|
||||
" .XXXXXX.OOOO.+ ",
|
||||
" .XXXXXXX....+.. ",
|
||||
" .XXXXXXXXXX.+... ",
|
||||
" ............+ .. ",
|
||||
" ++++++++++ ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_find_help_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
"o s iconGray2 m none c #bdbdbd",
|
||||
"O s iconColor2 m none c #FFFFFF",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" .....X ",
|
||||
" .. X..X ",
|
||||
" ..X ... ",
|
||||
" ..X .... ",
|
||||
" X.. .oOOo. ",
|
||||
" .oooOoo. ",
|
||||
" .OOOOoO. ",
|
||||
" ..oOOooo. ",
|
||||
" ...oOOo.X ",
|
||||
" ....X.. ",
|
||||
" ..X ... ",
|
||||
" ..X .. ",
|
||||
" ..X ",
|
||||
" XX ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_find_next_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s iconGray2 m none c #bdbdbd",
|
||||
"O m black c #880000",
|
||||
"+ s bottomShadowColor m black c #5D6069",
|
||||
"@ s iconColor3 m black c #FF0000",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ......... ",
|
||||
" .XXXXXXX.. ",
|
||||
" .XXXXXXX.o. ",
|
||||
" .XOXXXXX.... ",
|
||||
" +XOOXXXXXXX. ",
|
||||
"OOOOO@OXXX.... ",
|
||||
"O@@@@@@OX.oooo. ",
|
||||
"O@@@@@@@OoXXooo. ",
|
||||
"O@@@@@@O.oXoooo. ",
|
||||
"OOOOO@OX.oooooo. ",
|
||||
" +XOOXX.oooXoo. ",
|
||||
" .XOXXXX.oooo.+ ",
|
||||
" .XXXXXXX....+.. ",
|
||||
" .XXXXXXXXXX.+...",
|
||||
" ............+ ..",
|
||||
" ++++++++++ ",
|
||||
" "};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_find_prev_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s iconGray2 m none c #bdbdbd",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
"+ m black c #880000",
|
||||
"@ s iconColor3 m black c #FF0000",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ......... ",
|
||||
" .XXXXXXX.. ",
|
||||
" .XXXXXXX.o. ",
|
||||
" OX+XXXXX.... ",
|
||||
" o++XXXXXXXX. ",
|
||||
" +@+++++X.... ",
|
||||
" +@@@@@@+.oooo. ",
|
||||
"+@@@@@@@.oXXooo. ",
|
||||
" +@@@@@@.oXoooo. ",
|
||||
" +@++++.oooooo. ",
|
||||
" o++XXX.oooXoo. ",
|
||||
" OX+XXXX.oooo.O ",
|
||||
" .XXXXXXX....O.. ",
|
||||
" .XXXXXXXXXX.O...",
|
||||
" ............O ..",
|
||||
" OOOOOOOOOO ",
|
||||
" "};
|
||||
@@ -1,27 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_help_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 3 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" .....X ",
|
||||
" .. X..X ",
|
||||
" ..X ... ",
|
||||
" ..X ... ",
|
||||
" X.. X..X ",
|
||||
" ..X ",
|
||||
" .. ",
|
||||
" ..X ",
|
||||
" ..X ",
|
||||
" ",
|
||||
" ..X ",
|
||||
" ..X ",
|
||||
" ..X ",
|
||||
" XX ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,30 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_jump_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 6 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". m black c #888800",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
"o s iconColor6 m none c #FFFF00",
|
||||
"O s iconColor1 m black c #000000",
|
||||
"+ s topShadowColor m none c #DCDEE5",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .XooooooooooooOX",
|
||||
" .XoooooooooooooOX",
|
||||
".Xo+X+ooooooooooOX",
|
||||
".ooXOXooooooooooOX",
|
||||
"Xoo+X+ooooooooooOX",
|
||||
"XOooooooooooooooOX",
|
||||
" XOoooooooooooooOX",
|
||||
" XOOOOOOOOOOOOOOX",
|
||||
" XXXXXXXXXXXXXXX",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,33 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_load_session_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 9 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". m black c #880000",
|
||||
"X s iconColor3 m black c #FF0000",
|
||||
"o s iconColor1 m black c #000000",
|
||||
"O s iconColor2 m none c #FFFFFF",
|
||||
"+ s iconGray2 m none c #bdbdbd",
|
||||
"@ s iconGray5 m black c #737373",
|
||||
"# s iconGray4 m none c #949494",
|
||||
"$ s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" .. ",
|
||||
" .XX. ",
|
||||
" .XXXX. ",
|
||||
" ...XX... ",
|
||||
" .XX. ",
|
||||
" .XX. ",
|
||||
" .XX. ",
|
||||
" .... ",
|
||||
" ooooooooooooo ",
|
||||
" oOOOOOOOOOO++@o ",
|
||||
" oOOOOOOOOOOOO#@o ",
|
||||
" oO+++++++++XX#@o ",
|
||||
" oO+++++++++++#@o ",
|
||||
" oOoooooooooo+#@o$",
|
||||
" oOOOOOOOOOOO+#@o$",
|
||||
" o+###########@o$ ",
|
||||
" ooooooooooooo$ ",
|
||||
" $$$$$$$$$$$ "};
|
||||
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_macro_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
/* pixels */
|
||||
" ..X ",
|
||||
" .oo.X ",
|
||||
" .oooo.X ",
|
||||
" .oooo.X ",
|
||||
" .oo.XX ",
|
||||
" ..XX ",
|
||||
" .....o.X ",
|
||||
" .ooooooo.X ",
|
||||
" .oooooooo.X ",
|
||||
" .....ooo.X ",
|
||||
" ..ooo.X ",
|
||||
" .ooooo.X ",
|
||||
" .ooooooo.X ",
|
||||
" .ooo...ooo.X ",
|
||||
" .ooo.XX..ooo.X ",
|
||||
" .oo.XX X.oo.X ",
|
||||
" ...X X...X ",
|
||||
" XX XXX "};
|
||||
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_make_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .. ..... ",
|
||||
" .XX.XXXXX. ",
|
||||
" .XXXXXXXXX. ",
|
||||
" .Xo.XXXX..X. ",
|
||||
" .. ....o .. ",
|
||||
" ... . ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ...o ",
|
||||
" ooo ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_maximize_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s topShadowColor m none c #DCDEE5",
|
||||
"X s iconColor1 m black c #000000",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .XXXXXXXXXXX ",
|
||||
" .X....X...oX ",
|
||||
" .X..oXXX..oXO ",
|
||||
" .X.oXXXXX.oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .X..XXXXX.oXO ",
|
||||
" .X...XXX..oXO ",
|
||||
" .XooooXooooXO ",
|
||||
" .XXXXXXXXXXXO ",
|
||||
" OOOOOOOOOO ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_maxwidth_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s topShadowColor m none c #DCDEE5",
|
||||
"X s iconColor1 m black c #000000",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
".XXXXXXXXXXXXXXXX ",
|
||||
".X.............oX ",
|
||||
".X..X........X.oXO",
|
||||
".X.XX........XXoXO",
|
||||
".XXXX........XXXXO",
|
||||
".X.XX........XXoXO",
|
||||
".X..X........X.oXO",
|
||||
".XooooooooooooooXO",
|
||||
".XXXXXXXXXXXXXXXXO",
|
||||
" OOOOOOOOOOOOOOO",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_minimize_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s topShadowColor m none c #DCDEE5",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ..... ",
|
||||
" ... ",
|
||||
" . ",
|
||||
" ",
|
||||
" X............. ",
|
||||
" X.XXXXXXXXXXo. ",
|
||||
" X.XXoXXXXXXXo.O ",
|
||||
" X.XXXXXXXXXXo.O ",
|
||||
" X.XXXXXXXXXoo.O ",
|
||||
" X.ooooooooooo.O ",
|
||||
" X.............O ",
|
||||
" OOOOOOOOOOOO ",
|
||||
" ",
|
||||
" . ",
|
||||
" ... ",
|
||||
" ..... ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_minwidth_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s topShadowColor m none c #DCDEE5",
|
||||
"X s iconColor1 m black c #000000",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" .XXXXXX ",
|
||||
" .X...oX ",
|
||||
" .X...oX ",
|
||||
" .X...oX ",
|
||||
" X .X.o.oXO X ",
|
||||
" XX .X...oXO XX ",
|
||||
" XXX .X...oXO XXX ",
|
||||
" XX .X...oXO XX ",
|
||||
" X .X...oXO X ",
|
||||
" .X...oXO ",
|
||||
" .X..ooXO ",
|
||||
" .XooooXO ",
|
||||
" .XXXXXXO ",
|
||||
" OOOOO ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_new_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s bottomShadowColor m black c #5D6069",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s iconColor1 m black c #000000",
|
||||
"O s topShadowColor m none c #DCDEE5",
|
||||
/* pixels */
|
||||
" . .X. ",
|
||||
" X. .X. X.",
|
||||
" ooooooo.X.oXoX.X",
|
||||
" oOOOOOOOoXXXXo..",
|
||||
" oOOOOOOOXXXXXXXX",
|
||||
" oOOXOOOOoXoXXo..",
|
||||
" oOXXOOO.OXoXoX ",
|
||||
" oOOOOO.OOXoX..X ",
|
||||
" oOOOOOOOOXoX. .X",
|
||||
" oOOOOOOOOXo. .",
|
||||
" oOOOOOOOOXo. ",
|
||||
" oOOOOOOOOXo. ",
|
||||
" oOOOOOOOOXo. ",
|
||||
" oOOOOOOOOXo. ",
|
||||
" oOOOOOOOOXo. ",
|
||||
" oXXXXXXXXXo. ",
|
||||
" ooooooooooo. ",
|
||||
" .......... "};
|
||||
@@ -1,32 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_new_session_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 8 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s bottomShadowColor m black c #5D6069",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s iconColor1 m black c #000000",
|
||||
"O s iconGray2 m none c #bdbdbd",
|
||||
"+ s iconGray5 m black c #737373",
|
||||
"@ s iconGray4 m none c #949494",
|
||||
"# s iconColor3 m black c #FF0000",
|
||||
/* pixels */
|
||||
" . .X. . ",
|
||||
" . oXo . ",
|
||||
" ..oXXXo.. ",
|
||||
" XXXXXXXXX ",
|
||||
" ..oXXXo.. ",
|
||||
" . oXo . ",
|
||||
" . .X. . ",
|
||||
" . ",
|
||||
" ooooooooooooo ",
|
||||
" oXXXXXXXXXXOO+o ",
|
||||
" oXXXXXXXXXXXX@+o ",
|
||||
" oXOOOOOOOOO##@+o ",
|
||||
" oXOOOOOOOOOOO@+o ",
|
||||
" oXooooooooooO@+o.",
|
||||
" oXXXXXXXXXXXO@+o.",
|
||||
" oO@@@@@@@@@@@+o. ",
|
||||
" ooooooooooooo. ",
|
||||
" ........... "};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_open_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s bottomShadowColor m black c #5D6069",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s iconGray1 m none c #dedede",
|
||||
"+ s iconGray5 m black c #737373",
|
||||
"@ s iconGray3 m none c #adadad",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .........X ",
|
||||
" .oooooo.o.X ",
|
||||
" .oooooo.oo.X ",
|
||||
" .oooooo....X ",
|
||||
" ...ooooooooo... ",
|
||||
" .O.OOOOOOOOo.+. ",
|
||||
".............O.+.X",
|
||||
".oooooooooooo..+.X",
|
||||
" .o@@@@@@@@@@+.+.X",
|
||||
" .o@@@@@@@@@@@.+.X",
|
||||
" .o@@@@@@@@@@+..X",
|
||||
" .o@@@@@@@@@@@..X",
|
||||
" .o+++++++++++.X",
|
||||
" ..............X",
|
||||
" XXXXXXXXXXXXX",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_paste_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconGray5 m black c #737373",
|
||||
"o s iconGray2 m none c #bdbdbd",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
"+ s iconGray4 m none c #949494",
|
||||
"@ s iconColor2 m none c #FFFFFF",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .... ",
|
||||
" XXXX ",
|
||||
" ...oooo...O ",
|
||||
" .o+......++.O ",
|
||||
" .o+++++++++.O ",
|
||||
" .o+++.......... ",
|
||||
" .o+++.@@@@@@@@. ",
|
||||
" .o+++.@......@.O ",
|
||||
" .o+++.@@@@@@@@.O ",
|
||||
" .o+++.@@@@@@@@.O ",
|
||||
" .o+++.@......@.O ",
|
||||
" .o+++.@@@@@@@@.O ",
|
||||
" .....@..@@@@@.O ",
|
||||
" OOO.@@@@@@@@.O ",
|
||||
" ..........O ",
|
||||
" OOOOOOOOO ",
|
||||
" "};
|
||||
@@ -1,31 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_print_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 7 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s iconGray2 m none c #bdbdbd",
|
||||
"O s iconGray5 m black c #737373",
|
||||
"+ s bottomShadowColor m black c #5D6069",
|
||||
"@ c #FF1144",
|
||||
/* pixels */
|
||||
" ....... ",
|
||||
" .XXXXX.. ",
|
||||
" .XXXXX.X. ",
|
||||
" .XXXXX.... ",
|
||||
" .XXXXXXXX. ",
|
||||
" .XXXXXXXX. ",
|
||||
" ..XXXXXXXX.. ",
|
||||
" .XXXXXXXX.O ",
|
||||
"................ ",
|
||||
".XXXXXXXXXXXXXO. ",
|
||||
".X@@ooooooooooO.O ",
|
||||
".XooooooooooooO.O ",
|
||||
".XooooooooooooO.O ",
|
||||
"................O ",
|
||||
" .OOOOOOOOOOOO.OO ",
|
||||
" ..............O ",
|
||||
" OOOOOOOOOOOOO ",
|
||||
" "};
|
||||
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_redo_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ..... .. ",
|
||||
" ..XXXXX..X.o ",
|
||||
" .XXXXXXXXXX.o ",
|
||||
" .XX....XXXX.o ",
|
||||
" .XX.ooo.XXXX.o ",
|
||||
" .XX.o .XXXXX.o ",
|
||||
" .XX.o .......o ",
|
||||
" .XX.o ooo.ooo ",
|
||||
" .XX.o .X. ",
|
||||
" .XX.....XX.o ",
|
||||
" .XXXXXXXX.oo ",
|
||||
" ..XXXXX.oo ",
|
||||
" .....oo ",
|
||||
" ooooo ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,33 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_replace_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 9 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
"+ s iconGray4 m none c #949494",
|
||||
"@ s iconColor3 m black c #FF0000",
|
||||
"# s iconGray3 m none c #adadad",
|
||||
"$ s iconGray1 m none c #dedede",
|
||||
"% s iconGray7 m black c #424242",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ......... ",
|
||||
" .XXXXXXX.. ",
|
||||
" .X..XXXX.X. ",
|
||||
" oX..oXXX.... ",
|
||||
" o.X..XXXXXX. ",
|
||||
" +....oXXXXX.o ",
|
||||
" .XXX..XXXXX.o ",
|
||||
" ..oXo...XXXX.o ",
|
||||
" +XXXXXXXXXX+o ",
|
||||
" .X@@XX@XXX.... ",
|
||||
" .Xo@XX@@XX.#$.. ",
|
||||
" .XXo@@@@@X.... ",
|
||||
" .XXXXX@@XX.#$.. ",
|
||||
" .XXXXX@XXX.#$.. ",
|
||||
" ......o..%.... ",
|
||||
" ooooooooo ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_save_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconGray2 m none c #bdbdbd",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .............. ",
|
||||
" .X.oooooooo.o. ",
|
||||
" .X.oooooooo...O ",
|
||||
" .X.oooooooo.X.O ",
|
||||
" .X.oooooooo.X.O ",
|
||||
" .X.oooooooo.X.O ",
|
||||
" .X.oooooooo.X.O ",
|
||||
" .XX........XX.O ",
|
||||
" .XXXXXXXXXXXX.O ",
|
||||
" .XX.........X.O ",
|
||||
" .XX......oo.X.O ",
|
||||
" .XX......oo.X.O ",
|
||||
" .XX......oo.X.O ",
|
||||
" .............O ",
|
||||
" OOOOOOOOOOOOO ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_save_all_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s iconColor1 m black c #000000",
|
||||
". s none m none c none",
|
||||
"X s iconGray2 m none c #bdbdbd",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ....",
|
||||
" X oooooooo o ....",
|
||||
" X oooooooo O...",
|
||||
" X .",
|
||||
" X X oooooooo o .",
|
||||
" X X oooooooo O",
|
||||
" X X oooooooo X O",
|
||||
" XX X oooooooo X O",
|
||||
" XX X oooooooo X O",
|
||||
" XX X oooooooo X O",
|
||||
" XX XX XX O",
|
||||
" XX XXXXXXXXXXXX O",
|
||||
" XX XX X O",
|
||||
". XX oo X O",
|
||||
"..O XX oo X O",
|
||||
"... XX oo X O",
|
||||
".... O",
|
||||
".....OOOOOOOOOOOO."};
|
||||
@@ -1,33 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_save_session_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 9 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". m black c #880000",
|
||||
"X s iconColor3 m black c #FF0000",
|
||||
"o s iconColor1 m black c #000000",
|
||||
"O s iconColor2 m none c #FFFFFF",
|
||||
"+ s iconGray2 m none c #bdbdbd",
|
||||
"@ s iconGray5 m black c #737373",
|
||||
"# s iconGray4 m none c #949494",
|
||||
"$ s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" .... ",
|
||||
" .XX. ",
|
||||
" .XX. ",
|
||||
" .XX. ",
|
||||
" ...XX... ",
|
||||
" .XXXX. ",
|
||||
" .XX. ",
|
||||
" .. ",
|
||||
" ooooooooooooo ",
|
||||
" oOOOOOOOOOO++@o ",
|
||||
" oOOOOOOOOOOOO#@o ",
|
||||
" oO+++++++++XX#@o ",
|
||||
" oO+++++++++++#@o ",
|
||||
" oOoooooooooo+#@o$",
|
||||
" oOOOOOOOOOOO+#@o$",
|
||||
" o+###########@o$ ",
|
||||
" ooooooooooooo$ ",
|
||||
" $$$$$$$$$$$ "};
|
||||
@@ -1,30 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_shell_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 6 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconGray6 m black c #636363",
|
||||
"o s iconGray2 m none c #bdbdbd",
|
||||
"O s iconColor2 m none c #FFFFFF",
|
||||
"+ s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ... ... ",
|
||||
" .XoXXXoX. ",
|
||||
" .oOoX.XoOo. ",
|
||||
" .XoOoXoOoX. ",
|
||||
" .Xoooo.ooooX. ",
|
||||
" .Xo.XOoXoOX.oX. ",
|
||||
" .oooXOo.oOXooo. ",
|
||||
" .oOo.XOXOX.oOo.+ ",
|
||||
" .XoOo.o.o.oOoX.+ ",
|
||||
" .XooXoooXoOX.+ ",
|
||||
" .XoooOoooX.+ ",
|
||||
" .ooOOOoo.+ ",
|
||||
" ..XoooX..+ ",
|
||||
" .XoooooooX.+ ",
|
||||
" ...........+ ",
|
||||
" ++++++++++ ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_split_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s topShadowColor m none c #DCDEE5",
|
||||
"X s iconColor1 m black c #000000",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .XXXXXXXXXXX ",
|
||||
" .X........oX ",
|
||||
" .X..o.....oXO ",
|
||||
" .X.oo.....oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .XoooooooooXO ",
|
||||
" .XXXXXXXXXXXO ",
|
||||
" .XOOOOOOOOoXO ",
|
||||
" .X..o.....oXO ",
|
||||
" .X.oo.....oXO ",
|
||||
" .X........oXO ",
|
||||
" .X........oXO ",
|
||||
" .XoooooooooXO ",
|
||||
" .XXXXXXXXXXXO ",
|
||||
" OOOOOOOOOO ",
|
||||
" "};
|
||||
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_undo_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 4 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s iconColor1 m black c #000000",
|
||||
"X s iconColor2 m none c #FFFFFF",
|
||||
"o s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" .. ..... ",
|
||||
" .X..XXXXX.. ",
|
||||
" .XXXXXXXXXX. ",
|
||||
" .XXXX....XX.o ",
|
||||
" .XXXX.ooo.XX. ",
|
||||
" .XXXXX. .XX.o ",
|
||||
" .......o .XX.o ",
|
||||
" o.ooooo .XX.o ",
|
||||
" .X. .XX.o ",
|
||||
" .XX.....XX.oo ",
|
||||
" .XXXXXXXX.o ",
|
||||
" .XXXXX..oo ",
|
||||
" .....ooo ",
|
||||
" ooooo ",
|
||||
" ",
|
||||
" "};
|
||||
@@ -1,29 +0,0 @@
|
||||
/* XPM */
|
||||
static char * tb_vsplit_xpm[] = {
|
||||
/* width height ncolors cpp [x_hot y_hot] */
|
||||
"18 18 5 1 0 0",
|
||||
/* colors */
|
||||
" s none m none c none",
|
||||
". s topShadowColor m none c #DCDEE5",
|
||||
"X s iconColor1 m black c #000000",
|
||||
"o s iconColor2 m none c #FFFFFF",
|
||||
"O s bottomShadowColor m black c #5D6069",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .XXXXXXXXXXXXXX ",
|
||||
" .X....oXO....oX ",
|
||||
" .X..o.oXO..o.oXO ",
|
||||
" .X.oo.oXO.oo.oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .X....oXO....oXO ",
|
||||
" .XoooooXooooooXO ",
|
||||
" .XXXXXXXXXXXXXXO ",
|
||||
" OOOOOOOOOOOOO ",
|
||||
" "};
|
||||
Binary file not shown.
@@ -1,22 +0,0 @@
|
||||
The autoload directory is for standard Vim autoload scripts.
|
||||
|
||||
These are functions used by plugins and for general use. They will be loaded
|
||||
automatically when the function is invoked. See ":help autoload".
|
||||
|
||||
gzip.vim for editing compressed files
|
||||
netrw*.vim browsing (remote) directories and editing remote files
|
||||
tar.vim browsing tar files
|
||||
zip.vim browsing zip files
|
||||
paste.vim common code for mswin.vim, menu.vim and macmap.vim
|
||||
spellfile.vim downloading of a missing spell file
|
||||
|
||||
Omni completion files:
|
||||
ccomplete.vim C
|
||||
csscomplete.vim HTML / CSS
|
||||
htmlcomplete.vim HTML
|
||||
javascriptcomplete.vim Javascript
|
||||
phpcomplete.vim PHP
|
||||
pythoncomplete.vim Python
|
||||
rubycomplete.vim Ruby
|
||||
syntaxcomplete.vim from syntax highlighting
|
||||
xmlcomplete.vim XML (uses files in the xml directory)
|
||||
@@ -1,630 +0,0 @@
|
||||
"------------------------------------------------------------------------------
|
||||
" Description: Perform Ada specific completion & tagging.
|
||||
" Language: Ada (2005)
|
||||
" $Id$
|
||||
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
|
||||
" Taylor Venable <taylor@metasyntax.net>
|
||||
" Neil Bird <neil@fnxweb.com>
|
||||
" Ned Okie <nokie@radford.edu>
|
||||
" $Author$
|
||||
" $Date$
|
||||
" Version: 4.6
|
||||
" $Revision$
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $
|
||||
" History: 24.05.2006 MK Unified Headers
|
||||
" 26.05.2006 MK ' should not be in iskeyword.
|
||||
" 16.07.2006 MK Ada-Mode as vim-ball
|
||||
" 02.10.2006 MK Better folding.
|
||||
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||
" autoload
|
||||
" 05.11.2006 MK Bram suggested to save on spaces
|
||||
" 08.07.2007 TV fix mapleader problems.
|
||||
" 09.05.2007 MK Session just won't work no matter how much
|
||||
" tweaking is done
|
||||
" 19.09.2007 NO still some mapleader problems
|
||||
" Help Page: ft-ada-functions
|
||||
"------------------------------------------------------------------------------
|
||||
|
||||
if version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
" Section: Constants {{{1
|
||||
"
|
||||
let g:ada#DotWordRegex = '\a\w*\(\_s*\.\_s*\a\w*\)*'
|
||||
let g:ada#WordRegex = '\a\w*'
|
||||
let g:ada#Comment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
||||
let g:ada#Keywords = []
|
||||
|
||||
" Section: g:ada#Keywords {{{1
|
||||
"
|
||||
" Section: add Ada keywords {{{2
|
||||
"
|
||||
for Item in ['abort', 'else', 'new', 'return', 'abs', 'elsif', 'not', 'reverse', 'abstract', 'end', 'null', 'accept', 'entry', 'select', 'access', 'exception', 'of', 'separate', 'aliased', 'exit', 'or', 'subtype', 'all', 'others', 'synchronized', 'and', 'for', 'out', 'array', 'function', 'overriding', 'tagged', 'at', 'task', 'generic', 'package', 'terminate', 'begin', 'goto', 'pragma', 'then', 'body', 'private', 'type', 'if', 'procedure', 'case', 'in', 'protected', 'until', 'constant', 'interface', 'use', 'is', 'raise', 'declare', 'range', 'when', 'delay', 'limited', 'record', 'while', 'delta', 'loop', 'rem', 'with', 'digits', 'renames', 'do', 'mod', 'requeue', 'xor']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'keyword',
|
||||
\ 'info': 'Ada keyword.',
|
||||
\ 'kind': 'k',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
|
||||
" Section: GNAT Project Files {{{3
|
||||
"
|
||||
if exists ('g:ada_with_gnat_project_files')
|
||||
for Item in ['project']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'keyword',
|
||||
\ 'info': 'GNAT projectfile keyword.',
|
||||
\ 'kind': 'k',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Section: add standart exception {{{2
|
||||
"
|
||||
for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'exception',
|
||||
\ 'info': 'Ada standart exception.',
|
||||
\ 'kind': 'x',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
|
||||
" Section: add GNAT exception {{{3
|
||||
"
|
||||
if exists ('g:ada_gnat_extensions')
|
||||
for Item in ['Assert_Failure']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'exception',
|
||||
\ 'info': 'GNAT exception.',
|
||||
\ 'kind': 'x',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Section: add Ada buildin types {{{2
|
||||
"
|
||||
for Item in ['Boolean', 'Integer', 'Natural', 'Positive', 'Float', 'Character', 'Wide_Character', 'Wide_Wide_Character', 'String', 'Wide_String', 'Wide_Wide_String', 'Duration']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'type',
|
||||
\ 'info': 'Ada buildin type.',
|
||||
\ 'kind': 't',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
|
||||
" Section: add GNAT buildin types {{{3
|
||||
"
|
||||
if exists ('g:ada_gnat_extensions')
|
||||
for Item in ['Short_Integer', 'Short_Short_Integer', 'Long_Integer', 'Long_Long_Integer', 'Short_Float', 'Short_Short_Float', 'Long_Float', 'Long_Long_Float']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'type',
|
||||
\ 'info': 'GNAT buildin type.',
|
||||
\ 'kind': 't',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Section: add Ada Attributes {{{2
|
||||
"
|
||||
for Item in ['''Access', '''Address', '''Adjacent', '''Aft', '''Alignment', '''Base', '''Bit_Order', '''Body_Version', '''Callable', '''Caller', '''Ceiling', '''Class', '''Component_Size', '''Compose', '''Constrained', '''Copy_Sign', '''Count', '''Definite', '''Delta', '''Denorm', '''Digits', '''Emax', '''Exponent', '''External_Tag', '''Epsilon', '''First', '''First_Bit', '''Floor', '''Fore', '''Fraction', '''Identity', '''Image', '''Input', '''Large', '''Last', '''Last_Bit', '''Leading_Part', '''Length', '''Machine', '''Machine_Emax', '''Machine_Emin', '''Machine_Mantissa', '''Machine_Overflows', '''Machine_Radix', '''Machine_Rounding', '''Machine_Rounds', '''Mantissa', '''Max', '''Max_Size_In_Storage_Elements', '''Min', '''Mod', '''Model', '''Model_Emin', '''Model_Epsilon', '''Model_Mantissa', '''Model_Small', '''Modulus', '''Output', '''Partition_ID', '''Pos', '''Position', '''Pred', '''Priority', '''Range', '''Read', '''Remainder', '''Round', '''Rounding', '''Safe_Emax', '''Safe_First', '''Safe_Large', '''Safe_Last', '''Safe_Small', '''Scale', '''Scaling', '''Signed_Zeros', '''Size', '''Small', '''Storage_Pool', '''Storage_Size', '''Stream_Size', '''Succ', '''Tag', '''Terminated', '''Truncation', '''Unbiased_Rounding', '''Unchecked_Access', '''Val', '''Valid', '''Value', '''Version', '''Wide_Image', '''Wide_Value', '''Wide_Wide_Image', '''Wide_Wide_Value', '''Wide_Wide_Width', '''Wide_Width', '''Width', '''Write']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'attribute',
|
||||
\ 'info': 'Ada attribute.',
|
||||
\ 'kind': 'a',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
|
||||
" Section: add GNAT Attributes {{{3
|
||||
"
|
||||
if exists ('g:ada_gnat_extensions')
|
||||
for Item in ['''Abort_Signal', '''Address_Size', '''Asm_Input', '''Asm_Output', '''AST_Entry', '''Bit', '''Bit_Position', '''Code_Address', '''Default_Bit_Order', '''Elaborated', '''Elab_Body', '''Elab_Spec', '''Emax', '''Enum_Rep', '''Epsilon', '''Fixed_Value', '''Has_Access_Values', '''Has_Discriminants', '''Img', '''Integer_Value', '''Machine_Size', '''Max_Interrupt_Priority', '''Max_Priority', '''Maximum_Alignment', '''Mechanism_Code', '''Null_Parameter', '''Object_Size', '''Passed_By_Reference', '''Range_Length', '''Storage_Unit', '''Target_Name', '''Tick', '''To_Address', '''Type_Class', '''UET_Address', '''Unconstrained_Array', '''Universal_Literal_String', '''Unrestricted_Access', '''VADS_Size', '''Value_Size', '''Wchar_T_Size', '''Word_Size']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'attribute',
|
||||
\ 'info': 'GNAT attribute.',
|
||||
\ 'kind': 'a',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Section: add Ada Pragmas {{{2
|
||||
"
|
||||
for Item in ['All_Calls_Remote', 'Assert', 'Assertion_Policy', 'Asynchronous', 'Atomic', 'Atomic_Components', 'Attach_Handler', 'Controlled', 'Convention', 'Detect_Blocking', 'Discard_Names', 'Elaborate', 'Elaborate_All', 'Elaborate_Body', 'Export', 'Import', 'Inline', 'Inspection_Point', 'Interface (Obsolescent)', 'Interrupt_Handler', 'Interrupt_Priority', 'Linker_Options', 'List', 'Locking_Policy', 'Memory_Size (Obsolescent)', 'No_Return', 'Normalize_Scalars', 'Optimize', 'Pack', 'Page', 'Partition_Elaboration_Policy', 'Preelaborable_Initialization', 'Preelaborate', 'Priority', 'Priority_Specific_Dispatching', 'Profile', 'Pure', 'Queueing_Policy', 'Relative_Deadline', 'Remote_Call_Interface', 'Remote_Types', 'Restrictions', 'Reviewable', 'Shared (Obsolescent)', 'Shared_Passive', 'Storage_Size', 'Storage_Unit (Obsolescent)', 'Suppress', 'System_Name (Obsolescent)', 'Task_Dispatching_Policy', 'Unchecked_Union', 'Unsuppress', 'Volatile', 'Volatile_Components']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'pragma',
|
||||
\ 'info': 'Ada pragma.',
|
||||
\ 'kind': 'p',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
|
||||
" Section: add GNAT Pragmas {{{3
|
||||
"
|
||||
if exists ('g:ada_gnat_extensions')
|
||||
for Item in ['Abort_Defer', 'Ada_83', 'Ada_95', 'Ada_05', 'Annotate', 'Ast_Entry', 'C_Pass_By_Copy', 'Comment', 'Common_Object', 'Compile_Time_Warning', 'Complex_Representation', 'Component_Alignment', 'Convention_Identifier', 'CPP_Class', 'CPP_Constructor', 'CPP_Virtual', 'CPP_Vtable', 'Debug', 'Elaboration_Checks', 'Eliminate', 'Export_Exception', 'Export_Function', 'Export_Object', 'Export_Procedure', 'Export_Value', 'Export_Valued_Procedure', 'Extend_System', 'External', 'External_Name_Casing', 'Finalize_Storage_Only', 'Float_Representation', 'Ident', 'Import_Exception', 'Import_Function', 'Import_Object', 'Import_Procedure', 'Import_Valued_Procedure', 'Initialize_Scalars', 'Inline_Always', 'Inline_Generic', 'Interface_Name', 'Interrupt_State', 'Keep_Names', 'License', 'Link_With', 'Linker_Alias', 'Linker_Section', 'Long_Float', 'Machine_Attribute', 'Main_Storage', 'Obsolescent', 'Passive', 'Polling', 'Profile_Warnings', 'Propagate_Exceptions', 'Psect_Object', 'Pure_Function', 'Restriction_Warnings', 'Source_File_Name', 'Source_File_Name_Project', 'Source_Reference', 'Stream_Convert', 'Style_Checks', 'Subtitle', 'Suppress_All', 'Suppress_Exception_Locations', 'Suppress_Initialization', 'Task_Info', 'Task_Name', 'Task_Storage', 'Thread_Body', 'Time_Slice', 'Title', 'Unimplemented_Unit', 'Universal_Data', 'Unreferenced', 'Unreserve_All_Interrupts', 'Use_VADS_Size', 'Validity_Checks', 'Warnings', 'Weak_External']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'pragma',
|
||||
\ 'info': 'GNAT pragma.',
|
||||
\ 'kind': 'p',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
endif
|
||||
" 1}}}
|
||||
|
||||
" Section: g:ada#Ctags_Kinds {{{1
|
||||
"
|
||||
let g:ada#Ctags_Kinds = {
|
||||
\ 'P': ["packspec", "package specifications"],
|
||||
\ 'p': ["package", "packages"],
|
||||
\ 'T': ["typespec", "type specifications"],
|
||||
\ 't': ["type", "types"],
|
||||
\ 'U': ["subspec", "subtype specifications"],
|
||||
\ 'u': ["subtype", "subtypes"],
|
||||
\ 'c': ["component", "record type components"],
|
||||
\ 'l': ["literal", "enum type literals"],
|
||||
\ 'V': ["varspec", "variable specifications"],
|
||||
\ 'v': ["variable", "variables"],
|
||||
\ 'f': ["formal", "generic formal parameters"],
|
||||
\ 'n': ["constant", "constants"],
|
||||
\ 'x': ["exception", "user defined exceptions"],
|
||||
\ 'R': ["subprogspec", "subprogram specifications"],
|
||||
\ 'r': ["subprogram", "subprograms"],
|
||||
\ 'K': ["taskspec", "task specifications"],
|
||||
\ 'k': ["task", "tasks"],
|
||||
\ 'O': ["protectspec", "protected data specifications"],
|
||||
\ 'o': ["protected", "protected data"],
|
||||
\ 'E': ["entryspec", "task/protected data entry specifications"],
|
||||
\ 'e': ["entry", "task/protected data entries"],
|
||||
\ 'b': ["label", "labels"],
|
||||
\ 'i': ["identifier", "loop/declare identifiers"],
|
||||
\ 'a': ["autovar", "automatic variables"],
|
||||
\ 'y': ["annon", "loops and blocks with no identifier"]}
|
||||
|
||||
" Section: ada#Word (...) {{{1
|
||||
"
|
||||
" Extract current Ada word across multiple lines
|
||||
" AdaWord ([line, column])\
|
||||
"
|
||||
function ada#Word (...)
|
||||
if a:0 > 1
|
||||
let l:Line_Nr = a:1
|
||||
let l:Column_Nr = a:2 - 1
|
||||
else
|
||||
let l:Line_Nr = line('.')
|
||||
let l:Column_Nr = col('.') - 1
|
||||
endif
|
||||
|
||||
let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
|
||||
|
||||
" Cope with tag searching for items in comments; if we are, don't loop
|
||||
" backards looking for previous lines
|
||||
if l:Column_Nr > strlen(l:Line)
|
||||
" We were in a comment
|
||||
let l:Line = getline(l:Line_Nr)
|
||||
let l:Search_Prev_Lines = 0
|
||||
else
|
||||
let l:Search_Prev_Lines = 1
|
||||
endif
|
||||
|
||||
" Go backwards until we find a match (Ada ID) that *doesn't* include our
|
||||
" location - i.e., the previous ID. This is because the current 'correct'
|
||||
" match will toggle matching/not matching as we traverse characters
|
||||
" backwards. Thus, we have to find the previous unrelated match, exclude
|
||||
" it, then use the next full match (ours).
|
||||
" Remember to convert vim column 'l:Column_Nr' [1..n] to string offset [0..(n-1)]
|
||||
" ... but start, here, one after the required char.
|
||||
let l:New_Column = l:Column_Nr + 1
|
||||
while 1
|
||||
let l:New_Column = l:New_Column - 1
|
||||
if l:New_Column < 0
|
||||
" Have to include previous l:Line from file
|
||||
let l:Line_Nr = l:Line_Nr - 1
|
||||
if l:Line_Nr < 1 || !l:Search_Prev_Lines
|
||||
" Start of file or matching in a comment
|
||||
let l:Line_Nr = 1
|
||||
let l:New_Column = 0
|
||||
let l:Our_Match = match (l:Line, g:ada#WordRegex )
|
||||
break
|
||||
endif
|
||||
" Get previous l:Line, and prepend it to our search string
|
||||
let l:New_Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
|
||||
let l:New_Column = strlen (l:New_Line) - 1
|
||||
let l:Column_Nr = l:Column_Nr + l:New_Column
|
||||
let l:Line = l:New_Line . l:Line
|
||||
endif
|
||||
" Check to see if this is a match excluding 'us'
|
||||
let l:Match_End = l:New_Column +
|
||||
\ matchend (strpart (l:Line,l:New_Column), g:ada#WordRegex ) - 1
|
||||
if l:Match_End >= l:New_Column &&
|
||||
\ l:Match_End < l:Column_Nr
|
||||
" Yes
|
||||
let l:Our_Match = l:Match_End+1 +
|
||||
\ match (strpart (l:Line,l:Match_End+1), g:ada#WordRegex )
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Got anything?
|
||||
if l:Our_Match < 0
|
||||
return ''
|
||||
else
|
||||
let l:Line = strpart (l:Line, l:Our_Match)
|
||||
endif
|
||||
|
||||
" Now simply add further lines until the match gets no bigger
|
||||
let l:Match_String = matchstr (l:Line, g:ada#WordRegex)
|
||||
let l:Last_Line = line ('$')
|
||||
let l:Line_Nr = line ('.') + 1
|
||||
while l:Line_Nr <= l:Last_Line
|
||||
let l:Last_Match = l:Match_String
|
||||
let l:Line = l:Line .
|
||||
\ substitute (getline (l:Line_Nr), g:ada#Comment, '', '')
|
||||
let l:Match_String = matchstr (l:Line, g:ada#WordRegex)
|
||||
if l:Match_String == l:Last_Match
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Strip whitespace & return
|
||||
return substitute (l:Match_String, '\s\+', '', 'g')
|
||||
endfunction ada#Word
|
||||
|
||||
" Section: ada#List_Tag (...) {{{1
|
||||
"
|
||||
" List tags in quickfix window
|
||||
"
|
||||
function ada#List_Tag (...)
|
||||
if a:0 > 1
|
||||
let l:Tag_Word = ada#Word (a:1, a:2)
|
||||
elseif a:0 > 0
|
||||
let l:Tag_Word = a:1
|
||||
else
|
||||
let l:Tag_Word = ada#Word ()
|
||||
endif
|
||||
|
||||
echo "Searching for" l:Tag_Word
|
||||
|
||||
let l:Pattern = '^' . l:Tag_Word . '$'
|
||||
let l:Tag_List = taglist (l:Pattern)
|
||||
let l:Error_List = []
|
||||
"
|
||||
" add symbols
|
||||
"
|
||||
for Tag_Item in l:Tag_List
|
||||
if l:Tag_Item['kind'] == ''
|
||||
let l:Tag_Item['kind'] = 's'
|
||||
endif
|
||||
|
||||
let l:Error_List += [
|
||||
\ l:Tag_Item['filename'] . '|' .
|
||||
\ l:Tag_Item['cmd'] . '|' .
|
||||
\ l:Tag_Item['kind'] . "\t" .
|
||||
\ l:Tag_Item['name'] ]
|
||||
endfor
|
||||
set errorformat=%f\|%l\|%m
|
||||
cexpr l:Error_List
|
||||
cwindow
|
||||
endfunction ada#List_Tag
|
||||
|
||||
" Section: ada#Jump_Tag (Word, Mode) {{{1
|
||||
"
|
||||
" Word tag - include '.' and if Ada make uppercase
|
||||
"
|
||||
function ada#Jump_Tag (Word, Mode)
|
||||
if a:Word == ''
|
||||
" Get current word
|
||||
let l:Word = ada#Word()
|
||||
if l:Word == ''
|
||||
throw "NOT_FOUND: no identifier found."
|
||||
endif
|
||||
else
|
||||
let l:Word = a:Word
|
||||
endif
|
||||
|
||||
echo "Searching for " . l:Word
|
||||
|
||||
try
|
||||
execute a:Mode l:Word
|
||||
catch /.*:E426:.*/
|
||||
let ignorecase = &ignorecase
|
||||
set ignorecase
|
||||
execute a:Mode l:Word
|
||||
let &ignorecase = ignorecase
|
||||
endtry
|
||||
|
||||
return
|
||||
endfunction ada#Jump_Tag
|
||||
|
||||
" Section: ada#Insert_Backspace () {{{1
|
||||
"
|
||||
" Backspace at end of line after auto-inserted commentstring '-- ' wipes it
|
||||
"
|
||||
function ada#Insert_Backspace ()
|
||||
let l:Line = getline ('.')
|
||||
if col ('.') > strlen (l:Line) &&
|
||||
\ match (l:Line, '-- $') != -1 &&
|
||||
\ match (&comments,'--') != -1
|
||||
return "\<bs>\<bs>\<bs>"
|
||||
else
|
||||
return "\<bs>"
|
||||
endif
|
||||
|
||||
return
|
||||
endfunction ada#InsertBackspace
|
||||
|
||||
" Section: Insert Completions {{{1
|
||||
"
|
||||
" Section: ada#User_Complete(findstart, base) {{{2
|
||||
"
|
||||
" This function is used for the 'complete' option.
|
||||
"
|
||||
function! ada#User_Complete(findstart, base)
|
||||
if a:findstart == 1
|
||||
"
|
||||
" locate the start of the word
|
||||
"
|
||||
let line = getline ('.')
|
||||
let start = col ('.') - 1
|
||||
while start > 0 && line[start - 1] =~ '\i\|'''
|
||||
let start -= 1
|
||||
endwhile
|
||||
return start
|
||||
else
|
||||
"
|
||||
" look up matches
|
||||
"
|
||||
let l:Pattern = '^' . a:base . '.*$'
|
||||
"
|
||||
" add keywords
|
||||
"
|
||||
for Tag_Item in g:ada#Keywords
|
||||
if l:Tag_Item['word'] =~? l:Pattern
|
||||
if complete_add (l:Tag_Item) == 0
|
||||
return []
|
||||
endif
|
||||
if complete_check ()
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
return []
|
||||
endif
|
||||
endfunction ada#User_Complete
|
||||
|
||||
" Section: ada#Completion (cmd) {{{2
|
||||
"
|
||||
" Word completion (^N/^R/^X^]) - force '.' inclusion
|
||||
function ada#Completion (cmd)
|
||||
set iskeyword+=46
|
||||
return a:cmd . "\<C-R>=ada#Completion_End ()\<CR>"
|
||||
endfunction ada#Completion
|
||||
|
||||
" Section: ada#Completion_End () {{{2
|
||||
"
|
||||
function ada#Completion_End ()
|
||||
set iskeyword-=46
|
||||
return ''
|
||||
endfunction ada#Completion_End
|
||||
|
||||
" Section: ada#Create_Tags {{{1
|
||||
"
|
||||
function ada#Create_Tags (option)
|
||||
if a:option == 'file'
|
||||
let l:Filename = fnamemodify (bufname ('%'), ':p')
|
||||
elseif a:option == 'dir'
|
||||
let l:Filename =
|
||||
\ fnamemodify (bufname ('%'), ':p:h') . "*.ada " .
|
||||
\ fnamemodify (bufname ('%'), ':p:h') . "*.adb " .
|
||||
\ fnamemodify (bufname ('%'), ':p:h') . "*.ads"
|
||||
else
|
||||
let l:Filename = a:option
|
||||
endif
|
||||
execute '!ctags --excmd=number ' . l:Filename
|
||||
endfunction ada#Create_Tags
|
||||
|
||||
" Section: ada#Switch_Session {{{1
|
||||
"
|
||||
function ada#Switch_Session (New_Session)
|
||||
"
|
||||
" you should not save to much date into the seession since they will
|
||||
" be sourced
|
||||
"
|
||||
let l:sessionoptions=&sessionoptions
|
||||
|
||||
try
|
||||
set sessionoptions=buffers,curdir,folds,globals,resize,slash,tabpages,tabpages,unix,winpos,winsize
|
||||
|
||||
if a:New_Session != v:this_session
|
||||
"
|
||||
" We actualy got a new session - otherwise there
|
||||
" is nothing to do.
|
||||
"
|
||||
if strlen (v:this_session) > 0
|
||||
execute 'mksession! ' . v:this_session
|
||||
endif
|
||||
|
||||
let v:this_session = a:New_Session
|
||||
|
||||
"if filereadable (v:this_session)
|
||||
"execute 'source ' . v:this_session
|
||||
"endif
|
||||
|
||||
augroup ada_session
|
||||
autocmd!
|
||||
autocmd VimLeavePre * execute 'mksession! ' . v:this_session
|
||||
augroup END
|
||||
|
||||
"if exists ("g:Tlist_Auto_Open") && g:Tlist_Auto_Open
|
||||
"TlistOpen
|
||||
"endif
|
||||
|
||||
endif
|
||||
finally
|
||||
let &sessionoptions=l:sessionoptions
|
||||
endtry
|
||||
|
||||
return
|
||||
endfunction ada#Switch_Session
|
||||
|
||||
" Section: GNAT Pretty Printer folding {{{1
|
||||
"
|
||||
if exists('g:ada_folding') && g:ada_folding[0] == 'g'
|
||||
"
|
||||
" Lines consisting only of ')' ';' are due to a gnat pretty bug and
|
||||
" have the same level as the line above (can't happen in the first
|
||||
" line).
|
||||
"
|
||||
let s:Fold_Collate = '^\([;)]*$\|'
|
||||
|
||||
"
|
||||
" some lone statements are folded with the line above
|
||||
"
|
||||
if stridx (g:ada_folding, 'i') >= 0
|
||||
let s:Fold_Collate .= '\s\+\<is\>$\|'
|
||||
endif
|
||||
if stridx (g:ada_folding, 'b') >= 0
|
||||
let s:Fold_Collate .= '\s\+\<begin\>$\|'
|
||||
endif
|
||||
if stridx (g:ada_folding, 'p') >= 0
|
||||
let s:Fold_Collate .= '\s\+\<private\>$\|'
|
||||
endif
|
||||
if stridx (g:ada_folding, 'x') >= 0
|
||||
let s:Fold_Collate .= '\s\+\<exception\>$\|'
|
||||
endif
|
||||
|
||||
" We also handle empty lines and
|
||||
" comments here.
|
||||
let s:Fold_Collate .= '--\)'
|
||||
|
||||
function ada#Pretty_Print_Folding (Line) " {{{2
|
||||
let l:Text = getline (a:Line)
|
||||
|
||||
if l:Text =~ s:Fold_Collate
|
||||
"
|
||||
" fold with line above
|
||||
"
|
||||
let l:Level = "="
|
||||
elseif l:Text =~ '^\s\+('
|
||||
"
|
||||
" gnat outdents a line which stards with a ( by one characters so
|
||||
" that parameters which follow are aligned.
|
||||
"
|
||||
let l:Level = (indent (a:Line) + 1) / &shiftwidth
|
||||
else
|
||||
let l:Level = indent (a:Line) / &shiftwidth
|
||||
endif
|
||||
|
||||
return l:Level
|
||||
endfunction ada#Pretty_Print_Folding " }}}2
|
||||
endif
|
||||
|
||||
" Section: Options and Menus {{{1
|
||||
"
|
||||
" Section: ada#Switch_Syntax_Options {{{2
|
||||
"
|
||||
function ada#Switch_Syntax_Option (option)
|
||||
syntax off
|
||||
if exists ('g:ada_' . a:option)
|
||||
unlet g:ada_{a:option}
|
||||
echo a:option . 'now off'
|
||||
else
|
||||
let g:ada_{a:option}=1
|
||||
echo a:option . 'now on'
|
||||
endif
|
||||
syntax on
|
||||
endfunction ada#Switch_Syntax_Option
|
||||
|
||||
" Section: ada#Map_Menu {{{2
|
||||
"
|
||||
function ada#Map_Menu (Text, Keys, Command)
|
||||
if a:Keys[0] == ':'
|
||||
execute
|
||||
\ "50amenu " .
|
||||
\ "Ada." . escape(a:Text, ' ') .
|
||||
\ "<Tab>" . a:Keys .
|
||||
\ " :" . a:Command . "<CR>"
|
||||
execute
|
||||
\ "command -buffer " .
|
||||
\ a:Keys[1:] .
|
||||
\" :" . a:Command . "<CR>"
|
||||
elseif a:Keys[0] == '<'
|
||||
execute
|
||||
\ "50amenu " .
|
||||
\ "Ada." . escape(a:Text, ' ') .
|
||||
\ "<Tab>" . a:Keys .
|
||||
\ " :" . a:Command . "<CR>"
|
||||
execute
|
||||
\ "nnoremap <buffer> " .
|
||||
\ a:Keys .
|
||||
\" :" . a:Command . "<CR>"
|
||||
execute
|
||||
\ "inoremap <buffer> " .
|
||||
\ a:Keys .
|
||||
\" <C-O>:" . a:Command . "<CR>"
|
||||
else
|
||||
if exists("g:mapleader")
|
||||
let l:leader = g:mapleader
|
||||
else
|
||||
let l:leader = '\'
|
||||
endif
|
||||
execute
|
||||
\ "50amenu " .
|
||||
\ "Ada." . escape(a:Text, ' ') .
|
||||
\ "<Tab>" . escape(l:leader . "a" . a:Keys , '\') .
|
||||
\ " :" . a:Command . "<CR>"
|
||||
execute
|
||||
\ "nnoremap <buffer>" .
|
||||
\ escape(l:leader . "a" . a:Keys , '\') .
|
||||
\" :" . a:Command
|
||||
execute
|
||||
\ "inoremap <buffer>" .
|
||||
\ escape(l:leader . "a" . a:Keys , '\') .
|
||||
\" <C-O>:" . a:Command
|
||||
endif
|
||||
return
|
||||
endfunction
|
||||
|
||||
" Section: ada#Map_Popup {{{2
|
||||
"
|
||||
function ada#Map_Popup (Text, Keys, Command)
|
||||
if exists("g:mapleader")
|
||||
let l:leader = g:mapleader
|
||||
else
|
||||
let l:leader = '\'
|
||||
endif
|
||||
execute
|
||||
\ "50amenu " .
|
||||
\ "PopUp." . escape(a:Text, ' ') .
|
||||
\ "<Tab>" . escape(l:leader . "a" . a:Keys , '\') .
|
||||
\ " :" . a:Command . "<CR>"
|
||||
|
||||
call ada#Map_Menu (a:Text, a:Keys, a:Command)
|
||||
return
|
||||
endfunction ada#Map_Popup
|
||||
|
||||
" }}}1
|
||||
|
||||
lockvar g:ada#WordRegex
|
||||
lockvar g:ada#DotWordRegex
|
||||
lockvar g:ada#Comment
|
||||
lockvar! g:ada#Keywords
|
||||
lockvar! g:ada#Ctags_Kinds
|
||||
|
||||
finish " 1}}}
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" Copyright (C) 2006 Martin Krischik
|
||||
"
|
||||
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||
"------------------------------------------------------------------------------
|
||||
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||
" vim: foldmethod=marker
|
||||
@@ -1,109 +0,0 @@
|
||||
"------------------------------------------------------------------------------
|
||||
" Description: Vim Ada omnicompletion file
|
||||
" Language: Ada (2005)
|
||||
" $Id$
|
||||
" Maintainer: Martin Krischik
|
||||
" $Author$
|
||||
" $Date$
|
||||
" Version: 4.6
|
||||
" $Revision$
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $
|
||||
" History: 24.05.2006 MK Unified Headers
|
||||
" 26.05.2006 MK improved search for begin of word.
|
||||
" 16.07.2006 MK Ada-Mode as vim-ball
|
||||
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||
" autoload
|
||||
" 05.11.2006 MK Bram suggested agaist using setlocal omnifunc
|
||||
" 05.11.2006 MK Bram suggested to save on spaces
|
||||
" Help Page: ft-ada-omni
|
||||
"------------------------------------------------------------------------------
|
||||
|
||||
if version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
" Section: adacomplete#Complete () {{{1
|
||||
"
|
||||
" This function is used for the 'omnifunc' option.
|
||||
"
|
||||
function! adacomplete#Complete (findstart, base)
|
||||
if a:findstart == 1
|
||||
return ada#User_Complete (a:findstart, a:base)
|
||||
else
|
||||
"
|
||||
" look up matches
|
||||
"
|
||||
if exists ("g:ada_omni_with_keywords")
|
||||
call ada#User_Complete (a:findstart, a:base)
|
||||
endif
|
||||
"
|
||||
" search tag file for matches
|
||||
"
|
||||
let l:Pattern = '^' . a:base . '.*$'
|
||||
let l:Tag_List = taglist (l:Pattern)
|
||||
"
|
||||
" add symbols
|
||||
"
|
||||
for Tag_Item in l:Tag_List
|
||||
if l:Tag_Item['kind'] == ''
|
||||
"
|
||||
" Tag created by gnat xref
|
||||
"
|
||||
let l:Match_Item = {
|
||||
\ 'word': l:Tag_Item['name'],
|
||||
\ 'menu': l:Tag_Item['filename'],
|
||||
\ 'info': "Symbol from file " . l:Tag_Item['filename'] . " line " . l:Tag_Item['cmd'],
|
||||
\ 'kind': 's',
|
||||
\ 'icase': 1}
|
||||
else
|
||||
"
|
||||
" Tag created by ctags
|
||||
"
|
||||
let l:Info = 'Symbol : ' . l:Tag_Item['name'] . "\n"
|
||||
let l:Info .= 'Of type : ' . g:ada#Ctags_Kinds[l:Tag_Item['kind']][1] . "\n"
|
||||
let l:Info .= 'Defined in File : ' . l:Tag_Item['filename'] . "\n"
|
||||
|
||||
if has_key( l:Tag_Item, 'package')
|
||||
let l:Info .= 'Package : ' . l:Tag_Item['package'] . "\n"
|
||||
let l:Menu = l:Tag_Item['package']
|
||||
elseif has_key( l:Tag_Item, 'separate')
|
||||
let l:Info .= 'Separate from Package : ' . l:Tag_Item['separate'] . "\n"
|
||||
let l:Menu = l:Tag_Item['separate']
|
||||
elseif has_key( l:Tag_Item, 'packspec')
|
||||
let l:Info .= 'Package Specification : ' . l:Tag_Item['packspec'] . "\n"
|
||||
let l:Menu = l:Tag_Item['packspec']
|
||||
elseif has_key( l:Tag_Item, 'type')
|
||||
let l:Info .= 'Datetype : ' . l:Tag_Item['type'] . "\n"
|
||||
let l:Menu = l:Tag_Item['type']
|
||||
else
|
||||
let l:Menu = l:Tag_Item['filename']
|
||||
endif
|
||||
|
||||
let l:Match_Item = {
|
||||
\ 'word': l:Tag_Item['name'],
|
||||
\ 'menu': l:Menu,
|
||||
\ 'info': l:Info,
|
||||
\ 'kind': l:Tag_Item['kind'],
|
||||
\ 'icase': 1}
|
||||
endif
|
||||
if complete_add (l:Match_Item) == 0
|
||||
return []
|
||||
endif
|
||||
if complete_check ()
|
||||
return []
|
||||
endif
|
||||
endfor
|
||||
return []
|
||||
endif
|
||||
endfunction adacomplete#Complete
|
||||
|
||||
finish " 1}}}
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" Copyright (C) 2006 Martin Krischik
|
||||
"
|
||||
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||
"------------------------------------------------------------------------------
|
||||
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||
" vim: foldmethod=marker
|
||||
@@ -1,605 +0,0 @@
|
||||
" Vim completion script
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2007 Aug 30
|
||||
|
||||
|
||||
" This function is used for the 'omnifunc' option.
|
||||
function! ccomplete#Complete(findstart, base)
|
||||
if a:findstart
|
||||
" Locate the start of the item, including ".", "->" and "[...]".
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let lastword = -1
|
||||
while start > 0
|
||||
if line[start - 1] =~ '\w'
|
||||
let start -= 1
|
||||
elseif line[start - 1] =~ '\.'
|
||||
if lastword == -1
|
||||
let lastword = start
|
||||
endif
|
||||
let start -= 1
|
||||
elseif start > 1 && line[start - 2] == '-' && line[start - 1] == '>'
|
||||
if lastword == -1
|
||||
let lastword = start
|
||||
endif
|
||||
let start -= 2
|
||||
elseif line[start - 1] == ']'
|
||||
" Skip over [...].
|
||||
let n = 0
|
||||
let start -= 1
|
||||
while start > 0
|
||||
let start -= 1
|
||||
if line[start] == '['
|
||||
if n == 0
|
||||
break
|
||||
endif
|
||||
let n -= 1
|
||||
elseif line[start] == ']' " nested []
|
||||
let n += 1
|
||||
endif
|
||||
endwhile
|
||||
else
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Return the column of the last word, which is going to be changed.
|
||||
" Remember the text that comes before it in s:prepended.
|
||||
if lastword == -1
|
||||
let s:prepended = ''
|
||||
return start
|
||||
endif
|
||||
let s:prepended = strpart(line, start, lastword - start)
|
||||
return lastword
|
||||
endif
|
||||
|
||||
" Return list of matches.
|
||||
|
||||
let base = s:prepended . a:base
|
||||
|
||||
" Don't do anything for an empty base, would result in all the tags in the
|
||||
" tags file.
|
||||
if base == ''
|
||||
return []
|
||||
endif
|
||||
|
||||
" init cache for vimgrep to empty
|
||||
let s:grepCache = {}
|
||||
|
||||
" Split item in words, keep empty word after "." or "->".
|
||||
" "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
|
||||
" We can't use split, because we need to skip nested [...].
|
||||
let items = []
|
||||
let s = 0
|
||||
while 1
|
||||
let e = match(base, '\.\|->\|\[', s)
|
||||
if e < 0
|
||||
if s == 0 || base[s - 1] != ']'
|
||||
call add(items, strpart(base, s))
|
||||
endif
|
||||
break
|
||||
endif
|
||||
if s == 0 || base[s - 1] != ']'
|
||||
call add(items, strpart(base, s, e - s))
|
||||
endif
|
||||
if base[e] == '.'
|
||||
let s = e + 1 " skip over '.'
|
||||
elseif base[e] == '-'
|
||||
let s = e + 2 " skip over '->'
|
||||
else
|
||||
" Skip over [...].
|
||||
let n = 0
|
||||
let s = e
|
||||
let e += 1
|
||||
while e < len(base)
|
||||
if base[e] == ']'
|
||||
if n == 0
|
||||
break
|
||||
endif
|
||||
let n -= 1
|
||||
elseif base[e] == '[' " nested [...]
|
||||
let n += 1
|
||||
endif
|
||||
let e += 1
|
||||
endwhile
|
||||
let e += 1
|
||||
call add(items, strpart(base, s, e - s))
|
||||
let s = e
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Find the variable items[0].
|
||||
" 1. in current function (like with "gd")
|
||||
" 2. in tags file(s) (like with ":tag")
|
||||
" 3. in current file (like with "gD")
|
||||
let res = []
|
||||
if searchdecl(items[0], 0, 1) == 0
|
||||
" Found, now figure out the type.
|
||||
" TODO: join previous line if it makes sense
|
||||
let line = getline('.')
|
||||
let col = col('.')
|
||||
if stridx(strpart(line, 0, col), ';') != -1
|
||||
" Handle multiple declarations on the same line.
|
||||
let col2 = col - 1
|
||||
while line[col2] != ';'
|
||||
let col2 -= 1
|
||||
endwhile
|
||||
let line = strpart(line, col2 + 1)
|
||||
let col -= col2
|
||||
endif
|
||||
if stridx(strpart(line, 0, col), ',') != -1
|
||||
" Handle multiple declarations on the same line in a function
|
||||
" declaration.
|
||||
let col2 = col - 1
|
||||
while line[col2] != ','
|
||||
let col2 -= 1
|
||||
endwhile
|
||||
if strpart(line, col2 + 1, col - col2 - 1) =~ ' *[^ ][^ ]* *[^ ]'
|
||||
let line = strpart(line, col2 + 1)
|
||||
let col -= col2
|
||||
endif
|
||||
endif
|
||||
if len(items) == 1
|
||||
" Completing one word and it's a local variable: May add '[', '.' or
|
||||
" '->'.
|
||||
let match = items[0]
|
||||
let kind = 'v'
|
||||
if match(line, '\<' . match . '\s*\[') > 0
|
||||
let match .= '['
|
||||
else
|
||||
let res = s:Nextitem(strpart(line, 0, col), [''], 0, 1)
|
||||
if len(res) > 0
|
||||
" There are members, thus add "." or "->".
|
||||
if match(line, '\*[ \t(]*' . match . '\>') > 0
|
||||
let match .= '->'
|
||||
else
|
||||
let match .= '.'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}]
|
||||
else
|
||||
" Completing "var.", "var.something", etc.
|
||||
let res = s:Nextitem(strpart(line, 0, col), items[-1], 0, 1)
|
||||
endif
|
||||
endif
|
||||
|
||||
if len(items) == 1
|
||||
" Only one part, no "." or "->": complete from tags file.
|
||||
let tags = taglist('^' . base)
|
||||
|
||||
" Remove members, these can't appear without something in front.
|
||||
call filter(tags, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1')
|
||||
|
||||
" Remove static matches in other files.
|
||||
call filter(tags, '!has_key(v:val, "static") || !v:val["static"] || bufnr("%") == bufnr(v:val["filename"])')
|
||||
|
||||
call extend(res, map(tags, 's:Tag2item(v:val)'))
|
||||
endif
|
||||
|
||||
if len(res) == 0
|
||||
" Find the variable in the tags file(s)
|
||||
let diclist = taglist('^' . items[0] . '$')
|
||||
|
||||
" Remove members, these can't appear without something in front.
|
||||
call filter(diclist, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1')
|
||||
|
||||
let res = []
|
||||
for i in range(len(diclist))
|
||||
" New ctags has the "typeref" field. Patched version has "typename".
|
||||
if has_key(diclist[i], 'typename')
|
||||
call extend(res, s:StructMembers(diclist[i]['typename'], items[1:], 1))
|
||||
elseif has_key(diclist[i], 'typeref')
|
||||
call extend(res, s:StructMembers(diclist[i]['typeref'], items[1:], 1))
|
||||
endif
|
||||
|
||||
" For a variable use the command, which must be a search pattern that
|
||||
" shows the declaration of the variable.
|
||||
if diclist[i]['kind'] == 'v'
|
||||
let line = diclist[i]['cmd']
|
||||
if line[0] == '/' && line[1] == '^'
|
||||
let col = match(line, '\<' . items[0] . '\>')
|
||||
call extend(res, s:Nextitem(strpart(line, 2, col - 2), items[1:], 0, 1))
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
if len(res) == 0 && searchdecl(items[0], 1) == 0
|
||||
" Found, now figure out the type.
|
||||
" TODO: join previous line if it makes sense
|
||||
let line = getline('.')
|
||||
let col = col('.')
|
||||
let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
|
||||
endif
|
||||
|
||||
" If the last item(s) are [...] they need to be added to the matches.
|
||||
let last = len(items) - 1
|
||||
let brackets = ''
|
||||
while last >= 0
|
||||
if items[last][0] != '['
|
||||
break
|
||||
endif
|
||||
let brackets = items[last] . brackets
|
||||
let last -= 1
|
||||
endwhile
|
||||
|
||||
return map(res, 's:Tagline2item(v:val, brackets)')
|
||||
endfunc
|
||||
|
||||
function! s:GetAddition(line, match, memarg, bracket)
|
||||
" Guess if the item is an array.
|
||||
if a:bracket && match(a:line, a:match . '\s*\[') > 0
|
||||
return '['
|
||||
endif
|
||||
|
||||
" Check if the item has members.
|
||||
if len(s:SearchMembers(a:memarg, [''], 0)) > 0
|
||||
" If there is a '*' before the name use "->".
|
||||
if match(a:line, '\*[ \t(]*' . a:match . '\>') > 0
|
||||
return '->'
|
||||
else
|
||||
return '.'
|
||||
endif
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
" Turn the tag info "val" into an item for completion.
|
||||
" "val" is is an item in the list returned by taglist().
|
||||
" If it is a variable we may add "." or "->". Don't do it for other types,
|
||||
" such as a typedef, by not including the info that s:GetAddition() uses.
|
||||
function! s:Tag2item(val)
|
||||
let res = {'match': a:val['name']}
|
||||
|
||||
let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
|
||||
|
||||
let s = s:Dict2info(a:val)
|
||||
if s != ''
|
||||
let res['info'] = s
|
||||
endif
|
||||
|
||||
let res['tagline'] = ''
|
||||
if has_key(a:val, "kind")
|
||||
let kind = a:val['kind']
|
||||
let res['kind'] = kind
|
||||
if kind == 'v'
|
||||
let res['tagline'] = "\t" . a:val['cmd']
|
||||
let res['dict'] = a:val
|
||||
elseif kind == 'f'
|
||||
let res['match'] = a:val['name'] . '('
|
||||
endif
|
||||
endif
|
||||
|
||||
return res
|
||||
endfunction
|
||||
|
||||
" Use all the items in dictionary for the "info" entry.
|
||||
function! s:Dict2info(dict)
|
||||
let info = ''
|
||||
for k in sort(keys(a:dict))
|
||||
let info .= k . repeat(' ', 10 - len(k))
|
||||
if k == 'cmd'
|
||||
let info .= substitute(matchstr(a:dict['cmd'], '/^\s*\zs.*\ze$/'), '\\\(.\)', '\1', 'g')
|
||||
else
|
||||
let info .= a:dict[k]
|
||||
endif
|
||||
let info .= "\n"
|
||||
endfor
|
||||
return info
|
||||
endfunc
|
||||
|
||||
" Parse a tag line and return a dictionary with items like taglist()
|
||||
function! s:ParseTagline(line)
|
||||
let l = split(a:line, "\t")
|
||||
let d = {}
|
||||
if len(l) >= 3
|
||||
let d['name'] = l[0]
|
||||
let d['filename'] = l[1]
|
||||
let d['cmd'] = l[2]
|
||||
let n = 2
|
||||
if l[2] =~ '^/'
|
||||
" Find end of cmd, it may contain Tabs.
|
||||
while n < len(l) && l[n] !~ '/;"$'
|
||||
let n += 1
|
||||
let d['cmd'] .= " " . l[n]
|
||||
endwhile
|
||||
endif
|
||||
for i in range(n + 1, len(l) - 1)
|
||||
if l[i] == 'file:'
|
||||
let d['static'] = 1
|
||||
elseif l[i] !~ ':'
|
||||
let d['kind'] = l[i]
|
||||
else
|
||||
let d[matchstr(l[i], '[^:]*')] = matchstr(l[i], ':\zs.*')
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
return d
|
||||
endfunction
|
||||
|
||||
" Turn a match item "val" into an item for completion.
|
||||
" "val['match']" is the matching item.
|
||||
" "val['tagline']" is the tagline in which the last part was found.
|
||||
function! s:Tagline2item(val, brackets)
|
||||
let line = a:val['tagline']
|
||||
let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
|
||||
let res = {'word': a:val['match'] . a:brackets . add }
|
||||
|
||||
if has_key(a:val, 'info')
|
||||
" Use info from Tag2item().
|
||||
let res['info'] = a:val['info']
|
||||
else
|
||||
" Parse the tag line and add each part to the "info" entry.
|
||||
let s = s:Dict2info(s:ParseTagline(line))
|
||||
if s != ''
|
||||
let res['info'] = s
|
||||
endif
|
||||
endif
|
||||
|
||||
if has_key(a:val, 'kind')
|
||||
let res['kind'] = a:val['kind']
|
||||
elseif add == '('
|
||||
let res['kind'] = 'f'
|
||||
else
|
||||
let s = matchstr(line, '\t\(kind:\)\=\zs\S\ze\(\t\|$\)')
|
||||
if s != ''
|
||||
let res['kind'] = s
|
||||
endif
|
||||
endif
|
||||
|
||||
if has_key(a:val, 'extra')
|
||||
let res['menu'] = a:val['extra']
|
||||
return res
|
||||
endif
|
||||
|
||||
" Isolate the command after the tag and filename.
|
||||
let s = matchstr(line, '[^\t]*\t[^\t]*\t\zs\(/^.*$/\|[^\t]*\)\ze\(;"\t\|\t\|$\)')
|
||||
if s != ''
|
||||
let res['menu'] = s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))
|
||||
endif
|
||||
return res
|
||||
endfunction
|
||||
|
||||
" Turn a command from a tag line to something that is useful in the menu
|
||||
function! s:Tagcmd2extra(cmd, name, fname)
|
||||
if a:cmd =~ '^/^'
|
||||
" The command is a search command, useful to see what it is.
|
||||
let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/')
|
||||
let x = substitute(x, '\<' . a:name . '\>', '@@', '')
|
||||
let x = substitute(x, '\\\(.\)', '\1', 'g')
|
||||
let x = x . ' - ' . a:fname
|
||||
elseif a:cmd =~ '^\d*$'
|
||||
" The command is a line number, the file name is more useful.
|
||||
let x = a:fname . ' - ' . a:cmd
|
||||
else
|
||||
" Not recognized, use command and file name.
|
||||
let x = a:cmd . ' - ' . a:fname
|
||||
endif
|
||||
return x
|
||||
endfunction
|
||||
|
||||
" Find composing type in "lead" and match items[0] with it.
|
||||
" Repeat this recursively for items[1], if it's there.
|
||||
" When resolving typedefs "depth" is used to avoid infinite recursion.
|
||||
" Return the list of matches.
|
||||
function! s:Nextitem(lead, items, depth, all)
|
||||
|
||||
" Use the text up to the variable name and split it in tokens.
|
||||
let tokens = split(a:lead, '\s\+\|\<')
|
||||
|
||||
" Try to recognize the type of the variable. This is rough guessing...
|
||||
let res = []
|
||||
for tidx in range(len(tokens))
|
||||
|
||||
" Skip tokens starting with a non-ID character.
|
||||
if tokens[tidx] !~ '^\h'
|
||||
continue
|
||||
endif
|
||||
|
||||
" Recognize "struct foobar" and "union foobar".
|
||||
" Also do "class foobar" when it's C++ after all (doesn't work very well
|
||||
" though).
|
||||
if (tokens[tidx] == 'struct' || tokens[tidx] == 'union' || tokens[tidx] == 'class') && tidx + 1 < len(tokens)
|
||||
let res = s:StructMembers(tokens[tidx] . ':' . tokens[tidx + 1], a:items, a:all)
|
||||
break
|
||||
endif
|
||||
|
||||
" TODO: add more reserved words
|
||||
if index(['int', 'short', 'char', 'float', 'double', 'static', 'unsigned', 'extern'], tokens[tidx]) >= 0
|
||||
continue
|
||||
endif
|
||||
|
||||
" Use the tags file to find out if this is a typedef.
|
||||
let diclist = taglist('^' . tokens[tidx] . '$')
|
||||
for tagidx in range(len(diclist))
|
||||
let item = diclist[tagidx]
|
||||
|
||||
" New ctags has the "typeref" field. Patched version has "typename".
|
||||
if has_key(item, 'typeref')
|
||||
call extend(res, s:StructMembers(item['typeref'], a:items, a:all))
|
||||
continue
|
||||
endif
|
||||
if has_key(item, 'typename')
|
||||
call extend(res, s:StructMembers(item['typename'], a:items, a:all))
|
||||
continue
|
||||
endif
|
||||
|
||||
" Only handle typedefs here.
|
||||
if item['kind'] != 't'
|
||||
continue
|
||||
endif
|
||||
|
||||
" Skip matches local to another file.
|
||||
if has_key(item, 'static') && item['static'] && bufnr('%') != bufnr(item['filename'])
|
||||
continue
|
||||
endif
|
||||
|
||||
" For old ctags we recognize "typedef struct aaa" and
|
||||
" "typedef union bbb" in the tags file command.
|
||||
let cmd = item['cmd']
|
||||
let ei = matchend(cmd, 'typedef\s\+')
|
||||
if ei > 1
|
||||
let cmdtokens = split(strpart(cmd, ei), '\s\+\|\<')
|
||||
if len(cmdtokens) > 1
|
||||
if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union' || cmdtokens[0] == 'class'
|
||||
let name = ''
|
||||
" Use the first identifier after the "struct" or "union"
|
||||
for ti in range(len(cmdtokens) - 1)
|
||||
if cmdtokens[ti] =~ '^\w'
|
||||
let name = cmdtokens[ti]
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
if name != ''
|
||||
call extend(res, s:StructMembers(cmdtokens[0] . ':' . name, a:items, a:all))
|
||||
endif
|
||||
elseif a:depth < 10
|
||||
" Could be "typedef other_T some_T".
|
||||
call extend(res, s:Nextitem(cmdtokens[0], a:items, a:depth + 1, a:all))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
if len(res) > 0
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
endfunction
|
||||
|
||||
|
||||
" Search for members of structure "typename" in tags files.
|
||||
" Return a list with resulting matches.
|
||||
" Each match is a dictionary with "match" and "tagline" entries.
|
||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||
" member.
|
||||
function! s:StructMembers(typename, items, all)
|
||||
" Todo: What about local structures?
|
||||
let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
|
||||
if fnames == ''
|
||||
return []
|
||||
endif
|
||||
|
||||
let typename = a:typename
|
||||
let qflist = []
|
||||
let cached = 0
|
||||
if a:all == 0
|
||||
let n = '1' " stop at first found match
|
||||
if has_key(s:grepCache, a:typename)
|
||||
let qflist = s:grepCache[a:typename]
|
||||
let cached = 1
|
||||
endif
|
||||
else
|
||||
let n = ''
|
||||
endif
|
||||
if !cached
|
||||
while 1
|
||||
exe 'silent! ' . n . 'vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
|
||||
|
||||
let qflist = getqflist()
|
||||
if len(qflist) > 0 || match(typename, "::") < 0
|
||||
break
|
||||
endif
|
||||
" No match for "struct:context::name", remove "context::" and try again.
|
||||
let typename = substitute(typename, ':[^:]*::', ':', '')
|
||||
endwhile
|
||||
|
||||
if a:all == 0
|
||||
" Store the result to be able to use it again later.
|
||||
let s:grepCache[a:typename] = qflist
|
||||
endif
|
||||
endif
|
||||
|
||||
" Put matching members in matches[].
|
||||
let matches = []
|
||||
for l in qflist
|
||||
let memb = matchstr(l['text'], '[^\t]*')
|
||||
if memb =~ '^' . a:items[0]
|
||||
" Skip matches local to another file.
|
||||
if match(l['text'], "\tfile:") < 0 || bufnr('%') == bufnr(matchstr(l['text'], '\t\zs[^\t]*'))
|
||||
let item = {'match': memb, 'tagline': l['text']}
|
||||
|
||||
" Add the kind of item.
|
||||
let s = matchstr(l['text'], '\t\(kind:\)\=\zs\S\ze\(\t\|$\)')
|
||||
if s != ''
|
||||
let item['kind'] = s
|
||||
if s == 'f'
|
||||
let item['match'] = memb . '('
|
||||
endif
|
||||
endif
|
||||
|
||||
call add(matches, item)
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
|
||||
if len(matches) > 0
|
||||
" Skip over [...] items
|
||||
let idx = 1
|
||||
while 1
|
||||
if idx >= len(a:items)
|
||||
return matches " No further items, return the result.
|
||||
endif
|
||||
if a:items[idx][0] != '['
|
||||
break
|
||||
endif
|
||||
let idx += 1
|
||||
endwhile
|
||||
|
||||
" More items following. For each of the possible members find the
|
||||
" matching following members.
|
||||
return s:SearchMembers(matches, a:items[idx :], a:all)
|
||||
endif
|
||||
|
||||
" Failed to find anything.
|
||||
return []
|
||||
endfunction
|
||||
|
||||
" For matching members, find matches for following items.
|
||||
" When "all" is non-zero find all, otherwise just return 1 if there is any
|
||||
" member.
|
||||
function! s:SearchMembers(matches, items, all)
|
||||
let res = []
|
||||
for i in range(len(a:matches))
|
||||
let typename = ''
|
||||
if has_key(a:matches[i], 'dict')
|
||||
if has_key(a:matches[i].dict, 'typename')
|
||||
let typename = a:matches[i].dict['typename']
|
||||
elseif has_key(a:matches[i].dict, 'typeref')
|
||||
let typename = a:matches[i].dict['typeref']
|
||||
endif
|
||||
let line = "\t" . a:matches[i].dict['cmd']
|
||||
else
|
||||
let line = a:matches[i]['tagline']
|
||||
let e = matchend(line, '\ttypename:')
|
||||
if e < 0
|
||||
let e = matchend(line, '\ttyperef:')
|
||||
endif
|
||||
if e > 0
|
||||
" Use typename field
|
||||
let typename = matchstr(line, '[^\t]*', e)
|
||||
endif
|
||||
endif
|
||||
|
||||
if typename != ''
|
||||
call extend(res, s:StructMembers(typename, a:items, a:all))
|
||||
else
|
||||
" Use the search command (the declaration itself).
|
||||
let s = match(line, '\t\zs/^')
|
||||
if s > 0
|
||||
let e = match(line, '\<' . a:matches[i]['match'] . '\>', s)
|
||||
if e > 0
|
||||
call extend(res, s:Nextitem(strpart(line, s, e - s), a:items, 0, a:all))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if a:all == 0 && len(res) > 0
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
return res
|
||||
endfunc
|
||||
@@ -1,429 +0,0 @@
|
||||
" Vim completion script
|
||||
" Language: CSS 2.1
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2007 May 5
|
||||
|
||||
let s:values = split("azimuth background background-attachment background-color background-image background-position background-repeat border bottom border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width caption-side clear clip color content counter-increment counter-reset cue cue-after cue-before cursor display direction elevation empty-cells float font font-family font-size font-style font-variant font-weight height left letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-right margin-left margin-top margin-bottom max-height max-width min-height min-width orphans outline outline-color outline-style outline-width overflow padding padding-top padding-right padding-bottom padding-left page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness speak speak-header speak-numeral speak-punctuation speech-rate stress table-layout text-align text-decoration text-indent text-transform top unicode-bidi vertical-align visibility voice-family volume white-space width widows word-spacing z-index")
|
||||
|
||||
function! csscomplete#CompleteCSS(findstart, base)
|
||||
|
||||
if a:findstart
|
||||
" We need whole line to proper checking
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let compl_begin = col('.') - 2
|
||||
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
let b:compl_context = line[0:compl_begin]
|
||||
return start
|
||||
endif
|
||||
|
||||
" There are few chars important for context:
|
||||
" ^ ; : { } /* */
|
||||
" Where ^ is start of line and /* */ are comment borders
|
||||
" Depending on their relative position to cursor we will know what should
|
||||
" be completed.
|
||||
" 1. if nearest are ^ or { or ; current word is property
|
||||
" 2. if : it is value (with exception of pseudo things)
|
||||
" 3. if } we are outside of css definitions
|
||||
" 4. for comments ignoring is be the easiest but assume they are the same
|
||||
" as 1.
|
||||
" 5. if @ complete at-rule
|
||||
" 6. if ! complete important
|
||||
if exists("b:compl_context")
|
||||
let line = b:compl_context
|
||||
unlet! b:compl_context
|
||||
else
|
||||
let line = a:base
|
||||
endif
|
||||
|
||||
let res = []
|
||||
let res2 = []
|
||||
let borders = {}
|
||||
|
||||
" Check last occurrence of sequence
|
||||
|
||||
let openbrace = strridx(line, '{')
|
||||
let closebrace = strridx(line, '}')
|
||||
let colon = strridx(line, ':')
|
||||
let semicolon = strridx(line, ';')
|
||||
let opencomm = strridx(line, '/*')
|
||||
let closecomm = strridx(line, '*/')
|
||||
let style = strridx(line, 'style\s*=')
|
||||
let atrule = strridx(line, '@')
|
||||
let exclam = strridx(line, '!')
|
||||
|
||||
if openbrace > -1
|
||||
let borders[openbrace] = "openbrace"
|
||||
endif
|
||||
if closebrace > -1
|
||||
let borders[closebrace] = "closebrace"
|
||||
endif
|
||||
if colon > -1
|
||||
let borders[colon] = "colon"
|
||||
endif
|
||||
if semicolon > -1
|
||||
let borders[semicolon] = "semicolon"
|
||||
endif
|
||||
if opencomm > -1
|
||||
let borders[opencomm] = "opencomm"
|
||||
endif
|
||||
if closecomm > -1
|
||||
let borders[closecomm] = "closecomm"
|
||||
endif
|
||||
if style > -1
|
||||
let borders[style] = "style"
|
||||
endif
|
||||
if atrule > -1
|
||||
let borders[atrule] = "atrule"
|
||||
endif
|
||||
if exclam > -1
|
||||
let borders[exclam] = "exclam"
|
||||
endif
|
||||
|
||||
|
||||
if len(borders) == 0 || borders[max(keys(borders))] =~ '^\%(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
|
||||
" Complete properties
|
||||
|
||||
|
||||
let entered_property = matchstr(line, '.\{-}\zs[a-zA-Z-]*$')
|
||||
|
||||
for m in s:values
|
||||
if m =~? '^'.entered_property
|
||||
call add(res, m . ':')
|
||||
elseif m =~? entered_property
|
||||
call add(res2, m . ':')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif borders[max(keys(borders))] == 'colon'
|
||||
" Get name of property
|
||||
let prop = tolower(matchstr(line, '\zs[a-zA-Z-]*\ze\s*:[^:]\{-}$'))
|
||||
|
||||
if prop == 'azimuth'
|
||||
let values = ["left-side", "far-left", "left", "center-left", "center", "center-right", "right", "far-right", "right-side", "behind", "leftwards", "rightwards"]
|
||||
elseif prop == 'background-attachment'
|
||||
let values = ["scroll", "fixed"]
|
||||
elseif prop == 'background-color'
|
||||
let values = ["transparent", "rgb(", "#"]
|
||||
elseif prop == 'background-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'background-position'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["top", "center", "bottom"]
|
||||
elseif vals =~ '^[a-zA-Z]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["left", "center", "right"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'background-repeat'
|
||||
let values = ["repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'background'
|
||||
let values = ["url(", "scroll", "fixed", "transparent", "rgb(", "#", "none", "top", "center", "bottom" , "left", "right", "repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'border-collapse'
|
||||
let values = ["collapse", "separate"]
|
||||
elseif prop == 'border-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop == 'border-spacing'
|
||||
return []
|
||||
elseif prop == 'border-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)$'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\%([a-zA-Z(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\%([a-zA-Z(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'bottom'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'caption-side'
|
||||
let values = ["top", "bottom"]
|
||||
elseif prop == 'clear'
|
||||
let values = ["none", "left", "right", "both"]
|
||||
elseif prop == 'clip'
|
||||
let values = ["auto", "rect("]
|
||||
elseif prop == 'color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'content'
|
||||
let values = ["normal", "attr(", "open-quote", "close-quote", "no-open-quote", "no-close-quote"]
|
||||
elseif prop =~ 'counter-\%(increment\|reset\)$'
|
||||
let values = ["none"]
|
||||
elseif prop =~ '^\%(cue-after\|cue-before\|cue\)$'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'cursor'
|
||||
let values = ["url(", "auto", "crosshair", "default", "pointer", "move", "e-resize", "ne-resize", "nw-resize", "n-resize", "se-resize", "sw-resize", "s-resize", "w-resize", "text", "wait", "help", "progress"]
|
||||
elseif prop == 'direction'
|
||||
let values = ["ltr", "rtl"]
|
||||
elseif prop == 'display'
|
||||
let values = ["inline", "block", "list-item", "run-in", "inline-block", "table", "inline-table", "table-row-group", "table-header-group", "table-footer-group", "table-row", "table-column-group", "table-column", "table-cell", "table-caption", "none"]
|
||||
elseif prop == 'elevation'
|
||||
let values = ["below", "level", "above", "higher", "lower"]
|
||||
elseif prop == 'empty-cells'
|
||||
let values = ["show", "hide"]
|
||||
elseif prop == 'float'
|
||||
let values = ["left", "right", "none"]
|
||||
elseif prop == 'font-family'
|
||||
let values = ["sans-serif", "serif", "monospace", "cursive", "fantasy"]
|
||||
elseif prop == 'font-size'
|
||||
let values = ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller"]
|
||||
elseif prop == 'font-style'
|
||||
let values = ["normal", "italic", "oblique"]
|
||||
elseif prop == 'font-variant'
|
||||
let values = ["normal", "small-caps"]
|
||||
elseif prop == 'font-weight'
|
||||
let values = ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
||||
elseif prop == 'font'
|
||||
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
|
||||
elseif prop =~ '^\%(height\|width\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ '^\%(left\|rigth\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'letter-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'line-height'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'list-style-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'list-style-position'
|
||||
let values = ["inside", "outside"]
|
||||
elseif prop == 'list-style-type'
|
||||
let values = ["disc", "circle", "square", "decimal", "decimal-leading-zero", "lower-roman", "upper-roman", "lower-latin", "upper-latin", "none"]
|
||||
elseif prop == 'list-style'
|
||||
return []
|
||||
elseif prop == 'margin'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ 'margin-\%(right\|left\|top\|bottom\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-height'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-height'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'orphans'
|
||||
return []
|
||||
elseif prop == 'outline-color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'outline-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop == 'outline-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'outline'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z0-9,()#]\+\)\?$'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+[a-zA-Z]\+\s\+\%([a-zA-Z(]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'overflow'
|
||||
let values = ["visible", "hidden", "scroll", "auto"]
|
||||
elseif prop == 'padding'
|
||||
return []
|
||||
elseif prop =~ 'padding-\%(top\|right\|bottom\|left\)$'
|
||||
return []
|
||||
elseif prop =~ 'page-break-\%(after\|before\)$'
|
||||
let values = ["auto", "always", "avoid", "left", "right"]
|
||||
elseif prop == 'page-break-inside'
|
||||
let values = ["auto", "avoid"]
|
||||
elseif prop =~ 'pause-\%(after\|before\)$'
|
||||
return []
|
||||
elseif prop == 'pause'
|
||||
return []
|
||||
elseif prop == 'pitch-range'
|
||||
return []
|
||||
elseif prop == 'pitch'
|
||||
let values = ["x-low", "low", "medium", "high", "x-high"]
|
||||
elseif prop == 'play-during'
|
||||
let values = ["url(", "mix", "repeat", "auto", "none"]
|
||||
elseif prop == 'position'
|
||||
let values = ["static", "relative", "absolute", "fixed"]
|
||||
elseif prop == 'quotes'
|
||||
let values = ["none"]
|
||||
elseif prop == 'richness'
|
||||
return []
|
||||
elseif prop == 'speak-header'
|
||||
let values = ["once", "always"]
|
||||
elseif prop == 'speak-numeral'
|
||||
let values = ["digits", "continuous"]
|
||||
elseif prop == 'speak-punctuation'
|
||||
let values = ["code", "none"]
|
||||
elseif prop == 'speak'
|
||||
let values = ["normal", "none", "spell-out"]
|
||||
elseif prop == 'speech-rate'
|
||||
let values = ["x-slow", "slow", "medium", "fast", "x-fast", "faster", "slower"]
|
||||
elseif prop == 'stress'
|
||||
return []
|
||||
elseif prop == 'table-layout'
|
||||
let values = ["auto", "fixed"]
|
||||
elseif prop == 'text-align'
|
||||
let values = ["left", "right", "center", "justify"]
|
||||
elseif prop == 'text-decoration'
|
||||
let values = ["none", "underline", "overline", "line-through", "blink"]
|
||||
elseif prop == 'text-indent'
|
||||
return []
|
||||
elseif prop == 'text-transform'
|
||||
let values = ["capitalize", "uppercase", "lowercase", "none"]
|
||||
elseif prop == 'top'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'unicode-bidi'
|
||||
let values = ["normal", "embed", "bidi-override"]
|
||||
elseif prop == 'vertical-align'
|
||||
let values = ["baseline", "sub", "super", "top", "text-top", "middle", "bottom", "text-bottom"]
|
||||
elseif prop == 'visibility'
|
||||
let values = ["visible", "hidden", "collapse"]
|
||||
elseif prop == 'voice-family'
|
||||
return []
|
||||
elseif prop == 'volume'
|
||||
let values = ["silent", "x-soft", "soft", "medium", "loud", "x-loud"]
|
||||
elseif prop == 'white-space'
|
||||
let values = ["normal", "pre", "nowrap", "pre-wrap", "pre-line"]
|
||||
elseif prop == 'widows'
|
||||
return []
|
||||
elseif prop == 'word-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'z-index'
|
||||
let values = ["auto"]
|
||||
else
|
||||
" If no property match it is possible we are outside of {} and
|
||||
" trying to complete pseudo-(class|element)
|
||||
let element = tolower(matchstr(line, '\zs[a-zA-Z1-6]*\ze:[^:[:space:]]\{-}$'))
|
||||
if stridx(',a,abbr,acronym,address,area,b,base,bdo,big,blockquote,body,br,button,caption,cite,code,col,colgroup,dd,del,dfn,div,dl,dt,em,fieldset,form,head,h1,h2,h3,h4,h5,h6,hr,html,i,img,input,ins,kbd,label,legend,li,link,map,meta,noscript,object,ol,optgroup,option,p,param,pre,q,samp,script,select,small,span,strong,style,sub,sup,table,tbody,td,textarea,tfoot,th,thead,title,tr,tt,ul,var,', ','.element.',') > -1
|
||||
let values = ["first-child", "link", "visited", "hover", "active", "focus", "lang", "first-line", "first-letter", "before", "after"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
|
||||
" Complete values
|
||||
let entered_value = matchstr(line, '.\{-}\zs[a-zA-Z0-9#,.(_-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_value
|
||||
call add(res, m)
|
||||
elseif m =~? entered_value
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif borders[max(keys(borders))] == 'closebrace'
|
||||
|
||||
return []
|
||||
|
||||
elseif borders[max(keys(borders))] == 'exclam'
|
||||
|
||||
" Complete values
|
||||
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
|
||||
|
||||
let values = ["important"]
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_imp
|
||||
call add(res, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
|
||||
elseif borders[max(keys(borders))] == 'atrule'
|
||||
|
||||
let afterat = matchstr(line, '.*@\zs.*')
|
||||
|
||||
if afterat =~ '\s'
|
||||
|
||||
let atrulename = matchstr(line, '.*@\zs[a-zA-Z-]\+\ze')
|
||||
|
||||
if atrulename == 'media'
|
||||
let values = ["screen", "tty", "tv", "projection", "handheld", "print", "braille", "aural", "all"]
|
||||
|
||||
let entered_atruleafter = matchstr(line, '.*@media\s\+\zs.*$')
|
||||
|
||||
elseif atrulename == 'import'
|
||||
let entered_atruleafter = matchstr(line, '.*@import\s\+\zs.*$')
|
||||
|
||||
if entered_atruleafter =~ "^[\"']"
|
||||
let filestart = matchstr(entered_atruleafter, '^.\zs.*')
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"\"".v:val')
|
||||
|
||||
elseif entered_atruleafter =~ "^url("
|
||||
let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*")
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"url(".v:val')
|
||||
|
||||
else
|
||||
let values = ['"', 'url(']
|
||||
|
||||
endif
|
||||
|
||||
else
|
||||
return []
|
||||
|
||||
endif
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atruleafter
|
||||
call add(res, m)
|
||||
elseif m =~? entered_atruleafter
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
let values = ["charset", "page", "media", "import", "font-face"]
|
||||
|
||||
let entered_atrule = matchstr(line, '.*@\zs[a-zA-Z-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atrule
|
||||
call add(res, m .' ')
|
||||
elseif m =~? entered_atrule
|
||||
call add(res2, m .' ')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
return []
|
||||
|
||||
endfunction
|
||||
@@ -1,75 +0,0 @@
|
||||
"------------------------------------------------------------------------------
|
||||
" Description: Vim Ada/Dec Ada compiler file
|
||||
" Language: Ada (Dec Ada)
|
||||
" $Id$
|
||||
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
|
||||
" $Author$
|
||||
" $Date$
|
||||
" Version: 4.6
|
||||
" $Revision$
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
|
||||
" History: 21.07.2006 MK New Dec Ada
|
||||
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||
" autoload
|
||||
" 05.11.2006 MK Bram suggested to save on spaces
|
||||
" Help Page: compiler-decada
|
||||
"------------------------------------------------------------------------------
|
||||
|
||||
if version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
function decada#Unit_Name () dict " {{{1
|
||||
" Convert filename into acs unit:
|
||||
" 1: remove the file extenstion.
|
||||
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
|
||||
" 3: remove a trailing '_' (wich denotes a specification)
|
||||
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
|
||||
endfunction decada#Unit_Name " }}}1
|
||||
|
||||
function decada#Make () dict " {{{1
|
||||
let l:make_prg = substitute (g:self.Make_Command, '%<', self.Unit_Name(), '')
|
||||
let &errorformat = g:self.Error_Format
|
||||
let &makeprg = l:make_prg
|
||||
wall
|
||||
make
|
||||
copen
|
||||
set wrap
|
||||
wincmd W
|
||||
endfunction decada#Build " }}}1
|
||||
|
||||
function decada#Set_Session (...) dict " {{{1
|
||||
if a:0 > 0
|
||||
call ada#Switch_Session (a:1)
|
||||
elseif argc() == 0 && strlen (v:servername) > 0
|
||||
call ada#Switch_Session (
|
||||
\ expand('~')[0:-2] . ".vimfiles.session]decada_" .
|
||||
\ v:servername . ".vim")
|
||||
endif
|
||||
return
|
||||
endfunction decada#Set_Session " }}}1
|
||||
|
||||
function decada#New () " }}}1
|
||||
let Retval = {
|
||||
\ 'Make' : function ('decada#Make'),
|
||||
\ 'Unit_Name' : function ('decada#Unit_Name'),
|
||||
\ 'Set_Session' : function ('decada#Set_Session'),
|
||||
\ 'Project_Dir' : '',
|
||||
\ 'Make_Command' : 'ACS COMPILE /Wait /Log /NoPreLoad /Optimize=Development /Debug %<',
|
||||
\ 'Error_Format' : '%+A%%ADAC-%t-%m,%C %#%m,%Zat line number %l in file %f,' .
|
||||
\ '%+I%%ada-I-%m,%C %#%m,%Zat line number %l in file %f'}
|
||||
|
||||
return Retval
|
||||
endfunction decada#New " }}}1
|
||||
|
||||
finish " 1}}}
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" Copyright (C) 2006 Martin Krischik
|
||||
"
|
||||
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||
"------------------------------------------------------------------------------
|
||||
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||
" vim: foldmethod=marker
|
||||
@@ -1,623 +0,0 @@
|
||||
" ---------------------------------------------------------------------
|
||||
" getscript.vim
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Jul 10, 2008
|
||||
" Version: 31
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
"
|
||||
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
||||
"redraw!|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
" ---------------------------------------------------------------------
|
||||
" Initialization: {{{1
|
||||
" if you're sourcing this file, surely you can't be
|
||||
" expecting vim to be in its vi-compatible mode!
|
||||
if &cp
|
||||
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
|
||||
if exists("g:loaded_getscript")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscript= "v31"
|
||||
|
||||
" ---------------------------
|
||||
" Global Variables: {{{1
|
||||
" ---------------------------
|
||||
" Cygwin Detection ------- {{{2
|
||||
if !exists("g:getscript_cygwin")
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
|
||||
let g:getscript_cygwin= 1
|
||||
else
|
||||
let g:getscript_cygwin= 0
|
||||
endif
|
||||
else
|
||||
let g:getscript_cygwin= 0
|
||||
endif
|
||||
endif
|
||||
" shell quoting character {{{2
|
||||
if exists("g:netrw_shq") && !exists("g:getscript_shq")
|
||||
let g:getscript_shq= g:netrw_shq
|
||||
elseif !exists("g:getscript_shq")
|
||||
if exists("&shq") && &shq != ""
|
||||
let g:getscript_shq= &shq
|
||||
elseif exists("&sxq") && &sxq != ""
|
||||
let g:getscript_shq= &sxq
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if g:getscript_cygwin
|
||||
let g:getscript_shq= "'"
|
||||
else
|
||||
let g:getscript_shq= '"'
|
||||
endif
|
||||
else
|
||||
let g:getscript_shq= "'"
|
||||
endif
|
||||
" call Decho("g:getscript_shq<".g:getscript_shq.">")
|
||||
endif
|
||||
|
||||
" wget vs curl {{{2
|
||||
if !exists("g:GetLatestVimScripts_wget")
|
||||
if executable("wget")
|
||||
let g:GetLatestVimScripts_wget= "wget"
|
||||
elseif executable("curl")
|
||||
let g:GetLatestVimScripts_wget= "curl"
|
||||
else
|
||||
let g:GetLatestVimScripts_wget = 'echo "GetLatestVimScripts needs wget or curl"'
|
||||
let g:GetLatestVimScripts_options = ""
|
||||
endif
|
||||
endif
|
||||
|
||||
" options that wget and curl require:
|
||||
if !exists("g:GetLatestVimScripts_options")
|
||||
if g:GetLatestVimScripts_wget == "wget"
|
||||
let g:GetLatestVimScripts_options= "-q -O"
|
||||
elseif g:GetLatestVimScripts_wget == "curl"
|
||||
let g:GetLatestVimScripts_options= "-s -O"
|
||||
else
|
||||
let g:GetLatestVimScripts_options= ""
|
||||
endif
|
||||
endif
|
||||
|
||||
" by default, allow autoinstall lines to work
|
||||
if !exists("g:GetLatestVimScripts_allowautoinstall")
|
||||
let g:GetLatestVimScripts_allowautoinstall= 1
|
||||
endif
|
||||
|
||||
"" For debugging:
|
||||
"let g:GetLatestVimScripts_wget = "echo"
|
||||
"let g:GetLatestVimScripts_options = "options"
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Check If AutoInstall Capable: {{{1
|
||||
let s:autoinstall= ""
|
||||
if g:GetLatestVimScripts_allowautoinstall
|
||||
|
||||
if (has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")) && &shell != "bash"
|
||||
" windows (but not cygwin/bash)
|
||||
let s:dotvim= "vimfiles"
|
||||
if !exists("g:GetLatestVimScripts_mv")
|
||||
let g:GetLatestVimScripts_mv= "ren"
|
||||
endif
|
||||
|
||||
else
|
||||
" unix
|
||||
let s:dotvim= ".vim"
|
||||
if !exists("g:GetLatestVimScripts_mv")
|
||||
let g:GetLatestVimScripts_mv= "mv"
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
|
||||
let s:autoinstall= $HOME."/".s:dotvim
|
||||
endif
|
||||
" call Decho("s:autoinstall<".s:autoinstall.">")
|
||||
"else "Decho
|
||||
" call Decho("g:GetLatestVimScripts_allowautoinstall=".g:GetLatestVimScripts_allowautoinstall.": :AutoInstall: disabled")
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
com! -nargs=0 GetLatestVimScripts call getscript#GetLatestVimScripts()
|
||||
com! -nargs=0 GetScript call getscript#GetLatestVimScripts()
|
||||
silent! com -nargs=0 GLVS call getscript#GetLatestVimScripts()
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" GetLatestVimScripts: this function gets the latest versions of {{{1
|
||||
" scripts based on the list in
|
||||
" (first dir in runtimepath)/GetLatest/GetLatestVimScripts.dat
|
||||
fun! getscript#GetLatestVimScripts()
|
||||
" call Dfunc("GetLatestVimScripts() autoinstall<".s:autoinstall.">")
|
||||
|
||||
" insure that wget is executable
|
||||
if executable(g:GetLatestVimScripts_wget) != 1
|
||||
echoerr "GetLatestVimScripts needs ".g:GetLatestVimScripts_wget." which apparently is not available on your system"
|
||||
" call Dret("GetLatestVimScripts : wget not executable/availble")
|
||||
return
|
||||
endif
|
||||
|
||||
" insure that fnameescape() is available
|
||||
if !exists("*fnameescape")
|
||||
echoerr "GetLatestVimScripts needs fnameescape() (provided by 7.1.299 or later)"
|
||||
return
|
||||
endif
|
||||
|
||||
" Find the .../GetLatest subdirectory under the runtimepath
|
||||
for datadir in split(&rtp,',') + ['']
|
||||
if isdirectory(datadir."/GetLatest")
|
||||
" call Decho("found directory<".datadir.">")
|
||||
let datadir= datadir . "/GetLatest"
|
||||
break
|
||||
endif
|
||||
if filereadable(datadir."GetLatestVimScripts.dat")
|
||||
" call Decho("found ".datadir."/GetLatestVimScripts.dat")
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Sanity checks: readability and writability
|
||||
if datadir == ""
|
||||
echoerr 'Missing "GetLatest/" on your runtimepath - see :help glvs-dist-install'
|
||||
" call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory")
|
||||
return
|
||||
endif
|
||||
|
||||
if filewritable(datadir) != 2
|
||||
echoerr "(getLatestVimScripts) Your ".datadir." isn't writable"
|
||||
" call Dret("GetLatestVimScripts : non-writable directory<".datadir.">")
|
||||
return
|
||||
endif
|
||||
let datafile= datadir."/GetLatestVimScripts.dat"
|
||||
if !filereadable(datafile)
|
||||
echoerr "Your data file<".datafile."> isn't readable"
|
||||
" call Dret("GetLatestVimScripts : non-readable datafile<".datafile.">")
|
||||
return
|
||||
endif
|
||||
if !filewritable(datafile)
|
||||
echoerr "Your data file<".datafile."> isn't writable"
|
||||
" call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">")
|
||||
return
|
||||
endif
|
||||
" call Decho("datadir <".datadir.">")
|
||||
" call Decho("datafile <".datafile.">")
|
||||
|
||||
" don't let any events interfere (like winmanager's, taglist's, etc)
|
||||
let eikeep= &ei
|
||||
let hlskeep= &hls
|
||||
set ei=all hls&vim
|
||||
|
||||
" record current directory, change to datadir, open split window with
|
||||
" datafile
|
||||
let origdir= getcwd()
|
||||
" call Decho("exe cd ".fnameescape(substitute(datadir,'\','/','ge')))
|
||||
exe "cd ".fnameescape(substitute(datadir,'\','/','ge'))
|
||||
split
|
||||
" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge')))
|
||||
exe "e ".fnameescape(substitute(datafile,'\','/','ge'))
|
||||
res 1000
|
||||
let s:downloads = 0
|
||||
let s:downerrors= 0
|
||||
|
||||
" Check on dependencies mentioned in plugins
|
||||
" call Decho(" ")
|
||||
" call Decho("searching plugins for GetLatestVimScripts dependencies")
|
||||
let lastline = line("$")
|
||||
" call Decho("lastline#".lastline)
|
||||
let plugins = split(globpath(&rtp,"plugin/*.vim"),'\n')
|
||||
let foundscript = 0
|
||||
let firstdir= ""
|
||||
|
||||
for plugin in plugins
|
||||
" call Decho("plugin<".plugin.">")
|
||||
|
||||
" don't process plugins in system directories
|
||||
if firstdir == ""
|
||||
let firstdir= substitute(plugin,'[/\\][^/\\]\+$','','')
|
||||
" call Decho("setting firstdir<".firstdir.">")
|
||||
else
|
||||
let curdir= substitute(plugin,'[/\\][^/\\]\+$','','')
|
||||
" call Decho("curdir<".curdir.">")
|
||||
if curdir != firstdir
|
||||
" call Decho("skipping subsequent plugins: curdir<".curdir."> != firstdir<".firstdir.">")
|
||||
break
|
||||
endif
|
||||
endif
|
||||
|
||||
" read plugin in
|
||||
" evidently a :r creates a new buffer (the "#" buffer) that is subsequently unused -- bwiping it
|
||||
$
|
||||
" call Decho(" ")
|
||||
" call Decho(".dependency checking<".plugin."> line$=".line("$"))
|
||||
" call Decho("exe silent r ".fnameescape(plugin))
|
||||
exe "silent r ".fnameescape(plugin)
|
||||
exe "silent bwipe ".bufnr("#")
|
||||
|
||||
while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0
|
||||
let newscript= substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
|
||||
let llp1 = lastline+1
|
||||
" call Decho("..newscript<".newscript.">")
|
||||
|
||||
" don't process ""GetLatestVimScripts lines -- those that have been doubly-commented out
|
||||
if newscript !~ '^"'
|
||||
" found a "GetLatestVimScripts: # #" line in the script; check if its already in the datafile
|
||||
let curline = line(".")
|
||||
let noai_script = substitute(newscript,'\s*:AutoInstall:\s*','','e')
|
||||
exe llp1
|
||||
let srchline = search('\<'.noai_script.'\>','bW')
|
||||
" call Decho("..noai_script<".noai_script."> srch=".srchline."curline#".line(".")." lastline#".lastline)
|
||||
|
||||
if srchline == 0
|
||||
" found a new script to permanently include in the datafile
|
||||
let keep_rega = @a
|
||||
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
|
||||
exe lastline."put a"
|
||||
echomsg "Appending <".@a."> to ".datafile." for ".newscript
|
||||
" call Decho("..APPEND (".noai_script.")<".@a."> to GetLatestVimScripts.dat")
|
||||
let @a = keep_rega
|
||||
let lastline = llp1
|
||||
let curline = curline + 1
|
||||
let foundscript = foundscript + 1
|
||||
" else " Decho
|
||||
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
|
||||
endif
|
||||
|
||||
let curline = curline + 1
|
||||
exe curline
|
||||
endif
|
||||
endwhile
|
||||
|
||||
let llp1= lastline + 1
|
||||
" call Decho(".deleting lines: ".llp1.",$d")
|
||||
exe "silent! ".llp1.",$d"
|
||||
endfor
|
||||
" call Decho("--- end dependency checking loop --- foundscript=".foundscript)
|
||||
" call Decho(" ")
|
||||
" call Dredir("BUFFER TEST (GetLatestVimScripts 1)","ls!")
|
||||
|
||||
if foundscript == 0
|
||||
setlocal nomod
|
||||
endif
|
||||
|
||||
" Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat
|
||||
" call Decho("begin: checking out-of-date scripts using datafile<".datafile.">")
|
||||
setlocal lz
|
||||
1
|
||||
" /^-----/,$g/^\s*\d/call Decho(getline("."))
|
||||
1
|
||||
/^-----/,$g/^\s*\d/call s:GetOneScript()
|
||||
" call Decho("--- end out-of-date checking --- ")
|
||||
|
||||
" Final report (an echomsg)
|
||||
try
|
||||
silent! ?^-------?
|
||||
catch /^Vim\%((\a\+)\)\=:E114/
|
||||
" call Dret("GetLatestVimScripts : nothing done!")
|
||||
return
|
||||
endtry
|
||||
exe "norm! kz\<CR>"
|
||||
redraw!
|
||||
let s:msg = ""
|
||||
if s:downloads == 1
|
||||
let s:msg = "Downloaded one updated script to <".datadir.">"
|
||||
elseif s:downloads == 2
|
||||
let s:msg= "Downloaded two updated scripts to <".datadir.">"
|
||||
elseif s:downloads > 1
|
||||
let s:msg= "Downloaded ".s:downloads." updated scripts to <".datadir.">"
|
||||
else
|
||||
let s:msg= "Everything was already current"
|
||||
endif
|
||||
if s:downerrors > 0
|
||||
let s:msg= s:msg." (".s:downerrors." downloading errors)"
|
||||
endif
|
||||
echomsg s:msg
|
||||
" save the file
|
||||
if &mod
|
||||
silent! w!
|
||||
endif
|
||||
q
|
||||
|
||||
" restore events and current directory
|
||||
exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
|
||||
let &ei= eikeep
|
||||
let &hls= hlskeep
|
||||
setlocal nolz
|
||||
" call Dredir("BUFFER TEST (GetLatestVimScripts 2)","ls!")
|
||||
" call Dret("GetLatestVimScripts : did ".s:downloads." downloads")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" GetOneScript: (Get Latest Vim Script) this function operates {{{1
|
||||
" on the current line, interpreting two numbers and text as
|
||||
" ScriptID, SourceID, and Filename.
|
||||
" It downloads any scripts that have newer versions from vim.sf.net.
|
||||
fun! s:GetOneScript(...)
|
||||
" call Dfunc("GetOneScript()")
|
||||
|
||||
" set options to allow progress to be shown on screen
|
||||
let rega= @a
|
||||
let t_ti= &t_ti
|
||||
let t_te= &t_te
|
||||
let rs = &rs
|
||||
set t_ti= t_te= nors
|
||||
|
||||
" put current line on top-of-screen and interpret it into
|
||||
" a script identifer : used to obtain webpage
|
||||
" source identifier : used to identify current version
|
||||
" and an associated comment: used to report on what's being considered
|
||||
if a:0 >= 3
|
||||
let scriptid = a:1
|
||||
let srcid = a:2
|
||||
let fname = a:3
|
||||
let cmmnt = ""
|
||||
" call Decho("scriptid<".scriptid.">")
|
||||
" call Decho("srcid <".srcid.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
else
|
||||
let curline = getline(".")
|
||||
if curline =~ '^\s*#'
|
||||
let @a= rega
|
||||
" call Dret("GetOneScript : skipping a pure comment line")
|
||||
return
|
||||
endif
|
||||
let parsepat = '^\s*\(\d\+\)\s\+\(\d\+\)\s\+\(.\{-}\)\(\s*#.*\)\=$'
|
||||
try
|
||||
let scriptid = substitute(curline,parsepat,'\1','e')
|
||||
catch /^Vim\%((\a\+)\)\=:E486/
|
||||
let scriptid= 0
|
||||
endtry
|
||||
try
|
||||
let srcid = substitute(curline,parsepat,'\2','e')
|
||||
catch /^Vim\%((\a\+)\)\=:E486/
|
||||
let srcid= 0
|
||||
endtry
|
||||
try
|
||||
let fname= substitute(curline,parsepat,'\3','e')
|
||||
catch /^Vim\%((\a\+)\)\=:E486/
|
||||
let fname= ""
|
||||
endtry
|
||||
try
|
||||
let cmmnt= substitute(curline,parsepat,'\4','e')
|
||||
catch /^Vim\%((\a\+)\)\=:E486/
|
||||
let cmmnt= ""
|
||||
endtry
|
||||
" call Decho("curline <".curline.">")
|
||||
" call Decho("parsepat<".parsepat.">")
|
||||
" call Decho("scriptid<".scriptid.">")
|
||||
" call Decho("srcid <".srcid.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
endif
|
||||
|
||||
if scriptid == 0 || srcid == 0
|
||||
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
|
||||
let @a= rega
|
||||
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
|
||||
return
|
||||
endif
|
||||
|
||||
let doautoinstall= 0
|
||||
if fname =~ ":AutoInstall:"
|
||||
" call Decho("case AutoInstall: fname<".fname.">")
|
||||
let aicmmnt= substitute(fname,'\s\+:AutoInstall:\s\+',' ','')
|
||||
" call Decho("aicmmnt<".aicmmnt."> s:autoinstall=".s:autoinstall)
|
||||
if s:autoinstall != ""
|
||||
let doautoinstall = g:GetLatestVimScripts_allowautoinstall
|
||||
endif
|
||||
else
|
||||
let aicmmnt= fname
|
||||
endif
|
||||
" call Decho("aicmmnt<".aicmmnt.">: doautoinstall=".doautoinstall)
|
||||
|
||||
exe "norm z\<CR>"
|
||||
redraw!
|
||||
" call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid)
|
||||
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
|
||||
|
||||
" grab a copy of the plugin's vim.sf.net webpage
|
||||
let scriptaddr = 'http://vim.sf.net/script.php?script_id='.scriptid
|
||||
let tmpfile = tempname()
|
||||
let v:errmsg = ""
|
||||
|
||||
" make up to three tries at downloading the description
|
||||
let itry= 1
|
||||
while itry <= 3
|
||||
" call Decho("try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
|
||||
if has("win32") || has("win16") || has("win95")
|
||||
" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)."|bw!")
|
||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)|bw!
|
||||
else
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr))
|
||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr)
|
||||
endif
|
||||
if itry == 1
|
||||
exe "silent vsplit ".fnameescape(tmpfile)
|
||||
else
|
||||
silent! e %
|
||||
endif
|
||||
setlocal bh=wipe
|
||||
|
||||
" find the latest source-id in the plugin's webpage
|
||||
silent! 1
|
||||
let findpkg= search('Click on the package to download','W')
|
||||
if findpkg > 0
|
||||
break
|
||||
endif
|
||||
let itry= itry + 1
|
||||
endwhile
|
||||
" call Decho(" --- end downloading tries while loop --- itry=".itry)
|
||||
|
||||
" testing: did finding "Click on the package..." fail?
|
||||
if findpkg == 0 || itry >= 4
|
||||
silent q!
|
||||
call delete(tmpfile)
|
||||
" restore options
|
||||
let &t_ti = t_ti
|
||||
let &t_te = t_te
|
||||
let &rs = rs
|
||||
let s:downerrors = s:downerrors + 1
|
||||
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
|
||||
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
|
||||
" call Dret("GetOneScript : srch for /Click on the package/ failed")
|
||||
let @a= rega
|
||||
return
|
||||
endif
|
||||
" call Decho('found "Click on the package to download"')
|
||||
|
||||
let findsrcid= search('src_id=','W')
|
||||
if findsrcid == 0
|
||||
silent q!
|
||||
call delete(tmpfile)
|
||||
" restore options
|
||||
let &t_ti = t_ti
|
||||
let &t_te = t_te
|
||||
let &rs = rs
|
||||
let s:downerrors = s:downerrors + 1
|
||||
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
|
||||
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
|
||||
let @a= rega
|
||||
" call Dret("GetOneScript : srch for /src_id/ failed")
|
||||
return
|
||||
endif
|
||||
" call Decho('found "src_id=" in description page')
|
||||
|
||||
let srcidpat = '^\s*<td class.*src_id=\(\d\+\)">\([^<]\+\)<.*$'
|
||||
let latestsrcid= substitute(getline("."),srcidpat,'\1','')
|
||||
let sname = substitute(getline("."),srcidpat,'\2','') " script name actually downloaded
|
||||
" call Decho("srcidpat<".srcidpat."> latestsrcid<".latestsrcid."> sname<".sname.">")
|
||||
silent q!
|
||||
call delete(tmpfile)
|
||||
|
||||
" convert the strings-of-numbers into numbers
|
||||
let srcid = srcid + 0
|
||||
let latestsrcid = latestsrcid + 0
|
||||
" call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">")
|
||||
|
||||
" has the plugin's most-recent srcid increased, which indicates
|
||||
" that it has been updated
|
||||
if latestsrcid > srcid
|
||||
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">")
|
||||
|
||||
let s:downloads= s:downloads + 1
|
||||
if sname == bufname("%")
|
||||
" GetLatestVimScript has to be careful about downloading itself
|
||||
let sname= "NEW_".sname
|
||||
endif
|
||||
|
||||
" the plugin has been updated since we last obtained it, so download a new copy
|
||||
" call Decho("...downloading new <".sname.">")
|
||||
echomsg "...downloading new <".sname.">"
|
||||
if has("win32") || has("win16") || has("win95")
|
||||
" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
|
||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)|q
|
||||
else
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='))
|
||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id=').latestsrcid
|
||||
endif
|
||||
|
||||
" AutoInstall: only if doautoinstall has been requested by the plugin itself
|
||||
if doautoinstall
|
||||
" call Decho("attempting to do autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
|
||||
if filereadable(sname)
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall))
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall)
|
||||
let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
|
||||
let installdir= curdir."/Installed"
|
||||
if !isdirectory(installdir)
|
||||
call mkdir(installdir)
|
||||
endif
|
||||
" call Decho("exe cd ".fnameescape(s:autoinstall))
|
||||
exe "cd ".fnameescape(s:autoinstall)
|
||||
|
||||
" decompress
|
||||
if sname =~ '\.bz2$'
|
||||
" call Decho("decompress: attempt to bunzip2 ".sname)
|
||||
exe "silent !bunzip2 ".s:Escape(sname)
|
||||
let sname= substitute(sname,'\.bz2$','','')
|
||||
" call Decho("decompress: new sname<".sname."> after bunzip2")
|
||||
elseif sname =~ '\.gz$'
|
||||
" call Decho("decompress: attempt to gunzip ".sname)
|
||||
exe "silent !gunzip ".s:Escape(sname)
|
||||
let sname= substitute(sname,'\.gz$','','')
|
||||
" call Decho("decompress: new sname<".sname."> after gunzip")
|
||||
endif
|
||||
|
||||
" distribute archive(.zip, .tar, .vba) contents
|
||||
if sname =~ '\.zip$'
|
||||
" call Decho("dearchive: attempt to unzip ".sname)
|
||||
exe "silent !unzip -o ".s:Escape(sname)
|
||||
elseif sname =~ '\.tar$'
|
||||
" call Decho("dearchive: attempt to untar ".sname)
|
||||
exe "silent !tar -xvf ".s:Escape(sname)
|
||||
elseif sname =~ '\.vba$'
|
||||
" call Decho("dearchive: attempt to handle a vimball: ".sname)
|
||||
silent 1split
|
||||
exe "silent e ".fnameescape(sname)
|
||||
silent so %
|
||||
silent q
|
||||
endif
|
||||
|
||||
if sname =~ '.vim$'
|
||||
" call Decho("dearchive: attempt to simply move ".sname." to plugin")
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." plugin"
|
||||
else
|
||||
" call Decho("dearchive: move <".sname."> to installdir<".installdir.">")
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".installdir
|
||||
endif
|
||||
|
||||
" helptags step
|
||||
let docdir= substitute(&rtp,',.*','','e')."/doc"
|
||||
" call Decho("helptags: docdir<".docdir.">")
|
||||
exe "helptags ".fnameescape(docdir)
|
||||
exe "cd ".fnameescape(curdir)
|
||||
endif
|
||||
if fname !~ ':AutoInstall:'
|
||||
let modline=scriptid." ".latestsrcid." :AutoInstall: ".fname.cmmnt
|
||||
else
|
||||
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
|
||||
endif
|
||||
else
|
||||
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
|
||||
endif
|
||||
|
||||
" update the data in the <GetLatestVimScripts.dat> file
|
||||
call setline(line("."),modline)
|
||||
" call Decho("update data in ".expand("%")."#".line(".").": modline<".modline.">")
|
||||
" else " Decho
|
||||
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
|
||||
endif
|
||||
|
||||
" restore options
|
||||
let &t_ti = t_ti
|
||||
let &t_te = t_te
|
||||
let &rs = rs
|
||||
let @a = rega
|
||||
" call Dredir("BUFFER TEST (GetOneScript)","ls!")
|
||||
|
||||
" call Dret("GetOneScript")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Escape: makes a string safe&suitable for the shell {{{2
|
||||
fun! s:Escape(name)
|
||||
" call Dfunc("s:Escape(name<".a:name.">)")
|
||||
if exists("*shellescape")
|
||||
" shellescape() was added by patch 7.0.111
|
||||
let name= shellescape(a:name)
|
||||
else
|
||||
let name= g:getscript_shq . a:name . g:getscript_shq
|
||||
endif
|
||||
" call Dret("s:Escape ".name)
|
||||
return name
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Restore Options: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim: ts=8 sts=2 fdm=marker nowrap
|
||||
@@ -1,147 +0,0 @@
|
||||
"------------------------------------------------------------------------------
|
||||
" Description: Vim Ada/GNAT compiler file
|
||||
" Language: Ada (GNAT)
|
||||
" $Id$
|
||||
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
|
||||
" Ned Okie <nokie@radford.edu>
|
||||
" $Author$
|
||||
" $Date$
|
||||
" Version: 4.6
|
||||
" $Revision$
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $
|
||||
" History: 24.05.2006 MK Unified Headers
|
||||
" 16.07.2006 MK Ada-Mode as vim-ball
|
||||
" 05.08.2006 MK Add session support
|
||||
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||
" autoload
|
||||
" 05.11.2006 MK Bram suggested to save on spaces
|
||||
" 19.09.2007 NO use project file only when there is a project
|
||||
" Help Page: compiler-gnat
|
||||
"------------------------------------------------------------------------------
|
||||
|
||||
if version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
function gnat#Make () dict " {{{1
|
||||
let &l:makeprg = self.Get_Command('Make')
|
||||
let &l:errorformat = self.Error_Format
|
||||
wall
|
||||
make
|
||||
copen
|
||||
set wrap
|
||||
wincmd W
|
||||
endfunction gnat#Make " }}}1
|
||||
|
||||
function gnat#Pretty () dict " {{{1
|
||||
execute "!" . self.Get_Command('Pretty')
|
||||
endfunction gnat#Make " }}}1
|
||||
|
||||
function gnat#Find () dict " {{{1
|
||||
execute "!" . self.Get_Command('Find')
|
||||
endfunction gnat#Find " }}}1
|
||||
|
||||
function gnat#Tags () dict " {{{1
|
||||
execute "!" . self.Get_Command('Tags')
|
||||
edit tags
|
||||
call gnat#Insert_Tags_Header ()
|
||||
update
|
||||
quit
|
||||
endfunction gnat#Tags " }}}1
|
||||
|
||||
function gnat#Set_Project_File (...) dict " {{{1
|
||||
if a:0 > 0
|
||||
let self.Project_File = a:1
|
||||
|
||||
if ! filereadable (self.Project_File)
|
||||
let self.Project_File = findfile (
|
||||
\ fnamemodify (self.Project_File, ':r'),
|
||||
\ $ADA_PROJECT_PATH,
|
||||
\ 1)
|
||||
endif
|
||||
elseif strlen (self.Project_File) > 0
|
||||
let self.Project_File = browse (0, 'GNAT Project File?', '', self.Project_File)
|
||||
elseif expand ("%:e") == 'gpr'
|
||||
let self.Project_File = browse (0, 'GNAT Project File?', '', expand ("%:e"))
|
||||
else
|
||||
let self.Project_File = browse (0, 'GNAT Project File?', '', 'default.gpr')
|
||||
endif
|
||||
|
||||
if strlen (v:this_session) > 0
|
||||
execute 'mksession! ' . v:this_session
|
||||
endif
|
||||
|
||||
"if strlen (self.Project_File) > 0
|
||||
"if has("vms")
|
||||
"call ada#Switch_Session (
|
||||
"\ expand('~')[0:-2] . ".vimfiles.session]gnat_" .
|
||||
"\ fnamemodify (self.Project_File, ":t:r") . ".vim")
|
||||
"else
|
||||
"call ada#Switch_Session (
|
||||
"\ expand('~') . "/vimfiles/session/gnat_" .
|
||||
"\ fnamemodify (self.Project_File, ":t:r") . ".vim")
|
||||
"endif
|
||||
"else
|
||||
"call ada#Switch_Session ('')
|
||||
"endif
|
||||
|
||||
return
|
||||
endfunction gnat#Set_Project_File " }}}1
|
||||
|
||||
function gnat#Get_Command (Command) dict " {{{1
|
||||
let l:Command = eval ('self.' . a:Command . '_Command')
|
||||
return eval (l:Command)
|
||||
endfunction gnat#Get_Command " }}}1
|
||||
|
||||
function gnat#Set_Session (...) dict " {{{1
|
||||
if argc() == 1 && fnamemodify (argv(0), ':e') == 'gpr'
|
||||
call self.Set_Project_File (argv(0))
|
||||
elseif strlen (v:servername) > 0
|
||||
call self.Set_Project_File (v:servername . '.gpr')
|
||||
endif
|
||||
endfunction gnat#Set_Session " }}}1
|
||||
|
||||
function gnat#New () " {{{1
|
||||
let l:Retval = {
|
||||
\ 'Make' : function ('gnat#Make'),
|
||||
\ 'Pretty' : function ('gnat#Pretty'),
|
||||
\ 'Find' : function ('gnat#Find'),
|
||||
\ 'Tags' : function ('gnat#Tags'),
|
||||
\ 'Set_Project_File' : function ('gnat#Set_Project_File'),
|
||||
\ 'Set_Session' : function ('gnat#Set_Session'),
|
||||
\ 'Get_Command' : function ('gnat#Get_Command'),
|
||||
\ 'Project_File' : '',
|
||||
\ 'Make_Command' : '"gnat make -P " . self.Project_File . " -F -gnatef "',
|
||||
\ 'Pretty_Command' : '"gnat pretty -P " . self.Project_File . " "',
|
||||
\ 'Find_Program' : '"gnat find -P " . self.Project_File . " -F "',
|
||||
\ 'Tags_Command' : '"gnat xref -P " . self.Project_File . " -v *.AD*"',
|
||||
\ 'Error_Format' : '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: (%ttyle) %m'}
|
||||
|
||||
return l:Retval
|
||||
endfunction gnat#New " }}}1
|
||||
|
||||
function gnat#Insert_Tags_Header () " {{{1
|
||||
1insert
|
||||
!_TAG_FILE_FORMAT 1 /extended format; --format=1 will not append ;" to lines/
|
||||
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
||||
!_TAG_PROGRAM_AUTHOR AdaCore /info@adacore.com/
|
||||
!_TAG_PROGRAM_NAME gnatxref //
|
||||
!_TAG_PROGRAM_URL http://www.adacore.com /official site/
|
||||
!_TAG_PROGRAM_VERSION 5.05w //
|
||||
.
|
||||
return
|
||||
endfunction gnat#Insert_Tags_Header " }}}1
|
||||
|
||||
finish " 1}}}
|
||||
|
||||
"------------------------------------------------------------------------------
|
||||
" Copyright (C) 2006 Martin Krischik
|
||||
"
|
||||
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||
"------------------------------------------------------------------------------
|
||||
" vim: textwidth=0 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||
" vim: foldmethod=marker
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user