diff options
-rw-r--r-- | pixmaps/tb_print.xpm | 12 | ||||
-rw-r--r-- | runtime/doc/help.txt | 8 | ||||
-rw-r--r-- | runtime/lang/menu_pl_pl.utf-8.vim | 261 | ||||
-rw-r--r-- | runtime/menu.vim | 2 | ||||
-rw-r--r-- | runtime/plugin/tar.vim | 185 | ||||
-rw-r--r-- | runtime/syntax/named.vim | 8 | ||||
-rw-r--r-- | src/Makefile | 13 | ||||
-rw-r--r-- | src/gui_amiga.c | 2 | ||||
-rw-r--r-- | src/gui_beos.cc | 2 | ||||
-rw-r--r-- | src/gui_kde_x11.cc | 2 | ||||
-rw-r--r-- | src/gui_mac.c | 2 | ||||
-rw-r--r-- | src/gui_motif.c | 606 | ||||
-rw-r--r-- | src/gui_photon.c | 2 | ||||
-rw-r--r-- | src/gui_riscos.c | 2 | ||||
-rw-r--r-- | src/gui_w48.c | 2 | ||||
-rw-r--r-- | src/gui_xmdlg.c | 1287 | ||||
-rw-r--r-- | src/misc2.c | 4 | ||||
-rw-r--r-- | src/proto.h | 1 | ||||
-rw-r--r-- | src/proto/gui_xmdlg.pro | 3 | ||||
-rw-r--r-- | src/workshop.c | 2 |
20 files changed, 2303 insertions, 103 deletions
diff --git a/pixmaps/tb_print.xpm b/pixmaps/tb_print.xpm index a3a4756b1b..170aa9de5e 100644 --- a/pixmaps/tb_print.xpm +++ b/pixmaps/tb_print.xpm @@ -5,19 +5,19 @@ static char * tb_print_xpm[] = { /* 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", +"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.. ", -" .X...X.X. ", +" .XXXXX.X. ", " .XXXXX.... ", -" .X...XXXX.O ", -" .XXXXXXXX.O ", -" .X.....XX.O ", +" .XXXXXXXX. ", +" .XXXXXXXX. ", +" ..XXXXXXXX.. ", " .XXXXXXXX.O ", "................ ", ".XXXXXXXXXXXXXO. ", diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index 0e77179cd9..63f1ef3beb 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -1,4 +1,4 @@ -*help.txt* For Vim version 7.0aa. Last change: 2004 Jul 05 +*help.txt* For Vim version 7.0aa. Last change: 2004 Dec 30 VIM - main help file k @@ -189,12 +189,6 @@ Standard plugins ~ |pi_expl.txt| File explorer LOCAL ADDITIONS: *local-additions* -|engspchk.txt| English Spelling Checker (v57) May 25, 2004 -|example.txt| Example for a locally added help file -|matchit.txt| Extended "%" matching -|test.txt| Testing the hélp cömmĺnd nôw -|typecorr.txt| Plugin for correcting typing mistakes -|helpp.txt| Dummy line to avoid an error message ------------------------------------------------------------------------------ *bars* Bars example diff --git a/runtime/lang/menu_pl_pl.utf-8.vim b/runtime/lang/menu_pl_pl.utf-8.vim new file mode 100644 index 0000000000..b7e1d228b8 --- /dev/null +++ b/runtime/lang/menu_pl_pl.utf-8.vim @@ -0,0 +1,261 @@ +" Menu Translations: Polish +" Maintainer: Rafal M. Sulejman <rms@poczta.onet.pl> +" Initial Translation: Marcin Dalecki <dalecki@cs.net.pl> +" Last Change: 06 Sep 2001 + +" Quit when menu translations have already been done. +if exists("did_menu_trans") + finish +endif +let did_menu_trans = 1 + +scriptencoding iso-8859-2 + +" Help menu +menutrans &Help Po&moc +menutrans &Overview<Tab><F1> &Spis\ Treści<Tab><F1> +menutrans &How-to\ links &Odnośniki\ JTZ +menutrans &Credits Po&dziękowania +menutrans &User\ Manual Podręcznik\ &użytkownika +menutrans Co&pying &Kopiowanie +menutrans &Version &Wersja +menutrans &About o\ &Aplikacji + +" File menu +menutrans &File &Plik +menutrans &Open\.\.\.<Tab>:e &Otwórz\.\.\.<Tab>:e +menutrans Sp&lit-Open\.\.\.<Tab>:sp Otwórz\ z\ &podziałem\.\.\.<Tab>:sp +menutrans &New<Tab>:enew &Nowy<Tab>:enew +menutrans &Close<Tab>:close &Zamknij<Tab>:close +menutrans &Save<Tab>:w Za&pisz<Tab>:w +menutrans Save\ &As\.\.\.<Tab>:sav Zapisz\ &jako\.\.\.<Tab>:sav +menutrans Split\ &Diff\ with\.\.\. Podziel\ na\ diff-a\ między\.\.\. +menutrans Split\ Patched\ &By\.\.\. Podziel\ łatane\ przez\.\.\. +menutrans &Print &Drukuj +menutrans Sa&ve-Exit<Tab>:wqa Zapisz\ i\ w&yjdź<Tab>:wqa +menutrans E&xit<Tab>:qa &Wyjście<Tab>:qa + +" Edit menu +menutrans &Edit &Edycja +menutrans &Undo<Tab>u &Cofnij<Tab>u +menutrans &Redo<Tab>^R &Ponów<Tab>^R +menutrans Rep&eat<Tab>\. P&owtórz<Tab>\. +menutrans Cu&t<Tab>"+x W&ytnij<Tab>"+x +menutrans &Copy<Tab>"+y &Kopiuj<Tab>"+y +menutrans &Paste<Tab>"+gP &Wklej<Tab>"+gP +menutrans Put\ &Before<Tab>[p Wstaw\ p&rzed<Tab>[p +menutrans Put\ &After<Tab>]p Wstaw\ p&o<Tab>]p +menutrans &Select\ all<Tab>ggVG Z&aznacz\ całość<Tab>ggVG +menutrans &Find\.\.\. &Szukaj\.\.\. +menutrans &Find<Tab>/ &Szukaj<Tab>/ +menutrans Find\ and\ Rep&lace\.\.\. &Zamień\.\.\. +menutrans Find\ and\ Rep&lace<Tab>:%s &Zamień<Tab>:%s +menutrans Find\ and\ Rep&lace &Zamień +menutrans Find\ and\ Rep&lace<Tab>:s &Zamień<Tab>:s +menutrans Options\.\.\. Opcje\.\.\. +menutrans Settings\ &Window Ustawienia +menutrans &Global\ Settings Ustawienia\ &globalne +menutrans F&ile\ Settings Ustawienia\ dla\ pliku +menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Numerowanie\ wierszy<Tab>:set\ nu! +menutrans Toggle\ &List\ Mode<Tab>:set\ list! Tryb\ &listowania<Tab>:set\ list! +menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Za&wijanie\ wierszy<Tab>:set\ wrap! +menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Łamanie\ wie&rsza<Tab>:set\ lbr! +menutrans Toggle\ &expand-tab<Tab>:set\ et! Rozwijani&e\ tabulatorów<Tab>:set\ et! +menutrans Toggle\ &auto-indent<Tab>:set\ ai! &Automatyczne\ wcięcia<Tab>:set\ ai! +menutrans Toggle\ &C-indenting<Tab>:set\ cin! Wcięcia\ &C<Tab>:set\ cin! +menutrans &Shiftwidth &Szerokość\ wcięcia +menutrans Te&xt\ Width\.\.\. Długość\ linii\.\.\. +menutrans &File\ Format\.\.\. &Format\ pliku\.\.\. +menutrans Soft\ &Tabstop Rozmiar\ &tabulacji +menutrans C&olor\ Scheme Zestawy\ kolorów +menutrans &Keymap Układy\ klawiatury +menutrans None żaden +menutrans accents akcenty +menutrans hebrew hebrajski +menutrans hebrewp hebrajski\ p +menutrans russian-jcuken rosyjski-jcuken +menutrans russian-jcukenwin rosyjski-jcukenwin +menutrans russian-yawerty rosyjski-yawerty + +menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Podkreślanie\ &wzorców<Tab>:set\ hls! + +menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Ignorowanie\ wielkości<Tab>:set\ ic! +menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Pokazywanie\ pasujących<Tab>:set\ sm! + +menutrans &Context\ lines Wiersze\ &kontekstowe +menutrans &Virtual\ Edit Obróbka\ &wirtualna + +menutrans Never Nigdy +menutrans Block\ Selection Zaznaczanie\ zakresu +menutrans Insert\ mode Tryb\ wprowadzania +menutrans Block\ and\ Insert Zakres\ i\ wprowadzanie +menutrans Always Zawsze + +menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Tryb\ wprowadzania<Tab>:set\ im! +menutrans Search\ &Path\.\.\. Scieżka\ poszukiwania\.\.\. +menutrans Ta&g\ Files\.\.\. Pliki\ tagów\.\.\. + + +" +" GUI options +menutrans Toggle\ &Toolbar Pasek\ narzędzi +menutrans Toggle\ &Bottom\ Scrollbar Dolny\ przewijacz +menutrans Toggle\ &Left\ Scrollbar &Lewy\ przewijacz +menutrans Toggle\ &Right\ Scrollbar P&rawy\ przewijacz + +" Programming menu +menutrans &Tools &Narzędzia +menutrans &Jump\ to\ this\ tag<Tab>g^] &Skocz\ do\ taga<Tab>g^] +menutrans Jump\ &back<Tab>^T Skok\ w\ &tył<Tab>^T +menutrans Build\ &Tags\ File &Twórz\ plik\ tagów +" Folding +menutrans &Folding &Zwijanie +menutrans &Enable/Disable\ folds<Tab>zi &Zwiń/rozwiń<Tab>zi +menutrans &View\ Cursor\ Line<Tab>zv &Linia\ kursora<Tab>zv +menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx &Tylko\ linia\ kursora<Tab>zMzx +menutrans C&lose\ more\ folds<Tab>zm Zwiń\ więcej<Tab>zm +menutrans &Close\ all\ folds<Tab>zM Z&wiń\ wszystkie<Tab>zM +menutrans &Open\ all\ folds<Tab>zR Rozwiń\ wszystkie<Tab>zR +menutrans O&pen\ more\ folds<Tab>zr R&ozwiń\ więcej<Tab>zr + +menutrans Create\ &Fold<Tab>zf T&wórz\ zawinięcie<Tab>zf +menutrans &Delete\ Fold<Tab>zd U&suń\ zawinięcie<Tab>zd +menutrans Delete\ &All\ Folds<Tab>zD &Usuń\ wszystkie\ zawinięcia<Tab>zD +menutrans Fold\ column\ &width Szerokość\ kolumny\ za&winięć +menutrans Fold\ Met&hod Me&toda\ zawijania +menutrans M&anual &Ręcznie +menutrans I&ndent W&cięcie +menutrans E&xpression W&yrazenie +menutrans S&yntax S&kładnia +menutrans Ma&rker Zn&acznik + +" Diff +menutrans &Update &Odśwież +menutrans &Get\ Block &Pobierz\ blok +menutrans &Put\ Block &Wstaw\ blok + +" Make and stuff... +menutrans &Make<Tab>:make M&ake<Tab>:make +menutrans &List\ Errors<Tab>:cl &Pokaż\ błędy<Tab>:cl +menutrans L&ist\ Messages<Tab>:cl! W&ylicz\ powiadomienia<Tab>:cl! +menutrans &Next\ Error<Tab>:cn &Następny\ błąd<Tab>:cn +menutrans &Previous\ Error<Tab>:cp &Poprzedni\ błąd<Tab>:cp +menutrans &Older\ List<Tab>:cold &Starsza\ lista<Tab>:cold +menutrans N&ewer\ List<Tab>:cnew N&owsza\ lista<Tab>:cnew +menutrans Error\ &Window Okno\ komu&nikatów +menutrans &Update<Tab>:cwin Akt&ualizuj<Tab>:cwin +menutrans &Close<Tab>:cclose &Zamknij<Tab>:cclose +menutrans &Open<Tab>:copen &Otwórz<Tab>:copen + +menutrans &Set\ Compiler U&staw\ kompilator +menutrans &Convert\ to\ HEX<Tab>:%!xxd Kody\ szesnastkowe<Tab>:%!xxd +menutrans Conve&rt\ back<Tab>:%!xxd\ -r Zwykły\ tekst<Tab>:%!xxd\ -r + +" Names for buffer menu. +menutrans &Buffers &Bufory +menutrans &Refresh\ menu Odśwież +menutrans Delete Skasuj +menutrans &Alternate &Zmień +menutrans &Next &Następny +menutrans &Previous &Poprzedni +menutrans [No\ File] [Brak\ Pliku] + +" Window menu +menutrans &Window &Widoki +menutrans &New<Tab>^Wn &Nowy<Tab>^Wn +menutrans S&plit<Tab>^Ws Po&dziel<Tab>^Ws +menutrans Sp&lit\ To\ #<Tab>^W^^ P&odziel\ na\ #<Tab>^W^^ +menutrans Split\ &Vertically<Tab>^Wv Podziel\ pionowo<Tab>^Wv +menutrans Split\ File\ E&xplorer Otwórz\ menedżer\ plików + +menutrans &Close<Tab>^Wc &Zamknij<Tab>^Wc +menutrans Close\ &Other(s)<Tab>^Wo Zamknij\ &inne<Tab>^Wo +menutrans Ne&xt<Tab>^Ww &Następny<Tab>^Ww +menutrans P&revious<Tab>^WW &Poprzedni<Tab>^WW +menutrans &Equal\ Size<Tab>^W= &Wyrównaj\ wysokości<Tab>^W= +menutrans &Max\ Height<Tab>^W_ Z&maksymalizuj\ wysokość<Tab>^W_ +menutrans M&in\ Height<Tab>^W1_ Zminim&alizuj\ wysokość<Tab>^W1_ +menutrans Max\ Width<Tab>^W\| Maksymalna\ szerokość<Tab>^W\| +menutrans Min\ Width<Tab>^W1\| Minimalna\ szerokość<Tab>^W1\| +menutrans Max\ &Width<Tab>^W\| Zmaksymalizuj\ szerokość<Tab>^W\| +menutrans Min\ Widt&h<Tab>^W1\| Zminimalizuj\ szerokość<Tab>^W1\| +menutrans Move\ &To &Idź\ do +menutrans &Top<Tab>^WK &Góra<Tab>^WK +menutrans &Bottom<Tab>^WJ &Dół<Tab>^WJ +menutrans &Left\ side<Tab>^WH &Lewa\ strona<Tab>^WH +menutrans &Right\ side<Tab>^WL &Prawa\ strona<Tab>^WL +menutrans Rotate\ &Up<Tab>^WR Obróć\ w\ &górę<Tab>^WR +menutrans Rotate\ &Down<Tab>^Wr Obróć\ w\ &dół<Tab>^Wr +menutrans Split\ &Vertically<Tab>^Wv &Podziel\ w\ poziomie<Tab>^Wv +menutrans Select\ Fo&nt\.\.\. Wybierz\ &czcionkę\.\.\. + +" The popup menu +menutrans &Undo &Cofnij +menutrans Cu&t W&ytnij +menutrans &Copy &Kopiuj +menutrans &Paste &Wklej +menutrans &Delete &Skasuj +menutrans Select\ Blockwise Zaznacz\ &blok +menutrans Select\ &Word Zaznacz\ &słowo +menutrans Select\ &Line Zaznacz\ w&iersz +menutrans Select\ &Block Zaznacz\ &blok +menutrans Select\ &All Zaznacz\ c&ałość + +" The GUI toolbar +if has("toolbar") + if exists("*Do_toolbar_tmenu") + delfun Do_toolbar_tmenu + endif + fun Do_toolbar_tmenu() + tmenu ToolBar.Open Otwórz plik + tmenu ToolBar.Save Zapisz bieżący plik + tmenu ToolBar.SaveAll Zapisz wszystkie pliki + tmenu ToolBar.Print Drukuj + tmenu ToolBar.Undo Cofnij + tmenu ToolBar.Redo Ponów + tmenu ToolBar.Cut Wytnij + tmenu ToolBar.Copy Skopiuj + tmenu ToolBar.Paste Wklej + tmenu ToolBar.Find Szukaj... + tmenu ToolBar.FindNext Szukaj następnego + tmenu ToolBar.FindPrev Szukaj poprzedniego + tmenu ToolBar.Replace Szukaj i zamieniaj... + if 0 " disabled; These are in the Windows menu + tmenu ToolBar.New Nowy widok + tmenu ToolBar.WinSplit Podziel widok + tmenu ToolBar.WinMax Zmaksymalizuj widok + tmenu ToolBar.WinMin Zminimalizuj widok + tmenu ToolBar.WinClose Zamknij widok + endif + tmenu ToolBar.LoadSesn Załaduj sesję + tmenu ToolBar.SaveSesn Zachowaj bieżącą sesję + tmenu ToolBar.RunScript Uruchom skrypt Vima + tmenu ToolBar.Make Wykonaj bieżący projekt + tmenu ToolBar.Shell Otwórz powłokę + tmenu ToolBar.RunCtags Twórz tagi w bieżącym katalogu + tmenu ToolBar.TagJump Skok do taga pod kursorem + tmenu ToolBar.Help Pomoc Vima + tmenu ToolBar.FindHelp Przeszukuj pomoc Vim-a + endfun +endif + +" Syntax menu +menutrans &Show\ filetypes\ in\ menu &Pokazuj\ rodzaj\ pliku\ w\ menue +menutrans &Syntax &Składnia +menutrans Set\ '&syntax'\ only Ustaw\ tylko\ '&syntax' +menutrans Set\ '&filetype'\ too Ustaw\ również\ '&filetype' +menutrans &Off &Wyłącz +menutrans &Manual &Ręcznie +menutrans A&utomatic A&utomatyczne +menutrans on/off\ for\ &This\ file włącz/w&yłącz\ dla\ pliku +menutrans Co&lor\ test Test\ &kolorów +menutrans &Highlight\ test &Test\ podświetlania +menutrans &Convert\ to\ HTML Przetwórz\ na\ &HTML + +" dialog texts +let menutrans_no_file = "[Brak pliku]" +let menutrans_help_dialog = "Wprowadź komendę lub słowo, aby otrzymać pomoc o:\n\nPrzedrostek i_ oznacza komendę trybu Wprowadzania (np. i_CTRL-X)\nPrzedrostek c_ oznacza komendę edycji wiersza komend (np. c_<Del>)\nPrzedrostek ' oznacza nazwę opcji (np. 'shiftwidth')" +let g:menutrans_path_dialog = "Wprowadź ścieżkę poszukiwania plików.\nProszę rozdzielać nazwy katalogów przecinkiem." +let g:menutrans_tags_dialog = "Podaj nazwy plików tagów.\nProszę rozdzielać nazwy przecinkiem." +let g:menutrans_textwidth_dialog = "Wprowadź nową szerokość tekstu (0 wyłącza przewijanie): " +let g:menutrans_fileformat_dialog = "Wybierz format w którym ten plik ma być zapisany" diff --git a/runtime/menu.vim b/runtime/menu.vim index 0f0317d286..df9c65b6e6 100644 --- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -382,7 +382,7 @@ if has("keymap") endif unlet s:n endif -if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac") +if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac") an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR> endif diff --git a/runtime/plugin/tar.vim b/runtime/plugin/tar.vim new file mode 100644 index 0000000000..26fade4d27 --- /dev/null +++ b/runtime/plugin/tar.vim @@ -0,0 +1,185 @@ +" vim:set ts=4 sw=4 ai nobackup: + +" tar.vim -- a vim plugin for browsing tarfiles +" Copyright (c) 2002, Michael C. Toren <mct@toren.net> +" +" Updates are available from <http://michael.toren.net/code/>. If you +" find this script useful, or have suggestions for improvements, please +" let me know. +" +" Usage: +" Once this script is installed, attempting to edit a tarfile will present +" the user with a list of files contained in the tar archive. By moving the +" cursor over a filename and pressing ENTER, the contents of a file can be +" viewed in read-only mode, in a new window. Unfortunately, write support +" for tarfile components is not currently possible. +" +" Requirements: +" GNU tar, or a tar implementation that supports the "P" (don't strip +" out leading /'s from filenames), and "O" (extract files to standard +" output) options. Additionally, gzip is required for handling *.tar.Z, +" *.tar.gz, and *.tgz compressed tarfiles, and bzip2 is required for +" handling *.tar.bz2 compressed tarfiles. A unix-like operating system +" is probably also required. +" +" Installation: +" Place this file, tar.vim, in your $HOME/.vim/plugin directory, and +" either restart vim, or execute ":source $HOME/.vim/plugin/tar.vim" +" +" Todo: +" - Handle zipfiles? +" - Implement write support, somehow. +" +" License: +" This program is free software; you can redistribute it and/or modify it +" under the terms of the GNU General Public License, version 2, as published +" by the Free Software Foundation. +" +" This program is distributed in the hope that it will be useful, but +" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +" for more details. +" +" A copy of the GNU GPL is available as /usr/doc/copyright/GPL on Debian +" systems, or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html +" You can also obtain it by writing to the Free Software Foundation, Inc., +" 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +" +" Changelog: +" Tue Dec 31 13:38:08 EST 2002 First release to beta testers +" Sat Jan 4 14:06:19 EST 2003 Version 1.00 released + +let s:version = "1.00" + +if has("autocmd") +augroup tar + au! + au BufReadCmd tarfile:* call s:TarRead(expand("<afile>"), 1) + au BufReadCmd tarfile:*/* call s:TarRead(expand("<afile>"), 1) + au FileReadCmd tarfile:* call s:TarRead(expand("<afile>"), 0) + au FileReadCmd tarfile:*/* call s:TarRead(expand("<afile>"), 0) + + au BufWriteCmd tarfile:* call s:TarWrite(expand("<afile>")) + au BufWriteCmd tarfile:*/* call s:TarWrite(expand("<afile>")) + au FileWriteCmd tarfile:* call s:TarWrite(expand("<afile>")) + au FileWriteCmd tarfile:*/* call s:TarWrite(expand("<afile>")) + + au BufReadCmd *.tar call s:TarBrowse(expand("<afile>")) + au BufReadCmd *.tar.gz call s:TarBrowse(expand("<afile>")) + au BufReadCmd *.tar.bz2 call s:TarBrowse(expand("<afile>")) + au BufReadCmd *.tar.Z call s:TarBrowse(expand("<afile>")) + au BufReadCmd *.tgz call s:TarBrowse(expand("<afile>")) +augroup END +endif + +function! s:TarWrite(argument) + echo "ERROR: Sorry, no write support for tarfiles yet" +endfunction + +function! s:TarRead(argument, cleanup) + let l:argument = a:argument + let l:argument = substitute(l:argument, '^tarfile:', '', '') + let l:argument = substitute(l:argument, '^\~', $HOME, '') + + let l:tarfile = l:argument + while 1 + if (l:tarfile == "" || l:tarfile == "/") + echo "ERROR: Could not find a readable tarfile in path:" l:argument + return + endif + + if filereadable(l:tarfile) " found it! + break + endif + + let l:tarfile = fnamemodify(l:tarfile, ":h") + endwhile + + let l:toextract = strpart(l:argument, strlen(l:tarfile) + 1) + + if (l:toextract == "") + return + endif + + let l:cat = s:TarCatCommand(l:tarfile) + execute "r !" . l:cat . " < '" . l:tarfile . "'" + \ " | tar OPxf - '" . l:toextract . "'" + + if (a:cleanup) + 0d "blank line + execute "doautocmd BufReadPost " . expand("%") + setlocal readonly + silent preserve + endif +endfunction + +function! s:TarBrowse(tarfile) + setlocal noswapfile + setlocal buftype=nofile + setlocal bufhidden=hide + setlocal filetype= + setlocal nobuflisted + setlocal buftype=nofile + setlocal wrap + + let l:tarfile = a:tarfile + let b:tarfile = l:tarfile + let l:cat = s:TarCatCommand(l:tarfile) + + if ! filereadable(l:tarfile) + let l:tarfile = substitute(l:tarfile, '^tarfile:', '', '') + endif + + if ! filereadable(l:tarfile) + echo "ERROR: File not readable:" l:tarfile + return + endif + + call s:Say("\" tar.vim version " . s:version) + call s:Say("\" Browsing tarfile " . l:tarfile) + call s:Say("\" Hit ENTER to view contents in new window") + call s:Say("") + + silent execute "r!" . l:cat . "<'" . l:tarfile . "'| tar Ptf - " + 0d "blank line + /^$/1 + + setlocal readonly + setlocal nomodifiable + noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr> +endfunction + +function! s:TarBrowseSelect() + let l:line = getline(".") + + if (l:line =~ '^" ') + return + endif + + if (l:line =~ '/$') + echo "Please specify a file, not a directory" + return + endif + + let l:selection = "tarfile:" . b:tarfile . "/" . l:line + new + wincmd _ + execute "e " . l:selection +endfunction + +" kludge to deal with compressed archives +function! s:TarCatCommand(tarfile) + if a:tarfile =~# '\.\(gz\|tgz\|Z\)$' + let l:cat = "gzip -d -c" + elseif a:tarfile =~# '\.bz2$' + let l:cat = "bzip2 -d -c" + else + let l:cat = "cat" + endif + return l:cat +endfunction + +function! s:Say(string) + let @" = a:string + $ put +endfunction diff --git a/runtime/syntax/named.vim b/runtime/syntax/named.vim index 0918352f6c..df25870212 100644 --- a/runtime/syntax/named.vim +++ b/runtime/syntax/named.vim @@ -2,8 +2,9 @@ " Language: BIND 8.x configuration file " Maintainer: glory hump <rnd@web-drive.ru> " Last change: Mon May 21 04:51:01 SAMST 2001 +" Updated: by Martin Dalecki 2004-12-31 " Filenames: named.conf -" URL: http://rnd.web-drive.ru/vim/syntax/named.vim +" URL: http://rnd.web-drive.ru/vim/syntax/named.vim [DEFUNCT] " $Id$ " " NOTE @@ -33,10 +34,11 @@ set cpo-=C " BIND configuration file syn match namedComment "//.*" +syn match namedComment "#.*" syn region namedComment start="/\*" end="\*/" syn region namedString start=/"/ end=/"/ contained -" --- omitted trailing semicolon FIXME -syn match namedError /[^;{]$/ +" --- omitted trailing semicolon +syn match namedError /[^;{#]$/ " --- top-level keywords diff --git a/src/Makefile b/src/Makefile index 9b21a2e76a..5e43ee9df7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1089,9 +1089,11 @@ GTK_MAN_TARGETS = yes GTK_TESTTARGET = gui ### Motif GUI -MOTIF_SRC = gui.c gui_motif.c gui_x11.c pty.c gui_beval.c +MOTIF_SRC = gui.c gui_motif.c gui_x11.c pty.c gui_beval.c \ + gui_xmdlg.c MOTIF_OBJ = objects/gui.o objects/gui_motif.o objects/gui_x11.o \ - objects/pty.o objects/gui_beval.o + objects/pty.o objects/gui_beval.o \ + objects/gui_xmdlg.o MOTIF_DEFS = -DFEAT_GUI_MOTIF $(NARROW_PROTO) MOTIF_IPATH = $(GUI_INC_LOC) MOTIF_LIBS_DIR = $(GUI_LIB_LOC) @@ -1203,8 +1205,8 @@ CARBONGUI_BUNDLE = $(VIMNAME).app CARBONGUI_TESTARG = VIMPROG=../$(CARBONGUI_BUNDLE)/Contents/MacOS/$(VIMTARGET) # All GUI files -ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c gui_kde.cc gui_kde_wid.cc gui_kde_x11.cc gui_kde_wid_moc.cc -ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_amiga.pro gui_photon.pro +ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c gui_kde.cc gui_kde_wid.cc gui_kde_x11.cc gui_kde_wid_moc.cc +ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_amiga.pro gui_photon.pro # }}} @@ -2194,6 +2196,9 @@ objects/gui_gtk_x11.o: gui_gtk_x11.c objects/gui_motif.o: gui_motif.c $(CCC) -o $@ gui_motif.c +objects/gui_xmdlg.o: gui_xmdlg.c + $(CCC) -o $@ gui_xmdlg.c + objects/gui_x11.o: gui_x11.c $(CCC) -o $@ gui_x11.c diff --git a/src/gui_amiga.c b/src/gui_amiga.c index 9ce44ed367..0b76245fd4 100644 --- a/src/gui_amiga.c +++ b/src/gui_amiga.c @@ -1238,6 +1238,7 @@ gui_mch_get_font(char_u *name, int giveErrorIfMissing) return NULL; } +#if defined(FEAT_EVAL) || defined(PROTO) /* * Return the name of font "font" in allocated memory. * We always use the default font. @@ -1247,6 +1248,7 @@ gui_mch_get_fontname(GuiFont font, char_u *name) { return vim_strsave((char_u *)"default"); } +#endif void gui_mch_set_font(GuiFont font) diff --git a/src/gui_beos.cc b/src/gui_beos.cc index 32e4db0cb4..315136559e 100644 --- a/src/gui_beos.cc +++ b/src/gui_beos.cc @@ -2396,6 +2396,7 @@ error: return (GuiFont)font; } +#if defined(FEAT_EVAL) || defined(PROTO) /* * Return the name of font "font" in allocated memory. */ @@ -2404,6 +2405,7 @@ gui_mch_get_fontname(GuiFont font, char_u *name) { return vim_strsave(((VimFont *)font)->name); } +#endif /* * Set the current text font. diff --git a/src/gui_kde_x11.cc b/src/gui_kde_x11.cc index 8956264d4a..c8873ecb78 100644 --- a/src/gui_kde_x11.cc +++ b/src/gui_kde_x11.cc @@ -700,6 +700,7 @@ gui_mch_get_font(char_u * name, int report_error)//{{{ return (GuiFont) myFont; }//}}} +#if defined(FEAT_EVAL) || defined(PROTO) /* * Return the name of font "font" in allocated memory. * Don't know how to get the actual name, thus use the provided name. @@ -711,6 +712,7 @@ gui_mch_get_fontname(GuiFont font, char_u *name)//{{{ return NULL; return vim_strsave(name); }//}}} +#endif /* * Set the current text font. diff --git a/src/gui_mac.c b/src/gui_mac.c index f5e29abf28..3b73339df4 100644 --- a/src/gui_mac.c +++ b/src/gui_mac.c @@ -3569,6 +3569,7 @@ gui_mch_get_font(name, giveErrorIfMissing) return font; } +#if defined(FEAT_EVAL) || defined(PROTO) /* * Return the name of font "font" in allocated memory. * Don't know how to get the actual name, thus use the provided name. @@ -3582,6 +3583,7 @@ gui_mch_get_fontname(font, name) return NULL; return vim_strsave(name); } +#endif /* * Set the current text font. diff --git a/src/gui_motif.c b/src/gui_motif.c index 4fe26ec57b..d345af5cb6 100644 --- a/src/gui_motif.c +++ b/src/gui_motif.c @@ -93,9 +93,6 @@ static void attachDump(Widget, char *); static void gui_motif_menu_colors __ARGS((Widget id)); static void gui_motif_scroll_colors __ARGS((Widget id)); -#ifdef FEAT_MENU -static void gui_motif_menu_fontlist __ARGS((Widget id)); -#endif #if (XmVersion >= 1002) # define STRING_TAG XmFONTLIST_DEFAULT_TAG @@ -125,17 +122,122 @@ scroll_cb(w, client_data, call_data) gui_drag_scrollbar(sb, value, dragging); } - /* * End of call-back routines */ +#ifndef LESSTIF_VERSION +/* + * Implement three dimensional shading of insensitive labels. + * By Martin Dalecki. + */ + +#include <Xm/XmP.h> +#include <Xm/LabelP.h> + +static XtExposeProc old_label_expose = NULL; + +static void label_expose __ARGS((Widget _w, XEvent *_event, Region _region)); + + static void +label_expose(_w, _event, _region) + Widget _w; + XEvent *_event; + Region _region; +{ + GC insensitiveGC; + XmLabelWidget lw = (XmLabelWidget)_w; + unsigned char label_type = XmSTRING; + + XtVaGetValues(_w, XmNlabelType, &label_type, (XtPointer)0); + + if (XtIsSensitive(_w) || label_type != XmSTRING) + (*old_label_expose)(_w, _event, _region); + else + { + XGCValues values; + XtGCMask mask; + XtGCMask dynamic; + XFontStruct *fs; + + _XmFontListGetDefaultFont(lw->label.font, &fs); + + /* FIXME: we should be doing the whole drawing ourself here. */ + insensitiveGC = lw->label.insensitive_GC; + + mask = GCForeground | GCBackground | GCGraphicsExposures; + dynamic = GCClipMask | GCClipXOrigin | GCClipYOrigin; + values.graphics_exposures = False; + + if (fs != 0) + { + mask |= GCFont; + values.font = fs->fid; + } + + if (lw->primitive.top_shadow_pixmap != None + && lw->primitive.top_shadow_pixmap != XmUNSPECIFIED_PIXMAP) + { + mask |= GCFillStyle | GCTile; + values.fill_style = FillTiled; + values.tile = lw->primitive.top_shadow_pixmap; + } + + lw->label.TextRect.x += 1; + lw->label.TextRect.y += 1; + if (lw->label._acc_text != 0) + { + lw->label.acc_TextRect.x += 1; + lw->label.acc_TextRect.y += 1; + } + + values.foreground = lw->primitive.top_shadow_color; + values.background = lw->core.background_pixel; + + lw->label.insensitive_GC = + XtAllocateGC((Widget) lw, 0, mask, &values, dynamic, 0); + (*old_label_expose)(_w, _event, _region); + XtReleaseGC(_w, lw->label.insensitive_GC); + + lw->label.TextRect.x -= 1; + lw->label.TextRect.y -= 1; + if (lw->label._acc_text != 0) + { + lw->label.acc_TextRect.x -= 1; + lw->label.acc_TextRect.y -= 1; + } + + values.foreground = lw->primitive.bottom_shadow_color; + values.background = lw->core.background_pixel; + + lw->label.insensitive_GC = + XtAllocateGC((Widget) lw, 0, mask, &values, dynamic, 0); + (*old_label_expose)(_w, _event, _region); + XtReleaseGC(_w, lw->label.insensitive_GC); + + lw->label.insensitive_GC = insensitiveGC; + } +} +#endif + + /* * Create all the motif widgets necessary. */ void gui_x11_create_widgets() { +#ifndef LESSTIF_VERSION + /* + * Install the 3D shade effect drawing routines. + */ + if (old_label_expose == NULL) + { + old_label_expose = xmLabelWidgetClass->core_class.expose; + xmLabelWidgetClass->core_class.expose = label_expose; + } +#endif + /* * Start out by adding the configured border width into the border offset */ @@ -329,9 +431,7 @@ gui_x11_set_back_color() * Manage dialog centered on pointer. This could be used by the Athena code as * well. */ -static void manage_centered __ARGS((Widget dialog_child)); - -static void + void manage_centered(dialog_child) Widget dialog_child; { @@ -855,16 +955,15 @@ gui_mch_add_menu_item(menu, idx) xms = XmStringCreate((char *)menu->dname, STRING_TAG); XtSetArg(args[n], XmNlabelString, xms); n++; -#ifndef FEAT_SUN_WORKSHOP - /* Without shadows one can't sense whatever the button has been * pressed or not! However we wan't to save a bit of space... + * Need the highlightThickness to see the focus. */ - XtSetArg(args[n], XmNhighlightThickness, 0); n++; + XtSetArg(args[n], XmNhighlightThickness, 1); n++; XtSetArg(args[n], XmNhighlightOnEnter, True); n++; XtSetArg(args[n], XmNmarginWidth, 0); n++; XtSetArg(args[n], XmNmarginHeight, 0); n++; -#endif + if (menu->image == 0) { XtSetArg(args[n], XmNlabelType, XmSTRING); n++; @@ -1384,7 +1483,6 @@ gui_mch_create_scrollbar(sb, orient) int n; n = 0; - XtSetArg(args[n], XmNshadowThickness, 1); n++; XtSetArg(args[n], XmNminimum, 0); n++; XtSetArg(args[n], XmNorientation, (orient == SBAR_VERT) ? XmVERTICAL : XmHORIZONTAL); n++; @@ -1484,6 +1582,219 @@ gui_x11_get_wid() return(XtWindow(textArea)); } +/* + * Look for a widget in the widget tree w, with a mnemonic matching keycode. + * When one is found, simulate a button press on that widget and give it the + * keyboard focus. If the mnemonic is on a label, look in the userData field + * of the label to see if it points to another widget, and give that the focus. + */ + static void +do_mnemonic(Widget w, unsigned int keycode) +{ + WidgetList children; + int numChildren, i; + Boolean isMenu; + KeySym mnemonic = '\0'; + char mneString[2]; + Widget userData; + unsigned char rowColType; + + if (XtIsComposite(w)) + { + if (XtClass(w) == xmRowColumnWidgetClass) + { + XtVaGetValues(w, XmNrowColumnType, &rowColType, 0); + isMenu = (rowColType != (unsigned char)XmWORK_AREA); |