Adding upstream version 2:9.1.1230.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
95f88d82e6
commit
0985b09abd
6270 changed files with 2000183 additions and 0 deletions
20
src/GvimExt/GvimExt.reg
Normal file
20
src/GvimExt/GvimExt.reg
Normal file
|
@ -0,0 +1,20 @@
|
|||
REGEDIT4
|
||||
|
||||
[HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}]
|
||||
@="Vim Shell Extension"
|
||||
[HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}\InProcServer32]
|
||||
@="gvimext.dll"
|
||||
"ThreadingModel"="Apartment"
|
||||
|
||||
[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\gvim]
|
||||
@="{51EEE242-AD87-11d3-9C1E-0090278BBD99}"
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
|
||||
"{51EEE242-AD87-11d3-9C1E-0090278BBD99}"="Vim Shell Extension"
|
||||
|
||||
[HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
|
||||
"path"="gvim.exe"
|
||||
|
||||
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 9.1]
|
||||
"DisplayName"="Vim 9.1: Edit with Vim popup menu entry"
|
||||
"UninstallString"="uninstall.exe"
|
83
src/GvimExt/Make_ming.mak
Normal file
83
src/GvimExt/Make_ming.mak
Normal file
|
@ -0,0 +1,83 @@
|
|||
# Project: gvimext
|
||||
# Generates gvimext.dll with gcc.
|
||||
# To be used with MingW and Cygwin.
|
||||
#
|
||||
# Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
|
||||
# Now it is allocated dynamically by the linker by evaluating all DLLs
|
||||
# already loaded in memory. The binary image contains as well information
|
||||
# for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
|
||||
|
||||
# If cross-compiling set this to yes, else set it to no
|
||||
CROSS = no
|
||||
#CROSS = yes
|
||||
# For the old MinGW 2.95 (the one you get e.g. with debian woody)
|
||||
# set the following variable to yes and check if the executables are
|
||||
# really named that way.
|
||||
# If you have a newer MinGW or you are using cygwin set it to no and
|
||||
# check also the executables
|
||||
MINGWOLD = no
|
||||
|
||||
# Link against the shared versions of libgcc/libstdc++ by default. Set
|
||||
# STATIC_STDCPLUS to "yes" to link against static versions instead.
|
||||
STATIC_STDCPLUS=no
|
||||
#STATIC_STDCPLUS=yes
|
||||
|
||||
# Note: -static-libstdc++ is not available until gcc 4.5.x.
|
||||
LDFLAGS += -shared
|
||||
ifeq (yes, $(STATIC_STDCPLUS))
|
||||
LDFLAGS += -static-libgcc -static-libstdc++
|
||||
endif
|
||||
|
||||
ifeq ($(CROSS),yes)
|
||||
DEL = rm -f
|
||||
ifeq ($(MINGWOLD),yes)
|
||||
CXXFLAGS := -O2 -fvtable-thunks
|
||||
else
|
||||
CXXFLAGS := -O2
|
||||
endif
|
||||
else
|
||||
CXXFLAGS := -O2
|
||||
ifneq (sh.exe, $(SHELL))
|
||||
DEL = rm -f
|
||||
else
|
||||
DEL = del
|
||||
endif
|
||||
endif
|
||||
# Set the default $(WINVER) to make it work with Windows 7.
|
||||
ifndef WINVER
|
||||
WINVER = 0x0601
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
WINDRES := $(CROSS_COMPILE)windres
|
||||
# this used to have --preprocessor, but it's no longer supported
|
||||
WINDRES_FLAGS =
|
||||
LIBS := -luuid -lgdi32
|
||||
RES := gvimext.res
|
||||
ifeq ($(findstring clang++,$(CXX)),)
|
||||
DEFFILE = gvimext_ming.def
|
||||
endif
|
||||
OBJ := gvimext.o
|
||||
|
||||
DLL := gvimext.dll
|
||||
|
||||
.PHONY: all all-before all-after clean clean-custom
|
||||
|
||||
all: all-before $(DLL) all-after
|
||||
|
||||
$(DLL): $(OBJ) $(RES) $(DEFFILE)
|
||||
$(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
|
||||
-Wl,--enable-auto-image-base \
|
||||
-Wl,--enable-auto-import \
|
||||
-Wl,--whole-archive \
|
||||
$^ \
|
||||
-Wl,--no-whole-archive \
|
||||
$(LIBS)
|
||||
|
||||
gvimext.o: gvimext.cpp
|
||||
$(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) -c $? -o $@
|
||||
|
||||
$(RES): gvimext_ming.rc
|
||||
$(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
|
||||
|
||||
clean: clean-custom
|
||||
-$(DEL) $(OBJ) $(RES) $(DLL)
|
96
src/GvimExt/Make_mvc.mak
Normal file
96
src/GvimExt/Make_mvc.mak
Normal file
|
@ -0,0 +1,96 @@
|
|||
# Makefile for GvimExt, using MSVC
|
||||
# Options:
|
||||
# DEBUG=yes Build debug version (for VC7 and maybe later)
|
||||
# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set
|
||||
# automatically from CPUNR
|
||||
#
|
||||
|
||||
TARGETOS = WINNT
|
||||
|
||||
!ifndef APPVER
|
||||
APPVER = 6.01
|
||||
!endif
|
||||
# Set the default $(WINVER) to make it work with Windows 7.
|
||||
!ifndef WINVER
|
||||
WINVER = 0x0601
|
||||
!endif
|
||||
|
||||
!if "$(DEBUG)" != "yes"
|
||||
NODEBUG = 1
|
||||
!endif
|
||||
|
||||
!ifndef CPU
|
||||
CPU = i386
|
||||
! ifndef PLATFORM
|
||||
! ifdef TARGET_CPU
|
||||
PLATFORM = $(TARGET_CPU)
|
||||
! elseif defined(VSCMD_ARG_TGT_ARCH)
|
||||
PLATFORM = $(VSCMD_ARG_TGT_ARCH)
|
||||
! endif
|
||||
! endif
|
||||
! ifdef PLATFORM
|
||||
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
||||
CPU = AMD64
|
||||
! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
|
||||
CPU = ARM64
|
||||
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
||||
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
||||
! endif
|
||||
! endif
|
||||
!endif
|
||||
|
||||
!ifdef SDK_INCLUDE_DIR
|
||||
! include $(SDK_INCLUDE_DIR)\Win32.mak
|
||||
!elseif "$(USE_WIN32MAK)"=="yes"
|
||||
! include <Win32.mak>
|
||||
!else
|
||||
cc = cl
|
||||
link = link
|
||||
rc = rc
|
||||
cflags = -nologo -c
|
||||
lflags = -incremental:no -nologo
|
||||
rcflags = /r
|
||||
olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
|
||||
!endif
|
||||
|
||||
# include CPUARG
|
||||
cflags = $(cflags) $(CPUARG)
|
||||
|
||||
# set WINVER and _WIN32_WINNT
|
||||
cflags = $(cflags) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
|
||||
|
||||
!if "$(CL)" == "/D_USING_V110_SDK71_"
|
||||
rcflags = $(rcflags) /D_USING_V110_SDK71_
|
||||
!endif
|
||||
|
||||
SUBSYSTEM = console
|
||||
!if "$(SUBSYSTEM_VER)" != ""
|
||||
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
||||
!endif
|
||||
|
||||
!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64"
|
||||
OFFSET = 0x11C000000
|
||||
!else
|
||||
OFFSET = 0x1C000000
|
||||
!endif
|
||||
|
||||
all: gvimext.dll
|
||||
|
||||
gvimext.dll: gvimext.obj \
|
||||
gvimext.res
|
||||
$(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM)
|
||||
|
||||
gvimext.obj: gvimext.h
|
||||
|
||||
.cpp.obj:
|
||||
$(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
|
||||
|
||||
gvimext.res: gvimext.rc
|
||||
$(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
|
||||
|
||||
clean:
|
||||
- if exist gvimext.dll del gvimext.dll
|
||||
- if exist gvimext.lib del gvimext.lib
|
||||
- if exist gvimext.exp del gvimext.exp
|
||||
- if exist gvimext.obj del gvimext.obj
|
||||
- if exist gvimext.res del gvimext.res
|
4
src/GvimExt/Makefile
Normal file
4
src/GvimExt/Makefile
Normal file
|
@ -0,0 +1,4 @@
|
|||
!message This makefile is deprecated. Use Make_mvc.mak instead.
|
||||
!message
|
||||
|
||||
!include Make_mvc.mak
|
94
src/GvimExt/README.txt
Normal file
94
src/GvimExt/README.txt
Normal file
|
@ -0,0 +1,94 @@
|
|||
README.txt for the gvimext DLL.
|
||||
|
||||
Written by Tianmiao Hu. Edited by Bram Moolenaar.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
|
||||
To install the "Edit with Vim" popup menu entry, it is recommended to use the
|
||||
"install.exe" program. It will ask you a few questions and install the needed
|
||||
registry entries.
|
||||
|
||||
In special situations you might want to make changes by hand. Check these
|
||||
items:
|
||||
- The gvimext.dll, gvim.exe and uninstall.exe either need to be in the search
|
||||
path, or you have to set the full path in the registry entries. You could
|
||||
move the gvimext.dll to the "windows\system" or "windows\system32"
|
||||
directory, where the other DLL files are.
|
||||
- You can find the names of the used registry entries in the file
|
||||
"GvimExt.reg". You can edit this file to add the paths. To install the
|
||||
registry entries, right-click the gvimext.reg file and choose the "merge"
|
||||
menu option.
|
||||
- The registry key [HKEY_LOCAL_MACHINE\Software\Vim\Gvim] is used by the
|
||||
gvimext.dll. The value "path" specifies the location of "gvim.exe". If
|
||||
gvim.exe is in the search path, the path can be omitted. The value "lang"
|
||||
can be used to set the language, for example "de" for German. If "lang" is
|
||||
omitted, the language set for Windows will be used.
|
||||
|
||||
It is the preferred method to keep gvim.exe with the runtime files, so that
|
||||
Vim will find them (also the translated menu items are there).
|
||||
|
||||
|
||||
UNINSTALLATION
|
||||
|
||||
To uninstall the "Edit with Vim" popup menu entry, it is recommended to use
|
||||
the "uninstal.exe" program.
|
||||
|
||||
In special situations you might want to uninstall by hand:
|
||||
- Open the registry by running regedit.exe.
|
||||
- Delete all the keys listed in GvimExt.reg, except this one:
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
|
||||
For this key, only delete one value:
|
||||
"{51EEE242-AD87-11d3-9C1E-0090278BBD99}"="Vim Shell Extension"
|
||||
- Delete the gvimext.dll, if you want. You might need to reboot the machine
|
||||
in order to remove this file. A quick way is to log off and re-login.
|
||||
|
||||
Another method is by using the uninst.bat script:
|
||||
uninst gvimext.inf
|
||||
This batch file will remove all the registry keys from the system. Then you
|
||||
can remove the gvimext.dll file.
|
||||
Note: In order for this batch file to work, you must have two system files:
|
||||
rundll32.exe and setupapi.dll. I believe you will have rundll32.exe in your
|
||||
system. I know windows nt 4.0 with the service pack 4 has setupapi.dll. My
|
||||
windows 95 has setupapi.dll. I find that the internet explorer 4.0 comes with
|
||||
the setupapi.dll in file Ie4_5.cab.
|
||||
|
||||
If you do encounter problems running this script, then probably you need to
|
||||
modify the uninst.bat to suit to your system. Basically, you must find out
|
||||
where are the locations for your rundll32.exe and setupapi.dll files. In
|
||||
windows nt, both files are under c:\winnt\system32 directory. In my windows 95
|
||||
system, I got setupapi.dll at c:\windows\system and rundll32.exe at
|
||||
c:\windows. So you might want to try something like:
|
||||
rundll32.exe c:\windows\system\setupapi.dll,InstallHinfSection DefaultUninstall 128 %1
|
||||
where %1 can be substituted by gvimext.inf
|
||||
|
||||
|
||||
THE SOURCE CODE
|
||||
|
||||
I have provided the source code here in hope that gvim users around world can
|
||||
further enhance this little dll. I believe the only thing you need to change
|
||||
is gvimext.cpp file. The important two functions you need to look at are
|
||||
QueryContextMenu and InvokeCommand. You can modify right-click menus in the
|
||||
QueryContextMenu function and invoke gvim in the InvokeCommand function. Note
|
||||
the selected files can be accessed from the DragQueryFile function. I am not
|
||||
familiar with the invoking options for gvim. I believe there are some
|
||||
improvements that can be made on that side.
|
||||
|
||||
I use MS Visual C++ 6.0's nmake to make the gvimext.dll. I don't have a
|
||||
chance to try earlier versions of MSVC. The files that are required for build
|
||||
are:
|
||||
gvimext.cpp
|
||||
gvimext.h
|
||||
gvimext.def
|
||||
gvimext.rc
|
||||
resource.h
|
||||
Makefile
|
||||
|
||||
To compile the DLL from the command line:
|
||||
vcvars32
|
||||
nmake -f Makefile
|
||||
|
||||
If you did something interesting to this dll, please let me know
|
||||
@ tianmiao@acm.org.
|
||||
|
||||
Happy vimming!!!
|
1065
src/GvimExt/gvimext.cpp
Normal file
1065
src/GvimExt/gvimext.cpp
Normal file
File diff suppressed because it is too large
Load diff
8
src/GvimExt/gvimext.def
Normal file
8
src/GvimExt/gvimext.def
Normal file
|
@ -0,0 +1,8 @@
|
|||
;gvimdef.def : Declares the module parameters for the DLL.
|
||||
|
||||
LIBRARY gvimext
|
||||
; DESCRIPTION 'Vim Shell Extension'
|
||||
|
||||
EXPORTS
|
||||
DllCanUnloadNow private
|
||||
DllGetClassObject private
|
167
src/GvimExt/gvimext.h
Normal file
167
src/GvimExt/gvimext.h
Normal file
|
@ -0,0 +1,167 @@
|
|||
/* vi:set ts=8 sts=4 sw=4:
|
||||
*
|
||||
* VIM - Vi IMproved gvimext by Tianmiao Hu
|
||||
*
|
||||
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
*/
|
||||
|
||||
/*
|
||||
* If you have any questions or any suggestions concerning gvimext, please
|
||||
* contact Tianmiao Hu: tianmiao@acm.org.
|
||||
*/
|
||||
|
||||
#if !defined(AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_)
|
||||
#define AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Insert your headers here
|
||||
// #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// common user interface routines
|
||||
//
|
||||
//
|
||||
//--------------------------------------------------------------
|
||||
|
||||
#ifndef STRICT
|
||||
# define STRICT
|
||||
#endif
|
||||
|
||||
#define INC_OLE2 // MS-Windows, get ole2 from windows.h
|
||||
|
||||
/* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
# define _CRT_SECURE_NO_DEPRECATE
|
||||
# define _CRT_NONSTDC_NO_DEPRECATE
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
#include <windowsx.h>
|
||||
#include <shlobj.h>
|
||||
#include <wchar.h>
|
||||
|
||||
#define ResultFromShort(i) ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i)))
|
||||
|
||||
// Initialize GUIDs (should be done only and at-least once per DLL/EXE)
|
||||
//
|
||||
#pragma data_seg(".text")
|
||||
#define INITGUID
|
||||
#include <initguid.h>
|
||||
|
||||
//
|
||||
// The class ID of this Shell extension class.
|
||||
//
|
||||
// class id: {51EEE242-AD87-11d3-9C1E-0090278BBD99}
|
||||
//
|
||||
//
|
||||
// NOTE!!! If you use this shell extension as a starting point,
|
||||
// you MUST change the GUID below. Simply run UUIDGEN.EXE
|
||||
// to generate a new GUID.
|
||||
//
|
||||
|
||||
// {51EEE242-AD87-11d3-9C1E-0090278BBD99}
|
||||
// static const GUID <<name>> =
|
||||
// { 0x51eee242, 0xad87, 0x11d3, { 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99 } };
|
||||
//
|
||||
//
|
||||
|
||||
// {51EEE242-AD87-11d3-9C1E-0090278BBD99}
|
||||
// IMPLEMENT_OLECREATE(<<class>>, <<external_name>>,
|
||||
// 0x51eee242, 0xad87, 0x11d3, 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99);
|
||||
//
|
||||
|
||||
// {51EEE242-AD87-11d3-9C1E-0090278BBD99} -- this is the registry format
|
||||
DEFINE_GUID(CLSID_ShellExtension, 0x51eee242, 0xad87, 0x11d3, 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99);
|
||||
|
||||
// this class factory object creates context menu handlers for windows 32 shell
|
||||
class CShellExtClassFactory : public IClassFactory
|
||||
{
|
||||
protected:
|
||||
ULONG m_cRef;
|
||||
|
||||
public:
|
||||
CShellExtClassFactory();
|
||||
~CShellExtClassFactory();
|
||||
|
||||
//IUnknown members
|
||||
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
|
||||
STDMETHODIMP_(ULONG) AddRef();
|
||||
STDMETHODIMP_(ULONG) Release();
|
||||
|
||||
//IClassFactory members
|
||||
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID FAR *);
|
||||
STDMETHODIMP LockServer(BOOL);
|
||||
};
|
||||
typedef CShellExtClassFactory *LPCSHELLEXTCLASSFACTORY;
|
||||
#define MAX_HWND 100
|
||||
|
||||
// this is the actual OLE Shell context menu handler
|
||||
class CShellExt : public IContextMenu,
|
||||
IShellExtInit
|
||||
{
|
||||
private:
|
||||
BOOL LoadMenuIcon();
|
||||
|
||||
protected:
|
||||
ULONG m_cRef;
|
||||
LPDATAOBJECT m_pDataObj;
|
||||
UINT m_edit_existing_off;
|
||||
HBITMAP m_hVimIconBitmap;
|
||||
|
||||
// For some reason, this callback must be static
|
||||
static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
|
||||
|
||||
STDMETHODIMP PushToWindow(HWND hParent,
|
||||
LPCSTR pszWorkingDir,
|
||||
LPCSTR pszCmd,
|
||||
LPCSTR pszParam,
|
||||
int iShowCmd,
|
||||
int idHWnd);
|
||||
|
||||
STDMETHODIMP InvokeSingleGvim(HWND hParent,
|
||||
LPCWSTR workingDir,
|
||||
LPCSTR pszCmd,
|
||||
LPCSTR pszParam,
|
||||
int iShowCmd,
|
||||
int gvimExtraOptions);
|
||||
|
||||
public:
|
||||
int m_cntOfHWnd;
|
||||
HWND m_hWnd[MAX_HWND];
|
||||
CShellExt();
|
||||
~CShellExt();
|
||||
|
||||
//IUnknown members
|
||||
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
|
||||
STDMETHODIMP_(ULONG) AddRef();
|
||||
STDMETHODIMP_(ULONG) Release();
|
||||
|
||||
//IShell members
|
||||
STDMETHODIMP QueryContextMenu(HMENU hMenu,
|
||||
UINT indexMenu,
|
||||
UINT idCmdFirst,
|
||||
UINT idCmdLast,
|
||||
UINT uFlags);
|
||||
|
||||
STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
|
||||
|
||||
STDMETHODIMP GetCommandString(UINT_PTR idCmd,
|
||||
UINT uFlags,
|
||||
UINT FAR *reserved,
|
||||
LPSTR pszName,
|
||||
UINT cchMax);
|
||||
|
||||
//IShellExtInit methods
|
||||
STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder,
|
||||
LPDATAOBJECT pDataObj,
|
||||
HKEY hKeyID);
|
||||
};
|
||||
|
||||
typedef CShellExt *LPCSHELLEXT;
|
||||
#pragma data_seg()
|
||||
|
||||
#endif
|
22
src/GvimExt/gvimext.inf
Normal file
22
src/GvimExt/gvimext.inf
Normal file
|
@ -0,0 +1,22 @@
|
|||
[Version]
|
||||
Signature="$Windows NT$""
|
||||
Provider="Tianmiao"
|
||||
|
||||
[Manufacture]
|
||||
|
||||
[DefaultInstall]
|
||||
AddReg=ThisDll.Add.Reg
|
||||
|
||||
[DefaultUninstall]
|
||||
DelReg=ThisDLL.Add.Reg
|
||||
|
||||
[ThisDll.Add.Reg]
|
||||
HKCR,CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}
|
||||
HKCR,CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}\InProcServer32
|
||||
HKCR,*\shellex\ContextMenuHandlers\gvim
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved",{51EEE242-AD87-11d3-9C1E-0090278BBD99}
|
||||
HKLM,Software\Vim\Gvim
|
||||
HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 9.1"
|
||||
|
||||
[Strings]
|
||||
ThisDll="gvimext.dll"
|
109
src/GvimExt/gvimext.rc
Normal file
109
src/GvimExt/gvimext.rc
Normal file
|
@ -0,0 +1,109 @@
|
|||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winresrc.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x3L
|
||||
#else
|
||||
FILEFLAGS 0x2L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "Comments", "Developed using COM architecture!\0"
|
||||
VALUE "CompanyName", "Tianmiao Hu's Developer Studio\0"
|
||||
VALUE "FileDescription", "A small project for the context menu of gvim!\0"
|
||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
||||
VALUE "InternalName", "gvim right-click menu extension\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1999 Tianmiao Hu\0"
|
||||
VALUE "LegalTrademarks", "Tianmiao Hu's Gvim Context Menu Extension\0"
|
||||
VALUE "OriginalFilename", "gvimext.dll\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "Tianmiao Hu's gvimext context menu extension\0"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
||||
VALUE "SpecialBuild", "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
10
src/GvimExt/gvimext_ming.def
Normal file
10
src/GvimExt/gvimext_ming.def
Normal file
|
@ -0,0 +1,10 @@
|
|||
;gvimdef_ming.def : Declares the module parameters for the DLL.
|
||||
;The mingw environment doesn't know anything about private declarations
|
||||
;Hence this is the same file as gvimext.def with private removed
|
||||
|
||||
LIBRARY gvimext
|
||||
; DESCRIPTION 'Vim Shell Extension build with MinGW'
|
||||
|
||||
EXPORTS
|
||||
DllCanUnloadNow = DllCanUnloadNow@0
|
||||
DllGetClassObject = DllGetClassObject@12
|
45
src/GvimExt/gvimext_ming.rc
Normal file
45
src/GvimExt/gvimext_ming.rc
Normal file
|
@ -0,0 +1,45 @@
|
|||
#include <windows.h>
|
||||
#define xstr(x) str(x)
|
||||
#define str(x) #x
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x3L
|
||||
#else
|
||||
FILEFLAGS 0x2L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE VFT_DLL
|
||||
FILESUBTYPE 0x0L
|
||||
{
|
||||
BLOCK "StringFileInfo"
|
||||
{
|
||||
BLOCK "040904b0"
|
||||
{
|
||||
VALUE "Comments", "Developed using COM architecture!\0"
|
||||
VALUE "CompanyName", "Tianmiao Hu's Developer Studio\0"
|
||||
VALUE "FileDescription", "A small project for the context menu of gvim!\0"
|
||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
||||
VALUE "InternalName", "gvim right-click menu extension\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1999 Tianmiao Hu\0"
|
||||
VALUE "LegalTrademarks", "Tianmiao Hu's Gvim Context Menu Extension\0"
|
||||
VALUE "OriginalFilename", "gvimext.dll\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "Tianmiao Hu's gvimext context menu extension\0"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
||||
|
||||
#if defined(__GNUC__)
|
||||
VALUE "SpecialBuild", "Build With " "MingW " xstr(__GNUC__) "." xstr(__GNUC_MINOR__) "." xstr(__GNUC_PATCHLEVEL__) " on " __DATE__ " " __TIME__ "\0"
|
||||
#else
|
||||
VALUE "SpecialBuild", "Unknown compiler\0"
|
||||
|
||||
#endif
|
||||
}
|
||||
}
|
||||
BLOCK "VarFileInfo"
|
||||
{
|
||||
VALUE "Translation", 0x409, 1200
|
||||
}
|
||||
}
|
15
src/GvimExt/resource.h
Normal file
15
src/GvimExt/resource.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by gvimext.rc
|
||||
//
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 101
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
1
src/GvimExt/uninst.bat
Normal file
1
src/GvimExt/uninst.bat
Normal file
|
@ -0,0 +1 @@
|
|||
rundll32.exe setupapi,InstallHinfSection DefaultUninstall 128 %1
|
Loading…
Add table
Add a link
Reference in a new issue