mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
193 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a04d45bec | |||
| c0e65e6559 | |||
| f416086f26 | |||
| 6076fe1986 | |||
| 4d919d748e | |||
| a07fec9c85 | |||
| 36739b0d22 | |||
| 4b6a6dcbe7 | |||
| a8343c1808 | |||
| 3fc3e14282 | |||
| a02b321686 | |||
| 681baaf4a4 | |||
| e24692573a | |||
| 9fab7f8d8d | |||
| b3e2f00f39 | |||
| 66624ff0d9 | |||
| 3b05b135e3 | |||
| 608a8919ca | |||
| e7bed627c8 | |||
| bf087cead9 | |||
| 2212c4154c | |||
| fcb1e3d168 | |||
| f92591f7f9 | |||
| a0f9cd148e | |||
| 4f63131e19 | |||
| d01ff94e51 | |||
| 7c764f7bbf | |||
| d7ece1008e | |||
| 839232428f | |||
| f1a6b1f403 | |||
| d087566a41 | |||
| f57969a20a | |||
| fbf9c6b6c3 | |||
| 8d8c509ac8 | |||
| 04b08c3de6 | |||
| bc07309225 | |||
| df5b27b20e | |||
| 56ead341a7 | |||
| d9ea9069f5 | |||
| 3d372e3739 | |||
| 885f24fbca | |||
| 11e0afa00a | |||
| 5e9b2fa9bb | |||
| 488a130ea2 | |||
| 14ad611ca4 | |||
| 1357caf31f | |||
| 19d2f15898 | |||
| ca568aeec6 | |||
| f6c0c77fad | |||
| b27e281b92 | |||
| fb1f62691e | |||
| 155500077c | |||
| 448a22549b | |||
| 3803bad99d | |||
| d14e00ea67 | |||
| bbb3339dbf | |||
| a542c680a8 | |||
| e2c3810c2a | |||
| 3c124e3ac8 | |||
| fa399af7ec | |||
| af902a03cf | |||
| 937204a917 | |||
| 779a7759ad | |||
| 20fb9f3464 | |||
| ba4ef2757c | |||
| b638a7be95 | |||
| 764b23c8fd | |||
| 055409764c | |||
| c1ab67674a | |||
| 9b57814db1 | |||
| 52ea13da0f | |||
| 02fdaeaa69 | |||
| 68c2f638e6 | |||
| 66f948e928 | |||
| 78c0b7d43e | |||
| 7454a06e26 | |||
| 305598b712 | |||
| 4349c57543 | |||
| b9777ed993 | |||
| 23c23c2956 | |||
| 38c7f335ae | |||
| cc37ad3856 | |||
| faf40861fa | |||
| 3e96c3d241 | |||
| 569850724e | |||
| d99df423c5 | |||
| baaa7e9ec7 | |||
| 92b8b2d307 | |||
| d25c16e2f2 | |||
| f28dbcea37 | |||
| 2f80667a28 | |||
| f1caea5d83 | |||
| f12d983dea | |||
| 7069fe5415 | |||
| cbcbdf421a | |||
| 83162468b3 | |||
| b8b6511fc1 | |||
| fa06a517b5 | |||
| 298b440930 | |||
| 3b5f929b18 | |||
| 0c935dd1e5 | |||
| ba59ddbd36 | |||
| 923e43b837 | |||
| 009d84a34f | |||
| c9b303e83a | |||
| f8c8ee5223 | |||
| b31c3c32e3 | |||
| ba94bdc0c4 | |||
| c276ec4627 | |||
| 85be35f33e | |||
| 4a1314cb9c | |||
| be0e87e7d1 | |||
| 841de7e214 | |||
| a223182c26 | |||
| 9498828e29 | |||
| 18694f1b69 | |||
| 3bd2a8a606 | |||
| 0d6f835683 | |||
| 54e09e7198 | |||
| fb4194e4e0 | |||
| d04a020a8a | |||
| 6650a69454 | |||
| 5a783ebd29 | |||
| ac80999985 | |||
| 7465c6375f | |||
| f4f79b84a5 | |||
| 767d8c1a1a | |||
| 5aec481097 | |||
| 1d63539cc7 | |||
| f75612fd99 | |||
| 57e16a3394 | |||
| 3e53c700a2 | |||
| 65591001e4 | |||
| 16435480f0 | |||
| 2e2301437c | |||
| 0e7f88e73e | |||
| e0874f8cbc | |||
| 705ada1aff | |||
| f48aa160fd | |||
| 0436922965 | |||
| fcaaae6b3f | |||
| 938ee834d3 | |||
| 6039c7f053 | |||
| 17a13437c9 | |||
| 9e3be26872 | |||
| 63ec85b970 | |||
| 2faa29f896 | |||
| bd4593ffb1 | |||
| e240c2da79 | |||
| 48e697e4b6 | |||
| f95534c3d4 | |||
| 2dedb45260 | |||
| 64922b9014 | |||
| 520e1e41f3 | |||
| 2561504d74 | |||
| 054e169de5 | |||
| 6920c72d4d | |||
| 2a4779dc51 | |||
| b7627630fa | |||
| 09e786e7a7 | |||
| 13d5aeef56 | |||
| 5f8a14b9de | |||
| 25281634cd | |||
| d6357e8f93 | |||
| e5f2be6159 | |||
| 06af25a72a | |||
| a1e2571e73 | |||
| ea9ee936fb | |||
| 2ec88ec4a8 | |||
| 88e8f9f144 | |||
| a7c3795a2e | |||
| 23c4f7183c | |||
| 862f54d6d8 | |||
| 17576a1e33 | |||
| 96539b3033 | |||
| f7edf40448 | |||
| b8060fe862 | |||
| 960696e272 | |||
| 692938007d | |||
| 6773a348da | |||
| e266d6d664 | |||
| fce7b3d24f | |||
| 3a466a8718 | |||
| 62ef797496 | |||
| da5dcd9366 | |||
| 301417041b | |||
| 82e4184d48 | |||
| ef26954a35 | |||
| 99dbe291f5 | |||
| f9dbf3e366 | |||
| e3727f2776 | |||
| b20e334859 | |||
| 61ff4dd6a4 |
+7
-8
@@ -17,7 +17,7 @@ env:
|
||||
vi_cv_dll_name_perl=/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE/libperl.dylib
|
||||
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.5/Python
|
||||
VIM=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
"CONFOPT='--with-features=huge --enable-multibyte --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
|
||||
|
||||
sudo: false
|
||||
@@ -30,17 +30,16 @@ before_install:
|
||||
script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure $CONFOPT --enable-fail-if-missing
|
||||
- cat src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"$vi_cv_dll_name_perl\\\\\"" src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"$vi_cv_dll_name_python\\\\\"" src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"$vi_cv_dll_name_python3\\\\\"" src/auto/config.mk
|
||||
- make -j$NPROC
|
||||
- cat src/auto/config.mk
|
||||
- $VIM -g -c "redir>result" -c version -c "redir END" -c q; sleep 1; cat result; cat result|grep -q -w "MacVim GUI"; rm result
|
||||
- $VIM -g -c "redir>result" -c lua 'print(\"Lua\")' -c "redir END" -c q; sleep 1; grep -q -w Lua; rm result
|
||||
- $VIM -g -c "redir>result" -c perl 'VIM::Msg(\"Perl\")' -c "redir END" -c q; sleep 1; grep -q -w Perl; rm result
|
||||
- $VIM -g -c "redir>result" -c py 'print(\"Python\")' -c "redir END" -c q; sleep 1; grep -q -w Python; rm result
|
||||
- $VIM -g -c "redir>result" -c py3 'print(\"Python3\")' -c "redir END" -c q; sleep 1; grep -q -w Python3; rm result
|
||||
- $VIM -g -c "redir>result" -c ruby 'puts(\"Ruby\")' -c "redir END" -c q; sleep 1; grep -q -w Ruby; rm result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "lua print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "perl VIM::Msg(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py3 print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "ruby puts(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- make test
|
||||
|
||||
before_deploy:
|
||||
|
||||
@@ -13,6 +13,7 @@ SRC_ALL = \
|
||||
src/ascii.h \
|
||||
src/blowfish.c \
|
||||
src/buffer.c \
|
||||
src/channel.c \
|
||||
src/charset.c \
|
||||
src/crypt.c \
|
||||
src/crypt_zip.c \
|
||||
@@ -39,6 +40,8 @@ SRC_ALL = \
|
||||
src/gui_beval.h \
|
||||
src/hardcopy.c \
|
||||
src/hashtab.c \
|
||||
src/json.c \
|
||||
src/json_test.c \
|
||||
src/keymap.h \
|
||||
src/macros.h \
|
||||
src/main.c \
|
||||
@@ -88,6 +91,7 @@ SRC_ALL = \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/*.in \
|
||||
src/testdir/*.py \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
@@ -113,6 +117,7 @@ SRC_ALL = \
|
||||
src/proto.h \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/channel.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/crypt.pro \
|
||||
src/proto/crypt_zip.pro \
|
||||
@@ -132,6 +137,7 @@ SRC_ALL = \
|
||||
src/proto/gui_beval.pro \
|
||||
src/proto/hardcopy.pro \
|
||||
src/proto/hashtab.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/main.pro \
|
||||
src/proto/mark.pro \
|
||||
src/proto/mbyte.pro \
|
||||
|
||||
+689
-378
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
||||
" Vim OMNI completion script for SQL
|
||||
" Language: SQL
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 15.0
|
||||
" Last Change: 2013 May 13
|
||||
" Version: 16.0
|
||||
" Last Change: 2015 Dec 29
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||
" Usage: For detailed help
|
||||
" ":help sql.txt"
|
||||
@@ -16,6 +16,12 @@
|
||||
" look backwards to a FROM clause and find the first table
|
||||
" and complete it.
|
||||
"
|
||||
" Version 16.0 (Dec 2015)
|
||||
" - NF: If reseting the cache and table, procedure or view completion
|
||||
" had been used via dbext, have dbext delete or recreate the
|
||||
" dictionary so that new objects are picked up for the
|
||||
" next completion.
|
||||
"
|
||||
" Version 15.0 (May 2013)
|
||||
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
|
||||
" to use regular expressions to pick up extended syntax group names.
|
||||
@@ -103,7 +109,7 @@ endif
|
||||
if exists('g:loaded_sql_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_sql_completion = 150
|
||||
let g:loaded_sql_completion = 160
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -459,6 +465,29 @@ function! sqlcomplete#Complete(findstart, base)
|
||||
let s:tbl_cols = []
|
||||
let s:syn_list = []
|
||||
let s:syn_value = []
|
||||
|
||||
if s:sql_file_table != ""
|
||||
if g:loaded_dbext >= 2300
|
||||
call DB_DictionaryDelete("table")
|
||||
else
|
||||
DBCompleteTables!
|
||||
endif
|
||||
endif
|
||||
if s:sql_file_procedure != ""
|
||||
if g:loaded_dbext >= 2300
|
||||
call DB_DictionaryDelete("procedure")
|
||||
else
|
||||
DBCompleteProcedures!
|
||||
endif
|
||||
endif
|
||||
if s:sql_file_view != ""
|
||||
if g:loaded_dbext >= 2300
|
||||
call DB_DictionaryDelete("view")
|
||||
else
|
||||
DBCompleteViews!
|
||||
endif
|
||||
endif
|
||||
|
||||
let s:sql_file_table = ""
|
||||
let s:sql_file_procedure = ""
|
||||
let s:sql_file_view = ""
|
||||
|
||||
@@ -17,6 +17,7 @@ DOCS = \
|
||||
arabic.txt \
|
||||
autocmd.txt \
|
||||
change.txt \
|
||||
channel.txt \
|
||||
cmdline.txt \
|
||||
debug.txt \
|
||||
debugger.txt \
|
||||
@@ -151,6 +152,7 @@ HTMLS = \
|
||||
arabic.html \
|
||||
autocmd.html \
|
||||
change.html \
|
||||
channel.html \
|
||||
cmdline.html \
|
||||
debug.html \
|
||||
debugger.html \
|
||||
|
||||
+14
-14
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.4. Last change: 2016 Jan 02
|
||||
*change.txt* For Vim version 7.4. Last change: 2016 Jan 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -977,8 +977,6 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
|
||||
`:retab!` may also change a sequence of spaces by
|
||||
<Tab> characters, which can mess up a printf().
|
||||
{not in Vi}
|
||||
Not available when |+ex_extra| feature was disabled at
|
||||
compile time.
|
||||
|
||||
*retab-example*
|
||||
Example for using autocommands and ":retab" to edit a file which is stored
|
||||
@@ -1354,22 +1352,16 @@ The next three commands always work on whole lines.
|
||||
Center lines in [range] between [width] columns
|
||||
(default 'textwidth' or 80 when 'textwidth' is 0).
|
||||
{not in Vi}
|
||||
Not available when |+ex_extra| feature was disabled at
|
||||
compile time.
|
||||
|
||||
:[range]ri[ght] [width] *:ri* *:right*
|
||||
Right-align lines in [range] at [width] columns
|
||||
(default 'textwidth' or 80 when 'textwidth' is 0).
|
||||
{not in Vi}
|
||||
Not available when |+ex_extra| feature was disabled at
|
||||
compile time.
|
||||
|
||||
*:le* *:left*
|
||||
:[range]le[ft] [indent]
|
||||
Left-align lines in [range]. Sets the indent in the
|
||||
lines to [indent] (default 0). {not in Vi}
|
||||
Not available when |+ex_extra| feature was disabled at
|
||||
compile time.
|
||||
|
||||
*gq*
|
||||
gq{motion} Format the lines that {motion} moves over.
|
||||
@@ -1745,7 +1737,7 @@ Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|, |uniq()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [i][u][r][n][x][o][b] [/{pattern}/]
|
||||
:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/]
|
||||
Sort lines in [range]. When no range is given all
|
||||
lines are sorted.
|
||||
|
||||
@@ -1753,10 +1745,18 @@ found here: |sort()|, |uniq()|.
|
||||
|
||||
With [i] case is ignored.
|
||||
|
||||
Options [n][f][x][o][b] are mutually exclusive.
|
||||
|
||||
With [n] sorting is done on the first decimal number
|
||||
in the line (after or inside a {pattern} match).
|
||||
One leading '-' is included in the number.
|
||||
|
||||
With [f] sorting is done on the Float in the line.
|
||||
The value of Float is determined similar to passing
|
||||
the text (after or inside a {pattern} match) to
|
||||
str2float() function. This option is available only
|
||||
if Vim was compiled with Floating point support.
|
||||
|
||||
With [x] sorting is done on the first hexadecimal
|
||||
number in the line (after or inside a {pattern}
|
||||
match). A leading "0x" or "0X" is ignored.
|
||||
@@ -1768,10 +1768,10 @@ found here: |sort()|, |uniq()|.
|
||||
With [b] sorting is done on the first binary number in
|
||||
the line (after or inside a {pattern} match).
|
||||
|
||||
With [u] only keep the first of a sequence of
|
||||
identical lines (ignoring case when [i] is used).
|
||||
Without this flag, a sequence of identical lines
|
||||
will be kept in their original order.
|
||||
With [u] (u stands for unique) only keep the first of
|
||||
a sequence of identical lines (ignoring case when [i]
|
||||
is used). Without this flag, a sequence of identical
|
||||
lines will be kept in their original order.
|
||||
Note that leading and trailing white space may cause
|
||||
lines to be different.
|
||||
|
||||
|
||||
@@ -0,0 +1,281 @@
|
||||
*channel.txt* For Vim version 7.4. Last change: 2016 Feb 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Inter-process communication *channel*
|
||||
|
||||
DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
|
||||
|
||||
Vim uses channels to communicate with other processes.
|
||||
A channel uses a socket. *socket-interface*
|
||||
|
||||
Vim current supports up to 10 simultaneous channels.
|
||||
The Netbeans interface also uses a channel. |netbeans|
|
||||
|
||||
1. Demo |channel-demo|
|
||||
2. Opening a channel |channel-open|
|
||||
3. Using a JSON channel |channel-use|
|
||||
4. Vim commands |channel-commands|
|
||||
5. Using a raw channel |channel-use|
|
||||
6. Job control |job-control|
|
||||
|
||||
{Vi does not have any of these features}
|
||||
{only available when compiled with the |+channel| feature}
|
||||
|
||||
==============================================================================
|
||||
1. Demo *channel-demo*
|
||||
|
||||
This requires Python. The demo program can be found in
|
||||
$VIMRUNTIME/tools/demoserver.py
|
||||
Run it in one terminal. We will call this T1.
|
||||
|
||||
Run Vim in another terminal. Connect to the demo server with: >
|
||||
let handle = ch_open('localhost:8765')
|
||||
|
||||
In T1 you should see:
|
||||
=== socket opened === ~
|
||||
|
||||
You can now send a message to the server: >
|
||||
echo ch_sendexpr(handle, 'hello!')
|
||||
|
||||
The message is received in T1 and a response is sent back to Vim.
|
||||
You can see the raw messages in T1. What Vim sends is:
|
||||
[1,"hello!"] ~
|
||||
And the response is:
|
||||
[1,"got it"] ~
|
||||
The number will increase every time you send a message.
|
||||
|
||||
The server can send a command to Vim. Type this on T1 (literally, including
|
||||
the quotes):
|
||||
["ex","echo 'hi there'"] ~
|
||||
And you should see the message in Vim. You can move the cursor a word forward:
|
||||
["normal","w"] ~
|
||||
|
||||
To handle asynchronous communication a callback needs to be used: >
|
||||
func MyHandler(handle, msg)
|
||||
echo "from the handler: " . a:msg
|
||||
endfunc
|
||||
call ch_sendexpr(handle, 'hello!', "MyHandler")
|
||||
|
||||
Instead of giving a callback with every send call, it can also be specified
|
||||
when opening the channel: >
|
||||
call ch_close(handle)
|
||||
let handle = ch_open('localhost:8765', {'callback': "MyHandler"})
|
||||
call ch_sendexpr(handle, 'hello!', 0)
|
||||
|
||||
==============================================================================
|
||||
2. Opening a channel *channel-open*
|
||||
|
||||
To open a channel: >
|
||||
let handle = ch_open({address} [, {argdict}])
|
||||
|
||||
{address} has the form "hostname:port". E.g., "localhost:8765".
|
||||
|
||||
{argdict} is a dictionary with optional entries:
|
||||
|
||||
"mode" can be: *channel-mode*
|
||||
"json" - Use JSON, see below; most convenient way. Default.
|
||||
"raw" - Use raw messages
|
||||
|
||||
*channel-callback*
|
||||
"callback" is a function that is called when a message is received that is not
|
||||
handled otherwise. It gets two arguments: the channel handle and the received
|
||||
message. Example: >
|
||||
func Handle(handle, msg)
|
||||
echo 'Received: ' . a:msg
|
||||
endfunc
|
||||
let handle = ch_open("localhost:8765", 'json', "Handle")
|
||||
|
||||
"waittime" is the time to wait for the connection to be made in milliseconds.
|
||||
The default is zero, don't wait, which is useful if the server is supposed to
|
||||
be running already. A negative number waits forever.
|
||||
|
||||
"timeout" is the time to wait for a request when blocking, using
|
||||
ch_sendexpr(). Again in millisecons. The default si 2000 (2 seconds).
|
||||
|
||||
When "mode" is "json" the "msg" argument is the body of the received message,
|
||||
converted to Vim types.
|
||||
When "mode" is "raw" the "msg" argument is the whole message as a string.
|
||||
|
||||
When "mode" is "json" the "callback" is optional. When omitted it is only
|
||||
possible to receive a message after sending one.
|
||||
|
||||
The handler can be added or changed later: >
|
||||
call ch_setcallback(handle, {callback})
|
||||
When "callback is empty (zero or an empty string) the handler is removed.
|
||||
NOT IMPLEMENTED YET
|
||||
|
||||
The timeout can be changed later: >
|
||||
call ch_settimeout(handle, {msec})
|
||||
NOT IMPLEMENTED YET
|
||||
|
||||
Once done with the channel, disconnect it like this: >
|
||||
call ch_close(handle)
|
||||
|
||||
Currently up to 10 channels can be in use at the same time. *E897*
|
||||
|
||||
When the channel can't be opened you will get an error message.
|
||||
*E898* *E899* *E900* *E901* *E902*
|
||||
|
||||
If there is an error reading or writing a channel it will be closed.
|
||||
*E896* *E630* *E631*
|
||||
|
||||
==============================================================================
|
||||
3. Using a JSON channel *channel-use*
|
||||
|
||||
If {mode} is "json" then a message can be sent synchronously like this: >
|
||||
let response = ch_sendexpr(handle, {expr})
|
||||
This awaits a response from the other side.
|
||||
|
||||
To send a message, without handling a response: >
|
||||
call ch_sendexpr(handle, {expr}, 0)
|
||||
|
||||
To send a message and letting the response handled by a specific function,
|
||||
asynchronously: >
|
||||
call ch_sendexpr(handle, {expr}, {callback})
|
||||
|
||||
The {expr} is converted to JSON and wrapped in an array. An example of the
|
||||
message that the receiver will get when {expr} is the string "hello":
|
||||
[12,"hello"] ~
|
||||
|
||||
The format of the JSON sent is:
|
||||
[{number},{expr}]
|
||||
|
||||
In which {number} is different every time. It must be used in the response
|
||||
(if any):
|
||||
|
||||
[{number},{response}]
|
||||
|
||||
This way Vim knows which sent message matches with which received message and
|
||||
can call the right handler. Also when the messages arrive out of order.
|
||||
|
||||
The sender must always send valid JSON to Vim. Vim can check for the end of
|
||||
the message by parsing the JSON. It will only accept the message if the end
|
||||
was received.
|
||||
|
||||
When the process wants to send a message to Vim without first receiving a
|
||||
message, it must use the number zero:
|
||||
[0,{response}]
|
||||
|
||||
Then channel handler will then get {response} converted to Vim types. If the
|
||||
channel does not have a handler the message is dropped.
|
||||
|
||||
On read error or ch_close() the string "DETACH" is sent, if still possible.
|
||||
The channel will then be inactive.
|
||||
|
||||
==============================================================================
|
||||
4. Vim commands *channel-commands*
|
||||
|
||||
PARTLY IMPLEMENTED: only "ex" and "normal" work
|
||||
|
||||
With a "json" channel the process can send commands to Vim that will be
|
||||
handled by Vim internally, it does not require a handler for the channel.
|
||||
|
||||
Possible commands are: *E903* *E904* *E905*
|
||||
["redraw" {forced}]
|
||||
["ex", {Ex command}]
|
||||
["normal", {Normal mode command}]
|
||||
["eval", {expression}, {number}]
|
||||
["expr", {expression}]
|
||||
|
||||
With all of these: Be careful what these commands do! You can easily
|
||||
interfere with what the user is doing. To avoid trouble use |mode()| to check
|
||||
that the editor is in the expected state. E.g., to send keys that must be
|
||||
inserted as text, not executed as a command:
|
||||
["ex","if mode() == 'i' | call feedkeys('ClassName') | endif"] ~
|
||||
|
||||
Errors in these commands are normally not reported to avoid them messing up
|
||||
the display. If you do want to see them, set the 'verbose' option to 3 or
|
||||
higher.
|
||||
|
||||
|
||||
Command "redraw" ~
|
||||
|
||||
The other commands do not update the screen, so that you can send a sequence
|
||||
of commands without the cursor moving around. You must end with the "redraw"
|
||||
command to show any changed text and show the cursor where it belongs.
|
||||
|
||||
The argument is normally an empty string:
|
||||
["redraw", ""] ~
|
||||
To first clear the screen pass "force":
|
||||
["redraw", "force"] ~
|
||||
|
||||
|
||||
Command "ex" ~
|
||||
|
||||
The "ex" command is executed as any Ex command. There is no response for
|
||||
completion or error. You could use functions in an |autoload| script:
|
||||
["ex","call myscript#MyFunc(arg)"]
|
||||
|
||||
You can also use "call |feedkeys()|" to insert any key sequence.
|
||||
|
||||
|
||||
Command "normal" ~
|
||||
|
||||
The "normal" command is executed like with ":normal!", commands are not
|
||||
mapped. Example to open the folds under the cursor:
|
||||
["normal" "zO"]
|
||||
|
||||
|
||||
Command "eval" ~
|
||||
|
||||
The "eval" command an be used to get the result of an expression. For
|
||||
example, to get the number of lines in the current buffer:
|
||||
["eval","line('$')"] ~
|
||||
|
||||
it will send back the result of the expression:
|
||||
[{number}, {result}]
|
||||
Here {number} is the same as what was in the request. Use a negative number
|
||||
to avoid confusion with message that Vim sends.
|
||||
|
||||
{result} is the result of the evaluation and is JSON encoded. If the
|
||||
evaluation fails it is the string "ERROR".
|
||||
|
||||
|
||||
Command "expr" ~
|
||||
|
||||
The "expr" command is similar to "eval", but does not send back any response.
|
||||
Example:
|
||||
["expr","setline('$', ['one', 'two', 'three'])"] ~
|
||||
|
||||
==============================================================================
|
||||
5. Using a raw channel *channel-raw*
|
||||
|
||||
If {mode} is "raw" then a message can be send like this: >
|
||||
let response = ch_sendraw(handle, {string})
|
||||
The {string} is sent as-is. The response will be what can be read from the
|
||||
channel right away. Since Vim doesn't know how to recognize the end of the
|
||||
message you need to take care of it yourself.
|
||||
|
||||
To send a message, without expecting a response: >
|
||||
call ch_sendraw(handle, {string}, 0)
|
||||
The process can send back a response, the channel handler will be called with
|
||||
it.
|
||||
|
||||
To send a message and letting the response handled by a specific function,
|
||||
asynchronously: >
|
||||
call ch_sendraw(handle, {string}, {callback})
|
||||
|
||||
This {string} can also be JSON, use |jsonencode()| to create it and
|
||||
|jsondecode()| to handle a received JSON message.
|
||||
|
||||
==============================================================================
|
||||
6. Job control *job-control*
|
||||
|
||||
NOT IMPLEMENTED YET
|
||||
|
||||
To start another process: >
|
||||
call startjob({command})
|
||||
|
||||
This does not wait for {command} to exit.
|
||||
|
||||
TODO:
|
||||
|
||||
let handle = startjob({command}, 's') # uses stdin/stdout
|
||||
let handle = startjob({command}, '', {address}) # uses socket
|
||||
let handle = startjob({command}, 'd', {address}) # start if connect fails
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
+45
-13
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
*develop.txt* For Vim version 7.4. Last change: 2016 Jan 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -166,12 +166,27 @@ This list is not complete. Look in the source code for more examples.
|
||||
MAKING CHANGES *style-changes*
|
||||
|
||||
The basic steps to make changes to the code:
|
||||
1. Adjust the documentation. Doing this first gives you an impression of how
|
||||
1. Get the code from github. That makes it easier to keep your changed
|
||||
version in sync with the main code base (it may be a while before your
|
||||
changes will be included). You do need to spend some time learning git,
|
||||
it's not the most user friendly tool.
|
||||
2. Adjust the documentation. Doing this first gives you an impression of how
|
||||
your changes affect the user.
|
||||
2. Make the source code changes.
|
||||
3. Check ../doc/todo.txt if the change affects any listed item.
|
||||
4. Make a patch with "diff -c" against the unmodified code and docs.
|
||||
5. Make a note about what changed and include it with the patch.
|
||||
3. Make the source code changes.
|
||||
4. Check ../doc/todo.txt if the change affects any listed item.
|
||||
5. Make a patch with "git diff". You can also create a pull request on
|
||||
github, but it's the diff that matters.
|
||||
6. Make a note about what changed, preferably mentioning the problem and the
|
||||
solution. Send an email to the vim-dev maillist with an explanation and
|
||||
include the diff. Or create a pull request on github.
|
||||
|
||||
|
||||
C COMPILER *style-compiler*
|
||||
|
||||
The minimal C compiler version supported is C89, also known as ANSI C.
|
||||
Later standards don't add much and C89 is the widest supported.
|
||||
|
||||
One restriction that this implies: no // comments, only /* comments */.
|
||||
|
||||
|
||||
USE OF COMMON FUNCTIONS *style-functions*
|
||||
@@ -197,7 +212,7 @@ NAMES *style-names*
|
||||
|
||||
Function names can not be more than 31 characters long (because of VMS).
|
||||
|
||||
Don't use "delete" as a variable name, C++ doesn't like it.
|
||||
Don't use "delete" or "this" as a variable name, C++ doesn't like it.
|
||||
|
||||
Because of the requirement that Vim runs on as many systems as possible, we
|
||||
need to avoid using names that are already defined by the system. This is a
|
||||
@@ -288,8 +303,27 @@ OK: do
|
||||
a = 1;
|
||||
while (cond);
|
||||
|
||||
Wrong: if (cond) {
|
||||
cmd;
|
||||
cmd;
|
||||
} else {
|
||||
cmd;
|
||||
cmd;
|
||||
}
|
||||
|
||||
Functions start with:
|
||||
OK: if (cond)
|
||||
{
|
||||
cmd;
|
||||
cmd;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd;
|
||||
cmd;
|
||||
}
|
||||
|
||||
Use ANSI (new style) function declarations with the return type on a separate
|
||||
indented line.
|
||||
|
||||
Wrong: int function_name(int arg1, int arg2)
|
||||
|
||||
@@ -299,16 +333,14 @@ OK: /*
|
||||
* Return value explanation.
|
||||
*/
|
||||
int
|
||||
function_name(arg1, arg2)
|
||||
int arg1; /* short comment about arg1 */
|
||||
int arg2; /* short comment about arg2 */
|
||||
function_name(
|
||||
int arg1, /* short comment about arg1 */
|
||||
int arg2) /* short comment about arg2 */
|
||||
{
|
||||
int local; /* comment about local */
|
||||
|
||||
local = arg1 * arg2;
|
||||
|
||||
NOTE: Don't use ANSI style function declarations. A few people still have to
|
||||
use a compiler that doesn't support it.
|
||||
|
||||
|
||||
SPACES AND PUNCTUATION *style-spaces*
|
||||
|
||||
@@ -14,9 +14,7 @@
|
||||
#define LINELEN 200
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char line[LINELEN];
|
||||
char *p1, *p2;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.4. Last change: 2016 Jan 17
|
||||
*editing.txt* For Vim version 7.4. Last change: 2016 Feb 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1468,6 +1468,8 @@ test for blowfish with: >
|
||||
v:version >= 703
|
||||
And for blowfish2 with: >
|
||||
v:version > 704 || (v:version == 704 && has('patch401'))
|
||||
If you are sure Vim includes patch 7.4.237 a simpler check is: >
|
||||
has('patch-7.4.401')
|
||||
<
|
||||
*E817* *E818* *E819* *E820*
|
||||
When encryption does not work properly, you would be able to write your text
|
||||
|
||||
+147
-17
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2016 Jan 17
|
||||
*eval.txt* For Vim version 7.4. Last change: 2016 Feb 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -103,6 +103,9 @@ When mixing Number and Float the Number is converted to Float. Otherwise
|
||||
there is no automatic conversion of Float. You can use str2float() for String
|
||||
to Float, printf() for Float to String and float2nr() for Float to Number.
|
||||
|
||||
*E891* *E892* *E893* *E894*
|
||||
When expecting a Float a Number can also be used, but nothing else.
|
||||
|
||||
*E706* *sticky-type-checking*
|
||||
You will get an error if you try to change the type of a variable. You need
|
||||
to |:unlet| it first to avoid this error. String and Number are considered
|
||||
@@ -1406,6 +1409,13 @@ v:exception The value of the exception most recently caught and not
|
||||
:endtry
|
||||
< Output: "caught oops".
|
||||
|
||||
*v:false* *false-variable*
|
||||
v:false A Number with value zero. Used to put "false" in JSON. See
|
||||
|jsonencode()|.
|
||||
When used as a string this evaluates to "false". >
|
||||
echo v:false
|
||||
< false ~
|
||||
|
||||
*v:fcs_reason* *fcs_reason-variable*
|
||||
v:fcs_reason The reason why the |FileChangedShell| event was triggered.
|
||||
Can be used in an autocommand to decide what to do and/or what
|
||||
@@ -1482,7 +1492,7 @@ v:foldstart Used for 'foldtext': first line of closed fold.
|
||||
v:hlsearch Variable that indicates whether search highlighting is on.
|
||||
Setting it makes sense only if 'hlsearch' is enabled which
|
||||
requires |+extra_search|. Setting this variable to zero acts
|
||||
the like |:nohlsearch| command, setting it to one acts like >
|
||||
like the |:nohlsearch| command, setting it to one acts like >
|
||||
let &hlsearch = &hlsearch
|
||||
< Note that the value is restored when returning from a
|
||||
function. |function-search-undo|.
|
||||
@@ -1539,6 +1549,22 @@ v:mouse_col Column number for a mouse click obtained with |getchar()|.
|
||||
This is the screen column number, like with |virtcol()|. The
|
||||
value is zero when there was no mouse button click.
|
||||
|
||||
*v:none* *none-variable*
|
||||
v:none An empty String. Used to put an empty item in JSON. See
|
||||
|jsonencode()|.
|
||||
When used as a number this evaluates to zero.
|
||||
When used as a string this evaluates to "none". >
|
||||
echo v:none
|
||||
< none ~
|
||||
|
||||
*v:null* *null-variable*
|
||||
v:null An empty String. Used to put "null" in JSON. See
|
||||
|jsonencode()|.
|
||||
When used as a number this evaluates to zero.
|
||||
When used as a string this evaluates to "null". >
|
||||
echo v:null
|
||||
< null ~
|
||||
|
||||
*v:oldfiles* *oldfiles-variable*
|
||||
v:oldfiles List of file names that is loaded from the |viminfo| file on
|
||||
startup. These are the files that Vim remembers marks for.
|
||||
@@ -1704,6 +1730,12 @@ v:throwpoint The point where the exception most recently caught and not
|
||||
:endtry
|
||||
< Output: "Exception from test.vim, line 2"
|
||||
|
||||
*v:true* *true-variable*
|
||||
v:true A Number with value one. Used to put "true" in JSON. See
|
||||
|jsonencode()|.
|
||||
When used as a string this evaluates to "true". >
|
||||
echo v:true
|
||||
< true ~
|
||||
*v:val* *val-variable*
|
||||
v:val Value of the current item of a |List| or |Dictionary|. Only
|
||||
valid while evaluating the expression used with |map()| and
|
||||
@@ -1778,6 +1810,12 @@ byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
||||
call( {func}, {arglist} [, {dict}])
|
||||
any call {func} with arguments {arglist}
|
||||
ceil( {expr}) Float round {expr} up
|
||||
ch_close( {handle}) none close a channel
|
||||
ch_open( {address} [, {argdict})] Number open a channel to {address}
|
||||
ch_sendexpr( {handle}, {expr} [, {callback}])
|
||||
any send {expr} over JSON channel {handle}
|
||||
ch_sendraw( {handle}, {string} [, {callback}])
|
||||
any send {string} over raw channel {handle}
|
||||
changenr() Number current change number
|
||||
char2nr( {expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||
cindent( {lnum}) Number C indent for line {lnum}
|
||||
@@ -1910,6 +1948,8 @@ isdirectory( {directory}) Number TRUE if {directory} is a directory
|
||||
islocked( {expr}) Number TRUE if {expr} is locked
|
||||
items( {dict}) List key-value pairs in {dict}
|
||||
join( {list} [, {sep}]) String join {list} items into one String
|
||||
jsondecode( {string}) any decode JSON
|
||||
jsonencode( {expr}) String encode JSON
|
||||
keys( {dict}) List keys in {dict}
|
||||
len( {expr}) Number the length of {expr}
|
||||
libcall( {lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
|
||||
@@ -2626,6 +2666,48 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
||||
don't fit, a vertical layout is used anyway. For some systems
|
||||
the horizontal layout is always used.
|
||||
|
||||
ch_close({handle}) *ch_close()*
|
||||
Close channel {handle}. See |channel|.
|
||||
|
||||
ch_open({address} [, {argdict}]) *ch_open()*
|
||||
Open a channel to {address}. See |channel|.
|
||||
Returns the channel handle on success. Returns a negative
|
||||
number for failure.
|
||||
|
||||
{address} has the form "hostname:port", e.g.,
|
||||
"localhost:8765".
|
||||
|
||||
If {argdict} is given it must be a |Directory|. The optional
|
||||
items are:
|
||||
mode "raw" or "json".
|
||||
Default "json".
|
||||
callback function to call for requests with a zero
|
||||
sequence number. See |channel-callback|.
|
||||
Default: none.
|
||||
waittime Specify connect timeout as milliseconds.
|
||||
Negative means forever.
|
||||
Default: 0.
|
||||
timeout Specify response read timeout value as
|
||||
milliseconds.
|
||||
Default: 2000.
|
||||
|
||||
ch_sendexpr({handle}, {expr} [, {callback}]) *ch_sendexpr()*
|
||||
Send {expr} over JSON channel {handle}. See |channel-use|.
|
||||
|
||||
When {callback} is given returns immediately. Without
|
||||
{callback} waits for a JSON response and returns the decoded
|
||||
expression. When there is an error or timeout returns an
|
||||
empty string.
|
||||
|
||||
When {callback} is zero no response is expected.
|
||||
Otherwise {callback} must be a Funcref or the name of a
|
||||
function. It is called when the response is received. See
|
||||
|channel-callback|.
|
||||
|
||||
ch_sendraw({handle}, {string} [, {callback}]) *ch_sendraw()*
|
||||
Send {string} over raw channel {handle}. See |channel-raw|.
|
||||
Works like |ch_sendexpr()|, but does not decode the response.
|
||||
|
||||
*copy()*
|
||||
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
||||
different from using {expr} directly.
|
||||
@@ -2808,6 +2890,7 @@ empty({expr}) *empty()*
|
||||
Return the Number 1 if {expr} is empty, zero otherwise.
|
||||
A |List| or |Dictionary| is empty when it does not have any
|
||||
items. A Number is empty when its value is zero.
|
||||
|v:false|, |v:none| and |v:null| are empty, |v:true| is not.
|
||||
For a long |List| this is much faster than comparing the
|
||||
length with zero.
|
||||
|
||||
@@ -3099,6 +3182,11 @@ feedkeys({string} [, {mode}]) *feedkeys()*
|
||||
if coming from a mapping. This matters for undo,
|
||||
opening folds, etc.
|
||||
'i' Insert the string instead of appending (see above).
|
||||
'x' Execute commands until typeahead is empty. This is
|
||||
similar to using ":normal!". You can call feedkeys()
|
||||
several times without 'x' and then one time with 'x'
|
||||
(possibly with an empty {string}) to execute all the
|
||||
typeahead.
|
||||
Return value is always 0.
|
||||
|
||||
filereadable({file}) *filereadable()*
|
||||
@@ -3596,7 +3684,8 @@ getftype({fname}) *getftype()*
|
||||
getftype("/home")
|
||||
< Note that a type such as "link" will only be returned on
|
||||
systems that support it. On some systems only "dir" and
|
||||
"file" are returned.
|
||||
"file" are returned. On MS-Windows a symbolic link to a
|
||||
directory returns "dir" instead of "link".
|
||||
|
||||
*getline()*
|
||||
getline({lnum} [, {end}])
|
||||
@@ -3820,7 +3909,9 @@ glob2regpat({expr}) *glob2regpat()*
|
||||
if filename =~ glob2regpat('Make*.mak')
|
||||
< This is equivalent to: >
|
||||
if filename =~ '^Make.*\.mak$'
|
||||
<
|
||||
< When {expr} is an empty string the result is "^$", match an
|
||||
empty string.
|
||||
|
||||
*globpath()*
|
||||
globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
|
||||
Perform glob() on all directories in {path} and concatenate
|
||||
@@ -4206,6 +4297,48 @@ join({list} [, {sep}]) *join()*
|
||||
converted into a string like with |string()|.
|
||||
The opposite function is |split()|.
|
||||
|
||||
jsondecode({string}) *jsondecode()*
|
||||
This parses a JSON formatted string and returns the equivalent
|
||||
in Vim values. See |jsonencode()| for the relation between
|
||||
JSON and Vim values.
|
||||
The decoding is permissive:
|
||||
- A trailing comma in an array and object is ignored.
|
||||
- An empty item in an array, two commas with nothing or white
|
||||
space in between, results in v:none.
|
||||
- When an object member name is not a string it is converted
|
||||
to a string. E.g. the number 123 is used as the string
|
||||
"123".
|
||||
- More floating point numbers are recognized, e.g. "1." for
|
||||
"1.0".
|
||||
The result must be a valid Vim type:
|
||||
- An empty object member name is not allowed.
|
||||
- Duplicate object member names are not allowed.
|
||||
|
||||
jsonencode({expr}) *jsonencode()*
|
||||
Encode {expr} as JSON and return this as a string.
|
||||
The encoding is specified in:
|
||||
https://tools.ietf.org/html/rfc7159.html
|
||||
Vim values are converted as follows:
|
||||
Number decimal number
|
||||
Float floating point number
|
||||
String in double quotes (possibly null)
|
||||
Funcref not possible, error
|
||||
List as an array (possibly null); when
|
||||
used recursively: []
|
||||
Dict as an object (possibly null); when
|
||||
used recursively: {}
|
||||
v:false "false"
|
||||
v:true "true"
|
||||
v:none nothing
|
||||
v:null "null"
|
||||
Note that using v:none is permitted, although the JSON
|
||||
standard does not allow empty items. This can be useful for
|
||||
omitting items in an array:
|
||||
[0,,,,,5] ~
|
||||
This is much more efficient than:
|
||||
[0,null,null,null,null,5] ~
|
||||
But a strict JSON parser will not accept it.
|
||||
|
||||
keys({dict}) *keys()*
|
||||
Return a |List| with all the keys of {dict}. The |List| is in
|
||||
arbitrary order.
|
||||
@@ -5812,18 +5945,8 @@ shellescape({string} [, {special}]) *shellescape()*
|
||||
shiftwidth() *shiftwidth()*
|
||||
Returns the effective value of 'shiftwidth'. This is the
|
||||
'shiftwidth' value unless it is zero, in which case it is the
|
||||
'tabstop' value. To be backwards compatible in indent
|
||||
plugins, use this: >
|
||||
if exists('*shiftwidth')
|
||||
func s:sw()
|
||||
return shiftwidth()
|
||||
endfunc
|
||||
else
|
||||
func s:sw()
|
||||
return &sw
|
||||
endfunc
|
||||
endif
|
||||
< And then use s:sw() instead of &sw.
|
||||
'tabstop' value. This function was introduced with patch
|
||||
7.3.694 in 2012, everybody should have it by now.
|
||||
|
||||
|
||||
simplify({filename}) *simplify()*
|
||||
@@ -5888,6 +6011,9 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
sorted numerical. This is like 'n' but a string containing
|
||||
digits will be used as the number they represent.
|
||||
|
||||
When {func} is given and it is 'f' then all items will be
|
||||
sorted numerical. All values must be a Number or a Float.
|
||||
|
||||
When {func} is a |Funcref| or a function name, this function
|
||||
is called to compare items. The function is invoked with two
|
||||
items as argument and must return zero if they are equal, 1 or
|
||||
@@ -6564,6 +6690,8 @@ type({expr}) The result is a Number, depending on the type of {expr}:
|
||||
List: 3
|
||||
Dictionary: 4
|
||||
Float: 5
|
||||
Boolean: 6 (v:false and v:true)
|
||||
None 7 (v:null and v:none)
|
||||
To avoid the magic numbers it should be used this way: >
|
||||
:if type(myvar) == type(0)
|
||||
:if type(myvar) == type("")
|
||||
@@ -6571,6 +6699,8 @@ type({expr}) The result is a Number, depending on the type of {expr}:
|
||||
:if type(myvar) == type([])
|
||||
:if type(myvar) == type({})
|
||||
:if type(myvar) == type(0.0)
|
||||
:if type(myvar) == type(v:false)
|
||||
:if type(myvar) == type(v:none
|
||||
|
||||
undofile({name}) *undofile()*
|
||||
Return the name of the undo file that would be used for a file
|
||||
@@ -6936,7 +7066,7 @@ ebcdic Compiled on a machine with ebcdic character set.
|
||||
emacs_tags Compiled with support for Emacs tags.
|
||||
eval Compiled with expression evaluation support. Always
|
||||
true, of course!
|
||||
ex_extra Compiled with extra Ex commands |+ex_extra|.
|
||||
ex_extra |+ex_extra|, always true now
|
||||
extra_search Compiled with support for |'incsearch'| and
|
||||
|'hlsearch'|
|
||||
farsi Compiled with Farsi support |farsi|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 7.4. Last change: 2016 Jan 16
|
||||
*if_mzsch.txt* For Vim version 7.4. Last change: 2016 Jan 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
@@ -265,7 +265,7 @@ directly from Scheme. For instance: >
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
7. Dynamic loading *mzscheme-dynamic* *E815*
|
||||
7. Dynamic loading *mzscheme-dynamic* *E815*
|
||||
|
||||
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
|
||||
output then includes |+mzscheme/dyn|.
|
||||
@@ -294,7 +294,7 @@ to set the environment variable as the following: >
|
||||
PLTCONFIGDIR=C:\Racket63\etc
|
||||
<
|
||||
==============================================================================
|
||||
8. MzScheme setup *mzscheme-setup*
|
||||
8. MzScheme setup *mzscheme-setup* *E895*
|
||||
|
||||
Vim requires "racket/base" module for if_mzsch core (fallback to "scheme/base"
|
||||
if it doesn't exist), "r5rs" module for test and "raco ctool" command for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2016 Jan 10
|
||||
*index.txt* For Vim version 7.4. Last change: 2016 Jan 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1541,14 +1541,14 @@ tag command action ~
|
||||
|:tabdo| :tabdo execute command in each tab page
|
||||
|:tabedit| :tabe[dit] edit a file in a new tab page
|
||||
|:tabfind| :tabf[ind] find file in 'path', edit it in a new tab page
|
||||
|:tabfirst| :tabfir[st] got to first tab page
|
||||
|:tablast| :tabl[ast] got to last tab page
|
||||
|:tabfirst| :tabfir[st] go to first tab page
|
||||
|:tablast| :tabl[ast] go to last tab page
|
||||
|:tabmove| :tabm[ove] move tab page to other position
|
||||
|:tabnew| :tabnew edit a file in a new tab page
|
||||
|:tabnext| :tabn[ext] go to next tab page
|
||||
|:tabonly| :tabo[nly] close all tab pages except the current one
|
||||
|:tabprevious| :tabp[revious] go to previous tab page
|
||||
|:tabrewind| :tabr[ewind] got to first tab page
|
||||
|:tabrewind| :tabr[ewind] go to first tab page
|
||||
|:tabs| :tabs list the tab pages and what they contain
|
||||
|:tab| :tab create new tab when opening new window
|
||||
|:tag| :ta[g] jump to tag
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.4. Last change: 2015 Sep 15
|
||||
*insert.txt* For Vim version 7.4. Last change: 2016 Jan 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1872,8 +1872,6 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
||||
or script is finished.
|
||||
This command does not work from |:normal|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+ex_extra|
|
||||
feature}
|
||||
|
||||
*:stopi* *:stopinsert*
|
||||
:stopi[nsert] Stop Insert mode as soon as possible. Works like
|
||||
@@ -1891,15 +1889,11 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
||||
script that the replacement will only start after
|
||||
the function or script is finished.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+ex_extra|
|
||||
feature}
|
||||
|
||||
*:startgreplace*
|
||||
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
|
||||
mode, like with |gR|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+ex_extra|
|
||||
feature}
|
||||
|
||||
==============================================================================
|
||||
10. Inserting a file *inserting-file*
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*netbeans.txt* For Vim version 7.4. Last change: 2015 Mar 14
|
||||
*netbeans.txt* For Vim version 7.4. Last change: 2016 Jan 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
|
||||
|
||||
*socket-interface* *netbeans* *netbeans-support*
|
||||
*netbeans* *netbeans-support*
|
||||
|
||||
Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
|
||||
|
||||
@@ -823,7 +823,7 @@ REJECT Not used.
|
||||
6.7 Protocol errors *nb-protocol_errors*
|
||||
|
||||
These errors occur when a message violates the protocol:
|
||||
*E627* *E628* *E629* *E630* *E631* *E632* *E633* *E634* *E635* *E636*
|
||||
*E627* *E628* *E629* *E632* *E633* *E634* *E635* *E636*
|
||||
*E637* *E638* *E639* *E640* *E641* *E642* *E643* *E644* *E645* *E646*
|
||||
*E647* *E648* *E649* *E650* *E651* *E652* *E653* *E654*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2016 Jan 09
|
||||
*options.txt* For Vim version 7.4. Last change: 2016 Feb 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2308,7 +2308,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the encrypted bytes will be different.
|
||||
*blowfish2*
|
||||
blowfish2 Blowfish method. Medium strong encryption. Requires
|
||||
Vim 7.4.399 or later, files can NOT be read by Vim 7.3
|
||||
Vim 7.4.401 or later, files can NOT be read by Vim 7.3
|
||||
and older. This adds a "seed" to the file, every time
|
||||
you write the file the encrypted bytes will be
|
||||
different. The whole undo file is encrypted, not just
|
||||
@@ -4599,6 +4599,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'*', '"' and '|' (so that CTRL-] on a command finds the help for that
|
||||
command).
|
||||
When the 'lisp' option is on the '-' character is always included.
|
||||
This option also influences syntax highlighting, unless the syntax
|
||||
uses |:syn-iskeyword|.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
@@ -7117,7 +7119,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The option consists of printf style '%' items interspersed with
|
||||
normal text. Each status line item is of the form:
|
||||
%-0{minwid}.{maxwid}{item}
|
||||
All fields except the {item} is optional. A single percent sign can
|
||||
All fields except the {item} are optional. A single percent sign can
|
||||
be given as "%%". Up to 80 items can be specified. *E541*
|
||||
|
||||
When the option starts with "%!" then it is used as an expression,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2015 Dec 31
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -217,9 +217,9 @@ command with 'l'.
|
||||
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
|
||||
jump to the first error.
|
||||
If {expr} is a String, then each new-line terminated
|
||||
line in the String is processed using the value
|
||||
of 'errorformat' (buffer-local value if it was set)
|
||||
and the result is added to the quickfix list.
|
||||
line in the String is processed using the global value
|
||||
of 'errorformat' and the result is added to the
|
||||
quickfix list.
|
||||
If {expr} is a List, then each String item in the list
|
||||
is processed and added to the quickfix list. Non
|
||||
String items in the List are ignored.
|
||||
|
||||
+28
-1
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Dec 19
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2016 Jan 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -3438,6 +3438,32 @@ SPELL CHECKING *:syn-spell*
|
||||
|
||||
To activate spell checking the 'spell' option must be set.
|
||||
|
||||
SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
||||
|
||||
:sy[ntax] iskeyword [clear | {option}]
|
||||
This defines the keyword characters. It's like the 'iskeyword' option
|
||||
for but only applies to syntax highlighting.
|
||||
|
||||
clear: Syntax specific iskeyword setting is disabled and the
|
||||
buffer-local 'iskeyword' setting is used.
|
||||
{option} Set the syntax 'iskeyword' option to a new value.
|
||||
|
||||
Example: >
|
||||
:syntax iskeyword @,48-57,192-255,$,_
|
||||
<
|
||||
This would set the syntax specific iskeyword option to include all
|
||||
alphabetic characters, plus the numeric characters, all accented
|
||||
characters and also includes the "_" and the "$".
|
||||
|
||||
If no argument is given, the current value will be output.
|
||||
|
||||
Setting this option influences what |/\k| matches in syntax patterns
|
||||
and also determines where |:syn-keyword| will be checked for a new
|
||||
match.
|
||||
|
||||
It is recommended when writing syntax files, to use this command
|
||||
to the correct value for the specific syntax language and not change
|
||||
the 'iskeyword' option.
|
||||
|
||||
DEFINING KEYWORDS *:syn-keyword*
|
||||
|
||||
@@ -3469,6 +3495,7 @@ DEFINING KEYWORDS *:syn-keyword*
|
||||
isn't, the keyword will never be recognized.
|
||||
Multi-byte characters can also be used. These do not have to be in
|
||||
'iskeyword'.
|
||||
See |:syn-iskeyword| for defining syntax specific iskeyword settings.
|
||||
|
||||
A keyword always has higher priority than a match or region, the
|
||||
keyword is used if more than one item matches. Keywords do not nest
|
||||
|
||||
+45
-3
@@ -1195,6 +1195,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+browse various.txt /*+browse*
|
||||
+builtin_terms various.txt /*+builtin_terms*
|
||||
+byte_offset various.txt /*+byte_offset*
|
||||
+channel various.txt /*+channel*
|
||||
+cindent various.txt /*+cindent*
|
||||
+clientserver various.txt /*+clientserver*
|
||||
+clipboard various.txt /*+clipboard*
|
||||
@@ -2971,6 +2972,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:syn-files syntax.txt /*:syn-files*
|
||||
:syn-fold syntax.txt /*:syn-fold*
|
||||
:syn-include syntax.txt /*:syn-include*
|
||||
:syn-iskeyword syntax.txt /*:syn-iskeyword*
|
||||
:syn-keepend syntax.txt /*:syn-keepend*
|
||||
:syn-keyword syntax.txt /*:syn-keyword*
|
||||
:syn-lc syntax.txt /*:syn-lc*
|
||||
@@ -4182,8 +4184,8 @@ E627 netbeans.txt /*E627*
|
||||
E628 netbeans.txt /*E628*
|
||||
E629 netbeans.txt /*E629*
|
||||
E63 pattern.txt /*E63*
|
||||
E630 netbeans.txt /*E630*
|
||||
E631 netbeans.txt /*E631*
|
||||
E630 channel.txt /*E630*
|
||||
E631 channel.txt /*E631*
|
||||
E632 netbeans.txt /*E632*
|
||||
E633 netbeans.txt /*E633*
|
||||
E634 netbeans.txt /*E634*
|
||||
@@ -4466,7 +4468,22 @@ E888 pattern.txt /*E888*
|
||||
E889 map.txt /*E889*
|
||||
E89 message.txt /*E89*
|
||||
E890 syntax.txt /*E890*
|
||||
E891 eval.txt /*E891*
|
||||
E892 eval.txt /*E892*
|
||||
E893 eval.txt /*E893*
|
||||
E894 eval.txt /*E894*
|
||||
E895 if_mzsch.txt /*E895*
|
||||
E896 channel.txt /*E896*
|
||||
E897 channel.txt /*E897*
|
||||
E898 channel.txt /*E898*
|
||||
E899 channel.txt /*E899*
|
||||
E90 message.txt /*E90*
|
||||
E900 channel.txt /*E900*
|
||||
E901 channel.txt /*E901*
|
||||
E902 channel.txt /*E902*
|
||||
E903 channel.txt /*E903*
|
||||
E904 channel.txt /*E904*
|
||||
E905 channel.txt /*E905*
|
||||
E91 options.txt /*E91*
|
||||
E92 message.txt /*E92*
|
||||
E93 windows.txt /*E93*
|
||||
@@ -5191,6 +5208,10 @@ catch-text eval.txt /*catch-text*
|
||||
cc change.txt /*cc*
|
||||
ceil() eval.txt /*ceil()*
|
||||
ch.vim syntax.txt /*ch.vim*
|
||||
ch_close() eval.txt /*ch_close()*
|
||||
ch_open() eval.txt /*ch_open()*
|
||||
ch_sendexpr() eval.txt /*ch_sendexpr()*
|
||||
ch_sendraw() eval.txt /*ch_sendraw()*
|
||||
change-list-jumps motion.txt /*change-list-jumps*
|
||||
change-name tips.txt /*change-name*
|
||||
change-tabs change.txt /*change-tabs*
|
||||
@@ -5216,6 +5237,15 @@ changelog.vim syntax.txt /*changelog.vim*
|
||||
changenr() eval.txt /*changenr()*
|
||||
changetick eval.txt /*changetick*
|
||||
changing change.txt /*changing*
|
||||
channel channel.txt /*channel*
|
||||
channel-callback channel.txt /*channel-callback*
|
||||
channel-commands channel.txt /*channel-commands*
|
||||
channel-demo channel.txt /*channel-demo*
|
||||
channel-mode channel.txt /*channel-mode*
|
||||
channel-open channel.txt /*channel-open*
|
||||
channel-raw channel.txt /*channel-raw*
|
||||
channel-use channel.txt /*channel-use*
|
||||
channel.txt channel.txt /*channel.txt*
|
||||
char-variable eval.txt /*char-variable*
|
||||
char2nr() eval.txt /*char2nr()*
|
||||
characterwise motion.txt /*characterwise*
|
||||
@@ -5781,6 +5811,7 @@ extension-removal cmdline.txt /*extension-removal*
|
||||
extensions-improvements todo.txt /*extensions-improvements*
|
||||
external-editor gui_mac.txt /*external-editor*
|
||||
f motion.txt /*f*
|
||||
false-variable eval.txt /*false-variable*
|
||||
faq intro.txt /*faq*
|
||||
farsi farsi.txt /*farsi*
|
||||
farsi-fonts farsi.txt /*farsi-fonts*
|
||||
@@ -6838,8 +6869,11 @@ java-indenting indent.txt /*java-indenting*
|
||||
java.vim syntax.txt /*java.vim*
|
||||
javascript-cinoptions indent.txt /*javascript-cinoptions*
|
||||
javascript-indenting indent.txt /*javascript-indenting*
|
||||
job-control channel.txt /*job-control*
|
||||
join() eval.txt /*join()*
|
||||
jsbterm-mouse options.txt /*jsbterm-mouse*
|
||||
jsondecode() eval.txt /*jsondecode()*
|
||||
jsonencode() eval.txt /*jsonencode()*
|
||||
jtags tagsrch.txt /*jtags*
|
||||
jump-motions motion.txt /*jump-motions*
|
||||
jumplist motion.txt /*jumplist*
|
||||
@@ -7523,6 +7557,7 @@ no-eval-feature eval.txt /*no-eval-feature*
|
||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||
non-greedy pattern.txt /*non-greedy*
|
||||
non-zero-arg eval.txt /*non-zero-arg*
|
||||
none-variable eval.txt /*none-variable*
|
||||
normal-index index.txt /*normal-index*
|
||||
not-compatible usr_01.txt /*not-compatible*
|
||||
not-edited editing.txt /*not-edited*
|
||||
@@ -7530,6 +7565,7 @@ notation intro.txt /*notation*
|
||||
notepad gui_w32.txt /*notepad*
|
||||
nr2char() eval.txt /*nr2char()*
|
||||
nroff.vim syntax.txt /*nroff.vim*
|
||||
null-variable eval.txt /*null-variable*
|
||||
number_relativenumber options.txt /*number_relativenumber*
|
||||
numbered-function eval.txt /*numbered-function*
|
||||
o insert.txt /*o*
|
||||
@@ -8038,7 +8074,7 @@ sniff if_sniff.txt /*sniff*
|
||||
sniff-commands if_sniff.txt /*sniff-commands*
|
||||
sniff-compiling if_sniff.txt /*sniff-compiling*
|
||||
sniff-intro if_sniff.txt /*sniff-intro*
|
||||
socket-interface netbeans.txt /*socket-interface*
|
||||
socket-interface channel.txt /*socket-interface*
|
||||
sort() eval.txt /*sort()*
|
||||
sorting change.txt /*sorting*
|
||||
soundfold() eval.txt /*soundfold()*
|
||||
@@ -8228,6 +8264,7 @@ strstr() eval.txt /*strstr()*
|
||||
strtrans() eval.txt /*strtrans()*
|
||||
strwidth() eval.txt /*strwidth()*
|
||||
style-changes develop.txt /*style-changes*
|
||||
style-compiler develop.txt /*style-compiler*
|
||||
style-examples develop.txt /*style-examples*
|
||||
style-functions develop.txt /*style-functions*
|
||||
style-names develop.txt /*style-names*
|
||||
@@ -8597,6 +8634,7 @@ toolbar-icon gui.txt /*toolbar-icon*
|
||||
toupper() eval.txt /*toupper()*
|
||||
tr() eval.txt /*tr()*
|
||||
trojan-horse starting.txt /*trojan-horse*
|
||||
true-variable eval.txt /*true-variable*
|
||||
trunc() eval.txt /*trunc()*
|
||||
try-conditionals eval.txt /*try-conditionals*
|
||||
try-echoerr eval.txt /*try-echoerr*
|
||||
@@ -8706,6 +8744,7 @@ v:dying eval.txt /*v:dying*
|
||||
v:errmsg eval.txt /*v:errmsg*
|
||||
v:errors eval.txt /*v:errors*
|
||||
v:exception eval.txt /*v:exception*
|
||||
v:false eval.txt /*v:false*
|
||||
v:fcs_choice eval.txt /*v:fcs_choice*
|
||||
v:fcs_reason eval.txt /*v:fcs_reason*
|
||||
v:fname_diff eval.txt /*v:fname_diff*
|
||||
@@ -8725,6 +8764,8 @@ v:lnum eval.txt /*v:lnum*
|
||||
v:mouse_col eval.txt /*v:mouse_col*
|
||||
v:mouse_lnum eval.txt /*v:mouse_lnum*
|
||||
v:mouse_win eval.txt /*v:mouse_win*
|
||||
v:none eval.txt /*v:none*
|
||||
v:null eval.txt /*v:null*
|
||||
v:oldfiles eval.txt /*v:oldfiles*
|
||||
v:operator eval.txt /*v:operator*
|
||||
v:option_new eval.txt /*v:option_new*
|
||||
@@ -8746,6 +8787,7 @@ v:swapname eval.txt /*v:swapname*
|
||||
v:termresponse eval.txt /*v:termresponse*
|
||||
v:this_session eval.txt /*v:this_session*
|
||||
v:throwpoint eval.txt /*v:throwpoint*
|
||||
v:true eval.txt /*v:true*
|
||||
v:val eval.txt /*v:val*
|
||||
v:var eval.txt /*v:var*
|
||||
v:version eval.txt /*v:version*
|
||||
|
||||
+154
-50
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2016 Jan 17
|
||||
*todo.txt* For Vim version 7.4. Last change: 2016 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -76,6 +76,64 @@ Regexp problems:
|
||||
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
||||
- Search for \\~ causes error E874.
|
||||
|
||||
- "\%1l^#.*" does not match on a line starting with "#". The zero-width match
|
||||
clears the start-of-line flag.
|
||||
Patch by Christian, 2016 Jan 29.
|
||||
|
||||
+channel:
|
||||
- use a timeout for connect()
|
||||
Patch from Yasuhiro Matsumoto, Feb 2
|
||||
Change connect() second argument to a dict with items:
|
||||
mode
|
||||
timeout
|
||||
callback
|
||||
- When receiving malformed json starting with a quote it doesn't get
|
||||
discarded.
|
||||
- add ch_setcallback()
|
||||
- add ch_settimeout()
|
||||
- cleanup on exit? in mch_getout() and getout().
|
||||
- Add more contents to channel.txt
|
||||
- implement debug log
|
||||
- implement job control:
|
||||
let job = job_start('command', {options})
|
||||
call job_stop(job)
|
||||
let job = job_maystart('command', {address}, {options})
|
||||
options:
|
||||
- keep running when Vim exits
|
||||
- add remark undo sync, is there a way to force it?
|
||||
- Add a test with a server that can send canned responses.
|
||||
- Add more testing in json_test.c
|
||||
- make sure errors lead to a useful error msg. ["ex","foobar"]
|
||||
- set timeout for channel.
|
||||
- implement check for ID in response.
|
||||
- json: implement UTF-16 surrogate pair.
|
||||
|
||||
Patch on #608: (Ken Takata)
|
||||
https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default
|
||||
|
||||
This difference is unexpected:
|
||||
echo v:true == 1
|
||||
1
|
||||
echo [v:true] == [1]
|
||||
0
|
||||
It's because tv_equal() works different.
|
||||
|
||||
Allow for an empty dictionary key.
|
||||
|
||||
Patch to put undo options together in undo window.
|
||||
(Gary Johnson, 2016 Jan 28)
|
||||
|
||||
Patch for clearing history. (Yegappan Lakshmanan, 2016 Jan 31, second message
|
||||
has tests)
|
||||
|
||||
Patch to update the GTK icon cache when installing. (Kazunobu Kuriyama, 2016
|
||||
Feb 3)
|
||||
|
||||
Patch for test86 and test87. (Roland Puntaier, #622)
|
||||
|
||||
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
|
||||
What does it change?
|
||||
|
||||
Need to try out instructions in INSSTALLpc.txt about how to install all
|
||||
interfaces and how to build Vim with them.
|
||||
Appveyor build with self-installing executable, includes getting most
|
||||
@@ -85,11 +143,30 @@ result: https://ci.appveyor.com/project/k-takata/vim/history
|
||||
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
|
||||
More info Jul 24. Not clear why.
|
||||
|
||||
Duplication of completion suggestions for ":!hom". Issue 539.
|
||||
Patch by Christian, 2016 Jan 29
|
||||
>
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
|
||||
What if there is an invalid character?
|
||||
|
||||
Should jsonencode()/jsondecode() restrict recursiveness?
|
||||
Or avoid recursiveness.
|
||||
|
||||
Patch to fix bug in statusline highlighting. (Christian Brabandt, 2016 Feb 2)
|
||||
|
||||
Use vim.vim syntax highlighting for help file examples, but without ":" in
|
||||
'iskeyword' for syntax.
|
||||
|
||||
Patch to make "%:h:h" return "." instead of the full path.
|
||||
(Coot, 2016 Jan 24, #592)
|
||||
|
||||
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
|
||||
|
||||
Installation of .desktop files does not work everywhere.
|
||||
It's now fixed, but the target directory probably isn't right.
|
||||
Add configure check?
|
||||
@@ -97,12 +174,34 @@ Should use /usr/local/share/applications or /usr/share/applications.
|
||||
Or use $XDG_DATA_DIRS.
|
||||
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
|
||||
|
||||
Move the README files that are for including in archives to a subdirectory.
|
||||
"readmedir/" ?
|
||||
|
||||
Access to uninitialized memory in match_backref() regexp_nda.c:4882
|
||||
(Dominique Pelle, 2015 Nov 6)
|
||||
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
Patch to avoid redrawing tabline when the popup menu is visible.
|
||||
(Christian Brabandt, 2016 Jan 28)
|
||||
|
||||
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29. Update Aug 10.
|
||||
Now part of large file patches. (Ken Takata, 2016 Feb 1)
|
||||
Two patches now?
|
||||
|
||||
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
|
||||
|
||||
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
||||
the value of the expression changes. ":watchdel" deletes an item,
|
||||
":watchlist" lists the items. (Charles Campbell)
|
||||
Patch by Christian Brabandt, 2016 Feb 1.
|
||||
|
||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
||||
|
||||
Using ":windo" to set options in all windows has the side effect that it
|
||||
changes the window layout and the current window. Make a variant that saves
|
||||
and restores. Use in the matchparen plugin.
|
||||
@@ -111,6 +210,13 @@ Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
|
||||
6, 2nd message)
|
||||
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
|
||||
|
||||
Patch to fix that executable() may fail on very long filename in MS-Windows.
|
||||
(Ken Takata, 2016 Feb 1)
|
||||
|
||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||
|
||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||
|
||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||
@@ -122,13 +228,20 @@ Instead of separately uploading patches to the ftp site, we can get them from
|
||||
github with a URL like this:
|
||||
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
|
||||
Diff for version.c contains more context, can't skip a patch.
|
||||
>
|
||||
|
||||
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
|
||||
triggered. Use the code from the end of set_num_option() in
|
||||
set_color_count().
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Comparing nested structures with "==" uses a different comperator than when
|
||||
comparing individual items.
|
||||
Also, "'' == 0" evaluates to true, which isn't nice.
|
||||
Add "===" to have a strict comparison (type and value match).
|
||||
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
|
||||
equals 1 and 1.0, v:false equals 0 and 0.0.?
|
||||
|
||||
Plugin to use Vim in MANPAGER. Konfekt, PR #491
|
||||
|
||||
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
||||
@@ -152,8 +265,11 @@ Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||
Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
|
||||
Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
|
||||
Need a Vim equivalent of None and a way to test for it.
|
||||
Need a Vim equivalent of Python's None and a way to test for it.
|
||||
Use v:none. var == v:none
|
||||
|
||||
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
|
||||
24) Also need a way to get the global arg list? Update later on Jan 24
|
||||
|
||||
To support Thai (and other languages) word boundaries, include the ICU
|
||||
library: http://userguide.icu-project.org/boundaryanalysis
|
||||
@@ -161,27 +277,18 @@ library: http://userguide.icu-project.org/boundaryanalysis
|
||||
When complete() first argument is before where insert started and 'backspace'
|
||||
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
|
||||
|
||||
Patch to fix bug in searchpair(). (Christian Brabandt, 2016 Jan 11)
|
||||
Problem reported by David Fishburn, using searchpair() with synID() used in
|
||||
the skip expression.
|
||||
|
||||
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
|
||||
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
|
||||
|
||||
Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
|
||||
30)
|
||||
|
||||
Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
|
||||
Goes away when disabling the swap file. (might1, Feb 16)
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
|
||||
|
||||
Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
|
||||
Nov 29)
|
||||
|
||||
If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
|
||||
2015 Oct 7)
|
||||
|
||||
Using an external diff is inefficient. Not all systems have a good diff
|
||||
program available (esp. MS-Windows). Would be nice to have in internal diff
|
||||
implementation. Can then also use this for displaying changes within a line.
|
||||
@@ -199,9 +306,6 @@ effects for when set by the user, on init and when reset to default.
|
||||
The argument for "-S" is not taken literally, the ":so" command expands
|
||||
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
|
||||
Update Aug 14.
|
||||
|
||||
@@ -216,10 +320,7 @@ Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
||||
Sep 10)
|
||||
|
||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8.
|
||||
|
||||
Patch to improve I/O for Perl. (Damine, 2015 Jan 9)
|
||||
Patch to improve I/O for Perl. (Damien, 2015 Jan 9, update Jan 22 2nd one)
|
||||
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
Needs a different check for CLEARTYPE_QUALITY.
|
||||
@@ -256,6 +357,9 @@ same thing. Remarks on issue 543 (Roland Puntaier).
|
||||
Patch to add grepfile(). (Scott Prager, 2015 May 26)
|
||||
Work in progress.
|
||||
|
||||
Would be useful to have a treemap() or deepmap() function. Like map() but
|
||||
when an item is a list or dict would recurse into it.
|
||||
|
||||
Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22)
|
||||
Is this right?
|
||||
|
||||
@@ -321,13 +425,11 @@ Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
|
||||
2015 Feb 6.
|
||||
|
||||
Plugins need to make a lot of effort, lots of mappings, to know what happened
|
||||
before pressing the key that triggers a plugin action. How about keeping the
|
||||
last N pressed keys, so that they do not need to be mapped?
|
||||
|
||||
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
|
||||
Is this a good solution?
|
||||
|
||||
Patch to add /pattern/ to :oldfiles. Pull #575.
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
@@ -362,7 +464,7 @@ Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||
(Ingo Karkat, 2015 Jan 16)
|
||||
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
Update 2015 Jul 25 (email).
|
||||
Update 2016 Jan 31 (email).
|
||||
|
||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||
change. How does the user know which change? At least have a way to list
|
||||
@@ -409,9 +511,8 @@ compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24) Has a problem (email 2015 Jan 7).
|
||||
Update 2015 Jan 10.
|
||||
|
||||
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29. Update Aug 10.
|
||||
Also see issue #609.
|
||||
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
@@ -438,11 +539,13 @@ Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||
2014 Jun 8)
|
||||
|
||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
||||
Also Vundle: https://github.com/gmarik/vundle
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
User view:
|
||||
- Support multiple sources, basically any http:// URL. Be able to look into
|
||||
the files before deciding to install.
|
||||
- Support multiple sources, basically any http:// URL. Or a central place that
|
||||
will work for everybody (github? redirects from vim.org?).
|
||||
Be able to look into the files before deciding to install.
|
||||
- Be able to try out a plugin and remove it again with (almost) no traces.
|
||||
- Each plugin needs a "manifest" file that has the version, dependencies
|
||||
(including Vim version and features), conflicts, list of files, etc.
|
||||
@@ -497,10 +600,6 @@ Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like a lambda() function?
|
||||
Patch by Yasuhiro Matsumoto, 2014 Sep 16.
|
||||
|
||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||
|
||||
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
|
||||
instead. (Samuel Ferencik, 2013 Sep 28)
|
||||
|
||||
@@ -1113,6 +1212,12 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
|
||||
Winckler, 2011 May 11)
|
||||
Requires a map mode for Insert mode started from blockwise Visual mode.
|
||||
|
||||
Use json format for new items in .viminfo:
|
||||
|["info","any info"]
|
||||
|["text","text text text"
|
||||
|"continuation line"]
|
||||
|["hist",242342342,{"arg":"value"}]
|
||||
|
||||
Writing nested List and Dict in viminfo gives error message and can't be read
|
||||
back. (Yukihiro Nakadaira, 2010 Nov 13)
|
||||
|
||||
@@ -2130,10 +2235,17 @@ Add an option for a minimal text length before inserting a line break for
|
||||
(Kartik Agaram)
|
||||
|
||||
|
||||
At next release:
|
||||
- Build a huge version by default.
|
||||
- Improve plugin handling: Automatic updates, handle dependencies?
|
||||
E.g. Vundle: https://github.com/gmarik/vundle
|
||||
Better plugin support (not plugin manager, see elsewhere for that):
|
||||
- Avoid use of feedkeys, add eval functions where needed:
|
||||
- manipulating the Visual selection?
|
||||
- Add createmark(): add a mark like mM, but return a unique ID. Need some way
|
||||
to clean them up again... Use a name + the script ID.
|
||||
Add createmark( , 'c') to track inserts/deletes before the column.
|
||||
- Plugins need to make a lot of effort, lots of mappings, to know what
|
||||
happened before pressing the key that triggers a plugin action. How about
|
||||
keeping the last N pressed keys, so that they do not need to be mapped?
|
||||
- equivalent of netbeans_beval_cb(). With an autocommand?
|
||||
- Add something to enable debugging when a remote message is received.
|
||||
|
||||
|
||||
More patches:
|
||||
@@ -3482,10 +3594,7 @@ Syntax highlighting:
|
||||
one is contained in. Like "keepend" but specified on the contained item,
|
||||
instead of the containing item.
|
||||
8 cpp.vim: In C++ it's allowed to use {} inside ().
|
||||
8 Some syntax files set 'iskeyword'. When switching to another filetype
|
||||
this isn't reset. Add a special keyword definition for the syntax rules?
|
||||
When this is done, use vim.vim syntax highlighting for help file examples,
|
||||
but without ":" in 'iskeyword' for syntax.
|
||||
8 Some syntax files set 'iskeyword', they should use "syn iskeyword".
|
||||
Also need a separate 'iskeyword' for the command line, e.g., in a help
|
||||
window ":e /asdf/asdf/" CTRL-W works different.
|
||||
8 Add specific syntax item to match with parens/braces that don't have a
|
||||
@@ -5213,13 +5322,8 @@ Registers:
|
||||
|
||||
|
||||
Debug mode:
|
||||
7 Add something to enable debugging when a remote message is received.
|
||||
8 Add breakpoints for setting an option
|
||||
8 Add breakpoints for assigning to a variable.
|
||||
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
||||
the value of the expression changes. ":watchdel" deletes an item,
|
||||
":watchlist" lists the items. (Charles Campbell)
|
||||
7 Store the history from debug mode in viminfo.
|
||||
7 Make the debug mode history available with histget() et al.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2015 Nov 30
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2016 Feb 02
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -893,6 +893,14 @@ Testing: *test-functions*
|
||||
assert_false() assert that an expression is false
|
||||
assert_true() assert that an expression is true
|
||||
|
||||
Inter-process communication:
|
||||
ch_open() open a channel
|
||||
ch_close() close a channel
|
||||
ch_sendexpr() send a JSON message over a channel
|
||||
ch_sendraw() send a raw message over a channel
|
||||
jsonencode() encode an expression to a JSON string
|
||||
jsondecode() decode a JSON string to Vim types
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
visualmode() last visual mode used
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.4. Last change: 2016 Jan 10
|
||||
*various.txt* For Vim version 7.4. Last change: 2016 Jan 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -208,8 +208,6 @@ g8 Print the hex values of the bytes used in the
|
||||
Example: >
|
||||
:exe "normal \<c-w>\<c-w>"
|
||||
< {not in Vi, of course}
|
||||
{not available when the |+ex_extra| feature was
|
||||
disabled at compile time}
|
||||
|
||||
:{range}norm[al][!] {commands} *:normal-range*
|
||||
Execute Normal mode commands {commands} for each line
|
||||
@@ -218,8 +216,6 @@ g8 Print the hex values of the bytes used in the
|
||||
for each line. Otherwise it's the same as the
|
||||
":normal" command without a range.
|
||||
{not in Vi}
|
||||
{not available when |+ex_extra| feature was disabled
|
||||
at compile time}
|
||||
|
||||
*:sh* *:shell* *E371*
|
||||
:sh[ell] This command starts a shell. When the shell exits
|
||||
@@ -319,6 +315,7 @@ N *+builtin_terms* some terminals builtin |builtin-terms|
|
||||
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
||||
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
|
||||
and ":goto" commands.
|
||||
m *+channel* inter process communication |channel|
|
||||
N *+cindent* |'cindent'|, C indenting
|
||||
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
||||
*+clipboard* |clipboard| support
|
||||
@@ -341,8 +338,7 @@ m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||
B *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
N *+ex_extra* Vim's extra Ex commands: |:center|, |:left|,
|
||||
|:normal|, |:retab| and |:right|
|
||||
N *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||
B *+farsi* |farsi| language
|
||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
||||
|
||||
@@ -159,7 +159,7 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。
|
||||
.TP
|
||||
\-b
|
||||
バイナリモード。
|
||||
バイナリファイルを編集ためのオプションがいくつか設定されます。
|
||||
バイナリファイルを編集するためのオプションがいくつか設定されます。
|
||||
.TP
|
||||
\-C
|
||||
互換モード。'compatible' オプションがオンになります。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2015 Nov 14
|
||||
*windows.txt* For Vim version 7.4. Last change: 2016 Feb 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -721,7 +721,7 @@ can also get to them with the buffer list commands, like ":bnext".
|
||||
*:bufdo*
|
||||
:[range]bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list or if
|
||||
[range] is given only for buffers for which their
|
||||
buffer numer is in the [range]. It works like doing
|
||||
buffer number is in the [range]. It works like doing
|
||||
this: >
|
||||
:bfirst
|
||||
:{cmd}
|
||||
|
||||
@@ -61,6 +61,16 @@
|
||||
行末には ascii (または ebcdic) で表した場合の文字が表示されます。
|
||||
このモードでは \-r、\-p、\-i は機能しません。
|
||||
.TP
|
||||
.IR \-e
|
||||
リトルエンディアンの 16 進ダンプに切り替える。
|
||||
このオプションは、バイトのグループをリトルエンディアンのバイト順のワードとして
|
||||
扱います。標準のグルーピングは 4 バイトですが、
|
||||
.RI "" \-g
|
||||
を使うことで変更可能です。
|
||||
このオプションは 16 進ダンプのみに適用され、ASCII (あるいは EBCDIC) 表示は
|
||||
変更されません。
|
||||
このモードでは \-r、\-p、\-i は機能しません。
|
||||
.TP
|
||||
.IR "\-c cols " | " \-cols cols"
|
||||
一行
|
||||
.RI < cols >
|
||||
@@ -80,7 +90,8 @@
|
||||
.I \-g 0
|
||||
を指定してください。
|
||||
.RI < Bytes >
|
||||
の標準設定は \fI2\fP です。2 進ダンプの場合は \fI1\fP です。
|
||||
の標準設定は \fI2\fP で、リトルエンディアンモードの場合は \fI4\fP 、
|
||||
2 進ダンプの場合は \fI1\fP です。
|
||||
ポストスクリプト形式やインクルード形式で出力するときは、このオプションは使わ
|
||||
れません。
|
||||
.TP
|
||||
@@ -95,6 +106,11 @@ C インクルードファイル形式で出力します。入力ファイルの
|
||||
.RI < len >
|
||||
オクテットだけ出力する。
|
||||
.TP
|
||||
.I \-o offset
|
||||
表示されるファイル位置に
|
||||
.RI < offset >
|
||||
を加算する。
|
||||
.TP
|
||||
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
||||
ポストスクリプト形式の 16 進ダンプを出力する。別名 プレーン 16 進ダンプ。
|
||||
.TP
|
||||
|
||||
+15
-15
@@ -1,11 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||
" Version: 0.42
|
||||
" Last Change: 2015 Nov. 30
|
||||
" Version: 0.44
|
||||
" Last Change: 2016 Jan. 26
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: For instructions, do :help fortran-indent from Vim
|
||||
" Credits:
|
||||
" Useful suggestions were made by: Albert Oliver Serra.
|
||||
" Useful suggestions were made by: Albert Oliver Serra and Takuya Fujiwara.
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -92,10 +92,10 @@ function FortranGetIndent(lnum)
|
||||
"Indent do loops only if they are all guaranteed to be of do/end do type
|
||||
if exists("b:fortran_do_enddo") || exists("g:fortran_do_enddo")
|
||||
if prevstat =~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*do\>'
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*end\s*do\>'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -105,14 +105,14 @@ function FortranGetIndent(lnum)
|
||||
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
|
||||
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
|
||||
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
" Remove unwanted indent after logical and arithmetic ifs
|
||||
if prevstat =~? '\<if\>' && prevstat !~? '\<then\>'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
" Remove unwanted indent after type( statements
|
||||
if prevstat =~? '^\s*type\s*('
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -125,12 +125,12 @@ function FortranGetIndent(lnum)
|
||||
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
|
||||
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
|
||||
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
if getline(v:lnum) =~? '^\s*contains\>'
|
||||
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
||||
\ .'\(function\|subroutine\|module\|program\)\>'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -141,23 +141,23 @@ function FortranGetIndent(lnum)
|
||||
\. '\(else\|else\s*if\|else\s*where\|case\|'
|
||||
\. 'end\s*\(if\|where\|select\|interface\|'
|
||||
\. 'type\|forall\|associate\|enum\|block\)\)\>'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
" Fix indent for case statement immediately after select
|
||||
if prevstat =~? '\<select\s\+\(case\|type\)\>'
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
"First continuation line
|
||||
if prevstat =~ '&\s*$' && prev2stat !~ '&\s*$'
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
if prevstat =~ '&\s*$' && prevstat =~ '\<else\s*if\>'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
"Line after last continuation line
|
||||
if prevstat !~ '&\s*$' && prev2stat =~ '&\s*$' && prevstat !~? '\<then\>'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-12-15
|
||||
" Latest Revision: 2016-01-15
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
|
||||
@@ -28,7 +28,7 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function s:buffer_shiftwidth()
|
||||
return &shiftwidth
|
||||
return shiftwidth()
|
||||
endfunction
|
||||
|
||||
let s:sh_indent_defaults = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Vim script
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Dec 12
|
||||
" Last Change: 2016 Jan 24
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -58,19 +58,19 @@ function GetVimIndentIntern()
|
||||
if exists("g:vim_indent_cont")
|
||||
let ind = ind + g:vim_indent_cont
|
||||
else
|
||||
let ind = ind + &sw * 3
|
||||
let ind = ind + shiftwidth() * 3
|
||||
endif
|
||||
elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+END'
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
else
|
||||
" A line starting with :au does not increment/decrement indent.
|
||||
if prev_text !~ '^\s*au\%[tocmd]'
|
||||
let i = match(prev_text, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
|
||||
if i >= 0
|
||||
let ind += &sw
|
||||
let ind += shiftwidth()
|
||||
if strpart(prev_text, i, 1) == '|' && has('syntax_items')
|
||||
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
|
||||
let ind -= &sw
|
||||
let ind -= shiftwidth()
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -82,7 +82,7 @@ function GetVimIndentIntern()
|
||||
let i = match(prev_text, '[^\\]|\s*\(ene\@!\)')
|
||||
if i > 0 && prev_text !~ '^\s*au\%[tocmd]'
|
||||
if !has('syntax_items') || synIDattr(synID(lnum, i + 2, 1), "name") !~ '\(Comment\|String\)$'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -90,7 +90,7 @@ function GetVimIndentIntern()
|
||||
" Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry,
|
||||
" :endfun, :else and :augroup END.
|
||||
if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+[eE][nN][dD]\)'
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Zimbu
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Sep 08
|
||||
" Last Change: 2016 Jan 25
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -74,9 +74,9 @@ func GetZimbuIndent(lnum)
|
||||
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
|
||||
\ . " =~ '\\(Comment\\|String\\|Char\\)$'")
|
||||
if pp > 0
|
||||
return indent(prevLnum) + &sw
|
||||
return indent(prevLnum) + shiftwidth()
|
||||
endif
|
||||
return indent(prevLnum) + &sw * 2
|
||||
return indent(prevLnum) + shiftwidth() * 2
|
||||
endif
|
||||
if plnumstart == p
|
||||
return indent(prevLnum)
|
||||
@@ -102,13 +102,13 @@ func GetZimbuIndent(lnum)
|
||||
endif
|
||||
|
||||
if prevline =~ '^\s*\(IF\|\|ELSEIF\|ELSE\|GENERATE_IF\|\|GENERATE_ELSEIF\|GENERATE_ELSE\|WHILE\|REPEAT\|TRY\|CATCH\|FINALLY\|FOR\|DO\|SWITCH\|CASE\|DEFAULT\|FUNC\|VIRTUAL\|ABSTRACT\|DEFINE\|REPLACE\|FINAL\|PROC\|MAIN\|NEW\|ENUM\|CLASS\|INTERFACE\|BITS\|MODULE\|SHARED\)\>'
|
||||
let plindent += &sw
|
||||
let plindent += shiftwidth()
|
||||
endif
|
||||
if thisline =~ '^\s*\(}\|ELSEIF\>\|ELSE\>\|CATCH\|FINALLY\|GENERATE_ELSEIF\>\|GENERATE_ELSE\>\|UNTIL\>\)'
|
||||
let plindent -= &sw
|
||||
let plindent -= shiftwidth()
|
||||
endif
|
||||
if thisline =~ '^\s*\(CASE\>\|DEFAULT\>\)' && prevline !~ '^\s*SWITCH\>'
|
||||
let plindent -= &sw
|
||||
let plindent -= shiftwidth()
|
||||
endif
|
||||
|
||||
" line up continued comment that started after some code
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
" vi:set ts=8 sts=8 sw=8 tw=0:
|
||||
"
|
||||
" Menu Translations: Japanese (EUC-JP)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 12-May-2013.
|
||||
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 28-Jan-2016.
|
||||
"
|
||||
" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" vim-jp (http://vim-jp.org/)
|
||||
"
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -20,7 +22,7 @@ scriptencoding euc-jp
|
||||
" Help menu
|
||||
menutrans &Help ヘルプ(&H)
|
||||
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
|
||||
menutrans &User\ Manual ユーザマニュアル(&U)
|
||||
menutrans &User\ Manual ユーザーマニュアル(&U)
|
||||
menutrans &How-to\ links &How-toリンク
|
||||
menutrans &Credits クレジット(&C)
|
||||
menutrans Co&pying 著作権情報(&P)
|
||||
@@ -138,7 +140,7 @@ menutrans &Tools
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] タグジャンプ(&J)<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T 戻る(&B)<Tab>^T
|
||||
menutrans Build\ &Tags\ File タグファイル作成(&T)
|
||||
menutrans &Make<Tab>:make メイク(&M)<Tab>:make
|
||||
menutrans &Make<Tab>:make ビルド(&M)<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl エラーリスト(&L)<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! メッセージリスト(&I)<Tab>:cl!
|
||||
menutrans &Next\ Error<Tab>:cn 次のエラーへ(&N)<Tab>:cn
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
" vi:set ts=8 sts=8 sw=8 tw=0:
|
||||
"
|
||||
" Menu Translations: Japanese (UTF-8)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 12-May-2013.
|
||||
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 28-Jan-2016.
|
||||
"
|
||||
" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" vim-jp (http://vim-jp.org/)
|
||||
"
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -20,7 +22,7 @@ scriptencoding utf-8
|
||||
" Help menu
|
||||
menutrans &Help ヘルプ(&H)
|
||||
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
|
||||
menutrans &User\ Manual ユーザマニュアル(&U)
|
||||
menutrans &User\ Manual ユーザーマニュアル(&U)
|
||||
menutrans &How-to\ links &How-toリンク
|
||||
menutrans &Credits クレジット(&C)
|
||||
menutrans Co&pying 著作権情報(&P)
|
||||
@@ -138,7 +140,7 @@ menutrans &Tools ツール(&T)
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] タグジャンプ(&J)<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T 戻る(&B)<Tab>^T
|
||||
menutrans Build\ &Tags\ File タグファイル作成(&T)
|
||||
menutrans &Make<Tab>:make メイク(&M)<Tab>:make
|
||||
menutrans &Make<Tab>:make ビルド(&M)<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl エラーリスト(&L)<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! メッセージリスト(&I)<Tab>:cl!
|
||||
menutrans &Next\ Error<Tab>:cn 次のエラーへ(&N)<Tab>:cn
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
" vi:set ts=8 sts=8 sw=8 tw=0:
|
||||
"
|
||||
" Menu Translations: Japanese (CP932)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 12-May-2013.
|
||||
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 28-Jan-2016.
|
||||
"
|
||||
" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" vim-jp (http://vim-jp.org/)
|
||||
"
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -20,7 +22,7 @@ scriptencoding cp932
|
||||
" Help menu
|
||||
menutrans &Help ヘルプ(&H)
|
||||
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
|
||||
menutrans &User\ Manual ユーザマニュアル(&U)
|
||||
menutrans &User\ Manual ユーザーマニュアル(&U)
|
||||
menutrans &How-to\ links &How-toリンク
|
||||
menutrans &Credits クレジット(&C)
|
||||
menutrans Co&pying 著作権情報(&P)
|
||||
@@ -138,7 +140,7 @@ menutrans &Tools
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] タグジャンプ(&J)<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T 戻る(&B)<Tab>^T
|
||||
menutrans Build\ &Tags\ File タグファイル作成(&T)
|
||||
menutrans &Make<Tab>:make メイク(&M)<Tab>:make
|
||||
menutrans &Make<Tab>:make ビルド(&M)<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl エラーリスト(&L)<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! メッセージリスト(&I)<Tab>:cl!
|
||||
menutrans &Next\ Error<Tab>:cn 次のエラーへ(&N)<Tab>:cn
|
||||
|
||||
+25
-17
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file for the D programming language (version 1.076 and 2.063).
|
||||
" Vim syntax file for the D programming language (version 1.076 and 2.069).
|
||||
"
|
||||
" Language: D
|
||||
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
||||
" Last Change: 2013 October 5
|
||||
" Version: 0.26
|
||||
" Last Change: 2016 Feb 2
|
||||
" Version: 0.28
|
||||
"
|
||||
" Contributors:
|
||||
" - Jason Mills: original Maintainer
|
||||
@@ -15,6 +15,7 @@
|
||||
" - Steven N. Oliver
|
||||
" - Sohgo Takeuchi
|
||||
" - Robert Clipsham
|
||||
" - Petar Kirov
|
||||
"
|
||||
" Please submit bugs/comments/suggestions to the github repo:
|
||||
" https://github.com/JesseKPhillips/d.vim
|
||||
@@ -114,17 +115,19 @@ syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray
|
||||
syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction
|
||||
syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction
|
||||
syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction
|
||||
syn keyword dTraitsIdentifier contained isOverrideFunction isTemplate
|
||||
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember
|
||||
syn keyword dTraitsIdentifier contained identifier getAttributes getMember
|
||||
syn keyword dTraitsIdentifier contained getOverloads getProtection
|
||||
syn keyword dTraitsIdentifier contained getVirtualFunctions
|
||||
syn keyword dTraitsIdentifier contained getVirtualMethods parent
|
||||
syn keyword dTraitsIdentifier contained classInstanceSize allMembers
|
||||
syn keyword dTraitsIdentifier contained identifier getAliasThis
|
||||
syn keyword dTraitsIdentifier contained getAttributes getFunctionAttributes getMember
|
||||
syn keyword dTraitsIdentifier contained getOverloads getPointerBitmap getProtection
|
||||
syn keyword dTraitsIdentifier contained getVirtualFunctions getVirtualIndex
|
||||
syn keyword dTraitsIdentifier contained getVirtualMethods getUnitTests
|
||||
syn keyword dTraitsIdentifier contained parent classInstanceSize allMembers
|
||||
syn keyword dTraitsIdentifier contained derivedMembers isSame compiles
|
||||
syn keyword dPragmaIdentifier contained lib msg startaddress GNU_asm
|
||||
syn keyword dExternIdentifier contained Windows Pascal Java System D
|
||||
syn keyword dPragmaIdentifier contained inline lib mangle msg startaddress GNU_asm
|
||||
syn keyword dExternIdentifier contained C C++ D Windows Pascal System Objective-C
|
||||
syn keyword dAttribute contained safe trusted system
|
||||
syn keyword dAttribute contained property disable
|
||||
syn keyword dAttribute contained property disable nogc
|
||||
syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET
|
||||
syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha
|
||||
syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64
|
||||
@@ -134,7 +137,7 @@ syn keyword dVersionIdentifier contained Cygwin MinGW
|
||||
syn keyword dVersionIdentifier contained LittleEndian BigEndian
|
||||
syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64
|
||||
syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
|
||||
syn keyword dVersionIdentifier contained unittest none all
|
||||
syn keyword dVersionIdentifier contained unittest assert none all
|
||||
|
||||
syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment
|
||||
|
||||
@@ -168,10 +171,10 @@ syn match dExternal "\<extern\>"
|
||||
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
|
||||
|
||||
" Make import a region to prevent highlighting keywords
|
||||
syn region dImport start="import\_s" end=";" contains=dExternal,@dComment
|
||||
syn region dImport start="\<import\_s" end=";" contains=dExternal,@dComment
|
||||
|
||||
" Make module a region to prevent highlighting keywords
|
||||
syn region dImport start="module\_s" end=";" contains=dExternal,@dComment
|
||||
syn region dImport start="\<module\_s" end=";" contains=dExternal,@dComment
|
||||
|
||||
" dTokens is used by the token string highlighting
|
||||
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
|
||||
@@ -246,13 +249,17 @@ syn match dUnicode "\\u\d\{4\}"
|
||||
|
||||
" String.
|
||||
"
|
||||
syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dEscSequence,@Spell
|
||||
syn match dFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
|
||||
syn match dFormat display "%%" contained
|
||||
|
||||
syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dFormat,dEscSequence,@Spell
|
||||
syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell
|
||||
syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell
|
||||
syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell
|
||||
syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
|
||||
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell
|
||||
|
||||
|
||||
" Nesting delimited string contents
|
||||
"
|
||||
syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell
|
||||
@@ -276,8 +283,8 @@ syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString
|
||||
|
||||
" Token strings
|
||||
"
|
||||
syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens
|
||||
syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens
|
||||
syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens,dFormat
|
||||
syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens,dFormat
|
||||
|
||||
syn cluster dTokens add=dTokenString
|
||||
|
||||
@@ -357,6 +364,7 @@ hi def link dString String
|
||||
hi def link dHexString String
|
||||
hi def link dCharacter Character
|
||||
hi def link dEscSequence SpecialChar
|
||||
hi def link dFormat SpecialChar
|
||||
hi def link dSpecialCharError Error
|
||||
hi def link dOctalError Error
|
||||
hi def link dOperator Operator
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: DCL (Digital Command Language - vms)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Oct 23, 2014
|
||||
" Version: 7
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 8
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_DCL
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
@@ -13,10 +13,10 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
if version < 600
|
||||
set iskeyword=$,@,48-57,_
|
||||
else
|
||||
if !has("patch-7.4.1141")
|
||||
setlocal iskeyword=$,@,48-57,_
|
||||
else
|
||||
syn iskeyword $,@,48-57,_
|
||||
endif
|
||||
|
||||
syn case ignore
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Lisp
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Oct 06, 2014
|
||||
" Version: 23
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 24
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP
|
||||
"
|
||||
" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec
|
||||
@@ -16,8 +16,10 @@ endif
|
||||
|
||||
if exists("g:lisp_isk")
|
||||
exe "setl isk=".g:lisp_isk
|
||||
else
|
||||
elseif !has("patch-7.4.1141")
|
||||
setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_
|
||||
else
|
||||
syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_
|
||||
endif
|
||||
|
||||
if exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax support file
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2008 Jan 26
|
||||
" Last Change: 2016 Feb 01
|
||||
|
||||
" This file is used for ":syntax manual".
|
||||
" It installs the Syntax autocommands, but no the FileType autocommands.
|
||||
@@ -16,10 +16,11 @@ endif
|
||||
|
||||
let syntax_manual = 1
|
||||
|
||||
" Remove the connection between FileType and Syntax autocommands.
|
||||
if exists('#syntaxset')
|
||||
au! syntaxset FileType
|
||||
endif
|
||||
" Overrule the connection between FileType and Syntax autocommands. This sets
|
||||
" the syntax when the file type is detected, without changing the value.
|
||||
augroup syntaxset
|
||||
au! FileType * exe "set syntax=" . &syntax
|
||||
augroup END
|
||||
|
||||
" If the GUI is already running, may still need to install the FileType menu.
|
||||
" Don't do it when the 'M' flag is included in 'guioptions'.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Maple V (based on release 4)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Oct 23, 2014
|
||||
" Version: 11
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 12
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_MAPLE
|
||||
"
|
||||
" Package Function Selection: {{{1
|
||||
@@ -30,10 +30,10 @@ elseif exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
" Iskeyword Effects: {{{1
|
||||
if version < 600
|
||||
set iskeyword=$,48-57,_,a-z,@-Z
|
||||
if !has("patch-7.4.1141")
|
||||
setl isk=$,48-57,_,a-z,@-Z
|
||||
else
|
||||
setlocal iskeyword=$,48-57,_,a-z,@-Z
|
||||
syn iskeyword $,48-57,_,a-z,@-Z
|
||||
endif
|
||||
|
||||
" Package Selection: {{{1
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Yakov Lerner <iler.ml@gmail.com>
|
||||
" Latest Revision: 2008-06-29
|
||||
" Changes: 2008-06-29 support for RFC3339 tuimestamps James Vega
|
||||
" 2016 Jan 19: messagesDate changed by Bram
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,7 +14,7 @@ set cpo&vim
|
||||
|
||||
syn match messagesBegin display '^' nextgroup=messagesDate,messagesDateRFC3339
|
||||
|
||||
syn match messagesDate contained display '\a\a\a [ 0-9]\d *'
|
||||
syn match messagesDate contained display '[[:lower:][:upper:]][[:lower:][:upper:]][[:lower:][:upper:]] [ 0-9]\d *'
|
||||
\ nextgroup=messagesHour
|
||||
|
||||
syn match messagesHour contained display '\d\d:\d\d:\d\d\s*'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Oct 20, 2015
|
||||
" Version: 90
|
||||
" Last Change: Jan 20, 2016
|
||||
" Version: 91
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
@@ -129,8 +129,10 @@ endif
|
||||
" g:tex_isk
|
||||
if exists("g:tex_isk")
|
||||
exe "setlocal isk=".g:tex_isk
|
||||
elseif !has("patch-7.4.1141")
|
||||
setl isk=48-57,a-z,A-Z,192-255
|
||||
else
|
||||
setlocal isk=48-57,a-z,A-Z,192-255
|
||||
syn iskeyword 48-57,a-z,A-Z,192-255
|
||||
endif
|
||||
if b:tex_stylish
|
||||
setlocal isk+=@-@
|
||||
|
||||
+34
-27
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.4 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: January 04, 2016
|
||||
" Version: 7.4-39
|
||||
" Last Change: January 20, 2016
|
||||
" Version: 7.4-40
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -18,38 +18,39 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
|
||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
|
||||
" regular vim commands {{{2
|
||||
syn keyword vimCommand contained a arga[dd] argl[ocal] ba[ll] bn[ext] breakd[el] bufdo cabc[lear] cat[ch] ce[nter] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lex[pr] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new noswap[file] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setf[iletype] sh[ell] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu
|
||||
syn keyword vimCommand contained ab argd ar[gs] bd[elete] bN[ext] breakl[ist] b[uffer] cad cb[uffer] cex[pr] cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lf lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setg[lobal] si sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xunme
|
||||
syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bel[owright] bo[tright] br[ewind] buffers caddb[uffer] cc cf cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lfdo lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] ru[ntime] sba[ll] sbp[revious] scs setl[ocal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] argdo as[cii] bf[irst] bp[revious] bro[wse] bun[load] cad[dexpr] ccl[ose] cfdo c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] ld[o] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sf[ind] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xwininfo
|
||||
syn keyword vimCommand contained al[l] arge[dit] au bl[ast] brea[k] bu bw[ipeout] caddf[ile] cd cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] le[ft] lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sfir[st] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme y[ank]
|
||||
syn keyword vimCommand contained ar argg[lobal] bad[d] bm[odified] breaka[dd] buf c cal[l] cdo cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lefta[bove] lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip
|
||||
syn keyword vimCommand contained a argd argu[ment] bf[irst] brea[k] buf cabc[lear] cc cfdo changes clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] le[ft] lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] ru[ntime] sba[ll] sbp[revious] sci scr[iptnames] setl[ocal] sgi sh[ell] sIe sil[ent] sir sm[ap] sno[magic] sp spellu[ndo] sre[wind] srp star[tinsert] sun[hide] sy ta tabfir[st] tabN[ext] tags th[row] tN tr[ewind] un unl verb[ose] vimgrepa[dd] w winp[os] wqa[ll] xa[ll] xnoremenu
|
||||
syn keyword vimCommand contained ab argd[elete] as[cii] bl[ast] breaka[dd] bufdo cad[dbuffer] ccl[ose] cf[ile] chd[ir] cmapc[lear] cnf com cope[n] cs de delep delf di diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lefta[bove] lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scI scs sf[ind] sgI si sig sim[alt] sIr sme snoreme spe spellw[rong] srg st startr[eplace] sunme syn tab tabl[ast] tabo[nly] tc[l] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] ve[rsion] vi[sual] wa[ll] win[size] w[rite] x[it] xprop
|
||||
syn keyword vimCommand contained abc[lear] argdo au bm[odified] breakd[el] b[uffer] cadde[xpr] cd cfir[st] che[ckpath] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] dif difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lex[pr] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new nor omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] scl scscope sfir[st] sgl sI sIg sin sl smenu snoremenu spelld[ump] sp[lit] sri sta[g] stj[ump] sunmenu sync tabc[lose] tabm[ove] tabp[revious] tcld[o] tl[ast] tN[ext] ts[elect] u[ndo] uns[ilent] vert[ical] viu[sage] wh[ile] wn[ext] ws[verb] xmapc[lear] xunme
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bad[d] bn[ext] breakl[ist] buffers caddf[ile] cdo cgetb[uffer] checkt[ime] cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffg[et] dif[fupdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lf lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nore on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rubyd[o] san[dbox] sbm[odified] sc scp se[t] sg sgn sic sign sIn sla[st] sn[ext] so spe[llgood] spr[evious] srI star st[op] sus[pend] syncbind tabd[o] tabN tabr[ewind] tclf[ile] tm to[pleft] tu undoj[oin] up[date] vi vmapc[lear] win wN[ext] wundo xme xunmenu
|
||||
syn keyword vimCommand contained al[l] argg[lobal] ba[ll] bN[ext] br[ewind] bun[load] cal[l] ce[nter] cgete[xpr] cl cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lfdo lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] nos[wapfile] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyf[ile] sa[rgument] sbn[ext] sce scr setf[iletype] sgc sgp sIc sil sip sl[eep] sN[ext] sor[t] spelli[nfo] sr srl start stopi[nsert] sv[iew] syntime tabe[dit] tabnew tabs te[aroff] tm[enu] tp[revious] tu[nmenu] undol[ist] v vie[w] vne[w] winc[md] wp[revious] wv[iminfo] xmenu xwininfo
|
||||
syn keyword vimCommand contained ar argl[ocal] bd[elete] bo[tright] bro[wse] bw[ipeout] cat[ch] cex[pr] cg[etfile] cla[st] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] ld[o] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rundo sav[eas] sbN[ext] scg scripte[ncoding] setg[lobal] sge sgr sie sIl sIp sm[agic] sni[ff] so[urce] spellr[epall] src srn startg[replace] sts[elect] sw[apname] t tabf[ind] tabn[ext] ta[g] tf[irst] tn tr u unh[ide] ve vim[grep] vs[plit] windo wq x xnoreme y[ank]
|
||||
syn keyword vimCommand contained arga[dd] ar[gs] bel[owright] bp[revious] bu c cb[uffer] cf c[hange] cl[ist]
|
||||
syn match vimCommand contained "\<z[-+^.=]\=\>"
|
||||
syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
syn keyword vimOption contained acd ambw arshape background ballooneval bg bl brk buftype cf cinkeys cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pheader previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
|
||||
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh bo browsedir casemap cfu cino cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pi previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
|
||||
syn keyword vimOption contained akm antialias autoindent backup bdir bin bomb bs cb ch cinoptions co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste perldll pm printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
|
||||
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakat bsdir cc charconvert cinw cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pex pmbcs printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
|
||||
syn keyword vimOption contained aleph arab autowrite backupdir belloff biosk breakindent bsk ccv ci cinwords cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pexpr pmbfn printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
|
||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bioskey breakindentopt bt cd cin clipboard colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode pfn popt printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
|
||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bk bri bufhidden cdpath cindent cmdheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path ph preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
|
||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bkc briopt buflisted cedit cink cmdwinheight
|
||||
syn keyword vimOption contained acd ambw arshape background ballooneval bg bl brk buftype cf cinkeys cmdwinheight com conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pi previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
|
||||
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh bo browsedir casemap cfu cino cmp comments confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste perldll pm printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
|
||||
syn keyword vimOption contained akm antialias autoindent backup bdir bin bomb bs cb ch cinoptions cms commentstring consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pex pmbcs printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
|
||||
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakat bsdir cc charconvert cinw co compatible conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pexpr pmbfn printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
|
||||
syn keyword vimOption contained aleph arab autowrite backupdir belloff biosk breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode pfn popt printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tcldll textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
|
||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bioskey breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path ph preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
|
||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pheader previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
|
||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bkc briopt buflisted cedit cink cmdheight columns concealcursor
|
||||
|
||||
" vimOptions: These are the turn-off setting variants {{{2
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nogdefault nohidden nohkmapp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofixeol nofoldenable noguipty nohk nohkp noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofk nogd nohid nohkmap nohls
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobreakindent nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangnoremap nolbr nolisp nolnr nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nobri noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolinebreak nolist noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois
|
||||
|
||||
" vimOptions: These are the invertible variants {{{2
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfixendofline invfkmap invgdefault invhidden invhkmapp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfixeol invfoldenable invguipty invhk invhkp invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfk invgd invhid invhkmap invhls
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbreakindent invcf invcindent invconsk invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangnoremap invlbr invlisp invlnr invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invbri invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlinebreak invlist invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis
|
||||
|
||||
" termcap codes (which can also be set) {{{2
|
||||
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da
|
||||
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da t_dl
|
||||
syn match vimOption contained "t_%1"
|
||||
syn match vimOption contained "t_#2"
|
||||
syn match vimOption contained "t_#4"
|
||||
@@ -75,9 +76,9 @@ syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs and argidx asin assert_true browse buflisted bufnr byteidx ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matchaddpos matchend max mode nr2char pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strftime strlen strridx strwidth substitute synID synIDtrans system tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree values visualmode winbufnr winheight winnr winrestview winwidth writefile
|
||||
syn keyword vimFuncName contained acos append arglistid assert_equal atan browsedir bufloaded bufwinnr byteidxcomp changenr clearmatches complete_add copy count deepcopy diff_filler escape executable exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matcharg matchlist min mzeval or prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strchars stridx strpart strtrans submatch synconcealed synIDattr synstack systemlist tabpagenr tagfiles tan tempname toupper trunc undofile uniq virtcol wildmenumode wincol winline winrestcmd winsaveview wordcount xor
|
||||
syn keyword vimFuncName contained add argc argv assert_false atan2 bufexists bufname byte2line call char2nr col complete_check cos cscope_connection delete diff_hlID eval exepath expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcharsearch getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr mkdir nextnonblank pathshorten printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setline setpos settabvar sha256 simplify sort spellsuggest str2float strdisplaywidth string
|
||||
syn keyword vimFuncName contained abs alloc_fail argc argv assert_exception assert_true browse buflisted bufnr byteidx ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matchaddpos matchend max mode nr2char perleval printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setline setpos settabvar sha256 simplify sort spellsuggest str2float strdisplaywidth string strridx submatch synID synIDtrans system tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree values visualmode winbufnr winheight winnr winrestview winwidth writefile
|
||||
syn keyword vimFuncName contained acos and argidx asin assert_fails atan browsedir bufloaded bufwinnr byteidxcomp changenr clearmatches complete_add copy count deepcopy diff_filler escape executable exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matcharg matchlist min mzeval or pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strftime strlen strtrans substitute synIDattr synstack systemlist tabpagenr tagfiles tan tempname toupper trunc undofile uniq virtcol wildmenumode wincol winline winrestcmd winsaveview wordcount xor
|
||||
syn keyword vimFuncName contained add append arglistid assert_equal assert_false atan2 bufexists bufname byte2line call char2nr col complete_check cos cscope_connection delete diff_hlID eval exepath expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcharsearch getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr mkdir nextnonblank pathshorten prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strchars stridx strpart strwidth synconcealed
|
||||
|
||||
"--- syntax here and above generated by mkvimvim ---
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
@@ -468,6 +469,11 @@ syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
|
||||
syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
|
||||
syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
|
||||
|
||||
" Syntax: iskeyword {{{2
|
||||
syn keyword vimSynType contained iskeyword skipwhite nextgroup=vimIskList
|
||||
syn match vimIskList contained '\S\+' contains=vimIskSep
|
||||
syn match vimIskSep contained ','
|
||||
|
||||
" Syntax: include {{{2
|
||||
syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
|
||||
syn cluster vimFuncBodyList add=vimSynType
|
||||
@@ -855,6 +861,7 @@ hi def link vimHiTerm Type
|
||||
hi def link vimHLGroup vimGroup
|
||||
hi def link vimHLMod PreProc
|
||||
hi def link vimInsert vimString
|
||||
hi def link vimIskSep Delimiter
|
||||
hi def link vimKeyCode vimSpecFile
|
||||
hi def link vimKeyword Statement
|
||||
hi def link vimLet vimCommand
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-12-25
|
||||
" Latest Revision: 2016-01-25
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
@@ -14,6 +14,7 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword+=-
|
||||
setlocal foldmethod=syntax
|
||||
|
||||
syn keyword zshTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
@@ -307,19 +308,19 @@ syn match zshNumber '[+-]\=\d\+\.\d\+\>'
|
||||
" TODO: $[...] is the same as $((...)), so add that as well.
|
||||
syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
|
||||
syn region zshSubst matchgroup=zshSubstDelim transparent
|
||||
\ start='\$(' skip='\\)' end=')' contains=TOP
|
||||
syn region zshParentheses transparent start='(' skip='\\)' end=')'
|
||||
\ start='\$(' skip='\\)' end=')' contains=TOP fold
|
||||
syn region zshParentheses transparent start='(' skip='\\)' end=')' fold
|
||||
syn region zshMathSubst matchgroup=zshSubstDelim transparent
|
||||
\ start='\$((' skip='\\)'
|
||||
\ matchgroup=zshSubstDelim end='))'
|
||||
\ contains=zshParentheses,@zshSubst,zshNumber,
|
||||
\ @zshDerefs,zshString keepend
|
||||
\ @zshDerefs,zshString keepend fold
|
||||
syn region zshBrackets contained transparent start='{' skip='\\}'
|
||||
\ end='}'
|
||||
\ end='}' fold
|
||||
syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}'
|
||||
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString
|
||||
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString fold
|
||||
syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+
|
||||
\ end=+`+ contains=TOP,zshOldSubst
|
||||
\ end=+`+ contains=TOP,zshOldSubst fold
|
||||
|
||||
syn sync minlines=50 maxlines=90
|
||||
syn sync match zshHereDocSync grouphere NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
while (1)
|
||||
@@ -18,4 +19,5 @@ main()
|
||||
fflush(stdout);
|
||||
usleep(250000); /* off time */
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -85,7 +85,8 @@ const char USAGE[] =
|
||||
|
||||
|
||||
int ShowUsage( char *szError )
|
||||
{ int i;
|
||||
{
|
||||
int i;
|
||||
|
||||
fprintf( stderr, USAGE );
|
||||
|
||||
@@ -101,7 +102,8 @@ int ShowUsage( char *szError )
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *echogets(char *s, int echo) {
|
||||
char *echogets(char *s, int echo)
|
||||
{
|
||||
char * const retval=fgets(s, LINELENGTH, stdin);
|
||||
if (echo!=0 && retval!=NULL) {
|
||||
fputs(retval, stderr);
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Server that will accept connections from a Vim channel.
|
||||
# Run this server and then in Vim you can open the channel:
|
||||
# :let handle = ch_open('localhost:8765', 'json')
|
||||
#
|
||||
# Then Vim can send requests to the server:
|
||||
# :let response = ch_sendexpr(handle, 'hello!')
|
||||
#
|
||||
# And you can control Vim by typing a JSON message here, e.g.:
|
||||
# ["ex","echo 'hi there'"]
|
||||
#
|
||||
# There is no prompt, just type a line and press Enter.
|
||||
# To exit cleanly type "quit<Enter>".
|
||||
#
|
||||
# See ":help channel-demo" in Vim.
|
||||
#
|
||||
# This requires Python 2.6 or later.
|
||||
|
||||
from __future__ import print_function
|
||||
import json
|
||||
import socket
|
||||
import sys
|
||||
import threading
|
||||
|
||||
try:
|
||||
# Python 3
|
||||
import socketserver
|
||||
except ImportError:
|
||||
# Python 2
|
||||
import SocketServer as socketserver
|
||||
|
||||
thesocket = None
|
||||
|
||||
class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||
|
||||
def handle(self):
|
||||
print("=== socket opened ===")
|
||||
global thesocket
|
||||
thesocket = self.request
|
||||
while True:
|
||||
try:
|
||||
data = self.request.recv(4096).decode('utf-8')
|
||||
except socket.error:
|
||||
print("=== socket error ===")
|
||||
break
|
||||
except IOError:
|
||||
print("=== socket closed ===")
|
||||
break
|
||||
if data == '':
|
||||
print("=== socket closed ===")
|
||||
break
|
||||
print("received: {}".format(data))
|
||||
try:
|
||||
decoded = json.loads(data)
|
||||
except ValueError:
|
||||
print("json decoding failed")
|
||||
decoded = [-1, '']
|
||||
|
||||
# Send a response if the sequence number is positive.
|
||||
# Negative numbers are used for "eval" responses.
|
||||
if decoded[0] >= 0:
|
||||
if decoded[1] == 'hello!':
|
||||
response = "got it"
|
||||
else:
|
||||
response = "what?"
|
||||
encoded = json.dumps([decoded[0], response])
|
||||
print("sending {}".format(encoded))
|
||||
self.request.sendall(encoded.encode('utf-8'))
|
||||
thesocket = None
|
||||
|
||||
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
|
||||
pass
|
||||
|
||||
if __name__ == "__main__":
|
||||
HOST, PORT = "localhost", 8765
|
||||
|
||||
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
|
||||
ip, port = server.server_address
|
||||
|
||||
# Start a thread with the server -- that thread will then start one
|
||||
# more thread for each request
|
||||
server_thread = threading.Thread(target=server.serve_forever)
|
||||
|
||||
# Exit the server thread when the main thread terminates
|
||||
server_thread.daemon = True
|
||||
server_thread.start()
|
||||
print("Server loop running in thread: ", server_thread.name)
|
||||
|
||||
print("Listening on port {}".format(PORT))
|
||||
while True:
|
||||
typed = sys.stdin.readline()
|
||||
if "quit" in typed:
|
||||
print("Goodbye!")
|
||||
break
|
||||
if thesocket is None:
|
||||
print("No socket yet")
|
||||
else:
|
||||
print("sending {}".format(typed))
|
||||
thesocket.sendall(typed.encode('utf-8'))
|
||||
|
||||
server.shutdown()
|
||||
server.server_close()
|
||||
@@ -29,10 +29,8 @@
|
||||
#include <X11/Intrinsic.h>
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
#define __ARGS(x) x
|
||||
|
||||
/* Client API */
|
||||
char * sendToVim __ARGS((Display *dpy, char *name, char *cmd, int asKeys, int *code));
|
||||
char * sendToVim(Display *dpy, char *name, char *cmd, int asKeys, int *code);
|
||||
|
||||
#ifdef MAIN
|
||||
/* A sample program */
|
||||
@@ -70,15 +68,15 @@ main(int argc, char **argv)
|
||||
* Forward declarations for procedures defined later in this file:
|
||||
*/
|
||||
|
||||
static int x_error_check __ARGS((Display *dpy, XErrorEvent *error_event));
|
||||
static int AppendPropCarefully __ARGS((Display *display,
|
||||
Window window, Atom property, char *value, int length));
|
||||
static Window LookupName __ARGS((Display *dpy, char *name,
|
||||
int delete, char **loose));
|
||||
static int SendInit __ARGS((Display *dpy));
|
||||
static char *SendEventProc __ARGS((Display *dpy, XEvent *eventPtr,
|
||||
int expect, int *code));
|
||||
static int IsSerialName __ARGS((char *name));
|
||||
static int x_error_check(Display *dpy, XErrorEvent *error_event);
|
||||
static int AppendPropCarefully(Display *display,
|
||||
Window window, Atom property, char *value, int length);
|
||||
static Window LookupName(Display *dpy, char *name,
|
||||
int delete, char **loose);
|
||||
static int SendInit(Display *dpy);
|
||||
static char *SendEventProc(Display *dpy, XEvent *eventPtr,
|
||||
int expect, int *code);
|
||||
static int IsSerialName(char *name);
|
||||
|
||||
/* Private variables */
|
||||
static Atom registryProperty = None;
|
||||
@@ -96,12 +94,12 @@ static int got_x_error = FALSE;
|
||||
*/
|
||||
|
||||
char *
|
||||
sendToVim(dpy, name, cmd, asKeys, code)
|
||||
Display *dpy; /* Where to send. */
|
||||
char *name; /* Where to send. */
|
||||
char *cmd; /* What to send. */
|
||||
int asKeys; /* Interpret as keystrokes or expr ? */
|
||||
int *code; /* Return code. 0 => OK */
|
||||
sendToVim(
|
||||
Display *dpy, /* Where to send. */
|
||||
char *name, /* Where to send. */
|
||||
char *cmd, /* What to send. */
|
||||
int asKeys, /* Interpret as keystrokes or expr ? */
|
||||
int *code) /* Return code. 0 => OK */
|
||||
{
|
||||
Window w;
|
||||
Atom *plist;
|
||||
@@ -247,8 +245,7 @@ sendToVim(dpy, name, cmd, asKeys, code)
|
||||
*/
|
||||
|
||||
static int
|
||||
SendInit(dpy)
|
||||
Display *dpy;
|
||||
SendInit(Display *dpy)
|
||||
{
|
||||
XErrorHandler old_handler;
|
||||
|
||||
@@ -291,11 +288,11 @@ SendInit(dpy)
|
||||
*/
|
||||
|
||||
static Window
|
||||
LookupName(dpy, name, delete, loose)
|
||||
Display *dpy; /* Display whose registry to check. */
|
||||
char *name; /* Name of an interpreter. */
|
||||
int delete; /* If non-zero, delete info about name. */
|
||||
char **loose; /* Do another search matching -999 if not found
|
||||
LookupName(
|
||||
Display *dpy, /* Display whose registry to check. */
|
||||
char *name, /* Name of an interpreter. */
|
||||
int delete, /* If non-zero, delete info about name. */
|
||||
char **loose) /* Do another search matching -999 if not found
|
||||
Return result here if a match is found */
|
||||
{
|
||||
unsigned char *regProp, *entry;
|
||||
@@ -398,11 +395,11 @@ LookupName(dpy, name, delete, loose)
|
||||
}
|
||||
|
||||
static char *
|
||||
SendEventProc(dpy, eventPtr, expected, code)
|
||||
Display *dpy;
|
||||
XEvent *eventPtr; /* Information about event. */
|
||||
int expected; /* The one were waiting for */
|
||||
int *code; /* Return code. 0 => OK */
|
||||
SendEventProc(
|
||||
Display *dpy,
|
||||
XEvent *eventPtr, /* Information about event. */
|
||||
int expected, /* The one were waiting for */
|
||||
int *code) /* Return code. 0 => OK */
|
||||
{
|
||||
unsigned char *propInfo;
|
||||
unsigned char *p;
|
||||
@@ -537,13 +534,13 @@ SendEventProc(dpy, eventPtr, expected, code)
|
||||
*/
|
||||
|
||||
static int
|
||||
AppendPropCarefully(dpy, window, property, value, length)
|
||||
Display *dpy; /* Display on which to operate. */
|
||||
Window window; /* Window whose property is to
|
||||
AppendPropCarefully(
|
||||
Display *dpy, /* Display on which to operate. */
|
||||
Window window, /* Window whose property is to
|
||||
* be modified. */
|
||||
Atom property; /* Name of property. */
|
||||
char *value; /* Characters to append to property. */
|
||||
int length; /* How much to append */
|
||||
Atom property, /* Name of property. */
|
||||
char *value, /* Characters to append to property. */
|
||||
int length) /* How much to append */
|
||||
{
|
||||
XErrorHandler old_handler;
|
||||
|
||||
@@ -562,9 +559,7 @@ AppendPropCarefully(dpy, window, property, value, length)
|
||||
*/
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
x_error_check(dpy, error_event)
|
||||
Display *dpy;
|
||||
XErrorEvent *error_event;
|
||||
x_error_check(Display *dpy, XErrorEvent *error_event)
|
||||
{
|
||||
got_x_error = TRUE;
|
||||
return 0;
|
||||
@@ -575,8 +570,7 @@ x_error_check(dpy, error_event)
|
||||
* Actually just checks if the name ends in a digit.
|
||||
*/
|
||||
static int
|
||||
IsSerialName(str)
|
||||
char *str;
|
||||
IsSerialName(char *str)
|
||||
{
|
||||
int len = strlen(str);
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ gvimext.obj: gvimext.h
|
||||
$(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
|
||||
|
||||
gvimext.res: gvimext.rc
|
||||
$(rc) $(rcflags) $(rcvars) gvimext.rc
|
||||
$(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
|
||||
|
||||
clean:
|
||||
- if exist gvimext.dll del gvimext.dll
|
||||
|
||||
+276
-1704
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>93</string>
|
||||
<string>96</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
@@ -56,8 +56,7 @@ extern NSTimeInterval MMBalloonEvalInternalDelay;
|
||||
unsigned numWholeLineChanges;
|
||||
unsigned offsetForDrawDataPrune;
|
||||
BOOL imState;
|
||||
CFSocketRef netbeansSocket;
|
||||
CFRunLoopSourceRef netbeansRunLoopSource;
|
||||
NSMutableDictionary *channelDict;
|
||||
int winposX;
|
||||
int winposY;
|
||||
#ifdef FEAT_BEVAL
|
||||
@@ -157,8 +156,8 @@ extern NSTimeInterval MMBalloonEvalInternalDelay;
|
||||
- (BOOL)imState;
|
||||
- (void)setImState:(BOOL)activated;
|
||||
|
||||
- (void)messageFromNetbeans;
|
||||
- (void)setNetbeansSocket:(int)socket;
|
||||
- (void)addChannel:(int)idx fileDescriptor:(int)fd;
|
||||
- (void)removeChannel:(int)idx;
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
- (void)setLastToolTip:(NSString *)toolTip;
|
||||
|
||||
+69
-44
@@ -163,6 +163,13 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
@end
|
||||
|
||||
|
||||
@interface MMChannel : NSObject {
|
||||
CFSocketRef socket;
|
||||
CFRunLoopSourceRef runLoopSource;
|
||||
}
|
||||
|
||||
- (id)initWithIndex:(int)idx fileDescriptor:(int)fd;
|
||||
@end
|
||||
|
||||
|
||||
@interface MMBackend (Private)
|
||||
@@ -234,6 +241,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
connectionNameDict = [[NSMutableDictionary alloc] init];
|
||||
clientProxyDict = [[NSMutableDictionary alloc] init];
|
||||
serverReplyDict = [[NSMutableDictionary alloc] init];
|
||||
channelDict = [[NSMutableDictionary alloc] init];
|
||||
|
||||
NSBundle *mainBundle = [NSBundle mainBundle];
|
||||
NSString *path = [mainBundle pathForResource:@"Colors" ofType:@"plist"];
|
||||
@@ -265,6 +273,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
gui_mch_free_font(oldWideFont); oldWideFont = NOFONT;
|
||||
[blinkTimer release]; blinkTimer = nil;
|
||||
[alternateServerName release]; alternateServerName = nil;
|
||||
[channelDict release]; channelDict = nil;
|
||||
[serverReplyDict release]; serverReplyDict = nil;
|
||||
[clientProxyDict release]; clientProxyDict = nil;
|
||||
[connectionNameDict release]; connectionNameDict = nil;
|
||||
@@ -1675,49 +1684,21 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
[self flushQueue:YES];
|
||||
}
|
||||
|
||||
static void netbeansReadCallback(CFSocketRef s,
|
||||
CFSocketCallBackType callbackType,
|
||||
CFDataRef address,
|
||||
const void *data,
|
||||
void *info)
|
||||
- (void)addChannel:(int)idx fileDescriptor:(int)fd
|
||||
{
|
||||
// NetBeans socket is readable.
|
||||
[[MMBackend sharedInstance] messageFromNetbeans];
|
||||
}
|
||||
|
||||
- (void)messageFromNetbeans
|
||||
{
|
||||
[inputQueue addObject:[NSNumber numberWithInt:NetBeansMsgID]];
|
||||
[inputQueue addObject:[NSNull null]];
|
||||
}
|
||||
|
||||
- (void)setNetbeansSocket:(int)socket
|
||||
{
|
||||
if (netbeansSocket) {
|
||||
CFRelease(netbeansSocket);
|
||||
netbeansSocket = NULL;
|
||||
}
|
||||
|
||||
if (netbeansRunLoopSource) {
|
||||
CFRunLoopSourceInvalidate(netbeansRunLoopSource);
|
||||
netbeansRunLoopSource = NULL;
|
||||
}
|
||||
|
||||
if (socket == -1)
|
||||
if (fd == -1)
|
||||
return;
|
||||
|
||||
// Tell CFRunLoop that we are interested in NetBeans socket input.
|
||||
netbeansSocket = CFSocketCreateWithNative(kCFAllocatorDefault,
|
||||
socket,
|
||||
kCFSocketReadCallBack,
|
||||
&netbeansReadCallback,
|
||||
NULL);
|
||||
netbeansRunLoopSource = CFSocketCreateRunLoopSource(NULL,
|
||||
netbeansSocket,
|
||||
0);
|
||||
CFRunLoopAddSource(CFRunLoopGetCurrent(),
|
||||
netbeansRunLoopSource,
|
||||
kCFRunLoopCommonModes);
|
||||
NSNumber *key = [NSNumber numberWithInt:idx];
|
||||
MMChannel *channel =
|
||||
[[[MMChannel alloc] initWithIndex:idx fileDescriptor:fd] autorelease];
|
||||
[channelDict setObject:channel forKey:key];
|
||||
}
|
||||
|
||||
- (void)removeChannel:(int)idx
|
||||
{
|
||||
NSNumber *key = [NSNumber numberWithInt:idx];
|
||||
[channelDict removeObjectForKey:key];
|
||||
}
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
@@ -2075,10 +2056,6 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
[self handleOpenWithArguments:[NSDictionary dictionaryWithData:data]];
|
||||
} else if (FindReplaceMsgID == msgid) {
|
||||
[self handleFindReplace:[NSDictionary dictionaryWithData:data]];
|
||||
} else if (NetBeansMsgID == msgid) {
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
netbeans_read();
|
||||
#endif
|
||||
} else if (ZoomMsgID == msgid) {
|
||||
if (!data) return;
|
||||
const void *bytes = [data bytes];
|
||||
@@ -3435,3 +3412,51 @@ static id evalExprCocoa(NSString * expr, NSString ** errstr)
|
||||
}
|
||||
|
||||
@end // NSString (VimStrings)
|
||||
|
||||
|
||||
|
||||
@implementation MMChannel
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
CFRunLoopSourceInvalidate(runLoopSource);
|
||||
CFRelease(runLoopSource);
|
||||
CFRelease(socket);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
static void socketReadCallback(CFSocketRef s,
|
||||
CFSocketCallBackType callbackType,
|
||||
CFDataRef address,
|
||||
const void *data,
|
||||
void *info)
|
||||
{
|
||||
#ifdef FEAT_CHANNEL
|
||||
int idx = (int)(intptr_t)info;
|
||||
channel_read(idx);
|
||||
#endif
|
||||
}
|
||||
|
||||
- (id)initWithIndex:(int)idx fileDescriptor:(int)fd
|
||||
{
|
||||
self = [super init];
|
||||
if (!self) return nil;
|
||||
|
||||
// Tell CFRunLoop that we are interested in channel socket input.
|
||||
CFSocketContext ctx = {0, (void *)(intptr_t)idx, NULL, NULL, NULL};
|
||||
socket = CFSocketCreateWithNative(kCFAllocatorDefault,
|
||||
fd,
|
||||
kCFSocketReadCallBack,
|
||||
&socketReadCallback,
|
||||
&ctx);
|
||||
runLoopSource = CFSocketCreateRunLoopSource(NULL,
|
||||
socket,
|
||||
0);
|
||||
CFRunLoopAddSource(CFRunLoopGetCurrent(),
|
||||
runLoopSource,
|
||||
kCFRunLoopCommonModes);
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -44,10 +44,11 @@
|
||||
#define DRAW_CURSOR 0x20
|
||||
#define DRAW_WIDE 0x40 /* draw wide text */
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
|
||||
#define kCTFontOrientationDefault kCTFontDefaultOrientation
|
||||
#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
|
||||
static void
|
||||
CTFontDrawGlyphs(CTFontRef fontRef, const CGGlyph glyphs[],
|
||||
const CGPoint positions[], UniCharCount count,
|
||||
@@ -58,7 +59,6 @@ CTFontDrawGlyphs(CTFontRef fontRef, const CGGlyph glyphs[],
|
||||
CGContextShowGlyphsAtPositions(context, glyphs, positions, count);
|
||||
CGFontRelease(cgFontRef);
|
||||
}
|
||||
|
||||
#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
|
||||
|
||||
@interface MMCoreTextView (Private)
|
||||
|
||||
@@ -191,7 +191,6 @@ enum {
|
||||
DeactivatedImMsgID,
|
||||
BrowseForFileMsgID,
|
||||
ShowDialogMsgID,
|
||||
NetBeansMsgID,
|
||||
SetMarkedTextMsgID,
|
||||
ZoomMsgID,
|
||||
SetWindowPositionMsgID,
|
||||
|
||||
@@ -90,7 +90,6 @@ char *MessageStrings[] =
|
||||
"DeactivatedImMsgID",
|
||||
"BrowseForFileMsgID",
|
||||
"ShowDialogMsgID",
|
||||
"NetBeansMsgID",
|
||||
"SetMarkedTextMsgID",
|
||||
"ZoomMsgID",
|
||||
"SetWindowPositionMsgID",
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
52A364731C4A5789005757EC /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; };
|
||||
52A364761C4A57C1005757EC /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
52B7ED9B1C4A4D6900AFFF15 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 52B7ED9A1C4A4D6900AFFF15 /* dsa_pub.pem */; };
|
||||
52818B031C1C08CE00F59085 /* QLStephen.qlgenerator in Copy QuickLookPlugin */ = {isa = PBXBuildFile; fileRef = 52818AFF1C1C075300F59085 /* QLStephen.qlgenerator */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
@@ -95,6 +96,13 @@
|
||||
remoteGlobalIDString = 8D576316048677EA00EA77CD;
|
||||
remoteInfo = QuickLookStephen;
|
||||
};
|
||||
52818B001C1C084100F59085 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 52818AFA1C1C075300F59085 /* QuickLookStephen.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8D57630D048677EA00EA77CD;
|
||||
remoteInfo = QuickLookStephen;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@@ -134,6 +142,17 @@
|
||||
name = "Copy Vim Runtime Files";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
52818B021C1C088000F59085 /* Copy QuickLookPlugin */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = ../Library/QuickLook;
|
||||
dstSubfolderSpec = 6;
|
||||
files = (
|
||||
52818B031C1C08CE00F59085 /* QLStephen.qlgenerator in Copy QuickLookPlugin */,
|
||||
);
|
||||
name = "Copy QuickLookPlugin";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -447,14 +466,15 @@
|
||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||
1D0DCAD80BA3604D00B6CCFA /* Copy Executables */,
|
||||
1D9EB2840C366D7B0074B739 /* Copy Frameworks */,
|
||||
52818B021C1C088000F59085 /* Copy QuickLookPlugin */,
|
||||
1DE608B80C58807F0055263D /* Copy Vim Runtime Files */,
|
||||
1D1C31F00EFFBFD6003FE9A5 /* Make Document Icons */,
|
||||
520E0E2B1C2FBAF300949DD8 /* ShellScript */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
1D493DCD0C5254A400AB718C /* PBXTargetDependency */,
|
||||
52818B011C1C084100F59085 /* PBXTargetDependency */,
|
||||
);
|
||||
name = MacVim;
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
@@ -578,20 +598,6 @@
|
||||
shellScript = "# Clear deployment target, else the python script always thinks we're building on Tiger\nunset MACOSX_DEPLOYMENT_TARGET\n\n# Generate the icons (redirect stderr to ignore warnings)\ncd \"$PROJECT_DIR\"/icons/\nmake OUTDIR=\"$TARGET_BUILD_DIR\"/$UNLOCALIZED_RESOURCES_FOLDER_PATH 2> /dev/null\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
520E0E2B1C2FBAF300949DD8 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "OSX_MINOR_VERSION=`/usr/bin/sw_vers -productVersion|cut -f2 -d'.'`\nif [ $OSX_MINOR_VERSION -ge 8 ]; then\n xcodebuild -project qlstephen/QuickLookStephen.xcodeproj\n mkdir -p $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Library/QuickLook\n cp -pr qlstephen/build/Release/QLStephen.qlgenerator $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Library/QuickLook\nfi";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -629,6 +635,11 @@
|
||||
name = PSMTabBarControlFramework;
|
||||
targetProxy = 1D493DCC0C5254A400AB718C /* PBXContainerItemProxy */;
|
||||
};
|
||||
52818B011C1C084100F59085 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = QuickLookStephen;
|
||||
targetProxy = 52818B001C1C084100F59085 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
@@ -670,6 +681,7 @@
|
||||
C01FCF4B08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -702,6 +714,7 @@
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
||||
@@ -583,6 +583,7 @@
|
||||
C056398008A954F8003078D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
@@ -608,6 +609,7 @@
|
||||
C056398108A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
FRAMEWORK_VERSION = A;
|
||||
|
||||
+9
-15
@@ -2239,18 +2239,19 @@ static int vimModMaskToEventModifierFlags(int mods)
|
||||
|
||||
|
||||
|
||||
// -- NetBeans Support ------------------------------------------------------
|
||||
// -- Channel Support ------------------------------------------------------
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
|
||||
/* Set NetBeans socket to CFRunLoop */
|
||||
void
|
||||
gui_macvim_set_netbeans_socket(int socket)
|
||||
gui_macvim_add_channel(int idx, int fd)
|
||||
{
|
||||
[[MMBackend sharedInstance] setNetbeansSocket:socket];
|
||||
[[MMBackend sharedInstance] addChannel:idx fileDescriptor:fd];
|
||||
}
|
||||
|
||||
#endif // FEAT_NETBEANS_INTG
|
||||
void
|
||||
gui_macvim_remove_channel(int idx)
|
||||
{
|
||||
[[MMBackend sharedInstance] removeChannel:idx];
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2309,13 +2310,6 @@ gui_mch_destroy_sign(void *sign)
|
||||
[imgName release];
|
||||
}
|
||||
|
||||
# ifdef FEAT_NETBEANS_INTG
|
||||
void
|
||||
netbeans_draw_multisign_indicator(int row)
|
||||
{
|
||||
}
|
||||
# endif // FEAT_NETBEANS_INTG
|
||||
|
||||
#endif // FEAT_SIGN_ICONS
|
||||
|
||||
|
||||
@@ -2328,7 +2322,7 @@ netbeans_draw_multisign_indicator(int row)
|
||||
gui_mch_create_beval_area(target, mesg, mesgCB, clientData)
|
||||
void *target;
|
||||
char_u *mesg;
|
||||
void (*mesgCB)__ARGS((BalloonEval *, int));
|
||||
void (*mesgCB)(BalloonEval *, int);
|
||||
void *clientData;
|
||||
{
|
||||
BalloonEval *beval;
|
||||
|
||||
@@ -72,6 +72,7 @@ EXE_dependencies = \
|
||||
getchar.obj \
|
||||
hardcopy.obj \
|
||||
hashtab.obj \
|
||||
json.obj \
|
||||
main.obj \
|
||||
mark.obj \
|
||||
memfile.obj \
|
||||
|
||||
+31
-1
@@ -86,9 +86,12 @@
|
||||
# (BIG for WIN32, SMALL for DOS16)
|
||||
# WINVER 0x0400 or 0x0500: minimum Win32 version to support (0x0400)
|
||||
# CSCOPE no or yes: include support for Cscope interface (yes)
|
||||
# NETBEANS no or yes: include support for Netbeans interface (yes if GUI
|
||||
# NETBEANS no or yes: include support for Netbeans interface; also
|
||||
# requires CHANNEL (yes if GUI
|
||||
# is yes)
|
||||
# NBDEBUG no or yes: include support for debugging Netbeans interface (no)
|
||||
# CHANNEL no or yes: include support for inter process communication (yes
|
||||
# if GUI is yes)
|
||||
# XPM define to path to XPM dir to get support for loading XPM images.
|
||||
|
||||
### BOR: root of the BC installation
|
||||
@@ -137,6 +140,11 @@ CSCOPE = yes
|
||||
NETBEANS = yes
|
||||
!endif
|
||||
|
||||
### CHANNEL: yes to enable inter process communication, no to disable it
|
||||
!if ("$(CHANNEL)"=="") && ("$(GUI)"=="yes")
|
||||
CHANNEL = yes
|
||||
!endif
|
||||
|
||||
### LUA: uncomment this line if you want lua support in vim
|
||||
# LUA=c:\lua
|
||||
|
||||
@@ -466,6 +474,7 @@ LINK2 = -aa
|
||||
RESFILE = vim.res
|
||||
!else
|
||||
!undef NETBEANS
|
||||
!undef CHANNEL
|
||||
!undef XPM
|
||||
!undef VIMDLL
|
||||
!if ("$(DEBUG)"=="yes")
|
||||
@@ -488,12 +497,21 @@ RESFILE = vim.res
|
||||
!endif
|
||||
|
||||
!if ("$(NETBEANS)"=="yes")
|
||||
!if ("$(CHANNEL)"!="yes")
|
||||
# cannot use Netbeans without CHANNEL
|
||||
NETBEANS = no
|
||||
!else
|
||||
DEFINES = $(DEFINES) -DFEAT_NETBEANS_INTG
|
||||
!if ("$(NBDEBUG)"=="yes")
|
||||
DEFINES = $(DEFINES) -DNBDEBUG
|
||||
NBDEBUG_DEP = nbdebug.h nbdebug.c
|
||||
!endif
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if ("$(CHANNEL)"=="yes")
|
||||
DEFINES = $(DEFINES) -DFEAT_CHANNEL
|
||||
!endif
|
||||
|
||||
!ifdef XPM
|
||||
!if ("$(GUI)"=="yes")
|
||||
@@ -598,6 +616,7 @@ vimobj = \
|
||||
$(OBJDIR)\getchar.obj \
|
||||
$(OBJDIR)\hardcopy.obj \
|
||||
$(OBJDIR)\hashtab.obj \
|
||||
$(OBJDIR)\json.obj \
|
||||
$(OBJDIR)\main.obj \
|
||||
$(OBJDIR)\mark.obj \
|
||||
$(OBJDIR)\memfile.obj \
|
||||
@@ -672,6 +691,11 @@ vimobj = $(vimobj) \
|
||||
$(OBJDIR)\netbeans.obj
|
||||
!endif
|
||||
|
||||
!if ("$(CHANNEL)"=="yes")
|
||||
vimobj = $(vimobj) \
|
||||
$(OBJDIR)\channel.obj
|
||||
!endif
|
||||
|
||||
!ifdef XPM
|
||||
vimobj = $(vimobj) \
|
||||
$(OBJDIR)\xpm_w32.obj
|
||||
@@ -747,6 +771,9 @@ MSG = $(MSG) CSCOPE
|
||||
!if ("$(NETBEANS)"=="yes")
|
||||
MSG = $(MSG) NETBEANS
|
||||
!endif
|
||||
!if ("$(CHANNEL)"=="yes")
|
||||
MSG = $(MSG) CHANNEL
|
||||
!endif
|
||||
!ifdef XPM
|
||||
MSG = $(MSG) XPM
|
||||
!endif
|
||||
@@ -1028,6 +1055,9 @@ $(OBJDIR)\xpm_w32.obj: xpm_w32.c xpm.lib
|
||||
$(OBJDIR)\netbeans.obj: netbeans.c $(NBDEBUG_DEP)
|
||||
$(CC) $(CCARG) $(CC1) $(CC2)$@ netbeans.c
|
||||
|
||||
$(OBJDIR)\channel.obj: channel.c
|
||||
$(CC) $(CCARG) $(CC1) $(CC2)$@ channel.c
|
||||
|
||||
$(OBJDIR)\vim.res: vim.rc version.h tools.bmp tearoff.bmp \
|
||||
vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
|
||||
$(BRC) -fo$(OBJDIR)\vim.res -i $(BOR)\include -w32 -r vim.rc @&&|
|
||||
|
||||
+39
-7
@@ -39,7 +39,7 @@ GUI=yes
|
||||
DIRECTX=no
|
||||
# FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
|
||||
# Set to TINY to make minimal version (few features).
|
||||
FEATURES=BIG
|
||||
FEATURES=HUGE
|
||||
# Set to one of i386, i486, i586, i686 as the minimum target processor.
|
||||
# For amd64/x64 architecture set ARCH=x86-64 .
|
||||
ARCH=i386
|
||||
@@ -64,8 +64,10 @@ WINVER = 0x0500
|
||||
endif
|
||||
# Set to yes to enable Cscope support.
|
||||
CSCOPE=yes
|
||||
# Set to yes to enable Netbeans support.
|
||||
# Set to yes to enable Netbeans support (requires CHANNEL).
|
||||
NETBEANS=$(GUI)
|
||||
# Set to yes to enable inter process communication.
|
||||
CHANNEL=$(GUI)
|
||||
|
||||
|
||||
# Link against the shared version of libstdc++ by default. Set
|
||||
@@ -258,17 +260,25 @@ endif
|
||||
ifndef PYTHON3_VER
|
||||
PYTHON3_VER=31
|
||||
endif
|
||||
|
||||
ifeq (no,$(DYNAMIC_PYTHON3))
|
||||
PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER)
|
||||
ifndef DYNAMIC_PYTHON3_DLL
|
||||
DYNAMIC_PYTHON3_DLL=python$(PYTHON3_VER).dll
|
||||
endif
|
||||
ifdef PYTHON3_HOME
|
||||
PYTHON3_HOME_DEF=-DPYTHON3_HOME=\"$(PYTHON3_HOME)\"
|
||||
endif
|
||||
|
||||
ifeq (no,$(DYNAMIC_PYTHON3))
|
||||
PYTHON3LIB=-L$(PYTHON3)/libs -lpython$(PYTHON3_VER)
|
||||
endif
|
||||
|
||||
ifndef PYTHON3INC
|
||||
ifeq ($(CROSS),no)
|
||||
PYTHON3INC=-I $(PYTHON3)/include
|
||||
else
|
||||
PYTHON3INC=-I $(PYTHON3)/win32inc
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# TCL interface:
|
||||
# TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak)
|
||||
@@ -482,7 +492,7 @@ endif
|
||||
ifdef PYTHON3
|
||||
CFLAGS += -DFEAT_PYTHON3
|
||||
ifeq (yes, $(DYNAMIC_PYTHON3))
|
||||
CFLAGS += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\"
|
||||
CFLAGS += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"$(DYNAMIC_PYTHON3_DLL)\"
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -518,6 +528,10 @@ endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CHANNEL),yes)
|
||||
DEFINES += -DFEAT_CHANNEL
|
||||
endif
|
||||
|
||||
# DirectWrite (DirectX)
|
||||
ifeq ($(DIRECTX),yes)
|
||||
# Only allow DirectWrite for a GUI build.
|
||||
@@ -593,6 +607,7 @@ OBJ = \
|
||||
$(OUTDIR)/getchar.o \
|
||||
$(OUTDIR)/hardcopy.o \
|
||||
$(OUTDIR)/hashtab.o \
|
||||
$(OUTDIR)/json.o \
|
||||
$(OUTDIR)/main.o \
|
||||
$(OUTDIR)/mark.o \
|
||||
$(OUTDIR)/memfile.o \
|
||||
@@ -658,13 +673,27 @@ endif
|
||||
ifeq ($(CSCOPE),yes)
|
||||
OBJ += $(OUTDIR)/if_cscope.o
|
||||
endif
|
||||
|
||||
ifeq ($(NETBEANS),yes)
|
||||
ifneq ($(CHANNEL),yes)
|
||||
# Cannot use Netbeans without CHANNEL
|
||||
NETBEANS=no
|
||||
else
|
||||
# Only allow NETBEANS for a GUI build.
|
||||
ifeq (yes, $(GUI))
|
||||
OBJ += $(OUTDIR)/netbeans.o
|
||||
LIB += -lwsock32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CHANNEL),yes)
|
||||
OBJ += $(OUTDIR)/channel.o
|
||||
ifneq ($(NETBEANS),yes)
|
||||
LIB += -lwsock32
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(DIRECTX),yes)
|
||||
# Only allow DIRECTX for a GUI build.
|
||||
ifeq (yes, $(GUI))
|
||||
@@ -814,7 +843,7 @@ $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
|
||||
$(CC) -c $(CFLAGS) $(PYTHONINC) $(PYTHON_HOME_DEF) $< -o $@
|
||||
|
||||
$(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
|
||||
$(CC) -c $(CFLAGS) $(PYTHON3INC) $< -o $@
|
||||
$(CC) -c $(CFLAGS) $(PYTHON3INC) $(PYTHON3_HOME_DEF) $< -o $@
|
||||
|
||||
$(OUTDIR)/%.o : %.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
@@ -857,6 +886,9 @@ if_perl.c: if_perl.xs typemap
|
||||
$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
|
||||
$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
|
||||
|
||||
$(OUTDIR)/channel.o: channel.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) channel.c -o $(OUTDIR)/channel.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ SRC = \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
json.c \
|
||||
main.c \
|
||||
mark.c \
|
||||
memfile.c \
|
||||
@@ -93,6 +94,7 @@ OBJ = o/blowfish.o \
|
||||
o/getchar.o \
|
||||
o/hardcopy.o \
|
||||
o/hashtab.o \
|
||||
o/json.o \
|
||||
o/main.o \
|
||||
o/mark.o \
|
||||
o/memfile.o \
|
||||
@@ -179,6 +181,8 @@ o/hardcopy.o: hardcopy.c $(SYMS)
|
||||
|
||||
o/hashtab.o: hashtab.c $(SYMS)
|
||||
|
||||
o/json.o: json.c $(SYMS)
|
||||
|
||||
o/main.o: main.c $(SYMS)
|
||||
|
||||
o/mark.o: mark.c $(SYMS)
|
||||
|
||||
@@ -229,6 +229,7 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)/getchar.obj" \
|
||||
"$(INTDIR)/hardcopy.obj" \
|
||||
"$(INTDIR)/hashtab.obj" \
|
||||
"$(INTDIR)/json.obj" \
|
||||
"$(INTDIR)/main.obj" \
|
||||
"$(INTDIR)/mark.obj" \
|
||||
"$(INTDIR)/mbyte.obj" \
|
||||
@@ -555,6 +556,10 @@ SOURCE=.\if_ole.idl
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\json.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\main.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
@@ -55,6 +55,7 @@ SRC = blowfish.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
json.c \
|
||||
main.c \
|
||||
mark.c \
|
||||
memfile.c \
|
||||
@@ -105,6 +106,7 @@ OBJ = obj/blowfish.o \
|
||||
obj/getchar.o \
|
||||
obj/hardcopy.o \
|
||||
obj/hashtab.o \
|
||||
obj/json.o \
|
||||
obj/main.o \
|
||||
obj/mark.o \
|
||||
obj/memfile.o \
|
||||
@@ -153,6 +155,7 @@ PRO = proto/blowfish.pro \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
proto/hashtab.pro \
|
||||
proto/json.pro \
|
||||
proto/main.pro \
|
||||
proto/mark.pro \
|
||||
proto/memfile.pro \
|
||||
@@ -284,6 +287,9 @@ obj/hardcopy.o: hardcopy.c
|
||||
obj/hashtab.o: hashtab.c
|
||||
$(CCSYM) $@ hashtab.c
|
||||
|
||||
obj/json.o: json.c
|
||||
$(CCSYM) $@ json.c
|
||||
|
||||
# Don't use $(SYMS) here, because main.c defines EXTERN
|
||||
obj/main.o: main.c option.h globals.h
|
||||
$(CCNOSYM) $@ main.c
|
||||
|
||||
@@ -43,6 +43,7 @@ SRC = blowfish.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
json.c \
|
||||
main.c \
|
||||
mark.c \
|
||||
mbyte.c \
|
||||
|
||||
+35
-12
@@ -20,7 +20,7 @@
|
||||
#
|
||||
# !!!! After changing features do "nmake clean" first !!!!
|
||||
#
|
||||
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is BIG)
|
||||
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is HUGE)
|
||||
#
|
||||
# GUI interface: GUI=yes (default is no)
|
||||
#
|
||||
@@ -96,6 +96,13 @@
|
||||
# PostScript printing: POSTSCRIPT=yes (default is no)
|
||||
#
|
||||
# Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
|
||||
# Requires CHANNEL.
|
||||
#
|
||||
# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
|
||||
# doesn't work)
|
||||
#
|
||||
# Inter process communication: CHANNEL=[yes or no] (default is yes if GUI
|
||||
# is yes)
|
||||
#
|
||||
# XPM Image Support: XPM=[path to XPM directory]
|
||||
# Default is "xpm", using the files included in the distribution.
|
||||
@@ -114,9 +121,6 @@
|
||||
# yes: Write a normal mapfile.
|
||||
# lines: Write a mapfile with line numbers (only for VC6 and later)
|
||||
#
|
||||
# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
|
||||
# doesn't work)
|
||||
#
|
||||
# Static Code Analysis: ANALYZE=yes (works with VS2012 only)
|
||||
#
|
||||
# You can combine any of these interfaces
|
||||
@@ -290,9 +294,13 @@ CSCOPE_DEFS = -DFEAT_CSCOPE
|
||||
NETBEANS = $(GUI)
|
||||
!endif
|
||||
|
||||
# Only allow NETBEANS and XPM for a GUI build.
|
||||
!ifndef CHANNEL
|
||||
CHANNEL = $(GUI)
|
||||
!endif
|
||||
|
||||
# Only allow NETBEANS and XPM for a GUI build and CHANNEL.
|
||||
!if "$(GUI)" == "yes"
|
||||
!if "$(NETBEANS)" == "yes"
|
||||
!if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
|
||||
# NETBEANS - Include support for Netbeans integration
|
||||
NETBEANS_PRO = proto/netbeans.pro
|
||||
NETBEANS_OBJ = $(OBJDIR)/netbeans.obj
|
||||
@@ -333,6 +341,14 @@ XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if "$(CHANNEL)" == "yes"
|
||||
CHANNEL_PRO = proto/channel.pro
|
||||
CHANNEL_OBJ = $(OBJDIR)/channel.obj
|
||||
CHANNEL_DEFS = -DFEAT_CHANNEL
|
||||
|
||||
NETBEANS_LIB = WSock32.lib
|
||||
!endif
|
||||
|
||||
# Set which version of the CRT to use
|
||||
!if defined(USE_MSVCRT)
|
||||
# CVARS = $(cvarsdll)
|
||||
@@ -365,7 +381,7 @@ WINVER = 0x0400
|
||||
#VIMRUNTIMEDIR = somewhere
|
||||
|
||||
CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \
|
||||
$(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) \
|
||||
$(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) $(CHANNEL_DEFS) \
|
||||
$(NBDEBUG_DEFS) $(XPM_DEFS) \
|
||||
$(DEFINES) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
|
||||
/Fo$(OUTDIR)/
|
||||
@@ -536,6 +552,7 @@ OBJ = \
|
||||
$(OUTDIR)\getchar.obj \
|
||||
$(OUTDIR)\hardcopy.obj \
|
||||
$(OUTDIR)\hashtab.obj \
|
||||
$(OUTDIR)\json.obj \
|
||||
$(OUTDIR)\main.obj \
|
||||
$(OUTDIR)\mark.obj \
|
||||
$(OUTDIR)\mbyte.obj \
|
||||
@@ -950,7 +967,7 @@ CFLAGS = $(CFLAGS) -DMSWINPS
|
||||
# FEATURES: TINY, SMALL, NORMAL, BIG or HUGE
|
||||
#
|
||||
!if "$(FEATURES)"==""
|
||||
FEATURES = BIG
|
||||
FEATURES = HUGE
|
||||
!endif
|
||||
CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
|
||||
|
||||
@@ -1004,12 +1021,12 @@ all: $(VIM).exe \
|
||||
|
||||
$(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
|
||||
$(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
|
||||
$(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \
|
||||
$(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
|
||||
version.c version.h
|
||||
$(CC) $(CFLAGS) version.c
|
||||
$(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
|
||||
$(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
|
||||
$(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) \
|
||||
$(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
|
||||
$(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
|
||||
if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
|
||||
|
||||
@@ -1202,6 +1219,8 @@ $(OUTDIR)/if_sniff.obj: $(OUTDIR) if_sniff.c $(INCL)
|
||||
$(OUTDIR)/if_tcl.obj: $(OUTDIR) if_tcl.c $(INCL)
|
||||
$(CC) $(CFLAGS) $(TCL_INC) if_tcl.c
|
||||
|
||||
$(OUTDIR)/json.obj: $(OUTDIR) json.c $(INCL)
|
||||
|
||||
$(OUTDIR)/main.obj: $(OUTDIR) main.c $(INCL)
|
||||
|
||||
$(OUTDIR)/mark.obj: $(OUTDIR) mark.c $(INCL)
|
||||
@@ -1224,6 +1243,8 @@ $(OUTDIR)/mbyte.obj: $(OUTDIR) mbyte.c $(INCL)
|
||||
|
||||
$(OUTDIR)/netbeans.obj: $(OUTDIR) netbeans.c $(NBDEBUG_SRC) $(INCL)
|
||||
|
||||
$(OUTDIR)/channel.obj: $(OUTDIR) channel.c $(INCL)
|
||||
|
||||
$(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL)
|
||||
|
||||
$(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL)
|
||||
@@ -1273,7 +1294,7 @@ $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
|
||||
$(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp \
|
||||
tearoff.bmp vim.ico vim_error.ico \
|
||||
vim_alert.ico vim_info.ico vim_quest.ico
|
||||
$(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
|
||||
$(RC) /nologo /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
|
||||
|
||||
iid_ole.c if_ole.h vim.tlb: if_ole.idl
|
||||
midl /nologo /error none /proxy nul /iid iid_ole.c /tlb vim.tlb \
|
||||
@@ -1329,6 +1350,7 @@ proto.h: \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
proto/hashtab.pro \
|
||||
proto/json.pro \
|
||||
proto/main.pro \
|
||||
proto/mark.pro \
|
||||
proto/memfile.pro \
|
||||
@@ -1358,7 +1380,8 @@ proto.h: \
|
||||
proto/ui.pro \
|
||||
proto/undo.pro \
|
||||
proto/window.pro \
|
||||
$(NETBEANS_PRO)
|
||||
$(NETBEANS_PRO) \
|
||||
$(CHANNEL_PRO)
|
||||
|
||||
.SUFFIXES: .cod .i
|
||||
|
||||
|
||||
@@ -108,6 +108,7 @@ SRC = \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
json.c \
|
||||
main.c \
|
||||
mark.c \
|
||||
memfile.c \
|
||||
@@ -157,6 +158,7 @@ OBJ = \
|
||||
getchar.o \
|
||||
hardcopy.o \
|
||||
hashtab.o \
|
||||
json.o \
|
||||
main.o \
|
||||
mark.o \
|
||||
memfile.o \
|
||||
@@ -206,6 +208,7 @@ PRO = \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
proto/hashtab.pro \
|
||||
proto/json.pro \
|
||||
proto/main.pro \
|
||||
proto/mark.pro \
|
||||
proto/memfile.pro \
|
||||
@@ -328,6 +331,8 @@ hardcopy.o: hardcopy.c
|
||||
proto/hardcopy.pro: hardcopy.c
|
||||
hashtab.o: hashtab.c
|
||||
proto/hashtab.pro: hashtab.c
|
||||
json.o: json.c
|
||||
proto/json.pro: json.c
|
||||
main.o: main.c
|
||||
proto/main.pro: main.c
|
||||
mark.o: mark.c
|
||||
|
||||
+7
-3
@@ -2,7 +2,7 @@
|
||||
# Makefile for Vim on OpenVMS
|
||||
#
|
||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||
# Last change: 2014 Aug 10
|
||||
# Last change: 2016 Jan 22
|
||||
#
|
||||
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||
# with MMS and MMK
|
||||
@@ -311,7 +311,7 @@ ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
|
||||
|
||||
SRC = blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
|
||||
ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
|
||||
hardcopy.c hashtab.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
hardcopy.c hashtab.c json.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
|
||||
spell.c syntax.c tag.c term.c termlib.c ui.c undo.c version.c screen.c \
|
||||
window.c os_unix.c os_vms.c pathdef.c \
|
||||
@@ -320,7 +320,7 @@ SRC = blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c
|
||||
|
||||
OBJ = blowfish.obj buffer.obj charset.obj crypt.obj, crypt_zip.obj diff.obj digraph.obj edit.obj eval.obj \
|
||||
ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
|
||||
if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj main.obj mark.obj \
|
||||
if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj json.obj main.obj mark.obj \
|
||||
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
|
||||
move.obj mbyte.obj normal.obj ops.obj option.obj popupmnu.obj quickfix.obj \
|
||||
regexp.obj search.obj sha256.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
|
||||
@@ -572,6 +572,10 @@ if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_mzsch.h
|
||||
json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
main.obj : main.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
|
||||
+224
-152
@@ -462,6 +462,10 @@ CClink = $(CC)
|
||||
# Uncomment this when you do not want the netbeans interface.
|
||||
#CONF_OPT_NETBEANS = --disable-netbeans
|
||||
|
||||
# CHANNEL - inter process communication. Same conditions as NetBeans.
|
||||
# Uncomment this when you do not want inter process communication.
|
||||
#CONF_OPT_CHANNEL = --disable-channel
|
||||
|
||||
# SNIFF - Include support for SNiFF+.
|
||||
#CONF_OPT_SNIFF = --enable-sniff
|
||||
|
||||
@@ -506,7 +510,7 @@ CClink = $(CC)
|
||||
|
||||
# FEATURES - For creating Vim with more or less features
|
||||
# Uncomment one of these lines when you want to include few to many features.
|
||||
# The default is "normal".
|
||||
# The default is "huge" for most systems.
|
||||
#CONF_OPT_FEAT = --with-features=tiny
|
||||
#CONF_OPT_FEAT = --with-features=small
|
||||
#CONF_OPT_FEAT = --with-features=normal
|
||||
@@ -1378,10 +1382,10 @@ CPP_DEPEND = $(CC) -I$(srcdir) -M$(CPP_MM) \
|
||||
NO_ATTR=
|
||||
#
|
||||
# Use this for cproto 3 patchlevel 6 or below (use "cproto -V" to check):
|
||||
# PROTO_FLAGS = -f4 -m__ARGS -d -E"$(CPP)" $(NO_ATTR)
|
||||
# PROTO_FLAGS = -f4 -d -E"$(CPP)" $(NO_ATTR)
|
||||
#
|
||||
# Use this for cproto 3 patchlevel 7 or above (use "cproto -V" to check):
|
||||
PROTO_FLAGS = -m -M__ARGS -d -E"$(CPP)" $(NO_ATTR)
|
||||
PROTO_FLAGS = -d -E"$(CPP)" $(NO_ATTR)
|
||||
|
||||
|
||||
################################################
|
||||
@@ -1504,6 +1508,7 @@ BASIC_SRC = \
|
||||
hashtab.c \
|
||||
if_cscope.c \
|
||||
if_xcmdsrv.c \
|
||||
json.c \
|
||||
main.c \
|
||||
mark.c \
|
||||
memfile.c \
|
||||
@@ -1552,15 +1557,18 @@ TAGS_SRC = *.c *.cpp if_perl.xs
|
||||
|
||||
EXTRA_SRC = hangulin.c if_lua.c if_mzsch.c auto/if_perl.c if_perlsfio.c \
|
||||
if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \
|
||||
gui_beval.c workshop.c wsdebug.c integration.c netbeans.c \
|
||||
gui_beval.c workshop.c wsdebug.c integration.c \
|
||||
netbeans.c channel.c \
|
||||
$(GRESOURCE_SRC)
|
||||
|
||||
# Unittest files
|
||||
JSON_TEST_SRC = json_test.c
|
||||
JSON_TEST_TARGET = json_test$(EXEEXT)
|
||||
MEMFILE_TEST_SRC = memfile_test.c
|
||||
MEMFILE_TEST_TARGET = memfile_test$(EXEEXT)
|
||||
|
||||
UNITTEST_SRC = $(MEMFILE_TEST_SRC)
|
||||
UNITTEST_TARGETS = $(MEMFILE_TEST_TARGET)
|
||||
UNITTEST_SRC = $(JSON_TEST_SRC) $(MEMFILE_TEST_SRC)
|
||||
UNITTEST_TARGETS = $(JSON_TEST_TARGET) $(MEMFILE_TEST_TARGET)
|
||||
|
||||
# All sources, also the ones that are not configured
|
||||
ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
|
||||
@@ -1568,8 +1576,10 @@ ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
|
||||
# Which files to check with lint. Select one of these three lines. ALL_SRC
|
||||
# checks more, but may not work well for checking a GUI that wasn't configured.
|
||||
# The perl sources also don't work well with lint.
|
||||
LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) $(PYTHON_SRC) $(PYTHON3_SRC) $(TCL_SRC) \
|
||||
$(SNIFF_SRC) $(WORKSHOP_SRC) $(WSDEBUG_SRC) $(NETBEANS_SRC)
|
||||
LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
|
||||
$(PYTHON_SRC) $(PYTHON3_SRC) $(TCL_SRC) \
|
||||
$(SNIFF_SRC) $(WORKSHOP_SRC) $(WSDEBUG_SRC) \
|
||||
$(NETBEANS_SRC) $(CHANNEL_SRC)
|
||||
#LINT_SRC = $(SRC)
|
||||
#LINT_SRC = $(ALL_SRC)
|
||||
#LINT_SRC = $(BASIC_SRC)
|
||||
@@ -1598,7 +1608,7 @@ OBJ_COMMON = \
|
||||
objects/if_cscope.o \
|
||||
objects/if_xcmdsrv.o \
|
||||
objects/mark.o \
|
||||
objects/memline.o \
|
||||
objects/memline.o \
|
||||
objects/menu.o \
|
||||
objects/message.o \
|
||||
objects/misc1.o \
|
||||
@@ -1636,14 +1646,21 @@ OBJ_COMMON = \
|
||||
$(OS_EXTRA_OBJ) \
|
||||
$(WORKSHOP_OBJ) \
|
||||
$(NETBEANS_OBJ) \
|
||||
$(CHANNEL_OBJ) \
|
||||
$(WSDEBUG_OBJ)
|
||||
|
||||
OBJ = $(OBJ_COMMON) \
|
||||
objects/json.o \
|
||||
objects/main.o \
|
||||
objects/memfile.o
|
||||
|
||||
JSON_TEST_OBJ = $(OBJ_COMMON) \
|
||||
objects/json_test.o \
|
||||
objects/memfile.o
|
||||
|
||||
MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
|
||||
objects/memfile_test.o
|
||||
objects/json.o \
|
||||
objects/memfile_test.o
|
||||
|
||||
PRO_AUTO = \
|
||||
blowfish.pro \
|
||||
@@ -1667,12 +1684,16 @@ PRO_AUTO = \
|
||||
hashtab.pro \
|
||||
hangulin.pro \
|
||||
if_cscope.pro \
|
||||
if_xcmdsrv.pro \
|
||||
if_lua.pro \
|
||||
if_mzsch.pro \
|
||||
if_python.pro \
|
||||
if_python3.pro \
|
||||
if_ruby.pro \
|
||||
if_xcmdsrv.pro \
|
||||
json.pro \
|
||||
main.pro \
|
||||
mark.pro \
|
||||
mbyte.pro \
|
||||
memfile.pro \
|
||||
memline.pro \
|
||||
menu.pro \
|
||||
@@ -1680,12 +1701,13 @@ PRO_AUTO = \
|
||||
misc1.pro \
|
||||
misc2.pro \
|
||||
move.pro \
|
||||
mbyte.pro \
|
||||
normal.pro \
|
||||
ops.pro \
|
||||
option.pro \
|
||||
os_mac_conv.pro \
|
||||
os_unix.pro \
|
||||
popupmnu.pro \
|
||||
pty.pro \
|
||||
quickfix.pro \
|
||||
regexp.pro \
|
||||
screen.pro \
|
||||
@@ -1703,6 +1725,7 @@ PRO_AUTO = \
|
||||
gui_beval.pro \
|
||||
workshop.pro \
|
||||
netbeans.pro \
|
||||
channel.pro \
|
||||
$(ALL_GUI_PRO) \
|
||||
$(TCL_PRO)
|
||||
|
||||
@@ -1745,7 +1768,8 @@ config auto/config.mk: auto/configure config.mk.in config.h.in
|
||||
$(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
|
||||
$(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) $(CONF_OPT_WORKSHOP) \
|
||||
$(CONF_OPT_SNIFF) $(CONF_OPT_FEAT) $(CONF_TERM_LIB) \
|
||||
$(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
|
||||
$(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
|
||||
$(CONF_OPT_CHANNEL) \
|
||||
$(CONF_ARGS) $(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
|
||||
$(CONF_OPT_LUA) $(CONF_OPT_LUA_PREFIX) \
|
||||
$(CONF_OPT_SYSMOUSE); \
|
||||
@@ -1914,6 +1938,7 @@ types.vim: $(TAGS_SRC) $(TAGS_INCL)
|
||||
ctags --c-kinds=gstu -o- $(TAGS_SRC) $(TAGS_INCL) |\
|
||||
awk 'BEGIN{printf("syntax keyword Type\t")}\
|
||||
{printf("%s ", $$1)}END{print ""}' > $@
|
||||
echo "syn keyword Constant OK FAIL TRUE FALSE MAYBE" >> $@
|
||||
|
||||
# Execute the test scripts. Run these after compiling Vim, before installing.
|
||||
# This doesn't depend on $(VIMTARGET), because that won't work when configure
|
||||
@@ -1948,10 +1973,14 @@ unittest unittests: $(UNITTEST_TARGETS)
|
||||
./$$t || exit 1; echo $$t passed; \
|
||||
done
|
||||
|
||||
run_json_test: $(JSON_TEST_TARGET)
|
||||
./$(JSON_TEST_TARGET)
|
||||
|
||||
run_memfile_test: $(MEMFILE_TEST_TARGET)
|
||||
./$(MEMFILE_TEST_TARGET)
|
||||
|
||||
# Run individual OLD style test, assuming that Vim was already compiled.
|
||||
test1 \
|
||||
test_argument_0count \
|
||||
test_argument_count \
|
||||
test_autocmd_option \
|
||||
test_autoformat_join \
|
||||
test_breakindent \
|
||||
@@ -2000,11 +2029,15 @@ test_arglist \
|
||||
test_assert \
|
||||
test_backspace_opt \
|
||||
test_cdo \
|
||||
test_channel \
|
||||
test_cursor_func \
|
||||
test_delete \
|
||||
test_expand \
|
||||
test_glob2regpat \
|
||||
test_hardcopy \
|
||||
test_increment \
|
||||
test_json \
|
||||
test_langmap \
|
||||
test_lispwords \
|
||||
test_menu \
|
||||
test_perl \
|
||||
@@ -2012,8 +2045,10 @@ test_arglist \
|
||||
test_searchpos \
|
||||
test_set \
|
||||
test_sort \
|
||||
test_syntax \
|
||||
test_undolevels \
|
||||
test_unlet \
|
||||
test_viminfo \
|
||||
test_viml \
|
||||
test_alot:
|
||||
cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile $@.res VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
@@ -2037,6 +2072,13 @@ testclean:
|
||||
|
||||
# Unittests
|
||||
# It's build just like Vim to satisfy all dependencies.
|
||||
$(JSON_TEST_TARGET): auto/config.mk objects $(JSON_TEST_OBJ)
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
-o $(JSON_TEST_TARGET) $(JSON_TEST_OBJ) $(ALL_LIBS)" \
|
||||
MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
|
||||
sh $(srcdir)/link.sh
|
||||
|
||||
$(MEMFILE_TEST_TARGET): auto/config.mk objects $(MEMFILE_TEST_OBJ)
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
@@ -2528,6 +2570,7 @@ shadow: runtime pixmaps
|
||||
../../testdir/Make_all.mak \
|
||||
../../testdir/*.in \
|
||||
../../testdir/*.vim \
|
||||
../../testdir/*.py \
|
||||
../../testdir/python* \
|
||||
../../testdir/sautest \
|
||||
../../testdir/test83-tags? \
|
||||
@@ -2627,10 +2670,27 @@ auto/pathdef.c: Makefile auto/config.mk
|
||||
-@echo '";' >> $@
|
||||
-@sh $(srcdir)/pathdef.sh
|
||||
|
||||
auto/gui_gtk_gresources.c: gui_gtk_res.xml
|
||||
$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $<
|
||||
auto/gui_gtk_gresources.h: gui_gtk_res.xml
|
||||
$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $<
|
||||
GUI_GTK_RES_INPUTS = \
|
||||
../pixmaps/stock_vim_build_tags.png \
|
||||
../pixmaps/stock_vim_find_help.png \
|
||||
../pixmaps/stock_vim_save_all.png \
|
||||
../pixmaps/stock_vim_session_load.png \
|
||||
../pixmaps/stock_vim_session_new.png \
|
||||
../pixmaps/stock_vim_session_save.png \
|
||||
../pixmaps/stock_vim_shell.png \
|
||||
../pixmaps/stock_vim_window_maximize.png \
|
||||
../pixmaps/stock_vim_window_maximize_width.png \
|
||||
../pixmaps/stock_vim_window_minimize.png \
|
||||
../pixmaps/stock_vim_window_minimize_width.png \
|
||||
../pixmaps/stock_vim_window_split.png \
|
||||
../pixmaps/stock_vim_window_split_vertical.png
|
||||
|
||||
auto/gui_gtk_gresources.c: gui_gtk_res.xml $(GUI_GTK_RES_INPUTS)
|
||||
$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml
|
||||
auto/gui_gtk_gresources.h: gui_gtk_res.xml $(GUI_GTK_RES_INPUTS)
|
||||
if test -z "$(GLIB_COMPILE_RESOURCES)"; then touch $@; else \
|
||||
$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml; \
|
||||
fi
|
||||
|
||||
# All the object files are put in the "objects" directory. Since not all make
|
||||
# commands understand putting object files in another directory, it must be
|
||||
@@ -2797,6 +2857,12 @@ objects/if_tcl.o: if_tcl.c
|
||||
objects/integration.o: integration.c
|
||||
$(CCC) -o $@ integration.c
|
||||
|
||||
objects/json.o: json.c
|
||||
$(CCC) -o $@ json.c
|
||||
|
||||
objects/json_test.o: json_test.c
|
||||
$(CCC) -o $@ json_test.c
|
||||
|
||||
objects/main.o: main.c
|
||||
$(CCC) -o $@ main.c
|
||||
|
||||
@@ -2914,6 +2980,9 @@ objects/wsdebug.o: wsdebug.c
|
||||
objects/netbeans.o: netbeans.c
|
||||
$(CCC) -o $@ netbeans.c
|
||||
|
||||
objects/channel.o: channel.c
|
||||
$(CCC) -o $@ channel.c
|
||||
|
||||
Makefile:
|
||||
@echo The name of the makefile MUST be "Makefile" (with capital M)!!!!
|
||||
|
||||
@@ -3038,225 +3107,219 @@ macvimclean:
|
||||
### Dependencies:
|
||||
objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/buffer.o: buffer.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
objects/charset.o: charset.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/crypt.o: crypt.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/crypt_zip.o: crypt_zip.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/digraph.o: digraph.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/edit.o: edit.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/eval.o: eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
objects/ex_cmds.o: ex_cmds.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
objects/ex_cmds2.o: ex_cmds2.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
objects/ex_docmd.o: ex_docmd.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/ex_eval.o: ex_eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/fold.o: fold.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/getchar.o: getchar.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/hardcopy.o: hardcopy.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
objects/hashtab.o: hashtab.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/if_cscope.o: if_cscope.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_cscope.h
|
||||
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h farsi.c arabic.c
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h farsi.c arabic.c
|
||||
objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/memfile.o: memfile.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/memline.o: memline.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/menu.o: menu.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/message.o: message.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/misc1.o: misc1.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
objects/misc2.o: misc2.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/move.o: move.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/mbyte.o: mbyte.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/normal.o: normal.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/ops.o: ops.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h if_mzsch.h os_unixx.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h os_unixx.h
|
||||
objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/popupmnu.o: popupmnu.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h regexp_nfa.c
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h regexp_nfa.c
|
||||
objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/search.o: search.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/sha256.o: sha256.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/spell.o: spell.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/syntax.o: syntax.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/tag.o: tag.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
objects/term.o: term.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/ui.o: ui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
objects/undo.o: undo.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
objects/gui_gtk.o: gui_gtk.c gui_gtk_f.h vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h ../pixmaps/stock_icons.h
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c gui_gtk_res.xml \
|
||||
../pixmaps/stock_vim_build_tags.png ../pixmaps/stock_vim_find_help.png \
|
||||
../pixmaps/stock_vim_save_all.png ../pixmaps/stock_vim_session_load.png \
|
||||
../pixmaps/stock_vim_session_new.png ../pixmaps/stock_vim_session_save.png \
|
||||
../pixmaps/stock_vim_shell.png ../pixmaps/stock_vim_window_maximize.png \
|
||||
../pixmaps/stock_vim_window_maximize_width.png \
|
||||
../pixmaps/stock_vim_window_minimize.png \
|
||||
../pixmaps/stock_vim_window_minimize_width.png \
|
||||
../pixmaps/stock_vim_window_split.png \
|
||||
../pixmaps/stock_vim_window_split_vertical.png
|
||||
objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
|
||||
../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
|
||||
../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
|
||||
@@ -3277,15 +3340,15 @@ objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
|
||||
objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
|
||||
../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
|
||||
../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
|
||||
@@ -3304,83 +3367,92 @@ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h ../runtime/vim32x32.xpm \
|
||||
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm $(GRESOURCE_HDR)
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
../runtime/vim48x48.xpm
|
||||
objects/gui_at_sb.o: gui_at_sb.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h
|
||||
objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h
|
||||
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h
|
||||
objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h farsi.c arabic.c json.c
|
||||
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h \
|
||||
proto.h globals.h farsi.h arabic.h farsi.c arabic.c memfile.c
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
|
||||
ex_cmds.h proto.h globals.h farsi.h arabic.h farsi.c arabic.c memfile.c
|
||||
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_mzsch.h mzscheme_base.c
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_mzsch.h
|
||||
objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/if_perlsfio.o: if_perlsfio.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/if_python.o: if_python.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_py_both.h
|
||||
objects/if_python3.o: if_python3.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_py_both.h
|
||||
objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
objects/if_sniff.o: if_sniff.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h os_unixx.h
|
||||
objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/workshop.o: workshop.c auto/config.h integration.h vim.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h workshop.h
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
|
||||
ex_cmds.h proto.h globals.h farsi.h arabic.h version.h workshop.h
|
||||
objects/wsdebug.o: wsdebug.c
|
||||
objects/integration.o: integration.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h integration.h
|
||||
objects/netbeans.o: netbeans.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
objects/channel.o: channel.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
|
||||
|
||||
+47
-65
@@ -18,33 +18,32 @@
|
||||
*
|
||||
*/
|
||||
|
||||
static int A_is_a __ARGS((int cur_c));
|
||||
static int A_is_s __ARGS((int cur_c));
|
||||
static int A_is_f __ARGS((int cur_c));
|
||||
static int chg_c_a2s __ARGS((int cur_c));
|
||||
static int chg_c_a2i __ARGS((int cur_c));
|
||||
static int chg_c_a2m __ARGS((int cur_c));
|
||||
static int chg_c_a2f __ARGS((int cur_c));
|
||||
static int chg_c_i2m __ARGS((int cur_c));
|
||||
static int chg_c_f2m __ARGS((int cur_c));
|
||||
static int chg_c_laa2i __ARGS((int hid_c));
|
||||
static int chg_c_laa2f __ARGS((int hid_c));
|
||||
static int half_shape __ARGS((int c));
|
||||
static int A_firstc_laa __ARGS((int c1, int c));
|
||||
static int A_is_harakat __ARGS((int c));
|
||||
static int A_is_iso __ARGS((int c));
|
||||
static int A_is_formb __ARGS((int c));
|
||||
static int A_is_ok __ARGS((int c));
|
||||
static int A_is_valid __ARGS((int c));
|
||||
static int A_is_special __ARGS((int c));
|
||||
static int A_is_a(int cur_c);
|
||||
static int A_is_s(int cur_c);
|
||||
static int A_is_f(int cur_c);
|
||||
static int chg_c_a2s(int cur_c);
|
||||
static int chg_c_a2i(int cur_c);
|
||||
static int chg_c_a2m(int cur_c);
|
||||
static int chg_c_a2f(int cur_c);
|
||||
static int chg_c_i2m(int cur_c);
|
||||
static int chg_c_f2m(int cur_c);
|
||||
static int chg_c_laa2i(int hid_c);
|
||||
static int chg_c_laa2f(int hid_c);
|
||||
static int half_shape(int c);
|
||||
static int A_firstc_laa(int c1, int c);
|
||||
static int A_is_harakat(int c);
|
||||
static int A_is_iso(int c);
|
||||
static int A_is_formb(int c);
|
||||
static int A_is_ok(int c);
|
||||
static int A_is_valid(int c);
|
||||
static int A_is_special(int c);
|
||||
|
||||
|
||||
/*
|
||||
* Returns True if c is an ISO-8859-6 shaped ARABIC letter (user entered)
|
||||
*/
|
||||
static int
|
||||
A_is_a(cur_c)
|
||||
int cur_c;
|
||||
A_is_a(int cur_c)
|
||||
{
|
||||
switch (cur_c)
|
||||
{
|
||||
@@ -96,8 +95,7 @@ A_is_a(cur_c)
|
||||
* Returns True if c is an Isolated Form-B ARABIC letter
|
||||
*/
|
||||
static int
|
||||
A_is_s(cur_c)
|
||||
int cur_c;
|
||||
A_is_s(int cur_c)
|
||||
{
|
||||
switch (cur_c)
|
||||
{
|
||||
@@ -148,8 +146,7 @@ A_is_s(cur_c)
|
||||
* Returns True if c is a Final shape of an ARABIC letter
|
||||
*/
|
||||
static int
|
||||
A_is_f(cur_c)
|
||||
int cur_c;
|
||||
A_is_f(int cur_c)
|
||||
{
|
||||
switch (cur_c)
|
||||
{
|
||||
@@ -202,8 +199,7 @@ A_is_f(cur_c)
|
||||
* Change shape - from ISO-8859-6/Isolated to Form-B Isolated
|
||||
*/
|
||||
static int
|
||||
chg_c_a2s(cur_c)
|
||||
int cur_c;
|
||||
chg_c_a2s(int cur_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -332,8 +328,7 @@ chg_c_a2s(cur_c)
|
||||
* Change shape - from ISO-8859-6/Isolated to Initial
|
||||
*/
|
||||
static int
|
||||
chg_c_a2i(cur_c)
|
||||
int cur_c;
|
||||
chg_c_a2i(int cur_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -462,8 +457,7 @@ chg_c_a2i(cur_c)
|
||||
* Change shape - from ISO-8859-6/Isolated to Medial
|
||||
*/
|
||||
static int
|
||||
chg_c_a2m(cur_c)
|
||||
int cur_c;
|
||||
chg_c_a2m(int cur_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -592,8 +586,7 @@ chg_c_a2m(cur_c)
|
||||
* Change shape - from ISO-8859-6/Isolated to final
|
||||
*/
|
||||
static int
|
||||
chg_c_a2f(cur_c)
|
||||
int cur_c;
|
||||
chg_c_a2f(int cur_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -732,8 +725,7 @@ chg_c_a2f(cur_c)
|
||||
* Change shape - from Initial to Medial
|
||||
*/
|
||||
static int
|
||||
chg_c_i2m(cur_c)
|
||||
int cur_c;
|
||||
chg_c_i2m(int cur_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -820,8 +812,7 @@ chg_c_i2m(cur_c)
|
||||
* Change shape - from Final to Medial
|
||||
*/
|
||||
static int
|
||||
chg_c_f2m(cur_c)
|
||||
int cur_c;
|
||||
chg_c_f2m(int cur_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -930,8 +921,7 @@ chg_c_f2m(cur_c)
|
||||
* Change shape - from Combination (2 char) to an Isolated
|
||||
*/
|
||||
static int
|
||||
chg_c_laa2i(hid_c)
|
||||
int hid_c;
|
||||
chg_c_laa2i(int hid_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -961,8 +951,7 @@ chg_c_laa2i(hid_c)
|
||||
* Change shape - from Combination-Isolated to Final
|
||||
*/
|
||||
static int
|
||||
chg_c_laa2f(hid_c)
|
||||
int hid_c;
|
||||
chg_c_laa2f(int hid_c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -991,8 +980,7 @@ chg_c_laa2f(hid_c)
|
||||
* Do "half-shaping" on character "c". Return zero if no shaping.
|
||||
*/
|
||||
static int
|
||||
half_shape(c)
|
||||
int c;
|
||||
half_shape(int c)
|
||||
{
|
||||
if (A_is_a(c))
|
||||
return chg_c_a2i(c);
|
||||
@@ -1011,13 +999,13 @@ half_shape(c)
|
||||
* in: "next_c" is the next character (not shaped).
|
||||
*/
|
||||
int
|
||||
arabic_shape(c, ccp, c1p, prev_c, prev_c1, next_c)
|
||||
int c;
|
||||
int *ccp;
|
||||
int *c1p;
|
||||
int prev_c;
|
||||
int prev_c1;
|
||||
int next_c;
|
||||
arabic_shape(
|
||||
int c,
|
||||
int *ccp,
|
||||
int *c1p,
|
||||
int prev_c,
|
||||
int prev_c1,
|
||||
int next_c)
|
||||
{
|
||||
int curr_c;
|
||||
int shape_c;
|
||||
@@ -1082,9 +1070,9 @@ arabic_shape(c, ccp, c1p, prev_c, prev_c1, next_c)
|
||||
* A_firstc_laa returns first character of LAA combination if it exists
|
||||
*/
|
||||
static int
|
||||
A_firstc_laa(c, c1)
|
||||
int c; /* base character */
|
||||
int c1; /* first composing character */
|
||||
A_firstc_laa(
|
||||
int c, /* base character */
|
||||
int c1) /* first composing character */
|
||||
{
|
||||
if (c1 != NUL && c == a_LAM && !A_is_harakat(c1))
|
||||
return c1;
|
||||
@@ -1097,8 +1085,7 @@ A_firstc_laa(c, c1)
|
||||
* (harakat/tanween)
|
||||
*/
|
||||
static int
|
||||
A_is_harakat(c)
|
||||
int c;
|
||||
A_is_harakat(int c)
|
||||
{
|
||||
return (c >= a_FATHATAN && c <= a_SUKUN);
|
||||
}
|
||||
@@ -1109,8 +1096,7 @@ A_is_harakat(c)
|
||||
* (alphabet/number/punctuation)
|
||||
*/
|
||||
static int
|
||||
A_is_iso(c)
|
||||
int c;
|
||||
A_is_iso(int c)
|
||||
{
|
||||
return ((c >= a_HAMZA && c <= a_GHAIN)
|
||||
|| (c >= a_TATWEEL && c <= a_HAMZA_BELOW)
|
||||
@@ -1123,8 +1109,7 @@ A_is_iso(c)
|
||||
* (alphabet/number/punctuation)
|
||||
*/
|
||||
static int
|
||||
A_is_formb(c)
|
||||
int c;
|
||||
A_is_formb(int c)
|
||||
{
|
||||
return ((c >= a_s_FATHATAN && c <= a_s_DAMMATAN)
|
||||
|| c == a_s_KASRATAN
|
||||
@@ -1137,8 +1122,7 @@ A_is_formb(c)
|
||||
* A_is_ok returns TRUE if 'c' is an Arabic 10646 (8859-6 or Form-B)
|
||||
*/
|
||||
static int
|
||||
A_is_ok(c)
|
||||
int c;
|
||||
A_is_ok(int c)
|
||||
{
|
||||
return (A_is_iso(c) || A_is_formb(c));
|
||||
}
|
||||
@@ -1149,8 +1133,7 @@ A_is_ok(c)
|
||||
* with some exceptions/exclusions
|
||||
*/
|
||||
static int
|
||||
A_is_valid(c)
|
||||
int c;
|
||||
A_is_valid(int c)
|
||||
{
|
||||
return (A_is_ok(c) && !A_is_special(c));
|
||||
}
|
||||
@@ -1161,8 +1144,7 @@ A_is_valid(c)
|
||||
* Specials don't adhere to most of the rules.
|
||||
*/
|
||||
static int
|
||||
A_is_special(c)
|
||||
int c;
|
||||
A_is_special(int c)
|
||||
{
|
||||
return (c == a_HAMZA || c == a_s_HAMZA);
|
||||
}
|
||||
|
||||
Vendored
+79
-19
@@ -639,7 +639,6 @@ NARROW_PROTO
|
||||
MOTIF_LIBNAME
|
||||
GRESOURCE_OBJ
|
||||
GRESOURCE_SRC
|
||||
GRESOURCE_HDR
|
||||
GLIB_COMPILE_RESOURCES
|
||||
GNOME_INCLUDEDIR
|
||||
GNOME_LIBDIR
|
||||
@@ -657,6 +656,8 @@ XMKMF
|
||||
xmkmfpath
|
||||
SNIFF_OBJ
|
||||
SNIFF_SRC
|
||||
CHANNEL_OBJ
|
||||
CHANNEL_SRC
|
||||
NETBEANS_OBJ
|
||||
NETBEANS_SRC
|
||||
WORKSHOP_OBJ
|
||||
@@ -814,6 +815,7 @@ with_ruby_command
|
||||
enable_cscope
|
||||
enable_workshop
|
||||
enable_netbeans
|
||||
enable_channel
|
||||
enable_sniff
|
||||
enable_multibyte
|
||||
enable_hangulinput
|
||||
@@ -1479,6 +1481,7 @@ Optional Features:
|
||||
--enable-cscope Include cscope interface.
|
||||
--enable-workshop Include Sun Visual Workshop support.
|
||||
--disable-netbeans Disable NetBeans integration support.
|
||||
--disable-channel Disable process communication support.
|
||||
--enable-sniff Include Sniff interface.
|
||||
--enable-multibyte Include multibyte editing support.
|
||||
--enable-hangulinput Include Hangul input support.
|
||||
@@ -4811,8 +4814,8 @@ if test "${with_features+set}" = set; then :
|
||||
withval=$with_features; features="$withval"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: $features" >&5
|
||||
$as_echo "$features" >&6; }
|
||||
else
|
||||
features="normal"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: Defaulting to normal" >&5
|
||||
$as_echo "Defaulting to normal" >&6; }
|
||||
features="huge"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: Defaulting to huge" >&5
|
||||
$as_echo "Defaulting to huge" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
@@ -4902,6 +4905,10 @@ fi
|
||||
$as_echo "$enable_luainterp" >&6; }
|
||||
|
||||
if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
as_fn_error $? "cannot use Lua with tiny or small features" "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-lua-prefix argument" >&5
|
||||
@@ -5642,6 +5649,9 @@ fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_perlinterp" >&5
|
||||
$as_echo "$enable_perlinterp" >&6; }
|
||||
if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
as_fn_error $? "cannot use Perl with tiny or small features" "$LINENO" 5
|
||||
fi
|
||||
|
||||
# Extract the first word of "perl", so it can be a program name with args.
|
||||
set dummy perl; ac_word=$2
|
||||
@@ -6048,7 +6058,9 @@ eof
|
||||
|
||||
fi
|
||||
|
||||
if ${vi_cv_dll_name_python+:} false; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's dll name" >&5
|
||||
$as_echo_n "checking Python's dll name... " >&6; }
|
||||
if ${vi_cv_dll_name_python+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
@@ -6059,7 +6071,8 @@ else
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_dll_name_python" >&5
|
||||
$as_echo "$vi_cv_dll_name_python" >&6; }
|
||||
|
||||
PYTHON_LIBS="${vi_cv_path_python_plibs}"
|
||||
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
|
||||
@@ -6384,7 +6397,9 @@ eof
|
||||
|
||||
fi
|
||||
|
||||
if ${vi_cv_dll_name_python3+:} false; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python3's dll name" >&5
|
||||
$as_echo_n "checking Python3's dll name... " >&6; }
|
||||
if ${vi_cv_dll_name_python3+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
@@ -6395,7 +6410,8 @@ else
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_dll_name_python3" >&5
|
||||
$as_echo "$vi_cv_dll_name_python3" >&6; }
|
||||
|
||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
||||
@@ -6547,7 +6563,7 @@ else
|
||||
int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
|
||||
if (pylib != 0)
|
||||
{
|
||||
void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
@@ -6613,7 +6629,7 @@ else
|
||||
int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
|
||||
if (pylib != 0)
|
||||
{
|
||||
void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
@@ -7309,8 +7325,49 @@ else
|
||||
fi
|
||||
|
||||
if test "$enable_netbeans" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use NetBeans with tiny or small features" >&5
|
||||
$as_echo "cannot use NetBeans with tiny or small features" >&6; }
|
||||
enable_netbeans="no"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-channel argument" >&5
|
||||
$as_echo_n "checking --disable-channel argument... " >&6; }
|
||||
# Check whether --enable-channel was given.
|
||||
if test "${enable_channel+set}" = set; then :
|
||||
enableval=$enable_channel;
|
||||
else
|
||||
enable_channel="yes"
|
||||
fi
|
||||
|
||||
if test "$enable_channel" = "yes"; then
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use channels with tiny or small features" >&5
|
||||
$as_echo "cannot use channels with tiny or small features" >&6; }
|
||||
enable_channel="no"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
else
|
||||
if test "$enable_netbeans" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, netbeans also disabled" >&5
|
||||
$as_echo "yes, netbeans also disabled" >&6; }
|
||||
enable_netbeans="no"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$enable_channel" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
|
||||
$as_echo_n "checking for socket in -lsocket... " >&6; }
|
||||
if ${ac_cv_lib_socket_socket+:} false; then :
|
||||
@@ -7401,8 +7458,8 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling netbeans integration is possible" >&5
|
||||
$as_echo_n "checking whether compiling netbeans integration is possible... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling with process communication is possible" >&5
|
||||
$as_echo_n "checking whether compiling with process communication is possible... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
@@ -7442,13 +7499,10 @@ if ac_fn_c_try_link "$LINENO"; then :
|
||||
$as_echo "yes" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }; enable_netbeans="no"
|
||||
$as_echo "no" >&6; }; enable_netbeans="no"; enable_channel="no"
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
fi
|
||||
if test "$enable_netbeans" = "yes"; then
|
||||
$as_echo "#define FEAT_NETBEANS_INTG 1" >>confdefs.h
|
||||
@@ -7457,6 +7511,14 @@ if test "$enable_netbeans" = "yes"; then
|
||||
|
||||
NETBEANS_OBJ="objects/netbeans.o"
|
||||
|
||||
fi
|
||||
if test "$enable_channel" = "yes"; then
|
||||
$as_echo "#define FEAT_CHANNEL 1" >>confdefs.h
|
||||
|
||||
CHANNEL_SRC="channel.c"
|
||||
|
||||
CHANNEL_OBJ="objects/channel.o"
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-sniff argument" >&5
|
||||
@@ -9155,7 +9217,6 @@ $as_echo "cannot be found in PATH." >&6; }
|
||||
$as_echo "usable." >&6; }
|
||||
$as_echo "#define USE_GRESOURCE 1" >>confdefs.h
|
||||
|
||||
GRESOURCE_HDR="auto/gui_gtk_gresources.h"
|
||||
GRESOURCE_SRC="auto/gui_gtk_gresources.c"
|
||||
GRESOURCE_OBJ="objects/gui_gtk_gresources.o"
|
||||
fi
|
||||
@@ -9173,7 +9234,6 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
if test -z "$SKIP_MOTIF"; then
|
||||
gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
|
||||
GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
|
||||
@@ -10131,7 +10191,7 @@ fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
for ac_header in stdarg.h stdint.h stdlib.h string.h \
|
||||
for ac_header in stdint.h stdlib.h string.h \
|
||||
sys/select.h sys/utsname.h termcap.h fcntl.h \
|
||||
sgtty.h sys/ioctl.h sys/time.h sys/types.h \
|
||||
termio.h iconv.h inttypes.h langinfo.h math.h \
|
||||
|
||||
+45
-45
@@ -56,12 +56,12 @@ typedef struct {
|
||||
} bf_state_T;
|
||||
|
||||
|
||||
static void bf_e_block __ARGS((bf_state_T *state, UINT32_T *p_xl, UINT32_T *p_xr));
|
||||
static void bf_e_cblock __ARGS((bf_state_T *state, char_u *block));
|
||||
static int bf_check_tables __ARGS((UINT32_T pax[18], UINT32_T sbx[4][256], UINT32_T val));
|
||||
static int bf_self_test __ARGS((void));
|
||||
static void bf_key_init __ARGS((bf_state_T *state, char_u *password, char_u *salt, int salt_len));
|
||||
static void bf_cfb_init __ARGS((bf_state_T *state, char_u *seed, int seed_len));
|
||||
static void bf_e_block(bf_state_T *state, UINT32_T *p_xl, UINT32_T *p_xr);
|
||||
static void bf_e_cblock(bf_state_T *state, char_u *block);
|
||||
static int bf_check_tables(UINT32_T pax[18], UINT32_T sbx[4][256], UINT32_T val);
|
||||
static int bf_self_test(void);
|
||||
static void bf_key_init(bf_state_T *state, char_u *password, char_u *salt, int salt_len);
|
||||
static void bf_cfb_init(bf_state_T *state, char_u *seed, int seed_len);
|
||||
|
||||
/* Blowfish code */
|
||||
static UINT32_T pax_init[18] = {
|
||||
@@ -348,10 +348,10 @@ static UINT32_T sbx_init[4][256] = {
|
||||
bfs->sbx[3][xr & 0xFF];
|
||||
|
||||
static void
|
||||
bf_e_block(bfs, p_xl, p_xr)
|
||||
bf_state_T *bfs;
|
||||
UINT32_T *p_xl;
|
||||
UINT32_T *p_xr;
|
||||
bf_e_block(
|
||||
bf_state_T *bfs,
|
||||
UINT32_T *p_xl,
|
||||
UINT32_T *p_xr)
|
||||
{
|
||||
UINT32_T temp;
|
||||
UINT32_T xl = *p_xl;
|
||||
@@ -384,9 +384,9 @@ bf_e_block(bfs, p_xl, p_xr)
|
||||
#endif
|
||||
|
||||
static void
|
||||
bf_e_cblock(bfs, block)
|
||||
bf_state_T *bfs;
|
||||
char_u *block;
|
||||
bf_e_cblock(
|
||||
bf_state_T *bfs,
|
||||
char_u *block)
|
||||
{
|
||||
block8 bk;
|
||||
|
||||
@@ -404,11 +404,11 @@ bf_e_cblock(bfs, block)
|
||||
* "salt[salt_len]" as the salt.
|
||||
*/
|
||||
static void
|
||||
bf_key_init(bfs, password, salt, salt_len)
|
||||
bf_state_T *bfs;
|
||||
char_u *password;
|
||||
char_u *salt;
|
||||
int salt_len;
|
||||
bf_key_init(
|
||||
bf_state_T *bfs,
|
||||
char_u *password,
|
||||
char_u *salt,
|
||||
int salt_len)
|
||||
{
|
||||
int i, j, keypos = 0;
|
||||
unsigned u;
|
||||
@@ -470,10 +470,10 @@ bf_key_init(bfs, password, salt, salt_len)
|
||||
* Blowfish self-test for corrupted tables or instructions.
|
||||
*/
|
||||
static int
|
||||
bf_check_tables(pax, sbx, val)
|
||||
UINT32_T pax[18];
|
||||
UINT32_T sbx[4][256];
|
||||
UINT32_T val;
|
||||
bf_check_tables(
|
||||
UINT32_T pax[18],
|
||||
UINT32_T sbx[4][256],
|
||||
UINT32_T val)
|
||||
{
|
||||
int i, j;
|
||||
UINT32_T c = 0;
|
||||
@@ -514,7 +514,7 @@ static struct_bf_test_data bf_test_data[] = {
|
||||
* Return FAIL when there is something wrong with blowfish encryption.
|
||||
*/
|
||||
static int
|
||||
bf_self_test()
|
||||
bf_self_test(void)
|
||||
{
|
||||
int i, bn;
|
||||
int err = 0;
|
||||
@@ -566,10 +566,10 @@ bf_self_test()
|
||||
* Initialize with seed "seed[seed_len]".
|
||||
*/
|
||||
static void
|
||||
bf_cfb_init(bfs, seed, seed_len)
|
||||
bf_state_T *bfs;
|
||||
char_u *seed;
|
||||
int seed_len;
|
||||
bf_cfb_init(
|
||||
bf_state_T *bfs,
|
||||
char_u *seed,
|
||||
int seed_len)
|
||||
{
|
||||
int i, mi;
|
||||
|
||||
@@ -602,11 +602,11 @@ bf_cfb_init(bfs, seed, seed_len)
|
||||
* "from" and "to" can be equal to encrypt in place.
|
||||
*/
|
||||
void
|
||||
crypt_blowfish_encode(state, from, len, to)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u *to;
|
||||
crypt_blowfish_encode(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u *to)
|
||||
{
|
||||
bf_state_T *bfs = state->method_state;
|
||||
size_t i;
|
||||
@@ -625,11 +625,11 @@ crypt_blowfish_encode(state, from, len, to)
|
||||
* Decrypt "from[len]" into "to[len]".
|
||||
*/
|
||||
void
|
||||
crypt_blowfish_decode(state, from, len, to)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u *to;
|
||||
crypt_blowfish_decode(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u *to)
|
||||
{
|
||||
bf_state_T *bfs = state->method_state;
|
||||
size_t i;
|
||||
@@ -644,13 +644,13 @@ crypt_blowfish_decode(state, from, len, to)
|
||||
}
|
||||
|
||||
void
|
||||
crypt_blowfish_init(state, key, salt, salt_len, seed, seed_len)
|
||||
cryptstate_T *state;
|
||||
char_u* key;
|
||||
char_u* salt;
|
||||
int salt_len;
|
||||
char_u* seed;
|
||||
int seed_len;
|
||||
crypt_blowfish_init(
|
||||
cryptstate_T *state,
|
||||
char_u* key,
|
||||
char_u* salt,
|
||||
int salt_len,
|
||||
char_u* seed,
|
||||
int seed_len)
|
||||
{
|
||||
bf_state_T *bfs = (bf_state_T *)alloc_clear(sizeof(bf_state_T));
|
||||
|
||||
@@ -672,7 +672,7 @@ crypt_blowfish_init(state, key, salt, salt_len, seed, seed_len)
|
||||
* Give an error and return FAIL when not.
|
||||
*/
|
||||
int
|
||||
blowfish_self_test()
|
||||
blowfish_self_test(void)
|
||||
{
|
||||
if (sha256_self_test() == FAIL)
|
||||
{
|
||||
|
||||
+251
-293
File diff suppressed because it is too large
Load Diff
+1527
File diff suppressed because it is too large
Load Diff
+152
-208
@@ -10,17 +10,17 @@
|
||||
#include "vim.h"
|
||||
|
||||
#ifdef FEAT_LINEBREAK
|
||||
static int win_chartabsize __ARGS((win_T *wp, char_u *p, colnr_T col));
|
||||
static int win_chartabsize(win_T *wp, char_u *p, colnr_T col);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
# if defined(HAVE_WCHAR_H)
|
||||
# include <wchar.h> /* for towupper() and towlower() */
|
||||
# endif
|
||||
static int win_nolbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
|
||||
static int win_nolbr_chartabsize(win_T *wp, char_u *s, colnr_T col, int *headp);
|
||||
#endif
|
||||
|
||||
static unsigned nr2hex __ARGS((unsigned c));
|
||||
static unsigned nr2hex(unsigned c);
|
||||
|
||||
static int chartab_initialized = FALSE;
|
||||
|
||||
@@ -30,21 +30,32 @@ static int chartab_initialized = FALSE;
|
||||
#define RESET_CHARTAB(buf, c) (buf)->b_chartab[(unsigned)(c) >> 3] &= ~(1 << ((c) & 0x7))
|
||||
#define GET_CHARTAB(buf, c) ((buf)->b_chartab[(unsigned)(c) >> 3] & (1 << ((c) & 0x7)))
|
||||
|
||||
/* table used below, see init_chartab() for an explanation */
|
||||
static char_u g_chartab[256];
|
||||
|
||||
/*
|
||||
* Fill chartab[]. Also fills curbuf->b_chartab[] with flags for keyword
|
||||
* Flags for g_chartab[].
|
||||
*/
|
||||
#define CT_CELL_MASK 0x07 /* mask: nr of display cells (1, 2 or 4) */
|
||||
#define CT_PRINT_CHAR 0x10 /* flag: set for printable chars */
|
||||
#define CT_ID_CHAR 0x20 /* flag: set for ID chars */
|
||||
#define CT_FNAME_CHAR 0x40 /* flag: set for file name chars */
|
||||
|
||||
/*
|
||||
* Fill g_chartab[]. Also fills curbuf->b_chartab[] with flags for keyword
|
||||
* characters for current buffer.
|
||||
*
|
||||
* Depends on the option settings 'iskeyword', 'isident', 'isfname',
|
||||
* 'isprint' and 'encoding'.
|
||||
*
|
||||
* The index in chartab[] depends on 'encoding':
|
||||
* The index in g_chartab[] depends on 'encoding':
|
||||
* - For non-multi-byte index with the byte (same as the character).
|
||||
* - For DBCS index with the first byte.
|
||||
* - For UTF-8 index with the character (when first byte is up to 0x80 it is
|
||||
* the same as the character, if the first byte is 0x80 and above it depends
|
||||
* on further bytes).
|
||||
*
|
||||
* The contents of chartab[]:
|
||||
* The contents of g_chartab[]:
|
||||
* - The lower two bits, masked by CT_CELL_MASK, give the number of display
|
||||
* cells the character occupies (1 or 2). Not valid for UTF-8 above 0x80.
|
||||
* - CT_PRINT_CHAR bit is set when the character is printable (no need to
|
||||
@@ -57,15 +68,15 @@ static int chartab_initialized = FALSE;
|
||||
* error, OK otherwise.
|
||||
*/
|
||||
int
|
||||
init_chartab()
|
||||
init_chartab(void)
|
||||
{
|
||||
return buf_init_chartab(curbuf, TRUE);
|
||||
}
|
||||
|
||||
int
|
||||
buf_init_chartab(buf, global)
|
||||
buf_T *buf;
|
||||
int global; /* FALSE: only set buf->b_chartab[] */
|
||||
buf_init_chartab(
|
||||
buf_T *buf,
|
||||
int global) /* FALSE: only set buf->b_chartab[] */
|
||||
{
|
||||
int c;
|
||||
int c2;
|
||||
@@ -86,18 +97,18 @@ buf_init_chartab(buf, global)
|
||||
*/
|
||||
c = 0;
|
||||
while (c < ' ')
|
||||
chartab[c++] = (dy_flags & DY_UHEX) ? 4 : 2;
|
||||
g_chartab[c++] = (dy_flags & DY_UHEX) ? 4 : 2;
|
||||
#ifdef EBCDIC
|
||||
while (c < 255)
|
||||
#else
|
||||
while (c <= '~')
|
||||
#endif
|
||||
chartab[c++] = 1 + CT_PRINT_CHAR;
|
||||
g_chartab[c++] = 1 + CT_PRINT_CHAR;
|
||||
#ifdef FEAT_FKMAP
|
||||
if (p_altkeymap)
|
||||
{
|
||||
while (c < YE)
|
||||
chartab[c++] = 1 + CT_PRINT_CHAR;
|
||||
g_chartab[c++] = 1 + CT_PRINT_CHAR;
|
||||
}
|
||||
#endif
|
||||
while (c < 256)
|
||||
@@ -105,17 +116,17 @@ buf_init_chartab(buf, global)
|
||||
#ifdef FEAT_MBYTE
|
||||
/* UTF-8: bytes 0xa0 - 0xff are printable (latin1) */
|
||||
if (enc_utf8 && c >= 0xa0)
|
||||
chartab[c++] = CT_PRINT_CHAR + 1;
|
||||
g_chartab[c++] = CT_PRINT_CHAR + 1;
|
||||
/* euc-jp characters starting with 0x8e are single width */
|
||||
else if (enc_dbcs == DBCS_JPNU && c == 0x8e)
|
||||
chartab[c++] = CT_PRINT_CHAR + 1;
|
||||
g_chartab[c++] = CT_PRINT_CHAR + 1;
|
||||
/* other double-byte chars can be printable AND double-width */
|
||||
else if (enc_dbcs != 0 && MB_BYTE2LEN(c) == 2)
|
||||
chartab[c++] = CT_PRINT_CHAR + 2;
|
||||
g_chartab[c++] = CT_PRINT_CHAR + 2;
|
||||
else
|
||||
#endif
|
||||
/* the rest is unprintable by default */
|
||||
chartab[c++] = (dy_flags & DY_UHEX) ? 4 : 2;
|
||||
g_chartab[c++] = (dy_flags & DY_UHEX) ? 4 : 2;
|
||||
}
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -124,7 +135,7 @@ buf_init_chartab(buf, global)
|
||||
if ((enc_dbcs != 0 && MB_BYTE2LEN(c) > 1)
|
||||
|| (enc_dbcs == DBCS_JPNU && c == 0x8e)
|
||||
|| (enc_utf8 && c >= 0xa0))
|
||||
chartab[c] |= CT_FNAME_CHAR;
|
||||
g_chartab[c] |= CT_FNAME_CHAR;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -232,9 +243,9 @@ buf_init_chartab(buf, global)
|
||||
if (i == 0) /* (re)set ID flag */
|
||||
{
|
||||
if (tilde)
|
||||
chartab[c] &= ~CT_ID_CHAR;
|
||||
g_chartab[c] &= ~CT_ID_CHAR;
|
||||
else
|
||||
chartab[c] |= CT_ID_CHAR;
|
||||
g_chartab[c] |= CT_ID_CHAR;
|
||||
}
|
||||
else if (i == 1) /* (re)set printable */
|
||||
{
|
||||
@@ -256,23 +267,23 @@ buf_init_chartab(buf, global)
|
||||
{
|
||||
if (tilde)
|
||||
{
|
||||
chartab[c] = (chartab[c] & ~CT_CELL_MASK)
|
||||
g_chartab[c] = (g_chartab[c] & ~CT_CELL_MASK)
|
||||
+ ((dy_flags & DY_UHEX) ? 4 : 2);
|
||||
chartab[c] &= ~CT_PRINT_CHAR;
|
||||
g_chartab[c] &= ~CT_PRINT_CHAR;
|
||||
}
|
||||
else
|
||||
{
|
||||
chartab[c] = (chartab[c] & ~CT_CELL_MASK) + 1;
|
||||
chartab[c] |= CT_PRINT_CHAR;
|
||||
g_chartab[c] = (g_chartab[c] & ~CT_CELL_MASK) + 1;
|
||||
g_chartab[c] |= CT_PRINT_CHAR;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (i == 2) /* (re)set fname flag */
|
||||
{
|
||||
if (tilde)
|
||||
chartab[c] &= ~CT_FNAME_CHAR;
|
||||
g_chartab[c] &= ~CT_FNAME_CHAR;
|
||||
else
|
||||
chartab[c] |= CT_FNAME_CHAR;
|
||||
g_chartab[c] |= CT_FNAME_CHAR;
|
||||
}
|
||||
else /* i == 3 */ /* (re)set keyword flag */
|
||||
{
|
||||
@@ -302,9 +313,9 @@ buf_init_chartab(buf, global)
|
||||
* enough room, not all characters will be translated.
|
||||
*/
|
||||
void
|
||||
trans_characters(buf, bufsize)
|
||||
char_u *buf;
|
||||
int bufsize;
|
||||
trans_characters(
|
||||
char_u *buf,
|
||||
int bufsize)
|
||||
{
|
||||
int len; /* length of string needing translation */
|
||||
int room; /* room in buffer after string */
|
||||
@@ -345,8 +356,7 @@ trans_characters(buf, bufsize)
|
||||
* printable chars. Returns NULL when out of memory.
|
||||
*/
|
||||
char_u *
|
||||
transstr(s)
|
||||
char_u *s;
|
||||
transstr(char_u *s)
|
||||
{
|
||||
char_u *res;
|
||||
char_u *p;
|
||||
@@ -423,11 +433,11 @@ transstr(s)
|
||||
* Otherwise puts the result in "buf[buflen]".
|
||||
*/
|
||||
char_u *
|
||||
str_foldcase(str, orglen, buf, buflen)
|
||||
char_u *str;
|
||||
int orglen;
|
||||
char_u *buf;
|
||||
int buflen;
|
||||
str_foldcase(
|
||||
char_u *str,
|
||||
int orglen,
|
||||
char_u *buf,
|
||||
int buflen)
|
||||
{
|
||||
garray_T ga;
|
||||
int i;
|
||||
@@ -531,9 +541,9 @@ str_foldcase(str, orglen, buf, buflen)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Catch 22: chartab[] can't be initialized before the options are
|
||||
* Catch 22: g_chartab[] can't be initialized before the options are
|
||||
* initialized, and initializing options may cause transchar() to be called!
|
||||
* When chartab_initialized == FALSE don't use chartab[].
|
||||
* When chartab_initialized == FALSE don't use g_chartab[].
|
||||
* Does NOT work for multi-byte characters, c must be <= 255.
|
||||
* Also doesn't work for the first byte of a multi-byte, "c" must be a
|
||||
* character!
|
||||
@@ -541,8 +551,7 @@ str_foldcase(str, orglen, buf, buflen)
|
||||
static char_u transchar_buf[7];
|
||||
|
||||
char_u *
|
||||
transchar(c)
|
||||
int c;
|
||||
transchar(int c)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -581,8 +590,7 @@ transchar(c)
|
||||
* for an illegal UTF-8 byte.
|
||||
*/
|
||||
char_u *
|
||||
transchar_byte(c)
|
||||
int c;
|
||||
transchar_byte(int c)
|
||||
{
|
||||
if (enc_utf8 && c >= 0x80)
|
||||
{
|
||||
@@ -599,9 +607,7 @@ transchar_byte(c)
|
||||
* Does NOT work for multi-byte characters, c must be <= 255.
|
||||
*/
|
||||
void
|
||||
transchar_nonprint(buf, c)
|
||||
char_u *buf;
|
||||
int c;
|
||||
transchar_nonprint(char_u *buf, int c)
|
||||
{
|
||||
if (c == NL)
|
||||
c = NUL; /* we use newline in place of a NUL */
|
||||
@@ -668,9 +674,7 @@ transchar_nonprint(buf, c)
|
||||
}
|
||||
|
||||
void
|
||||
transchar_hex(buf, c)
|
||||
char_u *buf;
|
||||
int c;
|
||||
transchar_hex(char_u *buf, int c)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
@@ -694,8 +698,7 @@ transchar_hex(buf, c)
|
||||
* function key 1.
|
||||
*/
|
||||
static unsigned
|
||||
nr2hex(c)
|
||||
unsigned c;
|
||||
nr2hex(unsigned c)
|
||||
{
|
||||
if ((c & 0xf) <= 9)
|
||||
return (c & 0xf) + '0';
|
||||
@@ -711,14 +714,13 @@ nr2hex(c)
|
||||
* cells depends on further bytes.
|
||||
*/
|
||||
int
|
||||
byte2cells(b)
|
||||
int b;
|
||||
byte2cells(int b)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (enc_utf8 && b >= 0x80)
|
||||
return 0;
|
||||
#endif
|
||||
return (chartab[b] & CT_CELL_MASK);
|
||||
return (g_chartab[b] & CT_CELL_MASK);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -727,8 +729,7 @@ byte2cells(b)
|
||||
* A TAB is counted as two cells: "^I" or four: "<09>".
|
||||
*/
|
||||
int
|
||||
char2cells(c)
|
||||
int c;
|
||||
char2cells(int c)
|
||||
{
|
||||
if (IS_SPECIAL(c))
|
||||
return char2cells(K_SECOND(c)) + 2;
|
||||
@@ -748,7 +749,7 @@ char2cells(c)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return (chartab[c & 0xff] & CT_CELL_MASK);
|
||||
return (g_chartab[c & 0xff] & CT_CELL_MASK);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -756,8 +757,7 @@ char2cells(c)
|
||||
* A TAB is counted as two cells: "^I" or four: "<09>".
|
||||
*/
|
||||
int
|
||||
ptr2cells(p)
|
||||
char_u *p;
|
||||
ptr2cells(char_u *p)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
/* For UTF-8 we need to look at more bytes if the first byte is >= 0x80. */
|
||||
@@ -765,7 +765,7 @@ ptr2cells(p)
|
||||
return utf_ptr2cells(p);
|
||||
/* For DBCS we can tell the cell count from the first byte. */
|
||||
#endif
|
||||
return (chartab[*p] & CT_CELL_MASK);
|
||||
return (g_chartab[*p] & CT_CELL_MASK);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -773,8 +773,7 @@ ptr2cells(p)
|
||||
* counting TABs as two characters: "^I".
|
||||
*/
|
||||
int
|
||||
vim_strsize(s)
|
||||
char_u *s;
|
||||
vim_strsize(char_u *s)
|
||||
{
|
||||
return vim_strnsize(s, (int)MAXCOL);
|
||||
}
|
||||
@@ -784,9 +783,7 @@ vim_strsize(s)
|
||||
* screen, counting TABs as two characters: "^I".
|
||||
*/
|
||||
int
|
||||
vim_strnsize(s, len)
|
||||
char_u *s;
|
||||
int len;
|
||||
vim_strnsize(char_u *s, int len)
|
||||
{
|
||||
int size = 0;
|
||||
|
||||
@@ -825,23 +822,15 @@ vim_strnsize(s, len)
|
||||
else \
|
||||
return ptr2cells(p);
|
||||
|
||||
#if defined(FEAT_VREPLACE) || defined(FEAT_EX_EXTRA) || defined(FEAT_GUI) \
|
||||
|| defined(FEAT_VIRTUALEDIT) || defined(PROTO)
|
||||
int
|
||||
chartabsize(p, col)
|
||||
char_u *p;
|
||||
colnr_T col;
|
||||
chartabsize(char_u *p, colnr_T col)
|
||||
{
|
||||
RET_WIN_BUF_CHARTABSIZE(curwin, curbuf, p, col)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_LINEBREAK
|
||||
static int
|
||||
win_chartabsize(wp, p, col)
|
||||
win_T *wp;
|
||||
char_u *p;
|
||||
colnr_T col;
|
||||
win_chartabsize(win_T *wp, char_u *p, colnr_T col)
|
||||
{
|
||||
RET_WIN_BUF_CHARTABSIZE(wp, wp->w_buffer, p, col)
|
||||
}
|
||||
@@ -852,8 +841,7 @@ win_chartabsize(wp, p, col)
|
||||
* taking into account the size of a tab.
|
||||
*/
|
||||
int
|
||||
linetabsize(s)
|
||||
char_u *s;
|
||||
linetabsize(char_u *s)
|
||||
{
|
||||
return linetabsize_col(0, s);
|
||||
}
|
||||
@@ -862,9 +850,7 @@ linetabsize(s)
|
||||
* Like linetabsize(), but starting at column "startcol".
|
||||
*/
|
||||
int
|
||||
linetabsize_col(startcol, s)
|
||||
int startcol;
|
||||
char_u *s;
|
||||
linetabsize_col(int startcol, char_u *s)
|
||||
{
|
||||
colnr_T col = startcol;
|
||||
char_u *line = s; /* pointer to start of line, for breakindent */
|
||||
@@ -878,10 +864,7 @@ linetabsize_col(startcol, s)
|
||||
* Like linetabsize(), but for a given window instead of the current one.
|
||||
*/
|
||||
int
|
||||
win_linetabsize(wp, line, len)
|
||||
win_T *wp;
|
||||
char_u *line;
|
||||
colnr_T len;
|
||||
win_linetabsize(win_T *wp, char_u *line, colnr_T len)
|
||||
{
|
||||
colnr_T col = 0;
|
||||
char_u *s;
|
||||
@@ -897,10 +880,9 @@ win_linetabsize(wp, line, len)
|
||||
* Letters and characters from the 'isident' option.
|
||||
*/
|
||||
int
|
||||
vim_isIDc(c)
|
||||
int c;
|
||||
vim_isIDc(int c)
|
||||
{
|
||||
return (c > 0 && c < 0x100 && (chartab[c] & CT_ID_CHAR));
|
||||
return (c > 0 && c < 0x100 && (g_chartab[c] & CT_ID_CHAR));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -909,16 +891,13 @@ vim_isIDc(c)
|
||||
* For multi-byte characters mb_get_class() is used (builtin rules).
|
||||
*/
|
||||
int
|
||||
vim_iswordc(c)
|
||||
int c;
|
||||
vim_iswordc(int c)
|
||||
{
|
||||
return vim_iswordc_buf(c, curbuf);
|
||||
}
|
||||
|
||||
int
|
||||
vim_iswordc_buf(c, buf)
|
||||
int c;
|
||||
buf_T *buf;
|
||||
vim_iswordc_buf(int c, buf_T *buf)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (c >= 0x100)
|
||||
@@ -936,8 +915,7 @@ vim_iswordc_buf(c, buf)
|
||||
* Just like vim_iswordc() but uses a pointer to the (multi-byte) character.
|
||||
*/
|
||||
int
|
||||
vim_iswordp(p)
|
||||
char_u *p;
|
||||
vim_iswordp(char_u *p)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte && MB_BYTE2LEN(*p) > 1)
|
||||
@@ -947,9 +925,7 @@ vim_iswordp(p)
|
||||
}
|
||||
|
||||
int
|
||||
vim_iswordp_buf(p, buf)
|
||||
char_u *p;
|
||||
buf_T *buf;
|
||||
vim_iswordp_buf(char_u *p, buf_T *buf)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte && MB_BYTE2LEN(*p) > 1)
|
||||
@@ -963,10 +939,9 @@ vim_iswordp_buf(p, buf)
|
||||
* Assume characters above 0x100 are valid (multi-byte).
|
||||
*/
|
||||
int
|
||||
vim_isfilec(c)
|
||||
int c;
|
||||
vim_isfilec(int c)
|
||||
{
|
||||
return (c >= 0x100 || (c > 0 && (chartab[c] & CT_FNAME_CHAR)));
|
||||
return (c >= 0x100 || (c > 0 && (g_chartab[c] & CT_FNAME_CHAR)));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -976,8 +951,7 @@ vim_isfilec(c)
|
||||
* returns false.
|
||||
*/
|
||||
int
|
||||
vim_isfilec_or_wc(c)
|
||||
int c;
|
||||
vim_isfilec_or_wc(int c)
|
||||
{
|
||||
char_u buf[2];
|
||||
|
||||
@@ -992,14 +966,13 @@ vim_isfilec_or_wc(c)
|
||||
* Unicode.
|
||||
*/
|
||||
int
|
||||
vim_isprintc(c)
|
||||
int c;
|
||||
vim_isprintc(int c)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (enc_utf8 && c >= 0x100)
|
||||
return utf_printable(c);
|
||||
#endif
|
||||
return (c >= 0x100 || (c > 0 && (chartab[c] & CT_PRINT_CHAR)));
|
||||
return (c >= 0x100 || (c > 0 && (g_chartab[c] & CT_PRINT_CHAR)));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1007,8 +980,7 @@ vim_isprintc(c)
|
||||
* byte of a double-byte character.
|
||||
*/
|
||||
int
|
||||
vim_isprintc_strict(c)
|
||||
int c;
|
||||
vim_isprintc_strict(int c)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (enc_dbcs != 0 && c < 0x100 && MB_BYTE2LEN(c) > 1)
|
||||
@@ -1016,17 +988,17 @@ vim_isprintc_strict(c)
|
||||
if (enc_utf8 && c >= 0x100)
|
||||
return utf_printable(c);
|
||||
#endif
|
||||
return (c >= 0x100 || (c > 0 && (chartab[c] & CT_PRINT_CHAR)));
|
||||
return (c >= 0x100 || (c > 0 && (g_chartab[c] & CT_PRINT_CHAR)));
|
||||
}
|
||||
|
||||
/*
|
||||
* like chartabsize(), but also check for line breaks on the screen
|
||||
*/
|
||||
int
|
||||
lbr_chartabsize(line, s, col)
|
||||
char_u *line UNUSED; /* start of the line */
|
||||
unsigned char *s;
|
||||
colnr_T col;
|
||||
lbr_chartabsize(
|
||||
char_u *line UNUSED, /* start of the line */
|
||||
unsigned char *s,
|
||||
colnr_T col)
|
||||
{
|
||||
#ifdef FEAT_LINEBREAK
|
||||
if (!curwin->w_p_lbr && *p_sbr == NUL && !curwin->w_p_bri)
|
||||
@@ -1047,10 +1019,10 @@ lbr_chartabsize(line, s, col)
|
||||
* Call lbr_chartabsize() and advance the pointer.
|
||||
*/
|
||||
int
|
||||
lbr_chartabsize_adv(line, s, col)
|
||||
char_u *line; /* start of the line */
|
||||
char_u **s;
|
||||
colnr_T col;
|
||||
lbr_chartabsize_adv(
|
||||
char_u *line, /* start of the line */
|
||||
char_u **s,
|
||||
colnr_T col)
|
||||
{
|
||||
int retval;
|
||||
|
||||
@@ -1067,12 +1039,12 @@ lbr_chartabsize_adv(line, s, col)
|
||||
* value, init to 0 before calling.
|
||||
*/
|
||||
int
|
||||
win_lbr_chartabsize(wp, line, s, col, headp)
|
||||
win_T *wp;
|
||||
char_u *line UNUSED; /* start of the line */
|
||||
char_u *s;
|
||||
colnr_T col;
|
||||
int *headp UNUSED;
|
||||
win_lbr_chartabsize(
|
||||
win_T *wp,
|
||||
char_u *line UNUSED, /* start of the line */
|
||||
char_u *s,
|
||||
colnr_T col,
|
||||
int *headp UNUSED)
|
||||
{
|
||||
#ifdef FEAT_LINEBREAK
|
||||
int c;
|
||||
@@ -1243,11 +1215,11 @@ win_lbr_chartabsize(wp, line, s, col, headp)
|
||||
* doesn't fit at the end of the screen line.
|
||||
*/
|
||||
static int
|
||||
win_nolbr_chartabsize(wp, s, col, headp)
|
||||
win_T *wp;
|
||||
char_u *s;
|
||||
colnr_T col;
|
||||
int *headp;
|
||||
win_nolbr_chartabsize(
|
||||
win_T *wp,
|
||||
char_u *s,
|
||||
colnr_T col,
|
||||
int *headp)
|
||||
{
|
||||
int n;
|
||||
|
||||
@@ -1273,9 +1245,7 @@ win_nolbr_chartabsize(wp, s, col, headp)
|
||||
* "wp".
|
||||
*/
|
||||
int
|
||||
in_win_border(wp, vcol)
|
||||
win_T *wp;
|
||||
colnr_T vcol;
|
||||
in_win_border(win_T *wp, colnr_T vcol)
|
||||
{
|
||||
int width1; /* width of first line (after line number) */
|
||||
int width2; /* width of further lines */
|
||||
@@ -1305,12 +1275,12 @@ in_win_border(wp, vcol)
|
||||
* This is used very often, keep it fast!
|
||||
*/
|
||||
void
|
||||
getvcol(wp, pos, start, cursor, end)
|
||||
win_T *wp;
|
||||
pos_T *pos;
|
||||
colnr_T *start;
|
||||
colnr_T *cursor;
|
||||
colnr_T *end;
|
||||
getvcol(
|
||||
win_T *wp,
|
||||
pos_T *pos,
|
||||
colnr_T *start,
|
||||
colnr_T *cursor,
|
||||
colnr_T *end)
|
||||
{
|
||||
colnr_T vcol;
|
||||
char_u *ptr; /* points to current char */
|
||||
@@ -1368,7 +1338,7 @@ getvcol(wp, pos, start, cursor, end)
|
||||
if (enc_utf8 && c >= 0x80)
|
||||
incr = utf_ptr2cells(ptr);
|
||||
else
|
||||
incr = CHARSIZE(c);
|
||||
incr = g_chartab[c] & CT_CELL_MASK;
|
||||
|
||||
/* If a double-cell char doesn't fit at the end of a line
|
||||
* it wraps to the next line, it's like this char is three
|
||||
@@ -1382,7 +1352,7 @@ getvcol(wp, pos, start, cursor, end)
|
||||
}
|
||||
else
|
||||
#endif
|
||||
incr = CHARSIZE(c);
|
||||
incr = g_chartab[c] & CT_CELL_MASK;
|
||||
}
|
||||
|
||||
if (posptr != NULL && ptr >= posptr) /* character at pos->col */
|
||||
@@ -1435,8 +1405,7 @@ getvcol(wp, pos, start, cursor, end)
|
||||
* Get virtual cursor column in the current window, pretending 'list' is off.
|
||||
*/
|
||||
colnr_T
|
||||
getvcol_nolist(posp)
|
||||
pos_T *posp;
|
||||
getvcol_nolist(pos_T *posp)
|
||||
{
|
||||
int list_save = curwin->w_p_list;
|
||||
colnr_T vcol;
|
||||
@@ -1452,12 +1421,12 @@ getvcol_nolist(posp)
|
||||
* Get virtual column in virtual mode.
|
||||
*/
|
||||
void
|
||||
getvvcol(wp, pos, start, cursor, end)
|
||||
win_T *wp;
|
||||
pos_T *pos;
|
||||
colnr_T *start;
|
||||
colnr_T *cursor;
|
||||
colnr_T *end;
|
||||
getvvcol(
|
||||
win_T *wp,
|
||||
pos_T *pos,
|
||||
colnr_T *start,
|
||||
colnr_T *cursor,
|
||||
colnr_T *end)
|
||||
{
|
||||
colnr_T col;
|
||||
colnr_T coladd;
|
||||
@@ -1508,10 +1477,12 @@ getvvcol(wp, pos, start, cursor, end)
|
||||
* Used for Visual block mode.
|
||||
*/
|
||||
void
|
||||
getvcols(wp, pos1, pos2, left, right)
|
||||
win_T *wp;
|
||||
pos_T *pos1, *pos2;
|
||||
colnr_T *left, *right;
|
||||
getvcols(
|
||||
win_T *wp,
|
||||
pos_T *pos1,
|
||||
pos_T *pos2,
|
||||
colnr_T *left,
|
||||
colnr_T *right)
|
||||
{
|
||||
colnr_T from1, from2, to1, to2;
|
||||
|
||||
@@ -1544,8 +1515,7 @@ getvcols(wp, pos1, pos2, left, right)
|
||||
* skipwhite: skip over ' ' and '\t'.
|
||||
*/
|
||||
char_u *
|
||||
skipwhite(q)
|
||||
char_u *q;
|
||||
skipwhite(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1558,8 +1528,7 @@ skipwhite(q)
|
||||
* skip over digits
|
||||
*/
|
||||
char_u *
|
||||
skipdigits(q)
|
||||
char_u *q;
|
||||
skipdigits(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1573,8 +1542,7 @@ skipdigits(q)
|
||||
* skip over binary digits
|
||||
*/
|
||||
char_u *
|
||||
skipbin(q)
|
||||
char_u *q;
|
||||
skipbin(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1587,8 +1555,7 @@ skipbin(q)
|
||||
* skip over digits and hex characters
|
||||
*/
|
||||
char_u *
|
||||
skiphex(q)
|
||||
char_u *q;
|
||||
skiphex(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1598,13 +1565,11 @@ skiphex(q)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_EX_EXTRA) || defined(PROTO)
|
||||
/*
|
||||
* skip to bin digit (or NUL after the string)
|
||||
*/
|
||||
char_u *
|
||||
skiptobin(q)
|
||||
char_u *q;
|
||||
skiptobin(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1617,8 +1582,7 @@ skiptobin(q)
|
||||
* skip to digit (or NUL after the string)
|
||||
*/
|
||||
char_u *
|
||||
skiptodigit(q)
|
||||
char_u *q;
|
||||
skiptodigit(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1631,8 +1595,7 @@ skiptodigit(q)
|
||||
* skip to hex character (or NUL after the string)
|
||||
*/
|
||||
char_u *
|
||||
skiptohex(q)
|
||||
char_u *q;
|
||||
skiptohex(char_u *q)
|
||||
{
|
||||
char_u *p = q;
|
||||
|
||||
@@ -1640,7 +1603,6 @@ skiptohex(q)
|
||||
++p;
|
||||
return p;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Variant of isdigit() that can handle characters > 0x100.
|
||||
@@ -1649,8 +1611,7 @@ skiptohex(q)
|
||||
* Use the VIM_ISDIGIT() macro for simple arguments.
|
||||
*/
|
||||
int
|
||||
vim_isdigit(c)
|
||||
int c;
|
||||
vim_isdigit(int c)
|
||||
{
|
||||
return (c >= '0' && c <= '9');
|
||||
}
|
||||
@@ -1661,8 +1622,7 @@ vim_isdigit(c)
|
||||
* superscript 1 to be a digit.
|
||||
*/
|
||||
int
|
||||
vim_isxdigit(c)
|
||||
int c;
|
||||
vim_isxdigit(int c)
|
||||
{
|
||||
return (c >= '0' && c <= '9')
|
||||
|| (c >= 'a' && c <= 'f')
|
||||
@@ -1674,8 +1634,7 @@ vim_isxdigit(c)
|
||||
* characters > 0x100.
|
||||
*/
|
||||
int
|
||||
vim_isbdigit(c)
|
||||
int c;
|
||||
vim_isbdigit(int c)
|
||||
{
|
||||
return (c == '0' || c == '1');
|
||||
}
|
||||
@@ -1695,8 +1654,7 @@ static char_u latin1upper[257] = " !\"#$%&'()*+,
|
||||
static char_u latin1lower[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xd7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff";
|
||||
|
||||
int
|
||||
vim_islower(c)
|
||||
int c;
|
||||
vim_islower(int c)
|
||||
{
|
||||
if (c <= '@')
|
||||
return FALSE;
|
||||
@@ -1720,8 +1678,7 @@ vim_islower(c)
|
||||
}
|
||||
|
||||
int
|
||||
vim_isupper(c)
|
||||
int c;
|
||||
vim_isupper(int c)
|
||||
{
|
||||
if (c <= '@')
|
||||
return FALSE;
|
||||
@@ -1745,8 +1702,7 @@ vim_isupper(c)
|
||||
}
|
||||
|
||||
int
|
||||
vim_toupper(c)
|
||||
int c;
|
||||
vim_toupper(int c)
|
||||
{
|
||||
if (c <= '@')
|
||||
return c;
|
||||
@@ -1770,8 +1726,7 @@ vim_toupper(c)
|
||||
}
|
||||
|
||||
int
|
||||
vim_tolower(c)
|
||||
int c;
|
||||
vim_tolower(int c)
|
||||
{
|
||||
if (c <= '@')
|
||||
return c;
|
||||
@@ -1799,8 +1754,7 @@ vim_tolower(c)
|
||||
* skiptowhite: skip over text until ' ' or '\t' or NUL.
|
||||
*/
|
||||
char_u *
|
||||
skiptowhite(p)
|
||||
char_u *p;
|
||||
skiptowhite(char_u *p)
|
||||
{
|
||||
while (*p != ' ' && *p != '\t' && *p != NUL)
|
||||
++p;
|
||||
@@ -1813,8 +1767,7 @@ skiptowhite(p)
|
||||
* skiptowhite_esc: Like skiptowhite(), but also skip escaped chars
|
||||
*/
|
||||
char_u *
|
||||
skiptowhite_esc(p)
|
||||
char_u *p;
|
||||
skiptowhite_esc(char_u *p)
|
||||
{
|
||||
while (*p != ' ' && *p != '\t' && *p != NUL)
|
||||
{
|
||||
@@ -1831,8 +1784,7 @@ skiptowhite_esc(p)
|
||||
* Note: the argument is a pointer to a char_u pointer!
|
||||
*/
|
||||
long
|
||||
getdigits(pp)
|
||||
char_u **pp;
|
||||
getdigits(char_u **pp)
|
||||
{
|
||||
char_u *p;
|
||||
long retval;
|
||||
@@ -1850,8 +1802,7 @@ getdigits(pp)
|
||||
* Return TRUE if "lbuf" is empty or only contains blanks.
|
||||
*/
|
||||
int
|
||||
vim_isblankline(lbuf)
|
||||
char_u *lbuf;
|
||||
vim_isblankline(char_u *lbuf)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
@@ -1879,16 +1830,16 @@ vim_isblankline(lbuf)
|
||||
* If maxlen > 0, check at a maximum maxlen chars
|
||||
*/
|
||||
void
|
||||
vim_str2nr(start, prep, len, what, nptr, unptr, maxlen)
|
||||
char_u *start;
|
||||
int *prep; /* return: type of number 0 = decimal, 'x'
|
||||
vim_str2nr(
|
||||
char_u *start,
|
||||
int *prep, /* return: type of number 0 = decimal, 'x'
|
||||
or 'X' is hex, '0' = octal, 'b' or 'B'
|
||||
is bin */
|
||||
int *len; /* return: detected length of number */
|
||||
int what; /* what numbers to recognize */
|
||||
long *nptr; /* return: signed result */
|
||||
unsigned long *unptr; /* return: unsigned result */
|
||||
int maxlen; /* max length of string to check */
|
||||
int *len, /* return: detected length of number */
|
||||
int what, /* what numbers to recognize */
|
||||
long *nptr, /* return: signed result */
|
||||
unsigned long *unptr, /* return: unsigned result */
|
||||
int maxlen) /* max length of string to check */
|
||||
{
|
||||
char_u *ptr = start;
|
||||
int pre = 0; /* default is decimal */
|
||||
@@ -2013,8 +1964,7 @@ vim_str2nr(start, prep, len, what, nptr, unptr, maxlen)
|
||||
* Only valid when the argument is '0' - '9', 'A' - 'F' or 'a' - 'f'.
|
||||
*/
|
||||
int
|
||||
hex2nr(c)
|
||||
int c;
|
||||
hex2nr(int c)
|
||||
{
|
||||
if (c >= 'a' && c <= 'f')
|
||||
return c - 'a' + 10;
|
||||
@@ -2030,8 +1980,7 @@ hex2nr(c)
|
||||
* Return -1 if one of the characters is not hex.
|
||||
*/
|
||||
int
|
||||
hexhex2nr(p)
|
||||
char_u *p;
|
||||
hexhex2nr(char_u *p)
|
||||
{
|
||||
if (!vim_isxdigit(p[0]) || !vim_isxdigit(p[1]))
|
||||
return -1;
|
||||
@@ -2053,8 +2002,7 @@ hexhex2nr(p)
|
||||
* characters.
|
||||
*/
|
||||
int
|
||||
rem_backslash(str)
|
||||
char_u *str;
|
||||
rem_backslash(char_u *str)
|
||||
{
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
return (str[0] == '\\'
|
||||
@@ -2077,8 +2025,7 @@ rem_backslash(str)
|
||||
* is not a normal file character.
|
||||
*/
|
||||
void
|
||||
backslash_halve(p)
|
||||
char_u *p;
|
||||
backslash_halve(char_u *p)
|
||||
{
|
||||
for ( ; *p; ++p)
|
||||
if (rem_backslash(p))
|
||||
@@ -2089,8 +2036,7 @@ backslash_halve(p)
|
||||
* backslash_halve() plus save the result in allocated memory.
|
||||
*/
|
||||
char_u *
|
||||
backslash_halve_save(p)
|
||||
char_u *p;
|
||||
backslash_halve_save(char_u *p)
|
||||
{
|
||||
char_u *res;
|
||||
|
||||
@@ -2148,9 +2094,7 @@ static char_u ebcdic2ascii_tab[256] =
|
||||
* wanting 7-bit ASCII characters out the other end.
|
||||
*/
|
||||
void
|
||||
ebcdic2ascii(buffer, len)
|
||||
char_u *buffer;
|
||||
int len;
|
||||
ebcdic2ascii(char_u *buffer, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
@@ -65,6 +65,8 @@ WORKSHOP_OBJ = @WORKSHOP_OBJ@
|
||||
|
||||
NETBEANS_SRC = @NETBEANS_SRC@
|
||||
NETBEANS_OBJ = @NETBEANS_OBJ@
|
||||
CHANNEL_SRC = @CHANNEL_SRC@
|
||||
CHANNEL_OBJ = @CHANNEL_OBJ@
|
||||
|
||||
RUBY = @vi_cv_path_ruby@
|
||||
RUBY_SRC = @RUBY_SRC@
|
||||
|
||||
+3
-1
@@ -296,7 +296,6 @@
|
||||
/* #undef STDC_HEADERS */
|
||||
|
||||
/* instead, we check a few STDC things ourselves */
|
||||
#undef HAVE_STDARG_H
|
||||
#undef HAVE_STDLIB_H
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
@@ -435,6 +434,9 @@
|
||||
/* Define if you want to include NetBeans integration. */
|
||||
#undef FEAT_NETBEANS_INTG
|
||||
|
||||
/* Define if you want to include process communication. */
|
||||
#undef FEAT_CHANNEL
|
||||
|
||||
/* Define default global runtime path */
|
||||
#undef RUNTIME_GLOBAL
|
||||
|
||||
|
||||
+2
-1
@@ -91,6 +91,8 @@ WORKSHOP_OBJ = @WORKSHOP_OBJ@
|
||||
|
||||
NETBEANS_SRC = @NETBEANS_SRC@
|
||||
NETBEANS_OBJ = @NETBEANS_OBJ@
|
||||
CHANNEL_SRC = @CHANNEL_SRC@
|
||||
CHANNEL_OBJ = @CHANNEL_OBJ@
|
||||
|
||||
RUBY = @vi_cv_path_ruby@
|
||||
RUBY_SRC = @RUBY_SRC@
|
||||
@@ -161,7 +163,6 @@ MOTIF_LIBNAME = @MOTIF_LIBNAME@
|
||||
GTK_LIBNAME = @GTK_LIBNAME@
|
||||
|
||||
GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
|
||||
GRESOURCE_HDR = @GRESOURCE_HDR@
|
||||
GRESOURCE_SRC = @GRESOURCE_SRC@
|
||||
GRESOURCE_OBJ = @GRESOURCE_OBJ@
|
||||
|
||||
|
||||
+53
-13
@@ -455,7 +455,7 @@ dnl Check user requested features.
|
||||
AC_MSG_CHECKING(--with-features argument)
|
||||
AC_ARG_WITH(features, [ --with-features=TYPE tiny, small, normal, big or huge (default: normal)],
|
||||
features="$withval"; AC_MSG_RESULT($features),
|
||||
features="normal"; AC_MSG_RESULT(Defaulting to normal))
|
||||
features="huge"; AC_MSG_RESULT(Defaulting to huge))
|
||||
|
||||
dovimdiff=""
|
||||
dogvimdiff=""
|
||||
@@ -509,6 +509,10 @@ AC_ARG_ENABLE(luainterp,
|
||||
AC_MSG_RESULT($enable_luainterp)
|
||||
|
||||
if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
AC_MSG_ERROR([cannot use Lua with tiny or small features])
|
||||
fi
|
||||
|
||||
dnl -- find the lua executable
|
||||
AC_SUBST(vi_cv_path_lua)
|
||||
|
||||
@@ -969,6 +973,9 @@ AC_ARG_ENABLE(perlinterp,
|
||||
[enable_perlinterp="no"])
|
||||
AC_MSG_RESULT($enable_perlinterp)
|
||||
if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
AC_MSG_ERROR([cannot use Perl with tiny or small features])
|
||||
fi
|
||||
AC_SUBST(vi_cv_path_perl)
|
||||
AC_PATH_PROG(vi_cv_path_perl, perl)
|
||||
if test "X$vi_cv_path_perl" != "X"; then
|
||||
@@ -1249,7 +1256,7 @@ eof
|
||||
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
|
||||
fi
|
||||
])
|
||||
AC_CACHE_VAL(vi_cv_dll_name_python,
|
||||
AC_CACHE_CHECK(Python's dll name,vi_cv_dll_name_python,
|
||||
[
|
||||
if test "X$python_DLLLIBRARY" != "X"; then
|
||||
vi_cv_dll_name_python="$python_DLLLIBRARY"
|
||||
@@ -1468,7 +1475,7 @@ eof
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
|
||||
])
|
||||
AC_CACHE_VAL(vi_cv_dll_name_python3,
|
||||
AC_CACHE_CHECK(Python3's dll name,vi_cv_dll_name_python3,
|
||||
[
|
||||
if test "X$python3_DLLLIBRARY" != "X"; then
|
||||
vi_cv_dll_name_python3="$python3_DLLLIBRARY"
|
||||
@@ -1586,7 +1593,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
|
||||
if (pylib != 0)
|
||||
{
|
||||
void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
@@ -1632,7 +1639,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
|
||||
if (pylib != 0)
|
||||
{
|
||||
void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
@@ -1990,11 +1997,41 @@ AC_ARG_ENABLE(netbeans,
|
||||
[ --disable-netbeans Disable NetBeans integration support.],
|
||||
, [enable_netbeans="yes"])
|
||||
if test "$enable_netbeans" = "yes"; then
|
||||
AC_MSG_RESULT(no)
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
AC_MSG_RESULT([cannot use NetBeans with tiny or small features])
|
||||
enable_netbeans="no"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--disable-channel argument)
|
||||
AC_ARG_ENABLE(channel,
|
||||
[ --disable-channel Disable process communication support.],
|
||||
, [enable_channel="yes"])
|
||||
if test "$enable_channel" = "yes"; then
|
||||
if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
|
||||
AC_MSG_RESULT([cannot use channels with tiny or small features])
|
||||
enable_channel="no"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
else
|
||||
if test "$enable_netbeans" = "yes"; then
|
||||
AC_MSG_RESULT([yes, netbeans also disabled])
|
||||
enable_netbeans="no"
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$enable_channel" = "yes"; then
|
||||
dnl On Solaris we need the socket and nsl library.
|
||||
AC_CHECK_LIB(socket, socket)
|
||||
AC_CHECK_LIB(nsl, gethostbyname)
|
||||
AC_MSG_CHECKING(whether compiling netbeans integration is possible)
|
||||
AC_MSG_CHECKING(whether compiling with process communication is possible)
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -2020,9 +2057,7 @@ if test "$enable_netbeans" = "yes"; then
|
||||
(void)connect(1, (struct sockaddr *)&server, sizeof(server));
|
||||
],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no); enable_netbeans="no")
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_MSG_RESULT(no); enable_netbeans="no"; enable_channel="no")
|
||||
fi
|
||||
if test "$enable_netbeans" = "yes"; then
|
||||
AC_DEFINE(FEAT_NETBEANS_INTG)
|
||||
@@ -2031,6 +2066,13 @@ if test "$enable_netbeans" = "yes"; then
|
||||
NETBEANS_OBJ="objects/netbeans.o"
|
||||
AC_SUBST(NETBEANS_OBJ)
|
||||
fi
|
||||
if test "$enable_channel" = "yes"; then
|
||||
AC_DEFINE(FEAT_CHANNEL)
|
||||
CHANNEL_SRC="channel.c"
|
||||
AC_SUBST(CHANNEL_SRC)
|
||||
CHANNEL_OBJ="objects/channel.o"
|
||||
AC_SUBST(CHANNEL_OBJ)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--enable-sniff argument)
|
||||
AC_ARG_ENABLE(sniff,
|
||||
@@ -2651,7 +2693,6 @@ if test "x$GUITYPE" = "xGTK"; then
|
||||
else
|
||||
AC_MSG_RESULT([usable.])
|
||||
AC_DEFINE(USE_GRESOURCE)
|
||||
GRESOURCE_HDR="auto/gui_gtk_gresources.h"
|
||||
GRESOURCE_SRC="auto/gui_gtk_gresources.c"
|
||||
GRESOURCE_OBJ="objects/gui_gtk_gresources.o"
|
||||
fi
|
||||
@@ -2663,7 +2704,6 @@ if test "x$GUITYPE" = "xGTK"; then
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(GLIB_COMPILE_RESOURCES)
|
||||
AC_SUBST(GRESOURCE_HDR)
|
||||
AC_SUBST(GRESOURCE_SRC)
|
||||
AC_SUBST(GRESOURCE_OBJ)
|
||||
|
||||
@@ -3043,7 +3083,7 @@ if test $ac_cv_header_sys_wait_h = no; then
|
||||
AC_MSG_RESULT(no))
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS(stdarg.h stdint.h stdlib.h string.h \
|
||||
AC_CHECK_HEADERS(stdint.h stdlib.h string.h \
|
||||
sys/select.h sys/utsname.h termcap.h fcntl.h \
|
||||
sgtty.h sys/ioctl.h sys/time.h sys/types.h \
|
||||
termio.h iconv.h inttypes.h langinfo.h math.h \
|
||||
|
||||
+62
-76
@@ -130,8 +130,7 @@ static char crypt_magic_head[] = "VimCrypt~";
|
||||
* 2 for "blowfish2".
|
||||
*/
|
||||
int
|
||||
crypt_method_nr_from_name(name)
|
||||
char_u *name;
|
||||
crypt_method_nr_from_name(char_u *name)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -147,9 +146,7 @@ crypt_method_nr_from_name(name)
|
||||
* Returns -1 when no encryption used.
|
||||
*/
|
||||
int
|
||||
crypt_method_nr_from_magic(ptr, len)
|
||||
char *ptr;
|
||||
int len;
|
||||
crypt_method_nr_from_magic(char *ptr, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -171,8 +168,7 @@ crypt_method_nr_from_magic(ptr, len)
|
||||
* Return TRUE if the crypt method for "method_nr" can be done in-place.
|
||||
*/
|
||||
int
|
||||
crypt_works_inplace(state)
|
||||
cryptstate_T *state;
|
||||
crypt_works_inplace(cryptstate_T *state)
|
||||
{
|
||||
return cryptmethods[state->method_nr].works_inplace;
|
||||
}
|
||||
@@ -181,8 +177,7 @@ crypt_works_inplace(state)
|
||||
* Get the crypt method for buffer "buf" as a number.
|
||||
*/
|
||||
int
|
||||
crypt_get_method_nr(buf)
|
||||
buf_T *buf;
|
||||
crypt_get_method_nr(buf_T *buf)
|
||||
{
|
||||
return crypt_method_nr_from_name(*buf->b_p_cm == NUL ? p_cm : buf->b_p_cm);
|
||||
}
|
||||
@@ -192,8 +187,7 @@ crypt_get_method_nr(buf)
|
||||
* whole undo file, not only the text.
|
||||
*/
|
||||
int
|
||||
crypt_whole_undofile(method_nr)
|
||||
int method_nr;
|
||||
crypt_whole_undofile(int method_nr)
|
||||
{
|
||||
return cryptmethods[method_nr].whole_undofile;
|
||||
}
|
||||
@@ -202,8 +196,7 @@ crypt_whole_undofile(method_nr)
|
||||
* Get crypt method specifc length of the file header in bytes.
|
||||
*/
|
||||
int
|
||||
crypt_get_header_len(method_nr)
|
||||
int method_nr;
|
||||
crypt_get_header_len(int method_nr)
|
||||
{
|
||||
return CRYPT_MAGIC_LEN
|
||||
+ cryptmethods[method_nr].salt_len
|
||||
@@ -215,9 +208,7 @@ crypt_get_header_len(method_nr)
|
||||
* returned by crypt_method_nr_from_name().
|
||||
*/
|
||||
void
|
||||
crypt_set_cm_option(buf, method_nr)
|
||||
buf_T *buf;
|
||||
int method_nr;
|
||||
crypt_set_cm_option(buf_T *buf, int method_nr)
|
||||
{
|
||||
free_string_option(buf->b_p_cm);
|
||||
buf->b_p_cm = vim_strsave((char_u *)cryptmethods[method_nr].name);
|
||||
@@ -228,7 +219,7 @@ crypt_set_cm_option(buf, method_nr)
|
||||
* return OK/FAIL.
|
||||
*/
|
||||
int
|
||||
crypt_self_test()
|
||||
crypt_self_test(void)
|
||||
{
|
||||
int method_nr = crypt_get_method_nr(curbuf);
|
||||
|
||||
@@ -241,13 +232,13 @@ crypt_self_test()
|
||||
* Allocate a crypt state and initialize it.
|
||||
*/
|
||||
cryptstate_T *
|
||||
crypt_create(method_nr, key, salt, salt_len, seed, seed_len)
|
||||
int method_nr;
|
||||
char_u *key;
|
||||
char_u *salt;
|
||||
int salt_len;
|
||||
char_u *seed;
|
||||
int seed_len;
|
||||
crypt_create(
|
||||
int method_nr,
|
||||
char_u *key,
|
||||
char_u *salt,
|
||||
int salt_len,
|
||||
char_u *seed,
|
||||
int seed_len)
|
||||
{
|
||||
cryptstate_T *state = (cryptstate_T *)alloc((int)sizeof(cryptstate_T));
|
||||
|
||||
@@ -262,10 +253,10 @@ crypt_create(method_nr, key, salt, salt_len, seed, seed_len)
|
||||
* crypt_get_header_len() returns for "method_nr".
|
||||
*/
|
||||
cryptstate_T *
|
||||
crypt_create_from_header(method_nr, key, header)
|
||||
int method_nr;
|
||||
char_u *key;
|
||||
char_u *header;
|
||||
crypt_create_from_header(
|
||||
int method_nr,
|
||||
char_u *key,
|
||||
char_u *header)
|
||||
{
|
||||
char_u *salt = NULL;
|
||||
char_u *seed = NULL;
|
||||
@@ -285,9 +276,7 @@ crypt_create_from_header(method_nr, key, header)
|
||||
* Return an allocated cryptstate_T or NULL on error.
|
||||
*/
|
||||
cryptstate_T *
|
||||
crypt_create_from_file(fp, key)
|
||||
FILE *fp;
|
||||
char_u *key;
|
||||
crypt_create_from_file(FILE *fp, char_u *key)
|
||||
{
|
||||
int method_nr;
|
||||
int header_len;
|
||||
@@ -326,11 +315,11 @@ crypt_create_from_file(fp, key)
|
||||
* Returns the state or NULL on failure.
|
||||
*/
|
||||
cryptstate_T *
|
||||
crypt_create_for_writing(method_nr, key, header, header_len)
|
||||
int method_nr;
|
||||
char_u *key;
|
||||
char_u **header;
|
||||
int *header_len;
|
||||
crypt_create_for_writing(
|
||||
int method_nr,
|
||||
char_u *key,
|
||||
char_u **header,
|
||||
int *header_len)
|
||||
{
|
||||
int len = crypt_get_header_len(method_nr);
|
||||
char_u *salt = NULL;
|
||||
@@ -371,8 +360,7 @@ crypt_create_for_writing(method_nr, key, header, header_len)
|
||||
* Free the crypt state.
|
||||
*/
|
||||
void
|
||||
crypt_free_state(state)
|
||||
cryptstate_T *state;
|
||||
crypt_free_state(cryptstate_T *state)
|
||||
{
|
||||
vim_free(state->method_state);
|
||||
vim_free(state);
|
||||
@@ -384,11 +372,11 @@ crypt_free_state(state)
|
||||
* Return number of bytes in "newptr", 0 for need more or -1 on error.
|
||||
*/
|
||||
long
|
||||
crypt_encode_alloc(state, from, len, newptr)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u **newptr;
|
||||
crypt_encode_alloc(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u **newptr)
|
||||
{
|
||||
cryptmethod_T *method = &cryptmethods[state->method_nr];
|
||||
|
||||
@@ -412,11 +400,11 @@ crypt_encode_alloc(state, from, len, newptr)
|
||||
* Return number of bytes in "newptr", 0 for need more or -1 on error.
|
||||
*/
|
||||
long
|
||||
crypt_decode_alloc(state, ptr, len, newptr)
|
||||
cryptstate_T *state;
|
||||
char_u *ptr;
|
||||
long len;
|
||||
char_u **newptr;
|
||||
crypt_decode_alloc(
|
||||
cryptstate_T *state,
|
||||
char_u *ptr,
|
||||
long len,
|
||||
char_u **newptr)
|
||||
{
|
||||
cryptmethod_T *method = &cryptmethods[state->method_nr];
|
||||
|
||||
@@ -439,11 +427,11 @@ crypt_decode_alloc(state, ptr, len, newptr)
|
||||
* Encrypting "from[len]" into "to[len]".
|
||||
*/
|
||||
void
|
||||
crypt_encode(state, from, len, to)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u *to;
|
||||
crypt_encode(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u *to)
|
||||
{
|
||||
cryptmethods[state->method_nr].encode_fn(state, from, len, to);
|
||||
}
|
||||
@@ -452,11 +440,11 @@ crypt_encode(state, from, len, to)
|
||||
* decrypting "from[len]" into "to[len]".
|
||||
*/
|
||||
void
|
||||
crypt_decode(state, from, len, to)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u *to;
|
||||
crypt_decode(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u *to)
|
||||
{
|
||||
cryptmethods[state->method_nr].decode_fn(state, from, len, to);
|
||||
}
|
||||
@@ -465,10 +453,10 @@ crypt_decode(state, from, len, to)
|
||||
* Simple inplace encryption, modifies "buf[len]" in place.
|
||||
*/
|
||||
void
|
||||
crypt_encode_inplace(state, buf, len)
|
||||
cryptstate_T *state;
|
||||
char_u *buf;
|
||||
size_t len;
|
||||
crypt_encode_inplace(
|
||||
cryptstate_T *state,
|
||||
char_u *buf,
|
||||
size_t len)
|
||||
{
|
||||
cryptmethods[state->method_nr].encode_inplace_fn(state, buf, len, buf);
|
||||
}
|
||||
@@ -477,10 +465,10 @@ crypt_encode_inplace(state, buf, len)
|
||||
* Simple inplace decryption, modifies "buf[len]" in place.
|
||||
*/
|
||||
void
|
||||
crypt_decode_inplace(state, buf, len)
|
||||
cryptstate_T *state;
|
||||
char_u *buf;
|
||||
size_t len;
|
||||
crypt_decode_inplace(
|
||||
cryptstate_T *state,
|
||||
char_u *buf,
|
||||
size_t len)
|
||||
{
|
||||
cryptmethods[state->method_nr].decode_inplace_fn(state, buf, len, buf);
|
||||
}
|
||||
@@ -490,8 +478,7 @@ crypt_decode_inplace(state, buf, len)
|
||||
* in memory anywhere.
|
||||
*/
|
||||
void
|
||||
crypt_free_key(key)
|
||||
char_u *key;
|
||||
crypt_free_key(char_u *key)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
@@ -507,8 +494,7 @@ crypt_free_key(key)
|
||||
* Check the crypt method and give a warning if it's outdated.
|
||||
*/
|
||||
void
|
||||
crypt_check_method(method)
|
||||
int method;
|
||||
crypt_check_method(int method)
|
||||
{
|
||||
if (method < CRYPT_M_BF2)
|
||||
{
|
||||
@@ -518,7 +504,7 @@ crypt_check_method(method)
|
||||
}
|
||||
|
||||
void
|
||||
crypt_check_current_method()
|
||||
crypt_check_current_method(void)
|
||||
{
|
||||
crypt_check_method(crypt_get_method_nr(curbuf));
|
||||
}
|
||||
@@ -531,9 +517,9 @@ crypt_check_current_method()
|
||||
* Returns NULL on failure.
|
||||
*/
|
||||
char_u *
|
||||
crypt_get_key(store, twice)
|
||||
int store;
|
||||
int twice; /* Ask for the key twice. */
|
||||
crypt_get_key(
|
||||
int store,
|
||||
int twice) /* Ask for the key twice. */
|
||||
{
|
||||
char_u *p1, *p2 = NULL;
|
||||
int round;
|
||||
@@ -589,8 +575,8 @@ crypt_get_key(store, twice)
|
||||
* Append a message to IObuff for the encryption/decryption method being used.
|
||||
*/
|
||||
void
|
||||
crypt_append_msg(buf)
|
||||
buf_T *buf;
|
||||
crypt_append_msg(
|
||||
buf_T *buf)
|
||||
{
|
||||
if (crypt_get_method_nr(buf) == 0)
|
||||
STRCAT(IObuff, _("[crypted]"));
|
||||
|
||||
+19
-19
@@ -36,7 +36,7 @@ typedef struct {
|
||||
} zip_state_T;
|
||||
|
||||
|
||||
static void make_crc_tab __ARGS((void));
|
||||
static void make_crc_tab(void);
|
||||
|
||||
static u32_T crc_32_table[256];
|
||||
|
||||
@@ -44,7 +44,7 @@ static u32_T crc_32_table[256];
|
||||
* Fill the CRC table, if not done already.
|
||||
*/
|
||||
static void
|
||||
make_crc_tab()
|
||||
make_crc_tab(void)
|
||||
{
|
||||
u32_T s, t, v;
|
||||
static int done = FALSE;
|
||||
@@ -85,13 +85,13 @@ make_crc_tab()
|
||||
* Initialize for encryption/decryption.
|
||||
*/
|
||||
void
|
||||
crypt_zip_init(state, key, salt, salt_len, seed, seed_len)
|
||||
cryptstate_T *state;
|
||||
char_u *key;
|
||||
char_u *salt UNUSED;
|
||||
int salt_len UNUSED;
|
||||
char_u *seed UNUSED;
|
||||
int seed_len UNUSED;
|
||||
crypt_zip_init(
|
||||
cryptstate_T *state,
|
||||
char_u *key,
|
||||
char_u *salt UNUSED,
|
||||
int salt_len UNUSED,
|
||||
char_u *seed UNUSED,
|
||||
int seed_len UNUSED)
|
||||
{
|
||||
char_u *p;
|
||||
zip_state_T *zs;
|
||||
@@ -114,11 +114,11 @@ crypt_zip_init(state, key, salt, salt_len, seed, seed_len)
|
||||
* "from" and "to" can be equal to encrypt in place.
|
||||
*/
|
||||
void
|
||||
crypt_zip_encode(state, from, len, to)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u *to;
|
||||
crypt_zip_encode(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u *to)
|
||||
{
|
||||
zip_state_T *zs = state->method_state;
|
||||
size_t i;
|
||||
@@ -137,11 +137,11 @@ crypt_zip_encode(state, from, len, to)
|
||||
* Decrypt "from[len]" into "to[len]".
|
||||
*/
|
||||
void
|
||||
crypt_zip_decode(state, from, len, to)
|
||||
cryptstate_T *state;
|
||||
char_u *from;
|
||||
size_t len;
|
||||
char_u *to;
|
||||
crypt_zip_decode(
|
||||
cryptstate_T *state,
|
||||
char_u *from,
|
||||
size_t len,
|
||||
char_u *to)
|
||||
{
|
||||
zip_state_T *zs = state->method_state;
|
||||
size_t i;
|
||||
|
||||
+85
-129
@@ -35,22 +35,22 @@ static int diff_bin_works = MAYBE; /* TRUE when "diff --binary" works, FALSE
|
||||
checked yet */
|
||||
#endif
|
||||
|
||||
static int diff_buf_idx __ARGS((buf_T *buf));
|
||||
static int diff_buf_idx_tp __ARGS((buf_T *buf, tabpage_T *tp));
|
||||
static void diff_mark_adjust_tp __ARGS((tabpage_T *tp, int idx, linenr_T line1, linenr_T line2, long amount, long amount_after));
|
||||
static void diff_check_unchanged __ARGS((tabpage_T *tp, diff_T *dp));
|
||||
static int diff_check_sanity __ARGS((tabpage_T *tp, diff_T *dp));
|
||||
static void diff_redraw __ARGS((int dofold));
|
||||
static int diff_write __ARGS((buf_T *buf, char_u *fname));
|
||||
static void diff_file __ARGS((char_u *tmp_orig, char_u *tmp_new, char_u *tmp_diff));
|
||||
static int diff_equal_entry __ARGS((diff_T *dp, int idx1, int idx2));
|
||||
static int diff_cmp __ARGS((char_u *s1, char_u *s2));
|
||||
static int diff_buf_idx(buf_T *buf);
|
||||
static int diff_buf_idx_tp(buf_T *buf, tabpage_T *tp);
|
||||
static void diff_mark_adjust_tp(tabpage_T *tp, int idx, linenr_T line1, linenr_T line2, long amount, long amount_after);
|
||||
static void diff_check_unchanged(tabpage_T *tp, diff_T *dp);
|
||||
static int diff_check_sanity(tabpage_T *tp, diff_T *dp);
|
||||
static void diff_redraw(int dofold);
|
||||
static int diff_write(buf_T *buf, char_u *fname);
|
||||
static void diff_file(char_u *tmp_orig, char_u *tmp_new, char_u *tmp_diff);
|
||||
static int diff_equal_entry(diff_T *dp, int idx1, int idx2);
|
||||
static int diff_cmp(char_u *s1, char_u *s2);
|
||||
#ifdef FEAT_FOLDING
|
||||
static void diff_fold_update __ARGS((diff_T *dp, int skip_idx));
|
||||
static void diff_fold_update(diff_T *dp, int skip_idx);
|
||||
#endif
|
||||
static void diff_read __ARGS((int idx_orig, int idx_new, char_u *fname));
|
||||
static void diff_copy_entry __ARGS((diff_T *dprev, diff_T *dp, int idx_orig, int idx_new));
|
||||
static diff_T *diff_alloc_new __ARGS((tabpage_T *tp, diff_T *dprev, diff_T *dp));
|
||||
static void diff_read(int idx_orig, int idx_new, char_u *fname);
|
||||
static void diff_copy_entry(diff_T *dprev, diff_T *dp, int idx_orig, int idx_new);
|
||||
static diff_T *diff_alloc_new(tabpage_T *tp, diff_T *dprev, diff_T *dp);
|
||||
|
||||
#ifndef USE_CR
|
||||
# define tag_fgets vim_fgets
|
||||
@@ -60,8 +60,7 @@ static diff_T *diff_alloc_new __ARGS((tabpage_T *tp, diff_T *dprev, diff_T *dp))
|
||||
* Called when deleting or unloading a buffer: No longer make a diff with it.
|
||||
*/
|
||||
void
|
||||
diff_buf_delete(buf)
|
||||
buf_T *buf;
|
||||
diff_buf_delete(buf_T *buf)
|
||||
{
|
||||
int i;
|
||||
tabpage_T *tp;
|
||||
@@ -84,8 +83,7 @@ diff_buf_delete(buf)
|
||||
* diff buffers.
|
||||
*/
|
||||
void
|
||||
diff_buf_adjust(win)
|
||||
win_T *win;
|
||||
diff_buf_adjust(win_T *win)
|
||||
{
|
||||
win_T *wp;
|
||||
int i;
|
||||
@@ -121,8 +119,7 @@ diff_buf_adjust(win)
|
||||
* about the screen contents.
|
||||
*/
|
||||
void
|
||||
diff_buf_add(buf)
|
||||
buf_T *buf;
|
||||
diff_buf_add(buf_T *buf)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -146,8 +143,7 @@ diff_buf_add(buf)
|
||||
* Return its index or DB_COUNT if not found.
|
||||
*/
|
||||
static int
|
||||
diff_buf_idx(buf)
|
||||
buf_T *buf;
|
||||
diff_buf_idx(buf_T *buf)
|
||||
{
|
||||
int idx;
|
||||
|
||||
@@ -162,9 +158,7 @@ diff_buf_idx(buf)
|
||||
* Return its index or DB_COUNT if not found.
|
||||
*/
|
||||
static int
|
||||
diff_buf_idx_tp(buf, tp)
|
||||
buf_T *buf;
|
||||
tabpage_T *tp;
|
||||
diff_buf_idx_tp(buf_T *buf, tabpage_T *tp)
|
||||
{
|
||||
int idx;
|
||||
|
||||
@@ -179,8 +173,7 @@ diff_buf_idx_tp(buf, tp)
|
||||
* when info is requested.
|
||||
*/
|
||||
void
|
||||
diff_invalidate(buf)
|
||||
buf_T *buf;
|
||||
diff_invalidate(buf_T *buf)
|
||||
{
|
||||
tabpage_T *tp;
|
||||
int i;
|
||||
@@ -201,11 +194,11 @@ diff_invalidate(buf)
|
||||
* Called by mark_adjust(): update line numbers in "curbuf".
|
||||
*/
|
||||
void
|
||||
diff_mark_adjust(line1, line2, amount, amount_after)
|
||||
linenr_T line1;
|
||||
linenr_T line2;
|
||||
long amount;
|
||||
long amount_after;
|
||||
diff_mark_adjust(
|
||||
linenr_T line1,
|
||||
linenr_T line2,
|
||||
long amount,
|
||||
long amount_after)
|
||||
{
|
||||
int idx;
|
||||
tabpage_T *tp;
|
||||
@@ -227,13 +220,13 @@ diff_mark_adjust(line1, line2, amount, amount_after)
|
||||
* When inserting/deleting lines in existing change blocks, update them.
|
||||
*/
|
||||
static void
|
||||
diff_mark_adjust_tp(tp, idx, line1, line2, amount, amount_after)
|
||||
tabpage_T *tp;
|
||||
int idx;
|
||||
linenr_T line1;
|
||||
linenr_T line2;
|
||||
long amount;
|
||||
long amount_after;
|
||||
diff_mark_adjust_tp(
|
||||
tabpage_T *tp,
|
||||
int idx,
|
||||
linenr_T line1,
|
||||
linenr_T line2,
|
||||
long amount,
|
||||
long amount_after)
|
||||
{
|
||||
diff_T *dp;
|
||||
diff_T *dprev;
|
||||
@@ -479,10 +472,7 @@ diff_mark_adjust_tp(tp, idx, line1, line2, amount, amount_after)
|
||||
* Allocate a new diff block and link it between "dprev" and "dp".
|
||||
*/
|
||||
static diff_T *
|
||||
diff_alloc_new(tp, dprev, dp)
|
||||
tabpage_T *tp;
|
||||
diff_T *dprev;
|
||||
diff_T *dp;
|
||||
diff_alloc_new(tabpage_T *tp, diff_T *dprev, diff_T *dp)
|
||||
{
|
||||
diff_T *dnew;
|
||||
|
||||
@@ -505,9 +495,7 @@ diff_alloc_new(tp, dprev, dp)
|
||||
* must take care of removing it.
|
||||
*/
|
||||
static void
|
||||
diff_check_unchanged(tp, dp)
|
||||
tabpage_T *tp;
|
||||
diff_T *dp;
|
||||
diff_check_unchanged(tabpage_T *tp, diff_T *dp)
|
||||
{
|
||||
int i_org;
|
||||
int i_new;
|
||||
@@ -581,9 +569,7 @@ diff_check_unchanged(tp, dp)
|
||||
* This can happen when the diff program returns invalid results.
|
||||
*/
|
||||
static int
|
||||
diff_check_sanity(tp, dp)
|
||||
tabpage_T *tp;
|
||||
diff_T *dp;
|
||||
diff_check_sanity(tabpage_T *tp, diff_T *dp)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -599,8 +585,8 @@ diff_check_sanity(tp, dp)
|
||||
* Mark all diff buffers in the current tab page for redraw.
|
||||
*/
|
||||
static void
|
||||
diff_redraw(dofold)
|
||||
int dofold; /* also recompute the folds */
|
||||
diff_redraw(
|
||||
int dofold) /* also recompute the folds */
|
||||
{
|
||||
win_T *wp;
|
||||
int n;
|
||||
@@ -633,9 +619,7 @@ diff_redraw(dofold)
|
||||
* Return FAIL for failure
|
||||
*/
|
||||
static int
|
||||
diff_write(buf, fname)
|
||||
buf_T *buf;
|
||||
char_u *fname;
|
||||
diff_write(buf_T *buf, char_u *fname)
|
||||
{
|
||||
int r;
|
||||
char_u *save_ff;
|
||||
@@ -656,8 +640,8 @@ diff_write(buf, fname)
|
||||
* could have been produced by autocommands, e.g. the netrw plugin).
|
||||
*/
|
||||
void
|
||||
ex_diffupdate(eap)
|
||||
exarg_T *eap UNUSED; /* can be NULL */
|
||||
ex_diffupdate(
|
||||
exarg_T *eap UNUSED) /* can be NULL */
|
||||
{
|
||||
buf_T *buf;
|
||||
int idx_orig;
|
||||
@@ -832,10 +816,10 @@ theend:
|
||||
* Make a diff between files "tmp_orig" and "tmp_new", results in "tmp_diff".
|
||||
*/
|
||||
static void
|
||||
diff_file(tmp_orig, tmp_new, tmp_diff)
|
||||
char_u *tmp_orig;
|
||||
char_u *tmp_new;
|
||||
char_u *tmp_diff;
|
||||
diff_file(
|
||||
char_u *tmp_orig,
|
||||
char_u *tmp_new,
|
||||
char_u *tmp_diff)
|
||||
{
|
||||
char_u *cmd;
|
||||
size_t len;
|
||||
@@ -888,8 +872,7 @@ diff_file(tmp_orig, tmp_new, tmp_diff)
|
||||
* could have been produced by autocommands, e.g. the netrw plugin).
|
||||
*/
|
||||
void
|
||||
ex_diffpatch(eap)
|
||||
exarg_T *eap;
|
||||
ex_diffpatch(exarg_T *eap)
|
||||
{
|
||||
char_u *tmp_orig; /* name of original temp file */
|
||||
char_u *tmp_new; /* name of patched temp file */
|
||||
@@ -1083,8 +1066,7 @@ theend:
|
||||
* Split the window and edit another file, setting options to show the diffs.
|
||||
*/
|
||||
void
|
||||
ex_diffsplit(eap)
|
||||
exarg_T *eap;
|
||||
ex_diffsplit(exarg_T *eap)
|
||||
{
|
||||
win_T *old_curwin = curwin;
|
||||
buf_T *old_curbuf = curbuf;
|
||||
@@ -1126,8 +1108,7 @@ ex_diffsplit(eap)
|
||||
* Set options to show diffs for the current window.
|
||||
*/
|
||||
void
|
||||
ex_diffthis(eap)
|
||||
exarg_T *eap UNUSED;
|
||||
ex_diffthis(exarg_T *eap UNUSED)
|
||||
{
|
||||
/* Set 'diff', 'scrollbind' on and 'wrap' off. */
|
||||
diff_win_options(curwin, TRUE);
|
||||
@@ -1137,9 +1118,9 @@ ex_diffthis(eap)
|
||||
* Set options in window "wp" for diff mode.
|
||||
*/
|
||||
void
|
||||
diff_win_options(wp, addbuf)
|
||||
win_T *wp;
|
||||
int addbuf; /* Add buffer to diff. */
|
||||
diff_win_options(
|
||||
win_T *wp,
|
||||
int addbuf) /* Add buffer to diff. */
|
||||
{
|
||||
# ifdef FEAT_FOLDING
|
||||
win_T *old_curwin = curwin;
|
||||
@@ -1209,8 +1190,7 @@ diff_win_options(wp, addbuf)
|
||||
* Only in the current tab page.
|
||||
*/
|
||||
void
|
||||
ex_diffoff(eap)
|
||||
exarg_T *eap;
|
||||
ex_diffoff(exarg_T *eap)
|
||||
{
|
||||
win_T *wp;
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
@@ -1279,10 +1259,10 @@ ex_diffoff(eap)
|
||||
* Read the diff output and add each entry to the diff list.
|
||||
*/
|
||||
static void
|
||||
diff_read(idx_orig, idx_new, fname)
|
||||
int idx_orig; /* idx of original file */
|
||||
int idx_new; /* idx of new file */
|
||||
char_u *fname; /* name of diff output file */
|
||||
diff_read(
|
||||
int idx_orig, /* idx of original file */
|
||||
int idx_new, /* idx of new file */
|
||||
char_u *fname) /* name of diff output file */
|
||||
{
|
||||
FILE *fd;
|
||||
diff_T *dprev = NULL;
|
||||
@@ -1473,11 +1453,11 @@ done:
|
||||
* Copy an entry at "dp" from "idx_orig" to "idx_new".
|
||||
*/
|
||||
static void
|
||||
diff_copy_entry(dprev, dp, idx_orig, idx_new)
|
||||
diff_T *dprev;
|
||||
diff_T *dp;
|
||||
int idx_orig;
|
||||
int idx_new;
|
||||
diff_copy_entry(
|
||||
diff_T *dprev,
|
||||
diff_T *dp,
|
||||
int idx_orig,
|
||||
int idx_new)
|
||||
{
|
||||
long off;
|
||||
|
||||
@@ -1494,8 +1474,7 @@ diff_copy_entry(dprev, dp, idx_orig, idx_new)
|
||||
* Clear the list of diffblocks for tab page "tp".
|
||||
*/
|
||||
void
|
||||
diff_clear(tp)
|
||||
tabpage_T *tp;
|
||||
diff_clear(tabpage_T *tp)
|
||||
{
|
||||
diff_T *p, *next_p;
|
||||
|
||||
@@ -1517,9 +1496,7 @@ diff_clear(tp)
|
||||
* This should only be used for windows where 'diff' is set.
|
||||
*/
|
||||
int
|
||||
diff_check(wp, lnum)
|
||||
win_T *wp;
|
||||
linenr_T lnum;
|
||||
diff_check(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
int idx; /* index in tp_diffbuf[] for this buffer */
|
||||
diff_T *dp;
|
||||
@@ -1611,10 +1588,7 @@ diff_check(wp, lnum)
|
||||
* Compare two entries in diff "*dp" and return TRUE if they are equal.
|
||||
*/
|
||||
static int
|
||||
diff_equal_entry(dp, idx1, idx2)
|
||||
diff_T *dp;
|
||||
int idx1;
|
||||
int idx2;
|
||||
diff_equal_entry(diff_T *dp, int idx1, int idx2)
|
||||
{
|
||||
int i;
|
||||
char_u *line;
|
||||
@@ -1644,9 +1618,7 @@ diff_equal_entry(dp, idx1, idx2)
|
||||
* Return non-zero when they are different.
|
||||
*/
|
||||
static int
|
||||
diff_cmp(s1, s2)
|
||||
char_u *s1;
|
||||
char_u *s2;
|
||||
diff_cmp(char_u *s1, char_u *s2)
|
||||
{
|
||||
char_u *p1, *p2;
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -1709,9 +1681,7 @@ diff_cmp(s1, s2)
|
||||
* Return the number of filler lines above "lnum".
|
||||
*/
|
||||
int
|
||||
diff_check_fill(wp, lnum)
|
||||
win_T *wp;
|
||||
linenr_T lnum;
|
||||
diff_check_fill(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
int n;
|
||||
|
||||
@@ -1729,9 +1699,7 @@ diff_check_fill(wp, lnum)
|
||||
* show the same diff'ed lines.
|
||||
*/
|
||||
void
|
||||
diff_set_topline(fromwin, towin)
|
||||
win_T *fromwin;
|
||||
win_T *towin;
|
||||
diff_set_topline(win_T *fromwin, win_T *towin)
|
||||
{
|
||||
buf_T *frombuf = fromwin->w_buffer;
|
||||
linenr_T lnum = fromwin->w_topline;
|
||||
@@ -1851,7 +1819,7 @@ diff_set_topline(fromwin, towin)
|
||||
* This is called when 'diffopt' is changed.
|
||||
*/
|
||||
int
|
||||
diffopt_changed()
|
||||
diffopt_changed(void)
|
||||
{
|
||||
char_u *p;
|
||||
int diff_context_new = 6;
|
||||
@@ -1929,7 +1897,7 @@ diffopt_changed()
|
||||
* Return TRUE if 'diffopt' contains "horizontal".
|
||||
*/
|
||||
int
|
||||
diffopt_horizontal()
|
||||
diffopt_horizontal(void)
|
||||
{
|
||||
return (diff_flags & DIFF_HORIZONTAL) != 0;
|
||||
}
|
||||
@@ -1939,11 +1907,11 @@ diffopt_horizontal()
|
||||
* Returns TRUE if the line was added, no other buffer has it.
|
||||
*/
|
||||
int
|
||||
diff_find_change(wp, lnum, startp, endp)
|
||||
win_T *wp;
|
||||
linenr_T lnum;
|
||||
int *startp; /* first char of the change */
|
||||
int *endp; /* last char of the change */
|
||||
diff_find_change(
|
||||
win_T *wp,
|
||||
linenr_T lnum,
|
||||
int *startp, /* first char of the change */
|
||||
int *endp) /* last char of the change */
|
||||
{
|
||||
char_u *line_org;
|
||||
char_u *line_new;
|
||||
@@ -2063,9 +2031,7 @@ diff_find_change(wp, lnum, startp, endp)
|
||||
* Return FALSE if there are no diff blocks at all in this window.
|
||||
*/
|
||||
int
|
||||
diff_infold(wp, lnum)
|
||||
win_T *wp;
|
||||
linenr_T lnum;
|
||||
diff_infold(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
int i;
|
||||
int idx = -1;
|
||||
@@ -2112,9 +2078,7 @@ diff_infold(wp, lnum)
|
||||
* "dp" and "do" commands.
|
||||
*/
|
||||
void
|
||||
nv_diffgetput(put, count)
|
||||
int put;
|
||||
long count;
|
||||
nv_diffgetput(int put, long count)
|
||||
{
|
||||
exarg_T ea;
|
||||
char_u buf[30];
|
||||
@@ -2141,8 +2105,7 @@ nv_diffgetput(put, count)
|
||||
* ":diffput"
|
||||
*/
|
||||
void
|
||||
ex_diffgetput(eap)
|
||||
exarg_T *eap;
|
||||
ex_diffgetput(exarg_T *eap)
|
||||
{
|
||||
linenr_T lnum;
|
||||
int count;
|
||||
@@ -2464,9 +2427,7 @@ ex_diffgetput(eap)
|
||||
* When there are no diffs, all folds are removed.
|
||||
*/
|
||||
static void
|
||||
diff_fold_update(dp, skip_idx)
|
||||
diff_T *dp;
|
||||
int skip_idx;
|
||||
diff_fold_update(diff_T *dp, int skip_idx)
|
||||
{
|
||||
int i;
|
||||
win_T *wp;
|
||||
@@ -2483,8 +2444,7 @@ diff_fold_update(dp, skip_idx)
|
||||
* Return TRUE if buffer "buf" is in diff-mode.
|
||||
*/
|
||||
int
|
||||
diff_mode_buf(buf)
|
||||
buf_T *buf;
|
||||
diff_mode_buf(buf_T *buf)
|
||||
{
|
||||
tabpage_T *tp;
|
||||
|
||||
@@ -2499,9 +2459,7 @@ diff_mode_buf(buf)
|
||||
* Return FAIL if there isn't such a diff block.
|
||||
*/
|
||||
int
|
||||
diff_move_to(dir, count)
|
||||
int dir;
|
||||
long count;
|
||||
diff_move_to(int dir, long count)
|
||||
{
|
||||
int idx;
|
||||
linenr_T lnum = curwin->w_cursor.lnum;
|
||||
@@ -2554,11 +2512,11 @@ diff_move_to(dir, count)
|
||||
}
|
||||
|
||||
linenr_T
|
||||
diff_get_corresponding_line(buf1, lnum1, buf2, lnum3)
|
||||
buf_T *buf1;
|
||||
linenr_T lnum1;
|
||||
buf_T *buf2;
|
||||
linenr_T lnum3;
|
||||
diff_get_corresponding_line(
|
||||
buf_T *buf1,
|
||||
linenr_T lnum1,
|
||||
buf_T *buf2,
|
||||
linenr_T lnum3)
|
||||
{
|
||||
int idx1;
|
||||
int idx2;
|
||||
@@ -2628,9 +2586,7 @@ diff_get_corresponding_line(buf1, lnum1, buf2, lnum3)
|
||||
* "wp", compensating for inserted/deleted lines.
|
||||
*/
|
||||
linenr_T
|
||||
diff_lnum_win(lnum, wp)
|
||||
linenr_T lnum;
|
||||
win_T *wp;
|
||||
diff_lnum_win(linenr_T lnum, win_T *wp)
|
||||
{
|
||||
diff_T *dp;
|
||||
int idx;
|
||||
|
||||
+14
-24
@@ -28,8 +28,8 @@ typedef struct digraph
|
||||
result_T result;
|
||||
} digr_T;
|
||||
|
||||
static int getexactdigraph __ARGS((int, int, int));
|
||||
static void printdigraph __ARGS((digr_T *));
|
||||
static int getexactdigraph(int, int, int);
|
||||
static void printdigraph(digr_T *);
|
||||
|
||||
/* digraphs added by the user */
|
||||
static garray_T user_digraphs = {0, 0, (int)sizeof(digr_T), 10, NULL};
|
||||
@@ -2013,8 +2013,7 @@ static digr_T digraphdefault[] =
|
||||
* handle digraphs after typing a character
|
||||
*/
|
||||
int
|
||||
do_digraph(c)
|
||||
int c;
|
||||
do_digraph(int c)
|
||||
{
|
||||
static int backspaced; /* character before K_BS */
|
||||
static int lastchar; /* last typed character */
|
||||
@@ -2041,8 +2040,8 @@ do_digraph(c)
|
||||
* Returns composed character, or NUL when ESC was used.
|
||||
*/
|
||||
int
|
||||
get_digraph(cmdline)
|
||||
int cmdline; /* TRUE when called from the cmdline */
|
||||
get_digraph(
|
||||
int cmdline) /* TRUE when called from the cmdline */
|
||||
{
|
||||
int c, cc;
|
||||
|
||||
@@ -2085,10 +2084,7 @@ get_digraph(cmdline)
|
||||
* If "meta_char" is TRUE and "char1" is a space, return "char2" | 0x80.
|
||||
*/
|
||||
static int
|
||||
getexactdigraph(char1, char2, meta_char)
|
||||
int char1;
|
||||
int char2;
|
||||
int meta_char;
|
||||
getexactdigraph(int char1, int char2, int meta_char)
|
||||
{
|
||||
int i;
|
||||
int retval = 0;
|
||||
@@ -2173,10 +2169,7 @@ getexactdigraph(char1, char2, meta_char)
|
||||
* Allow for both char1-char2 and char2-char1
|
||||
*/
|
||||
int
|
||||
getdigraph(char1, char2, meta_char)
|
||||
int char1;
|
||||
int char2;
|
||||
int meta_char;
|
||||
getdigraph(int char1, int char2, int meta_char)
|
||||
{
|
||||
int retval;
|
||||
|
||||
@@ -2192,8 +2185,7 @@ getdigraph(char1, char2, meta_char)
|
||||
* format: {c1}{c2} char {c1}{c2} char ...
|
||||
*/
|
||||
void
|
||||
putdigraph(str)
|
||||
char_u *str;
|
||||
putdigraph(char_u *str)
|
||||
{
|
||||
int char1, char2, n;
|
||||
int i;
|
||||
@@ -2252,7 +2244,7 @@ putdigraph(str)
|
||||
}
|
||||
|
||||
void
|
||||
listdigraphs()
|
||||
listdigraphs(void)
|
||||
{
|
||||
int i;
|
||||
digr_T *dp;
|
||||
@@ -2297,8 +2289,7 @@ listdigraphs()
|
||||
}
|
||||
|
||||
static void
|
||||
printdigraph(dp)
|
||||
digr_T *dp;
|
||||
printdigraph(digr_T *dp)
|
||||
{
|
||||
char_u buf[30];
|
||||
char_u *p;
|
||||
@@ -2357,7 +2348,7 @@ typedef struct
|
||||
|
||||
#define KMAP_MAXLEN 20 /* maximum length of "from" or "to" */
|
||||
|
||||
static void keymap_unload __ARGS((void));
|
||||
static void keymap_unload(void);
|
||||
|
||||
/*
|
||||
* Set up key mapping tables for the 'keymap' option.
|
||||
@@ -2366,7 +2357,7 @@ static void keymap_unload __ARGS((void));
|
||||
* checked.
|
||||
*/
|
||||
char_u *
|
||||
keymap_init()
|
||||
keymap_init(void)
|
||||
{
|
||||
curbuf->b_kmap_state &= ~KEYMAP_INIT;
|
||||
|
||||
@@ -2419,8 +2410,7 @@ keymap_init()
|
||||
* ":loadkeymap" command: load the following lines as the keymap.
|
||||
*/
|
||||
void
|
||||
ex_loadkeymap(eap)
|
||||
exarg_T *eap;
|
||||
ex_loadkeymap(exarg_T *eap)
|
||||
{
|
||||
char_u *line;
|
||||
char_u *p;
|
||||
@@ -2505,7 +2495,7 @@ ex_loadkeymap(eap)
|
||||
* Stop using 'keymap'.
|
||||
*/
|
||||
static void
|
||||
keymap_unload()
|
||||
keymap_unload(void)
|
||||
{
|
||||
char_u buf[KMAP_MAXLEN + 10];
|
||||
int i;
|
||||
|
||||
+320
-384
File diff suppressed because it is too large
Load Diff
+1831
-2372
File diff suppressed because it is too large
Load Diff
+280
-277
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -85,7 +85,7 @@ typedef struct exarg exarg_T;
|
||||
#ifdef DO_DECLARE_EXCMD
|
||||
# define EX(a, b, c, d, e) {(char_u *)b, c, (long_u)(d), e}
|
||||
|
||||
typedef void (*ex_func_T) __ARGS((exarg_T *eap));
|
||||
typedef void (*ex_func_T) (exarg_T *eap);
|
||||
|
||||
static struct cmdname
|
||||
{
|
||||
@@ -128,7 +128,7 @@ EX(CMD_args, "args", ex_args,
|
||||
BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
|
||||
ADDR_LINES),
|
||||
EX(CMD_argadd, "argadd", ex_argadd,
|
||||
BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR,
|
||||
BANG|RANGE|NOTADR|ZEROR|FILES|TRLBAR,
|
||||
ADDR_ARGUMENTS),
|
||||
EX(CMD_argdelete, "argdelete", ex_argdelete,
|
||||
BANG|RANGE|NOTADR|FILES|TRLBAR,
|
||||
@@ -1745,7 +1745,7 @@ struct exarg
|
||||
int useridx; /* user command index */
|
||||
#endif
|
||||
char_u *errmsg; /* returned error message */
|
||||
char_u *(*getline) __ARGS((int, void *, int));
|
||||
char_u *(*getline)(int, void *, int);
|
||||
void *cookie; /* argument for getline() */
|
||||
#ifdef FEAT_EVAL
|
||||
struct condstack *cstack; /* condition stack for ":if" etc. */
|
||||
|
||||
+173
-270
File diff suppressed because it is too large
Load Diff
+484
-693
File diff suppressed because it is too large
Load Diff
+60
-99
@@ -15,9 +15,9 @@
|
||||
|
||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||
|
||||
static void free_msglist __ARGS((struct msglist *l));
|
||||
static int throw_exception __ARGS((void *, int, char_u *));
|
||||
static char_u *get_end_emsg __ARGS((struct condstack *cstack));
|
||||
static void free_msglist(struct msglist *l);
|
||||
static int throw_exception(void *, int, char_u *);
|
||||
static char_u *get_end_emsg(struct condstack *cstack);
|
||||
|
||||
/*
|
||||
* Exception handling terms:
|
||||
@@ -65,10 +65,10 @@ static char_u *get_end_emsg __ARGS((struct condstack *cstack));
|
||||
# define THROW_ON_INTERRUPT_TRUE
|
||||
#endif
|
||||
|
||||
static void catch_exception __ARGS((except_T *excp));
|
||||
static void finish_exception __ARGS((except_T *excp));
|
||||
static void discard_exception __ARGS((except_T *excp, int was_finished));
|
||||
static void report_pending __ARGS((int action, int pending, void *value));
|
||||
static void catch_exception(except_T *excp);
|
||||
static void finish_exception(except_T *excp);
|
||||
static void discard_exception(except_T *excp, int was_finished);
|
||||
static void report_pending(int action, int pending, void *value);
|
||||
|
||||
/*
|
||||
* When several errors appear in a row, setting "force_abort" is delayed until
|
||||
@@ -93,7 +93,7 @@ static int cause_abort = FALSE;
|
||||
* due to a parsing error, aborting() always returns the same value.
|
||||
*/
|
||||
int
|
||||
aborting()
|
||||
aborting(void)
|
||||
{
|
||||
return (did_emsg && force_abort) || got_int || did_throw;
|
||||
}
|
||||
@@ -105,7 +105,7 @@ aborting()
|
||||
* error message has been reached. update_force_abort() should be called then.
|
||||
*/
|
||||
void
|
||||
update_force_abort()
|
||||
update_force_abort(void)
|
||||
{
|
||||
if (cause_abort)
|
||||
force_abort = TRUE;
|
||||
@@ -118,8 +118,7 @@ update_force_abort()
|
||||
* displayed and actually caused the abortion.
|
||||
*/
|
||||
int
|
||||
should_abort(retcode)
|
||||
int retcode;
|
||||
should_abort(int retcode)
|
||||
{
|
||||
return ((retcode == FAIL && trylevel != 0 && !emsg_silent) || aborting());
|
||||
}
|
||||
@@ -131,7 +130,7 @@ should_abort(retcode)
|
||||
* commands are still reported.
|
||||
*/
|
||||
int
|
||||
aborted_in_try()
|
||||
aborted_in_try(void)
|
||||
{
|
||||
/* This function is only called after an error. In this case, "force_abort"
|
||||
* determines whether searching for finally clauses is necessary. */
|
||||
@@ -148,10 +147,10 @@ aborted_in_try()
|
||||
* set to TRUE, if a later but severer message should be used instead.
|
||||
*/
|
||||
int
|
||||
cause_errthrow(mesg, severe, ignore)
|
||||
char_u *mesg;
|
||||
int severe;
|
||||
int *ignore;
|
||||
cause_errthrow(
|
||||
char_u *mesg,
|
||||
int severe,
|
||||
int *ignore)
|
||||
{
|
||||
struct msglist *elem;
|
||||
struct msglist **plist;
|
||||
@@ -305,8 +304,7 @@ cause_errthrow(mesg, severe, ignore)
|
||||
* Free a "msg_list" and the messages it contains.
|
||||
*/
|
||||
static void
|
||||
free_msglist(l)
|
||||
struct msglist *l;
|
||||
free_msglist(struct msglist *l)
|
||||
{
|
||||
struct msglist *messages, *next;
|
||||
|
||||
@@ -325,7 +323,7 @@ free_msglist(l)
|
||||
* to NULL.
|
||||
*/
|
||||
void
|
||||
free_global_msglist()
|
||||
free_global_msglist(void)
|
||||
{
|
||||
free_msglist(*msg_list);
|
||||
*msg_list = NULL;
|
||||
@@ -337,9 +335,7 @@ free_global_msglist()
|
||||
* has returned (see do_one_cmd()).
|
||||
*/
|
||||
void
|
||||
do_errthrow(cstack, cmdname)
|
||||
struct condstack *cstack;
|
||||
char_u *cmdname;
|
||||
do_errthrow(struct condstack *cstack, char_u *cmdname)
|
||||
{
|
||||
/*
|
||||
* Ensure that all commands in nested function calls and sourced files
|
||||
@@ -374,8 +370,7 @@ do_errthrow(cstack, cmdname)
|
||||
* FALSE otherwise.
|
||||
*/
|
||||
int
|
||||
do_intthrow(cstack)
|
||||
struct condstack *cstack;
|
||||
do_intthrow(struct condstack *cstack)
|
||||
{
|
||||
/*
|
||||
* If no interrupt occurred or no try conditional is active and no exception
|
||||
@@ -425,11 +420,11 @@ do_intthrow(cstack)
|
||||
* Get an exception message that is to be stored in current_exception->value.
|
||||
*/
|
||||
char_u *
|
||||
get_exception_string(value, type, cmdname, should_free)
|
||||
void *value;
|
||||
int type;
|
||||
char_u *cmdname;
|
||||
int *should_free;
|
||||
get_exception_string(
|
||||
void *value,
|
||||
int type,
|
||||
char_u *cmdname,
|
||||
int *should_free)
|
||||
{
|
||||
char_u *ret, *mesg;
|
||||
int cmdlen;
|
||||
@@ -508,10 +503,7 @@ get_exception_string(value, type, cmdname, should_free)
|
||||
* error exception.
|
||||
*/
|
||||
static int
|
||||
throw_exception(value, type, cmdname)
|
||||
void *value;
|
||||
int type;
|
||||
char_u *cmdname;
|
||||
throw_exception(void *value, int type, char_u *cmdname)
|
||||
{
|
||||
except_T *excp;
|
||||
int should_free;
|
||||
@@ -597,9 +589,7 @@ fail:
|
||||
* caught and the catch clause has been ended normally.
|
||||
*/
|
||||
static void
|
||||
discard_exception(excp, was_finished)
|
||||
except_T *excp;
|
||||
int was_finished;
|
||||
discard_exception(except_T *excp, int was_finished)
|
||||
{
|
||||
char_u *saved_IObuff;
|
||||
|
||||
@@ -648,7 +638,7 @@ discard_exception(excp, was_finished)
|
||||
* Discard the exception currently being thrown.
|
||||
*/
|
||||
void
|
||||
discard_current_exception()
|
||||
discard_current_exception(void)
|
||||
{
|
||||
discard_exception(current_exception, FALSE);
|
||||
current_exception = NULL;
|
||||
@@ -660,8 +650,7 @@ discard_current_exception()
|
||||
* Put an exception on the caught stack.
|
||||
*/
|
||||
static void
|
||||
catch_exception(excp)
|
||||
except_T *excp;
|
||||
catch_exception(except_T *excp)
|
||||
{
|
||||
excp->caught = caught_stack;
|
||||
caught_stack = excp;
|
||||
@@ -708,8 +697,7 @@ catch_exception(excp)
|
||||
* Remove an exception from the caught stack.
|
||||
*/
|
||||
static void
|
||||
finish_exception(excp)
|
||||
except_T *excp;
|
||||
finish_exception(except_T *excp)
|
||||
{
|
||||
if (excp != caught_stack)
|
||||
EMSG(_(e_internal));
|
||||
@@ -758,10 +746,7 @@ finish_exception(excp)
|
||||
* or the exception value for a pending exception.
|
||||
*/
|
||||
static void
|
||||
report_pending(action, pending, value)
|
||||
int action;
|
||||
int pending;
|
||||
void *value;
|
||||
report_pending(int action, int pending, void *value)
|
||||
{
|
||||
char_u *mesg;
|
||||
char *s;
|
||||
@@ -841,9 +826,7 @@ report_pending(action, pending, value)
|
||||
* the 'verbose' option or when debugging.
|
||||
*/
|
||||
void
|
||||
report_make_pending(pending, value)
|
||||
int pending;
|
||||
void *value;
|
||||
report_make_pending(int pending, void *value)
|
||||
{
|
||||
if (p_verbose >= 14 || debug_break_level > 0)
|
||||
{
|
||||
@@ -860,9 +843,7 @@ report_make_pending(pending, value)
|
||||
* it if required by the 'verbose' option or when debugging.
|
||||
*/
|
||||
void
|
||||
report_resume_pending(pending, value)
|
||||
int pending;
|
||||
void *value;
|
||||
report_resume_pending(int pending, void *value)
|
||||
{
|
||||
if (p_verbose >= 14 || debug_break_level > 0)
|
||||
{
|
||||
@@ -879,9 +860,7 @@ report_resume_pending(pending, value)
|
||||
* by the 'verbose' option or when debugging.
|
||||
*/
|
||||
void
|
||||
report_discard_pending(pending, value)
|
||||
int pending;
|
||||
void *value;
|
||||
report_discard_pending(int pending, void *value)
|
||||
{
|
||||
if (p_verbose >= 14 || debug_break_level > 0)
|
||||
{
|
||||
@@ -898,8 +877,7 @@ report_discard_pending(pending, value)
|
||||
* ":if".
|
||||
*/
|
||||
void
|
||||
ex_if(eap)
|
||||
exarg_T *eap;
|
||||
ex_if(exarg_T *eap)
|
||||
{
|
||||
int error;
|
||||
int skip;
|
||||
@@ -937,8 +915,7 @@ ex_if(eap)
|
||||
* ":endif".
|
||||
*/
|
||||
void
|
||||
ex_endif(eap)
|
||||
exarg_T *eap;
|
||||
ex_endif(exarg_T *eap)
|
||||
{
|
||||
did_endif = TRUE;
|
||||
if (eap->cstack->cs_idx < 0
|
||||
@@ -968,8 +945,7 @@ ex_endif(eap)
|
||||
* ":else" and ":elseif".
|
||||
*/
|
||||
void
|
||||
ex_else(eap)
|
||||
exarg_T *eap;
|
||||
ex_else(exarg_T *eap)
|
||||
{
|
||||
int error;
|
||||
int skip;
|
||||
@@ -1060,8 +1036,7 @@ ex_else(eap)
|
||||
* Handle ":while" and ":for".
|
||||
*/
|
||||
void
|
||||
ex_while(eap)
|
||||
exarg_T *eap;
|
||||
ex_while(exarg_T *eap)
|
||||
{
|
||||
int error;
|
||||
int skip;
|
||||
@@ -1160,8 +1135,7 @@ ex_while(eap)
|
||||
* ":continue"
|
||||
*/
|
||||
void
|
||||
ex_continue(eap)
|
||||
exarg_T *eap;
|
||||
ex_continue(exarg_T *eap)
|
||||
{
|
||||
int idx;
|
||||
struct condstack *cstack = eap->cstack;
|
||||
@@ -1199,8 +1173,7 @@ ex_continue(eap)
|
||||
* ":break"
|
||||
*/
|
||||
void
|
||||
ex_break(eap)
|
||||
exarg_T *eap;
|
||||
ex_break(exarg_T *eap)
|
||||
{
|
||||
int idx;
|
||||
struct condstack *cstack = eap->cstack;
|
||||
@@ -1226,8 +1199,7 @@ ex_break(eap)
|
||||
* ":endwhile" and ":endfor"
|
||||
*/
|
||||
void
|
||||
ex_endwhile(eap)
|
||||
exarg_T *eap;
|
||||
ex_endwhile(exarg_T *eap)
|
||||
{
|
||||
struct condstack *cstack = eap->cstack;
|
||||
int idx;
|
||||
@@ -1313,8 +1285,7 @@ ex_endwhile(eap)
|
||||
* ":throw expr"
|
||||
*/
|
||||
void
|
||||
ex_throw(eap)
|
||||
exarg_T *eap;
|
||||
ex_throw(exarg_T *eap)
|
||||
{
|
||||
char_u *arg = eap->arg;
|
||||
char_u *value;
|
||||
@@ -1344,8 +1315,7 @@ ex_throw(eap)
|
||||
* used for rethrowing an uncaught exception.
|
||||
*/
|
||||
void
|
||||
do_throw(cstack)
|
||||
struct condstack *cstack;
|
||||
do_throw(struct condstack *cstack)
|
||||
{
|
||||
int idx;
|
||||
int inactivate_try = FALSE;
|
||||
@@ -1426,8 +1396,7 @@ do_throw(cstack)
|
||||
* ":try"
|
||||
*/
|
||||
void
|
||||
ex_try(eap)
|
||||
exarg_T *eap;
|
||||
ex_try(exarg_T *eap)
|
||||
{
|
||||
int skip;
|
||||
struct condstack *cstack = eap->cstack;
|
||||
@@ -1496,8 +1465,7 @@ ex_try(eap)
|
||||
* ":catch /{pattern}/" and ":catch"
|
||||
*/
|
||||
void
|
||||
ex_catch(eap)
|
||||
exarg_T *eap;
|
||||
ex_catch(exarg_T *eap)
|
||||
{
|
||||
int idx = 0;
|
||||
int give_up = FALSE;
|
||||
@@ -1657,8 +1625,7 @@ ex_catch(eap)
|
||||
* ":finally"
|
||||
*/
|
||||
void
|
||||
ex_finally(eap)
|
||||
exarg_T *eap;
|
||||
ex_finally(exarg_T *eap)
|
||||
{
|
||||
int idx;
|
||||
int skip = FALSE;
|
||||
@@ -1785,8 +1752,7 @@ ex_finally(eap)
|
||||
* ":endtry"
|
||||
*/
|
||||
void
|
||||
ex_endtry(eap)
|
||||
exarg_T *eap;
|
||||
ex_endtry(exarg_T *eap)
|
||||
{
|
||||
int idx;
|
||||
int skip;
|
||||
@@ -1984,8 +1950,7 @@ ex_endtry(eap)
|
||||
* execution.
|
||||
*/
|
||||
void
|
||||
enter_cleanup(csp)
|
||||
cleanup_T *csp;
|
||||
enter_cleanup(cleanup_T *csp)
|
||||
{
|
||||
int pending = CSTP_NONE;
|
||||
|
||||
@@ -2047,8 +2012,7 @@ enter_cleanup(csp)
|
||||
* exception state is discarded.
|
||||
*/
|
||||
void
|
||||
leave_cleanup(csp)
|
||||
cleanup_T *csp;
|
||||
leave_cleanup(cleanup_T *csp)
|
||||
{
|
||||
int pending = csp->pending;
|
||||
|
||||
@@ -2133,10 +2097,10 @@ leave_cleanup(csp)
|
||||
* when such a try conditional is left.
|
||||
*/
|
||||
int
|
||||
cleanup_conditionals(cstack, searched_cond, inclusive)
|
||||
struct condstack *cstack;
|
||||
int searched_cond;
|
||||
int inclusive;
|
||||
cleanup_conditionals(
|
||||
struct condstack *cstack,
|
||||
int searched_cond,
|
||||
int inclusive)
|
||||
{
|
||||
int idx;
|
||||
int stop = FALSE;
|
||||
@@ -2256,8 +2220,7 @@ cleanup_conditionals(cstack, searched_cond, inclusive)
|
||||
* Return an appropriate error message for a missing endwhile/endfor/endif.
|
||||
*/
|
||||
static char_u *
|
||||
get_end_emsg(cstack)
|
||||
struct condstack *cstack;
|
||||
get_end_emsg(struct condstack *cstack)
|
||||
{
|
||||
if (cstack->cs_flags[cstack->cs_idx] & CSF_WHILE)
|
||||
return e_endwhile;
|
||||
@@ -2275,11 +2238,11 @@ get_end_emsg(cstack)
|
||||
* Also free "for info" structures where needed.
|
||||
*/
|
||||
void
|
||||
rewind_conditionals(cstack, idx, cond_type, cond_level)
|
||||
struct condstack *cstack;
|
||||
int idx;
|
||||
int cond_type;
|
||||
int *cond_level;
|
||||
rewind_conditionals(
|
||||
struct condstack *cstack,
|
||||
int idx,
|
||||
int cond_type,
|
||||
int *cond_level)
|
||||
{
|
||||
while (cstack->cs_idx > idx)
|
||||
{
|
||||
@@ -2295,8 +2258,7 @@ rewind_conditionals(cstack, idx, cond_type, cond_level)
|
||||
* ":endfunction" when not after a ":function"
|
||||
*/
|
||||
void
|
||||
ex_endfunction(eap)
|
||||
exarg_T *eap UNUSED;
|
||||
ex_endfunction(exarg_T *eap UNUSED)
|
||||
{
|
||||
EMSG(_("E193: :endfunction not inside a function"));
|
||||
}
|
||||
@@ -2305,8 +2267,7 @@ ex_endfunction(eap)
|
||||
* Return TRUE if the string "p" looks like a ":while" or ":for" command.
|
||||
*/
|
||||
int
|
||||
has_loop_cmd(p)
|
||||
char_u *p;
|
||||
has_loop_cmd(char_u *p)
|
||||
{
|
||||
int len;
|
||||
|
||||
|
||||
+224
-288
File diff suppressed because it is too large
Load Diff
+54
-79
@@ -13,33 +13,32 @@
|
||||
* Included by main.c, when FEAT_FKMAP is defined.
|
||||
*/
|
||||
|
||||
static int toF_Xor_X_ __ARGS((int c));
|
||||
static int F_is_TyE __ARGS((int c));
|
||||
static int F_is_TyC_TyD __ARGS((int c));
|
||||
static int F_is_TyB_TyC_TyD __ARGS((int src, int offset));
|
||||
static int toF_TyB __ARGS((int c));
|
||||
static void put_curr_and_l_to_X __ARGS((int c));
|
||||
static void put_and_redo __ARGS((int c));
|
||||
static void chg_c_toX_orX __ARGS((void));
|
||||
static void chg_c_to_X_orX_ __ARGS((void));
|
||||
static void chg_c_to_X_or_X __ARGS((void));
|
||||
static void chg_l_to_X_orX_ __ARGS((void));
|
||||
static void chg_l_toXor_X __ARGS((void));
|
||||
static void chg_r_to_Xor_X_ __ARGS((void));
|
||||
static int toF_leading __ARGS((int c));
|
||||
static int toF_Rjoin __ARGS((int c));
|
||||
static int canF_Ljoin __ARGS((int c));
|
||||
static int canF_Rjoin __ARGS((int c));
|
||||
static int F_isterm __ARGS((int c));
|
||||
static int toF_ending __ARGS((int c));
|
||||
static void lrswapbuf __ARGS((char_u *buf, int len));
|
||||
static int toF_Xor_X_(int c);
|
||||
static int F_is_TyE(int c);
|
||||
static int F_is_TyC_TyD(int c);
|
||||
static int F_is_TyB_TyC_TyD(int src, int offset);
|
||||
static int toF_TyB(int c);
|
||||
static void put_curr_and_l_to_X(int c);
|
||||
static void put_and_redo(int c);
|
||||
static void chg_c_toX_orX(void);
|
||||
static void chg_c_to_X_orX_(void);
|
||||
static void chg_c_to_X_or_X(void);
|
||||
static void chg_l_to_X_orX_(void);
|
||||
static void chg_l_toXor_X(void);
|
||||
static void chg_r_to_Xor_X_(void);
|
||||
static int toF_leading(int c);
|
||||
static int toF_Rjoin(int c);
|
||||
static int canF_Ljoin(int c);
|
||||
static int canF_Rjoin(int c);
|
||||
static int F_isterm(int c);
|
||||
static int toF_ending(int c);
|
||||
static void lrswapbuf(char_u *buf, int len);
|
||||
|
||||
/*
|
||||
** Convert the given Farsi character into a _X or _X_ type
|
||||
*/
|
||||
static int
|
||||
toF_Xor_X_(c)
|
||||
int c;
|
||||
toF_Xor_X_(int c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -132,8 +131,7 @@ toF_Xor_X_(c)
|
||||
** Convert the given Farsi character into Farsi capital character .
|
||||
*/
|
||||
int
|
||||
toF_TyA(c)
|
||||
int c ;
|
||||
toF_TyA(int c )
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -212,8 +210,7 @@ toF_TyA(c)
|
||||
** Note: the offset is used only for command line buffer.
|
||||
*/
|
||||
static int
|
||||
F_is_TyB_TyC_TyD(src, offset)
|
||||
int src, offset;
|
||||
F_is_TyB_TyC_TyD(int src, int offset)
|
||||
{
|
||||
int c;
|
||||
|
||||
@@ -264,8 +261,7 @@ F_is_TyB_TyC_TyD(src, offset)
|
||||
** Is the Farsi character one of the terminating only type.
|
||||
*/
|
||||
static int
|
||||
F_is_TyE(c)
|
||||
int c;
|
||||
F_is_TyE(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -288,8 +284,7 @@ F_is_TyE(c)
|
||||
** Is the Farsi character one of the none leading type.
|
||||
*/
|
||||
static int
|
||||
F_is_TyC_TyD(c)
|
||||
int c;
|
||||
F_is_TyC_TyD(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -313,8 +308,7 @@ F_is_TyC_TyD(c)
|
||||
** Convert a none leading Farsi char into a leading type.
|
||||
*/
|
||||
static int
|
||||
toF_TyB(c)
|
||||
int c;
|
||||
toF_TyB(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -337,8 +331,7 @@ toF_TyB(c)
|
||||
** Overwrite the current redo and cursor characters + left adjust
|
||||
*/
|
||||
static void
|
||||
put_curr_and_l_to_X(c)
|
||||
int c;
|
||||
put_curr_and_l_to_X(int c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -372,8 +365,7 @@ put_curr_and_l_to_X(c)
|
||||
}
|
||||
|
||||
static void
|
||||
put_and_redo(c)
|
||||
int c;
|
||||
put_and_redo(int c)
|
||||
{
|
||||
pchar_cursor(c);
|
||||
AppendCharToRedobuff(K_BS);
|
||||
@@ -384,7 +376,7 @@ put_and_redo(c)
|
||||
** Change the char. under the cursor to a X_ or X type
|
||||
*/
|
||||
static void
|
||||
chg_c_toX_orX()
|
||||
chg_c_toX_orX(void)
|
||||
{
|
||||
int tempc, curc;
|
||||
|
||||
@@ -509,7 +501,7 @@ chg_c_toX_orX()
|
||||
*/
|
||||
|
||||
static void
|
||||
chg_c_to_X_orX_()
|
||||
chg_c_to_X_orX_(void)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -560,7 +552,7 @@ chg_c_to_X_orX_()
|
||||
** Change the char. under the cursor to a _X_ or _X type
|
||||
*/
|
||||
static void
|
||||
chg_c_to_X_or_X ()
|
||||
chg_c_to_X_or_X (void)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -591,7 +583,7 @@ chg_c_to_X_or_X ()
|
||||
** Change the character left to the cursor to a _X_ or X_ type
|
||||
*/
|
||||
static void
|
||||
chg_l_to_X_orX_ ()
|
||||
chg_l_to_X_orX_ (void)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -660,7 +652,7 @@ chg_l_to_X_orX_ ()
|
||||
*/
|
||||
|
||||
static void
|
||||
chg_l_toXor_X ()
|
||||
chg_l_toXor_X (void)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -729,7 +721,7 @@ chg_l_toXor_X ()
|
||||
*/
|
||||
|
||||
static void
|
||||
chg_r_to_Xor_X_()
|
||||
chg_r_to_Xor_X_(void)
|
||||
{
|
||||
int tempc, c;
|
||||
|
||||
@@ -754,8 +746,7 @@ chg_r_to_Xor_X_()
|
||||
*/
|
||||
|
||||
int
|
||||
fkmap(c)
|
||||
int c;
|
||||
fkmap(int c)
|
||||
{
|
||||
int tempc;
|
||||
static int revins;
|
||||
@@ -1473,8 +1464,7 @@ fkmap(c)
|
||||
** Convert a none leading Farsi char into a leading type.
|
||||
*/
|
||||
static int
|
||||
toF_leading(c)
|
||||
int c;
|
||||
toF_leading(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -1528,8 +1518,7 @@ toF_leading(c)
|
||||
** Convert a given Farsi char into right joining type.
|
||||
*/
|
||||
static int
|
||||
toF_Rjoin(c)
|
||||
int c;
|
||||
toF_Rjoin(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -1585,8 +1574,7 @@ toF_Rjoin(c)
|
||||
** Can a given Farsi character join via its left edj.
|
||||
*/
|
||||
static int
|
||||
canF_Ljoin(c)
|
||||
int c;
|
||||
canF_Ljoin(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -1660,8 +1648,7 @@ canF_Ljoin(c)
|
||||
** Can a given Farsi character join via its right edj.
|
||||
*/
|
||||
static int
|
||||
canF_Rjoin(c)
|
||||
int c;
|
||||
canF_Rjoin(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -1689,8 +1676,7 @@ canF_Rjoin(c)
|
||||
** is a given Farsi character a terminating type.
|
||||
*/
|
||||
static int
|
||||
F_isterm(c)
|
||||
int c;
|
||||
F_isterm(int c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -1717,8 +1703,7 @@ F_isterm(c)
|
||||
** Convert the given Farsi character into a ending type .
|
||||
*/
|
||||
static int
|
||||
toF_ending(c)
|
||||
int c;
|
||||
toF_ending(int c)
|
||||
{
|
||||
|
||||
switch (c)
|
||||
@@ -1795,7 +1780,7 @@ toF_ending(c)
|
||||
** Convert the Farsi 3342 standard into Farsi VIM.
|
||||
*/
|
||||
void
|
||||
conv_to_pvim()
|
||||
conv_to_pvim(void)
|
||||
{
|
||||
char_u *ptr;
|
||||
int lnum, llen, i;
|
||||
@@ -1844,7 +1829,7 @@ conv_to_pvim()
|
||||
* Convert the Farsi VIM into Farsi 3342 standard.
|
||||
*/
|
||||
void
|
||||
conv_to_pstd()
|
||||
conv_to_pstd(void)
|
||||
{
|
||||
char_u *ptr;
|
||||
int lnum, llen, i;
|
||||
@@ -1877,9 +1862,7 @@ conv_to_pstd()
|
||||
* left-right swap the characters in buf[len].
|
||||
*/
|
||||
static void
|
||||
lrswapbuf(buf, len)
|
||||
char_u *buf;
|
||||
int len;
|
||||
lrswapbuf(char_u *buf, int len)
|
||||
{
|
||||
char_u *s, *e;
|
||||
int c;
|
||||
@@ -1901,8 +1884,7 @@ lrswapbuf(buf, len)
|
||||
* swap all the characters in reverse direction
|
||||
*/
|
||||
char_u *
|
||||
lrswap(ibuf)
|
||||
char_u *ibuf;
|
||||
lrswap(char_u *ibuf)
|
||||
{
|
||||
if (ibuf != NULL && *ibuf != NUL)
|
||||
lrswapbuf(ibuf, (int)STRLEN(ibuf));
|
||||
@@ -1913,9 +1895,7 @@ lrswap(ibuf)
|
||||
* swap all the Farsi characters in reverse direction
|
||||
*/
|
||||
char_u *
|
||||
lrFswap(cmdbuf, len)
|
||||
char_u *cmdbuf;
|
||||
int len;
|
||||
lrFswap(char_u *cmdbuf, int len)
|
||||
{
|
||||
int i, cnt;
|
||||
|
||||
@@ -1945,8 +1925,7 @@ lrFswap(cmdbuf, len)
|
||||
* TODO: handle different separator characters. Use skip_regexp().
|
||||
*/
|
||||
char_u *
|
||||
lrF_sub(ibuf)
|
||||
char_u *ibuf;
|
||||
lrF_sub(char_u *ibuf)
|
||||
{
|
||||
char_u *p, *ep;
|
||||
int i, cnt;
|
||||
@@ -1986,8 +1965,7 @@ lrF_sub(ibuf)
|
||||
* Map Farsi keyboard when in cmd_fkmap mode.
|
||||
*/
|
||||
int
|
||||
cmdl_fkmap(c)
|
||||
int c;
|
||||
cmdl_fkmap(int c)
|
||||
{
|
||||
int tempc;
|
||||
|
||||
@@ -2246,8 +2224,7 @@ cmdl_fkmap(c)
|
||||
* F_isalpha returns TRUE if 'c' is a Farsi alphabet
|
||||
*/
|
||||
int
|
||||
F_isalpha(c)
|
||||
int c;
|
||||
F_isalpha(int c)
|
||||
{
|
||||
return (( c >= TEE_ && c <= _YE)
|
||||
|| (c >= ALEF_A && c <= YE)
|
||||
@@ -2258,8 +2235,7 @@ F_isalpha(c)
|
||||
* F_isdigit returns TRUE if 'c' is a Farsi digit
|
||||
*/
|
||||
int
|
||||
F_isdigit(c)
|
||||
int c;
|
||||
F_isdigit(int c)
|
||||
{
|
||||
return (c >= FARSI_0 && c <= FARSI_9);
|
||||
}
|
||||
@@ -2268,15 +2244,14 @@ F_isdigit(c)
|
||||
* F_ischar returns TRUE if 'c' is a Farsi character.
|
||||
*/
|
||||
int
|
||||
F_ischar(c)
|
||||
int c;
|
||||
F_ischar(int c)
|
||||
{
|
||||
return (c >= TEE_ && c <= YE_);
|
||||
return (c >= TEE_ && c <= YE_);
|
||||
}
|
||||
|
||||
void
|
||||
farsi_fkey(cap)
|
||||
cmdarg_T *cap;
|
||||
farsi_fkey(
|
||||
cmdarg_T *cap)
|
||||
{
|
||||
int c = cap->cmdchar;
|
||||
|
||||
|
||||
+21
-14
@@ -54,19 +54,25 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These executables are made available with the +big feature, because they
|
||||
* are supposed to have enough RAM: Win32 (console & GUI), dos32, OS/2 and VMS.
|
||||
* For Unix, Mac and Win32 use +huge by default. These days CPUs are fast and
|
||||
* Memory is cheap.
|
||||
* Use +big for older systems: Other MS-Windows, dos32, OS/2 and VMS.
|
||||
* The dos16 version has very little RAM available, use +small.
|
||||
* Otherwise use +normal
|
||||
*/
|
||||
#if !defined(FEAT_TINY) && !defined(FEAT_SMALL) && !defined(FEAT_NORMAL) \
|
||||
&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
|
||||
# if defined(MSWIN) || defined(DJGPP) || defined(VMS) || defined(MACOS) || defined(AMIGA)
|
||||
# define FEAT_BIG
|
||||
# if defined(UNIX) || defined(WIN3264) || defined(MACOS)
|
||||
# define FEAT_HUGE
|
||||
# else
|
||||
# ifdef MSDOS
|
||||
# define FEAT_SMALL
|
||||
# if defined(MSWIN) || defined(DJGPP) || defined(VMS) || defined(MACOS) || defined(AMIGA)
|
||||
# define FEAT_BIG
|
||||
# else
|
||||
# define FEAT_NORMAL
|
||||
# ifdef MSDOS
|
||||
# define FEAT_SMALL
|
||||
# else
|
||||
# define FEAT_NORMAL
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
@@ -247,13 +253,6 @@
|
||||
# define FEAT_LINEBREAK
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +ex_extra ":retab", ":right", ":left", ":center", ":normal".
|
||||
*/
|
||||
#ifdef FEAT_NORMAL
|
||||
# define FEAT_EX_EXTRA
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +extra_search 'hlsearch' and 'incsearch' options.
|
||||
*/
|
||||
@@ -1245,6 +1244,7 @@
|
||||
* +sniff Sniff interface: "--enable-sniff"
|
||||
* +sun_workshop Sun Workshop integration
|
||||
* +netbeans_intg Netbeans integration
|
||||
* +channel Inter process communication
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -1268,6 +1268,13 @@
|
||||
# undef FEAT_NETBEANS_INTG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The Channel feature requires +eval.
|
||||
*/
|
||||
#if !defined(FEAT_EVAL) && defined(FEAT_CHANNEL)
|
||||
# undef FEAT_CHANNEL
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +signs Allow signs to be displayed to the left of text lines.
|
||||
* Adds the ":sign" command.
|
||||
|
||||
+259
-346
File diff suppressed because it is too large
Load Diff
+177
-267
@@ -43,27 +43,27 @@ typedef struct
|
||||
#define MAX_LEVEL 20 /* maximum fold depth */
|
||||
|
||||
/* static functions {{{2 */
|
||||
static void newFoldLevelWin __ARGS((win_T *wp));
|
||||
static int checkCloseRec __ARGS((garray_T *gap, linenr_T lnum, int level));
|
||||
static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp));
|
||||
static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum));
|
||||
static void checkupdate __ARGS((win_T *wp));
|
||||
static void setFoldRepeat __ARGS((linenr_T lnum, long count, int do_open));
|
||||
static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep));
|
||||
static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep));
|
||||
static void foldOpenNested __ARGS((fold_T *fpr));
|
||||
static void deleteFoldEntry __ARGS((garray_T *gap, int idx, int recursive));
|
||||
static void foldMarkAdjustRecurse __ARGS((garray_T *gap, linenr_T line1, linenr_T line2, long amount, long amount_after));
|
||||
static int getDeepestNestingRecurse __ARGS((garray_T *gap));
|
||||
static int check_closed __ARGS((win_T *win, fold_T *fp, int *use_levelp, int level, int *maybe_smallp, linenr_T lnum_off));
|
||||
static void checkSmall __ARGS((win_T *wp, fold_T *fp, linenr_T lnum_off));
|
||||
static void setSmallMaybe __ARGS((garray_T *gap));
|
||||
static void foldCreateMarkers __ARGS((linenr_T start, linenr_T end));
|
||||
static void foldAddMarker __ARGS((linenr_T lnum, char_u *marker, int markerlen));
|
||||
static void deleteFoldMarkers __ARGS((fold_T *fp, int recursive, linenr_T lnum_off));
|
||||
static void foldDelMarker __ARGS((linenr_T lnum, char_u *marker, int markerlen));
|
||||
static void foldUpdateIEMS __ARGS((win_T *wp, linenr_T top, linenr_T bot));
|
||||
static void parseMarker __ARGS((win_T *wp));
|
||||
static void newFoldLevelWin(win_T *wp);
|
||||
static int checkCloseRec(garray_T *gap, linenr_T lnum, int level);
|
||||
static int foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp);
|
||||
static int foldLevelWin(win_T *wp, linenr_T lnum);
|
||||
static void checkupdate(win_T *wp);
|
||||
static void setFoldRepeat(linenr_T lnum, long count, int do_open);
|
||||
static linenr_T setManualFold(linenr_T lnum, int opening, int recurse, int *donep);
|
||||
static linenr_T setManualFoldWin(win_T *wp, linenr_T lnum, int opening, int recurse, int *donep);
|
||||
static void foldOpenNested(fold_T *fpr);
|
||||
static void deleteFoldEntry(garray_T *gap, int idx, int recursive);
|
||||
static void foldMarkAdjustRecurse(garray_T *gap, linenr_T line1, linenr_T line2, long amount, long amount_after);
|
||||
static int getDeepestNestingRecurse(garray_T *gap);
|
||||
static int check_closed(win_T *win, fold_T *fp, int *use_levelp, int level, int *maybe_smallp, linenr_T lnum_off);
|
||||
static void checkSmall(win_T *wp, fold_T *fp, linenr_T lnum_off);
|
||||
static void setSmallMaybe(garray_T *gap);
|
||||
static void foldCreateMarkers(linenr_T start, linenr_T end);
|
||||
static void foldAddMarker(linenr_T lnum, char_u *marker, int markerlen);
|
||||
static void deleteFoldMarkers(fold_T *fp, int recursive, linenr_T lnum_off);
|
||||
static void foldDelMarker(linenr_T lnum, char_u *marker, int markerlen);
|
||||
static void foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot);
|
||||
static void parseMarker(win_T *wp);
|
||||
|
||||
static char *e_nofold = N_("E490: No fold found");
|
||||
|
||||
@@ -100,9 +100,7 @@ static int foldendmarkerlen;
|
||||
* Copy that folding state from window "wp_from" to window "wp_to".
|
||||
*/
|
||||
void
|
||||
copyFoldingState(wp_from, wp_to)
|
||||
win_T *wp_from;
|
||||
win_T *wp_to;
|
||||
copyFoldingState(win_T *wp_from, win_T *wp_to)
|
||||
{
|
||||
wp_to->w_fold_manual = wp_from->w_fold_manual;
|
||||
wp_to->w_foldinvalid = wp_from->w_foldinvalid;
|
||||
@@ -115,8 +113,7 @@ copyFoldingState(wp_from, wp_to)
|
||||
* Return TRUE if there may be folded lines in the current window.
|
||||
*/
|
||||
int
|
||||
hasAnyFolding(win)
|
||||
win_T *win;
|
||||
hasAnyFolding(win_T *win)
|
||||
{
|
||||
/* very simple now, but can become more complex later */
|
||||
return (win->w_p_fen
|
||||
@@ -131,23 +128,20 @@ hasAnyFolding(win)
|
||||
* lnum of the sequence of folded lines (skipped when NULL).
|
||||
*/
|
||||
int
|
||||
hasFolding(lnum, firstp, lastp)
|
||||
linenr_T lnum;
|
||||
linenr_T *firstp;
|
||||
linenr_T *lastp;
|
||||
hasFolding(linenr_T lnum, linenr_T *firstp, linenr_T *lastp)
|
||||
{
|
||||
return hasFoldingWin(curwin, lnum, firstp, lastp, TRUE, NULL);
|
||||
}
|
||||
|
||||
/* hasFoldingWin() {{{2 */
|
||||
int
|
||||
hasFoldingWin(win, lnum, firstp, lastp, cache, infop)
|
||||
win_T *win;
|
||||
linenr_T lnum;
|
||||
linenr_T *firstp;
|
||||
linenr_T *lastp;
|
||||
int cache; /* when TRUE: use cached values of window */
|
||||
foldinfo_T *infop; /* where to store fold info */
|
||||
hasFoldingWin(
|
||||
win_T *win,
|
||||
linenr_T lnum,
|
||||
linenr_T *firstp,
|
||||
linenr_T *lastp,
|
||||
int cache, /* when TRUE: use cached values of window */
|
||||
foldinfo_T *infop) /* where to store fold info */
|
||||
{
|
||||
int had_folded = FALSE;
|
||||
linenr_T first = 0;
|
||||
@@ -254,8 +248,7 @@ hasFoldingWin(win, lnum, firstp, lastp, cache, infop)
|
||||
* Return fold level at line number "lnum" in the current window.
|
||||
*/
|
||||
int
|
||||
foldLevel(lnum)
|
||||
linenr_T lnum;
|
||||
foldLevel(linenr_T lnum)
|
||||
{
|
||||
/* While updating the folds lines between invalid_top and invalid_bot have
|
||||
* an undefined fold level. Otherwise update the folds first. */
|
||||
@@ -281,9 +274,7 @@ foldLevel(lnum)
|
||||
* Return MAYBE if the line is folded when next to a folded line.
|
||||
*/
|
||||
int
|
||||
lineFolded(win, lnum)
|
||||
win_T *win;
|
||||
linenr_T lnum;
|
||||
lineFolded(win_T *win, linenr_T lnum)
|
||||
{
|
||||
return foldedCount(win, lnum, NULL) != 0;
|
||||
}
|
||||
@@ -298,10 +289,7 @@ lineFolded(win, lnum)
|
||||
* When "infop" is not NULL, fills *infop with the fold level info.
|
||||
*/
|
||||
long
|
||||
foldedCount(win, lnum, infop)
|
||||
win_T *win;
|
||||
linenr_T lnum;
|
||||
foldinfo_T *infop;
|
||||
foldedCount(win_T *win, linenr_T lnum, foldinfo_T *infop)
|
||||
{
|
||||
linenr_T last;
|
||||
|
||||
@@ -315,8 +303,7 @@ foldedCount(win, lnum, infop)
|
||||
* Return TRUE if 'foldmethod' is "manual"
|
||||
*/
|
||||
int
|
||||
foldmethodIsManual(wp)
|
||||
win_T *wp;
|
||||
foldmethodIsManual(win_T *wp)
|
||||
{
|
||||
return (wp->w_p_fdm[3] == 'u');
|
||||
}
|
||||
@@ -326,8 +313,7 @@ foldmethodIsManual(wp)
|
||||
* Return TRUE if 'foldmethod' is "indent"
|
||||
*/
|
||||
int
|
||||
foldmethodIsIndent(wp)
|
||||
win_T *wp;
|
||||
foldmethodIsIndent(win_T *wp)
|
||||
{
|
||||
return (wp->w_p_fdm[0] == 'i');
|
||||
}
|
||||
@@ -337,8 +323,7 @@ foldmethodIsIndent(wp)
|
||||
* Return TRUE if 'foldmethod' is "expr"
|
||||
*/
|
||||
int
|
||||
foldmethodIsExpr(wp)
|
||||
win_T *wp;
|
||||
foldmethodIsExpr(win_T *wp)
|
||||
{
|
||||
return (wp->w_p_fdm[1] == 'x');
|
||||
}
|
||||
@@ -348,8 +333,7 @@ foldmethodIsExpr(wp)
|
||||
* Return TRUE if 'foldmethod' is "marker"
|
||||
*/
|
||||
int
|
||||
foldmethodIsMarker(wp)
|
||||
win_T *wp;
|
||||
foldmethodIsMarker(win_T *wp)
|
||||
{
|
||||
return (wp->w_p_fdm[2] == 'r');
|
||||
}
|
||||
@@ -359,8 +343,7 @@ foldmethodIsMarker(wp)
|
||||
* Return TRUE if 'foldmethod' is "syntax"
|
||||
*/
|
||||
int
|
||||
foldmethodIsSyntax(wp)
|
||||
win_T *wp;
|
||||
foldmethodIsSyntax(win_T *wp)
|
||||
{
|
||||
return (wp->w_p_fdm[0] == 's');
|
||||
}
|
||||
@@ -370,8 +353,7 @@ foldmethodIsSyntax(wp)
|
||||
* Return TRUE if 'foldmethod' is "diff"
|
||||
*/
|
||||
int
|
||||
foldmethodIsDiff(wp)
|
||||
win_T *wp;
|
||||
foldmethodIsDiff(win_T *wp)
|
||||
{
|
||||
return (wp->w_p_fdm[0] == 'd');
|
||||
}
|
||||
@@ -382,9 +364,7 @@ foldmethodIsDiff(wp)
|
||||
* Repeat "count" times.
|
||||
*/
|
||||
void
|
||||
closeFold(lnum, count)
|
||||
linenr_T lnum;
|
||||
long count;
|
||||
closeFold(linenr_T lnum, long count)
|
||||
{
|
||||
setFoldRepeat(lnum, count, FALSE);
|
||||
}
|
||||
@@ -394,8 +374,7 @@ closeFold(lnum, count)
|
||||
* Close fold for current window at line "lnum" recursively.
|
||||
*/
|
||||
void
|
||||
closeFoldRecurse(lnum)
|
||||
linenr_T lnum;
|
||||
closeFoldRecurse(linenr_T lnum)
|
||||
{
|
||||
(void)setManualFold(lnum, FALSE, TRUE, NULL);
|
||||
}
|
||||
@@ -406,12 +385,12 @@ closeFoldRecurse(lnum)
|
||||
* Used for "zo", "zO", "zc" and "zC" in Visual mode.
|
||||
*/
|
||||
void
|
||||
opFoldRange(first, last, opening, recurse, had_visual)
|
||||
linenr_T first;
|
||||
linenr_T last;
|
||||
int opening; /* TRUE to open, FALSE to close */
|
||||
int recurse; /* TRUE to do it recursively */
|
||||
int had_visual; /* TRUE when Visual selection used */
|
||||
opFoldRange(
|
||||
linenr_T first,
|
||||
linenr_T last,
|
||||
int opening, /* TRUE to open, FALSE to close */
|
||||
int recurse, /* TRUE to do it recursively */
|
||||
int had_visual) /* TRUE when Visual selection used */
|
||||
{
|
||||
int done = DONE_NOTHING; /* avoid error messages */
|
||||
linenr_T lnum;
|
||||
@@ -443,9 +422,7 @@ opFoldRange(first, last, opening, recurse, had_visual)
|
||||
* Repeat "count" times.
|
||||
*/
|
||||
void
|
||||
openFold(lnum, count)
|
||||
linenr_T lnum;
|
||||
long count;
|
||||
openFold(linenr_T lnum, long count)
|
||||
{
|
||||
setFoldRepeat(lnum, count, TRUE);
|
||||
}
|
||||
@@ -455,8 +432,7 @@ openFold(lnum, count)
|
||||
* Open fold for current window at line "lnum" recursively.
|
||||
*/
|
||||
void
|
||||
openFoldRecurse(lnum)
|
||||
linenr_T lnum;
|
||||
openFoldRecurse(linenr_T lnum)
|
||||
{
|
||||
(void)setManualFold(lnum, TRUE, TRUE, NULL);
|
||||
}
|
||||
@@ -466,7 +442,7 @@ openFoldRecurse(lnum)
|
||||
* Open folds until the cursor line is not in a closed fold.
|
||||
*/
|
||||
void
|
||||
foldOpenCursor()
|
||||
foldOpenCursor(void)
|
||||
{
|
||||
int done;
|
||||
|
||||
@@ -486,7 +462,7 @@ foldOpenCursor()
|
||||
* Set new foldlevel for current window.
|
||||
*/
|
||||
void
|
||||
newFoldLevel()
|
||||
newFoldLevel(void)
|
||||
{
|
||||
newFoldLevelWin(curwin);
|
||||
|
||||
@@ -511,8 +487,7 @@ newFoldLevel()
|
||||
}
|
||||
|
||||
static void
|
||||
newFoldLevelWin(wp)
|
||||
win_T *wp;
|
||||
newFoldLevelWin(win_T *wp)
|
||||
{
|
||||
fold_T *fp;
|
||||
int i;
|
||||
@@ -536,7 +511,7 @@ newFoldLevelWin(wp)
|
||||
* Apply 'foldlevel' to all folds that don't contain the cursor.
|
||||
*/
|
||||
void
|
||||
foldCheckClose()
|
||||
foldCheckClose(void)
|
||||
{
|
||||
if (*p_fcl != NUL) /* can only be "all" right now */
|
||||
{
|
||||
@@ -549,10 +524,7 @@ foldCheckClose()
|
||||
|
||||
/* checkCloseRec() {{{2 */
|
||||
static int
|
||||
checkCloseRec(gap, lnum, level)
|
||||
garray_T *gap;
|
||||
linenr_T lnum;
|
||||
int level;
|
||||
checkCloseRec(garray_T *gap, linenr_T lnum, int level)
|
||||
{
|
||||
fold_T *fp;
|
||||
int retval = FALSE;
|
||||
@@ -584,8 +556,7 @@ checkCloseRec(gap, lnum, level)
|
||||
* Give an error message and return FALSE if not.
|
||||
*/
|
||||
int
|
||||
foldManualAllowed(create)
|
||||
int create;
|
||||
foldManualAllowed(int create)
|
||||
{
|
||||
if (foldmethodIsManual(curwin) || foldmethodIsMarker(curwin))
|
||||
return TRUE;
|
||||
@@ -602,9 +573,7 @@ foldManualAllowed(create)
|
||||
* window.
|
||||
*/
|
||||
void
|
||||
foldCreate(start, end)
|
||||
linenr_T start;
|
||||
linenr_T end;
|
||||
foldCreate(linenr_T start, linenr_T end)
|
||||
{
|
||||
fold_T *fp;
|
||||
garray_T *gap;
|
||||
@@ -729,11 +698,11 @@ foldCreate(start, end)
|
||||
* When "recursive" is TRUE delete recursively.
|
||||
*/
|
||||
void
|
||||
deleteFold(start, end, recursive, had_visual)
|
||||
linenr_T start;
|
||||
linenr_T end;
|
||||
int recursive;
|
||||
int had_visual; /* TRUE when Visual selection used */
|
||||
deleteFold(
|
||||
linenr_T start,
|
||||
linenr_T end,
|
||||
int recursive,
|
||||
int had_visual) /* TRUE when Visual selection used */
|
||||
{
|
||||
garray_T *gap;
|
||||
fold_T *fp;
|
||||
@@ -824,8 +793,7 @@ deleteFold(start, end, recursive, had_visual)
|
||||
* Remove all folding for window "win".
|
||||
*/
|
||||
void
|
||||
clearFolding(win)
|
||||
win_T *win;
|
||||
clearFolding(win_T *win)
|
||||
{
|
||||
deleteFoldRecurse(&win->w_folds);
|
||||
win->w_foldinvalid = FALSE;
|
||||
@@ -839,10 +807,7 @@ clearFolding(win)
|
||||
* The changes in lines from top to bot (inclusive).
|
||||
*/
|
||||
void
|
||||
foldUpdate(wp, top, bot)
|
||||
win_T *wp;
|
||||
linenr_T top;
|
||||
linenr_T bot;
|
||||
foldUpdate(win_T *wp, linenr_T top, linenr_T bot)
|
||||
{
|
||||
fold_T *fp;
|
||||
|
||||
@@ -880,8 +845,7 @@ foldUpdate(wp, top, bot)
|
||||
* every time a setting is changed or a syntax item is added.
|
||||
*/
|
||||
void
|
||||
foldUpdateAll(win)
|
||||
win_T *win;
|
||||
foldUpdateAll(win_T *win)
|
||||
{
|
||||
win->w_foldinvalid = TRUE;
|
||||
redraw_win_later(win, NOT_VALID);
|
||||
@@ -894,10 +858,10 @@ foldUpdateAll(win)
|
||||
* If not moved return FAIL.
|
||||
*/
|
||||
int
|
||||
foldMoveTo(updown, dir, count)
|
||||
int updown;
|
||||
int dir; /* FORWARD or BACKWARD */
|
||||
long count;
|
||||
foldMoveTo(
|
||||
int updown,
|
||||
int dir, /* FORWARD or BACKWARD */
|
||||
long count)
|
||||
{
|
||||
long n;
|
||||
int retval = FAIL;
|
||||
@@ -1031,8 +995,7 @@ foldMoveTo(updown, dir, count)
|
||||
* Init the fold info in a new window.
|
||||
*/
|
||||
void
|
||||
foldInitWin(new_win)
|
||||
win_T *new_win;
|
||||
foldInitWin(win_T *new_win)
|
||||
{
|
||||
ga_init2(&new_win->w_folds, (int)sizeof(fold_T), 10);
|
||||
}
|
||||
@@ -1045,9 +1008,7 @@ foldInitWin(new_win)
|
||||
* Returns index of entry or -1 if not found.
|
||||
*/
|
||||
int
|
||||
find_wl_entry(win, lnum)
|
||||
win_T *win;
|
||||
linenr_T lnum;
|
||||
find_wl_entry(win_T *win, linenr_T lnum)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -1067,7 +1028,7 @@ find_wl_entry(win, lnum)
|
||||
* Adjust the Visual area to include any fold at the start or end completely.
|
||||
*/
|
||||
void
|
||||
foldAdjustVisual()
|
||||
foldAdjustVisual(void)
|
||||
{
|
||||
pos_T *start, *end;
|
||||
char_u *ptr;
|
||||
@@ -1106,7 +1067,7 @@ foldAdjustVisual()
|
||||
* Move the cursor to the first line of a closed fold.
|
||||
*/
|
||||
void
|
||||
foldAdjustCursor()
|
||||
foldAdjustCursor(void)
|
||||
{
|
||||
(void)hasFolding(curwin->w_cursor.lnum, &curwin->w_cursor.lnum, NULL);
|
||||
}
|
||||
@@ -1119,9 +1080,7 @@ foldAdjustCursor()
|
||||
* Return FAIL if the operation cannot be completed, otherwise OK.
|
||||
*/
|
||||
void
|
||||
cloneFoldGrowArray(from, to)
|
||||
garray_T *from;
|
||||
garray_T *to;
|
||||
cloneFoldGrowArray(garray_T *from, garray_T *to)
|
||||
{
|
||||
int i;
|
||||
fold_T *from_p;
|
||||
@@ -1155,10 +1114,7 @@ cloneFoldGrowArray(from, to)
|
||||
* Returns FALSE when there is no fold that contains "lnum".
|
||||
*/
|
||||
static int
|
||||
foldFind(gap, lnum, fpp)
|
||||
garray_T *gap;
|
||||
linenr_T lnum;
|
||||
fold_T **fpp;
|
||||
foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp)
|
||||
{
|
||||
linenr_T low, high;
|
||||
fold_T *fp;
|
||||
@@ -1197,9 +1153,7 @@ foldFind(gap, lnum, fpp)
|
||||
* Return fold level at line number "lnum" in window "wp".
|
||||
*/
|
||||
static int
|
||||
foldLevelWin(wp, lnum)
|
||||
win_T *wp;
|
||||
linenr_T lnum;
|
||||
foldLevelWin(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
fold_T *fp;
|
||||
linenr_T lnum_rel = lnum;
|
||||
@@ -1226,8 +1180,7 @@ foldLevelWin(wp, lnum)
|
||||
* Check if the folds in window "wp" are invalid and update them if needed.
|
||||
*/
|
||||
static void
|
||||
checkupdate(wp)
|
||||
win_T *wp;
|
||||
checkupdate(win_T *wp)
|
||||
{
|
||||
if (wp->w_foldinvalid)
|
||||
{
|
||||
@@ -1242,10 +1195,7 @@ checkupdate(wp)
|
||||
* Repeat "count" times.
|
||||
*/
|
||||
static void
|
||||
setFoldRepeat(lnum, count, do_open)
|
||||
linenr_T lnum;
|
||||
long count;
|
||||
int do_open;
|
||||
setFoldRepeat(linenr_T lnum, long count, int do_open)
|
||||
{
|
||||
int done;
|
||||
long n;
|
||||
@@ -1270,11 +1220,11 @@ setFoldRepeat(lnum, count, do_open)
|
||||
* Also does this for other windows in diff mode when needed.
|
||||
*/
|
||||
static linenr_T
|
||||
setManualFold(lnum, opening, recurse, donep)
|
||||
linenr_T lnum;
|
||||
int opening; /* TRUE when opening, FALSE when closing */
|
||||
int recurse; /* TRUE when closing/opening recursive */
|
||||
int *donep;
|
||||
setManualFold(
|
||||
linenr_T lnum,
|
||||
int opening, /* TRUE when opening, FALSE when closing */
|
||||
int recurse, /* TRUE when closing/opening recursive */
|
||||
int *donep)
|
||||
{
|
||||
#ifdef FEAT_DIFF
|
||||
if (foldmethodIsDiff(curwin) && curwin->w_p_scb)
|
||||
@@ -1312,12 +1262,12 @@ setManualFold(lnum, opening, recurse, donep)
|
||||
* It's only valid when "opening" is TRUE!
|
||||
*/
|
||||
static linenr_T
|
||||
setManualFoldWin(wp, lnum, opening, recurse, donep)
|
||||
win_T *wp;
|
||||
linenr_T lnum;
|
||||
int opening; /* TRUE when opening, FALSE when closing */
|
||||
int recurse; /* TRUE when closing/opening recursive */
|
||||
int *donep;
|
||||
setManualFoldWin(
|
||||
win_T *wp,
|
||||
linenr_T lnum,
|
||||
int opening, /* TRUE when opening, FALSE when closing */
|
||||
int recurse, /* TRUE when closing/opening recursive */
|
||||
int *donep)
|
||||
{
|
||||
fold_T *fp;
|
||||
fold_T *fp2;
|
||||
@@ -1423,8 +1373,7 @@ setManualFoldWin(wp, lnum, opening, recurse, donep)
|
||||
* Open all nested folds in fold "fpr" recursively.
|
||||
*/
|
||||
static void
|
||||
foldOpenNested(fpr)
|
||||
fold_T *fpr;
|
||||
foldOpenNested(fold_T *fpr)
|
||||
{
|
||||
int i;
|
||||
fold_T *fp;
|
||||
@@ -1444,10 +1393,7 @@ foldOpenNested(fpr)
|
||||
* When "recursive" is FALSE contained folds are moved one level up.
|
||||
*/
|
||||
static void
|
||||
deleteFoldEntry(gap, idx, recursive)
|
||||
garray_T *gap;
|
||||
int idx;
|
||||
int recursive;
|
||||
deleteFoldEntry(garray_T *gap, int idx, int recursive)
|
||||
{
|
||||
fold_T *fp;
|
||||
int i;
|
||||
@@ -1501,8 +1447,7 @@ deleteFoldEntry(gap, idx, recursive)
|
||||
* Delete nested folds in a fold.
|
||||
*/
|
||||
void
|
||||
deleteFoldRecurse(gap)
|
||||
garray_T *gap;
|
||||
deleteFoldRecurse(garray_T *gap)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -1516,12 +1461,12 @@ deleteFoldRecurse(gap)
|
||||
* Update line numbers of folds for inserted/deleted lines.
|
||||
*/
|
||||
void
|
||||
foldMarkAdjust(wp, line1, line2, amount, amount_after)
|
||||
win_T *wp;
|
||||
linenr_T line1;
|
||||
linenr_T line2;
|
||||
long amount;
|
||||
long amount_after;
|
||||
foldMarkAdjust(
|
||||
win_T *wp,
|
||||
linenr_T line1,
|
||||
linenr_T line2,
|
||||
long amount,
|
||||
long amount_after)
|
||||
{
|
||||
/* If deleting marks from line1 to line2, but not deleting all those
|
||||
* lines, set line2 so that only deleted lines have their folds removed. */
|
||||
@@ -1536,12 +1481,12 @@ foldMarkAdjust(wp, line1, line2, amount, amount_after)
|
||||
|
||||
/* foldMarkAdjustRecurse() {{{2 */
|
||||
static void
|
||||
foldMarkAdjustRecurse(gap, line1, line2, amount, amount_after)
|
||||
garray_T *gap;
|
||||
linenr_T line1;
|
||||
linenr_T line2;
|
||||
long amount;
|
||||
long amount_after;
|
||||
foldMarkAdjustRecurse(
|
||||
garray_T *gap,
|
||||
linenr_T line1,
|
||||
linenr_T line2,
|
||||
long amount,
|
||||
long amount_after)
|
||||
{
|
||||
fold_T *fp;
|
||||
int i;
|
||||
@@ -1653,15 +1598,14 @@ foldMarkAdjustRecurse(gap, line1, line2, amount, amount_after)
|
||||
* current window open.
|
||||
*/
|
||||
int
|
||||
getDeepestNesting()
|
||||
getDeepestNesting(void)
|
||||
{
|
||||
checkupdate(curwin);
|
||||
return getDeepestNestingRecurse(&curwin->w_folds);
|
||||
}
|
||||
|
||||
static int
|
||||
getDeepestNestingRecurse(gap)
|
||||
garray_T *gap;
|
||||
getDeepestNestingRecurse(garray_T *gap)
|
||||
{
|
||||
int i;
|
||||
int level;
|
||||
@@ -1684,13 +1628,13 @@ getDeepestNestingRecurse(gap)
|
||||
* Check if a fold is closed and update the info needed to check nested folds.
|
||||
*/
|
||||
static int
|
||||
check_closed(win, fp, use_levelp, level, maybe_smallp, lnum_off)
|
||||
win_T *win;
|
||||
fold_T *fp;
|
||||
int *use_levelp; /* TRUE: outer fold had FD_LEVEL */
|
||||
int level; /* folding depth */
|
||||
int *maybe_smallp; /* TRUE: outer this had fd_small == MAYBE */
|
||||
linenr_T lnum_off; /* line number offset for fp->fd_top */
|
||||
check_closed(
|
||||
win_T *win,
|
||||
fold_T *fp,
|
||||
int *use_levelp, /* TRUE: outer fold had FD_LEVEL */
|
||||
int level, /* folding depth */
|
||||
int *maybe_smallp, /* TRUE: outer this had fd_small == MAYBE */
|
||||
linenr_T lnum_off) /* line number offset for fp->fd_top */
|
||||
{
|
||||
int closed = FALSE;
|
||||
|
||||
@@ -1724,10 +1668,10 @@ check_closed(win, fp, use_levelp, level, maybe_smallp, lnum_off)
|
||||
* Update fd_small field of fold "fp".
|
||||
*/
|
||||
static void
|
||||
checkSmall(wp, fp, lnum_off)
|
||||
win_T *wp;
|
||||
fold_T *fp;
|
||||
linenr_T lnum_off; /* offset for fp->fd_top */
|
||||
checkSmall(
|
||||
win_T *wp,
|
||||
fold_T *fp,
|
||||
linenr_T lnum_off) /* offset for fp->fd_top */
|
||||
{
|
||||
int count;
|
||||
int n;
|
||||
@@ -1761,8 +1705,7 @@ checkSmall(wp, fp, lnum_off)
|
||||
* Set small flags in "gap" to MAYBE.
|
||||
*/
|
||||
static void
|
||||
setSmallMaybe(gap)
|
||||
garray_T *gap;
|
||||
setSmallMaybe(garray_T *gap)
|
||||
{
|
||||
int i;
|
||||
fold_T *fp;
|
||||
@@ -1778,9 +1721,7 @@ setSmallMaybe(gap)
|
||||
* window by adding markers.
|
||||
*/
|
||||
static void
|
||||
foldCreateMarkers(start, end)
|
||||
linenr_T start;
|
||||
linenr_T end;
|
||||
foldCreateMarkers(linenr_T start, linenr_T end)
|
||||
{
|
||||
if (!curbuf->b_p_ma)
|
||||
{
|
||||
@@ -1802,10 +1743,7 @@ foldCreateMarkers(start, end)
|
||||
* Add "marker[markerlen]" in 'commentstring' to line "lnum".
|
||||
*/
|
||||
static void
|
||||
foldAddMarker(lnum, marker, markerlen)
|
||||
linenr_T lnum;
|
||||
char_u *marker;
|
||||
int markerlen;
|
||||
foldAddMarker(linenr_T lnum, char_u *marker, int markerlen)
|
||||
{
|
||||
char_u *cms = curbuf->b_p_cms;
|
||||
char_u *line;
|
||||
@@ -1841,10 +1779,10 @@ foldAddMarker(lnum, marker, markerlen)
|
||||
* Delete the markers for a fold, causing it to be deleted.
|
||||
*/
|
||||
static void
|
||||
deleteFoldMarkers(fp, recursive, lnum_off)
|
||||
fold_T *fp;
|
||||
int recursive;
|
||||
linenr_T lnum_off; /* offset for fp->fd_top */
|
||||
deleteFoldMarkers(
|
||||
fold_T *fp,
|
||||
int recursive,
|
||||
linenr_T lnum_off) /* offset for fp->fd_top */
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -1865,10 +1803,7 @@ deleteFoldMarkers(fp, recursive, lnum_off)
|
||||
* close-marker.
|
||||
*/
|
||||
static void
|
||||
foldDelMarker(lnum, marker, markerlen)
|
||||
linenr_T lnum;
|
||||
char_u *marker;
|
||||
int markerlen;
|
||||
foldDelMarker(linenr_T lnum, char_u *marker, int markerlen)
|
||||
{
|
||||
char_u *line;
|
||||
char_u *newline;
|
||||
@@ -1919,11 +1854,12 @@ foldDelMarker(lnum, marker, markerlen)
|
||||
* result is in allocated memory.
|
||||
*/
|
||||
char_u *
|
||||
get_foldtext(wp, lnum, lnume, foldinfo, buf)
|
||||
win_T *wp;
|
||||
linenr_T lnum, lnume;
|
||||
foldinfo_T *foldinfo;
|
||||
char_u *buf;
|
||||
get_foldtext(
|
||||
win_T *wp,
|
||||
linenr_T lnum,
|
||||
linenr_T lnume,
|
||||
foldinfo_T *foldinfo,
|
||||
char_u *buf)
|
||||
{
|
||||
char_u *text = NULL;
|
||||
#ifdef FEAT_EVAL
|
||||
@@ -2033,8 +1969,7 @@ get_foldtext(wp, lnum, lnume, foldinfo, buf)
|
||||
* Remove 'foldmarker' and 'commentstring' from "str" (in-place).
|
||||
*/
|
||||
void
|
||||
foldtext_cleanup(str)
|
||||
char_u *str;
|
||||
foldtext_cleanup(char_u *str)
|
||||
{
|
||||
char_u *cms_start; /* first part or the whole comment */
|
||||
int cms_slen = 0; /* length of cms_start */
|
||||
@@ -2142,18 +2077,18 @@ typedef struct
|
||||
static int fold_changed;
|
||||
|
||||
/* Function declarations. {{{2 */
|
||||
static linenr_T foldUpdateIEMSRecurse __ARGS((garray_T *gap, int level, linenr_T startlnum, fline_T *flp, void (*getlevel)__ARGS((fline_T *)), linenr_T bot, int topflags));
|
||||
static int foldInsert __ARGS((garray_T *gap, int i));
|
||||
static void foldSplit __ARGS((garray_T *gap, int i, linenr_T top, linenr_T bot));
|
||||
static void foldRemove __ARGS((garray_T *gap, linenr_T top, linenr_T bot));
|
||||
static void foldMerge __ARGS((fold_T *fp1, garray_T *gap, fold_T *fp2));
|
||||
static void foldlevelIndent __ARGS((fline_T *flp));
|
||||
static linenr_T foldUpdateIEMSRecurse(garray_T *gap, int level, linenr_T startlnum, fline_T *flp, void (*getlevel)(fline_T *), linenr_T bot, int topflags);
|
||||
static int foldInsert(garray_T *gap, int i);
|
||||
static void foldSplit(garray_T *gap, int i, linenr_T top, linenr_T bot);
|
||||
static void foldRemove(garray_T *gap, linenr_T top, linenr_T bot);
|
||||
static void foldMerge(fold_T *fp1, garray_T *gap, fold_T *fp2);
|
||||
static void foldlevelIndent(fline_T *flp);
|
||||
#ifdef FEAT_DIFF
|
||||
static void foldlevelDiff __ARGS((fline_T *flp));
|
||||
static void foldlevelDiff(fline_T *flp);
|
||||
#endif
|
||||
static void foldlevelExpr __ARGS((fline_T *flp));
|
||||
static void foldlevelMarker __ARGS((fline_T *flp));
|
||||
static void foldlevelSyntax __ARGS((fline_T *flp));
|
||||
static void foldlevelExpr(fline_T *flp);
|
||||
static void foldlevelMarker(fline_T *flp);
|
||||
static void foldlevelSyntax(fline_T *flp);
|
||||
|
||||
/* foldUpdateIEMS() {{{2 */
|
||||
/*
|
||||
@@ -2161,15 +2096,12 @@ static void foldlevelSyntax __ARGS((fline_T *flp));
|
||||
* Return TRUE if any folds did change.
|
||||
*/
|
||||
static void
|
||||
foldUpdateIEMS(wp, top, bot)
|
||||
win_T *wp;
|
||||
linenr_T top;
|
||||
linenr_T bot;
|
||||
foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot)
|
||||
{
|
||||
linenr_T start;
|
||||
linenr_T end;
|
||||
fline_T fline;
|
||||
void (*getlevel)__ARGS((fline_T *));
|
||||
void (*getlevel)(fline_T *);
|
||||
int level;
|
||||
fold_T *fp;
|
||||
|
||||
@@ -2417,14 +2349,14 @@ foldUpdateIEMS(wp, top, bot)
|
||||
* updated as a result of a detected change in the fold.
|
||||
*/
|
||||
static linenr_T
|
||||
foldUpdateIEMSRecurse(gap, level, startlnum, flp, getlevel, bot, topflags)
|
||||
garray_T *gap;
|
||||
int level;
|
||||
linenr_T startlnum;
|
||||
fline_T *flp;
|
||||
void (*getlevel)__ARGS((fline_T *));
|
||||
linenr_T bot;
|
||||
int topflags; /* flags used by containing fold */
|
||||
foldUpdateIEMSRecurse(
|
||||
garray_T *gap,
|
||||
int level,
|
||||
linenr_T startlnum,
|
||||
fline_T *flp,
|
||||
void (*getlevel)(fline_T *),
|
||||
linenr_T bot,
|
||||
int topflags) /* flags used by containing fold */
|
||||
{
|
||||
linenr_T ll;
|
||||
fold_T *fp = NULL;
|
||||
@@ -2831,9 +2763,7 @@ foldUpdateIEMSRecurse(gap, level, startlnum, flp, getlevel, bot, topflags)
|
||||
* Returns OK for success, FAIL for failure.
|
||||
*/
|
||||
static int
|
||||
foldInsert(gap, i)
|
||||
garray_T *gap;
|
||||
int i;
|
||||
foldInsert(garray_T *gap, int i)
|
||||
{
|
||||
fold_T *fp;
|
||||
|
||||
@@ -2856,11 +2786,11 @@ foldInsert(gap, i)
|
||||
* "bot"!
|
||||
*/
|
||||
static void
|
||||
foldSplit(gap, i, top, bot)
|
||||
garray_T *gap;
|
||||
int i;
|
||||
linenr_T top;
|
||||
linenr_T bot;
|
||||
foldSplit(
|
||||
garray_T *gap,
|
||||
int i,
|
||||
linenr_T top,
|
||||
linenr_T bot)
|
||||
{
|
||||
fold_T *fp;
|
||||
fold_T *fp2;
|
||||
@@ -2920,10 +2850,7 @@ foldSplit(gap, i, top, bot)
|
||||
* 6: not changed
|
||||
*/
|
||||
static void
|
||||
foldRemove(gap, top, bot)
|
||||
garray_T *gap;
|
||||
linenr_T top;
|
||||
linenr_T bot;
|
||||
foldRemove(garray_T *gap, linenr_T top, linenr_T bot)
|
||||
{
|
||||
fold_T *fp = NULL;
|
||||
|
||||
@@ -2986,10 +2913,7 @@ foldRemove(gap, top, bot)
|
||||
* Fold entry "fp2" in "gap" is deleted.
|
||||
*/
|
||||
static void
|
||||
foldMerge(fp1, gap, fp2)
|
||||
fold_T *fp1;
|
||||
garray_T *gap;
|
||||
fold_T *fp2;
|
||||
foldMerge(fold_T *fp1, garray_T *gap, fold_T *fp2)
|
||||
{
|
||||
fold_T *fp3;
|
||||
fold_T *fp4;
|
||||
@@ -3027,8 +2951,7 @@ foldMerge(fp1, gap, fp2)
|
||||
* Returns a level of -1 if the foldlevel depends on surrounding lines.
|
||||
*/
|
||||
static void
|
||||
foldlevelIndent(flp)
|
||||
fline_T *flp;
|
||||
foldlevelIndent(fline_T *flp)
|
||||
{
|
||||
char_u *s;
|
||||
buf_T *buf;
|
||||
@@ -3064,8 +2987,7 @@ foldlevelIndent(flp)
|
||||
* Doesn't use any caching.
|
||||
*/
|
||||
static void
|
||||
foldlevelDiff(flp)
|
||||
fline_T *flp;
|
||||
foldlevelDiff(fline_T *flp)
|
||||
{
|
||||
if (diff_infold(flp->wp, flp->lnum + flp->off))
|
||||
flp->lvl = 1;
|
||||
@@ -3081,8 +3003,7 @@ foldlevelDiff(flp)
|
||||
* Returns a level of -1 if the foldlevel depends on surrounding lines.
|
||||
*/
|
||||
static void
|
||||
foldlevelExpr(flp)
|
||||
fline_T *flp;
|
||||
foldlevelExpr(fline_T *flp)
|
||||
{
|
||||
#ifndef FEAT_EVAL
|
||||
flp->start = FALSE;
|
||||
@@ -3184,8 +3105,7 @@ foldlevelExpr(flp)
|
||||
* Relies on the option value to have been checked for correctness already.
|
||||
*/
|
||||
static void
|
||||
parseMarker(wp)
|
||||
win_T *wp;
|
||||
parseMarker(win_T *wp)
|
||||
{
|
||||
foldendmarker = vim_strchr(wp->w_p_fmr, ',');
|
||||
foldstartmarkerlen = (int)(foldendmarker++ - wp->w_p_fmr);
|
||||
@@ -3203,8 +3123,7 @@ parseMarker(wp)
|
||||
* Sets flp->start when a start marker was found.
|
||||
*/
|
||||
static void
|
||||
foldlevelMarker(flp)
|
||||
fline_T *flp;
|
||||
foldlevelMarker(fline_T *flp)
|
||||
{
|
||||
char_u *startmarker;
|
||||
int cstart;
|
||||
@@ -3286,8 +3205,7 @@ foldlevelMarker(flp)
|
||||
* Doesn't use any caching.
|
||||
*/
|
||||
static void
|
||||
foldlevelSyntax(flp)
|
||||
fline_T *flp;
|
||||
foldlevelSyntax(fline_T *flp)
|
||||
{
|
||||
#ifndef FEAT_SYN_HL
|
||||
flp->start = 0;
|
||||
@@ -3314,18 +3232,16 @@ foldlevelSyntax(flp)
|
||||
/* functions for storing the fold state in a View {{{1 */
|
||||
/* put_folds() {{{2 */
|
||||
#if defined(FEAT_SESSION) || defined(PROTO)
|
||||
static int put_folds_recurse __ARGS((FILE *fd, garray_T *gap, linenr_T off));
|
||||
static int put_foldopen_recurse __ARGS((FILE *fd, win_T *wp, garray_T *gap, linenr_T off));
|
||||
static int put_fold_open_close __ARGS((FILE *fd, fold_T *fp, linenr_T off));
|
||||
static int put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off);
|
||||
static int put_foldopen_recurse(FILE *fd, win_T *wp, garray_T *gap, linenr_T off);
|
||||
static int put_fold_open_close(FILE *fd, fold_T *fp, linenr_T off);
|
||||
|
||||
/*
|
||||
* Write commands to "fd" to restore the manual folds in window "wp".
|
||||
* Return FAIL if writing fails.
|
||||
*/
|
||||
int
|
||||
put_folds(fd, wp)
|
||||
FILE *fd;
|
||||
win_T *wp;
|
||||
put_folds(FILE *fd, win_T *wp)
|
||||
{
|
||||
if (foldmethodIsManual(wp))
|
||||
{
|
||||
@@ -3347,10 +3263,7 @@ put_folds(fd, wp)
|
||||
* Returns FAIL when writing failed.
|
||||
*/
|
||||
static int
|
||||
put_folds_recurse(fd, gap, off)
|
||||
FILE *fd;
|
||||
garray_T *gap;
|
||||
linenr_T off;
|
||||
put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off)
|
||||
{
|
||||
int i;
|
||||
fold_T *fp;
|
||||
@@ -3376,11 +3289,11 @@ put_folds_recurse(fd, gap, off)
|
||||
* Returns FAIL when writing failed.
|
||||
*/
|
||||
static int
|
||||
put_foldopen_recurse(fd, wp, gap, off)
|
||||
FILE *fd;
|
||||
win_T *wp;
|
||||
garray_T *gap;
|
||||
linenr_T off;
|
||||
put_foldopen_recurse(
|
||||
FILE *fd,
|
||||
win_T *wp,
|
||||
garray_T *gap,
|
||||
linenr_T off)
|
||||
{
|
||||
int i;
|
||||
int level;
|
||||
@@ -3433,10 +3346,7 @@ put_foldopen_recurse(fd, wp, gap, off)
|
||||
* Returns FAIL when writing failed.
|
||||
*/
|
||||
static int
|
||||
put_fold_open_close(fd, fp, off)
|
||||
FILE *fd;
|
||||
fold_T *fp;
|
||||
linenr_T off;
|
||||
put_fold_open_close(FILE *fd, fold_T *fp, linenr_T off)
|
||||
{
|
||||
if (fprintf(fd, "%ld", fp->fd_top + off) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|
||||
+180
-242
File diff suppressed because it is too large
Load Diff
+11
-17
@@ -845,19 +845,19 @@ EXTERN vimconv_T output_conv; /* type of output conversion */
|
||||
* The value is set in mb_init();
|
||||
*/
|
||||
/* length of char in bytes, including following composing chars */
|
||||
EXTERN int (*mb_ptr2len) __ARGS((char_u *p)) INIT(= latin_ptr2len);
|
||||
EXTERN int (*mb_ptr2len)(char_u *p) INIT(= latin_ptr2len);
|
||||
/* idem, with limit on string length */
|
||||
EXTERN int (*mb_ptr2len_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2len_len);
|
||||
EXTERN int (*mb_ptr2len_len)(char_u *p, int size) INIT(= latin_ptr2len_len);
|
||||
/* byte length of char */
|
||||
EXTERN int (*mb_char2len) __ARGS((int c)) INIT(= latin_char2len);
|
||||
EXTERN int (*mb_char2len)(int c) INIT(= latin_char2len);
|
||||
/* convert char to bytes, return the length */
|
||||
EXTERN int (*mb_char2bytes) __ARGS((int c, char_u *buf)) INIT(= latin_char2bytes);
|
||||
EXTERN int (*mb_ptr2cells) __ARGS((char_u *p)) INIT(= latin_ptr2cells);
|
||||
EXTERN int (*mb_ptr2cells_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2cells_len);
|
||||
EXTERN int (*mb_char2cells) __ARGS((int c)) INIT(= latin_char2cells);
|
||||
EXTERN int (*mb_off2cells) __ARGS((unsigned off, unsigned max_off)) INIT(= latin_off2cells);
|
||||
EXTERN int (*mb_ptr2char) __ARGS((char_u *p)) INIT(= latin_ptr2char);
|
||||
EXTERN int (*mb_head_off) __ARGS((char_u *base, char_u *p)) INIT(= latin_head_off);
|
||||
EXTERN int (*mb_char2bytes)(int c, char_u *buf) INIT(= latin_char2bytes);
|
||||
EXTERN int (*mb_ptr2cells)(char_u *p) INIT(= latin_ptr2cells);
|
||||
EXTERN int (*mb_ptr2cells_len)(char_u *p, int size) INIT(= latin_ptr2cells_len);
|
||||
EXTERN int (*mb_char2cells)(int c) INIT(= latin_char2cells);
|
||||
EXTERN int (*mb_off2cells)(unsigned off, unsigned max_off) INIT(= latin_off2cells);
|
||||
EXTERN int (*mb_ptr2char)(char_u *p) INIT(= latin_ptr2char);
|
||||
EXTERN int (*mb_head_off)(char_u *base, char_u *p) INIT(= latin_head_off);
|
||||
|
||||
# if defined(USE_ICONV) && defined(DYNAMIC_ICONV)
|
||||
/* Pointers to functions and variables to be loaded at runtime */
|
||||
@@ -997,10 +997,8 @@ EXTERN typebuf_T typebuf /* typeahead buffer */
|
||||
= {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}
|
||||
#endif
|
||||
;
|
||||
#ifdef FEAT_EX_EXTRA
|
||||
EXTERN int ex_normal_busy INIT(= 0); /* recursiveness of ex_normal() */
|
||||
EXTERN int ex_normal_lock INIT(= 0); /* forbid use of ex_normal() */
|
||||
#endif
|
||||
#ifdef FEAT_EVAL
|
||||
EXTERN int ignore_script INIT(= FALSE); /* ignore script input */
|
||||
#endif
|
||||
@@ -1014,9 +1012,6 @@ EXTERN int vgetc_im_active; /* Input Method was active for last
|
||||
#endif
|
||||
EXTERN int maptick INIT(= 0); /* tick for each non-mapped char */
|
||||
|
||||
EXTERN char_u chartab[256]; /* table used in charset.c; See
|
||||
init_chartab() for explanation */
|
||||
|
||||
EXTERN int must_redraw INIT(= 0); /* type of redraw necessary */
|
||||
EXTERN int skip_redraw INIT(= FALSE); /* skip redraw once */
|
||||
EXTERN int do_redraw INIT(= FALSE); /* extra redraw once */
|
||||
@@ -1530,6 +1525,7 @@ EXTERN char_u e_readonly[] INIT(= N_("E45: 'readonly' option is set (add ! to ov
|
||||
#ifdef FEAT_EVAL
|
||||
EXTERN char_u e_readonlyvar[] INIT(= N_("E46: Cannot change read-only variable \"%s\""));
|
||||
EXTERN char_u e_readonlysbx[] INIT(= N_("E794: Cannot set variable in the sandbox: \"%s\""));
|
||||
EXTERN char_u e_emptykey[] INIT(= N_("E713: Cannot use empty key for Dictionary"));
|
||||
#endif
|
||||
#ifdef FEAT_QUICKFIX
|
||||
EXTERN char_u e_readerrf[] INIT(= N_("E47: Error while reading errorfile"));
|
||||
@@ -1579,9 +1575,7 @@ EXTERN char_u e_maxmempat[] INIT(= N_("E363: pattern uses more memory than 'maxm
|
||||
EXTERN char_u e_emptybuf[] INIT(= N_("E749: empty buffer"));
|
||||
EXTERN char_u e_nobufnr[] INIT(= N_("E86: Buffer %ld does not exist"));
|
||||
|
||||
#ifdef FEAT_EX_EXTRA
|
||||
EXTERN char_u e_invalpat[] INIT(= N_("E682: Invalid search pattern or delimiter"));
|
||||
#endif
|
||||
EXTERN char_u e_bufloaded[] INIT(= N_("E139: File is loaded in another buffer"));
|
||||
#if defined(FEAT_SYN_HL) || \
|
||||
(defined(FEAT_INS_EXPAND) && defined(FEAT_COMPL_FUNC))
|
||||
|
||||
@@ -14,34 +14,34 @@
|
||||
gui_T gui;
|
||||
|
||||
#if defined(FEAT_MBYTE) && !defined(FEAT_GUI_GTK)
|
||||
static void set_guifontwide __ARGS((char_u *font_name));
|
||||
static void set_guifontwide(char_u *font_name);
|
||||
#endif
|
||||
static void gui_check_pos __ARGS((void));
|
||||
static void gui_position_components __ARGS((int));
|
||||
static void gui_outstr __ARGS((char_u *, int));
|
||||
static int gui_screenchar __ARGS((int off, int flags, guicolor_T fg, guicolor_T bg, int back));
|
||||
static void gui_check_pos(void);
|
||||
static void gui_position_components(int);
|
||||
static void gui_outstr(char_u *, int);
|
||||
static int gui_screenchar(int off, int flags, guicolor_T fg, guicolor_T bg, int back);
|
||||
#ifdef FEAT_GUI_GTK
|
||||
static int gui_screenstr __ARGS((int off, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
|
||||
static int gui_screenstr(int off, int len, int flags, guicolor_T fg, guicolor_T bg, int back);
|
||||
#endif
|
||||
static void gui_delete_lines __ARGS((int row, int count));
|
||||
static void gui_insert_lines __ARGS((int row, int count));
|
||||
static void fill_mouse_coord __ARGS((char_u *p, int col, int row));
|
||||
static void gui_delete_lines(int row, int count);
|
||||
static void gui_insert_lines(int row, int count);
|
||||
static void fill_mouse_coord(char_u *p, int col, int row);
|
||||
#if defined(FEAT_GUI_TABLINE) || defined(PROTO)
|
||||
static int gui_has_tabline __ARGS((void));
|
||||
static int gui_has_tabline(void);
|
||||
#endif
|
||||
static void gui_do_scrollbar __ARGS((win_T *wp, int which, int enable));
|
||||
static colnr_T scroll_line_len __ARGS((linenr_T lnum));
|
||||
static linenr_T gui_find_longest_lnum __ARGS((void));
|
||||
static void gui_update_horiz_scrollbar __ARGS((int));
|
||||
static void gui_set_fg_color __ARGS((char_u *name));
|
||||
static void gui_set_bg_color __ARGS((char_u *name));
|
||||
static win_T *xy2win __ARGS((int x, int y));
|
||||
static void gui_do_scrollbar(win_T *wp, int which, int enable);
|
||||
static colnr_T scroll_line_len(linenr_T lnum);
|
||||
static linenr_T gui_find_longest_lnum(void);
|
||||
static void gui_update_horiz_scrollbar(int);
|
||||
static void gui_set_fg_color(char_u *name);
|
||||
static void gui_set_bg_color(char_u *name);
|
||||
static win_T *xy2win(int x, int y);
|
||||
|
||||
#if defined(UNIX) && !defined(MACOS_X) && !defined(__APPLE__)
|
||||
# define MAY_FORK
|
||||
static void gui_do_fork __ARGS((void));
|
||||
static void gui_do_fork(void);
|
||||
|
||||
static int gui_read_child_pipe __ARGS((int fd));
|
||||
static int gui_read_child_pipe(int fd);
|
||||
|
||||
/* Return values for gui_read_child_pipe */
|
||||
enum {
|
||||
@@ -52,7 +52,7 @@ enum {
|
||||
|
||||
#endif /* MAY_FORK */
|
||||
|
||||
static void gui_attempt_start __ARGS((void));
|
||||
static void gui_attempt_start(void);
|
||||
|
||||
static int can_update_cursor = TRUE; /* can display the cursor */
|
||||
|
||||
@@ -73,7 +73,7 @@ static int can_update_cursor = TRUE; /* can display the cursor */
|
||||
* recursive call.
|
||||
*/
|
||||
void
|
||||
gui_start()
|
||||
gui_start(void)
|
||||
{
|
||||
char_u *old_term;
|
||||
static int recursive = 0;
|
||||
@@ -152,7 +152,7 @@ gui_start()
|
||||
* full_screen will be set to TRUE again by a successful termcapinit().
|
||||
*/
|
||||
static void
|
||||
gui_attempt_start()
|
||||
gui_attempt_start(void)
|
||||
{
|
||||
static int recursive = 0;
|
||||
|
||||
@@ -204,7 +204,7 @@ gui_attempt_start()
|
||||
* and the child will return.
|
||||
*/
|
||||
static void
|
||||
gui_do_fork()
|
||||
gui_do_fork(void)
|
||||
{
|
||||
int pipefd[2]; /* pipe between parent and child */
|
||||
int pipe_error;
|
||||
@@ -345,9 +345,7 @@ gui_read_child_pipe(int fd)
|
||||
* Call this when vim starts up, whether or not the GUI is started
|
||||
*/
|
||||
void
|
||||
gui_prepare(argc, argv)
|
||||
int *argc;
|
||||
char **argv;
|
||||
gui_prepare(int *argc, char **argv)
|
||||
{
|
||||
gui.in_use = FALSE; /* No GUI yet (maybe later) */
|
||||
gui.starting = FALSE; /* No GUI yet (maybe later) */
|
||||
@@ -361,7 +359,7 @@ gui_prepare(argc, argv)
|
||||
* Returns FAIL or OK.
|
||||
*/
|
||||
int
|
||||
gui_init_check()
|
||||
gui_init_check(void)
|
||||
{
|
||||
static int result = MAYBE;
|
||||
|
||||
@@ -461,7 +459,7 @@ gui_init_check()
|
||||
* This is the call which starts the GUI.
|
||||
*/
|
||||
void
|
||||
gui_init()
|
||||
gui_init(void)
|
||||
{
|
||||
win_T *wp;
|
||||
static int recursive = 0;
|
||||
@@ -792,8 +790,7 @@ error:
|
||||
|
||||
|
||||
void
|
||||
gui_exit(rc)
|
||||
int rc;
|
||||
gui_exit(int rc)
|
||||
{
|
||||
/* don't free the fonts, it leads to a BUS error
|
||||
* richard@whitequeen.com Jul 99 */
|
||||
@@ -813,7 +810,7 @@ gui_exit(rc)
|
||||
* When this function returns, Vim should NOT exit!
|
||||
*/
|
||||
void
|
||||
gui_shell_closed()
|
||||
gui_shell_closed(void)
|
||||
{
|
||||
cmdmod_T save_cmdmod;
|
||||
|
||||
@@ -847,9 +844,7 @@ gui_shell_closed()
|
||||
* the fonts are unchanged.
|
||||
*/
|
||||
int
|
||||
gui_init_font(font_list, fontset)
|
||||
char_u *font_list;
|
||||
int fontset UNUSED;
|
||||
gui_init_font(char_u *font_list, int fontset UNUSED)
|
||||
{
|
||||
#define FONTLEN 320
|
||||
char_u font_name[FONTLEN];
|
||||
@@ -941,8 +936,7 @@ gui_init_font(font_list, fontset)
|
||||
* Try setting 'guifontwide' to a font twice as wide as "name".
|
||||
*/
|
||||
static void
|
||||
set_guifontwide(name)
|
||||
char_u *name;
|
||||
set_guifontwide(char_u *name)
|
||||
{
|
||||
int i = 0;
|
||||
char_u wide_name[FONTLEN + 10]; /* room for 2 * width and '*' */
|
||||
@@ -991,7 +985,7 @@ set_guifontwide(name)
|
||||
* Return FAIL for an invalid font name.
|
||||
*/
|
||||
int
|
||||
gui_get_wide_font()
|
||||
gui_get_wide_font(void)
|
||||
{
|
||||
GuiFont font = NOFONT;
|
||||
char_u font_name[FONTLEN];
|
||||
@@ -1039,9 +1033,7 @@ gui_get_wide_font()
|
||||
#endif
|
||||
|
||||
void
|
||||
gui_set_cursor(row, col)
|
||||
int row;
|
||||
int col;
|
||||
gui_set_cursor(int row, int col)
|
||||
{
|
||||
gui.row = row;
|
||||
gui.col = col;
|
||||
@@ -1051,7 +1043,7 @@ gui_set_cursor(row, col)
|
||||
* gui_check_pos - check if the cursor is on the screen.
|
||||
*/
|
||||
static void
|
||||
gui_check_pos()
|
||||
gui_check_pos(void)
|
||||
{
|
||||
if (gui.row >= screen_Rows)
|
||||
gui.row = screen_Rows - 1;
|
||||
@@ -1067,9 +1059,9 @@ gui_check_pos()
|
||||
* otherwise this goes wrong. May need to call out_flush() first.
|
||||
*/
|
||||
void
|
||||
gui_update_cursor(force, clear_selection)
|
||||
int force; /* when TRUE, update even when not moved */
|
||||
int clear_selection;/* clear selection under cursor */
|
||||
gui_update_cursor(
|
||||
int force, /* when TRUE, update even when not moved */
|
||||
int clear_selection)/* clear selection under cursor */
|
||||
{
|
||||
int cur_width = 0;
|
||||
int cur_height = 0;
|
||||
@@ -1316,7 +1308,7 @@ gui_update_cursor(force, clear_selection)
|
||||
|
||||
#if defined(FEAT_MENU) || defined(PROTO)
|
||||
void
|
||||
gui_position_menu()
|
||||
gui_position_menu(void)
|
||||
{
|
||||
# if !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF) \
|
||||
|| defined(FEAT_GUI_MACVIM))
|
||||
@@ -1331,8 +1323,7 @@ gui_position_menu()
|
||||
* scrollbars are NOT handled here. See gui_update_scrollbars().
|
||||
*/
|
||||
static void
|
||||
gui_position_components(total_width)
|
||||
int total_width UNUSED;
|
||||
gui_position_components(int total_width UNUSED)
|
||||
{
|
||||
int text_area_x;
|
||||
int text_area_y;
|
||||
@@ -1405,7 +1396,7 @@ gui_position_components(total_width)
|
||||
* Get the width of the widgets and decorations to the side of the text area.
|
||||
*/
|
||||
int
|
||||
gui_get_base_width()
|
||||
gui_get_base_width(void)
|
||||
{
|
||||
int base_width;
|
||||
|
||||
@@ -1421,7 +1412,7 @@ gui_get_base_width()
|
||||
* Get the height of the widgets and decorations above and below the text area.
|
||||
*/
|
||||
int
|
||||
gui_get_base_height()
|
||||
gui_get_base_height(void)
|
||||
{
|
||||
int base_height;
|
||||
|
||||
@@ -1466,9 +1457,7 @@ gui_get_base_height()
|
||||
* the new width and height of the shell in pixels.
|
||||
*/
|
||||
void
|
||||
gui_resize_shell(pixel_width, pixel_height)
|
||||
int pixel_width;
|
||||
int pixel_height;
|
||||
gui_resize_shell(int pixel_width, int pixel_height)
|
||||
{
|
||||
static int busy = FALSE;
|
||||
|
||||
@@ -1537,7 +1526,7 @@ again:
|
||||
* Check if gui_resize_shell() must be called.
|
||||
*/
|
||||
void
|
||||
gui_may_resize_shell()
|
||||
gui_may_resize_shell(void)
|
||||
{
|
||||
int h, w;
|
||||
|
||||
@@ -1554,7 +1543,7 @@ gui_may_resize_shell()
|
||||
}
|
||||
|
||||
int
|
||||
gui_get_shellsize()
|
||||
gui_get_shellsize(void)
|
||||
{
|
||||
Rows = gui.num_rows;
|
||||
Columns = gui.num_cols;
|
||||
@@ -1567,10 +1556,10 @@ gui_get_shellsize()
|
||||
* on the screen.
|
||||
*/
|
||||
void
|
||||
gui_set_shellsize(mustset, fit_to_display, direction)
|
||||
int mustset UNUSED; /* set by the user */
|
||||
int fit_to_display;
|
||||
int direction; /* RESIZE_HOR, RESIZE_VER */
|
||||
gui_set_shellsize(
|
||||
int mustset UNUSED, /* set by the user */
|
||||
int fit_to_display,
|
||||
int direction) /* RESIZE_HOR, RESIZE_VER */
|
||||
{
|
||||
int base_width;
|
||||
int base_height;
|
||||
@@ -1693,7 +1682,7 @@ gui_set_shellsize(mustset, fit_to_display, direction)
|
||||
* Called when Rows and/or Columns has changed.
|
||||
*/
|
||||
void
|
||||
gui_new_shellsize()
|
||||
gui_new_shellsize(void)
|
||||
{
|
||||
gui_reset_scroll_region();
|
||||
}
|
||||
@@ -1702,7 +1691,7 @@ gui_new_shellsize()
|
||||
* Make scroll region cover whole screen.
|
||||
*/
|
||||
void
|
||||
gui_reset_scroll_region()
|
||||
gui_reset_scroll_region(void)
|
||||
{
|
||||
gui.scroll_region_top = 0;
|
||||
gui.scroll_region_bot = gui.num_rows - 1;
|
||||
@@ -1711,8 +1700,7 @@ gui_reset_scroll_region()
|
||||
}
|
||||
|
||||
void
|
||||
gui_start_highlight(mask)
|
||||
int mask;
|
||||
gui_start_highlight(int mask)
|
||||
{
|
||||
if (mask > HL_ALL) /* highlight code */
|
||||
gui.highlight_mask = mask;
|
||||
@@ -1721,8 +1709,7 @@ gui_start_highlight(mask)
|
||||
}
|
||||
|
||||
void
|
||||
gui_stop_highlight(mask)
|
||||
int mask;
|
||||
gui_stop_highlight(int mask)
|
||||
{
|
||||
if (mask > HL_ALL) /* highlight code */
|
||||
gui.highlight_mask = HL_NORMAL;
|
||||
@@ -1735,11 +1722,11 @@ gui_stop_highlight(mask)
|
||||
* (row2, col2) inclusive.
|
||||
*/
|
||||
void
|
||||
gui_clear_block(row1, col1, row2, col2)
|
||||
int row1;
|
||||
int col1;
|
||||
int row2;
|
||||
int col2;
|
||||
gui_clear_block(
|
||||
int row1,
|
||||
int col1,
|
||||
int row2,
|
||||
int col2)
|
||||
{
|
||||
/* Clear the selection if we are about to write over it */
|
||||
clip_may_clear_selection(row1, row2);
|
||||
@@ -1757,15 +1744,15 @@ gui_clear_block(row1, col1, row2, col2)
|
||||
* output buffer before calling gui_update_cursor().
|
||||
*/
|
||||
void
|
||||
gui_update_cursor_later()
|
||||
gui_update_cursor_later(void)
|
||||
{
|
||||
OUT_STR(IF_EB("\033|s", ESC_STR "|s"));
|
||||
OUT_STR(IF_EB("\033|s", ESC_STR "|s"));
|
||||
}
|
||||
|
||||
void
|
||||
gui_write(s, len)
|
||||
char_u *s;
|
||||
int len;
|
||||
gui_write(
|
||||
char_u *s,
|
||||
int len)
|
||||
{
|
||||
char_u *p;
|
||||
int arg1 = 0, arg2 = 0;
|
||||
@@ -1994,7 +1981,7 @@ gui_write(s, len)
|
||||
* gui_can_update_cursor() afterwards.
|
||||
*/
|
||||
void
|
||||
gui_dont_update_cursor()
|
||||
gui_dont_update_cursor(void)
|
||||
{
|
||||
if (gui.in_use)
|
||||
{
|
||||
@@ -2005,7 +1992,7 @@ gui_dont_update_cursor()
|
||||
}
|
||||
|
||||
void
|
||||
gui_can_update_cursor()
|
||||
gui_can_update_cursor(void)
|
||||
{
|
||||
can_update_cursor = TRUE;
|
||||
/* No need to update the cursor right now, there is always more output
|
||||
@@ -2013,9 +2000,7 @@ gui_can_update_cursor()
|
||||
}
|
||||
|
||||
static void
|
||||
gui_outstr(s, len)
|
||||
char_u *s;
|
||||
int len;
|
||||
gui_outstr(char_u *s, int len)
|
||||
{
|
||||
int this_len;
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -2077,11 +2062,12 @@ gui_outstr(s, len)
|
||||
* Returns FAIL or OK, just like gui_outstr_nowrap().
|
||||
*/
|
||||
static int
|
||||
gui_screenchar(off, flags, fg, bg, back)
|
||||
int off; /* Offset from start of screen */
|
||||
int flags;
|
||||
guicolor_T fg, bg; /* colors for cursor */
|
||||
int back; /* backup this many chars when using bold trick */
|
||||
gui_screenchar(
|
||||
int off, /* Offset from start of screen */
|
||||
int flags,
|
||||
guicolor_T fg, /* colors for cursor */
|
||||
guicolor_T bg, /* colors for cursor */
|
||||
int back) /* backup this many chars when using bold trick */
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
char_u buf[MB_MAXBYTES + 1];
|
||||
@@ -2118,12 +2104,13 @@ gui_screenchar(off, flags, fg, bg, back)
|
||||
* as possible to work nicely. It's a lot faster as well.
|
||||
*/
|
||||
static int
|
||||
gui_screenstr(off, len, flags, fg, bg, back)
|
||||
int off; /* Offset from start of screen */
|
||||
int len; /* string length in screen cells */
|
||||
int flags;
|
||||
guicolor_T fg, bg; /* colors for cursor */
|
||||
int back; /* backup this many chars when using bold trick */
|
||||
gui_screenstr(
|
||||
int off, /* Offset from start of screen */
|
||||
int len, /* string length in screen cells */
|
||||
int flags,
|
||||
guicolor_T fg, /* colors for cursor */
|
||||
guicolor_T bg, /* colors for cursor */
|
||||
int back) /* backup this many chars when using bold trick */
|
||||
{
|
||||
char_u *buf;
|
||||
int outlen = 0;
|
||||
@@ -2201,12 +2188,13 @@ gui_screenstr(off, len, flags, fg, bg, back)
|
||||
* FAIL (the caller should start drawing "back" chars back).
|
||||
*/
|
||||
int
|
||||
gui_outstr_nowrap(s, len, flags, fg, bg, back)
|
||||
char_u *s;
|
||||
int len;
|
||||
int flags;
|
||||
guicolor_T fg, bg; /* colors for cursor */
|
||||
int back; /* backup this many chars when using bold trick */
|
||||
gui_outstr_nowrap(
|
||||
char_u *s,
|
||||
int len,
|
||||
int flags,
|
||||
guicolor_T fg, /* colors for cursor */
|
||||
guicolor_T bg, /* colors for cursor */
|
||||
int back) /* backup this many chars when using bold trick */
|
||||
{
|
||||
long_u highlight_mask;
|
||||
long_u hl_mask_todo;
|
||||
@@ -2619,7 +2607,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
|
||||
* position. The character just before it too, for when it was in bold.
|
||||
*/
|
||||
void
|
||||
gui_undraw_cursor()
|
||||
gui_undraw_cursor(void)
|
||||
{
|
||||
if (gui.cursor_is_valid)
|
||||
{
|
||||
@@ -2660,11 +2648,11 @@ gui_undraw_cursor()
|
||||
}
|
||||
|
||||
void
|
||||
gui_redraw(x, y, w, h)
|
||||
int x;
|
||||
int y;
|
||||
int w;
|
||||
int h;
|
||||
gui_redraw(
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h)
|
||||
{
|
||||
int row1, col1, row2, col2;
|
||||
|
||||
@@ -2693,12 +2681,12 @@ gui_redraw(x, y, w, h)
|
||||
* different attributes (may have to be redrawn too).
|
||||
*/
|
||||
int
|
||||
gui_redraw_block(row1, col1, row2, col2, flags)
|
||||
int row1;
|
||||
int col1;
|
||||
int row2;
|
||||
int col2;
|
||||
int flags; /* flags for gui_outstr_nowrap() */
|
||||
gui_redraw_block(
|
||||
int row1,
|
||||
int col1,
|
||||
int row2,
|
||||
int col2,
|
||||
int flags) /* flags for gui_outstr_nowrap() */
|
||||
{
|
||||
int old_row, old_col;
|
||||
long_u old_hl_mask;
|
||||
@@ -2857,9 +2845,7 @@ gui_redraw_block(row1, col1, row2, col2, flags)
|
||||
}
|
||||
|
||||
static void
|
||||
gui_delete_lines(row, count)
|
||||
int row;
|
||||
int count;
|
||||
gui_delete_lines(int row, int count)
|
||||
{
|
||||
if (count <= 0)
|
||||
return;
|
||||
@@ -2887,9 +2873,7 @@ gui_delete_lines(row, count)
|
||||
}
|
||||
|
||||
static void
|
||||
gui_insert_lines(row, count)
|
||||
int row;
|
||||
int count;
|
||||
gui_insert_lines(int row, int count)
|
||||
{
|
||||
if (count <= 0)
|
||||
return;
|
||||
@@ -2923,8 +2907,7 @@ gui_insert_lines(row, count)
|
||||
* or FAIL otherwise.
|
||||
*/
|
||||
int
|
||||
gui_wait_for_chars(wtime)
|
||||
long wtime;
|
||||
gui_wait_for_chars(long wtime)
|
||||
{
|
||||
int retval;
|
||||
|
||||
@@ -2999,10 +2982,7 @@ gui_wait_for_chars(wtime)
|
||||
* Fill p[4] with mouse coordinates encoded for check_termcode().
|
||||
*/
|
||||
static void
|
||||
fill_mouse_coord(p, col, row)
|
||||
char_u *p;
|
||||
int col;
|
||||
int row;
|
||||
fill_mouse_coord(char_u *p, int col, int row)
|
||||
{
|
||||
p[0] = (char_u)(col / 128 + ' ' + 1);
|
||||
p[1] = (char_u)(col % 128 + ' ' + 1);
|
||||
@@ -3027,12 +3007,12 @@ fill_mouse_coord(p, col, row)
|
||||
* character.
|
||||
*/
|
||||
void
|
||||
gui_send_mouse_event(button, x, y, repeated_click, modifiers)
|
||||
int button;
|
||||
int x;
|
||||
int y;
|
||||
int repeated_click;
|
||||
int_u modifiers;
|
||||
gui_send_mouse_event(
|
||||
int button,
|
||||
int x,
|
||||
int y,
|
||||
int repeated_click,
|
||||
int_u modifiers)
|
||||
{
|
||||
static int prev_row = 0, prev_col = 0;
|
||||
static int prev_button = -1;
|
||||
@@ -3342,10 +3322,7 @@ button_set:
|
||||
* returns column in "*colp" and row as return value;
|
||||
*/
|
||||
int
|
||||
gui_xy2colrow(x, y, colp)
|
||||
int x;
|
||||
int y;
|
||||
int *colp;
|
||||
gui_xy2colrow(int x, int y, int *colp)
|
||||
{
|
||||
int col = check_col(X_2_COL(x));
|
||||
int row = check_row(Y_2_ROW(y));
|
||||
@@ -3363,8 +3340,7 @@ gui_xy2colrow(x, y, colp)
|
||||
* Callback function for when a menu entry has been selected.
|
||||
*/
|
||||
void
|
||||
gui_menu_cb(menu)
|
||||
vimmenu_T *menu;
|
||||
gui_menu_cb(vimmenu_T *menu)
|
||||
{
|
||||
char_u bytes[sizeof(long_u)];
|
||||
|
||||
@@ -3389,8 +3365,7 @@ static int prev_which_scrollbars[3];
|
||||
* in p_go.
|
||||
*/
|
||||
void
|
||||
gui_init_which_components(oldval)
|
||||
char_u *oldval UNUSED;
|
||||
gui_init_which_components(char_u *oldval UNUSED)
|
||||
{
|
||||
#ifdef FEAT_MENU
|
||||
static int prev_menu_is_active = -1;
|
||||
@@ -3642,7 +3617,7 @@ gui_init_which_components(oldval)
|
||||
* It may still be hidden if 'showtabline' is zero.
|
||||
*/
|
||||
int
|
||||
gui_use_tabline()
|
||||
gui_use_tabline(void)
|
||||
{
|
||||
return gui.in_use && vim_strchr(p_go, GO_TABLINE) != NULL;
|
||||
}
|
||||
@@ -3652,7 +3627,7 @@ gui_use_tabline()
|
||||
* This uses 'showtabline'.
|
||||
*/
|
||||
static int
|
||||
gui_has_tabline()
|
||||
gui_has_tabline(void)
|
||||
{
|
||||
if (!gui_use_tabline()
|
||||
|| p_stal == 0
|
||||
@@ -3666,7 +3641,7 @@ gui_has_tabline()
|
||||
* This may display/undisplay the tabline and update the labels.
|
||||
*/
|
||||
void
|
||||
gui_update_tabline()
|
||||
gui_update_tabline(void)
|
||||
{
|
||||
int showit = gui_has_tabline();
|
||||
int shown = gui_mch_showing_tabline();
|
||||
@@ -3694,9 +3669,9 @@ gui_update_tabline()
|
||||
* Get the label or tooltip for tab page "tp" into NameBuff[].
|
||||
*/
|
||||
void
|
||||
get_tabline_label(tp, tooltip)
|
||||
tabpage_T *tp;
|
||||
int tooltip; /* TRUE: get tooltip */
|
||||
get_tabline_label(
|
||||
tabpage_T *tp,
|
||||
int tooltip) /* TRUE: get tooltip */
|
||||
{
|
||||
int modified = FALSE;
|
||||
char_u buf[40];
|
||||
@@ -3787,8 +3762,7 @@ get_tabline_label(tp, tooltip)
|
||||
* that tab page or the cmdline window is open.
|
||||
*/
|
||||
int
|
||||
send_tabline_event(nr)
|
||||
int nr;
|
||||
send_tabline_event(int nr)
|
||||
{
|
||||
char_u string[3];
|
||||
|
||||
@@ -3820,9 +3794,7 @@ send_tabline_event(nr)
|
||||
* Send a tabline menu event
|
||||
*/
|
||||
void
|
||||
send_tabline_menu_event(tabidx, event)
|
||||
int tabidx;
|
||||
int event;
|
||||
send_tabline_menu_event(int tabidx, int event)
|
||||
{
|
||||
char_u string[3];
|
||||
|
||||
@@ -3850,7 +3822,7 @@ send_tabline_menu_event(tabidx, event)
|
||||
* Remove all scrollbars. Used before switching to another tab page.
|
||||
*/
|
||||
void
|
||||
gui_remove_scrollbars()
|
||||
gui_remove_scrollbars(void)
|
||||
{
|
||||
int i;
|
||||
win_T *wp;
|
||||
@@ -3872,10 +3844,7 @@ gui_remove_scrollbars()
|
||||
#endif
|
||||
|
||||
void
|
||||
gui_create_scrollbar(sb, type, wp)
|
||||
scrollbar_T *sb;
|
||||
int type;
|
||||
win_T *wp;
|
||||
gui_create_scrollbar(scrollbar_T *sb, int type, win_T *wp)
|
||||
{
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
/* This is passed over to another process, make sure it fits in 32 bit */
|
||||
@@ -3906,8 +3875,7 @@ gui_create_scrollbar(sb, type, wp)
|
||||
* Find the scrollbar with the given index.
|
||||
*/
|
||||
scrollbar_T *
|
||||
gui_find_scrollbar(ident)
|
||||
long ident;
|
||||
gui_find_scrollbar(long ident)
|
||||
{
|
||||
win_T *wp;
|
||||
|
||||
@@ -3939,10 +3907,7 @@ gui_find_scrollbar(ident)
|
||||
* are still characters to be processed.
|
||||
*/
|
||||
void
|
||||
gui_drag_scrollbar(sb, value, still_dragging)
|
||||
scrollbar_T *sb;
|
||||
long value;
|
||||
int still_dragging;
|
||||
gui_drag_scrollbar(scrollbar_T *sb, long value, int still_dragging)
|
||||
{
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_T *wp;
|
||||
@@ -4160,7 +4125,7 @@ gui_drag_scrollbar(sb, value, still_dragging)
|
||||
* Called when something in the window layout has changed.
|
||||
*/
|
||||
void
|
||||
gui_may_update_scrollbars()
|
||||
gui_may_update_scrollbars(void)
|
||||
{
|
||||
if (gui.in_use && starting == 0)
|
||||
{
|
||||
@@ -4173,8 +4138,8 @@ gui_may_update_scrollbars()
|
||||
#endif
|
||||
|
||||
void
|
||||
gui_update_scrollbars(force)
|
||||
int force; /* Force all scrollbars to get updated */
|
||||
gui_update_scrollbars(
|
||||
int force) /* Force all scrollbars to get updated */
|
||||
{
|
||||
win_T *wp;
|
||||
scrollbar_T *sb;
|
||||
@@ -4389,10 +4354,10 @@ gui_update_scrollbars(force)
|
||||
* sometimes.
|
||||
*/
|
||||
static void
|
||||
gui_do_scrollbar(wp, which, enable)
|
||||
win_T *wp;
|
||||
int which; /* SBAR_LEFT or SBAR_RIGHT */
|
||||
int enable; /* TRUE to enable scrollbar */
|
||||
gui_do_scrollbar(
|
||||
win_T *wp,
|
||||
int which, /* SBAR_LEFT or SBAR_RIGHT */
|
||||
int enable) /* TRUE to enable scrollbar */
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
int midcol = curwin->w_wincol + curwin->w_width / 2;
|
||||
@@ -4435,7 +4400,7 @@ gui_do_scrollbar(wp, which, enable)
|
||||
* or FALSE otherwise.
|
||||
*/
|
||||
int
|
||||
gui_do_scroll()
|
||||
gui_do_scroll(void)
|
||||
{
|
||||
win_T *wp, *save_wp;
|
||||
int i;
|
||||
@@ -4547,8 +4512,7 @@ gui_do_scroll()
|
||||
* Return length of line "lnum" for horizontal scrolling.
|
||||
*/
|
||||
static colnr_T
|
||||
scroll_line_len(lnum)
|
||||
linenr_T lnum;
|
||||
scroll_line_len(linenr_T lnum)
|
||||
{
|
||||
char_u *p;
|
||||
colnr_T col;
|
||||
@@ -4577,7 +4541,7 @@ static linenr_T longest_lnum = 0;
|
||||
* by setting 'h' in "guioptions") then the current line number is returned.
|
||||
*/
|
||||
static linenr_T
|
||||
gui_find_longest_lnum()
|
||||
gui_find_longest_lnum(void)
|
||||
{
|
||||
linenr_T ret = 0;
|
||||
|
||||
@@ -4618,8 +4582,7 @@ gui_find_longest_lnum()
|
||||
}
|
||||
|
||||
static void
|
||||
gui_update_horiz_scrollbar(force)
|
||||
int force;
|
||||
gui_update_horiz_scrollbar(int force)
|
||||
{
|
||||
long value, size, max; /* need 32 bit ints here */
|
||||
|
||||
@@ -4711,9 +4674,7 @@ gui_update_horiz_scrollbar(force)
|
||||
* Do a horizontal scroll. Return TRUE if the cursor moved, FALSE otherwise.
|
||||
*/
|
||||
int
|
||||
gui_do_horiz_scroll(leftcol, compute_longest_lnum)
|
||||
long_u leftcol;
|
||||
int compute_longest_lnum;
|
||||
gui_do_horiz_scroll(long_u leftcol, int compute_longest_lnum)
|
||||
{
|
||||
/* no wrapping, no scrolling */
|
||||
if (curwin->w_p_wrap)
|
||||
@@ -4751,7 +4712,7 @@ gui_do_horiz_scroll(leftcol, compute_longest_lnum)
|
||||
* Check that none of the colors are the same as the background color
|
||||
*/
|
||||
void
|
||||
gui_check_colors()
|
||||
gui_check_colors(void)
|
||||
{
|
||||
if (gui.norm_pixel == gui.back_pixel || gui.norm_pixel == INVALCOLOR)
|
||||
{
|
||||
@@ -4762,16 +4723,14 @@ gui_check_colors()
|
||||
}
|
||||
|
||||
static void
|
||||
gui_set_fg_color(name)
|
||||
char_u *name;
|
||||
gui_set_fg_color(char_u *name)
|
||||
{
|
||||
gui.norm_pixel = gui_get_color(name);
|
||||
hl_set_fg_color_name(vim_strsave(name));
|
||||
}
|
||||
|
||||
static void
|
||||
gui_set_bg_color(name)
|
||||
char_u *name;
|
||||
gui_set_bg_color(char_u *name)
|
||||
{
|
||||
gui.back_pixel = gui_get_color(name);
|
||||
hl_set_bg_color_name(vim_strsave(name));
|
||||
@@ -4782,8 +4741,7 @@ gui_set_bg_color(name)
|
||||
* Returns INVALCOLOR and gives an error message when failed.
|
||||
*/
|
||||
guicolor_T
|
||||
gui_get_color(name)
|
||||
char_u *name;
|
||||
gui_get_color(char_u *name)
|
||||
{
|
||||
guicolor_T t;
|
||||
|
||||
@@ -4804,8 +4762,7 @@ gui_get_color(name)
|
||||
* Return the grey value of a color (range 0-255).
|
||||
*/
|
||||
int
|
||||
gui_get_lightness(pixel)
|
||||
guicolor_T pixel;
|
||||
gui_get_lightness(guicolor_T pixel)
|
||||
{
|
||||
long_u rgb = gui_mch_get_rgb(pixel);
|
||||
|
||||
@@ -4816,7 +4773,7 @@ gui_get_lightness(pixel)
|
||||
|
||||
#if defined(FEAT_GUI_X11) || defined(PROTO)
|
||||
void
|
||||
gui_new_scrollbar_colors()
|
||||
gui_new_scrollbar_colors(void)
|
||||
{
|
||||
win_T *wp;
|
||||
|
||||
@@ -4837,8 +4794,7 @@ gui_new_scrollbar_colors()
|
||||
* Call this when focus has changed.
|
||||
*/
|
||||
void
|
||||
gui_focus_change(in_focus)
|
||||
int in_focus;
|
||||
gui_focus_change(int in_focus)
|
||||
{
|
||||
/*
|
||||
* Skip this code to avoid drawing the cursor when debugging and switching
|
||||
@@ -4872,9 +4828,7 @@ gui_focus_change(in_focus)
|
||||
* Called when the mouse moved (but not when dragging).
|
||||
*/
|
||||
void
|
||||
gui_mouse_moved(x, y)
|
||||
int x;
|
||||
int y;
|
||||
gui_mouse_moved(int x, int y)
|
||||
{
|
||||
win_T *wp;
|
||||
char_u st[8];
|
||||
@@ -4951,7 +4905,7 @@ gui_mouse_moved(x, y)
|
||||
* Called when mouse should be moved to window with focus.
|
||||
*/
|
||||
void
|
||||
gui_mouse_correct()
|
||||
gui_mouse_correct(void)
|
||||
{
|
||||
int x, y;
|
||||
win_T *wp = NULL;
|
||||
@@ -4984,9 +4938,7 @@ gui_mouse_correct()
|
||||
* Find window where the mouse pointer "y" coordinate is in.
|
||||
*/
|
||||
static win_T *
|
||||
xy2win(x, y)
|
||||
int x UNUSED;
|
||||
int y UNUSED;
|
||||
xy2win(int x UNUSED, int y UNUSED)
|
||||
{
|
||||
#ifdef FEAT_WINDOWS
|
||||
int row;
|
||||
@@ -5039,8 +4991,7 @@ xy2win(x, y)
|
||||
* File names may be given to redefine the args list.
|
||||
*/
|
||||
void
|
||||
ex_gui(eap)
|
||||
exarg_T *eap;
|
||||
ex_gui(exarg_T *eap)
|
||||
{
|
||||
char_u *arg = eap->arg;
|
||||
|
||||
@@ -5064,8 +5015,8 @@ ex_gui(eap)
|
||||
* of the argument ending up after the shell prompt. */
|
||||
msg_clr_eos_force();
|
||||
gui_start();
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
netbeans_gui_register();
|
||||
#ifdef FEAT_CHANNEL
|
||||
channel_gui_register_all();
|
||||
#endif
|
||||
}
|
||||
if (!ends_excmd(*eap->arg))
|
||||
@@ -5078,15 +5029,13 @@ ex_gui(eap)
|
||||
/*
|
||||
* This is shared between Athena, Motif and GTK.
|
||||
*/
|
||||
static void gfp_setname __ARGS((char_u *fname, void *cookie));
|
||||
static void gfp_setname(char_u *fname, void *cookie);
|
||||
|
||||
/*
|
||||
* Callback function for do_in_runtimepath().
|
||||
*/
|
||||
static void
|
||||
gfp_setname(fname, cookie)
|
||||
char_u *fname;
|
||||
void *cookie;
|
||||
gfp_setname(char_u *fname, void *cookie)
|
||||
{
|
||||
char_u *gfp_buffer = cookie;
|
||||
|
||||
@@ -5101,10 +5050,7 @@ gfp_setname(fname, cookie)
|
||||
* Return FAIL for failure and OK if buffer[MAXPATHL] contains the result.
|
||||
*/
|
||||
int
|
||||
gui_find_bitmap(name, buffer, ext)
|
||||
char_u *name;
|
||||
char_u *buffer;
|
||||
char *ext;
|
||||
gui_find_bitmap(char_u *name, char_u *buffer, char *ext)
|
||||
{
|
||||
if (STRLEN(name) > MAXPATHL - 14)
|
||||
return FAIL;
|
||||
@@ -5124,10 +5070,7 @@ gui_find_bitmap(name, buffer, ext)
|
||||
* contains "name".
|
||||
*/
|
||||
void
|
||||
gui_find_iconfile(name, buffer, ext)
|
||||
char_u *name;
|
||||
char_u *buffer;
|
||||
char *ext;
|
||||
gui_find_iconfile(char_u *name, char_u *buffer, char *ext)
|
||||
{
|
||||
char_u buf[MAXPATHL + 1];
|
||||
|
||||
@@ -5140,7 +5083,7 @@ gui_find_iconfile(name, buffer, ext)
|
||||
|
||||
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(PROTO)
|
||||
void
|
||||
display_errors()
|
||||
display_errors(void)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
@@ -5172,7 +5115,7 @@ display_errors()
|
||||
* allow typing on stdin.
|
||||
*/
|
||||
int
|
||||
no_console_input()
|
||||
no_console_input(void)
|
||||
{
|
||||
return ((!gui.in_use || gui.starting)
|
||||
# ifndef NO_CONSOLE
|
||||
@@ -5189,7 +5132,7 @@ no_console_input()
|
||||
* Update the current window and the screen.
|
||||
*/
|
||||
void
|
||||
gui_update_screen()
|
||||
gui_update_screen(void)
|
||||
{
|
||||
#ifdef FEAT_CONCEAL
|
||||
linenr_T conceal_old_cursor_line = 0;
|
||||
@@ -5252,7 +5195,7 @@ gui_update_screen()
|
||||
#endif
|
||||
|
||||
#if defined(FIND_REPLACE_DIALOG) || defined(PROTO)
|
||||
static void concat_esc __ARGS((garray_T *gap, char_u *text, int what));
|
||||
static void concat_esc(garray_T *gap, char_u *text, int what);
|
||||
|
||||
/*
|
||||
* Get the text to use in a find/replace dialog. Uses the last search pattern
|
||||
@@ -5260,10 +5203,10 @@ static void concat_esc __ARGS((garray_T *gap, char_u *text, int what));
|
||||
* Returns an allocated string.
|
||||
*/
|
||||
char_u *
|
||||
get_find_dialog_text(arg, wwordp, mcasep)
|
||||
char_u *arg;
|
||||
int *wwordp; /* return: TRUE if \< \> found */
|
||||
int *mcasep; /* return: TRUE if \C found */
|
||||
get_find_dialog_text(
|
||||
char_u *arg,
|
||||
int *wwordp, /* return: TRUE if \< \> found */
|
||||
int *mcasep) /* return: TRUE if \C found */
|
||||
{
|
||||
char_u *text;
|
||||
|
||||
@@ -5321,10 +5264,7 @@ get_find_dialog_text(arg, wwordp, mcasep)
|
||||
* Concatenate "text" to grow array "gap", escaping "what" with a backslash.
|
||||
*/
|
||||
static void
|
||||
concat_esc(gap, text, what)
|
||||
garray_T *gap;
|
||||
char_u *text;
|
||||
int what;
|
||||
concat_esc(garray_T *gap, char_u *text, int what)
|
||||
{
|
||||
while (*text != NUL)
|
||||
{
|
||||
@@ -5350,11 +5290,11 @@ concat_esc(gap, text, what)
|
||||
* Return TRUE when something was added to the input buffer.
|
||||
*/
|
||||
int
|
||||
gui_do_findrepl(flags, find_text, repl_text, down)
|
||||
int flags; /* one of FRD_REPLACE, FRD_FINDNEXT, etc. */
|
||||
char_u *find_text;
|
||||
char_u *repl_text;
|
||||
int down; /* Search downwards. */
|
||||
gui_do_findrepl(
|
||||
int flags, /* one of FRD_REPLACE, FRD_FINDNEXT, etc. */
|
||||
char_u *find_text,
|
||||
char_u *repl_text,
|
||||
int down) /* Search downwards. */
|
||||
{
|
||||
garray_T ga;
|
||||
int i;
|
||||
@@ -5478,15 +5418,13 @@ gui_do_findrepl(flags, find_text, repl_text, down)
|
||||
|| defined(FEAT_GUI_MACVIM)
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
static void gui_wingoto_xy __ARGS((int x, int y));
|
||||
static void gui_wingoto_xy(int x, int y);
|
||||
|
||||
/*
|
||||
* Jump to the window at specified point (x, y).
|
||||
*/
|
||||
static void
|
||||
gui_wingoto_xy(x, y)
|
||||
int x;
|
||||
int y;
|
||||
gui_wingoto_xy(int x, int y)
|
||||
{
|
||||
int row = Y_2_ROW(y);
|
||||
int col = X_2_COL(x);
|
||||
@@ -5508,12 +5446,12 @@ gui_wingoto_xy(x, y)
|
||||
* fnames after call this function.
|
||||
*/
|
||||
void
|
||||
gui_handle_drop(x, y, modifiers, fnames, count)
|
||||
int x UNUSED;
|
||||
int y UNUSED;
|
||||
int_u modifiers;
|
||||
char_u **fnames;
|
||||
int count;
|
||||
gui_handle_drop(
|
||||
int x UNUSED,
|
||||
int y UNUSED,
|
||||
int_u modifiers,
|
||||
char_u **fnames,
|
||||
int count)
|
||||
{
|
||||
int i;
|
||||
char_u *p;
|
||||
|
||||
+163
-226
@@ -172,36 +172,36 @@ static int SFstatus = SEL_FILE_NULL;
|
||||
|
||||
/***************** static functions */
|
||||
|
||||
static void SFsetText __ARGS((char *path));
|
||||
static void SFtextChanged __ARGS((void));
|
||||
static char *SFgetText __ARGS((void));
|
||||
static void SFupdatePath __ARGS((void));
|
||||
static int SFgetDir __ARGS((SFDir *dir));
|
||||
static void SFdrawLists __ARGS((int doScroll));
|
||||
static void SFdrawList __ARGS((int n, int doScroll));
|
||||
static void SFclearList __ARGS((int n, int doScroll));
|
||||
static void SFbuttonPressList __ARGS((Widget w, int n, XButtonPressedEvent *event));
|
||||
static void SFbuttonReleaseList __ARGS((Widget w, int n, XButtonReleasedEvent *event));
|
||||
static void SFdirModTimer __ARGS((XtPointer cl, XtIntervalId *id));
|
||||
static char SFstatChar __ARGS((struct stat *statBuf));
|
||||
static void SFdrawStrings __ARGS((Window w, SFDir *dir, int from, int to));
|
||||
static int SFnewInvertEntry __ARGS((int n, XMotionEvent *event));
|
||||
static void SFinvertEntry __ARGS((int n));
|
||||
static void SFenterList __ARGS((Widget w, int n, XEnterWindowEvent *event));
|
||||
static void SFleaveList __ARGS((Widget w, int n, XEvent *event));
|
||||
static void SFmotionList __ARGS((Widget w, int n, XMotionEvent *event));
|
||||
static void SFvFloatSliderMovedCallback __ARGS((Widget w, XtPointer n, XtPointer fnew));
|
||||
static void SFvSliderMovedCallback __ARGS((Widget w, int n, int nw));
|
||||
static void SFvAreaSelectedCallback __ARGS((Widget w, XtPointer n, XtPointer pnew));
|
||||
static void SFhSliderMovedCallback __ARGS((Widget w, XtPointer n, XtPointer nw));
|
||||
static void SFhAreaSelectedCallback __ARGS((Widget w, XtPointer n, XtPointer pnew));
|
||||
static void SFpathSliderMovedCallback __ARGS((Widget w, XtPointer client_data, XtPointer nw));
|
||||
static void SFpathAreaSelectedCallback __ARGS((Widget w, XtPointer client_data, XtPointer pnew));
|
||||
static Boolean SFworkProc __ARGS((void));
|
||||
static int SFcompareEntries __ARGS((const void *p, const void *q));
|
||||
static void SFprepareToReturn __ARGS((void));
|
||||
static void SFcreateWidgets __ARGS((Widget toplevel, char *prompt, char *ok, char *cancel));
|
||||
static void SFsetColors __ARGS((guicolor_T bg, guicolor_T fg, guicolor_T scroll_bg, guicolor_T scrollfg));
|
||||
static void SFsetText(char *path);
|
||||
static void SFtextChanged(void);
|
||||
static char *SFgetText(void);
|
||||
static void SFupdatePath(void);
|
||||
static int SFgetDir(SFDir *dir);
|
||||
static void SFdrawLists(int doScroll);
|
||||
static void SFdrawList(int n, int doScroll);
|
||||
static void SFclearList(int n, int doScroll);
|
||||
static void SFbuttonPressList(Widget w, int n, XButtonPressedEvent *event);
|
||||
static void SFbuttonReleaseList(Widget w, int n, XButtonReleasedEvent *event);
|
||||
static void SFdirModTimer(XtPointer cl, XtIntervalId *id);
|
||||
static char SFstatChar(struct stat *statBuf);
|
||||
static void SFdrawStrings(Window w, SFDir *dir, int from, int to);
|
||||
static int SFnewInvertEntry(int n, XMotionEvent *event);
|
||||
static void SFinvertEntry(int n);
|
||||
static void SFenterList(Widget w, int n, XEnterWindowEvent *event);
|
||||
static void SFleaveList(Widget w, int n, XEvent *event);
|
||||
static void SFmotionList(Widget w, int n, XMotionEvent *event);
|
||||
static void SFvFloatSliderMovedCallback(Widget w, XtPointer n, XtPointer fnew);
|
||||
static void SFvSliderMovedCallback(Widget w, int n, int nw);
|
||||
static void SFvAreaSelectedCallback(Widget w, XtPointer n, XtPointer pnew);
|
||||
static void SFhSliderMovedCallback(Widget w, XtPointer n, XtPointer nw);
|
||||
static void SFhAreaSelectedCallback(Widget w, XtPointer n, XtPointer pnew);
|
||||
static void SFpathSliderMovedCallback(Widget w, XtPointer client_data, XtPointer nw);
|
||||
static void SFpathAreaSelectedCallback(Widget w, XtPointer client_data, XtPointer pnew);
|
||||
static Boolean SFworkProc(void);
|
||||
static int SFcompareEntries(const void *p, const void *q);
|
||||
static void SFprepareToReturn(void);
|
||||
static void SFcreateWidgets(Widget toplevel, char *prompt, char *ok, char *cancel);
|
||||
static void SFsetColors(guicolor_T bg, guicolor_T fg, guicolor_T scroll_bg, guicolor_T scrollfg);
|
||||
|
||||
/***************** xstat.h */
|
||||
|
||||
@@ -237,11 +237,10 @@ static SFLogin *SFlogins;
|
||||
|
||||
static int SFtwiddle = 0;
|
||||
|
||||
static int SFchdir __ARGS((char *path));
|
||||
static int SFchdir(char *path);
|
||||
|
||||
static int
|
||||
SFchdir(path)
|
||||
char *path;
|
||||
SFchdir(char *path)
|
||||
{
|
||||
int result;
|
||||
|
||||
@@ -257,11 +256,10 @@ SFchdir(path)
|
||||
return result;
|
||||
}
|
||||
|
||||
static void SFfree __ARGS((int i));
|
||||
static void SFfree(int i);
|
||||
|
||||
static void
|
||||
SFfree(i)
|
||||
int i;
|
||||
SFfree(int i)
|
||||
{
|
||||
SFDir *dir;
|
||||
int j;
|
||||
@@ -281,21 +279,18 @@ SFfree(i)
|
||||
dir->dir = NULL;
|
||||
}
|
||||
|
||||
static void SFstrdup __ARGS((char **s1, char *s2));
|
||||
static void SFstrdup(char **s1, char *s2);
|
||||
|
||||
static void
|
||||
SFstrdup(s1, s2)
|
||||
char **s1;
|
||||
char *s2;
|
||||
SFstrdup(char **s1, char *s2)
|
||||
{
|
||||
*s1 = strcpy(XtMalloc((unsigned)(strlen(s2) + 1)), s2);
|
||||
}
|
||||
|
||||
static void SFunreadableDir __ARGS((SFDir *dir));
|
||||
static void SFunreadableDir(SFDir *dir);
|
||||
|
||||
static void
|
||||
SFunreadableDir(dir)
|
||||
SFDir *dir;
|
||||
SFunreadableDir(SFDir *dir)
|
||||
{
|
||||
char *cannotOpen = _("<cannot open> ");
|
||||
|
||||
@@ -307,12 +302,10 @@ SFunreadableDir(dir)
|
||||
dir->nChars = strlen(cannotOpen);
|
||||
}
|
||||
|
||||
static void SFreplaceText __ARGS((SFDir *dir, char *str));
|
||||
static void SFreplaceText(SFDir *dir, char *str);
|
||||
|
||||
static void
|
||||
SFreplaceText(dir, str)
|
||||
SFDir *dir;
|
||||
char *str;
|
||||
SFreplaceText(SFDir *dir, char *str)
|
||||
{
|
||||
int len;
|
||||
|
||||
@@ -330,11 +323,10 @@ SFreplaceText(dir, str)
|
||||
SFtextChanged();
|
||||
}
|
||||
|
||||
static void SFexpand __ARGS((char *str));
|
||||
static void SFexpand(char *str);
|
||||
|
||||
static void
|
||||
SFexpand(str)
|
||||
char *str;
|
||||
SFexpand(char *str)
|
||||
{
|
||||
int len;
|
||||
int cmp;
|
||||
@@ -387,12 +379,10 @@ SFexpand(str)
|
||||
XtFree(growing);
|
||||
}
|
||||
|
||||
static int SFfindFile __ARGS((SFDir *dir, char *str));
|
||||
static int SFfindFile(SFDir *dir, char *str);
|
||||
|
||||
static int
|
||||
SFfindFile(dir, str)
|
||||
SFDir *dir;
|
||||
char *str;
|
||||
SFfindFile(SFDir *dir, char *str)
|
||||
{
|
||||
int i, last, max;
|
||||
char *name, save;
|
||||
@@ -488,10 +478,10 @@ SFfindFile(dir, str)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void SFunselect __ARGS((void));
|
||||
static void SFunselect(void);
|
||||
|
||||
static void
|
||||
SFunselect()
|
||||
SFunselect(void)
|
||||
{
|
||||
SFDir *dir;
|
||||
|
||||
@@ -502,19 +492,18 @@ SFunselect()
|
||||
dir->endSelection = -1;
|
||||
}
|
||||
|
||||
static int SFcompareLogins __ARGS((const void *p, const void *q));
|
||||
static int SFcompareLogins(const void *p, const void *q);
|
||||
|
||||
static int
|
||||
SFcompareLogins(p, q)
|
||||
const void *p, *q;
|
||||
SFcompareLogins(const void *p, const void *q)
|
||||
{
|
||||
return strcmp(((SFLogin *)p)->name, ((SFLogin *)q)->name);
|
||||
}
|
||||
|
||||
static void SFgetHomeDirs __ARGS((void));
|
||||
static void SFgetHomeDirs(void);
|
||||
|
||||
static void
|
||||
SFgetHomeDirs()
|
||||
SFgetHomeDirs(void)
|
||||
{
|
||||
struct passwd *pw;
|
||||
int Alloc;
|
||||
@@ -579,11 +568,10 @@ SFgetHomeDirs()
|
||||
(void)strcat(entries[i].real, "/");
|
||||
}
|
||||
|
||||
static int SFfindHomeDir __ARGS((char *begin, char *end));
|
||||
static int SFfindHomeDir(char *begin, char *end);
|
||||
|
||||
static int
|
||||
SFfindHomeDir(begin, end)
|
||||
char *begin, *end;
|
||||
SFfindHomeDir(char *begin, char *end)
|
||||
{
|
||||
char save;
|
||||
char *theRest;
|
||||
@@ -613,7 +601,7 @@ SFfindHomeDir(begin, end)
|
||||
}
|
||||
|
||||
static void
|
||||
SFupdatePath()
|
||||
SFupdatePath(void)
|
||||
{
|
||||
static int Alloc;
|
||||
static int wasTwiddle = 0;
|
||||
@@ -807,8 +795,7 @@ SFupdatePath()
|
||||
|
||||
#ifdef XtNinternational
|
||||
static int
|
||||
WcsLen(p)
|
||||
wchar_t *p;
|
||||
WcsLen(wchar_t *p)
|
||||
{
|
||||
int i = 0;
|
||||
while (*p++ != 0)
|
||||
@@ -818,8 +805,7 @@ WcsLen(p)
|
||||
#endif
|
||||
|
||||
static void
|
||||
SFsetText(path)
|
||||
char *path;
|
||||
SFsetText(char *path)
|
||||
{
|
||||
XawTextBlock text;
|
||||
|
||||
@@ -852,19 +838,19 @@ SFsetText(path)
|
||||
}
|
||||
|
||||
static void
|
||||
SFbuttonPressList(w, n, event)
|
||||
Widget w UNUSED;
|
||||
int n UNUSED;
|
||||
XButtonPressedEvent *event UNUSED;
|
||||
SFbuttonPressList(
|
||||
Widget w UNUSED,
|
||||
int n UNUSED,
|
||||
XButtonPressedEvent *event UNUSED)
|
||||
{
|
||||
SFbuttonPressed = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
SFbuttonReleaseList(w, n, event)
|
||||
Widget w;
|
||||
int n;
|
||||
XButtonReleasedEvent *event;
|
||||
SFbuttonReleaseList(
|
||||
Widget w,
|
||||
int n,
|
||||
XButtonReleasedEvent *event)
|
||||
{
|
||||
SFDir *dir;
|
||||
|
||||
@@ -882,12 +868,10 @@ SFbuttonReleaseList(w, n, event)
|
||||
}
|
||||
}
|
||||
|
||||
static int SFcheckDir __ARGS((int n, SFDir *dir));
|
||||
static int SFcheckDir(int n, SFDir *dir);
|
||||
|
||||
static int
|
||||
SFcheckDir(n, dir)
|
||||
int n;
|
||||
SFDir *dir;
|
||||
SFcheckDir(int n, SFDir *dir)
|
||||
{
|
||||
struct stat statBuf;
|
||||
int i;
|
||||
@@ -948,11 +932,10 @@ SFcheckDir(n, dir)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int SFcheckFiles __ARGS((SFDir *dir));
|
||||
static int SFcheckFiles(SFDir *dir);
|
||||
|
||||
static int
|
||||
SFcheckFiles(dir)
|
||||
SFDir *dir;
|
||||
SFcheckFiles(SFDir *dir)
|
||||
{
|
||||
int from, to;
|
||||
int result;
|
||||
@@ -988,9 +971,7 @@ SFcheckFiles(dir)
|
||||
}
|
||||
|
||||
static void
|
||||
SFdirModTimer(cl, id)
|
||||
XtPointer cl UNUSED;
|
||||
XtIntervalId *id UNUSED;
|
||||
SFdirModTimer(XtPointer cl UNUSED, XtIntervalId *id UNUSED)
|
||||
{
|
||||
static int n = -1;
|
||||
static int f = 0;
|
||||
@@ -1036,8 +1017,7 @@ SFdirModTimer(cl, id)
|
||||
/* Return a single character describing what kind of file STATBUF is. */
|
||||
|
||||
static char
|
||||
SFstatChar(statBuf)
|
||||
struct stat *statBuf;
|
||||
SFstatChar(struct stat *statBuf)
|
||||
{
|
||||
if (S_ISDIR (statBuf->st_mode))
|
||||
return '/';
|
||||
@@ -1097,10 +1077,10 @@ static int SFcurrentListY;
|
||||
|
||||
static XtIntervalId SFscrollTimerId;
|
||||
|
||||
static void SFinitFont __ARGS((void));
|
||||
static void SFinitFont(void);
|
||||
|
||||
static void
|
||||
SFinitFont()
|
||||
SFinitFont(void)
|
||||
{
|
||||
TextData *data;
|
||||
#ifdef FEAT_XFONTSET
|
||||
@@ -1148,10 +1128,10 @@ SFinitFont()
|
||||
#endif
|
||||
}
|
||||
|
||||
static void SFcreateGC __ARGS((void));
|
||||
static void SFcreateGC(void);
|
||||
|
||||
static void
|
||||
SFcreateGC()
|
||||
SFcreateGC(void)
|
||||
{
|
||||
XGCValues gcValues;
|
||||
XRectangle rectangles[1];
|
||||
@@ -1209,9 +1189,7 @@ SFcreateGC()
|
||||
}
|
||||
|
||||
static void
|
||||
SFclearList(n, doScroll)
|
||||
int n;
|
||||
int doScroll;
|
||||
SFclearList(int n, int doScroll)
|
||||
{
|
||||
SFDir *dir;
|
||||
|
||||
@@ -1283,12 +1261,10 @@ SFclearList(n, doScroll)
|
||||
}
|
||||
}
|
||||
|
||||
static void SFdeleteEntry __ARGS((SFDir *dir, SFEntry *entry));
|
||||
static void SFdeleteEntry(SFDir *dir, SFEntry *entry);
|
||||
|
||||
static void
|
||||
SFdeleteEntry(dir, entry)
|
||||
SFDir *dir;
|
||||
SFEntry *entry;
|
||||
SFdeleteEntry(SFDir *dir, SFEntry *entry)
|
||||
{
|
||||
SFEntry *e;
|
||||
SFEntry *end;
|
||||
@@ -1337,23 +1313,21 @@ SFdeleteEntry(dir, entry)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void SFwriteStatChar __ARGS((char *name, int last, struct stat *statBuf));
|
||||
static void SFwriteStatChar(char *name, int last, struct stat *statBuf);
|
||||
|
||||
static void
|
||||
SFwriteStatChar(name, last, statBuf)
|
||||
char *name;
|
||||
int last;
|
||||
struct stat *statBuf;
|
||||
SFwriteStatChar(
|
||||
char *name,
|
||||
int last,
|
||||
struct stat *statBuf)
|
||||
{
|
||||
name[last] = SFstatChar(statBuf);
|
||||
}
|
||||
|
||||
static int SFstatAndCheck __ARGS((SFDir *dir, SFEntry *entry));
|
||||
static int SFstatAndCheck(SFDir *dir, SFEntry *entry);
|
||||
|
||||
static int
|
||||
SFstatAndCheck(dir, entry)
|
||||
SFDir *dir;
|
||||
SFEntry *entry;
|
||||
SFstatAndCheck(SFDir *dir, SFEntry *entry)
|
||||
{
|
||||
struct stat statBuf;
|
||||
char save;
|
||||
@@ -1414,11 +1388,11 @@ SFstatAndCheck(dir, entry)
|
||||
|
||||
|
||||
static void
|
||||
SFdrawStrings(w, dir, from, to)
|
||||
Window w;
|
||||
SFDir *dir;
|
||||
int from;
|
||||
int to;
|
||||
SFdrawStrings(
|
||||
Window w,
|
||||
SFDir *dir,
|
||||
int from,
|
||||
int to)
|
||||
{
|
||||
int i;
|
||||
SFEntry *entry;
|
||||
@@ -1501,9 +1475,7 @@ SFdrawStrings(w, dir, from, to)
|
||||
}
|
||||
|
||||
static void
|
||||
SFdrawList(n, doScroll)
|
||||
int n;
|
||||
int doScroll;
|
||||
SFdrawList(int n, int doScroll)
|
||||
{
|
||||
SFDir *dir;
|
||||
Window w;
|
||||
@@ -1539,8 +1511,7 @@ SFdrawList(n, doScroll)
|
||||
}
|
||||
|
||||
static void
|
||||
SFdrawLists(doScroll)
|
||||
int doScroll;
|
||||
SFdrawLists(int doScroll)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -1549,8 +1520,7 @@ SFdrawLists(doScroll)
|
||||
}
|
||||
|
||||
static void
|
||||
SFinvertEntry(n)
|
||||
int n;
|
||||
SFinvertEntry(int n)
|
||||
{
|
||||
XFillRectangle(
|
||||
SFdisplay,
|
||||
@@ -1562,10 +1532,10 @@ SFinvertEntry(n)
|
||||
SFentryHeight);
|
||||
}
|
||||
|
||||
static unsigned long SFscrollTimerInterval __ARGS((void));
|
||||
static unsigned long SFscrollTimerInterval(void);
|
||||
|
||||
static unsigned long
|
||||
SFscrollTimerInterval()
|
||||
SFscrollTimerInterval(void)
|
||||
{
|
||||
static int maxVal = 200;
|
||||
static int varyDist = 50;
|
||||
@@ -1591,12 +1561,10 @@ SFscrollTimerInterval()
|
||||
return (unsigned long)t;
|
||||
}
|
||||
|
||||
static void SFscrollTimer __ARGS((XtPointer p, XtIntervalId *id));
|
||||
static void SFscrollTimer(XtPointer p, XtIntervalId *id);
|
||||
|
||||
static void
|
||||
SFscrollTimer(p, id)
|
||||
XtPointer p;
|
||||
XtIntervalId *id UNUSED;
|
||||
SFscrollTimer(XtPointer p, XtIntervalId *id UNUSED)
|
||||
{
|
||||
SFDir *dir;
|
||||
int save;
|
||||
@@ -1646,9 +1614,7 @@ SFscrollTimer(p, id)
|
||||
}
|
||||
|
||||
static int
|
||||
SFnewInvertEntry(n, event)
|
||||
int n;
|
||||
XMotionEvent *event;
|
||||
SFnewInvertEntry(int n, XMotionEvent *event)
|
||||
{
|
||||
int x, y;
|
||||
int nw;
|
||||
@@ -1693,10 +1659,7 @@ SFnewInvertEntry(n, event)
|
||||
}
|
||||
|
||||
static void
|
||||
SFenterList(w, n, event)
|
||||
Widget w UNUSED;
|
||||
int n;
|
||||
XEnterWindowEvent *event;
|
||||
SFenterList(Widget w UNUSED, int n, XEnterWindowEvent *event)
|
||||
{
|
||||
int nw;
|
||||
|
||||
@@ -1716,10 +1679,7 @@ SFenterList(w, n, event)
|
||||
}
|
||||
|
||||
static void
|
||||
SFleaveList(w, n, event)
|
||||
Widget w UNUSED;
|
||||
int n;
|
||||
XEvent *event UNUSED;
|
||||
SFleaveList(Widget w UNUSED, int n, XEvent *event UNUSED)
|
||||
{
|
||||
if (SFcurrentInvert[n] != -1)
|
||||
{
|
||||
@@ -1729,10 +1689,7 @@ SFleaveList(w, n, event)
|
||||
}
|
||||
|
||||
static void
|
||||
SFmotionList(w, n, event)
|
||||
Widget w UNUSED;
|
||||
int n;
|
||||
XMotionEvent *event;
|
||||
SFmotionList(Widget w UNUSED, int n, XMotionEvent *event)
|
||||
{
|
||||
int nw;
|
||||
|
||||
@@ -1749,10 +1706,7 @@ SFmotionList(w, n, event)
|
||||
}
|
||||
|
||||
static void
|
||||
SFvFloatSliderMovedCallback(w, n, fnew)
|
||||
Widget w;
|
||||
XtPointer n;
|
||||
XtPointer fnew;
|
||||
SFvFloatSliderMovedCallback(Widget w, XtPointer n, XtPointer fnew)
|
||||
{
|
||||
int nw;
|
||||
|
||||
@@ -1761,10 +1715,7 @@ SFvFloatSliderMovedCallback(w, n, fnew)
|
||||
}
|
||||
|
||||
static void
|
||||
SFvSliderMovedCallback(w, n, nw)
|
||||
Widget w UNUSED;
|
||||
int n;
|
||||
int nw;
|
||||
SFvSliderMovedCallback(Widget w UNUSED, int n, int nw)
|
||||
{
|
||||
int old;
|
||||
Window win;
|
||||
@@ -1846,10 +1797,7 @@ SFvSliderMovedCallback(w, n, nw)
|
||||
}
|
||||
|
||||
static void
|
||||
SFvAreaSelectedCallback(w, n, pnew)
|
||||
Widget w;
|
||||
XtPointer n;
|
||||
XtPointer pnew;
|
||||
SFvAreaSelectedCallback(Widget w, XtPointer n, XtPointer pnew)
|
||||
{
|
||||
SFDir *dir;
|
||||
int nw = (int)(long)pnew;
|
||||
@@ -1906,10 +1854,7 @@ SFvAreaSelectedCallback(w, n, pnew)
|
||||
}
|
||||
|
||||
static void
|
||||
SFhSliderMovedCallback(w, n, nw)
|
||||
Widget w UNUSED;
|
||||
XtPointer n;
|
||||
XtPointer nw;
|
||||
SFhSliderMovedCallback(Widget w UNUSED, XtPointer n, XtPointer nw)
|
||||
{
|
||||
SFDir *dir;
|
||||
int save;
|
||||
@@ -1924,10 +1869,7 @@ SFhSliderMovedCallback(w, n, nw)
|
||||
}
|
||||
|
||||
static void
|
||||
SFhAreaSelectedCallback(w, n, pnew)
|
||||
Widget w;
|
||||
XtPointer n;
|
||||
XtPointer pnew;
|
||||
SFhAreaSelectedCallback(Widget w, XtPointer n, XtPointer pnew)
|
||||
{
|
||||
SFDir *dir;
|
||||
int nw = (int)(long)pnew;
|
||||
@@ -1984,10 +1926,10 @@ SFhAreaSelectedCallback(w, n, pnew)
|
||||
}
|
||||
|
||||
static void
|
||||
SFpathSliderMovedCallback(w, client_data, nw)
|
||||
Widget w UNUSED;
|
||||
XtPointer client_data UNUSED;
|
||||
XtPointer nw;
|
||||
SFpathSliderMovedCallback(
|
||||
Widget w UNUSED,
|
||||
XtPointer client_data UNUSED,
|
||||
XtPointer nw)
|
||||
{
|
||||
SFDir *dir;
|
||||
int n;
|
||||
@@ -2020,10 +1962,10 @@ SFpathSliderMovedCallback(w, client_data, nw)
|
||||
}
|
||||
|
||||
static void
|
||||
SFpathAreaSelectedCallback(w, client_data, pnew)
|
||||
Widget w;
|
||||
XtPointer client_data UNUSED;
|
||||
XtPointer pnew;
|
||||
SFpathAreaSelectedCallback(
|
||||
Widget w,
|
||||
XtPointer client_data UNUSED,
|
||||
XtPointer pnew)
|
||||
{
|
||||
int nw = (int)(long)pnew;
|
||||
float f;
|
||||
@@ -2071,7 +2013,7 @@ SFpathAreaSelectedCallback(w, client_data, pnew)
|
||||
}
|
||||
|
||||
static Boolean
|
||||
SFworkProc()
|
||||
SFworkProc(void)
|
||||
{
|
||||
SFDir *dir;
|
||||
SFEntry *entry;
|
||||
@@ -2100,16 +2042,14 @@ SFworkProc()
|
||||
/***************** Dir.c */
|
||||
|
||||
static int
|
||||
SFcompareEntries(p, q)
|
||||
const void *p;
|
||||
const void *q;
|
||||
SFcompareEntries(const void *p, const void *q)
|
||||
{
|
||||
return strcmp(((SFEntry *)p)->real, ((SFEntry *)q)->real);
|
||||
return strcmp(((SFEntry *)p)->real, ((SFEntry *)q)->real);
|
||||
}
|
||||
|
||||
static int
|
||||
SFgetDir(dir)
|
||||
SFDir *dir;
|
||||
SFgetDir(
|
||||
SFDir *dir)
|
||||
{
|
||||
SFEntry *result = NULL;
|
||||
int Alloc = 0;
|
||||
@@ -2191,14 +2131,14 @@ static char *oneLineTextEditTranslations = "\
|
||||
Ctrl<Key>M: redraw-display()\n\
|
||||
";
|
||||
|
||||
static void SFexposeList __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont));
|
||||
static void SFexposeList(Widget w, XtPointer n, XEvent *event, Boolean *cont);
|
||||
|
||||
static void
|
||||
SFexposeList(w, n, event, cont)
|
||||
Widget w UNUSED;
|
||||
XtPointer n;
|
||||
XEvent *event;
|
||||
Boolean *cont UNUSED;
|
||||
SFexposeList(
|
||||
Widget w UNUSED,
|
||||
XtPointer n,
|
||||
XEvent *event,
|
||||
Boolean *cont UNUSED)
|
||||
{
|
||||
if ((event->type == NoExpose) || event->xexpose.count)
|
||||
return;
|
||||
@@ -2206,14 +2146,14 @@ SFexposeList(w, n, event, cont)
|
||||
SFdrawList((int)(long)n, SF_DO_NOT_SCROLL);
|
||||
}
|
||||
|
||||
static void SFmodVerifyCallback __ARGS((Widget w, XtPointer client_data, XEvent *event, Boolean *cont));
|
||||
static void SFmodVerifyCallback(Widget w, XtPointer client_data, XEvent *event, Boolean *cont);
|
||||
|
||||
static void
|
||||
SFmodVerifyCallback(w, client_data, event, cont)
|
||||
Widget w UNUSED;
|
||||
XtPointer client_data UNUSED;
|
||||
XEvent *event;
|
||||
Boolean *cont UNUSED;
|
||||
SFmodVerifyCallback(
|
||||
Widget w UNUSED,
|
||||
XtPointer client_data UNUSED,
|
||||
XEvent *event,
|
||||
Boolean *cont UNUSED)
|
||||
{
|
||||
char buf[2];
|
||||
|
||||
@@ -2224,13 +2164,10 @@ SFmodVerifyCallback(w, client_data, event, cont)
|
||||
SFstatus = SEL_FILE_TEXT;
|
||||
}
|
||||
|
||||
static void SFokCallback __ARGS((Widget w, XtPointer cl, XtPointer cd));
|
||||
static void SFokCallback(Widget w, XtPointer cl, XtPointer cd);
|
||||
|
||||
static void
|
||||
SFokCallback(w, cl, cd)
|
||||
Widget w UNUSED;
|
||||
XtPointer cl UNUSED;
|
||||
XtPointer cd UNUSED;
|
||||
SFokCallback(Widget w UNUSED, XtPointer cl UNUSED, XtPointer cd UNUSED)
|
||||
{
|
||||
SFstatus = SEL_FILE_OK;
|
||||
}
|
||||
@@ -2241,13 +2178,10 @@ static XtCallbackRec SFokSelect[] =
|
||||
{ NULL, (XtPointer) NULL },
|
||||
};
|
||||
|
||||
static void SFcancelCallback __ARGS((Widget w, XtPointer cl, XtPointer cd));
|
||||
static void SFcancelCallback(Widget w, XtPointer cl, XtPointer cd);
|
||||
|
||||
static void
|
||||
SFcancelCallback(w, cl, cd)
|
||||
Widget w UNUSED;
|
||||
XtPointer cl UNUSED;
|
||||
XtPointer cd UNUSED;
|
||||
SFcancelCallback(Widget w UNUSED, XtPointer cl UNUSED, XtPointer cd UNUSED)
|
||||
{
|
||||
SFstatus = SEL_FILE_CANCEL;
|
||||
}
|
||||
@@ -2258,14 +2192,14 @@ static XtCallbackRec SFcancelSelect[] =
|
||||
{ NULL, (XtPointer) NULL },
|
||||
};
|
||||
|
||||
static void SFdismissAction __ARGS((Widget w, XEvent *event, String *params, Cardinal *num_params));
|
||||
static void SFdismissAction(Widget w, XEvent *event, String *params, Cardinal *num_params);
|
||||
|
||||
static void
|
||||
SFdismissAction(w, event, params, num_params)
|
||||
Widget w UNUSED;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
SFdismissAction(
|
||||
Widget w UNUSED,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
if (event->type == ClientMessage
|
||||
&& (Atom)event->xclient.data.l[0] != SFwmDeleteWindow)
|
||||
@@ -2284,11 +2218,11 @@ static XtActionsRec actions[] =
|
||||
};
|
||||
|
||||
static void
|
||||
SFsetColors(bg, fg, scroll_bg, scroll_fg)
|
||||
guicolor_T bg;
|
||||
guicolor_T fg;
|
||||
guicolor_T scroll_bg;
|
||||
guicolor_T scroll_fg;
|
||||
SFsetColors(
|
||||
guicolor_T bg,
|
||||
guicolor_T fg,
|
||||
guicolor_T scroll_bg,
|
||||
guicolor_T scroll_fg)
|
||||
{
|
||||
if (selFileForm)
|
||||
{
|
||||
@@ -2366,11 +2300,11 @@ SFsetColors(bg, fg, scroll_bg, scroll_fg)
|
||||
}
|
||||
|
||||
static void
|
||||
SFcreateWidgets(toplevel, prompt, ok, cancel)
|
||||
Widget toplevel;
|
||||
char *prompt;
|
||||
char *ok;
|
||||
char *cancel;
|
||||
SFcreateWidgets(
|
||||
Widget toplevel,
|
||||
char *prompt,
|
||||
char *ok,
|
||||
char *cancel)
|
||||
{
|
||||
Cardinal n;
|
||||
int listWidth, listHeight;
|
||||
@@ -2686,7 +2620,7 @@ SFcreateWidgets(toplevel, prompt, ok, cancel)
|
||||
}
|
||||
|
||||
static void
|
||||
SFtextChanged()
|
||||
SFtextChanged(void)
|
||||
{
|
||||
#if defined(FEAT_XFONTSET) && defined(XtNinternational)
|
||||
if ((unsigned long)_XawTextFormat((TextWidget)selFileField) == XawFmtWide)
|
||||
@@ -2730,7 +2664,7 @@ SFtextChanged()
|
||||
}
|
||||
|
||||
static char *
|
||||
SFgetText()
|
||||
SFgetText(void)
|
||||
{
|
||||
#if defined(FEAT_XFONTSET) && defined(XtNinternational)
|
||||
char *buf;
|
||||
@@ -2756,7 +2690,7 @@ SFgetText()
|
||||
}
|
||||
|
||||
static void
|
||||
SFprepareToReturn()
|
||||
SFprepareToReturn(void)
|
||||
{
|
||||
SFstatus = SEL_FILE_NULL;
|
||||
XtRemoveGrab(selFile);
|
||||
@@ -2770,14 +2704,17 @@ SFprepareToReturn()
|
||||
}
|
||||
|
||||
char *
|
||||
vim_SelFile(toplevel, prompt, init_path, show_entry, x, y, fg, bg, scroll_fg, scroll_bg)
|
||||
Widget toplevel;
|
||||
char *prompt;
|
||||
char *init_path;
|
||||
int (*show_entry)();
|
||||
int x, y;
|
||||
guicolor_T fg, bg;
|
||||
guicolor_T scroll_fg, scroll_bg; /* The "Scrollbar" group colors */
|
||||
vim_SelFile(
|
||||
Widget toplevel,
|
||||
char *prompt,
|
||||
char *init_path,
|
||||
int (*show_entry)(),
|
||||
int x,
|
||||
int y,
|
||||
guicolor_T fg,
|
||||
guicolor_T bg,
|
||||
guicolor_T scroll_fg,
|
||||
guicolor_T scroll_bg) /* The "Scrollbar" group colors */
|
||||
{
|
||||
static int firstTime = 1;
|
||||
XEvent event;
|
||||
|
||||
+117
-139
@@ -125,27 +125,27 @@ static XtResource resources[] =
|
||||
};
|
||||
#undef Offset
|
||||
|
||||
static void ClassInitialize __ARGS((void));
|
||||
static void Initialize __ARGS((Widget, Widget, ArgList, Cardinal *));
|
||||
static void Destroy __ARGS((Widget));
|
||||
static void Realize __ARGS((Widget, Mask *, XSetWindowAttributes *));
|
||||
static void Resize __ARGS((Widget));
|
||||
static void Redisplay __ARGS((Widget, XEvent *, Region));
|
||||
static Boolean SetValues __ARGS((Widget, Widget, Widget, ArgList, Cardinal *));
|
||||
static void ClassInitialize(void);
|
||||
static void Initialize(Widget, Widget, ArgList, Cardinal *);
|
||||
static void Destroy(Widget);
|
||||
static void Realize(Widget, Mask *, XSetWindowAttributes *);
|
||||
static void Resize(Widget);
|
||||
static void Redisplay(Widget, XEvent *, Region);
|
||||
static Boolean SetValues(Widget, Widget, Widget, ArgList, Cardinal *);
|
||||
|
||||
static void HandleThumb __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void MoveThumb __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void NotifyThumb __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void NotifyScroll __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void EndScroll __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void ScrollOneLineUp __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void ScrollOneLineDown __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void ScrollPageUp __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void ScrollPageDown __ARGS((Widget, XEvent *, String *, Cardinal *));
|
||||
static void ScrollSome __ARGS((Widget w, XEvent *event, int call_data));
|
||||
static void _Xaw3dDrawShadows __ARGS((Widget, XEvent *, Region, int));
|
||||
static void AllocTopShadowGC __ARGS((Widget));
|
||||
static void AllocBotShadowGC __ARGS((Widget));
|
||||
static void HandleThumb(Widget, XEvent *, String *, Cardinal *);
|
||||
static void MoveThumb(Widget, XEvent *, String *, Cardinal *);
|
||||
static void NotifyThumb(Widget, XEvent *, String *, Cardinal *);
|
||||
static void NotifyScroll(Widget, XEvent *, String *, Cardinal *);
|
||||
static void EndScroll(Widget, XEvent *, String *, Cardinal *);
|
||||
static void ScrollOneLineUp(Widget, XEvent *, String *, Cardinal *);
|
||||
static void ScrollOneLineDown(Widget, XEvent *, String *, Cardinal *);
|
||||
static void ScrollPageUp(Widget, XEvent *, String *, Cardinal *);
|
||||
static void ScrollPageDown(Widget, XEvent *, String *, Cardinal *);
|
||||
static void ScrollSome(Widget w, XEvent *event, int call_data);
|
||||
static void _Xaw3dDrawShadows(Widget, XEvent *, Region, int);
|
||||
static void AllocTopShadowGC(Widget);
|
||||
static void AllocBotShadowGC(Widget);
|
||||
|
||||
static XtActionsRec actions[] =
|
||||
{
|
||||
@@ -222,7 +222,7 @@ WidgetClass vim_scrollbarWidgetClass = (WidgetClass)&vim_scrollbarClassRec;
|
||||
#define PAGE_REPEAT 250
|
||||
|
||||
static void
|
||||
ClassInitialize()
|
||||
ClassInitialize(void)
|
||||
{
|
||||
XawInitializeWidgetSet();
|
||||
XtAddConverter( XtRString, XtROrientation, XmuCvtStringToOrientation,
|
||||
@@ -232,11 +232,12 @@ ClassInitialize()
|
||||
#define MARGIN(sbw) (sbw)->scrollbar.thickness + (sbw)->scrollbar.shadow_width
|
||||
|
||||
static void
|
||||
FillArea(sbw, top, bottom, fill, draw_shadow)
|
||||
ScrollbarWidget sbw;
|
||||
Position top, bottom;
|
||||
int fill;
|
||||
int draw_shadow;
|
||||
FillArea(
|
||||
ScrollbarWidget sbw,
|
||||
Position top,
|
||||
Position bottom,
|
||||
int fill,
|
||||
int draw_shadow)
|
||||
{
|
||||
int tlen = bottom - top; /* length of thumb in pixels */
|
||||
int sw, margin, floor;
|
||||
@@ -340,8 +341,7 @@ FillArea(sbw, top, bottom, fill, draw_shadow)
|
||||
*/
|
||||
|
||||
static void
|
||||
PaintThumb(sbw)
|
||||
ScrollbarWidget sbw;
|
||||
PaintThumb(ScrollbarWidget sbw)
|
||||
{
|
||||
Position oldtop, oldbot, newtop, newbot;
|
||||
Dimension margin, tzl;
|
||||
@@ -374,8 +374,7 @@ PaintThumb(sbw)
|
||||
}
|
||||
|
||||
static void
|
||||
PaintArrows(sbw)
|
||||
ScrollbarWidget sbw;
|
||||
PaintArrows(ScrollbarWidget sbw)
|
||||
{
|
||||
XPoint point[6];
|
||||
Dimension thickness = sbw->scrollbar.thickness - 1;
|
||||
@@ -454,8 +453,7 @@ PaintArrows(sbw)
|
||||
}
|
||||
|
||||
static void
|
||||
Destroy(w)
|
||||
Widget w;
|
||||
Destroy(Widget w)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
if (sbw->scrollbar.timer_id != (XtIntervalId) 0)
|
||||
@@ -466,8 +464,7 @@ Destroy(w)
|
||||
}
|
||||
|
||||
static void
|
||||
CreateGC(w)
|
||||
Widget w;
|
||||
CreateGC(Widget w)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
XGCValues gcValues;
|
||||
@@ -505,8 +502,7 @@ CreateGC(w)
|
||||
}
|
||||
|
||||
static void
|
||||
SetDimensions(sbw)
|
||||
ScrollbarWidget sbw;
|
||||
SetDimensions(ScrollbarWidget sbw)
|
||||
{
|
||||
if (sbw->scrollbar.orientation == XtorientVertical)
|
||||
{
|
||||
@@ -521,11 +517,11 @@ SetDimensions(sbw)
|
||||
}
|
||||
|
||||
static void
|
||||
Initialize(request, new, args, num_args)
|
||||
Widget request UNUSED; /* what the client asked for */
|
||||
Widget new; /* what we're going to give him */
|
||||
ArgList args UNUSED;
|
||||
Cardinal *num_args UNUSED;
|
||||
Initialize(
|
||||
Widget request UNUSED, /* what the client asked for */
|
||||
Widget new, /* what we're going to give him */
|
||||
ArgList args UNUSED,
|
||||
Cardinal *num_args UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) new;
|
||||
|
||||
@@ -549,10 +545,10 @@ Initialize(request, new, args, num_args)
|
||||
}
|
||||
|
||||
static void
|
||||
Realize(w, valueMask, attributes)
|
||||
Widget w;
|
||||
Mask *valueMask;
|
||||
XSetWindowAttributes *attributes;
|
||||
Realize(
|
||||
Widget w,
|
||||
Mask *valueMask,
|
||||
XSetWindowAttributes *attributes)
|
||||
{
|
||||
/* The Simple widget actually stuffs the value in the valuemask. */
|
||||
(*vim_scrollbarWidgetClass->core_class.superclass->core_class.realize)
|
||||
@@ -560,12 +556,12 @@ Realize(w, valueMask, attributes)
|
||||
}
|
||||
|
||||
static Boolean
|
||||
SetValues(current, request, desired, args, num_args)
|
||||
Widget current; /* what I am */
|
||||
Widget request UNUSED; /* what he wants me to be */
|
||||
Widget desired; /* what I will become */
|
||||
ArgList args UNUSED;
|
||||
Cardinal *num_args UNUSED;
|
||||
SetValues(
|
||||
Widget current, /* what I am */
|
||||
Widget request UNUSED, /* what he wants me to be */
|
||||
Widget desired, /* what I will become */
|
||||
ArgList args UNUSED,
|
||||
Cardinal *num_args UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) current;
|
||||
ScrollbarWidget dsbw = (ScrollbarWidget) desired;
|
||||
@@ -601,8 +597,7 @@ SetValues(current, request, desired, args, num_args)
|
||||
}
|
||||
|
||||
static void
|
||||
Resize(w)
|
||||
Widget w;
|
||||
Resize(Widget w)
|
||||
{
|
||||
/* ForgetGravity has taken care of background, but thumb may
|
||||
* have to move as a result of the new size. */
|
||||
@@ -612,10 +607,7 @@ Resize(w)
|
||||
|
||||
|
||||
static void
|
||||
Redisplay(w, event, region)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
Region region;
|
||||
Redisplay(Widget w, XEvent *event, Region region)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
int x, y;
|
||||
@@ -650,8 +642,7 @@ Redisplay(w, event, region)
|
||||
|
||||
|
||||
static Boolean
|
||||
CompareEvents(oldEvent, newEvent)
|
||||
XEvent *oldEvent, *newEvent;
|
||||
CompareEvents(XEvent *oldEvent, XEvent *newEvent)
|
||||
{
|
||||
#define Check(field) if (newEvent->field != oldEvent->field) return False;
|
||||
|
||||
@@ -693,10 +684,7 @@ struct EventData
|
||||
};
|
||||
|
||||
static Bool
|
||||
PeekNotifyEvent(dpy, event, args)
|
||||
Display *dpy;
|
||||
XEvent *event;
|
||||
char *args;
|
||||
PeekNotifyEvent(Display *dpy, XEvent *event, char *args)
|
||||
{
|
||||
struct EventData *eventData = (struct EventData*)args;
|
||||
|
||||
@@ -706,9 +694,7 @@ PeekNotifyEvent(dpy, event, args)
|
||||
|
||||
|
||||
static Boolean
|
||||
LookAhead(w, event)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
LookAhead(Widget w, XEvent *event)
|
||||
{
|
||||
XEvent newEvent;
|
||||
struct EventData eventData;
|
||||
@@ -726,10 +712,11 @@ LookAhead(w, event)
|
||||
|
||||
|
||||
static void
|
||||
ExtractPosition(event, x, y, state)
|
||||
XEvent *event;
|
||||
Position *x, *y; /* RETURN */
|
||||
unsigned int *state; /* RETURN */
|
||||
ExtractPosition(
|
||||
XEvent *event,
|
||||
Position *x, /* RETURN */
|
||||
Position *y, /* RETURN */
|
||||
unsigned int *state) /* RETURN */
|
||||
{
|
||||
switch (event->type)
|
||||
{
|
||||
@@ -768,11 +755,11 @@ ExtractPosition(event, x, y, state)
|
||||
}
|
||||
|
||||
static void
|
||||
HandleThumb(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params;
|
||||
Cardinal *num_params;
|
||||
HandleThumb(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params,
|
||||
Cardinal *num_params)
|
||||
{
|
||||
Position x, y, loc;
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
@@ -791,9 +778,7 @@ HandleThumb(w, event, params, num_params)
|
||||
}
|
||||
|
||||
static void
|
||||
RepeatNotify(client_data, idp)
|
||||
XtPointer client_data;
|
||||
XtIntervalId *idp UNUSED;
|
||||
RepeatNotify(XtPointer client_data, XtIntervalId *idp UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) client_data;
|
||||
int call_data;
|
||||
@@ -833,57 +818,56 @@ RepeatNotify(client_data, idp)
|
||||
* Same as above, but for floating numbers.
|
||||
*/
|
||||
static float
|
||||
FloatInRange(num, small, big)
|
||||
float num, small, big;
|
||||
FloatInRange(float num, float small, float big)
|
||||
{
|
||||
return (num < small) ? small : ((num > big) ? big : num);
|
||||
}
|
||||
|
||||
static void
|
||||
ScrollOneLineUp(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
ScrollOneLineUp(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollSome(w, event, -ONE_LINE_DATA);
|
||||
}
|
||||
|
||||
static void
|
||||
ScrollOneLineDown(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
ScrollOneLineDown(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollSome(w, event, ONE_LINE_DATA);
|
||||
}
|
||||
|
||||
static void
|
||||
ScrollPageDown(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
ScrollPageDown(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollSome(w, event, ONE_PAGE_DATA);
|
||||
}
|
||||
|
||||
static void
|
||||
ScrollPageUp(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
ScrollPageUp(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollSome(w, event, -ONE_PAGE_DATA);
|
||||
}
|
||||
|
||||
static void
|
||||
ScrollSome(w, event, call_data)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
int call_data;
|
||||
ScrollSome(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
int call_data)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
|
||||
@@ -898,11 +882,11 @@ ScrollSome(w, event, call_data)
|
||||
}
|
||||
|
||||
static void
|
||||
NotifyScroll(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
NotifyScroll(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
Position x, y, loc;
|
||||
@@ -987,11 +971,11 @@ NotifyScroll(w, event, params, num_params)
|
||||
}
|
||||
|
||||
static void
|
||||
EndScroll(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event UNUSED;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
EndScroll(
|
||||
Widget w,
|
||||
XEvent *event UNUSED,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
|
||||
@@ -1002,9 +986,7 @@ EndScroll(w, event, params, num_params)
|
||||
}
|
||||
|
||||
static float
|
||||
FractionLoc(sbw, x, y)
|
||||
ScrollbarWidget sbw;
|
||||
int x, y;
|
||||
FractionLoc(ScrollbarWidget sbw, int x, int y)
|
||||
{
|
||||
int margin;
|
||||
float height, width;
|
||||
@@ -1018,11 +1000,11 @@ FractionLoc(sbw, x, y)
|
||||
}
|
||||
|
||||
static void
|
||||
MoveThumb(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
MoveThumb(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget)w;
|
||||
Position x, y;
|
||||
@@ -1063,11 +1045,11 @@ MoveThumb(w, event, params, num_params)
|
||||
|
||||
|
||||
static void
|
||||
NotifyThumb(w, event, params, num_params)
|
||||
Widget w;
|
||||
XEvent *event;
|
||||
String *params UNUSED;
|
||||
Cardinal *num_params UNUSED;
|
||||
NotifyThumb(
|
||||
Widget w,
|
||||
XEvent *event,
|
||||
String *params UNUSED,
|
||||
Cardinal *num_params UNUSED)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget)w;
|
||||
/* Use a union to avoid a warning for the weird conversion from float to
|
||||
@@ -1089,8 +1071,7 @@ NotifyThumb(w, event, params, num_params)
|
||||
}
|
||||
|
||||
static void
|
||||
AllocTopShadowGC(w)
|
||||
Widget w;
|
||||
AllocTopShadowGC(Widget w)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
XtGCMask valuemask;
|
||||
@@ -1102,8 +1083,7 @@ AllocTopShadowGC(w)
|
||||
}
|
||||
|
||||
static void
|
||||
AllocBotShadowGC(w)
|
||||
Widget w;
|
||||
AllocBotShadowGC(Widget w)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
XtGCMask valuemask;
|
||||
@@ -1115,11 +1095,11 @@ AllocBotShadowGC(w)
|
||||
}
|
||||
|
||||
static void
|
||||
_Xaw3dDrawShadows(gw, event, region, out)
|
||||
Widget gw;
|
||||
XEvent *event UNUSED;
|
||||
Region region;
|
||||
int out;
|
||||
_Xaw3dDrawShadows(
|
||||
Widget gw,
|
||||
XEvent *event UNUSED,
|
||||
Region region,
|
||||
int out)
|
||||
{
|
||||
XPoint pt[6];
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) gw;
|
||||
@@ -1187,9 +1167,7 @@ _Xaw3dDrawShadows(gw, event, region, out)
|
||||
* Set the scroll bar to the given location.
|
||||
*/
|
||||
void
|
||||
vim_XawScrollbarSetThumb(w, top, shown, max)
|
||||
Widget w;
|
||||
double top, shown, max;
|
||||
vim_XawScrollbarSetThumb(Widget w, double top, double shown, double max)
|
||||
{
|
||||
ScrollbarWidget sbw = (ScrollbarWidget) w;
|
||||
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ typedef struct _ScrollbarClassRec *ScrollbarWidgetClass;
|
||||
|
||||
extern WidgetClass vim_scrollbarWidgetClass;
|
||||
|
||||
extern void vim_XawScrollbarSetThumb __ARGS((Widget, double, double, double));
|
||||
extern void vim_XawScrollbarSetThumb(Widget, double, double, double);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user