Index: src/winhugs/DlgOptions.c =================================================================== RCS file: /cvs/hugs98/src/winhugs/DlgOptions.c,v retrieving revision 1.1 diff -u -r1.1 DlgOptions.c --- src/winhugs/DlgOptions.c 1 Sep 2005 12:22:19 -0000 1.1 +++ src/winhugs/DlgOptions.c 5 Sep 2005 09:23:36 -0000 @@ -161,6 +161,29 @@ } break; + case 2: //Vim + // x = HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Vim.Application\CLSID + // vi = HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\$x$\LocalServer32 + // cmd = "$vi$" +%d %s + { + char Buf2[1000]; + Buffer[0] = 0; + + if (RegQueryValue(HKEY_LOCAL_MACHINE, + "SOFTWARE\\Classes\\Vim.Application\\CLSID", + Buffer, &Size) != ERROR_SUCCESS) + return FALSE; + + sprintf(Buf2, "SOFTWARE\\Classes\\CLSID\\%s\\LocalServer32", Buffer); + if (RegQueryValue(HKEY_LOCAL_MACHINE, Buf2, + &Buffer[1], &Size) != ERROR_SUCCESS) + return FALSE; + + Buffer[0] = '\"'; + strcat(Buffer, "\" +%d %s"); + } + break; + default: Buffer[0] = 0; break; @@ -175,6 +198,7 @@ const LPCTSTR Editors[] = { "Notepad", "Textpad (www.textpad.com)", + "Vim (www.vim.org)", NULL }; char* s;