mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
57 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 06f8b8e667 | |||
| 4116a647ac | |||
| c902609f69 | |||
| a0a6f2776e | |||
| c8aa5fbeb7 | |||
| 19a3d68b2c | |||
| 2a6a6c3014 | |||
| 712549e04e | |||
| f33606112a | |||
| 5ece3e359c | |||
| 0aa398f55a | |||
| c233aed6c3 | |||
| 3a497e1a41 | |||
| c958b31638 | |||
| 9c2f5e7b8d | |||
| f52c383156 | |||
| 65ed136844 | |||
| c79977a437 | |||
| 660b85e39a | |||
| a5e6621aad | |||
| 816968defc | |||
| 7bfaf0665e | |||
| d371bbe0ab | |||
| db51007108 | |||
| 24a98a0eb7 | |||
| 9cf39cc57f | |||
| 1ec96c9269 | |||
| 0410900dea | |||
| d1bc96ce24 | |||
| 1b38344e00 | |||
| 97fbc404fc | |||
| 2a02745709 | |||
| 09ca932f8e | |||
| 6edeaf387c | |||
| a8fc0d3817 | |||
| 22ab547dc2 | |||
| 7c456a4511 | |||
| 783f28115f | |||
| 452030e530 | |||
| 0c6a32963d | |||
| 0b05e491b4 | |||
| aeddf7cbe5 | |||
| e0de17d84e | |||
| 378daf87d3 | |||
| 96e7a6ee45 | |||
| bb3e6416f1 | |||
| a21a6a9ade | |||
| eb163d73b1 | |||
| e745d75c3e | |||
| 0263146b5d | |||
| 53f8174eae | |||
| 76301956f0 | |||
| f3d769a585 | |||
| 8b21de33bb | |||
| c9262f4ff3 | |||
| fc7649f8b8 | |||
| b00fdf6eed |
@@ -136,6 +136,7 @@ SRC_ALL = \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/if_ver*.vim \
|
||||
src/testdir/xterm_ramp.vim \
|
||||
src/proto.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/blowfish.pro \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 8.0. Last change: 2017 Sep 02
|
||||
*diff.txt* For Vim version 8.0. Last change: 2017 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -10,7 +10,7 @@ eight versions of the same file.
|
||||
|
||||
The basics are explained in section |08.7| of the user manual.
|
||||
|
||||
1. Starting diff mode |vimdiff|
|
||||
1. Starting diff mode |start-vimdiff|
|
||||
2. Viewing diffs |view-diffs|
|
||||
3. Jumping to diffs |jumpto-diffs|
|
||||
4. Copying diffs |copy-diffs|
|
||||
@@ -19,7 +19,7 @@ The basics are explained in section |08.7| of the user manual.
|
||||
{not in Vi}
|
||||
|
||||
==============================================================================
|
||||
1. Starting diff mode
|
||||
1. Starting diff mode *start-vimdiff*
|
||||
|
||||
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
||||
This starts Vim as usual, and additionally sets up for viewing the differences
|
||||
|
||||
+11
-5
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 19
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -796,11 +796,17 @@ make the items look like icons.
|
||||
If the items do not fit then the last ones cannot be used. The toolbar does
|
||||
not wrap.
|
||||
|
||||
Note that Vim may be in any mode when executing these commands. The menu
|
||||
should be defined for Normal mode and will be executed without changing the
|
||||
current mode. Thus if the current window is in Visual mode and the menu
|
||||
command does not intentionally change the mode, Vim will remain in Visual
|
||||
mode. Best is to use `:nnoremenu` to avoid side effects.
|
||||
|
||||
Example for debugger tools: >
|
||||
amenu 1.10 WinBar.Step :Step<CR>
|
||||
amenu 1.20 WinBar.Next :Next<CR>
|
||||
amenu 1.30 WinBar.Finish :Finish<CR>
|
||||
amenu 1.40 WinBar.Cont :Continue<CR>
|
||||
nnoremenu 1.10 WinBar.Step :Step<CR>
|
||||
nnoremenu 1.20 WinBar.Next :Next<CR>
|
||||
nnoremenu 1.30 WinBar.Finish :Finish<CR>
|
||||
nnoremenu 1.40 WinBar.Cont :Continue<CR>
|
||||
<
|
||||
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.0. Last change: 2017 Sep 17
|
||||
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -29,7 +29,7 @@ manual.
|
||||
1. Key mapping *key-mapping* *mapping* *macro*
|
||||
|
||||
Key mapping is used to change the meaning of typed keys. The most common use
|
||||
is to define a sequence commands for a function key. Example: >
|
||||
is to define a sequence of commands for a function key. Example: >
|
||||
|
||||
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Sep 16
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Sep 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -4504,8 +4504,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
1 over-the-spot style
|
||||
See: |xim-input-style|
|
||||
|
||||
For a long time on-the-spot sytle had been used in GTK version of vim,
|
||||
however, it is known that it causes troubles when using mappings,
|
||||
For a long time on-the-spot style had been used in the GTK version of
|
||||
vim, however, it is known that it causes troubles when using mappings,
|
||||
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
||||
default now. This should work fine for most people, however if you
|
||||
have any problem with it, try using on-the-spot style.
|
||||
@@ -8466,7 +8466,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Save the whole buffer for undo when reloading it. This applies to the
|
||||
":e!" command and reloading for when the buffer changed outside of
|
||||
Vim. |FileChangedShell|
|
||||
The save only happens when this options is negative or when the number
|
||||
The save only happens when this option is negative or when the number
|
||||
of lines is smaller than the value of this option.
|
||||
Set this option to zero to disable undo for a reload.
|
||||
|
||||
|
||||
@@ -8565,6 +8565,7 @@ star pattern.txt /*star*
|
||||
starstar editing.txt /*starstar*
|
||||
starstar-wildcard editing.txt /*starstar-wildcard*
|
||||
start-of-file pattern.txt /*start-of-file*
|
||||
start-vimdiff diff.txt /*start-vimdiff*
|
||||
starting starting.txt /*starting*
|
||||
starting-amiga starting.txt /*starting-amiga*
|
||||
starting.txt starting.txt /*starting.txt*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Sep 17
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -81,7 +81,14 @@ themselves (like Vim does).
|
||||
|
||||
To change the keys you type use terminal mode mappings, see |:tmap|.
|
||||
These are defined like any mapping, but apply only when typing keys that are
|
||||
sent to the job running in the terminal.
|
||||
sent to the job running in the terminal. For example, to make Escape switch
|
||||
to Terminal-Normal mode: >
|
||||
tnoremap <Esc> <C-W>N
|
||||
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the window and buffer. Example: >
|
||||
au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||
|
||||
|
||||
Size and color ~
|
||||
@@ -328,7 +335,7 @@ Load the plugin with this command: >
|
||||
packadd termdebug
|
||||
< *:Termdebug*
|
||||
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
||||
:TermDebug vim
|
||||
:Termdebug vim
|
||||
|
||||
This opens two windows:
|
||||
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||
@@ -352,6 +359,62 @@ When the debugger ends, typically by typing "quit" in the gdb window, the two
|
||||
opened windows are closed.
|
||||
|
||||
|
||||
Example session ~
|
||||
|
||||
Start in the Vim "src" directory and build Vim: >
|
||||
% make
|
||||
Start Vim: >
|
||||
% ./vim
|
||||
Load the termdebug plugin and start debugging Vim: >
|
||||
:packadd termdebug
|
||||
:Termdebug vim
|
||||
You should now have three windows:
|
||||
source - where you started, has a window toolbar with buttons
|
||||
gdb - you can type gdb commands here
|
||||
program - the executed program will use this window
|
||||
You can use CTRL-W CTRL-W or the mouse to move focus between windows.
|
||||
Put focus on the gdb window and type: >
|
||||
break ex_help
|
||||
run
|
||||
Vim will start running in the program window. Put focus there and type: >
|
||||
:help gui
|
||||
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||
ex_cmds.c file. A ">>" marker will appear where the breakpoint was set. The
|
||||
line where the debugger stopped is highlighted. You can now step through the
|
||||
program. Let's use the mouse: click on the "Next" button in the window
|
||||
toolbar. You will see the highlighting move as the debugger executes a line
|
||||
of source code.
|
||||
|
||||
Click "Next" a few times until the for loop is highlighted. Put the cursor on
|
||||
the end of "eap->arg", then click "Eval" in the toolbar. You will see this
|
||||
displayed:
|
||||
"eap->arg": 0x555555e68855 "gui" ~
|
||||
This way you can inspect the value of local variables. You can also focus the
|
||||
gdb window and use a "print" command, e.g.: >
|
||||
print *eap
|
||||
|
||||
Now go back to the source window and put the cursor on the first line after
|
||||
the for loop, then type: >
|
||||
:Break
|
||||
You will see a ">>" marker appear, this indicates the new breakpoint. Now
|
||||
click "Cont" in the toolbar and the code until the breakpoint will be
|
||||
executed.
|
||||
|
||||
You can type more advanced commands in the gdb window. For example, type: >
|
||||
watch curbuf
|
||||
Now click "Cont" in the toolbar (or type "cont" in the gdb window). Execution
|
||||
will now continue until the value of "curbuf" changes, which is in do_ecmd().
|
||||
To remove this watchpoint again type in the gdb window: >
|
||||
delete 3
|
||||
|
||||
You can see the stack by typing in the gdb window: >
|
||||
where
|
||||
Move through the stack frames, e.g. with: >
|
||||
frame 3
|
||||
The source window will show the code, at the point where the call was made to
|
||||
a deeper level.
|
||||
|
||||
|
||||
Stepping through code ~
|
||||
|
||||
Put focus on the gdb window to type commands there. Some common ones are:
|
||||
@@ -410,7 +473,7 @@ To change the name of the gdb command, set the "termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let termdebugger = "mygdb"
|
||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||
interface.
|
||||
interface. This probably requires gdb version 7.12.
|
||||
|
||||
The color of the signs can be adjusted with these highlight groups:
|
||||
- debugPC the current position
|
||||
@@ -429,6 +492,10 @@ vertical split: >
|
||||
let g:termdebug_wide = 163
|
||||
This will set &columns to 163 when :Termdebug is used. The value is restored
|
||||
when quitting the debugger.
|
||||
If g:termdebug_wide is set and &Columns is already larger than
|
||||
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||
for when the terminal can't be resized by Vim).
|
||||
|
||||
|
||||
|
||||
|
||||
+22
-26
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Sep 19
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Sep 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,17 +35,16 @@ entered there will not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
MS-Windows build and installer improvements:
|
||||
- Switch to VC2015 for building. (Ken Takata, 2017 Sep 21)
|
||||
Check resulting binary on XP.
|
||||
- Patch to install 32 and 64 bit Gvimext and related dll files. (Ken Takata,
|
||||
2017 Sep 23, #2144)
|
||||
|
||||
:term hangs in Athena and Motif. (Kazunobu Kuriyama, 2017 Sep 17)
|
||||
|
||||
Always use FEAT_WINDOWS:
|
||||
May get rid of:
|
||||
#define W_WINCOL(wp) (wp->w_wincol)
|
||||
#define W_WIDTH(wp) (wp->w_width)
|
||||
#define W_ENDCOL(wp) (wp->w_wincol + wp->w_width)
|
||||
#define W_VSEP_WIDTH(wp) (wp->w_vsep_width)
|
||||
#define W_STATUS_HEIGHT(wp) (wp->w_status_height)
|
||||
#define W_WINROW(wp) (wp->w_winrow)
|
||||
# define ALIST(win) (win)->w_alist
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
No maintainer for Vietnamese translations.
|
||||
No maintainer for Simplified Chinese translations.
|
||||
@@ -70,6 +69,8 @@ Terminal emulator window:
|
||||
with the expected screenshot. Set t_Co to 256.
|
||||
|
||||
+channel:
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
@@ -94,6 +95,8 @@ Terminal emulator window:
|
||||
Although user could use "xterm -e 'cmd arg'".
|
||||
|
||||
Regexp problems:
|
||||
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||
characters, esp. including 0xa0. Use character class zero.
|
||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||
(Manuel Ortega, 2016 Apr 24)
|
||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||
@@ -149,14 +152,11 @@ Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
||||
Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
|
||||
Patch to update Brazilian translations. (Eduardo Dobay, 2017 Sep 10, #2077)
|
||||
Include solarized color scheme?
|
||||
|
||||
When starting with --clean packages under "start" are not loaded. Make this
|
||||
work: :packadd START {name} similar to :runtime START name
|
||||
|
||||
Patch to refactor qf_jump(). (Yegappan, 2017 Sep 17)
|
||||
|
||||
When using :packadd files under "later" are not used, which is inconsistent
|
||||
with packages under "start". (xtal8, #1994)
|
||||
|
||||
@@ -175,14 +175,19 @@ Patch for not profiling the first line of a script. (Lemonboy, 2017 Sep 17,
|
||||
Mac Terminal.app: ctermbg=15 gives light grey instead of white.
|
||||
ctermbg=256 breaks clearing till end of the line. Both work fine in xterm.
|
||||
|
||||
Patch to avoid `rb_load_protect` as a workaround not to crash (#2147)
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
||||
Update 2016 Aug 10.
|
||||
|
||||
Using ":hi" causes a redraw, but a redraw may update the status line, which
|
||||
may trigger a ":hi" command.
|
||||
|
||||
Last line not in profile if it is a continuation line. (LemonBoy, 2017 Sep 17,
|
||||
#2112)
|
||||
|
||||
"vim -c startinsert!" doesn't append. (#2117)
|
||||
|
||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||
(Marcin Szewczyk, 2017 Apr 26)
|
||||
|
||||
@@ -203,6 +208,7 @@ Patch to make ":set scroll&" work properly. (Ozaki Kiichi, 2017 Sep 17, #2104)
|
||||
|
||||
mswin.vim should not map CTRL-F in the console (#2093)
|
||||
Patch from Christian, 2017 Sep 15.
|
||||
Installer patch from Ken Takata, link on #2093.
|
||||
|
||||
Default install on MS-Windows should source defaults.vim.
|
||||
Ask whether to use Windows or Vim key behavior?
|
||||
@@ -324,8 +330,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
|
||||
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||
8, #1690)
|
||||
|
||||
Include solarized color scheme?
|
||||
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif?
|
||||
|
||||
@@ -660,11 +664,6 @@ Patch to improve map documentation. Issue #799.
|
||||
|
||||
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
||||
Update 2016 Aug 10.
|
||||
|
||||
We can use '. to go to the last change in the current buffer, but how about
|
||||
the last change in any buffer? Can we use ', (, is next to .)?
|
||||
|
||||
@@ -2236,9 +2235,6 @@ with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
|
||||
go to Insert mode and add a few lines. Then backspacing every other time
|
||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||
|
||||
Windows installer should install 32-bit version of right-click handler also on
|
||||
64-bit systems. (Brian Cunningham, 2011 Dec 28)
|
||||
|
||||
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
||||
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
||||
Just have two choices, always using one Vim and selecting between using an
|
||||
|
||||
+1
-1
@@ -325,7 +325,7 @@ You can still edit the buffer, but will be prevented from accidentally
|
||||
overwriting a file.
|
||||
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
||||
as in ":w!".
|
||||
The \-R option also implies the \-n option (see below).
|
||||
The \-R option also implies the \-n option (see above).
|
||||
The 'readonly' option can be reset with ":set noro".
|
||||
See ":help 'readonly'".
|
||||
.TP
|
||||
|
||||
+1
-1
@@ -225,7 +225,7 @@ OPTIONS
|
||||
dentally overwriting a file. If you do want to overwrite a
|
||||
file, add an exclamation mark to the Ex command, as in
|
||||
":w!". The -R option also implies the -n option (see
|
||||
below). The 'readonly' option can be reset with ":set
|
||||
above). The 'readonly' option can be reset with ":set
|
||||
noro". See ":help 'readonly'".
|
||||
|
||||
-r List swap files, with information about using them for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 08
|
||||
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -619,7 +619,8 @@ The minimal height and width of a window is set with 'winminheight' and
|
||||
41. :buffers list of buffers
|
||||
|
||||
The meaning of [N] depends on the command:
|
||||
[N] is number of buffers to go forward/backward on ?2, ?3, and ?4
|
||||
[N] is the number of buffers to go forward/backward on 2/12/22/32,
|
||||
3/13/23/33, and 4/14/24/34
|
||||
[N] is an argument number, defaulting to current argument, for 1 and 21
|
||||
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
||||
[N] is a count for 19 and 39
|
||||
|
||||
+4
-2
@@ -1,6 +1,6 @@
|
||||
" Vim script for Evim key bindings
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Jul 24
|
||||
" Last Change: 2017 Sep 20
|
||||
|
||||
" Don't use Vi-compatible mode.
|
||||
set nocompatible
|
||||
@@ -67,8 +67,10 @@ endif " has("autocmd")
|
||||
"
|
||||
" The matchit plugin makes the % command work better, but it is not backwards
|
||||
" compatible.
|
||||
" The ! means the package won't be loaded right away but when plugins are
|
||||
" loaded during initialization.
|
||||
if has('syntax') && has('eval')
|
||||
packadd matchit
|
||||
packadd! matchit
|
||||
endif
|
||||
|
||||
" vim: set sw=2 :
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Last Change: 2017 Aug 30
|
||||
" Last Change: 2017 Sep 24
|
||||
"
|
||||
" Licence: The CMake license applies to this file. See
|
||||
" https://cmake.org/licensing
|
||||
@@ -14,7 +14,6 @@ if exists("b:did_indent")
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal et
|
||||
setlocal indentexpr=CMakeGetIndent(v:lnum)
|
||||
setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
|
||||
|
||||
@@ -67,19 +66,19 @@ fun! CMakeGetIndent(lnum)
|
||||
let ind = ind
|
||||
else
|
||||
if previous_line =~? cmake_indent_begin_regex
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
if previous_line =~? cmake_indent_open_regex
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
" Subtract
|
||||
if this_line =~? cmake_indent_end_regex
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
if previous_line =~? cmake_indent_close_regex
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
+11
-9
@@ -43,12 +43,14 @@ func s:StartDebug(cmd)
|
||||
let s:startwin = win_getid(winnr())
|
||||
let s:startsigncolumn = &signcolumn
|
||||
|
||||
if exists('g:termdebug_wide') && &columns < g:termdebug_wide
|
||||
let s:save_columns = &columns
|
||||
let &columns = g:termdebug_wide
|
||||
let s:save_columns = 0
|
||||
if exists('g:termdebug_wide')
|
||||
if &columns < g:termdebug_wide
|
||||
let s:save_columns = &columns
|
||||
let &columns = g:termdebug_wide
|
||||
endif
|
||||
let vertical = 1
|
||||
else
|
||||
let s:save_columns = 0
|
||||
let vertical = 0
|
||||
endif
|
||||
|
||||
@@ -175,11 +177,11 @@ func s:InstallCommands()
|
||||
nnoremap K :Evaluate<CR>
|
||||
|
||||
if has('menu')
|
||||
amenu WinBar.Step :Step<CR>
|
||||
amenu WinBar.Next :Over<CR>
|
||||
amenu WinBar.Finish :Finish<CR>
|
||||
amenu WinBar.Cont :Continue<CR>
|
||||
amenu WinBar.Eval :Evaluate<CR>
|
||||
nnoremenu WinBar.Step :Step<CR>
|
||||
nnoremenu WinBar.Next :Over<CR>
|
||||
nnoremenu WinBar.Finish :Finish<CR>
|
||||
nnoremenu WinBar.Cont :Continue<CR>
|
||||
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||
endif
|
||||
endfunc
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" An example for a vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2016 Jul 28
|
||||
" Last change: 2017 Sep 20
|
||||
"
|
||||
" To use it, copy it to
|
||||
" for Unix and OS/2: ~/.vimrc
|
||||
@@ -53,6 +53,8 @@ endif " has("autocmd")
|
||||
"
|
||||
" The matchit plugin makes the % command work better, but it is not backwards
|
||||
" compatible.
|
||||
" The ! means the package won't be loaded right away but when plugins are
|
||||
" loaded during initialization.
|
||||
if has('syntax') && has('eval')
|
||||
packadd matchit
|
||||
packadd! matchit
|
||||
endif
|
||||
|
||||
+34
-15
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1611" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment version="1050" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="MMPreferenceController">
|
||||
@@ -14,7 +13,7 @@
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<userDefaultsController representsSharedInstance="YES" id="58" userLabel="Shared Defaults"/>
|
||||
<customView id="115" userLabel="General">
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="290"/>
|
||||
@@ -25,7 +24,7 @@
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Keep MacVim Running" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="960" id="979">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<menu key="menu" title="OtherViews" id="959">
|
||||
<items>
|
||||
<menuItem title="Keep MacVim Running" state="on" id="960"/>
|
||||
@@ -52,7 +51,7 @@
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="and set the arglist" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="436" id="978">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<menu key="menu" title="OtherViews" id="429">
|
||||
<items>
|
||||
<menuItem title="with a tab for each file" tag="3" id="430"/>
|
||||
@@ -181,12 +180,12 @@
|
||||
</textField>
|
||||
</subviews>
|
||||
</customView>
|
||||
<customView misplaced="YES" id="620" userLabel="Advanced">
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="222"/>
|
||||
<customView id="620" userLabel="Advanced">
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="318"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" id="826">
|
||||
<rect key="frame" x="17" y="74" width="449" height="56"/>
|
||||
<rect key="frame" x="17" y="170" width="449" height="56"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="993">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
@@ -196,7 +195,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="817">
|
||||
<rect key="frame" x="18" y="132" width="133" height="18"/>
|
||||
<rect key="frame" x="18" y="228" width="133" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Quickstart" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="992">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -208,7 +207,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="815">
|
||||
<rect key="frame" x="17" y="156" width="449" height="28"/>
|
||||
<rect key="frame" x="17" y="252" width="449" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="991">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
@@ -218,7 +217,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="782">
|
||||
<rect key="frame" x="18" y="186" width="174" height="18"/>
|
||||
<rect key="frame" x="18" y="282" width="174" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Use Core Text renderer" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="990">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -229,7 +228,28 @@
|
||||
<binding destination="58" name="value" keyPath="values.MMRenderer" id="1000"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" misplaced="YES" id="1017">
|
||||
<textField verticalHuggingPriority="750" id="1001">
|
||||
<rect key="frame" x="17" y="74" width="444" height="70"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="1004">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">This option causes marked text to be rendered like normal text which is very convenient when using a complex input method (e.g. Kotoeri). However, it has some known limitations which may be circumvented by disabling this option (e.g. mapping to "dead keys" may not work). Note that without this option the Core Text renderer will not draw marked text at all.</string>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="1013">
|
||||
<rect key="frame" x="18" y="146" width="174" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Draw marked text inline" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1014">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="value" keyPath="values.MMUseInlineIm" id="1016"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="1017">
|
||||
<rect key="frame" x="17" y="20" width="415" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="1020">
|
||||
@@ -239,7 +259,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button misplaced="YES" id="1028">
|
||||
<button id="1028">
|
||||
<rect key="frame" x="18" y="50" width="388" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Prefer native full-screen support (requires Mac OS X 10.7)" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="1029">
|
||||
@@ -251,7 +271,6 @@
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<point key="canvasLocation" x="54.5" y="-249"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
Binary file not shown.
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>137</string>
|
||||
<string>138</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
@@ -227,6 +227,9 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
[NSNumber numberWithBool:NO], MMVerticalSplitKey,
|
||||
[NSNumber numberWithInt:0], MMPreloadCacheSizeKey,
|
||||
[NSNumber numberWithInt:0], MMLastWindowClosedBehaviorKey,
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
[NSNumber numberWithBool:YES], MMUseInlineImKey,
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
[NSNumber numberWithBool:NO], MMSuppressTerminationAlertKey,
|
||||
[NSNumber numberWithBool:YES], MMNativeFullScreenKey,
|
||||
[NSNumber numberWithDouble:0.25], MMFullScreenFadeTimeKey,
|
||||
|
||||
@@ -2092,8 +2092,6 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
[self setImState:NO];
|
||||
} else if (BackingPropertiesChangedMsgID == msgid) {
|
||||
[self redrawScreen];
|
||||
} else if (RedrawBlockMsgID == msgid) {
|
||||
[self handleRedrawBlock:data];
|
||||
} else {
|
||||
ASLogWarn(@"Unknown message received (msgid=%d)", msgid);
|
||||
}
|
||||
@@ -3010,17 +3008,6 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)handleRedrawBlock:(NSData *)data
|
||||
{
|
||||
const void *bytes = [data bytes];
|
||||
int row1 = *((int*)bytes); bytes += sizeof(int);
|
||||
int col1 = *((int*)bytes); bytes += sizeof(int);
|
||||
int row2 = *((int*)bytes); bytes += sizeof(int);
|
||||
int col2 = *((int*)bytes);
|
||||
|
||||
gui_redraw_block(row1, col1, row2, col2, GUI_MON_NOCLEAR);
|
||||
}
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
- (void)bevalCallback:(id)sender
|
||||
{
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
int maxRows, maxColumns;
|
||||
NSColor *defaultBackgroundColor;
|
||||
NSColor *defaultForegroundColor;
|
||||
int defaultBackgroundHexColor;
|
||||
int defaultForegroundHexColor;
|
||||
NSSize cellSize;
|
||||
NSFont *font;
|
||||
NSFont *fontWide;
|
||||
@@ -53,12 +51,6 @@
|
||||
void *trackingRectUserData_;
|
||||
NSTrackingRectTag lastToolTipTag_;
|
||||
NSString* toolTip_;
|
||||
|
||||
NSUInteger markedRangeLength;
|
||||
int markedTextStartRow;
|
||||
int markedTextStartColumn;
|
||||
int markedTextEndRow;
|
||||
int markedTextEndColumn;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(NSRect)frame;
|
||||
@@ -95,10 +87,8 @@
|
||||
- (void)setLigatures:(BOOL)state;
|
||||
- (void)setThinStrokes:(BOOL)state;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)setInlineIm:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
- (void)clearMarkedText;
|
||||
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column;
|
||||
- (NSRect)rectForRow:(int)row column:(int)column numRows:(int)nr
|
||||
numColumns:(int)nc;
|
||||
|
||||
@@ -205,13 +205,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
if (defaultBackgroundColor != bgColor) {
|
||||
[defaultBackgroundColor release];
|
||||
defaultBackgroundColor = bgColor ? [bgColor retain] : nil;
|
||||
if (bgColor) {
|
||||
defaultBackgroundHexColor =
|
||||
(int)(bgColor.blueComponent * 0xff) |
|
||||
((int)(bgColor.greenComponent * 0xff) << 8) |
|
||||
((int)(bgColor.redComponent * 0xff) << 16) |
|
||||
(0xff << 24);
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: The default foreground color isn't actually used for anything, but
|
||||
@@ -220,13 +213,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
if (defaultForegroundColor != fgColor) {
|
||||
[defaultForegroundColor release];
|
||||
defaultForegroundColor = fgColor ? [fgColor retain] : nil;
|
||||
if (fgColor) {
|
||||
defaultForegroundHexColor =
|
||||
(int)(fgColor.blueComponent * 0xff) |
|
||||
((int)(fgColor.greenComponent * 0xff) << 8) |
|
||||
((int)(fgColor.redComponent * 0xff) << 16) |
|
||||
(0xff << 24);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,11 +425,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[helper setImControl:enable];
|
||||
}
|
||||
|
||||
- (void)setInlineIm:(BOOL)enable
|
||||
{
|
||||
[helper setInlineIm:enable];
|
||||
}
|
||||
|
||||
- (void)activateIm:(BOOL)enable
|
||||
{
|
||||
[helper activateIm:enable];
|
||||
@@ -513,23 +494,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[helper setMarkedText:text selectedRange:range];
|
||||
}
|
||||
|
||||
- (void)clearMarkedText
|
||||
{
|
||||
if (![helper inlineIm]) {
|
||||
[self redrawMarkedTextBlock];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)redrawMarkedTextBlock
|
||||
{
|
||||
NSMutableData *data = [NSMutableData data];
|
||||
[data appendBytes:&markedTextStartRow length:sizeof(int)];
|
||||
[data appendBytes:&markedTextStartColumn length:sizeof(int)];
|
||||
[data appendBytes:&markedTextEndRow length:sizeof(int)];
|
||||
[data appendBytes:&markedTextEndColumn length:sizeof(int)];
|
||||
[[self vimController] sendMessage:RedrawBlockMsgID data:data];
|
||||
}
|
||||
|
||||
- (void)unmarkText
|
||||
{
|
||||
[helper unmarkText];
|
||||
@@ -683,40 +647,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
|
||||
[drawData removeAllObjects];
|
||||
}
|
||||
|
||||
if ([helper hasMarkedText] && ![helper inlineIm]) {
|
||||
NSString *text = [[helper markedText] string];
|
||||
// Draw marked text
|
||||
CFStringRef sref = (__bridge CFStringRef)text;
|
||||
CFIndex unilength = CFStringGetLength(sref);
|
||||
const UniChar *unichars = CFStringGetCharactersPtr(sref);
|
||||
UniChar *buffer = NULL;
|
||||
if (unichars == NULL) {
|
||||
buffer = malloc(unilength * sizeof(UniChar));
|
||||
CFStringGetCharacters(sref, CFRangeMake(0, unilength), buffer);
|
||||
unichars = buffer;
|
||||
}
|
||||
|
||||
int row = [helper preEditRow];
|
||||
int col = [helper preEditColumn];
|
||||
|
||||
markedTextStartRow = row;
|
||||
markedTextEndRow = row;
|
||||
markedTextStartColumn = col;
|
||||
markedTextEndColumn = col + unilength * 2;
|
||||
|
||||
[self drawString:unichars length:unilength
|
||||
atRow:row column:col cells:(unilength * 2)
|
||||
withFlags:(DRAW_WIDE|DRAW_UNDERL)
|
||||
foregroundColor:defaultForegroundHexColor
|
||||
backgroundColor:defaultBackgroundHexColor
|
||||
specialColor:defaultForegroundHexColor];
|
||||
|
||||
if (buffer) {
|
||||
free(buffer);
|
||||
buffer = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)performBatchDrawWithData:(NSData *)data
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
- (void)setLigatures:(BOOL)ligatures;
|
||||
- (void)setThinStrokes:(BOOL)thinStrokes;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)setInlineIm:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
|
||||
@@ -75,5 +74,4 @@
|
||||
- (void)deleteSign:(NSString *)signName;
|
||||
- (void)setToolTipAtMousePoint:(NSString *)string;
|
||||
- (void)setCGLayerEnabled:(BOOL)enabled;
|
||||
- (void)clearMarkedText;
|
||||
@end
|
||||
|
||||
+6
-11
@@ -322,11 +322,6 @@
|
||||
[helper setImControl:enable];
|
||||
}
|
||||
|
||||
- (void)setInlineIm:(BOOL)enable
|
||||
{
|
||||
[helper setInlineIm:enable];
|
||||
}
|
||||
|
||||
- (void)activateIm:(BOOL)enable
|
||||
{
|
||||
[helper activateIm:enable];
|
||||
@@ -562,7 +557,8 @@
|
||||
numInvertRects = 0;
|
||||
}
|
||||
|
||||
if ([self hasMarkedText] && ![helper inlineIm]) {
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
if ([self hasMarkedText] && ![helper useInlineIm]) {
|
||||
shouldDrawInsertionPoint = YES;
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
NSSize inset = [self textContainerInset];
|
||||
@@ -620,6 +616,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
|
||||
if (shouldDrawInsertionPoint) {
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
@@ -629,8 +626,9 @@
|
||||
ipRect.origin.x += [self textContainerOrigin].x;
|
||||
ipRect.origin.y += [self textContainerOrigin].y;
|
||||
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
// Draw insertion point inside marked text.
|
||||
if ([self hasMarkedText] && ![helper inlineIm]) {
|
||||
if ([self hasMarkedText] && ![helper useInlineIm]) {
|
||||
NSFont *theFont = [[self markedTextAttributes]
|
||||
valueForKey:NSFontAttributeName];
|
||||
if (theFont == [ts font])
|
||||
@@ -642,6 +640,7 @@
|
||||
([helper imRange].location +
|
||||
[helper imRange].length);
|
||||
}
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
|
||||
if (MMInsertionPointHorizontal == insertionPointShape) {
|
||||
int frac = ([ts cellSize].height * insertionPointFraction + 99)/100;
|
||||
@@ -731,10 +730,6 @@
|
||||
[helper unmarkText];
|
||||
}
|
||||
|
||||
- (void)clearMarkedText
|
||||
{
|
||||
}
|
||||
|
||||
- (NSRect)firstRectForCharacterRange:(NSRange)range
|
||||
{
|
||||
return [helper firstRectForCharacterRange:range];
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
NSMutableAttributedString *markedText;
|
||||
int preEditRow;
|
||||
int preEditColumn;
|
||||
BOOL inlineIm;
|
||||
BOOL imControl;
|
||||
BOOL imState;
|
||||
TISInputSourceRef lastImSource;
|
||||
@@ -91,8 +90,7 @@
|
||||
- (NSRect)firstRectForCharacterRange:(NSRange)range;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)setInlineIm:(BOOL)enable;
|
||||
- (BOOL)inlineIm;
|
||||
- (BOOL)useInlineIm;
|
||||
- (void)checkImState;
|
||||
|
||||
@end
|
||||
|
||||
@@ -213,7 +213,6 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
// called the input manager expects the marked text to be unmarked
|
||||
// automatically, hence the explicit unmarkText: call here.
|
||||
[self unmarkText];
|
||||
[textView clearMarkedText];
|
||||
}
|
||||
|
||||
// NOTE: 'string' is either an NSString or an NSAttributedString. Since we
|
||||
@@ -318,7 +317,6 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
// marked text moves outside the view as a result of scrolling.
|
||||
[self sendMarkedText:nil position:0];
|
||||
[self unmarkText];
|
||||
[textView clearMarkedText];
|
||||
[[NSTextInputContext currentInputContext] discardMarkedText];
|
||||
}
|
||||
|
||||
@@ -618,7 +616,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
ASLogDebug(@"text='%@' range=%@", text, NSStringFromRange(range));
|
||||
[self unmarkText];
|
||||
|
||||
if (inlineIm) {
|
||||
if ([self useInlineIm]) {
|
||||
if ([text isKindOfClass:[NSAttributedString class]])
|
||||
text = [text string];
|
||||
|
||||
@@ -631,6 +629,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
if (!(text && [text length] > 0))
|
||||
return;
|
||||
|
||||
@@ -670,6 +669,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
}
|
||||
|
||||
[textView setNeedsDisplay:YES];
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
}
|
||||
|
||||
- (void)unmarkText
|
||||
@@ -813,14 +813,14 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setInlineIm:(BOOL)enable
|
||||
- (BOOL)useInlineIm
|
||||
{
|
||||
inlineIm = enable;
|
||||
}
|
||||
|
||||
- (BOOL)inlineIm
|
||||
{
|
||||
return inlineIm;
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
return [ud boolForKey:MMUseInlineImKey];
|
||||
#else
|
||||
return YES;
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
}
|
||||
|
||||
- (void)checkImState
|
||||
@@ -1064,7 +1064,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
|
||||
- (void)sendMarkedText:(NSString *)text position:(int32_t)pos
|
||||
{
|
||||
if (!inlineIm)
|
||||
if (![self useInlineIm])
|
||||
return;
|
||||
|
||||
NSMutableData *data = [NSMutableData data];
|
||||
|
||||
@@ -833,10 +833,6 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
[[[windowController vimView] textView] activateIm:YES];
|
||||
} else if (DeactivateKeyScriptMsgID == msgid) {
|
||||
[[[windowController vimView] textView] activateIm:NO];
|
||||
} else if (EnableInlineImMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setInlineIm:YES];
|
||||
} else if (DisableInlineImMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setInlineIm:NO];
|
||||
} else if (EnableImControlMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setImControl:YES];
|
||||
} else if (DisableImControlMsgID == msgid) {
|
||||
|
||||
@@ -251,9 +251,6 @@ enum {
|
||||
DisableLigaturesMsgID,
|
||||
EnableThinStrokesMsgID,
|
||||
DisableThinStrokesMsgID,
|
||||
EnableInlineImMsgID,
|
||||
DisableInlineImMsgID,
|
||||
RedrawBlockMsgID,
|
||||
LastMsgID // NOTE: MUST BE LAST MESSAGE IN ENUM!
|
||||
};
|
||||
|
||||
|
||||
@@ -105,9 +105,6 @@ char *MessageStrings[] =
|
||||
"DisableLigaturesMsgID",
|
||||
"EnableThinStrokesMsgID",
|
||||
"DisableThinStrokesMsgID",
|
||||
"EnableInlineImMsgID",
|
||||
"DisableInlineImMsgID",
|
||||
"RedrawBlockMsgID",
|
||||
"END OF MESSAGE IDs" // NOTE: Must be last!
|
||||
};
|
||||
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
#import "MacVim.h"
|
||||
|
||||
|
||||
// TODO: Remove this when the inline IM code has been tested
|
||||
#define INCLUDE_OLD_IM_CODE
|
||||
|
||||
|
||||
// NSUserDefaults keys
|
||||
extern NSString *MMTabMinWidthKey;
|
||||
extern NSString *MMTabMaxWidthKey;
|
||||
@@ -41,6 +45,9 @@ extern NSString *MMOpenLayoutKey;
|
||||
extern NSString *MMVerticalSplitKey;
|
||||
extern NSString *MMPreloadCacheSizeKey;
|
||||
extern NSString *MMLastWindowClosedBehaviorKey;
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
extern NSString *MMUseInlineImKey;
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
extern NSString *MMSuppressTerminationAlertKey;
|
||||
extern NSString *MMNativeFullScreenKey;
|
||||
extern NSString *MMUseMouseTimeKey;
|
||||
|
||||
@@ -41,6 +41,9 @@ NSString *MMOpenLayoutKey = @"MMOpenLayout";
|
||||
NSString *MMVerticalSplitKey = @"MMVerticalSplit";
|
||||
NSString *MMPreloadCacheSizeKey = @"MMPreloadCacheSize";
|
||||
NSString *MMLastWindowClosedBehaviorKey = @"MMLastWindowClosedBehavior";
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
NSString *MMUseInlineImKey = @"MMUseInlineIm";
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
NSString *MMSuppressTerminationAlertKey = @"MMSuppressTerminationAlert";
|
||||
NSString *MMNativeFullScreenKey = @"MMNativeFullScreen";
|
||||
NSString *MMUseMouseTimeKey = @"MMUseMouseTime";
|
||||
|
||||
@@ -264,8 +264,6 @@ gui_mch_init(void)
|
||||
gui_mch_adjust_charheight();
|
||||
gui_mch_adjust_charwidth();
|
||||
|
||||
gui_macvim_set_imstyle(p_imst);
|
||||
|
||||
if (!MMNoMRU && GARGCOUNT > 0) {
|
||||
// Add files passed on command line to MRU.
|
||||
NSMutableArray *filenames = [NSMutableArray array];
|
||||
@@ -1333,15 +1331,6 @@ im_get_status(void)
|
||||
|
||||
|
||||
|
||||
void
|
||||
gui_macvim_set_imstyle(long imstyle)
|
||||
{
|
||||
int msgid = imstyle == IM_ON_THE_SPOT ?
|
||||
EnableInlineImMsgID : DisableInlineImMsgID;
|
||||
[[MMBackend sharedInstance] queueMessage:msgid properties:nil];
|
||||
}
|
||||
|
||||
|
||||
|
||||
// -- Find & Replace dialog -------------------------------------------------
|
||||
|
||||
|
||||
@@ -50,3 +50,5 @@ CROSS_COMPILE = i686-pc-mingw32-
|
||||
# Do not change this.
|
||||
UNDER_CYGWIN = yes
|
||||
include Make_cyg_ming.mak
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
|
||||
|
||||
+25
-22
@@ -913,60 +913,58 @@ endif
|
||||
$(MAKE) -C xxd -f Make_ming.mak clean
|
||||
|
||||
###########################################################################
|
||||
INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
|
||||
structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
gui.h
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h $(NBDEBUG_INCL)
|
||||
GUI_INCL = gui.h gui_beval.h
|
||||
CUI_INCL = iscygpty.h
|
||||
|
||||
$(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
|
||||
$(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)
|
||||
$(OUTDIR)/if_python3.o: if_python3.c if_py_both.h $(INCL)
|
||||
$(CC) -c $(CFLAGS) $(PYTHON3INC) $(PYTHON3_HOME_DEF) $< -o $@
|
||||
|
||||
$(OUTDIR)/%.o : %.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
$(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
|
||||
$(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
|
||||
$(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
|
||||
--input-format=rc --output-format=coff -i vim.rc -o $@
|
||||
|
||||
$(OUTDIR):
|
||||
$(MKDIR) $(OUTDIR)
|
||||
|
||||
$(OUTDIR)/channel.o: channel.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) channel.c -o $(OUTDIR)/channel.o
|
||||
|
||||
$(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
|
||||
$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
|
||||
|
||||
$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
|
||||
$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
|
||||
|
||||
$(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
|
||||
$(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
|
||||
|
||||
$(OUTDIR)/gui_w32.o: gui_w32.c $(INCL)
|
||||
$(OUTDIR)/gui.o: gui.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui.c -o $(OUTDIR)/gui.o
|
||||
|
||||
$(OUTDIR)/gui_beval.o: gui_beval.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui_beval.c -o $(OUTDIR)/gui_beval.o
|
||||
|
||||
$(OUTDIR)/gui_w32.o: gui_w32.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
|
||||
|
||||
$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
|
||||
$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
|
||||
|
||||
$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
|
||||
$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) $(MZSCHEME_INCL) $(MZ_EXTRA_DEP)
|
||||
$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
|
||||
|
||||
mzscheme_base.c:
|
||||
$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
|
||||
|
||||
# Remove -D__IID_DEFINED__ for newer versions of the w32api
|
||||
$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
|
||||
$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) if_ole.h
|
||||
$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
|
||||
|
||||
if_perl.c: if_perl.xs typemap
|
||||
if_perl.c: if_perl.xs typemap
|
||||
$(XSUBPP) -prototypes -typemap \
|
||||
$(PERLTYPEMAP) if_perl.xs -output $@
|
||||
|
||||
$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
|
||||
$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
|
||||
ifeq (16, $(RUBY))
|
||||
$(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
|
||||
endif
|
||||
@@ -974,13 +972,16 @@ endif
|
||||
$(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
|
||||
|
||||
$(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
|
||||
$(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) main.c -o $(OUTDIR)/main.o
|
||||
|
||||
$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
|
||||
$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(OUTDIR)/os_win32.o: os_win32.c $(INCL) $(MZSCHEME_INCL)
|
||||
$(CC) -c $(CFLAGS) os_win32.c -o $(OUTDIR)/os_win32.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
|
||||
|
||||
$(OUTDIR)/terminal.o: terminal.c $(INCL) $(TERM_DEPS)
|
||||
@@ -1042,3 +1043,5 @@ else
|
||||
@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
|
||||
@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
|
||||
endif
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
|
||||
|
||||
@@ -47,3 +47,5 @@
|
||||
# Do not change this.
|
||||
UNDER_CYGWIN = no
|
||||
include Make_cyg_ming.mak
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
|
||||
|
||||
+10
-20
@@ -673,9 +673,9 @@ CFLAGS = $(CFLAGS) /Zl /MTd
|
||||
! endif
|
||||
!endif # DEBUG
|
||||
|
||||
INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
|
||||
proto.h option.h structs.h term.h $(CSCOPE_INCL) \
|
||||
$(NBDEBUG_INCL)
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h $(NBDEBUG_INCL)
|
||||
|
||||
OBJ = \
|
||||
$(OUTDIR)\arabic.obj \
|
||||
@@ -774,18 +774,7 @@ RCFLAGS = $(RCFLAGS) -DFEAT_GUI_W32
|
||||
VIM = g$(VIM)
|
||||
GUI_INCL = \
|
||||
gui.h \
|
||||
regexp.h \
|
||||
ascii.h \
|
||||
ex_cmds.h \
|
||||
farsi.h \
|
||||
feature.h \
|
||||
globals.h \
|
||||
gui_beval.h \
|
||||
keymap.h \
|
||||
macros.h \
|
||||
option.h \
|
||||
os_dos.h \
|
||||
os_win32.h
|
||||
gui_beval.h
|
||||
GUI_OBJ = \
|
||||
$(OUTDIR)\gui.obj \
|
||||
$(OUTDIR)\gui_beval.obj \
|
||||
@@ -979,6 +968,7 @@ MZSCHEME_LIB = "$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib" \
|
||||
MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
|
||||
# increase stack size
|
||||
MZSCHEME_LIB = $(MZSCHEME_LIB) /STACK:8388608
|
||||
MZSCHEME_INCL = if_mzsch.h
|
||||
!endif
|
||||
|
||||
# Perl interface
|
||||
@@ -1318,9 +1308,9 @@ $(OUTDIR)/ex_cmds.obj: $(OUTDIR) ex_cmds.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_cmds2.obj: $(OUTDIR) ex_cmds2.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_docmd.obj: $(OUTDIR) ex_docmd.c $(INCL) ex_cmds.h
|
||||
$(OUTDIR)/ex_docmd.obj: $(OUTDIR) ex_docmd.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL) ex_cmds.h
|
||||
$(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL)
|
||||
|
||||
@@ -1344,7 +1334,7 @@ $(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/gui_dwrite.obj: $(OUTDIR) gui_dwrite.cpp $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL)
|
||||
$(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL) if_cscope.h
|
||||
|
||||
$(OUTDIR)/if_lua.obj: $(OUTDIR) if_lua.c $(INCL)
|
||||
$(CC) $(CFLAGS_OUTDIR) $(LUA_INC) if_lua.c
|
||||
@@ -1359,7 +1349,7 @@ $(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c $(INCL)
|
||||
$(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c $(INCL)
|
||||
$(CC) $(CFLAGS_OUTDIR) $(PERL_INC) if_perlsfio.c
|
||||
|
||||
$(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c if_mzsch.h $(INCL) $(MZSCHEME_EXTRA_DEP)
|
||||
$(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c $(MZSCHEME_INCL) $(INCL) $(MZSCHEME_EXTRA_DEP)
|
||||
$(CC) $(CFLAGS_OUTDIR) if_mzsch.c \
|
||||
-DMZSCHEME_COLLECTS="\"$(MZSCHEME_COLLECTS:\=\\)\""
|
||||
|
||||
@@ -1423,7 +1413,7 @@ $(OUTDIR)/terminal.obj: $(OUTDIR) terminal.c $(INCL) $(TERM_DEPS)
|
||||
|
||||
$(OUTDIR)/winclip.obj: $(OUTDIR) winclip.c $(INCL)
|
||||
|
||||
$(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) os_win32.h
|
||||
$(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) $(MZSCHEME_INCL)
|
||||
|
||||
$(OUTDIR)/os_w32exe.obj: $(OUTDIR) os_w32exe.c $(INCL)
|
||||
|
||||
|
||||
+3
-3
@@ -2120,9 +2120,9 @@ test1 \
|
||||
test3 test4 test5 test7 test8 \
|
||||
test11 test12 test14 test15 test17 test19 \
|
||||
test20 test25 test28 test29 \
|
||||
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
|
||||
test40 test41 test42 test43 test44 test45 test48 test49 \
|
||||
test50 test52 test53 test54 test55 test56 test57 test59 \
|
||||
test30 test31 test32 test34 test36 test37 test38 test39 \
|
||||
test40 test42 test44 test45 test48 test49 \
|
||||
test50 test52 test54 test55 test59 \
|
||||
test60 test64 test66 test68 test69 \
|
||||
test70 test72 test73 test77 test78 test79 \
|
||||
test83 test85 test86 test87 test88 \
|
||||
|
||||
Vendored
+5
-3
@@ -5755,10 +5755,12 @@ $as_echo "OK" >&6; }
|
||||
done
|
||||
|
||||
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//' \
|
||||
-e 's/-fdebug-prefix-map[^ ]*//g' \
|
||||
-e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=.//g'`
|
||||
-e 's/-pipe //' \
|
||||
-e 's/-W[^ ]*//g' \
|
||||
-e 's/-D_FORTIFY_SOURCE=.//g'`
|
||||
perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
|
||||
sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
|
||||
-e 's/-bE:perl.exp//' -e 's/-lc //'`
|
||||
@@ -5804,7 +5806,7 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
LDFLAGS=$ldflags_save
|
||||
if test $perl_ok = yes; then
|
||||
if test "X$perlcppflags" != "X"; then
|
||||
PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
|
||||
PERL_CFLAGS=$perlcppflags
|
||||
fi
|
||||
if test "X$perlldflags" != "X"; then
|
||||
if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
|
||||
|
||||
+7
-7
@@ -3920,7 +3920,6 @@ build_stl_str_hl(
|
||||
struct stl_hlrec *sp;
|
||||
int save_must_redraw = must_redraw;
|
||||
int save_redr_type = curwin->w_redr_type;
|
||||
int save_highlight_shcnaged = need_highlight_changed;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
/*
|
||||
@@ -4693,12 +4692,13 @@ build_stl_str_hl(
|
||||
sp->userhl = 0;
|
||||
}
|
||||
|
||||
/* We do not want redrawing a stausline, ruler, title, etc. to trigger
|
||||
* another redraw, it may cause an endless loop. This happens when a
|
||||
* statusline changes a highlight group. */
|
||||
must_redraw = save_must_redraw;
|
||||
curwin->w_redr_type = save_redr_type;
|
||||
need_highlight_changed = save_highlight_shcnaged;
|
||||
/* When inside update_screen we do not want redrawing a stausline, ruler,
|
||||
* title, etc. to trigger another redraw, it may cause an endless loop. */
|
||||
if (updating_screen)
|
||||
{
|
||||
must_redraw = save_must_redraw;
|
||||
curwin->w_redr_type = save_redr_type;
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
+55
-9
@@ -3985,6 +3985,8 @@ ch_raw_common(typval_T *argvars, typval_T *rettv, int eval)
|
||||
free_job_options(&opt);
|
||||
}
|
||||
|
||||
# define KEEP_OPEN_TIME 20 /* msec */
|
||||
|
||||
# if (defined(UNIX) && !defined(HAVE_SELECT)) || defined(PROTO)
|
||||
/*
|
||||
* Add open channels to the poll struct.
|
||||
@@ -3992,7 +3994,7 @@ ch_raw_common(typval_T *argvars, typval_T *rettv, int eval)
|
||||
* The type of "fds" is hidden to avoid problems with the function proto.
|
||||
*/
|
||||
int
|
||||
channel_poll_setup(int nfd_in, void *fds_in)
|
||||
channel_poll_setup(int nfd_in, void *fds_in, int *towait)
|
||||
{
|
||||
int nfd = nfd_in;
|
||||
channel_T *channel;
|
||||
@@ -4007,10 +4009,21 @@ channel_poll_setup(int nfd_in, void *fds_in)
|
||||
|
||||
if (ch_part->ch_fd != INVALID_FD)
|
||||
{
|
||||
ch_part->ch_poll_idx = nfd;
|
||||
fds[nfd].fd = ch_part->ch_fd;
|
||||
fds[nfd].events = POLLIN;
|
||||
nfd++;
|
||||
if (channel->ch_keep_open)
|
||||
{
|
||||
/* For unknown reason poll() returns immediately for a
|
||||
* keep-open channel. Instead of adding it to the fds add
|
||||
* a short timeout and check, like polling. */
|
||||
if (*towait < 0 || *towait > KEEP_OPEN_TIME)
|
||||
*towait = KEEP_OPEN_TIME;
|
||||
}
|
||||
else
|
||||
{
|
||||
ch_part->ch_poll_idx = nfd;
|
||||
fds[nfd].fd = ch_part->ch_fd;
|
||||
fds[nfd].events = POLLIN;
|
||||
nfd++;
|
||||
}
|
||||
}
|
||||
else
|
||||
channel->ch_part[part].ch_poll_idx = -1;
|
||||
@@ -4046,6 +4059,12 @@ channel_poll_check(int ret_in, void *fds_in)
|
||||
channel_read(channel, part, "channel_poll_check");
|
||||
--ret;
|
||||
}
|
||||
else if (channel->ch_part[part].ch_fd != INVALID_FD
|
||||
&& channel->ch_keep_open)
|
||||
{
|
||||
/* polling a keep-open channel */
|
||||
channel_read(channel, part, "channel_poll_check_keep_open");
|
||||
}
|
||||
}
|
||||
|
||||
in_part = &channel->ch_part[PART_IN];
|
||||
@@ -4062,11 +4081,17 @@ channel_poll_check(int ret_in, void *fds_in)
|
||||
# endif /* UNIX && !HAVE_SELECT */
|
||||
|
||||
# if (!defined(WIN32) && defined(HAVE_SELECT)) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* The "fd_set" type is hidden to avoid problems with the function proto.
|
||||
*/
|
||||
int
|
||||
channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in)
|
||||
channel_select_setup(
|
||||
int maxfd_in,
|
||||
void *rfds_in,
|
||||
void *wfds_in,
|
||||
struct timeval *tv,
|
||||
struct timeval **tvp)
|
||||
{
|
||||
int maxfd = maxfd_in;
|
||||
channel_T *channel;
|
||||
@@ -4082,9 +4107,25 @@ channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in)
|
||||
|
||||
if (fd != INVALID_FD)
|
||||
{
|
||||
FD_SET((int)fd, rfds);
|
||||
if (maxfd < (int)fd)
|
||||
maxfd = (int)fd;
|
||||
if (channel->ch_keep_open)
|
||||
{
|
||||
/* For unknown reason select() returns immediately for a
|
||||
* keep-open channel. Instead of adding it to the rfds add
|
||||
* a short timeout and check, like polling. */
|
||||
if (*tvp == NULL || tv->tv_sec > 0
|
||||
|| tv->tv_usec > KEEP_OPEN_TIME * 1000)
|
||||
{
|
||||
*tvp = tv;
|
||||
tv->tv_sec = 0;
|
||||
tv->tv_usec = KEEP_OPEN_TIME * 1000;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FD_SET((int)fd, rfds);
|
||||
if (maxfd < (int)fd)
|
||||
maxfd = (int)fd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4119,6 +4160,11 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
|
||||
FD_CLR(fd, rfds);
|
||||
--ret;
|
||||
}
|
||||
else if (fd != INVALID_FD && channel->ch_keep_open)
|
||||
{
|
||||
/* polling a keep-open channel */
|
||||
channel_read(channel, part, "channel_select_check_keep_open");
|
||||
}
|
||||
}
|
||||
|
||||
in_part = &channel->ch_part[PART_IN];
|
||||
|
||||
+10
-10
@@ -1100,7 +1100,7 @@ win_lbr_chartabsize(
|
||||
*/
|
||||
numberextra = win_col_off(wp);
|
||||
col2 = col;
|
||||
colmax = (colnr_T)(W_WIDTH(wp) - numberextra - col_adj);
|
||||
colmax = (colnr_T)(wp->w_width - numberextra - col_adj);
|
||||
if (col >= colmax)
|
||||
{
|
||||
colmax += col_adj;
|
||||
@@ -1151,10 +1151,10 @@ win_lbr_chartabsize(
|
||||
|
||||
numberextra = numberwidth;
|
||||
col += numberextra + mb_added;
|
||||
if (col >= (colnr_T)W_WIDTH(wp))
|
||||
if (col >= (colnr_T)wp->w_width)
|
||||
{
|
||||
col -= W_WIDTH(wp);
|
||||
numberextra = W_WIDTH(wp) - (numberextra - win_col_off2(wp));
|
||||
col -= wp->w_width;
|
||||
numberextra = wp->w_width - (numberextra - win_col_off2(wp));
|
||||
if (col >= numberextra && numberextra > 0)
|
||||
col %= numberextra;
|
||||
if (*p_sbr != NUL)
|
||||
@@ -1170,18 +1170,18 @@ win_lbr_chartabsize(
|
||||
|
||||
numberwidth -= win_col_off2(wp);
|
||||
}
|
||||
if (col == 0 || col + size + sbrlen > (colnr_T)W_WIDTH(wp))
|
||||
if (col == 0 || col + size + sbrlen > (colnr_T)wp->w_width)
|
||||
{
|
||||
added = 0;
|
||||
if (*p_sbr != NUL)
|
||||
{
|
||||
if (size + sbrlen + numberwidth > (colnr_T)W_WIDTH(wp))
|
||||
if (size + sbrlen + numberwidth > (colnr_T)wp->w_width)
|
||||
{
|
||||
/* calculate effective window width */
|
||||
int width = (colnr_T)W_WIDTH(wp) - sbrlen - numberwidth;
|
||||
int prev_width = col ? ((colnr_T)W_WIDTH(wp) - (sbrlen + col)) : 0;
|
||||
int width = (colnr_T)wp->w_width - sbrlen - numberwidth;
|
||||
int prev_width = col ? ((colnr_T)wp->w_width - (sbrlen + col)) : 0;
|
||||
if (width == 0)
|
||||
width = (colnr_T)W_WIDTH(wp);
|
||||
width = (colnr_T)wp->w_width;
|
||||
added += ((size - prev_width) / width) * vim_strsize(p_sbr);
|
||||
if ((size - prev_width) % width)
|
||||
/* wrapped, add another length of 'sbr' */
|
||||
@@ -1248,7 +1248,7 @@ in_win_border(win_T *wp, colnr_T vcol)
|
||||
|
||||
if (wp->w_width == 0) /* there is no border */
|
||||
return FALSE;
|
||||
width1 = W_WIDTH(wp) - win_col_off(wp);
|
||||
width1 = wp->w_width - win_col_off(wp);
|
||||
if ((int)vcol < width1 - 1)
|
||||
return FALSE;
|
||||
if ((int)vcol == width1 - 1)
|
||||
|
||||
+5
-3
@@ -1027,10 +1027,13 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
dnl Remove "-fno-something", it breaks using cproto.
|
||||
dnl Remove "-fdebug-prefix-map", it isn't supported by clang.
|
||||
dnl Remove "FORTIFY_SOURCE", it will be defined twice.
|
||||
dnl remove -pipe and -Wxxx, it confuses cproto
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//' \
|
||||
-e 's/-fdebug-prefix-map[[^ ]]*//g' \
|
||||
-e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=.//g'`
|
||||
-e 's/-pipe //' \
|
||||
-e 's/-W[[^ ]]*//g' \
|
||||
-e 's/-D_FORTIFY_SOURCE=.//g'`
|
||||
dnl Remove "-lc", it breaks on FreeBSD when using "-pthread".
|
||||
perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
|
||||
sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
|
||||
@@ -1066,8 +1069,7 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
LDFLAGS=$ldflags_save
|
||||
if test $perl_ok = yes; then
|
||||
if test "X$perlcppflags" != "X"; then
|
||||
dnl remove -pipe and -Wxxx, it confuses cproto
|
||||
PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
|
||||
PERL_CFLAGS=$perlcppflags
|
||||
fi
|
||||
if test "X$perlldflags" != "X"; then
|
||||
if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
|
||||
|
||||
+8
-8
@@ -1785,14 +1785,14 @@ edit_putchar(int c, int highlight)
|
||||
else
|
||||
attr = 0;
|
||||
pc_row = W_WINROW(curwin) + curwin->w_wrow;
|
||||
pc_col = W_WINCOL(curwin);
|
||||
pc_col = curwin->w_wincol;
|
||||
#if defined(FEAT_RIGHTLEFT) || defined(FEAT_MBYTE)
|
||||
pc_status = PC_STATUS_UNSET;
|
||||
#endif
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
{
|
||||
pc_col += W_WIDTH(curwin) - 1 - curwin->w_wcol;
|
||||
pc_col += curwin->w_width - 1 - curwin->w_wcol;
|
||||
# ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
{
|
||||
@@ -1874,7 +1874,7 @@ display_dollar(colnr_T col)
|
||||
}
|
||||
#endif
|
||||
curs_columns(FALSE); /* recompute w_wrow and w_wcol */
|
||||
if (curwin->w_wcol < W_WIDTH(curwin))
|
||||
if (curwin->w_wcol < curwin->w_width)
|
||||
{
|
||||
edit_putchar('$', FALSE);
|
||||
dollar_vcol = curwin->w_virtcol;
|
||||
@@ -6834,7 +6834,7 @@ check_auto_format(
|
||||
/*
|
||||
* Find out textwidth to be used for formatting:
|
||||
* if 'textwidth' option is set, use it
|
||||
* else if 'wrapmargin' option is set, use W_WIDTH(curwin) - 'wrapmargin'
|
||||
* else if 'wrapmargin' option is set, use curwin->w_width - 'wrapmargin'
|
||||
* if invalid value, use 0.
|
||||
* Set default to window width (maximum 79) for "gq" operator.
|
||||
*/
|
||||
@@ -6849,7 +6849,7 @@ comp_textwidth(
|
||||
{
|
||||
/* The width is the window width minus 'wrapmargin' minus all the
|
||||
* things that add to the margin. */
|
||||
textwidth = W_WIDTH(curwin) - curbuf->b_p_wm;
|
||||
textwidth = curwin->w_width - curbuf->b_p_wm;
|
||||
#ifdef FEAT_CMDWIN
|
||||
if (cmdwin_type != 0)
|
||||
textwidth -= 1;
|
||||
@@ -6868,7 +6868,7 @@ comp_textwidth(
|
||||
textwidth = 0;
|
||||
if (ff && textwidth == 0)
|
||||
{
|
||||
textwidth = W_WIDTH(curwin) - 1;
|
||||
textwidth = curwin->w_width - 1;
|
||||
if (textwidth > 79)
|
||||
textwidth = 79;
|
||||
}
|
||||
@@ -8216,7 +8216,7 @@ in_cinkeys(
|
||||
{
|
||||
/* "0=word": Check if there are only blanks before the
|
||||
* word. */
|
||||
if (getwhitecols(line) !=
|
||||
if (getwhitecols_curline() !=
|
||||
(int)(curwin->w_cursor.col - (p - look)))
|
||||
match = FALSE;
|
||||
}
|
||||
@@ -9480,7 +9480,7 @@ ins_mousescroll(int dir)
|
||||
step = scroll_wheel_force;
|
||||
# endif
|
||||
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||
step = W_WIDTH(curwin);
|
||||
step = curwin->w_width;
|
||||
val = curwin->w_leftcol + (dir == MSCR_RIGHT ? -step : step);
|
||||
if (val < 0)
|
||||
val = 0;
|
||||
|
||||
@@ -1704,7 +1704,10 @@ ex_let_one(
|
||||
&stringval, opt_flags);
|
||||
if ((opt_type == 1 && *op == '.')
|
||||
|| (opt_type == 0 && *op != '.'))
|
||||
{
|
||||
EMSG2(_(e_letwrong), op);
|
||||
s = NULL; /* don't set the value */
|
||||
}
|
||||
else
|
||||
{
|
||||
if (opt_type == 1) /* number */
|
||||
|
||||
+3
-3
@@ -5190,8 +5190,8 @@ f_gettabvar(typval_T *argvars, typval_T *rettv)
|
||||
/* Set tp to be our tabpage, temporarily. Also set the window to the
|
||||
* first window in the tabpage, otherwise the window is not valid. */
|
||||
if (switch_win(&oldcurwin, &oldtabpage,
|
||||
tp->tp_firstwin == NULL ? firstwin : tp->tp_firstwin, tp, TRUE)
|
||||
== OK)
|
||||
tp == curtab || tp->tp_firstwin == NULL ? firstwin
|
||||
: tp->tp_firstwin, tp, TRUE) == OK)
|
||||
{
|
||||
/* look up the variable */
|
||||
/* Let gettabvar({nr}, "") return the "t:" dictionary. */
|
||||
@@ -13266,7 +13266,7 @@ f_winrestview(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
|
||||
check_cursor();
|
||||
win_new_height(curwin, curwin->w_height);
|
||||
win_new_width(curwin, W_WIDTH(curwin));
|
||||
win_new_width(curwin, curwin->w_width);
|
||||
changed_window_setting();
|
||||
|
||||
if (curwin->w_topline <= 0)
|
||||
|
||||
+1
-1
@@ -177,7 +177,7 @@ ex_align(exarg_T *eap)
|
||||
if (width <= 0)
|
||||
width = curbuf->b_p_tw;
|
||||
if (width == 0 && curbuf->b_p_wm > 0)
|
||||
width = W_WIDTH(curwin) - curbuf->b_p_wm;
|
||||
width = curwin->w_width - curbuf->b_p_wm;
|
||||
if (width <= 0)
|
||||
width = 80;
|
||||
}
|
||||
|
||||
+58
-35
@@ -8504,7 +8504,7 @@ ex_resize(exarg_T *eap)
|
||||
if (cmdmod.split & WSP_VERT)
|
||||
{
|
||||
if (*eap->arg == '-' || *eap->arg == '+')
|
||||
n += W_WIDTH(curwin);
|
||||
n += curwin->w_width;
|
||||
else if (n == 0 && eap->arg[0] == NUL) /* default is very wide */
|
||||
n = 9999;
|
||||
win_setwidth_win((int)n, wp);
|
||||
@@ -9130,7 +9130,7 @@ ex_sleep(exarg_T *eap)
|
||||
{
|
||||
n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
|
||||
if (n >= 0)
|
||||
windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol);
|
||||
windgoto((int)n, curwin->w_wincol + curwin->w_wcol);
|
||||
}
|
||||
|
||||
len = eap->line2;
|
||||
@@ -10133,20 +10133,62 @@ update_topline_cursor(void)
|
||||
update_curswant();
|
||||
}
|
||||
|
||||
/*
|
||||
* Save the current State and go to Normal mode.
|
||||
* Return TRUE if the typeahead could be saved.
|
||||
*/
|
||||
int
|
||||
save_current_state(save_state_T *sst)
|
||||
{
|
||||
sst->save_msg_scroll = msg_scroll;
|
||||
sst->save_restart_edit = restart_edit;
|
||||
sst->save_msg_didout = msg_didout;
|
||||
sst->save_State = State;
|
||||
sst->save_insertmode = p_im;
|
||||
sst->save_finish_op = finish_op;
|
||||
sst->save_opcount = opcount;
|
||||
|
||||
msg_scroll = FALSE; /* no msg scrolling in Normal mode */
|
||||
restart_edit = 0; /* don't go to Insert mode */
|
||||
p_im = FALSE; /* don't use 'insertmode' */
|
||||
|
||||
/*
|
||||
* Save the current typeahead. This is required to allow using ":normal"
|
||||
* from an event handler and makes sure we don't hang when the argument
|
||||
* ends with half a command.
|
||||
*/
|
||||
save_typeahead(&sst->tabuf);
|
||||
return sst->tabuf.typebuf_valid;
|
||||
}
|
||||
|
||||
void
|
||||
restore_current_state(save_state_T *sst)
|
||||
{
|
||||
/* Restore the previous typeahead. */
|
||||
restore_typeahead(&sst->tabuf);
|
||||
|
||||
msg_scroll = sst->save_msg_scroll;
|
||||
restart_edit = sst->save_restart_edit;
|
||||
p_im = sst->save_insertmode;
|
||||
finish_op = sst->save_finish_op;
|
||||
opcount = sst->save_opcount;
|
||||
msg_didout |= sst->save_msg_didout; /* don't reset msg_didout now */
|
||||
|
||||
/* Restore the state (needed when called from a function executed for
|
||||
* 'indentexpr'). Update the mouse and cursor, they may have changed. */
|
||||
State = sst->save_State;
|
||||
#ifdef CURSOR_SHAPE
|
||||
ui_cursor_shape(); /* may show different cursor shape */
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* ":normal[!] {commands}": Execute normal mode commands.
|
||||
*/
|
||||
void
|
||||
ex_normal(exarg_T *eap)
|
||||
{
|
||||
int save_msg_scroll = msg_scroll;
|
||||
int save_restart_edit = restart_edit;
|
||||
int save_msg_didout = msg_didout;
|
||||
int save_State = State;
|
||||
tasave_T tabuf;
|
||||
int save_insertmode = p_im;
|
||||
int save_finish_op = finish_op;
|
||||
int save_opcount = opcount;
|
||||
save_state_T save_state;
|
||||
#ifdef FEAT_MBYTE
|
||||
char_u *arg = NULL;
|
||||
int l;
|
||||
@@ -10163,11 +10205,6 @@ ex_normal(exarg_T *eap)
|
||||
EMSG(_("E192: Recursive use of :normal too deep"));
|
||||
return;
|
||||
}
|
||||
++ex_normal_busy;
|
||||
|
||||
msg_scroll = FALSE; /* no msg scrolling in Normal mode */
|
||||
restart_edit = 0; /* don't go to Insert mode */
|
||||
p_im = FALSE; /* don't use 'insertmode' */
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
/*
|
||||
@@ -10233,13 +10270,8 @@ ex_normal(exarg_T *eap)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Save the current typeahead. This is required to allow using ":normal"
|
||||
* from an event handler and makes sure we don't hang when the argument
|
||||
* ends with half a command.
|
||||
*/
|
||||
save_typeahead(&tabuf);
|
||||
if (tabuf.typebuf_valid)
|
||||
++ex_normal_busy;
|
||||
if (save_current_state(&save_state))
|
||||
{
|
||||
/*
|
||||
* Repeat the :normal command for each line in the range. When no
|
||||
@@ -10267,20 +10299,8 @@ ex_normal(exarg_T *eap)
|
||||
/* Might not return to the main loop when in an event handler. */
|
||||
update_topline_cursor();
|
||||
|
||||
/* Restore the previous typeahead. */
|
||||
restore_typeahead(&tabuf);
|
||||
|
||||
restore_current_state(&save_state);
|
||||
--ex_normal_busy;
|
||||
msg_scroll = save_msg_scroll;
|
||||
restart_edit = save_restart_edit;
|
||||
p_im = save_insertmode;
|
||||
finish_op = save_finish_op;
|
||||
opcount = save_opcount;
|
||||
msg_didout |= save_msg_didout; /* don't reset msg_didout now */
|
||||
|
||||
/* Restore the state (needed when called from a function executed for
|
||||
* 'indentexpr'). Update the mouse and cursor, they may have changed. */
|
||||
State = save_State;
|
||||
#ifdef FEAT_MOUSE
|
||||
setmouse();
|
||||
#endif
|
||||
@@ -10301,6 +10321,9 @@ ex_startinsert(exarg_T *eap)
|
||||
{
|
||||
if (eap->forceit)
|
||||
{
|
||||
/* cursor line can be zero on startup */
|
||||
if (!curwin->w_cursor.lnum)
|
||||
curwin->w_cursor.lnum = 1;
|
||||
coladvance((colnr_T)MAXCOL);
|
||||
curwin->w_curswant = MAXCOL;
|
||||
curwin->w_set_curswant = FALSE;
|
||||
|
||||
+1
-1
@@ -3449,7 +3449,7 @@ compute_cmdrow(void)
|
||||
cmdline_row = Rows - 1;
|
||||
else
|
||||
cmdline_row = W_WINROW(lastwin) + lastwin->w_height
|
||||
+ W_STATUS_HEIGHT(lastwin);
|
||||
+ lastwin->w_status_height;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
+3
-3
@@ -2666,8 +2666,8 @@ vgetorpeek(int advance)
|
||||
++col;
|
||||
}
|
||||
curwin->w_wrow = curwin->w_cline_row
|
||||
+ curwin->w_wcol / W_WIDTH(curwin);
|
||||
curwin->w_wcol %= W_WIDTH(curwin);
|
||||
+ curwin->w_wcol / curwin->w_width;
|
||||
curwin->w_wcol %= curwin->w_width;
|
||||
curwin->w_wcol += curwin_col_off();
|
||||
#ifdef FEAT_MBYTE
|
||||
col = 0; /* no correction needed */
|
||||
@@ -2684,7 +2684,7 @@ vgetorpeek(int advance)
|
||||
else if (curwin->w_p_wrap && curwin->w_wrow)
|
||||
{
|
||||
--curwin->w_wrow;
|
||||
curwin->w_wcol = W_WIDTH(curwin) - 1;
|
||||
curwin->w_wcol = curwin->w_width - 1;
|
||||
#ifdef FEAT_MBYTE
|
||||
col = curwin->w_cursor.col - 1;
|
||||
#endif
|
||||
|
||||
@@ -380,6 +380,9 @@ EXTERN int cterm_normal_bg_color INIT(= 0);
|
||||
EXTERN guicolor_T cterm_normal_fg_gui_color INIT(= INVALCOLOR);
|
||||
EXTERN guicolor_T cterm_normal_bg_gui_color INIT(= INVALCOLOR);
|
||||
#endif
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
EXTERN int is_mac_terminal INIT(= FALSE); /* recognized Terminal.app */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
EXTERN int autocmd_busy INIT(= FALSE); /* Is apply_autocmds() busy? */
|
||||
|
||||
@@ -4613,14 +4613,14 @@ gui_update_horiz_scrollbar(int force)
|
||||
return;
|
||||
}
|
||||
|
||||
size = W_WIDTH(curwin);
|
||||
size = curwin->w_width;
|
||||
if (curwin->w_p_wrap)
|
||||
{
|
||||
value = 0;
|
||||
#ifdef SCROLL_PAST_END
|
||||
max = 0;
|
||||
#else
|
||||
max = W_WIDTH(curwin) - 1;
|
||||
max = curwin->w_width - 1;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -4640,7 +4640,7 @@ gui_update_horiz_scrollbar(int force)
|
||||
#endif
|
||||
|
||||
#ifndef SCROLL_PAST_END
|
||||
max += W_WIDTH(curwin) - 1;
|
||||
max += curwin->w_width - 1;
|
||||
#endif
|
||||
/* The line number isn't scrolled, thus there is less space when
|
||||
* 'number' or 'relativenumber' is set (also for 'foldcolumn'). */
|
||||
@@ -4968,10 +4968,10 @@ xy2win(int x UNUSED, int y UNUSED)
|
||||
}
|
||||
else if (row > wp->w_height) /* below status line */
|
||||
update_mouseshape(SHAPE_IDX_CLINE);
|
||||
else if (!(State & CMDLINE) && W_VSEP_WIDTH(wp) > 0 && col == wp->w_width
|
||||
else if (!(State & CMDLINE) && wp->w_vsep_width > 0 && col == wp->w_width
|
||||
&& (row != wp->w_height || !stl_connected(wp)) && msg_scrolled == 0)
|
||||
update_mouseshape(SHAPE_IDX_VSEP);
|
||||
else if (!(State & CMDLINE) && W_STATUS_HEIGHT(wp) > 0
|
||||
else if (!(State & CMDLINE) && wp->w_status_height > 0
|
||||
&& row == wp->w_height && msg_scrolled == 0)
|
||||
update_mouseshape(SHAPE_IDX_STATUS);
|
||||
else
|
||||
|
||||
+1
-1
@@ -338,7 +338,7 @@ get_beval_info(
|
||||
row = Y_2_ROW(beval->y);
|
||||
col = X_2_COL(beval->x);
|
||||
wp = mouse_find_win(&row, &col);
|
||||
if (wp != NULL && row < wp->w_height && col < W_WIDTH(wp))
|
||||
if (wp != NULL && row < wp->w_height && col < wp->w_width)
|
||||
{
|
||||
/* Found a window and the cursor is in the text. Now find the line
|
||||
* number. */
|
||||
|
||||
+1
-1
@@ -1954,7 +1954,7 @@ popup_menu_position_func(GtkMenu *menu UNUSED,
|
||||
# endif
|
||||
{
|
||||
/* Find the cursor position in the current window */
|
||||
*x += FILL_X(W_WINCOL(curwin) + curwin->w_wcol + 1) + 1;
|
||||
*x += FILL_X(curwin->w_wincol + curwin->w_wcol + 1) + 1;
|
||||
*y += FILL_Y(W_WINROW(curwin) + curwin->w_wrow + 1) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1612,7 +1612,7 @@ gui_mac_scroll_action(ControlHandle theControl, short partCode)
|
||||
else /* Bottom scrollbar */
|
||||
{
|
||||
sb_info = sb;
|
||||
page = W_WIDTH(curwin) - 5;
|
||||
page = curwin->w_width - 5;
|
||||
}
|
||||
|
||||
switch (partCode)
|
||||
|
||||
+16
-15
@@ -4384,7 +4384,7 @@ add_dialog_element(
|
||||
WORD clss,
|
||||
const char *caption);
|
||||
static LPWORD lpwAlign(LPWORD);
|
||||
static int nCopyAnsiToWideChar(LPWORD, LPSTR);
|
||||
static int nCopyAnsiToWideChar(LPWORD, LPSTR, BOOL);
|
||||
#if defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
static void gui_mch_tearoff(char_u *title, vimmenu_T *menu, int initX, int initY);
|
||||
#endif
|
||||
@@ -6608,7 +6608,7 @@ gui_make_popup(char_u *path_name, int mouse_pos)
|
||||
}
|
||||
else if (curwin != NULL)
|
||||
{
|
||||
p.x += TEXT_X(W_WINCOL(curwin) + curwin->w_wcol + 1);
|
||||
p.x += TEXT_X(curwin->w_wincol + curwin->w_wcol + 1);
|
||||
p.y += TEXT_Y(W_WINROW(curwin) + curwin->w_wrow + 1);
|
||||
}
|
||||
msg_scroll = FALSE;
|
||||
@@ -7284,9 +7284,8 @@ gui_mch_dialog(
|
||||
add_word(0); // Class
|
||||
|
||||
/* copy the title of the dialog */
|
||||
nchar = nCopyAnsiToWideChar(p, (title ?
|
||||
(LPSTR)title :
|
||||
(LPSTR)("Vim "VIM_VERSION_MEDIUM)));
|
||||
nchar = nCopyAnsiToWideChar(p, (title ? (LPSTR)title
|
||||
: (LPSTR)("Vim "VIM_VERSION_MEDIUM)), TRUE);
|
||||
p += nchar;
|
||||
|
||||
if (s_usenewlook)
|
||||
@@ -7298,13 +7297,13 @@ gui_mch_dialog(
|
||||
/* point size */
|
||||
*p++ = -MulDiv(lfSysmenu.lfHeight, 72,
|
||||
GetDeviceCaps(hdc, LOGPIXELSY));
|
||||
nchar = nCopyAnsiToWideChar(p, TEXT(lfSysmenu.lfFaceName));
|
||||
nchar = nCopyAnsiToWideChar(p, lfSysmenu.lfFaceName, FALSE);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
*p++ = DLG_FONT_POINT_SIZE; // point size
|
||||
nchar = nCopyAnsiToWideChar(p, TEXT(DLG_FONT_NAME));
|
||||
nchar = nCopyAnsiToWideChar(p, DLG_FONT_NAME, FALSE);
|
||||
}
|
||||
p += nchar;
|
||||
}
|
||||
@@ -7485,7 +7484,7 @@ add_dialog_element(
|
||||
*p++ = (WORD)0xffff;
|
||||
*p++ = clss; //2 more here
|
||||
|
||||
nchar = nCopyAnsiToWideChar(p, (LPSTR)caption); //strlen(caption)+1
|
||||
nchar = nCopyAnsiToWideChar(p, (LPSTR)caption, TRUE); //strlen(caption)+1
|
||||
p += nchar;
|
||||
|
||||
*p++ = 0; // advance pointer over nExtraStuff WORD - 2 more
|
||||
@@ -7517,11 +7516,13 @@ lpwAlign(
|
||||
* parameter as wide character (16-bits / char) string, and returns integer
|
||||
* number of wide characters (words) in string (including the trailing wide
|
||||
* char NULL). Partly taken from the Win32SDK samples.
|
||||
*/
|
||||
* If "use_enc" is TRUE, 'encoding' is used for "lpAnsiIn". If FALSE, current
|
||||
* ACP is used for "lpAnsiIn". */
|
||||
static int
|
||||
nCopyAnsiToWideChar(
|
||||
LPWORD lpWCStr,
|
||||
LPSTR lpAnsiIn)
|
||||
LPSTR lpAnsiIn,
|
||||
BOOL use_enc)
|
||||
{
|
||||
int nChar = 0;
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -7529,7 +7530,7 @@ nCopyAnsiToWideChar(
|
||||
int i;
|
||||
WCHAR *wn;
|
||||
|
||||
if (enc_codepage == 0 && (int)GetACP() != enc_codepage)
|
||||
if (use_enc && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
||||
{
|
||||
/* Not a codepage, use our own conversion function. */
|
||||
wn = enc_to_utf16((char_u *)lpAnsiIn, NULL);
|
||||
@@ -7852,8 +7853,8 @@ gui_mch_tearoff(
|
||||
|
||||
/* copy the title of the dialog */
|
||||
nchar = nCopyAnsiToWideChar(p, ((*title)
|
||||
? (LPSTR)title
|
||||
: (LPSTR)("Vim "VIM_VERSION_MEDIUM)));
|
||||
? (LPSTR)title
|
||||
: (LPSTR)("Vim "VIM_VERSION_MEDIUM)), TRUE);
|
||||
p += nchar;
|
||||
|
||||
if (s_usenewlook)
|
||||
@@ -7865,13 +7866,13 @@ gui_mch_tearoff(
|
||||
/* point size */
|
||||
*p++ = -MulDiv(lfSysmenu.lfHeight, 72,
|
||||
GetDeviceCaps(hdc, LOGPIXELSY));
|
||||
nchar = nCopyAnsiToWideChar(p, TEXT(lfSysmenu.lfFaceName));
|
||||
nchar = nCopyAnsiToWideChar(p, lfSysmenu.lfFaceName, FALSE);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
*p++ = DLG_FONT_POINT_SIZE; // point size
|
||||
nchar = nCopyAnsiToWideChar (p, TEXT(DLG_FONT_NAME));
|
||||
nchar = nCopyAnsiToWideChar(p, DLG_FONT_NAME, FALSE);
|
||||
}
|
||||
p += nchar;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1179,7 +1179,7 @@ luaV_window_index(lua_State *L)
|
||||
else if (strncmp(s, "col", 3) == 0)
|
||||
lua_pushinteger(L, w->w_cursor.col + 1);
|
||||
else if (strncmp(s, "width", 5) == 0)
|
||||
lua_pushinteger(L, W_WIDTH(w));
|
||||
lua_pushinteger(L, w->w_width);
|
||||
else if (strncmp(s, "height", 6) == 0)
|
||||
lua_pushinteger(L, w->w_height);
|
||||
/* methods */
|
||||
|
||||
+1
-1
@@ -2063,7 +2063,7 @@ get_window_width(void *data, int argc, Scheme_Object **argv)
|
||||
Vim_Prim *prim = (Vim_Prim *)data;
|
||||
vim_mz_window *win = get_window_arg(prim->name, 0, argc, argv);
|
||||
|
||||
return scheme_make_integer(W_WIDTH(win->win));
|
||||
return scheme_make_integer(win->win->w_width);
|
||||
}
|
||||
|
||||
/* (set-win-width {width} [window]) */
|
||||
|
||||
@@ -1472,7 +1472,6 @@ Msg(text, hl=NULL)
|
||||
|
||||
PREINIT:
|
||||
int attr;
|
||||
int id;
|
||||
|
||||
PPCODE:
|
||||
if (text != NULL)
|
||||
|
||||
+2
-2
@@ -3875,9 +3875,9 @@ WindowAttr(WindowObject *self, char *name)
|
||||
else if (strcmp(name, "row") == 0)
|
||||
return PyLong_FromLong((long)(self->win->w_winrow));
|
||||
else if (strcmp(name, "width") == 0)
|
||||
return PyLong_FromLong((long)(W_WIDTH(self->win)));
|
||||
return PyLong_FromLong((long)(self->win->w_width));
|
||||
else if (strcmp(name, "col") == 0)
|
||||
return PyLong_FromLong((long)(W_WINCOL(self->win)));
|
||||
return PyLong_FromLong((long)(self->win->w_wincol));
|
||||
else if (strcmp(name, "vars") == 0)
|
||||
return NEW_DICTIONARY(self->win->w_vars);
|
||||
else if (strcmp(name, "options") == 0)
|
||||
|
||||
+2
-2
@@ -891,7 +891,7 @@ static int ensure_ruby_initialized(void)
|
||||
#ifdef RUBY19_OR_LATER
|
||||
{
|
||||
int dummy_argc = 2;
|
||||
char *dummy_argv[] = {"vim-ruby", "-e0"};
|
||||
char *dummy_argv[] = {"vim-ruby", "-e_=0"};
|
||||
ruby_options(dummy_argc, dummy_argv);
|
||||
}
|
||||
ruby_script("vim-ruby");
|
||||
@@ -1479,7 +1479,7 @@ static VALUE window_set_height(VALUE self, VALUE height)
|
||||
|
||||
static VALUE window_width(VALUE self UNUSED)
|
||||
{
|
||||
return INT2NUM(W_WIDTH(get_win(self)));
|
||||
return INT2NUM(get_win(self)->w_width);
|
||||
}
|
||||
|
||||
static VALUE window_set_width(VALUE self UNUSED, VALUE width)
|
||||
|
||||
@@ -25,12 +25,13 @@ static const VTermColor ansi_colors[] = {
|
||||
};
|
||||
|
||||
static int ramp6[] = {
|
||||
0x00, 0x33, 0x66, 0x99, 0xCC, 0xFF,
|
||||
0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF,
|
||||
};
|
||||
|
||||
/* Use 0x81 instead of 0x80 to be able to distinguish from ansi black */
|
||||
static int ramp24[] = {
|
||||
0x00, 0x0B, 0x16, 0x21, 0x2C, 0x37, 0x42, 0x4D, 0x58, 0x63, 0x6E, 0x79,
|
||||
0x85, 0x90, 0x9B, 0xA6, 0xB1, 0xBC, 0xC7, 0xD2, 0xDD, 0xE8, 0xF3, 0xFF,
|
||||
0x08, 0x12, 0x1C, 0x26, 0x30, 0x3A, 0x44, 0x4E, 0x58, 0x62, 0x6C, 0x76,
|
||||
0x81, 0x8A, 0x94, 0x9E, 0xA8, 0xB2, 0xBC, 0xC6, 0xD0, 0xDA, 0xE4, 0xEE,
|
||||
};
|
||||
|
||||
static int lookup_colour_ansi(const VTermState *state, long index, VTermColor *col)
|
||||
|
||||
@@ -130,7 +130,8 @@ static int outbuffer_is_full(VTerm *vt)
|
||||
return vt->outbuffer_cur >= vt->outbuffer_len - 1;
|
||||
}
|
||||
|
||||
#if _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE || _BSD_SOURCE
|
||||
#if (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500) \
|
||||
|| defined(_ISOC99_SOURCE) || defined(_BSD_SOURCE)
|
||||
# undef VSNPRINTF
|
||||
# define VSNPRINTF vsnprintf
|
||||
#else
|
||||
|
||||
+15
@@ -2648,6 +2648,21 @@ check_tty(mparm_T *parmp)
|
||||
#if defined(WIN3264) && !defined(FEAT_GUI_W32)
|
||||
if (is_cygpty_used())
|
||||
{
|
||||
# if defined(FEAT_MBYTE) && defined(HAVE_BIND_TEXTDOMAIN_CODESET) \
|
||||
&& defined(FEAT_GETTEXT)
|
||||
char *s, *tofree = NULL;
|
||||
|
||||
/* Set the encoding of the error message based on $LC_ALL or
|
||||
* other environment variables instead of 'encoding'.
|
||||
* Note that the message is shown on a Cygwin terminal (e.g.
|
||||
* mintty) which encoding is based on $LC_ALL or etc., not the
|
||||
* current codepage used by normal Win32 console programs. */
|
||||
tofree = s = (char *)enc_locale_env(NULL);
|
||||
if (s == NULL)
|
||||
s = "utf-8"; /* Use "utf-8" by default. */
|
||||
(void)bind_textdomain_codeset(VIMPACKAGE, s);
|
||||
vim_free(tofree);
|
||||
# endif
|
||||
mch_errmsg(_("Vim: Error: This version of Vim does not run in a Cygwin terminal\n"));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
+51
-31
@@ -4385,45 +4385,31 @@ enc_alias_search(char_u *name)
|
||||
|
||||
#if defined(FEAT_MBYTE) || defined(PROTO)
|
||||
|
||||
#ifdef HAVE_LANGINFO_H
|
||||
# include <langinfo.h>
|
||||
#endif
|
||||
# ifdef HAVE_LANGINFO_H
|
||||
# include <langinfo.h>
|
||||
# endif
|
||||
|
||||
# ifndef FEAT_GUI_W32
|
||||
/*
|
||||
* Get the canonicalized encoding of the current locale.
|
||||
* Get the canonicalized encoding from the specified locale string "locale"
|
||||
* or from the environment variables LC_ALL, LC_CTYPE and LANG.
|
||||
* Returns an allocated string when successful, NULL when not.
|
||||
*/
|
||||
char_u *
|
||||
enc_locale(void)
|
||||
enc_locale_env(char *locale)
|
||||
{
|
||||
#ifndef WIN3264
|
||||
char *s;
|
||||
char *s = locale;
|
||||
char *p;
|
||||
int i;
|
||||
#endif
|
||||
char buf[50];
|
||||
#ifdef WIN3264
|
||||
long acp = GetACP();
|
||||
|
||||
if (acp == 1200)
|
||||
STRCPY(buf, "ucs-2le");
|
||||
else if (acp == 1252) /* cp1252 is used as latin1 */
|
||||
STRCPY(buf, "latin1");
|
||||
else
|
||||
sprintf(buf, "cp%ld", acp);
|
||||
#else
|
||||
# ifdef HAVE_NL_LANGINFO_CODESET
|
||||
if ((s = nl_langinfo(CODESET)) == NULL || *s == NUL)
|
||||
# endif
|
||||
# if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
|
||||
if ((s = setlocale(LC_CTYPE, NULL)) == NULL || *s == NUL)
|
||||
# endif
|
||||
if ((s = getenv("LC_ALL")) == NULL || *s == NUL)
|
||||
if ((s = getenv("LC_CTYPE")) == NULL || *s == NUL)
|
||||
s = getenv("LANG");
|
||||
|
||||
if (s == NULL || *s == NUL)
|
||||
return FAIL;
|
||||
if ((s = getenv("LC_ALL")) == NULL || *s == NUL)
|
||||
if ((s = getenv("LC_CTYPE")) == NULL || *s == NUL)
|
||||
s = getenv("LANG");
|
||||
|
||||
if (s == NULL || *s == NUL)
|
||||
return NULL;
|
||||
|
||||
/* The most generic locale format is:
|
||||
* language[_territory][.codeset][@modifier][+special][,[sponsor][_revision]]
|
||||
@@ -4458,12 +4444,46 @@ enc_locale(void)
|
||||
break;
|
||||
}
|
||||
buf[i] = NUL;
|
||||
#endif
|
||||
|
||||
return enc_canonize((char_u *)buf);
|
||||
}
|
||||
# endif
|
||||
|
||||
#if defined(WIN3264) || defined(PROTO) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
/*
|
||||
* Get the canonicalized encoding of the current locale.
|
||||
* Returns an allocated string when successful, NULL when not.
|
||||
*/
|
||||
char_u *
|
||||
enc_locale(void)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
char buf[50];
|
||||
long acp = GetACP();
|
||||
|
||||
if (acp == 1200)
|
||||
STRCPY(buf, "ucs-2le");
|
||||
else if (acp == 1252) /* cp1252 is used as latin1 */
|
||||
STRCPY(buf, "latin1");
|
||||
else
|
||||
sprintf(buf, "cp%ld", acp);
|
||||
|
||||
return enc_canonize((char_u *)buf);
|
||||
# else
|
||||
char *s;
|
||||
|
||||
# ifdef HAVE_NL_LANGINFO_CODESET
|
||||
if ((s = nl_langinfo(CODESET)) == NULL || *s == NUL)
|
||||
# endif
|
||||
# if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
|
||||
if ((s = setlocale(LC_CTYPE, NULL)) == NULL || *s == NUL)
|
||||
# endif
|
||||
s = NULL;
|
||||
|
||||
return enc_locale_env(s);
|
||||
# endif
|
||||
}
|
||||
|
||||
# if defined(WIN3264) || defined(PROTO) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
/*
|
||||
* Convert an encoding name to an MS-Windows codepage.
|
||||
* Returns zero if no codepage can be figured out.
|
||||
@@ -4490,7 +4510,7 @@ encname2codepage(char_u *name)
|
||||
return cp;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
# if defined(USE_ICONV) || defined(PROTO)
|
||||
|
||||
|
||||
+27
-5
@@ -88,7 +88,7 @@ static const char *toolbar_names[] =
|
||||
static int
|
||||
menu_is_winbar(char_u *name)
|
||||
{
|
||||
return (STRNCMP(name, "WinBar", 5) == 0);
|
||||
return (STRNCMP(name, "WinBar", 6) == 0);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -1808,6 +1808,7 @@ menu_is_menubar(char_u *name)
|
||||
{
|
||||
return (!menu_is_popup(name)
|
||||
&& !menu_is_toolbar(name)
|
||||
&& !menu_is_winbar(name)
|
||||
&& *name != MNU_HIDDEN_CHAR);
|
||||
}
|
||||
|
||||
@@ -2248,7 +2249,7 @@ gui_destroy_tearoffs_recurse(vimmenu_T *menu)
|
||||
execute_menu(exarg_T *eap, vimmenu_T *menu)
|
||||
{
|
||||
char_u *mode;
|
||||
int idx;
|
||||
int idx = -1;
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
char_u *old_arg;
|
||||
#endif
|
||||
@@ -2315,7 +2316,9 @@ execute_menu(exarg_T *eap, vimmenu_T *menu)
|
||||
if (*p_sel == 'e' && gchar_cursor() != NUL)
|
||||
++curwin->w_cursor.col;
|
||||
}
|
||||
else
|
||||
|
||||
/* For the WinBar menu always use the Normal mode menu. */
|
||||
if (idx == -1 || eap == NULL)
|
||||
{
|
||||
mode = (char_u *)"Normal";
|
||||
idx = MENU_INDEX_NORMAL;
|
||||
@@ -2333,8 +2336,16 @@ execute_menu(exarg_T *eap, vimmenu_T *menu)
|
||||
|| current_SID != 0
|
||||
#endif
|
||||
)
|
||||
exec_normal_cmd(menu->strings[idx], menu->noremap[idx],
|
||||
{
|
||||
save_state_T save_state;
|
||||
|
||||
++ex_normal_busy;
|
||||
if (save_current_state(&save_state))
|
||||
exec_normal_cmd(menu->strings[idx], menu->noremap[idx],
|
||||
menu->silent[idx]);
|
||||
restore_current_state(&save_state);
|
||||
--ex_normal_busy;
|
||||
}
|
||||
else
|
||||
ins_typebuf(menu->strings[idx], menu->noremap[idx], 0,
|
||||
TRUE, menu->silent[idx]);
|
||||
@@ -2433,12 +2444,18 @@ winbar_click(win_T *wp, int col)
|
||||
if (col >= item->wb_startcol && col <= item->wb_endcol)
|
||||
{
|
||||
win_T *save_curwin = NULL;
|
||||
pos_T save_visual = VIsual;
|
||||
int save_visual_active = VIsual_active;
|
||||
int save_visual_select = VIsual_select;
|
||||
int save_visual_reselect = VIsual_reselect;
|
||||
int save_visual_mode = VIsual_mode;
|
||||
|
||||
if (wp != curwin)
|
||||
{
|
||||
/* Clicking in the window toolbar of a not-current window.
|
||||
* Make that window the current one and go to Normal mode. */
|
||||
* Make that window the current one and save Visual mode. */
|
||||
save_curwin = curwin;
|
||||
VIsual_active = FALSE;
|
||||
curwin = wp;
|
||||
curbuf = curwin->w_buffer;
|
||||
check_cursor();
|
||||
@@ -2450,6 +2467,11 @@ winbar_click(win_T *wp, int col)
|
||||
{
|
||||
curwin = save_curwin;
|
||||
curbuf = curwin->w_buffer;
|
||||
VIsual = save_visual;
|
||||
VIsual_active = save_visual_active;
|
||||
VIsual_select = save_visual_select;
|
||||
VIsual_reselect = save_visual_reselect;
|
||||
VIsual_mode = save_visual_mode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -495,7 +495,7 @@ get_breakindent_win(
|
||||
static varnumber_T prev_tick = 0; /* changedtick of cached value */
|
||||
int bri = 0;
|
||||
/* window width minus window margin space, i.e. what rests for text */
|
||||
const int eff_wwidth = W_WIDTH(wp)
|
||||
const int eff_wwidth = wp->w_width
|
||||
- ((wp->w_p_nu || wp->w_p_rnu)
|
||||
&& (vim_strchr(p_cpo, CPO_NUMCOL) == NULL)
|
||||
? number_width(wp) + 1 : 0);
|
||||
@@ -2026,7 +2026,7 @@ plines_win_nofold(win_T *wp, linenr_T lnum)
|
||||
/*
|
||||
* Add column offset for 'number', 'relativenumber' and 'foldcolumn'.
|
||||
*/
|
||||
width = W_WIDTH(wp) - win_col_off(wp);
|
||||
width = wp->w_width - win_col_off(wp);
|
||||
if (width <= 0)
|
||||
return 32000;
|
||||
if (col <= width)
|
||||
@@ -2083,7 +2083,7 @@ plines_win_col(win_T *wp, linenr_T lnum, long column)
|
||||
/*
|
||||
* Add column offset for 'number', 'relativenumber', 'foldcolumn', etc.
|
||||
*/
|
||||
width = W_WIDTH(wp) - win_col_off(wp);
|
||||
width = wp->w_width - win_col_off(wp);
|
||||
if (width <= 0)
|
||||
return 9999;
|
||||
|
||||
|
||||
+3
-3
@@ -165,7 +165,7 @@ coladvance2(
|
||||
else
|
||||
{
|
||||
#ifdef FEAT_VIRTUALEDIT
|
||||
int width = W_WIDTH(curwin) - win_col_off(curwin);
|
||||
int width = curwin->w_width - win_col_off(curwin);
|
||||
|
||||
if (finetune
|
||||
&& curwin->w_p_wrap
|
||||
@@ -310,7 +310,7 @@ coladvance2(
|
||||
int b = (int)wcol - (int)col;
|
||||
|
||||
/* The difference between wcol and col is used to set coladd. */
|
||||
if (b > 0 && b < (MAXCOL - 2 * W_WIDTH(curwin)))
|
||||
if (b > 0 && b < (MAXCOL - 2 * curwin->w_width))
|
||||
pos->coladd = b;
|
||||
|
||||
col += b;
|
||||
@@ -662,7 +662,7 @@ leftcol_changed(void)
|
||||
int retval = FALSE;
|
||||
|
||||
changed_cline_bef_curs();
|
||||
lastcol = curwin->w_leftcol + W_WIDTH(curwin) - curwin_col_off() - 1;
|
||||
lastcol = curwin->w_leftcol + curwin->w_width - curwin_col_off() - 1;
|
||||
validate_virtcol();
|
||||
|
||||
/*
|
||||
|
||||
+11
-11
@@ -884,14 +884,14 @@ validate_cursor_col(void)
|
||||
col = curwin->w_virtcol;
|
||||
off = curwin_col_off();
|
||||
col += off;
|
||||
width = W_WIDTH(curwin) - off + curwin_col_off2();
|
||||
width = curwin->w_width - off + curwin_col_off2();
|
||||
|
||||
/* long line wrapping, adjust curwin->w_wrow */
|
||||
if (curwin->w_p_wrap
|
||||
&& col >= (colnr_T)W_WIDTH(curwin)
|
||||
&& col >= (colnr_T)curwin->w_width
|
||||
&& width > 0)
|
||||
/* use same formula as what is used in curs_columns() */
|
||||
col -= ((col - W_WIDTH(curwin)) / width + 1) * width;
|
||||
col -= ((col - curwin->w_width) / width + 1) * width;
|
||||
if (col > (int)curwin->w_leftcol)
|
||||
col -= curwin->w_leftcol;
|
||||
else
|
||||
@@ -1004,11 +1004,11 @@ curs_columns(
|
||||
*/
|
||||
curwin->w_wrow = curwin->w_cline_row;
|
||||
|
||||
textwidth = W_WIDTH(curwin) - extra;
|
||||
textwidth = curwin->w_width - extra;
|
||||
if (textwidth <= 0)
|
||||
{
|
||||
/* No room for text, put cursor in last char of window. */
|
||||
curwin->w_wcol = W_WIDTH(curwin) - 1;
|
||||
curwin->w_wcol = curwin->w_width - 1;
|
||||
curwin->w_wrow = curwin->w_height - 1;
|
||||
}
|
||||
else if (curwin->w_p_wrap && curwin->w_width != 0)
|
||||
@@ -1016,10 +1016,10 @@ curs_columns(
|
||||
width = textwidth + curwin_col_off2();
|
||||
|
||||
/* long line wrapping, adjust curwin->w_wrow */
|
||||
if (curwin->w_wcol >= W_WIDTH(curwin))
|
||||
if (curwin->w_wcol >= curwin->w_width)
|
||||
{
|
||||
/* this same formula is used in validate_cursor_col() */
|
||||
n = (curwin->w_wcol - W_WIDTH(curwin)) / width + 1;
|
||||
n = (curwin->w_wcol - curwin->w_width) / width + 1;
|
||||
curwin->w_wcol -= n * width;
|
||||
curwin->w_wrow += n;
|
||||
|
||||
@@ -1050,7 +1050,7 @@ curs_columns(
|
||||
* extra
|
||||
*/
|
||||
off_left = (int)startcol - (int)curwin->w_leftcol - p_siso;
|
||||
off_right = (int)endcol - (int)(curwin->w_leftcol + W_WIDTH(curwin)
|
||||
off_right = (int)endcol - (int)(curwin->w_leftcol + curwin->w_width
|
||||
- p_siso) + 1;
|
||||
if (off_left < 0 || off_right > 0)
|
||||
{
|
||||
@@ -1278,7 +1278,7 @@ scrolldown(
|
||||
validate_virtcol();
|
||||
validate_cheight();
|
||||
wrow += curwin->w_cline_height - 1 -
|
||||
curwin->w_virtcol / W_WIDTH(curwin);
|
||||
curwin->w_virtcol / curwin->w_width;
|
||||
}
|
||||
while (wrow >= curwin->w_height && curwin->w_cursor.lnum > 1)
|
||||
{
|
||||
@@ -1483,7 +1483,7 @@ scrolldown_clamp(void)
|
||||
validate_cheight();
|
||||
validate_virtcol();
|
||||
end_row += curwin->w_cline_height - 1 -
|
||||
curwin->w_virtcol / W_WIDTH(curwin);
|
||||
curwin->w_virtcol / curwin->w_width;
|
||||
}
|
||||
if (end_row < curwin->w_height - p_so)
|
||||
{
|
||||
@@ -1541,7 +1541,7 @@ scrollup_clamp(void)
|
||||
if (curwin->w_p_wrap && curwin->w_width != 0)
|
||||
{
|
||||
validate_virtcol();
|
||||
start_row -= curwin->w_virtcol / W_WIDTH(curwin);
|
||||
start_row -= curwin->w_virtcol / curwin->w_width;
|
||||
}
|
||||
if (start_row >= p_so)
|
||||
{
|
||||
|
||||
+1
-1
@@ -2872,7 +2872,7 @@ netbeans_button_release(int button)
|
||||
|
||||
if (bufno >= 0 && curwin != NULL && curwin->w_buffer == curbuf)
|
||||
{
|
||||
int col = mouse_col - W_WINCOL(curwin)
|
||||
int col = mouse_col - curwin->w_wincol
|
||||
- ((curwin->w_p_nu || curwin->w_p_rnu) ? 9 : 1);
|
||||
long off = pos2off(curbuf, &curwin->w_cursor);
|
||||
|
||||
|
||||
+17
-11
@@ -2796,6 +2796,12 @@ do_mouse(
|
||||
*/
|
||||
jump_flags = jump_to_mouse(jump_flags,
|
||||
oap == NULL ? NULL : &(oap->inclusive), which_button);
|
||||
|
||||
#ifdef FEAT_MENU
|
||||
/* A click in the window toolbar has no side effects. */
|
||||
if (jump_flags & MOUSE_WINBAR)
|
||||
return FALSE;
|
||||
#endif
|
||||
moved = (jump_flags & CURSOR_MOVED);
|
||||
in_status_line = (jump_flags & IN_STATUS_LINE);
|
||||
in_sep_line = (jump_flags & IN_SEP_LINE);
|
||||
@@ -4453,8 +4459,8 @@ nv_screengo(oparg_T *oap, int dir, long dist)
|
||||
|
||||
col_off1 = curwin_col_off();
|
||||
col_off2 = col_off1 - curwin_col_off2();
|
||||
width1 = W_WIDTH(curwin) - col_off1;
|
||||
width2 = W_WIDTH(curwin) - col_off2;
|
||||
width1 = curwin->w_width - col_off1;
|
||||
width2 = curwin->w_width - col_off2;
|
||||
if (width2 == 0)
|
||||
width2 = 1; /* avoid divide by zero */
|
||||
|
||||
@@ -4659,7 +4665,7 @@ nv_mousescroll(cmdarg_T *cap)
|
||||
step = scroll_wheel_force;
|
||||
# endif
|
||||
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||
step = W_WIDTH(curwin);
|
||||
step = curwin->w_width;
|
||||
val = curwin->w_leftcol + (cap->arg == MSCR_RIGHT ? -step : +step);
|
||||
if (val < 0)
|
||||
val = 0;
|
||||
@@ -4911,7 +4917,7 @@ dozet:
|
||||
|
||||
/* "zH" - scroll screen right half-page */
|
||||
case 'H':
|
||||
cap->count1 *= W_WIDTH(curwin) / 2;
|
||||
cap->count1 *= curwin->w_width / 2;
|
||||
/* FALLTHROUGH */
|
||||
|
||||
/* "zh" - scroll screen to the right */
|
||||
@@ -4928,7 +4934,7 @@ dozet:
|
||||
break;
|
||||
|
||||
/* "zL" - scroll screen left half-page */
|
||||
case 'L': cap->count1 *= W_WIDTH(curwin) / 2;
|
||||
case 'L': cap->count1 *= curwin->w_width / 2;
|
||||
/* FALLTHROUGH */
|
||||
|
||||
/* "zl" - scroll screen to the left */
|
||||
@@ -4972,7 +4978,7 @@ dozet:
|
||||
else
|
||||
#endif
|
||||
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &col);
|
||||
n = W_WIDTH(curwin) - curwin_col_off();
|
||||
n = curwin->w_width - curwin_col_off();
|
||||
if ((long)col + p_siso < n)
|
||||
col = 0;
|
||||
else
|
||||
@@ -8107,7 +8113,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
oap->inclusive = FALSE;
|
||||
if (curwin->w_p_wrap && curwin->w_width != 0)
|
||||
{
|
||||
int width1 = W_WIDTH(curwin) - curwin_col_off();
|
||||
int width1 = curwin->w_width - curwin_col_off();
|
||||
int width2 = width1 + curwin_col_off2();
|
||||
|
||||
validate_virtcol();
|
||||
@@ -8121,7 +8127,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
* 'relativenumber' is on and lines are wrapping the middle can be more
|
||||
* to the left. */
|
||||
if (cap->nchar == 'm')
|
||||
i += (W_WIDTH(curwin) - curwin_col_off()
|
||||
i += (curwin->w_width - curwin_col_off()
|
||||
+ ((curwin->w_p_wrap && i > 0)
|
||||
? curwin_col_off2() : 0)) / 2;
|
||||
coladvance((colnr_T)i);
|
||||
@@ -8173,7 +8179,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
curwin->w_curswant = MAXCOL; /* so we stay at the end */
|
||||
if (cap->count1 == 1)
|
||||
{
|
||||
int width1 = W_WIDTH(curwin) - col_off;
|
||||
int width1 = curwin->w_width - col_off;
|
||||
int width2 = width1 + curwin_col_off2();
|
||||
|
||||
validate_virtcol();
|
||||
@@ -8205,7 +8211,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
}
|
||||
else
|
||||
{
|
||||
i = curwin->w_leftcol + W_WIDTH(curwin) - col_off - 1;
|
||||
i = curwin->w_leftcol + curwin->w_width - col_off - 1;
|
||||
coladvance((colnr_T)i);
|
||||
|
||||
/* Make sure we stick in this column. */
|
||||
@@ -9599,7 +9605,7 @@ get_op_vcol(
|
||||
colnr_T start, end;
|
||||
|
||||
if (VIsual_mode != Ctrl_V
|
||||
|| (!initial && oap->end.col < W_WIDTH(curwin)))
|
||||
|| (!initial && oap->end.col < curwin->w_width))
|
||||
return;
|
||||
|
||||
oap->block_mode = TRUE;
|
||||
|
||||
@@ -9085,9 +9085,6 @@ set_num_option(
|
||||
{
|
||||
if (p_imst != IM_ON_THE_SPOT && p_imst != IM_OVER_THE_SPOT)
|
||||
errmsg = e_invarg;
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
gui_macvim_set_imstyle(p_imst);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+12
-4
@@ -5352,6 +5352,9 @@ mch_job_start(char **argv, job_T *job, jobopt_T *options)
|
||||
channel = add_channel();
|
||||
if (channel == NULL)
|
||||
goto failed;
|
||||
if (job->jv_tty_out != NULL)
|
||||
ch_log(channel, "using pty %s on fd %d",
|
||||
job->jv_tty_out, pty_master_fd);
|
||||
}
|
||||
|
||||
BLOCK_SIGNALS(&curset);
|
||||
@@ -5724,6 +5727,9 @@ mch_create_pty_channel(job_T *job, jobopt_T *options)
|
||||
close(pty_master_fd);
|
||||
return FAIL;
|
||||
}
|
||||
if (job->jv_tty_out != NULL)
|
||||
ch_log(channel, "using pty %s on fd %d",
|
||||
job->jv_tty_out, pty_master_fd);
|
||||
job->jv_channel = channel; /* ch_refcount was set by add_channel() */
|
||||
channel->ch_keep_open = TRUE;
|
||||
|
||||
@@ -5991,7 +5997,7 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED, int *interrupted)
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
nfd = channel_poll_setup(nfd, &fds);
|
||||
nfd = channel_poll_setup(nfd, &fds, &towait);
|
||||
#endif
|
||||
if (interrupted != NULL)
|
||||
*interrupted = FALSE;
|
||||
@@ -6043,7 +6049,8 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED, int *interrupted)
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
if (ret > 0)
|
||||
/* also call when ret == 0, we may be polling a keep-open channel */
|
||||
if (ret >= 0)
|
||||
ret = channel_poll_check(ret, &fds);
|
||||
#endif
|
||||
|
||||
@@ -6119,7 +6126,7 @@ select_eintr:
|
||||
}
|
||||
# endif
|
||||
# ifdef FEAT_JOB_CHANNEL
|
||||
maxfd = channel_select_setup(maxfd, &rfds, &wfds);
|
||||
maxfd = channel_select_setup(maxfd, &rfds, &wfds, &tv, &tvp);
|
||||
# endif
|
||||
if (interrupted != NULL)
|
||||
*interrupted = FALSE;
|
||||
@@ -6205,7 +6212,8 @@ select_eintr:
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
if (ret > 0)
|
||||
/* also call when ret == 0, we may be polling a keep-open channel */
|
||||
if (ret >= 0)
|
||||
ret = channel_select_check(ret, &rfds, &wfds);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ LANGUAGES = \
|
||||
ja \
|
||||
ko \
|
||||
ko.UTF-8 \
|
||||
lv \
|
||||
nb \
|
||||
nl \
|
||||
no \
|
||||
@@ -63,6 +64,7 @@ MOFILES = \
|
||||
ja.mo \
|
||||
ko.mo \
|
||||
ko.UTF-8.mo \
|
||||
lv.mo \
|
||||
nb.mo \
|
||||
nl.mo \
|
||||
no.mo \
|
||||
|
||||
+102
-132
@@ -13,8 +13,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-28 10:54+0200\n"
|
||||
"PO-Revision-Date: 2017-05-28 23:45+0200\n"
|
||||
"POT-Creation-Date: 2017-09-24 16:26+0200\n"
|
||||
"PO-Revision-Date: 2017-09-24 18:40+0200\n"
|
||||
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
|
||||
"Language-Team: Antonio Colombo <azc100@gmail.com>\n"
|
||||
"Language: Italian\n"
|
||||
@@ -96,7 +96,6 @@ msgstr "E90: Non riesco a scaricare l'ultimo buffer"
|
||||
msgid "E84: No modified buffer found"
|
||||
msgstr "E84: Nessun buffer risulta modificato"
|
||||
|
||||
#. back where we started, didn't find anything.
|
||||
msgid "E85: There is no listed buffer"
|
||||
msgstr "E85: Non c'è alcun buffer elencato"
|
||||
|
||||
@@ -111,6 +110,18 @@ msgid "E89: No write since last change for buffer %ld (add ! to override)"
|
||||
msgstr ""
|
||||
"E89: Buffer %ld non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E948: Job still running (add ! to end the job)"
|
||||
msgstr "E948: Lavoro ancora in esecuzione (aggiungi! per terminarlo)"
|
||||
|
||||
msgid "E37: No write since last change (add ! to override)"
|
||||
msgstr "E37: Non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E948: Job still running"
|
||||
msgstr "E948: Lavoro ancora attivo"
|
||||
|
||||
msgid "E37: No write since last change"
|
||||
msgstr "E37: Non salvato dopo l'ultima modifica"
|
||||
|
||||
msgid "W14: Warning: List of file names overflow"
|
||||
msgstr "W14: Avviso: Superato limite della lista dei nomi di file"
|
||||
|
||||
@@ -166,7 +177,6 @@ msgstr "riga %ld di %ld --%d%%-- col "
|
||||
msgid "[No Name]"
|
||||
msgstr "[Senza nome]"
|
||||
|
||||
#. must be a help buffer
|
||||
msgid "help"
|
||||
msgstr "aiuto"
|
||||
|
||||
@@ -192,6 +202,9 @@ msgstr ""
|
||||
"\n"
|
||||
"# Lista Buffer:\n"
|
||||
|
||||
msgid "E382: Cannot write, 'buftype' option is set"
|
||||
msgstr "E382: Non posso scrivere, l'opzione 'buftype' è impostata"
|
||||
|
||||
msgid "[Scratch]"
|
||||
msgstr "[Volatile]"
|
||||
|
||||
@@ -228,6 +241,7 @@ msgstr "E904: l'ultimo argomento per espressione/chiamata dev'essere numerico"
|
||||
msgid "E904: third argument for call must be a list"
|
||||
msgstr "E904: il terzo argomento della chiamata dev'essere una Lista"
|
||||
|
||||
#, c-format
|
||||
msgid "E905: received unknown command: %s"
|
||||
msgstr "E905: recevuto comando non conosciuto: %s"
|
||||
|
||||
@@ -235,6 +249,7 @@ msgstr "E905: recevuto comando non conosciuto: %s"
|
||||
msgid "E630: %s(): write while not connected"
|
||||
msgstr "E630: %s(): scrittura in mancanza di connessione"
|
||||
|
||||
#, c-format
|
||||
msgid "E631: %s(): write failed"
|
||||
msgstr "E631: %s(): scrittura non riuscita"
|
||||
|
||||
@@ -299,6 +314,7 @@ msgstr "argomento di extend()"
|
||||
msgid "E737: Key already exists: %s"
|
||||
msgstr "E737: Chiave già esistente: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E96: Cannot diff more than %ld buffers"
|
||||
msgstr "E96: Non supporto differenze fra più di %ld buffer"
|
||||
|
||||
@@ -355,7 +371,6 @@ msgstr "E791: Nessuna keymap per questo tasto"
|
||||
msgid " Keyword completion (^N^P)"
|
||||
msgstr " Completamento Keyword (^N^P)"
|
||||
|
||||
#. ctrl_x_mode == 0, ^P/^N compl.
|
||||
msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
|
||||
msgstr " modalità ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
|
||||
|
||||
@@ -433,10 +448,6 @@ msgstr "corrispondenza nel file"
|
||||
msgid " Adding"
|
||||
msgstr " Aggiungo"
|
||||
|
||||
#. showmode might reset the internal line pointers, so it must
|
||||
#. * be called before line = ml_get(), or when this address is no
|
||||
#. * longer needed. -- Acevedo.
|
||||
#.
|
||||
msgid "-- Searching..."
|
||||
msgstr "-- Ricerca..."
|
||||
|
||||
@@ -457,7 +468,6 @@ msgstr "corrispondenza %d di %d"
|
||||
msgid "match %d"
|
||||
msgstr "corrispondenza %d"
|
||||
|
||||
#. maximum nesting of lists and dicts
|
||||
msgid "E18: Unexpected characters in :let"
|
||||
msgstr "E18: Caratteri non previsti in :let"
|
||||
|
||||
@@ -518,8 +528,7 @@ msgstr "E690: Manca \"in\" dopo :for"
|
||||
msgid "E108: No such variable: \"%s\""
|
||||
msgstr "E108: Variabile inesistente: \"%s\""
|
||||
|
||||
#. For historic reasons this error is not given for a list or dict.
|
||||
#. * E.g., the b: dict could be locked/unlocked.
|
||||
#, c-format
|
||||
msgid "E940: Cannot lock or unlock variable %s"
|
||||
msgstr "E940: Non riesco a bloccare o sbloccare la variabile %s"
|
||||
|
||||
@@ -693,11 +702,6 @@ msgstr "argomento di add()"
|
||||
msgid "E785: complete() can only be used in Insert mode"
|
||||
msgstr "E785: complete() può essere usata solo in modalità inserimento"
|
||||
|
||||
#.
|
||||
#. * Yes this is ugly, I don't particularly like it either. But doing it
|
||||
#. * this way has the compelling advantage that translations need not to
|
||||
#. * be touched at all. See below what 'ok' and 'ync' are used for.
|
||||
#.
|
||||
msgid "&Ok"
|
||||
msgstr "&OK"
|
||||
|
||||
@@ -794,6 +798,7 @@ msgstr "E882: Funzione confronto in uniq non riuscita"
|
||||
msgid "(Invalid)"
|
||||
msgstr "(Non valido)"
|
||||
|
||||
#, c-format
|
||||
msgid "E935: invalid submatch number: %d"
|
||||
msgstr "E935: nomeri di sotto-corrispondenza non valido: %d"
|
||||
|
||||
@@ -858,7 +863,6 @@ msgstr " file elaborati in precedenza"
|
||||
msgid " FAILED"
|
||||
msgstr " FALLITO"
|
||||
|
||||
#. avoid a wait_return for this message, it's annoying
|
||||
#, c-format
|
||||
msgid "E137: Viminfo file is not writable: %s"
|
||||
msgstr "E137: File viminfo \"%s\" inaccessibile in scrittura"
|
||||
@@ -879,7 +883,6 @@ msgstr "Scrivo file viminfo \"%s\""
|
||||
msgid "E886: Can't rename viminfo file to %s!"
|
||||
msgstr "E886: Non riesco a rinominare il file viminfo a %s!"
|
||||
|
||||
#. Write the info:
|
||||
#, c-format
|
||||
msgid "# This viminfo file was generated by Vim %s.\n"
|
||||
msgstr "# Questo file viminfo è stato generato da Vim %s.\n"
|
||||
@@ -999,8 +1002,8 @@ msgstr " in 1 riga"
|
||||
msgid " on %ld lines"
|
||||
msgstr " in %ld righe"
|
||||
|
||||
msgid "E147: Cannot do :global recursive"
|
||||
msgstr "E147: :global non può essere usato ricorsivamente"
|
||||
msgid "E147: Cannot do :global recursive with a range"
|
||||
msgstr "E147: :global non può essere usato ricorsivamente con un intervallo"
|
||||
|
||||
msgid "E148: Regular expression missing from global"
|
||||
msgstr "E148: Manca espressione regolare nel comando 'global'"
|
||||
@@ -1037,6 +1040,7 @@ msgstr "E149: Spiacente, nessun aiuto per %s"
|
||||
msgid "Sorry, help file \"%s\" not found"
|
||||
msgstr "Spiacente, non trovo file di aiuto \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E151: No match: %s"
|
||||
msgstr "E151: Nessuna corrispondenza: %s"
|
||||
|
||||
@@ -1148,8 +1152,8 @@ msgstr "E750: Usare prima \":profile start {fname}\""
|
||||
msgid "Save changes to \"%s\"?"
|
||||
msgstr "Salvare modifiche a \"%s\"?"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Senza Nome"
|
||||
msgid "E947: Job still running in buffer \"%s\""
|
||||
msgstr "E947: Lavoro ancora in esecuzione nel buffer \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E162: No write since last change for buffer \"%s\""
|
||||
@@ -1186,11 +1190,13 @@ msgstr "non trovato in '%s': \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "W20: Required python version 2.x not supported, ignoring file: %s"
|
||||
msgstr "W20: Versione richiesta di python 2.x non supportata, ignoro il file: %s"
|
||||
msgstr ""
|
||||
"W20: Versione richiesta di python 2.x non supportata, ignoro il file: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "W21: Required python version 3.x not supported, ignoring file: %s"
|
||||
msgstr "W21: Versione richiesta di python 3.x non supportata, ignoro il file: %s"
|
||||
msgstr ""
|
||||
"W21: Versione richiesta di python 3.x non supportata, ignoro il file: %s"
|
||||
|
||||
msgid "Source Vim script"
|
||||
msgstr "Esegui script Vim"
|
||||
@@ -1459,7 +1465,6 @@ msgstr "E189: \"%s\" esiste (aggiungi ! per eseguire comunque)"
|
||||
msgid "E190: Cannot open \"%s\" for writing"
|
||||
msgstr "E190: Non riesco ad aprire \"%s\" in scrittura"
|
||||
|
||||
#. set mark
|
||||
msgid "E191: Argument must be a letter or forward/backward quote"
|
||||
msgstr ""
|
||||
"E191: L'argomento deve essere una lettera, oppure un apice/apice retroverso"
|
||||
@@ -1501,13 +1506,15 @@ msgstr "E500: Il valore
|
||||
msgid "E195: Cannot open viminfo file for reading"
|
||||
msgstr "E195: Non posso aprire il file viminfo in lettura"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Senza Nome"
|
||||
|
||||
msgid "E196: No digraphs in this version"
|
||||
msgstr "E196: Digrammi non supportati in questa versione"
|
||||
|
||||
msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
|
||||
msgstr "E608: Impossibile lanciare eccezioni con prefisso 'Vim'"
|
||||
|
||||
#. always scroll up, don't overwrite
|
||||
#, c-format
|
||||
msgid "Exception thrown: %s"
|
||||
msgstr "Eccezione lanciata: %s"
|
||||
@@ -1524,7 +1531,6 @@ msgstr "Eccezione scartata: %s"
|
||||
msgid "%s, line %ld"
|
||||
msgstr "%s, riga %ld"
|
||||
|
||||
#. always scroll up, don't overwrite
|
||||
#, c-format
|
||||
msgid "Exception caught: %s"
|
||||
msgstr "Eccezione intercettata: %s"
|
||||
@@ -1550,7 +1556,6 @@ msgstr "Errore ed interruzione"
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#. if (pending & CSTP_INTERRUPT)
|
||||
msgid "Interrupt"
|
||||
msgstr "Interruzione"
|
||||
|
||||
@@ -1593,15 +1598,12 @@ msgstr "E601: nidificazione di :try troppo estesa"
|
||||
msgid "E603: :catch without :try"
|
||||
msgstr "E603: :catch senza :try"
|
||||
|
||||
#. Give up for a ":catch" after ":finally" and ignore it.
|
||||
#. * Just parse.
|
||||
msgid "E604: :catch after :finally"
|
||||
msgstr "E604: :catch dopo :finally"
|
||||
|
||||
msgid "E606: :finally without :try"
|
||||
msgstr "E606: :finally senza :try"
|
||||
|
||||
#. Give up for a multiple ":finally" and ignore it.
|
||||
msgid "E607: multiple :finally"
|
||||
msgstr "E607: :finally multipli"
|
||||
|
||||
@@ -1694,7 +1696,6 @@ msgstr "Vim: Leggo da 'stdin'...\n"
|
||||
msgid "Reading from stdin..."
|
||||
msgstr "Leggo da 'stdin'..."
|
||||
|
||||
#. Re-opening the original file failed!
|
||||
msgid "E202: Conversion made file unreadable!"
|
||||
msgstr "E202: La conversione ha reso il file illeggibile!"
|
||||
|
||||
@@ -1911,9 +1912,6 @@ msgstr "[noeol]"
|
||||
msgid "[Incomplete last line]"
|
||||
msgstr "[Manca carattere di fine riga]"
|
||||
|
||||
#. don't overwrite messages here
|
||||
#. must give this prompt
|
||||
#. don't use emsg() here, don't want to flush the buffers
|
||||
msgid "WARNING: The file has been changed since reading it!!!"
|
||||
msgstr "AVVISO: File modificato dopo essere stato letto!!!"
|
||||
|
||||
@@ -1992,7 +1990,6 @@ msgstr "--Cancellato--"
|
||||
msgid "auto-removing autocommand: %s <buffer=%d>"
|
||||
msgstr "auto-rimozione dell'autocomando: %s <buffer=%d>"
|
||||
|
||||
#. the group doesn't exist
|
||||
#, c-format
|
||||
msgid "E367: No such group: \"%s\""
|
||||
msgstr "E367: Gruppo inesistente: \"%s\""
|
||||
@@ -2015,7 +2012,6 @@ msgstr "E216: Evento inesistente: %s"
|
||||
msgid "E216: No such group or event: %s"
|
||||
msgstr "E216: Evento o gruppo inesistente: %s"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Auto-Commands ---"
|
||||
@@ -2196,18 +2192,15 @@ msgstr "Trova cosa:"
|
||||
msgid "Replace with:"
|
||||
msgstr "Sostituisci con:"
|
||||
|
||||
#. whole word only button
|
||||
msgid "Match whole word only"
|
||||
msgstr "Cerca solo la parola intera"
|
||||
|
||||
#. match case button
|
||||
msgid "Match case"
|
||||
msgstr "Maiuscole/minuscole"
|
||||
|
||||
msgid "Direction"
|
||||
msgstr "Direzione"
|
||||
|
||||
#. 'Up' and 'Down' buttons
|
||||
msgid "Up"
|
||||
msgstr "Su"
|
||||
|
||||
@@ -2286,8 +2279,6 @@ msgstr "Stringa di ricerca (usa '\\\\' per cercare un '\\')"
|
||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||
msgstr "Sostituisci (usa '\\\\' per cercare un '\\')"
|
||||
|
||||
#. We fake this: Use a filter that doesn't select anything and a default
|
||||
#. * file name that won't be used.
|
||||
msgid "Not Used"
|
||||
msgstr "Non Utilizzato"
|
||||
|
||||
@@ -2361,7 +2352,6 @@ msgstr "Vim - Selettore Font"
|
||||
msgid "Name:"
|
||||
msgstr "Nome:"
|
||||
|
||||
#. create toggle button
|
||||
msgid "Show size in Points"
|
||||
msgstr "Mostra dimensione in Punti"
|
||||
|
||||
@@ -2606,7 +2596,6 @@ msgstr "E261: connessione cscope %s non trovata"
|
||||
msgid "cscope connection %s closed"
|
||||
msgstr "connessione cscope %s chiusa"
|
||||
|
||||
#. should not reach here
|
||||
msgid "E570: fatal error in cs_manage_matches"
|
||||
msgstr "E570: errore irreparabile in cs_manage_matches"
|
||||
|
||||
@@ -2768,7 +2757,6 @@ msgstr "numero buffer non valido"
|
||||
msgid "not implemented yet"
|
||||
msgstr "non ancora implementato"
|
||||
|
||||
#. ???
|
||||
msgid "cannot set line(s)"
|
||||
msgstr "non posso impostare riga(he)"
|
||||
|
||||
@@ -2809,7 +2797,6 @@ msgid ""
|
||||
msgstr ""
|
||||
"non posso registrare comando callback: buffer/finestra già in cancellazione"
|
||||
|
||||
#. This should never happen. Famous last word?
|
||||
msgid ""
|
||||
"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
|
||||
"org"
|
||||
@@ -2848,8 +2835,9 @@ msgstr "E573: Identificativo di server non valido: %s"
|
||||
msgid "E251: VIM instance registry property is badly formed. Deleted!"
|
||||
msgstr "E251: Proprietà registry relative a VIM non adeguate. Cancellate!"
|
||||
|
||||
#, c-format
|
||||
msgid "E938: Duplicate key in JSON: \"%s\""
|
||||
msgstr "E938: Chiave duplicata in JSON: \"%s\""
|
||||
msgstr "E938: Chiave duplicata in JSON: \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E696: Missing comma in List: %s"
|
||||
@@ -2912,7 +2900,6 @@ msgstr "Vim: Avviso: Output non diretto a un terminale\n"
|
||||
msgid "Vim: Warning: Input is not from a terminal\n"
|
||||
msgstr "Vim: Avviso: Input non proveniente da un terminale\n"
|
||||
|
||||
#. just in case..
|
||||
msgid "pre-vimrc command line"
|
||||
msgstr "riga comandi prima di vimrc"
|
||||
|
||||
@@ -3171,6 +3158,9 @@ msgstr ""
|
||||
msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
|
||||
msgstr "-i <viminfo>\t\tUsa <viminfo> invece di .viminfo"
|
||||
|
||||
msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
|
||||
msgstr "--clean\t\t'nocompatible', default di Vim, no plugin, no viminfo"
|
||||
|
||||
msgid "-h or --help\tPrint Help (this message) and exit"
|
||||
msgstr "-h opp. --help\tStampa Aiuto (questo messaggio) ed esci"
|
||||
|
||||
@@ -3271,11 +3261,9 @@ msgstr "--windowid <HWND>\tApri Vim dentro un altro widget win32"
|
||||
msgid "No display"
|
||||
msgstr "Manca display"
|
||||
|
||||
#. Failed to send, abort.
|
||||
msgid ": Send failed.\n"
|
||||
msgstr ": Invio fallito.\n"
|
||||
|
||||
#. Let vim start normally.
|
||||
msgid ": Send failed. Trying to execute locally\n"
|
||||
msgstr ": Invio fallito. Tento di eseguire localmente\n"
|
||||
|
||||
@@ -3296,7 +3284,6 @@ msgstr "Nessun mark impostato"
|
||||
msgid "E283: No marks matching \"%s\""
|
||||
msgstr "E283: Nessun mark corrispondente a \"%s\""
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"mark line col file/text"
|
||||
@@ -3304,7 +3291,6 @@ msgstr ""
|
||||
"\n"
|
||||
"mark riga col.file/testo"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
" jump line col file/text"
|
||||
@@ -3312,7 +3298,6 @@ msgstr ""
|
||||
"\n"
|
||||
" salt.riga col.file/testo"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"change line col text"
|
||||
@@ -3327,7 +3312,6 @@ msgstr ""
|
||||
"\n"
|
||||
"# File mark:\n"
|
||||
|
||||
#. Write the jumplist with -'
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Jumplist (newest first):\n"
|
||||
@@ -3396,7 +3380,6 @@ msgstr "E298: Non riesco a leggere blocco numero 2?"
|
||||
msgid "E843: Error while updating swap file crypt"
|
||||
msgstr "E843: Errore aggiornando cifratura dello swap file"
|
||||
|
||||
#. could not (re)open the swap file, what can we do????
|
||||
msgid "E301: Oops, lost the swap file!!!"
|
||||
msgstr "E301: Ahimè, lo swap file è perduto!!!"
|
||||
|
||||
@@ -3580,7 +3563,6 @@ msgstr ""
|
||||
msgid "Using crypt key from swap file for the text file.\n"
|
||||
msgstr "Uso la chiave di cifratura del file swap per il file di testo.\n"
|
||||
|
||||
#. use msg() to start the scrolling properly
|
||||
msgid "Swap files found:"
|
||||
msgstr "Swap file trovati:"
|
||||
|
||||
@@ -3750,8 +3732,6 @@ msgstr "Mentre aprivo file \""
|
||||
msgid " NEWER than swap file!\n"
|
||||
msgstr " più RECENTE dello swap file!\n"
|
||||
|
||||
#. Some of these messages are long to allow translation to
|
||||
#. * other languages.
|
||||
msgid ""
|
||||
"\n"
|
||||
"(1) Another program may be editing the same file. If this is the case,\n"
|
||||
@@ -3840,7 +3820,6 @@ msgstr "E328: I Menu esistono solo in un'altra modalit
|
||||
msgid "E329: No menu \"%s\""
|
||||
msgstr "E329: Nessun Menu \"%s\""
|
||||
|
||||
#. Only a mnemonic or accelerator is not valid.
|
||||
msgid "E792: Empty menu name"
|
||||
msgstr "E792: Nome menu non valido"
|
||||
|
||||
@@ -3854,8 +3833,6 @@ msgstr ""
|
||||
msgid "E332: Separator cannot be part of a menu path"
|
||||
msgstr "E332: Il separatore non può far parte di un percorso di Menu"
|
||||
|
||||
#. Now we have found the matching menu, and we list the mappings
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Menus ---"
|
||||
@@ -3866,6 +3843,10 @@ msgstr ""
|
||||
msgid "Tear off this menu"
|
||||
msgstr "Togli questo Menu"
|
||||
|
||||
#, c-format
|
||||
msgid "E335: Menu not defined for %s mode"
|
||||
msgstr "E335: Menu non definito per la modalità %s"
|
||||
|
||||
msgid "E333: Menu path must lead to a menu item"
|
||||
msgstr "E333: Il percorso Menu deve condurre ad un elemento Menu"
|
||||
|
||||
@@ -3873,10 +3854,6 @@ msgstr "E333: Il percorso Menu deve condurre ad un elemento Menu"
|
||||
msgid "E334: Menu not found: %s"
|
||||
msgstr "E334: Menu non trovato: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E335: Menu not defined for %s mode"
|
||||
msgstr "E335: Menu non definito per la modalità %s"
|
||||
|
||||
msgid "E336: Menu path must lead to a sub-menu"
|
||||
msgstr "E336: Il percorso Menu deve condurre ad un sotto-Menu"
|
||||
|
||||
@@ -3946,7 +3923,6 @@ msgstr "Salva File dialogo"
|
||||
msgid "Open File dialog"
|
||||
msgstr "Apri File dialogo"
|
||||
|
||||
#. TODO: non-GUI file selector here
|
||||
msgid "E338: Sorry, no file browser in console mode"
|
||||
msgstr "E338: Spiacente, niente esplorazione file in modalità console"
|
||||
|
||||
@@ -4111,8 +4087,8 @@ msgstr "E662: All'inizio della lista modifiche"
|
||||
msgid "E663: At end of changelist"
|
||||
msgstr "E663: Alla fine della lista modifiche"
|
||||
|
||||
msgid "Type :quit<Enter> to exit Vim"
|
||||
msgstr "Batti :quit<Invio> per uscire da Vim"
|
||||
msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim"
|
||||
msgstr "Batti :qa! e premi <Invio> per ignorare le modifiche e uscire da Vim"
|
||||
|
||||
#, c-format
|
||||
msgid "1 line %sed 1 time"
|
||||
@@ -4144,7 +4120,6 @@ msgstr "%ld righe rientrate "
|
||||
msgid "E748: No previously used register"
|
||||
msgstr "E748: Nessun registro usato in precedenza"
|
||||
|
||||
#. must display the prompt
|
||||
msgid "cannot yank; delete anyway"
|
||||
msgstr "non riesco a salvare in un registro; cancello comunque"
|
||||
|
||||
@@ -4159,25 +4134,27 @@ msgstr "%ld righe cambiate"
|
||||
msgid "freeing %ld lines"
|
||||
msgstr "libero %ld righe"
|
||||
|
||||
msgid "block of 1 line yanked"
|
||||
msgstr "blocco di 1 riga messo in registro"
|
||||
|
||||
msgid "1 line yanked"
|
||||
msgstr "1 riga messa in registro"
|
||||
|
||||
#, c-format
|
||||
msgid "block of %ld lines yanked"
|
||||
msgstr "blocco di %ld righe messo in registro"
|
||||
msgid " into \"%c"
|
||||
msgstr " in \"%c"
|
||||
|
||||
#, c-format
|
||||
msgid "%ld lines yanked"
|
||||
msgstr "%ld righe messe in registro"
|
||||
#
|
||||
msgid "block of 1 line yanked%s"
|
||||
msgstr "blocco di 1 riga messo in registro%s"
|
||||
|
||||
msgid "1 line yanked%s"
|
||||
msgstr "1 riga messa in registro%s"
|
||||
|
||||
msgid "block of %ld lines yanked%s"
|
||||
msgstr "blocco di %ld righe messo in registro%s"
|
||||
|
||||
msgid "%ld lines yanked%s"
|
||||
msgstr "%ld righe messe in registro%s"
|
||||
|
||||
#, c-format
|
||||
msgid "E353: Nothing in register %s"
|
||||
msgstr "E353: Niente nel registro %s"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Registers ---"
|
||||
@@ -4240,9 +4217,6 @@ msgstr ""
|
||||
msgid "(+%ld for BOM)"
|
||||
msgstr "(+%ld per BOM)"
|
||||
|
||||
msgid "%<%f%h%m%=Page %N"
|
||||
msgstr "%<%f%h%m%=Pagina %N"
|
||||
|
||||
msgid "Thanks for flying Vim"
|
||||
msgstr "Grazie per aver volato con Vim"
|
||||
|
||||
@@ -4350,6 +4324,10 @@ msgstr "E541: troppi elementi"
|
||||
msgid "E542: unbalanced groups"
|
||||
msgstr "E542: gruppi sbilanciati"
|
||||
|
||||
msgid "E946: Cannot make a terminal with running job modifiable"
|
||||
msgstr "E946: Non posso aprire un terminale mentre ci sono lavori "
|
||||
"modificabili in esecuzione"
|
||||
|
||||
msgid "E590: A preview window already exists"
|
||||
msgstr "E590: Una finestra di pre-visualizzazione esiste già"
|
||||
|
||||
@@ -4368,9 +4346,6 @@ msgstr "E594: Servono almeno %d colonne"
|
||||
msgid "E355: Unknown option: %s"
|
||||
msgstr "E355: Opzione inesistente: %s"
|
||||
|
||||
#. There's another character after zeros or the string
|
||||
#. * is empty. In both cases, we are trying to set a
|
||||
#. * num option using a string.
|
||||
#, c-format
|
||||
msgid "E521: Number required: &%s = '%s'"
|
||||
msgstr "E521: Ci vuole un numero: &%s = '%s'"
|
||||
@@ -4443,7 +4418,6 @@ msgstr "non posso modificare modalit
|
||||
msgid "mch_get_shellsize: not a console??\n"
|
||||
msgstr "mch_get_shellsize: non una console??\n"
|
||||
|
||||
#. if Vim opened a window: Executing a shell may cause crashes
|
||||
msgid "E360: Cannot execute shell with -f option"
|
||||
msgstr "E360: Non posso eseguire lo shell con l'opzione -f"
|
||||
|
||||
@@ -4667,7 +4641,6 @@ msgstr "E376: %%%c non valido nel prefisso della stringa di 'format'"
|
||||
msgid "E377: Invalid %%%c in format string"
|
||||
msgstr "E377: %%%c non valido nella stringa di 'format'"
|
||||
|
||||
#. nothing found
|
||||
msgid "E378: 'errorformat' contains no pattern"
|
||||
msgstr "E378: 'errorformat' non contiene alcun modello"
|
||||
|
||||
@@ -4693,6 +4666,7 @@ msgstr "(%d di %d)%s%s: "
|
||||
msgid " (line deleted)"
|
||||
msgstr " (riga cancellata)"
|
||||
|
||||
#, c-format
|
||||
msgid "%serror list %d of %d; %d errors "
|
||||
msgstr "%slista errori %d di %d; %d errori"
|
||||
|
||||
@@ -4705,9 +4679,6 @@ msgstr "E381: In cima allo stack di quickfix"
|
||||
msgid "No entries"
|
||||
msgstr "Nessun elemento"
|
||||
|
||||
msgid "E382: Cannot write, 'buftype' option is set"
|
||||
msgstr "E382: Non posso scrivere, l'opzione 'buftype' è impostata"
|
||||
|
||||
msgid "Error file"
|
||||
msgstr "File errori"
|
||||
|
||||
@@ -4732,6 +4703,12 @@ msgstr "E369: elemento non valido in %s%%[]"
|
||||
msgid "E769: Missing ] after %s["
|
||||
msgstr "E769: Manca ] dopo %s["
|
||||
|
||||
msgid "E944: Reverse range in character class"
|
||||
msgstr "E944: Intervallo invertito nella classe di caratteri"
|
||||
|
||||
msgid "E945: Range too large in character class"
|
||||
msgstr "E945: Intervallo troppo ampio nella classe di caratteri"
|
||||
|
||||
#, c-format
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Senza riscontro: %s%%("
|
||||
@@ -4758,6 +4735,9 @@ msgstr "E69: Manca ] dopo %s%%["
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: %s%%[] vuoto"
|
||||
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Riferimento all'indietro non ammesso"
|
||||
|
||||
msgid "E339: Pattern too long"
|
||||
msgstr "E339: Espressione troppo lunga"
|
||||
|
||||
@@ -4794,9 +4774,6 @@ msgstr "E63: uso non valido di \\_"
|
||||
msgid "E64: %s%c follows nothing"
|
||||
msgstr "E64: %s%c senza nulla prima"
|
||||
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Riferimento all'indietro non ammesso"
|
||||
|
||||
msgid "E68: Invalid character after \\z"
|
||||
msgstr "E68: Carattere non ammesso dopo \\z"
|
||||
|
||||
@@ -4848,7 +4825,6 @@ msgstr "E867: (NFA) Operatore sconosciuto '\\z%c'"
|
||||
msgid "E867: (NFA) Unknown operator '\\%%%c'"
|
||||
msgstr "E867: (NFA) Operatore sconosciuto '\\%%%c'"
|
||||
|
||||
#. should never happen
|
||||
msgid "E868: Error building NFA with equivalence class!"
|
||||
msgstr "E868: Errore nel build di NFA con classe di equivalenza!"
|
||||
|
||||
@@ -4859,11 +4835,9 @@ msgstr "E869: (NFA) Operatore sconosciuto '\\@%c'"
|
||||
msgid "E870: (NFA regexp) Error reading repetition limits"
|
||||
msgstr "E870: (NFA regexp) Errore nella lettura dei limiti di ripetizione"
|
||||
|
||||
#. Can't have a multi follow a multi.
|
||||
msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
|
||||
msgstr "E871: (NFA regexp) Non si può avere multi dopo multi !"
|
||||
|
||||
#. Too many `('
|
||||
msgid "E872: (NFA regexp) Too many '('"
|
||||
msgstr "E872: (NFA regexp) Troppi '('"
|
||||
|
||||
@@ -4970,7 +4944,6 @@ msgstr "E386: '?' o '/' atteso dopo ';'"
|
||||
msgid " (includes previously listed match)"
|
||||
msgstr " (comprese corrispondenze elencate prima)"
|
||||
|
||||
#. cursor at status line
|
||||
msgid "--- Included files "
|
||||
msgstr "--- File inclusi "
|
||||
|
||||
@@ -5047,8 +5020,6 @@ msgstr "Spiacente, nessun suggerimento"
|
||||
msgid "Sorry, only %ld suggestions"
|
||||
msgstr "Spiacente, solo %ld suggerimenti"
|
||||
|
||||
#. for when 'cmdheight' > 1
|
||||
#. avoid more prompt
|
||||
#, c-format
|
||||
msgid "Change \"%.*s\" to:"
|
||||
msgstr "Cambiare \"%.*s\" in:"
|
||||
@@ -5330,10 +5301,6 @@ msgstr "%d di %d nodi compressi; ne restano %d (%d%%)"
|
||||
msgid "Reading back spell file..."
|
||||
msgstr "Rilettura file ortografico..."
|
||||
|
||||
#.
|
||||
#. * Go through the trie of good words, soundfold each word and add it to
|
||||
#. * the soundfold trie.
|
||||
#.
|
||||
msgid "Performing soundfolding..."
|
||||
msgstr "Eseguo soundfolding..."
|
||||
|
||||
@@ -5388,19 +5355,17 @@ msgstr "Parola '%.*s' aggiunta a %s"
|
||||
msgid "E763: Word characters differ between spell files"
|
||||
msgstr "E763: Caratteri di parola differenti nei file ortografici"
|
||||
|
||||
#. This should have been checked when generating the .spl
|
||||
#. * file.
|
||||
msgid "E783: duplicate char in MAP entry"
|
||||
msgstr "E783: carattere duplicato nell'elemento MAP"
|
||||
|
||||
msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Nessun elemento sintattico definito per questo buffer"
|
||||
|
||||
msgid "syn conceal on"
|
||||
msgstr "syn conceal attivo"
|
||||
msgid "syntax conceal on"
|
||||
msgstr "syntax conceal attivo"
|
||||
|
||||
msgid "syn conceal off"
|
||||
msgstr "syn conceal inattivo"
|
||||
msgid "syntax conceal off"
|
||||
msgstr "syntax conceal inattivo"
|
||||
|
||||
#, c-format
|
||||
msgid "E390: Illegal argument: %s"
|
||||
@@ -5656,7 +5621,6 @@ msgstr "E428: Non posso andare oltre l'ultimo tag corrispondente"
|
||||
msgid "File \"%s\" does not exist"
|
||||
msgstr "Il file \"%s\" non esiste"
|
||||
|
||||
#. Give an indication of the number of matching tags
|
||||
#, c-format
|
||||
msgid "tag %d of %d%s"
|
||||
msgstr "tag %d di %d%s"
|
||||
@@ -5671,7 +5635,6 @@ msgstr " Uso tag ignorando maiuscole/minuscole!"
|
||||
msgid "E429: File \"%s\" does not exist"
|
||||
msgstr "E429: Il file \"%s\" non esiste"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
" # TO tag FROM line in file/text"
|
||||
@@ -5702,7 +5665,6 @@ msgstr "Prima del byte %ld"
|
||||
msgid "E432: Tags file not sorted: %s"
|
||||
msgstr "E432: Tag file non ordinato alfabeticamente: %s"
|
||||
|
||||
#. never opened any tags file
|
||||
msgid "E433: No tags file"
|
||||
msgstr "E433: Nessun tag file"
|
||||
|
||||
@@ -5738,7 +5700,6 @@ msgstr "E436: Nessuna descrizione per \"%s\" in 'termcap'"
|
||||
msgid "E437: terminal capability \"cm\" required"
|
||||
msgstr "E437: capacità \"cm\" del terminale necessaria"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Terminal keys ---"
|
||||
@@ -5749,6 +5710,21 @@ msgstr ""
|
||||
msgid "Cannot open $VIMRUNTIME/rgb.txt"
|
||||
msgstr "Non riesco ad aprire $VIMRUNTIME/rgb.txt"
|
||||
|
||||
msgid "Terminal"
|
||||
msgstr "Terminale"
|
||||
|
||||
msgid "Terminal-finished"
|
||||
msgstr "Terminale-terminato"
|
||||
|
||||
msgid "active"
|
||||
msgstr "attivo"
|
||||
|
||||
msgid "running"
|
||||
msgstr "in esecuzione"
|
||||
|
||||
msgid "finished"
|
||||
msgstr "terminato"
|
||||
|
||||
msgid "new shell started\n"
|
||||
msgstr "fatto eseguire nuovo shell\n"
|
||||
|
||||
@@ -5758,12 +5734,9 @@ msgstr "Vim: Errore leggendo l'input, esco...\n"
|
||||
msgid "Used CUT_BUFFER0 instead of empty selection"
|
||||
msgstr "Uso CUT_BUFFER0 invece che una scelta nulla"
|
||||
|
||||
#. This happens when the FileChangedRO autocommand changes the
|
||||
#. * file in a way it becomes shorter.
|
||||
msgid "E881: Line count changed unexpectedly"
|
||||
msgstr "E881: Contatore righe è inaspettatamente cambiato"
|
||||
|
||||
#. must display the prompt
|
||||
msgid "No undo possible; continue anyway"
|
||||
msgstr "'undo' non più possibile; continuo comunque"
|
||||
|
||||
@@ -5953,6 +5926,7 @@ msgstr "E699: Troppi argomenti"
|
||||
msgid "E117: Unknown function: %s"
|
||||
msgstr "E117: Funzione sconosciuta: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E933: Function was deleted: %s"
|
||||
msgstr "E933: Funzione eliminata: %s"
|
||||
|
||||
@@ -5992,11 +5966,15 @@ msgstr "E862: Non si pu
|
||||
|
||||
#, c-format
|
||||
msgid "E932: Closure function should not be at top level: %s"
|
||||
msgstr "E932: La funzione di chiusura non novrebbe essere al livello più alto: %s"
|
||||
msgstr ""
|
||||
"E932: La funzione di chiusura non novrebbe essere al livello più alto: %s"
|
||||
|
||||
msgid "E126: Missing :endfunction"
|
||||
msgstr "E126: Manca :endfunction"
|
||||
|
||||
msgid "W22: Text found after :endfunction: %s"
|
||||
msgstr "W22: Trovato testo dopo :endfunction: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E707: Function name conflicts with variable: %s"
|
||||
msgstr "E707: Nome funzione in conflitto con la variabile: %s"
|
||||
@@ -6336,6 +6314,7 @@ msgstr "E446: Nessun nome file sotto il cursore"
|
||||
msgid "E447: Can't find file \"%s\" in path"
|
||||
msgstr "E447: Non riesco a trovare il file \"%s\" nel percorso"
|
||||
|
||||
#, c-format
|
||||
msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
|
||||
msgstr "E799: ID non valido: %ld (dev'essere maggiore o uguale a 1)"
|
||||
|
||||
@@ -6346,9 +6325,11 @@ msgstr "E801: ID gi
|
||||
msgid "List or number required"
|
||||
msgstr "È necessaria una Lista o un numero"
|
||||
|
||||
#, c-format
|
||||
msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
|
||||
msgstr "E802: ID non valido: %ld (dev'essere maggiore o uguale a 1)"
|
||||
|
||||
#, c-format
|
||||
msgid "E803: ID not found: %ld"
|
||||
msgstr "E803: ID non trovato: %ld"
|
||||
|
||||
@@ -6377,7 +6358,6 @@ msgstr "Differenza con Vim"
|
||||
msgid "Edit with &Vim"
|
||||
msgstr "Apri con &Vim"
|
||||
|
||||
#. Now concatenate
|
||||
msgid "Edit with existing Vim - "
|
||||
msgstr "Apri con Vim esistente - "
|
||||
|
||||
@@ -6398,10 +6378,6 @@ msgstr "Percorso file troppo lungo!"
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--File vuoto--"
|
||||
|
||||
#.
|
||||
#. * The error messages that can be shared are included here.
|
||||
#. * Excluded are errors that are only used once and debugging messages.
|
||||
#.
|
||||
msgid "E470: Command aborted"
|
||||
msgstr "E470: Comando finito male"
|
||||
|
||||
@@ -6586,12 +6562,6 @@ msgstr "E484: Non riesco ad aprire il file %s"
|
||||
msgid "E485: Can't read file %s"
|
||||
msgstr "E485: Non riesco a leggere il file %s"
|
||||
|
||||
msgid "E37: No write since last change (add ! to override)"
|
||||
msgstr "E37: Non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E37: No write since last change"
|
||||
msgstr "E37: Non salvato dopo l'ultima modifica"
|
||||
|
||||
msgid "E38: Null argument"
|
||||
msgstr "E38: Argomento nullo"
|
||||
|
||||
@@ -6878,7 +6848,6 @@ msgstr "il costruttore di lista non accetta parole chiave come argomenti"
|
||||
msgid "list index out of range"
|
||||
msgstr "indice di lista non nell'intervallo"
|
||||
|
||||
#. No more suitable format specifications in python-2.3
|
||||
#, c-format
|
||||
msgid "internal error: failed to get vim list item %d"
|
||||
msgstr "errore interno: non ho potuto ottenere l'elemento di vim list %d"
|
||||
@@ -7045,3 +7014,4 @@ msgstr ""
|
||||
"Impostazione di percorso non riuscita: sys.path non è una Lista\n"
|
||||
"Dovresti aggiungere vim.VIM_SPECIAL_PATH a sys.path"
|
||||
|
||||
|
||||
|
||||
+282
@@ -0,0 +1,282 @@
|
||||
# Latvian Translation for Vim vim:set foldmethod=marker:
|
||||
#
|
||||
# Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
# Do ":help credits" in Vim to see a list of people who contributed.
|
||||
#
|
||||
# FIRST AUTHOR Valdis Vitolins <valdis.vitolins@odo.lv>, 2017.
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim (Latvian)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-03 18:03+0100\n"
|
||||
"PO-Revision-Date: 2017-05-03 18:08+0300\n"
|
||||
"Last-Translator: Valdis Vītoliņš <valdis.vitolins@odo.lv>\n"
|
||||
"Language-Team: Bram Moolenaar <Bram@vim.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lv\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#, c-format
|
||||
msgid "E96: Can not diff more than %ld buffers"
|
||||
msgstr "E96: Nevar salīdzināt vairāk kā %ld buferus"
|
||||
|
||||
msgid "E101: More than two buffers in diff mode, don't know which one to use"
|
||||
msgstr "E101: Vairāk par vienu buferi diff režīmā, nav skaidrs, kuru izmantot"
|
||||
|
||||
#, c-format
|
||||
msgid "E102: Can't find buffer \"%s\""
|
||||
msgstr "E102: Nevar atrast buferi \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E738: Can't list variables for %s"
|
||||
msgstr "E738: Nevar parādīt %s mainīgos"
|
||||
|
||||
#, c-format
|
||||
msgid "E138: Can't write viminfo file %s!"
|
||||
msgstr "E138: Nevar ierakstīt viminfo failu %s!"
|
||||
|
||||
msgid ""
|
||||
"# You may edit it if you're careful!\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"# Ja rediģējat, esiet uzmanīgs!\n"
|
||||
"\n"
|
||||
|
||||
msgid "E146: Regular expressions can't be delimited by letters"
|
||||
msgstr "E146: Regulārās izteiksmes nedrīkst atdalīt ar burtiem"
|
||||
|
||||
msgid "E493: Backwards range given"
|
||||
msgstr "E493: Uzdots pretējs diapazons"
|
||||
|
||||
msgid "Backwards range given, OK to swap"
|
||||
msgstr "Diapazons pretējā secībā, OK lai apvērstu"
|
||||
|
||||
#, c-format
|
||||
msgid "E185: Cannot find color scheme %s"
|
||||
msgstr "E185: Nevar atrast krāsu shēmu %s"
|
||||
|
||||
msgid "Can't find temp file for conversion"
|
||||
msgstr "Nevar atrast konvertējamo īslaicīgo failu"
|
||||
|
||||
msgid "can't read output of 'charconvert'"
|
||||
msgstr "nevar nolasīt 'charconvert' izeju"
|
||||
|
||||
msgid "E506: Can't write to backup file (add ! to override)"
|
||||
msgstr "E506: Nevar ierakstīt rezerves failu (pievienojiet ! lai pārlabotu)"
|
||||
|
||||
msgid "E508: Can't read file for backup (add ! to override)"
|
||||
msgstr "E508: Nevar nolasīt rezerves failu (pievienojiet ! lai pārlabotu)"
|
||||
|
||||
msgid "E510: Can't make backup file (add ! to override)"
|
||||
msgstr "E510: Nevar izveidot rezerves failu (pievienojiet ! lai pārlabotu)"
|
||||
|
||||
msgid "E214: Can't find temp file for writing"
|
||||
msgstr "E214: Nevar atvērt īslaicīgo failu rakstīšanai"
|
||||
|
||||
msgid "E166: Can't open linked file for writing"
|
||||
msgstr "E166: Nevar atvērt rakstīšanai saistīto failu"
|
||||
|
||||
msgid "E212: Can't open file for writing"
|
||||
msgstr "E212: Nevar atvērt failu rakstīšanai"
|
||||
|
||||
msgid "E205: Patchmode: can't save original file"
|
||||
msgstr "E205: Patchmode: nevar saglabāt oriģinālo failu"
|
||||
|
||||
msgid "E206: patchmode: can't touch empty original file"
|
||||
msgstr "E206: patchmode: nevar izveidot jaunu oriģinālo failu"
|
||||
|
||||
msgid "E207: Can't delete backup file"
|
||||
msgstr "E207: nevar izdzēst kopijas failu"
|
||||
|
||||
msgid "don't quit the editor until the file is successfully written!"
|
||||
msgstr "neizejiet no redaktora pirms fails nav veiksmīgi saglabāts!"
|
||||
|
||||
msgid "E217: Can't execute autocommands for ALL events"
|
||||
msgstr "E217: Nevar izpildīt autokomandu VISIEM notikumiem"
|
||||
|
||||
#, c-format
|
||||
msgid "E482: Can't create file %s"
|
||||
msgstr "E482: Nevar izveidot failu %s"
|
||||
|
||||
msgid "E483: Can't get temp file name"
|
||||
msgstr "E483: Nevar iegūt īslaicīgā faila nosaukumu"
|
||||
|
||||
#, c-format
|
||||
msgid "E484: Can't open file %s"
|
||||
msgstr "E484: Nevar atvērt failu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E485: Can't read file %s"
|
||||
msgstr "E485: Nevar nolasīt failu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E40: Can't open errorfile %s"
|
||||
msgstr "E40: Nevar atvērt kļūdu failu %s"
|
||||
|
||||
msgid "E255: Couldn't read in sign data!"
|
||||
msgstr "E255: Nevar nolasīt zīmes datus!"
|
||||
|
||||
#, c-format
|
||||
msgid "E254: Cannot allocate color %s"
|
||||
msgstr "E254: Nevar izdalīt krāsu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E616: vim_SelFile: can't get font %s"
|
||||
msgstr "E616: vim_SelFile: nevar iegūt fontu %s"
|
||||
|
||||
msgid "E614: vim_SelFile: can't return to current directory"
|
||||
msgstr "E614: vim_SelFile: nevar atgriezties uz tekošo mapi"
|
||||
|
||||
msgid "E615: vim_SelFile: can't get current directory"
|
||||
msgstr "E615: vim_SelFile: nevar iegūt tekošo mapi"
|
||||
|
||||
msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
|
||||
msgstr "Vim E458: Nevar izveidot krāsu karti, iespējams, ir kāda nepareiza krāsa"
|
||||
|
||||
#, c-format
|
||||
msgid "E624: Can't open file \"%s\""
|
||||
msgstr "E624: Nevar atvērt failu \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E457: Can't read PostScript resource file \"%s\""
|
||||
msgstr "E457: Nevar nolasīt PostScript resursu failu \"%s\""
|
||||
|
||||
msgid "E324: Can't open PostScript output file"
|
||||
msgstr "E324: Nevar atvērt PostScript izejas failu"
|
||||
|
||||
#, c-format
|
||||
msgid "E456: Can't open file \"%s\""
|
||||
msgstr "E456: Nevar atrast failu \"%s\""
|
||||
|
||||
msgid "E456: Can't find PostScript resource file \"prolog.ps\""
|
||||
msgstr "E456: Nevar atrast PostScript resursu failu \"prolog.ps\""
|
||||
|
||||
msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
|
||||
msgstr "E456: Nevar atrast PostScript resursu failu \"cidfont.ps\""
|
||||
|
||||
#, c-format
|
||||
msgid "E456: Can't find PostScript resource file \"%s.ps\""
|
||||
msgstr "E456: Nevar atrast PostScript resursu failu \"%s.ps\""
|
||||
|
||||
msgid "couldn't open buffer"
|
||||
msgstr "nevar atvērt buferi"
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "nevar izdzēst OutputObject vērtības"
|
||||
|
||||
msgid "--literal\t\tDon't expand wildcards"
|
||||
msgstr "--literal\t\tNeizvērst aizstājējzīmes"
|
||||
|
||||
msgid "-f or --nofork\tForeground: Don't fork when starting GUI"
|
||||
msgstr "-f jeb --nofork\tPriekšplānā: startējot GUI, neveidot jaunu pavedienu"
|
||||
|
||||
msgid "-f\t\t\tDon't use newcli to open window"
|
||||
msgstr "-f\t\t\tAtverot logu, neveidot jaunu klientu"
|
||||
|
||||
msgid "--noplugin\t\tDon't load plugin scripts"
|
||||
msgstr "--noplugin\t\tNeielādēt spraudņu skriptus"
|
||||
|
||||
msgid "--remote-silent <files> Same, don't complain if there is no server"
|
||||
msgstr "--remote-silent <files> Līdzīgi, nebrīdināt, ja nav servera"
|
||||
|
||||
msgid "--remote-wait-silent <files> Same, don't complain if there is no server"
|
||||
msgstr "--remote-wait-silent <files> Līdzīgi, nebrīdināt, ja nav servera"
|
||||
|
||||
msgid "-background <color>\tUse <color> for the background (also: -bg)"
|
||||
msgstr "-background <krāsa>\tLietot <krāsa> kā fonu (arī: -bg)"
|
||||
|
||||
msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
|
||||
msgstr "-foreground <krāsa>\tLietot <krāsa> normālam tekstam (arī: -fg)"
|
||||
|
||||
msgid "+reverse\t\tDon't use reverse video (also: +rv)"
|
||||
msgstr "+reverse\t\tNelietot reversu video (arī: +rv)"
|
||||
|
||||
msgid "E288: input method doesn't support any style"
|
||||
msgstr "E288: ievades veids neatbalsta nevienu stilu"
|
||||
|
||||
msgid "E289: input method doesn't support my preedit type"
|
||||
msgstr "E289: ievades veids neatbalsta šādu preedit veidu"
|
||||
|
||||
msgid "E298: Didn't get block nr 0?"
|
||||
msgstr "E298: Neizdevās iegūt bloku nr 0?"
|
||||
|
||||
msgid "E298: Didn't get block nr 1?"
|
||||
msgstr "E298: Neizdevās iegūt blok nr 1?"
|
||||
|
||||
msgid "E298: Didn't get block nr 2?"
|
||||
msgstr "E298: Neizdevās iegūt bloku nr 2?"
|
||||
|
||||
msgid "E304: ml_upd_block0(): Didn't get block 0??"
|
||||
msgstr "E304: ml_upd_block0(): Neizdevās iegūt bloku 0??"
|
||||
|
||||
msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
|
||||
msgstr "Messages maintainer: Valdis Vitolins <valdis.vitolins@odo.lv>"
|
||||
|
||||
msgid "Keys don't match!"
|
||||
msgstr "Atslēgas neatbilst!"
|
||||
|
||||
#, c-format
|
||||
msgid "E344: Can't find directory \"%s\" in cdpath"
|
||||
msgstr "E344: cdpath nevar atrast mapi \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E345: Can't find file \"%s\" in path"
|
||||
msgstr "E345: ceļā nevar atrast failu \"%s\""
|
||||
|
||||
msgid "E597: can't select fontset"
|
||||
msgstr "E597: nevar izvēlēties fontu kopu"
|
||||
|
||||
msgid "E533: can't select wide font"
|
||||
msgstr "E533: nevar izvēlēties plato fontu"
|
||||
|
||||
msgid "VIM: Can't open window!\n"
|
||||
msgstr "VIM: Nevar atvērt logu!\n"
|
||||
|
||||
msgid "E388: Couldn't find definition"
|
||||
msgstr "E388: neatradu definīciju"
|
||||
|
||||
msgid "E389: Couldn't find pattern"
|
||||
msgstr "E389: neatradu šablonu"
|
||||
|
||||
#, c-format
|
||||
msgid "Unrecognized or duplicate item in %s line %d: %s"
|
||||
msgstr "Neatpazīts vai dublēts vienums %s rindā %d: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Unrecognized flags in %s line %d: %s"
|
||||
msgstr "Neatpazīti karodziņi %s rindā %d: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E781: .sug file doesn't match .spl file: %s"
|
||||
msgstr "E781: .sug fails neatbilst .spl failam: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E394: Didn't find region item for %s"
|
||||
msgstr "E394: Neatradu vienuma %s reģionu"
|
||||
|
||||
msgid "E419: FG color unknown"
|
||||
msgstr "E419: Nezināma priekšplāna krāsa"
|
||||
|
||||
msgid "E420: BG color unknown"
|
||||
msgstr "E420: Nezināma fona krāsa"
|
||||
|
||||
#, c-format
|
||||
msgid "E421: Color name or number not recognized: %s"
|
||||
msgstr "E421: Nezināms krāsas %s nosaukums vai numurs"
|
||||
|
||||
msgid "E434: Can't find tag pattern"
|
||||
msgstr "E434: Neatradu tagu paraugu"
|
||||
|
||||
msgid "E435: Couldn't find tag, just guessing!"
|
||||
msgstr "E435: Neatradu tagu, mēģinu uzminēt!"
|
||||
|
||||
msgid "E442: Can't split topleft and botright at the same time"
|
||||
msgstr "E442: Nevar sadalīt kreiso augšu un labo apakšu vienlaicīgi"
|
||||
|
||||
#, c-format
|
||||
msgid "E447: Can't find file \"%s\" in path"
|
||||
msgstr "E447: Failu \"%s\" ceļā nevar atrast"
|
||||
+2659
-1880
File diff suppressed because it is too large
Load Diff
+172
-171
@@ -64,206 +64,207 @@ pum_display(
|
||||
win_T *pvwin;
|
||||
#endif
|
||||
|
||||
redo:
|
||||
def_width = PUM_DEF_WIDTH;
|
||||
max_width = 0;
|
||||
kind_width = 0;
|
||||
extra_width = 0;
|
||||
above_row = 0;
|
||||
below_row = cmdline_row;
|
||||
do
|
||||
{
|
||||
def_width = PUM_DEF_WIDTH;
|
||||
max_width = 0;
|
||||
kind_width = 0;
|
||||
extra_width = 0;
|
||||
above_row = 0;
|
||||
below_row = cmdline_row;
|
||||
|
||||
/* Pretend the pum is already there to avoid that must_redraw is set when
|
||||
* 'cuc' is on. */
|
||||
pum_array = (pumitem_T *)1;
|
||||
validate_cursor_col();
|
||||
pum_array = NULL;
|
||||
/* Pretend the pum is already there to avoid that must_redraw is set
|
||||
* when 'cuc' is on. */
|
||||
pum_array = (pumitem_T *)1;
|
||||
validate_cursor_col();
|
||||
pum_array = NULL;
|
||||
|
||||
row = curwin->w_wrow + W_WINROW(curwin);
|
||||
row = curwin->w_wrow + W_WINROW(curwin);
|
||||
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
FOR_ALL_WINDOWS(pvwin)
|
||||
if (pvwin->w_p_pvw)
|
||||
break;
|
||||
if (pvwin != NULL)
|
||||
{
|
||||
if (W_WINROW(pvwin) < W_WINROW(curwin))
|
||||
above_row = W_WINROW(pvwin) + pvwin->w_height;
|
||||
else if (W_WINROW(pvwin) > W_WINROW(curwin) + curwin->w_height)
|
||||
below_row = W_WINROW(pvwin);
|
||||
}
|
||||
FOR_ALL_WINDOWS(pvwin)
|
||||
if (pvwin->w_p_pvw)
|
||||
break;
|
||||
if (pvwin != NULL)
|
||||
{
|
||||
if (W_WINROW(pvwin) < W_WINROW(curwin))
|
||||
above_row = W_WINROW(pvwin) + pvwin->w_height;
|
||||
else if (W_WINROW(pvwin) > W_WINROW(curwin) + curwin->w_height)
|
||||
below_row = W_WINROW(pvwin);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Figure out the size and position of the pum.
|
||||
*/
|
||||
if (size < PUM_DEF_HEIGHT)
|
||||
pum_height = size;
|
||||
else
|
||||
pum_height = PUM_DEF_HEIGHT;
|
||||
if (p_ph > 0 && pum_height > p_ph)
|
||||
pum_height = p_ph;
|
||||
|
||||
/* Put the pum below "row" if possible. If there are few lines decide on
|
||||
* where there is more room. */
|
||||
if (row + 2 >= below_row - pum_height
|
||||
&& row - above_row > (below_row - above_row) / 2)
|
||||
{
|
||||
/* pum above "row" */
|
||||
|
||||
/* Leave two lines of context if possible */
|
||||
if (curwin->w_wrow - curwin->w_cline_row >= 2)
|
||||
context_lines = 2;
|
||||
else
|
||||
context_lines = curwin->w_wrow - curwin->w_cline_row;
|
||||
|
||||
if (row >= size + context_lines)
|
||||
{
|
||||
pum_row = row - size - context_lines;
|
||||
/*
|
||||
* Figure out the size and position of the pum.
|
||||
*/
|
||||
if (size < PUM_DEF_HEIGHT)
|
||||
pum_height = size;
|
||||
}
|
||||
else
|
||||
{
|
||||
pum_row = 0;
|
||||
pum_height = row - context_lines;
|
||||
}
|
||||
if (p_ph > 0 && pum_height > p_ph)
|
||||
{
|
||||
pum_row += pum_height - p_ph;
|
||||
pum_height = p_ph;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* pum below "row" */
|
||||
|
||||
/* Leave two lines of context if possible */
|
||||
if (curwin->w_cline_row + curwin->w_cline_height - curwin->w_wrow >= 3)
|
||||
context_lines = 3;
|
||||
else
|
||||
context_lines = curwin->w_cline_row
|
||||
+ curwin->w_cline_height - curwin->w_wrow;
|
||||
|
||||
pum_row = row + context_lines;
|
||||
if (size > below_row - pum_row)
|
||||
pum_height = below_row - pum_row;
|
||||
else
|
||||
pum_height = size;
|
||||
pum_height = PUM_DEF_HEIGHT;
|
||||
if (p_ph > 0 && pum_height > p_ph)
|
||||
pum_height = p_ph;
|
||||
}
|
||||
|
||||
/* don't display when we only have room for one line */
|
||||
if (pum_height < 1 || (pum_height == 1 && size > 1))
|
||||
return;
|
||||
/* Put the pum below "row" if possible. If there are few lines decide
|
||||
* on where there is more room. */
|
||||
if (row + 2 >= below_row - pum_height
|
||||
&& row - above_row > (below_row - above_row) / 2)
|
||||
{
|
||||
/* pum above "row" */
|
||||
|
||||
/* Leave two lines of context if possible */
|
||||
if (curwin->w_wrow - curwin->w_cline_row >= 2)
|
||||
context_lines = 2;
|
||||
else
|
||||
context_lines = curwin->w_wrow - curwin->w_cline_row;
|
||||
|
||||
if (row >= size + context_lines)
|
||||
{
|
||||
pum_row = row - size - context_lines;
|
||||
pum_height = size;
|
||||
}
|
||||
else
|
||||
{
|
||||
pum_row = 0;
|
||||
pum_height = row - context_lines;
|
||||
}
|
||||
if (p_ph > 0 && pum_height > p_ph)
|
||||
{
|
||||
pum_row += pum_height - p_ph;
|
||||
pum_height = p_ph;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* pum below "row" */
|
||||
|
||||
/* Leave two lines of context if possible */
|
||||
if (curwin->w_cline_row
|
||||
+ curwin->w_cline_height - curwin->w_wrow >= 3)
|
||||
context_lines = 3;
|
||||
else
|
||||
context_lines = curwin->w_cline_row
|
||||
+ curwin->w_cline_height - curwin->w_wrow;
|
||||
|
||||
pum_row = row + context_lines;
|
||||
if (size > below_row - pum_row)
|
||||
pum_height = below_row - pum_row;
|
||||
else
|
||||
pum_height = size;
|
||||
if (p_ph > 0 && pum_height > p_ph)
|
||||
pum_height = p_ph;
|
||||
}
|
||||
|
||||
/* don't display when we only have room for one line */
|
||||
if (pum_height < 1 || (pum_height == 1 && size > 1))
|
||||
return;
|
||||
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
/* If there is a preview window at the above avoid drawing over it. */
|
||||
if (pvwin != NULL && pum_row < above_row && pum_height > above_row)
|
||||
{
|
||||
pum_row += above_row;
|
||||
pum_height -= above_row;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Compute the width of the widest match and the widest extra. */
|
||||
for (i = 0; i < size; ++i)
|
||||
{
|
||||
w = vim_strsize(array[i].pum_text);
|
||||
if (max_width < w)
|
||||
max_width = w;
|
||||
if (array[i].pum_kind != NULL)
|
||||
/* If there is a preview window at the above avoid drawing over it. */
|
||||
if (pvwin != NULL && pum_row < above_row && pum_height > above_row)
|
||||
{
|
||||
w = vim_strsize(array[i].pum_kind) + 1;
|
||||
if (kind_width < w)
|
||||
kind_width = w;
|
||||
pum_row += above_row;
|
||||
pum_height -= above_row;
|
||||
}
|
||||
if (array[i].pum_extra != NULL)
|
||||
#endif
|
||||
|
||||
/* Compute the width of the widest match and the widest extra. */
|
||||
for (i = 0; i < size; ++i)
|
||||
{
|
||||
w = vim_strsize(array[i].pum_extra) + 1;
|
||||
if (extra_width < w)
|
||||
extra_width = w;
|
||||
w = vim_strsize(array[i].pum_text);
|
||||
if (max_width < w)
|
||||
max_width = w;
|
||||
if (array[i].pum_kind != NULL)
|
||||
{
|
||||
w = vim_strsize(array[i].pum_kind) + 1;
|
||||
if (kind_width < w)
|
||||
kind_width = w;
|
||||
}
|
||||
if (array[i].pum_extra != NULL)
|
||||
{
|
||||
w = vim_strsize(array[i].pum_extra) + 1;
|
||||
if (extra_width < w)
|
||||
extra_width = w;
|
||||
}
|
||||
}
|
||||
}
|
||||
pum_base_width = max_width;
|
||||
pum_kind_width = kind_width;
|
||||
|
||||
/* Calculate column */
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
col = W_WINCOL(curwin) + W_WIDTH(curwin) - curwin->w_wcol - 1;
|
||||
else
|
||||
#endif
|
||||
col = W_WINCOL(curwin) + curwin->w_wcol;
|
||||
|
||||
/* if there are more items than room we need a scrollbar */
|
||||
if (pum_height < size)
|
||||
{
|
||||
pum_scrollbar = 1;
|
||||
++max_width;
|
||||
}
|
||||
else
|
||||
pum_scrollbar = 0;
|
||||
|
||||
if (def_width < max_width)
|
||||
def_width = max_width;
|
||||
|
||||
if (((col < Columns - PUM_DEF_WIDTH || col < Columns - max_width)
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
&& !curwin->w_p_rl)
|
||||
|| (curwin->w_p_rl && (col > PUM_DEF_WIDTH || col > max_width)
|
||||
#endif
|
||||
))
|
||||
{
|
||||
/* align pum column with "col" */
|
||||
pum_col = col;
|
||||
pum_base_width = max_width;
|
||||
pum_kind_width = kind_width;
|
||||
|
||||
/* Calculate column */
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
pum_width = pum_col - pum_scrollbar + 1;
|
||||
col = curwin->w_wincol + curwin->w_width - curwin->w_wcol - 1;
|
||||
else
|
||||
#endif
|
||||
pum_width = Columns - pum_col - pum_scrollbar;
|
||||
col = curwin->w_wincol + curwin->w_wcol;
|
||||
|
||||
if (pum_width > max_width + kind_width + extra_width + 1
|
||||
&& pum_width > PUM_DEF_WIDTH)
|
||||
/* if there are more items than room we need a scrollbar */
|
||||
if (pum_height < size)
|
||||
{
|
||||
pum_width = max_width + kind_width + extra_width + 1;
|
||||
if (pum_width < PUM_DEF_WIDTH)
|
||||
pum_width = PUM_DEF_WIDTH;
|
||||
pum_scrollbar = 1;
|
||||
++max_width;
|
||||
}
|
||||
}
|
||||
else if (Columns < def_width)
|
||||
{
|
||||
/* not enough room, will use what we have */
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
pum_col = Columns - 1;
|
||||
else
|
||||
#endif
|
||||
pum_col = 0;
|
||||
pum_width = Columns - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (max_width > PUM_DEF_WIDTH)
|
||||
max_width = PUM_DEF_WIDTH; /* truncate */
|
||||
pum_scrollbar = 0;
|
||||
|
||||
if (def_width < max_width)
|
||||
def_width = max_width;
|
||||
|
||||
if (((col < Columns - PUM_DEF_WIDTH || col < Columns - max_width)
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
pum_col = max_width - 1;
|
||||
else
|
||||
&& !curwin->w_p_rl)
|
||||
|| (curwin->w_p_rl && (col > PUM_DEF_WIDTH || col > max_width)
|
||||
#endif
|
||||
pum_col = Columns - max_width;
|
||||
pum_width = max_width - pum_scrollbar;
|
||||
}
|
||||
))
|
||||
{
|
||||
/* align pum column with "col" */
|
||||
pum_col = col;
|
||||
|
||||
pum_array = array;
|
||||
pum_size = size;
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
pum_width = pum_col - pum_scrollbar + 1;
|
||||
else
|
||||
#endif
|
||||
pum_width = Columns - pum_col - pum_scrollbar;
|
||||
|
||||
/* Set selected item and redraw. If the window size changed need to redo
|
||||
* the positioning. Limit this to two times, when there is not much
|
||||
* room the window size will keep changing. */
|
||||
if (pum_set_selected(selected, redo_count) && ++redo_count <= 2)
|
||||
goto redo;
|
||||
if (pum_width > max_width + kind_width + extra_width + 1
|
||||
&& pum_width > PUM_DEF_WIDTH)
|
||||
{
|
||||
pum_width = max_width + kind_width + extra_width + 1;
|
||||
if (pum_width < PUM_DEF_WIDTH)
|
||||
pum_width = PUM_DEF_WIDTH;
|
||||
}
|
||||
}
|
||||
else if (Columns < def_width)
|
||||
{
|
||||
/* not enough room, will use what we have */
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
pum_col = Columns - 1;
|
||||
else
|
||||
#endif
|
||||
pum_col = 0;
|
||||
pum_width = Columns - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (max_width > PUM_DEF_WIDTH)
|
||||
max_width = PUM_DEF_WIDTH; /* truncate */
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
pum_col = max_width - 1;
|
||||
else
|
||||
#endif
|
||||
pum_col = Columns - max_width;
|
||||
pum_width = max_width - pum_scrollbar;
|
||||
}
|
||||
|
||||
pum_array = array;
|
||||
pum_size = size;
|
||||
|
||||
/* Set selected item and redraw. If the window size changed need to
|
||||
* redo the positioning. Limit this to two times, when there is not
|
||||
* much room the window size will keep changing. */
|
||||
} while (pum_set_selected(selected, redo_count) && ++redo_count <= 2);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -312,7 +313,7 @@ pum_redraw(void)
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
{
|
||||
if (pum_col < W_WINCOL(curwin) + W_WIDTH(curwin) - 1)
|
||||
if (pum_col < curwin->w_wincol + curwin->w_width - 1)
|
||||
screen_putchar(' ', row, pum_col + 1, attr);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -40,9 +40,9 @@ void channel_set_nonblock(channel_T *channel, ch_part_T part);
|
||||
int channel_send(channel_T *channel, ch_part_T part, char_u *buf_arg, int len_arg, char *fun);
|
||||
void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval);
|
||||
void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval);
|
||||
int channel_poll_setup(int nfd_in, void *fds_in);
|
||||
int channel_poll_setup(int nfd_in, void *fds_in, int *towait);
|
||||
int channel_poll_check(int ret_in, void *fds_in);
|
||||
int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in);
|
||||
int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in, struct timeval *tv, struct timeval **tvp);
|
||||
int channel_select_check(int ret_in, void *rfds_in, void *wfds_in);
|
||||
int channel_parse_messages(void);
|
||||
int channel_any_readahead(void);
|
||||
|
||||
@@ -51,6 +51,8 @@ void ex_redraw(exarg_T *eap);
|
||||
int vim_mkdir_emsg(char_u *name, int prot);
|
||||
FILE *open_exfile(char_u *fname, int forceit, char *mode);
|
||||
void update_topline_cursor(void);
|
||||
int save_current_state(save_state_T *sst);
|
||||
void restore_current_state(save_state_T *sst);
|
||||
void ex_normal(exarg_T *eap);
|
||||
void exec_normal_cmd(char_u *cmd, int remap, int silent);
|
||||
void exec_normal(int was_typed);
|
||||
|
||||
@@ -235,8 +235,6 @@ gui_mch_find_dialog(exarg_T *eap);
|
||||
gui_mch_replace_dialog(exarg_T *eap);
|
||||
void
|
||||
im_set_control(int enable);
|
||||
void
|
||||
gui_macvim_set_imstyle(long imstyle);
|
||||
|
||||
void *
|
||||
gui_macvim_add_channel(channel_T *channel, ch_part_T part);
|
||||
|
||||
@@ -71,6 +71,7 @@ int mb_lefthalve(int row, int col);
|
||||
int mb_fix_col(int col, int row);
|
||||
char_u *enc_skip(char_u *p);
|
||||
char_u *enc_canonize(char_u *enc);
|
||||
char_u *enc_locale_env(char *locale);
|
||||
char_u *enc_locale(void);
|
||||
int encname2codepage(char_u *name);
|
||||
void *my_iconv_open(char_u *to, char_u *from);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/* syntax.c */
|
||||
void syntax_start(win_T *wp, linenr_T lnum, proftime_T *syntax_tm);
|
||||
void syn_set_timeout(proftime_T *tm);
|
||||
void syntax_start(win_T *wp, linenr_T lnum);
|
||||
void syn_stack_free_all(synblock_T *block);
|
||||
void syn_stack_apply_changes(buf_T *buf);
|
||||
void syntax_end_parsing(linenr_T lnum);
|
||||
|
||||
@@ -267,10 +267,11 @@ OpenPTY(char **ttyn)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) && !defined(MACOS_X)
|
||||
#if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) \
|
||||
&& !(defined(MACOS_X) && !defined(MAC_OS_X_VERSION_10_6))
|
||||
|
||||
/* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work!
|
||||
* Same for Mac OS X Leopard. */
|
||||
* Same for Mac OS X Leopard (10.5). */
|
||||
#define PTY_DONE
|
||||
int
|
||||
OpenPTY(char **ttyn)
|
||||
|
||||
+3
-3
@@ -443,8 +443,8 @@ parse_efm_option(char_u *efm)
|
||||
i = (FMT_PATTERNS * 3) + ((int)STRLEN(efm) << 2);
|
||||
for (round = FMT_PATTERNS; round > 0; )
|
||||
i += (int)STRLEN(fmt_pat[--round].pattern);
|
||||
#ifdef COLON_IN_FILENAME
|
||||
i += 12; /* "%f" can become twelve chars longer */
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
i += 12; /* "%f" can become twelve chars longer (see efm_to_regpat) */
|
||||
#else
|
||||
i += 2; /* "%f" can become two chars longer */
|
||||
#endif
|
||||
@@ -3148,7 +3148,7 @@ ex_copen(exarg_T *eap)
|
||||
{
|
||||
if (cmdmod.split & WSP_VERT)
|
||||
{
|
||||
if (height != W_WIDTH(win))
|
||||
if (height != win->w_width)
|
||||
win_setwidth(height);
|
||||
}
|
||||
else if (height != win->w_height)
|
||||
|
||||
+121
-111
@@ -131,7 +131,7 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T
|
||||
static void fill_foldcolumn(char_u *p, win_T *wp, int closed, linenr_T lnum);
|
||||
static void copy_text_attr(int off, char_u *buf, int len, int attr);
|
||||
#endif
|
||||
static int win_line(win_T *, linenr_T, int, int, int nochange, proftime_T *syntax_tm);
|
||||
static int win_line(win_T *, linenr_T, int, int, int nochange);
|
||||
static int char_needs_redraw(int off_from, int off_to, int cols);
|
||||
static void draw_vsep_win(win_T *wp, int row);
|
||||
#ifdef FEAT_STL_OPT
|
||||
@@ -622,8 +622,8 @@ update_screen(int type_arg)
|
||||
else
|
||||
{
|
||||
wp->w_redr_type = NOT_VALID;
|
||||
if (W_WINROW(wp) + wp->w_height + W_STATUS_HEIGHT(wp)
|
||||
<= msg_scrolled)
|
||||
if (W_WINROW(wp) + wp->w_height + wp->w_status_height
|
||||
<= msg_scrolled)
|
||||
wp->w_redr_status = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -930,6 +930,7 @@ update_single_line(win_T *wp, linenr_T lnum)
|
||||
#ifdef SYN_TIME_LIMIT
|
||||
/* Set the time limit to 'redrawtime'. */
|
||||
profile_setlimit(p_rdt, &syntax_tm);
|
||||
syn_set_timeout(&syntax_tm);
|
||||
#endif
|
||||
update_prepare();
|
||||
|
||||
@@ -944,13 +945,7 @@ update_single_line(win_T *wp, linenr_T lnum)
|
||||
start_search_hl();
|
||||
prepare_search_hl(wp, lnum);
|
||||
# endif
|
||||
win_line(wp, lnum, row, row + wp->w_lines[j].wl_size, FALSE,
|
||||
#ifdef SYN_TIME_LIMIT
|
||||
&syntax_tm
|
||||
#else
|
||||
NULL
|
||||
#endif
|
||||
);
|
||||
win_line(wp, lnum, row, row + wp->w_lines[j].wl_size, FALSE);
|
||||
# if defined(FEAT_SEARCH_EXTRA)
|
||||
end_search_hl();
|
||||
# endif
|
||||
@@ -960,6 +955,10 @@ update_single_line(win_T *wp, linenr_T lnum)
|
||||
}
|
||||
|
||||
update_finish();
|
||||
|
||||
#ifdef SYN_TIME_LIMIT
|
||||
syn_set_timeout(NULL);
|
||||
#endif
|
||||
}
|
||||
need_cursor_line_redraw = FALSE;
|
||||
}
|
||||
@@ -1805,6 +1804,7 @@ win_update(win_T *wp)
|
||||
#ifdef SYN_TIME_LIMIT
|
||||
/* Set the time limit to 'redrawtime'. */
|
||||
profile_setlimit(p_rdt, &syntax_tm);
|
||||
syn_set_timeout(&syntax_tm);
|
||||
#endif
|
||||
#ifdef FEAT_FOLDING
|
||||
win_foldinfo.fi_level = 0;
|
||||
@@ -2109,13 +2109,7 @@ win_update(win_T *wp)
|
||||
/*
|
||||
* Display one line.
|
||||
*/
|
||||
row = win_line(wp, lnum, srow, wp->w_height, mod_top == 0,
|
||||
#ifdef SYN_TIME_LIMIT
|
||||
&syntax_tm
|
||||
#else
|
||||
NULL
|
||||
#endif
|
||||
);
|
||||
row = win_line(wp, lnum, srow, wp->w_height, mod_top == 0);
|
||||
|
||||
#ifdef FEAT_FOLDING
|
||||
wp->w_lines[idx].wl_folded = FALSE;
|
||||
@@ -2217,10 +2211,10 @@ win_update(win_T *wp)
|
||||
/*
|
||||
* Last line isn't finished: Display "@@@" in the last screen line.
|
||||
*/
|
||||
screen_puts_len((char_u *)"@@", 2, scr_row, W_WINCOL(wp),
|
||||
screen_puts_len((char_u *)"@@", 2, scr_row, wp->w_wincol,
|
||||
HL_ATTR(HLF_AT));
|
||||
screen_fill(scr_row, scr_row + 1,
|
||||
(int)W_WINCOL(wp) + 2, (int)W_ENDCOL(wp),
|
||||
(int)wp->w_wincol + 2, (int)W_ENDCOL(wp),
|
||||
'@', ' ', HL_ATTR(HLF_AT));
|
||||
set_empty_rows(wp, srow);
|
||||
wp->w_botline = lnum;
|
||||
@@ -2275,6 +2269,10 @@ win_update(win_T *wp)
|
||||
win_draw_end(wp, '~', ' ', row, wp->w_height, HLF_EOB);
|
||||
}
|
||||
|
||||
#ifdef SYN_TIME_LIMIT
|
||||
syn_set_timeout(NULL);
|
||||
#endif
|
||||
|
||||
/* Reset the type of redrawing required, the window has been updated. */
|
||||
wp->w_redr_type = 0;
|
||||
#ifdef FEAT_DIFF
|
||||
@@ -2355,8 +2353,8 @@ win_draw_end(
|
||||
if (n > 0)
|
||||
{
|
||||
/* draw the fold column at the right */
|
||||
if (n > W_WIDTH(wp))
|
||||
n = W_WIDTH(wp);
|
||||
if (n > wp->w_width)
|
||||
n = wp->w_width;
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_ENDCOL(wp) - n, (int)W_ENDCOL(wp),
|
||||
' ', ' ', HL_ATTR(HLF_FC));
|
||||
@@ -2368,8 +2366,8 @@ win_draw_end(
|
||||
int nn = n + 2;
|
||||
|
||||
/* draw the sign column left of the fold column */
|
||||
if (nn > W_WIDTH(wp))
|
||||
nn = W_WIDTH(wp);
|
||||
if (nn > wp->w_width)
|
||||
nn = wp->w_width;
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_ENDCOL(wp) - nn, (int)W_ENDCOL(wp) - n,
|
||||
' ', ' ', HL_ATTR(HLF_SC));
|
||||
@@ -2377,7 +2375,7 @@ win_draw_end(
|
||||
}
|
||||
# endif
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_WINCOL(wp), W_ENDCOL(wp) - 1 - FDC_OFF,
|
||||
wp->w_wincol, W_ENDCOL(wp) - 1 - FDC_OFF,
|
||||
c2, c2, HL_ATTR(hl));
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_ENDCOL(wp) - 1 - FDC_OFF, W_ENDCOL(wp) - FDC_OFF,
|
||||
@@ -2394,7 +2392,7 @@ win_draw_end(
|
||||
if (n > wp->w_width)
|
||||
n = wp->w_width;
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_WINCOL(wp), (int)W_WINCOL(wp) + n,
|
||||
wp->w_wincol, (int)wp->w_wincol + n,
|
||||
cmdwin_type, ' ', HL_ATTR(HLF_AT));
|
||||
}
|
||||
#endif
|
||||
@@ -2404,10 +2402,10 @@ win_draw_end(
|
||||
int nn = n + fdc;
|
||||
|
||||
/* draw the fold column at the left */
|
||||
if (nn > W_WIDTH(wp))
|
||||
nn = W_WIDTH(wp);
|
||||
if (nn > wp->w_width)
|
||||
nn = wp->w_width;
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_WINCOL(wp) + n, (int)W_WINCOL(wp) + nn,
|
||||
wp->w_wincol + n, (int)wp->w_wincol + nn,
|
||||
' ', ' ', HL_ATTR(HLF_FC));
|
||||
n = nn;
|
||||
}
|
||||
@@ -2418,16 +2416,16 @@ win_draw_end(
|
||||
int nn = n + 2;
|
||||
|
||||
/* draw the sign column after the fold column */
|
||||
if (nn > W_WIDTH(wp))
|
||||
nn = W_WIDTH(wp);
|
||||
if (nn > wp->w_width)
|
||||
nn = wp->w_width;
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_WINCOL(wp) + n, (int)W_WINCOL(wp) + nn,
|
||||
wp->w_wincol + n, (int)wp->w_wincol + nn,
|
||||
' ', ' ', HL_ATTR(HLF_SC));
|
||||
n = nn;
|
||||
}
|
||||
#endif
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||
W_WINCOL(wp) + FDC_OFF, (int)W_ENDCOL(wp),
|
||||
wp->w_wincol + FDC_OFF, (int)W_ENDCOL(wp),
|
||||
c1, c2, HL_ATTR(hl));
|
||||
}
|
||||
set_empty_rows(wp, row);
|
||||
@@ -2484,7 +2482,7 @@ text_to_screenline(win_T *wp, char_u *text, int col)
|
||||
{
|
||||
cells = (*mb_ptr2cells)(p);
|
||||
c_len = (*mb_ptr2len)(p);
|
||||
if (col + cells > W_WIDTH(wp)
|
||||
if (col + cells > wp->w_width
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
- (wp->w_p_rl ? col : 0)
|
||||
# endif
|
||||
@@ -2568,8 +2566,8 @@ text_to_screenline(win_T *wp, char_u *text, int col)
|
||||
{
|
||||
int len = (int)STRLEN(text);
|
||||
|
||||
if (len > W_WIDTH(wp) - col)
|
||||
len = W_WIDTH(wp) - col;
|
||||
if (len > wp->w_width - col)
|
||||
len = wp->w_width - col;
|
||||
if (len > 0)
|
||||
{
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
@@ -2595,7 +2593,7 @@ compute_foldcolumn(win_T *wp, int col)
|
||||
{
|
||||
int fdc = wp->w_p_fdc;
|
||||
int wmw = wp == curwin && p_wmw == 0 ? 1 : p_wmw;
|
||||
int wwidth = W_WIDTH(wp);
|
||||
int wwidth = wp->w_width;
|
||||
|
||||
if (fdc > wwidth - (col + wmw))
|
||||
fdc = wwidth - (col + wmw);
|
||||
@@ -2664,11 +2662,11 @@ fold_line(
|
||||
{
|
||||
int i;
|
||||
|
||||
copy_text_attr(off + W_WIDTH(wp) - fdc - col, buf, fdc,
|
||||
copy_text_attr(off + wp->w_width - fdc - col, buf, fdc,
|
||||
HL_ATTR(HLF_FC));
|
||||
/* reverse the fold column */
|
||||
for (i = 0; i < fdc; ++i)
|
||||
ScreenLines[off + W_WIDTH(wp) - i - 1 - col] = buf[i];
|
||||
ScreenLines[off + wp->w_width - i - 1 - col] = buf[i];
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@@ -2679,7 +2677,7 @@ fold_line(
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
# define RL_MEMSET(p, v, l) if (wp->w_p_rl) \
|
||||
for (ri = 0; ri < l; ++ri) \
|
||||
ScreenAttrs[off + (W_WIDTH(wp) - (p) - (l)) + ri] = v; \
|
||||
ScreenAttrs[off + (wp->w_width - (p) - (l)) + ri] = v; \
|
||||
else \
|
||||
for (ri = 0; ri < l; ++ri) \
|
||||
ScreenAttrs[off + (p) + ri] = v
|
||||
@@ -2690,13 +2688,13 @@ fold_line(
|
||||
|
||||
/* Set all attributes of the 'number' or 'relativenumber' column and the
|
||||
* text */
|
||||
RL_MEMSET(col, HL_ATTR(HLF_FL), W_WIDTH(wp) - col);
|
||||
RL_MEMSET(col, HL_ATTR(HLF_FL), wp->w_width - col);
|
||||
|
||||
#ifdef FEAT_SIGNS
|
||||
/* If signs are being displayed, add two spaces. */
|
||||
if (signcolumn_on(wp))
|
||||
{
|
||||
len = W_WIDTH(wp) - col;
|
||||
len = wp->w_width - col;
|
||||
if (len > 0)
|
||||
{
|
||||
if (len > 2)
|
||||
@@ -2704,7 +2702,7 @@ fold_line(
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
if (wp->w_p_rl)
|
||||
/* the line number isn't reversed */
|
||||
copy_text_attr(off + W_WIDTH(wp) - len - col,
|
||||
copy_text_attr(off + wp->w_width - len - col,
|
||||
(char_u *)" ", len, HL_ATTR(HLF_FL));
|
||||
else
|
||||
# endif
|
||||
@@ -2719,7 +2717,7 @@ fold_line(
|
||||
*/
|
||||
if (wp->w_p_nu || wp->w_p_rnu)
|
||||
{
|
||||
len = W_WIDTH(wp) - col;
|
||||
len = wp->w_width - col;
|
||||
if (len > 0)
|
||||
{
|
||||
int w = number_width(wp);
|
||||
@@ -2749,7 +2747,7 @@ fold_line(
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (wp->w_p_rl)
|
||||
/* the line number isn't reversed */
|
||||
copy_text_attr(off + W_WIDTH(wp) - len - col, buf, len,
|
||||
copy_text_attr(off + wp->w_width - len - col, buf, len,
|
||||
HL_ATTR(HLF_FL));
|
||||
else
|
||||
#endif
|
||||
@@ -2777,7 +2775,7 @@ fold_line(
|
||||
if (wp->w_p_rl)
|
||||
col -= txtcol;
|
||||
#endif
|
||||
while (col < W_WIDTH(wp)
|
||||
while (col < wp->w_width
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
- (wp->w_p_rl ? txtcol : 0)
|
||||
#endif
|
||||
@@ -2839,14 +2837,14 @@ fold_line(
|
||||
if (VIsual_mode == Ctrl_V)
|
||||
{
|
||||
/* Visual block mode: highlight the chars part of the block */
|
||||
if (wp->w_old_cursor_fcol + txtcol < (colnr_T)W_WIDTH(wp))
|
||||
if (wp->w_old_cursor_fcol + txtcol < (colnr_T)wp->w_width)
|
||||
{
|
||||
if (wp->w_old_cursor_lcol != MAXCOL
|
||||
&& wp->w_old_cursor_lcol + txtcol
|
||||
< (colnr_T)W_WIDTH(wp))
|
||||
< (colnr_T)wp->w_width)
|
||||
len = wp->w_old_cursor_lcol;
|
||||
else
|
||||
len = W_WIDTH(wp) - txtcol;
|
||||
len = wp->w_width - txtcol;
|
||||
RL_MEMSET(wp->w_old_cursor_fcol + txtcol, HL_ATTR(HLF_V),
|
||||
len - (int)wp->w_old_cursor_fcol);
|
||||
}
|
||||
@@ -2854,7 +2852,7 @@ fold_line(
|
||||
else
|
||||
{
|
||||
/* Set all attributes of the text */
|
||||
RL_MEMSET(txtcol, HL_ATTR(HLF_V), W_WIDTH(wp) - txtcol);
|
||||
RL_MEMSET(txtcol, HL_ATTR(HLF_V), wp->w_width - txtcol);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2874,7 +2872,7 @@ fold_line(
|
||||
txtcol -= wp->w_skipcol;
|
||||
else
|
||||
txtcol -= wp->w_leftcol;
|
||||
if (txtcol >= 0 && txtcol < W_WIDTH(wp))
|
||||
if (txtcol >= 0 && txtcol < wp->w_width)
|
||||
ScreenAttrs[off + txtcol] = hl_combine_attr(
|
||||
ScreenAttrs[off + txtcol], HL_ATTR(HLF_MC));
|
||||
txtcol = old_txtcol;
|
||||
@@ -2890,14 +2888,14 @@ fold_line(
|
||||
txtcol -= wp->w_skipcol;
|
||||
else
|
||||
txtcol -= wp->w_leftcol;
|
||||
if (txtcol >= 0 && txtcol < W_WIDTH(wp))
|
||||
if (txtcol >= 0 && txtcol < wp->w_width)
|
||||
ScreenAttrs[off + txtcol] = hl_combine_attr(
|
||||
ScreenAttrs[off + txtcol], HL_ATTR(HLF_CUC));
|
||||
}
|
||||
#endif
|
||||
|
||||
screen_line(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
|
||||
(int)W_WIDTH(wp), FALSE);
|
||||
screen_line(row + W_WINROW(wp), wp->w_wincol, (int)wp->w_width,
|
||||
(int)wp->w_width, FALSE);
|
||||
|
||||
/*
|
||||
* Update w_cline_height and w_cline_folded if the cursor line was
|
||||
@@ -3000,8 +2998,7 @@ win_line(
|
||||
linenr_T lnum,
|
||||
int startrow,
|
||||
int endrow,
|
||||
int nochange UNUSED, /* not updating for changed text */
|
||||
proftime_T *syntax_tm UNUSED)
|
||||
int nochange UNUSED) /* not updating for changed text */
|
||||
{
|
||||
int col = 0; /* visual column on screen */
|
||||
unsigned off; /* offset in ScreenLines/ScreenAttrs */
|
||||
@@ -3216,7 +3213,7 @@ win_line(
|
||||
* error, stop syntax highlighting. */
|
||||
save_did_emsg = did_emsg;
|
||||
did_emsg = FALSE;
|
||||
syntax_start(wp, lnum, syntax_tm);
|
||||
syntax_start(wp, lnum);
|
||||
if (did_emsg)
|
||||
wp->w_s->b_syn_error = TRUE;
|
||||
else
|
||||
@@ -3614,7 +3611,7 @@ win_line(
|
||||
# ifdef FEAT_SYN_HL
|
||||
/* Need to restart syntax highlighting for this line. */
|
||||
if (has_syntax)
|
||||
syntax_start(wp, lnum, syntax_tm);
|
||||
syntax_start(wp, lnum);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
@@ -3727,7 +3724,7 @@ win_line(
|
||||
/* Rightleft window: process the text in the normal direction, but put
|
||||
* it in current_ScreenLine[] from right to left. Start at the
|
||||
* rightmost column of the window. */
|
||||
col = W_WIDTH(wp) - 1;
|
||||
col = wp->w_width - 1;
|
||||
off += col;
|
||||
}
|
||||
#endif
|
||||
@@ -3966,7 +3963,7 @@ win_line(
|
||||
n_extra = col + 1;
|
||||
else
|
||||
# endif
|
||||
n_extra = W_WIDTH(wp) - col;
|
||||
n_extra = wp->w_width - col;
|
||||
char_attr = HL_ATTR(HLF_DED);
|
||||
}
|
||||
# endif
|
||||
@@ -4019,7 +4016,7 @@ win_line(
|
||||
#endif
|
||||
)
|
||||
{
|
||||
screen_line(screen_row, W_WINCOL(wp), col, -(int)W_WIDTH(wp),
|
||||
screen_line(screen_row, wp->w_wincol, col, -(int)wp->w_width,
|
||||
HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
/* Pretend we have finished updating the window. Except when
|
||||
* 'cursorcolumn' is set. */
|
||||
@@ -4171,6 +4168,10 @@ win_line(
|
||||
if (shl != &search_hl && cur != NULL)
|
||||
cur = cur->next;
|
||||
}
|
||||
/* Only highlight one character after the last column. */
|
||||
if (*ptr == NUL && (did_line_attr >= 1
|
||||
|| (wp->w_p_list && lcs_eol_one == -1)))
|
||||
search_attr = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -4288,7 +4289,7 @@ win_line(
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
wp->w_p_rl ? (col <= 0) :
|
||||
# endif
|
||||
(col >= W_WIDTH(wp) - 1))
|
||||
(col >= wp->w_width - 1))
|
||||
&& (*mb_char2cells)(mb_c) == 2)
|
||||
{
|
||||
c = '>';
|
||||
@@ -4489,7 +4490,7 @@ win_line(
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
wp->w_p_rl ? (col <= 0) :
|
||||
# endif
|
||||
(col >= W_WIDTH(wp) - 1))
|
||||
(col >= wp->w_width - 1))
|
||||
&& (*mb_char2cells)(mb_c) == 2)
|
||||
{
|
||||
c = '>';
|
||||
@@ -4706,7 +4707,7 @@ win_line(
|
||||
/* TODO: is passing p for start of the line OK? */
|
||||
n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol,
|
||||
NULL) - 1;
|
||||
if (c == TAB && n_extra + col > W_WIDTH(wp))
|
||||
if (c == TAB && n_extra + col > wp->w_width)
|
||||
n_extra = (int)wp->w_buffer->b_p_ts
|
||||
- vcol % (int)wp->w_buffer->b_p_ts - 1;
|
||||
|
||||
@@ -4923,7 +4924,7 @@ win_line(
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
wp->w_p_rl ? (col >= 0) :
|
||||
# endif
|
||||
(col < W_WIDTH(wp)))
|
||||
(col < wp->w_width))
|
||||
&& !(noinvcur
|
||||
&& lnum == wp->w_cursor.lnum
|
||||
&& (colnr_T)vcol == wp->w_virtcol)))
|
||||
@@ -5034,7 +5035,7 @@ win_line(
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
wp->w_p_rl ? (col >= 0) :
|
||||
# endif
|
||||
(col < W_WIDTH(wp))))
|
||||
(col < wp->w_width)))
|
||||
{
|
||||
c = ' ';
|
||||
--ptr; /* put it back at the NUL */
|
||||
@@ -5057,7 +5058,7 @@ win_line(
|
||||
# ifdef FEAT_CONCEAL
|
||||
- boguscols
|
||||
# endif
|
||||
< W_WIDTH(wp))))
|
||||
< wp->w_width)))
|
||||
{
|
||||
/* Highlight until the right side of the window */
|
||||
c = ' ';
|
||||
@@ -5067,7 +5068,9 @@ win_line(
|
||||
++did_line_attr;
|
||||
|
||||
/* don't do search HL for the rest of the line */
|
||||
if (line_attr != 0 && char_attr == search_attr && col > 0)
|
||||
if (line_attr != 0 && char_attr == search_attr
|
||||
&& (did_line_attr > 1
|
||||
|| (wp->w_p_list && lcs_eol > 0)))
|
||||
char_attr = line_attr;
|
||||
# ifdef FEAT_DIFF
|
||||
if (diff_hlf == HLF_TXD)
|
||||
@@ -5178,7 +5181,7 @@ win_line(
|
||||
{
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
if (wp->w_p_rl)
|
||||
wp->w_wcol = W_WIDTH(wp) - col + boguscols - 1;
|
||||
wp->w_wcol = wp->w_width - col + boguscols - 1;
|
||||
else
|
||||
# endif
|
||||
wp->w_wcol = col - boguscols;
|
||||
@@ -5327,6 +5330,13 @@ win_line(
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
/* highlight 'hlsearch' match at end of line */
|
||||
|| (prevcol_hl_flag == TRUE
|
||||
# ifdef FEAT_SYN_HL
|
||||
&& !(wp->w_p_cul && lnum == wp->w_cursor.lnum
|
||||
&& !(wp == curwin && VIsual_active))
|
||||
# endif
|
||||
# ifdef FEAT_DIFF
|
||||
&& diff_hlf == (hlf_T)0
|
||||
# endif
|
||||
# if defined(LINE_ATTR)
|
||||
&& did_line_attr <= 1
|
||||
# endif
|
||||
@@ -5345,7 +5355,7 @@ win_line(
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (col >= W_WIDTH(wp))
|
||||
if (col >= wp->w_width)
|
||||
n = -1;
|
||||
}
|
||||
if (n != 0)
|
||||
@@ -5449,7 +5459,7 @@ win_line(
|
||||
if (((wp->w_p_cuc
|
||||
&& (int)wp->w_virtcol >= VCOL_HLC - eol_hl_off
|
||||
&& (int)wp->w_virtcol <
|
||||
W_WIDTH(wp) * (row - startrow + 1) + v
|
||||
wp->w_width * (row - startrow + 1) + v
|
||||
&& lnum != wp->w_cursor.lnum)
|
||||
|| draw_color_col)
|
||||
# ifdef FEAT_RIGHTLEFT
|
||||
@@ -5468,7 +5478,7 @@ win_line(
|
||||
if (rightmost_vcol < color_cols[i])
|
||||
rightmost_vcol = color_cols[i];
|
||||
|
||||
while (col < W_WIDTH(wp))
|
||||
while (col < wp->w_width)
|
||||
{
|
||||
ScreenLines[off] = ' ';
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -5495,8 +5505,8 @@ win_line(
|
||||
}
|
||||
#endif
|
||||
|
||||
screen_line(screen_row, W_WINCOL(wp), col,
|
||||
(int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
screen_line(screen_row, wp->w_wincol, col,
|
||||
(int)wp->w_width, HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
row++;
|
||||
|
||||
/*
|
||||
@@ -5526,7 +5536,7 @@ win_line(
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
wp->w_p_rl ? col == 0 :
|
||||
#endif
|
||||
col == W_WIDTH(wp) - 1)
|
||||
col == wp->w_width - 1)
|
||||
&& (*ptr != NUL
|
||||
|| (wp->w_p_list && lcs_eol_one > 0)
|
||||
|| (n_extra && (c_extra != NUL || *p_extra != NUL))))
|
||||
@@ -5791,7 +5801,7 @@ win_line(
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
wp->w_p_rl ? (col < 0) :
|
||||
#endif
|
||||
(col >= W_WIDTH(wp)))
|
||||
(col >= wp->w_width))
|
||||
&& (*ptr != NUL
|
||||
#ifdef FEAT_DIFF
|
||||
|| filler_todo > 0
|
||||
@@ -5801,12 +5811,12 @@ win_line(
|
||||
)
|
||||
{
|
||||
#ifdef FEAT_CONCEAL
|
||||
screen_line(screen_row, W_WINCOL(wp), col - boguscols,
|
||||
(int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
screen_line(screen_row, wp->w_wincol, col - boguscols,
|
||||
(int)wp->w_width, HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
boguscols = 0;
|
||||
#else
|
||||
screen_line(screen_row, W_WINCOL(wp), col,
|
||||
(int)W_WIDTH(wp), HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
screen_line(screen_row, wp->w_wincol, col,
|
||||
(int)wp->w_width, HAS_RIGHTLEFT(wp->w_p_rl));
|
||||
#endif
|
||||
++row;
|
||||
++screen_row;
|
||||
@@ -5843,7 +5853,7 @@ win_line(
|
||||
#ifdef FEAT_DIFF
|
||||
&& filler_todo <= 0
|
||||
#endif
|
||||
&& W_WIDTH(wp) == Columns)
|
||||
&& wp->w_width == Columns)
|
||||
{
|
||||
/* Remember that the line wraps, used for modeless copy. */
|
||||
LineWraps[screen_row - 1] = TRUE;
|
||||
@@ -5880,7 +5890,7 @@ win_line(
|
||||
* then output the same character again to let the
|
||||
* terminal know about the wrap. If the terminal doesn't
|
||||
* auto-wrap, we overwrite the character. */
|
||||
if (screen_cur_col != W_WIDTH(wp))
|
||||
if (screen_cur_col != wp->w_width)
|
||||
screen_char(LineOffset[screen_row - 1]
|
||||
+ (unsigned)Columns - 1,
|
||||
screen_row - 1, (int)(Columns - 1));
|
||||
@@ -5906,7 +5916,7 @@ win_line(
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (wp->w_p_rl)
|
||||
{
|
||||
col = W_WIDTH(wp) - 1; /* col is not used if breaking! */
|
||||
col = wp->w_width - 1; /* col is not used if breaking! */
|
||||
off += col;
|
||||
}
|
||||
#endif
|
||||
@@ -6903,9 +6913,9 @@ win_redr_status(win_T *wp)
|
||||
len += (int)STRLEN(p + len);
|
||||
}
|
||||
|
||||
this_ru_col = ru_col - (Columns - W_WIDTH(wp));
|
||||
if (this_ru_col < (W_WIDTH(wp) + 1) / 2)
|
||||
this_ru_col = (W_WIDTH(wp) + 1) / 2;
|
||||
this_ru_col = ru_col - (Columns - wp->w_width);
|
||||
if (this_ru_col < (wp->w_width + 1) / 2)
|
||||
this_ru_col = (wp->w_width + 1) / 2;
|
||||
if (this_ru_col <= 1)
|
||||
{
|
||||
p = (char_u *)"<"; /* No room for file name! */
|
||||
@@ -6944,14 +6954,14 @@ win_redr_status(win_T *wp)
|
||||
}
|
||||
|
||||
row = W_WINROW(wp) + wp->w_height;
|
||||
screen_puts(p, row, W_WINCOL(wp), attr);
|
||||
screen_fill(row, row + 1, len + W_WINCOL(wp),
|
||||
this_ru_col + W_WINCOL(wp), fillchar, fillchar, attr);
|
||||
screen_puts(p, row, wp->w_wincol, attr);
|
||||
screen_fill(row, row + 1, len + wp->w_wincol,
|
||||
this_ru_col + wp->w_wincol, fillchar, fillchar, attr);
|
||||
|
||||
if (get_keymap_str(wp, (char_u *)"<%s>", NameBuff, MAXPATHL)
|
||||
&& (int)(this_ru_col - len) > (int)(STRLEN(NameBuff) + 1))
|
||||
screen_puts(NameBuff, row, (int)(this_ru_col - STRLEN(NameBuff)
|
||||
- 1 + W_WINCOL(wp)), attr);
|
||||
- 1 + wp->w_wincol), attr);
|
||||
|
||||
#ifdef FEAT_CMDL_INFO
|
||||
win_redr_ruler(wp, TRUE);
|
||||
@@ -7136,7 +7146,7 @@ win_redr_custom(
|
||||
{
|
||||
row = W_WINROW(wp) + wp->w_height;
|
||||
fillchar = fillchar_status(&attr, wp);
|
||||
maxwidth = W_WIDTH(wp);
|
||||
maxwidth = wp->w_width;
|
||||
|
||||
if (draw_ruler)
|
||||
{
|
||||
@@ -7152,10 +7162,10 @@ win_redr_custom(
|
||||
if (*stl++ != '(')
|
||||
stl = p_ruf;
|
||||
}
|
||||
col = ru_col - (Columns - W_WIDTH(wp));
|
||||
if (col < (W_WIDTH(wp) + 1) / 2)
|
||||
col = (W_WIDTH(wp) + 1) / 2;
|
||||
maxwidth = W_WIDTH(wp) - col;
|
||||
col = ru_col - (Columns - wp->w_width);
|
||||
if (col < (wp->w_width + 1) / 2)
|
||||
col = (wp->w_width + 1) / 2;
|
||||
maxwidth = wp->w_width - col;
|
||||
if (!wp->w_status_height)
|
||||
{
|
||||
row = Rows - 1;
|
||||
@@ -7180,7 +7190,7 @@ win_redr_custom(
|
||||
# endif
|
||||
}
|
||||
|
||||
col += W_WINCOL(wp);
|
||||
col += wp->w_wincol;
|
||||
}
|
||||
|
||||
if (maxwidth <= 0)
|
||||
@@ -9448,11 +9458,11 @@ setcursor(void)
|
||||
{
|
||||
validate_cursor();
|
||||
windgoto(W_WINROW(curwin) + curwin->w_wrow,
|
||||
W_WINCOL(curwin) + (
|
||||
curwin->w_wincol + (
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
/* With 'rightleft' set and the cursor on a double-wide
|
||||
* character, position it on the leftmost column. */
|
||||
curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - (
|
||||
curwin->w_p_rl ? ((int)curwin->w_width - curwin->w_wcol - (
|
||||
# ifdef FEAT_MBYTE
|
||||
(has_mbyte
|
||||
&& (*mb_ptr2cells)(ml_get_cursor()) == 2
|
||||
@@ -9520,12 +9530,12 @@ win_ins_lines(
|
||||
{
|
||||
wp->w_redr_status = TRUE;
|
||||
redraw_cmdline = TRUE;
|
||||
nextrow = W_WINROW(wp) + wp->w_height + W_STATUS_HEIGHT(wp);
|
||||
nextrow = W_WINROW(wp) + wp->w_height + wp->w_status_height;
|
||||
lastrow = nextrow + line_count;
|
||||
if (lastrow > Rows)
|
||||
lastrow = Rows;
|
||||
screen_fill(nextrow - line_count, lastrow - line_count,
|
||||
W_WINCOL(wp), (int)W_ENDCOL(wp),
|
||||
wp->w_wincol, (int)W_ENDCOL(wp),
|
||||
' ', ' ', 0);
|
||||
}
|
||||
|
||||
@@ -9636,7 +9646,7 @@ win_do_lines(
|
||||
if (row + line_count >= wp->w_height)
|
||||
{
|
||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + wp->w_height,
|
||||
W_WINCOL(wp), (int)W_ENDCOL(wp),
|
||||
wp->w_wincol, (int)W_ENDCOL(wp),
|
||||
' ', ' ', 0);
|
||||
return OK;
|
||||
}
|
||||
@@ -9658,7 +9668,7 @@ win_do_lines(
|
||||
* a character in the lower right corner of the scroll region may cause a
|
||||
* scroll-up .
|
||||
*/
|
||||
if (scroll_region || W_WIDTH(wp) != Columns)
|
||||
if (scroll_region || wp->w_width != Columns)
|
||||
{
|
||||
if (scroll_region && (wp->w_width == Columns || *T_CSV != NUL))
|
||||
scroll_region_set(wp, row);
|
||||
@@ -10760,21 +10770,21 @@ redraw_win_toolbar(win_T *wp)
|
||||
|
||||
/* TODO: use fewer spaces if there is not enough room */
|
||||
for (menu = wp->w_winbar->children;
|
||||
menu != NULL && col < W_WIDTH(wp); menu = menu->next)
|
||||
menu != NULL && col < wp->w_width; menu = menu->next)
|
||||
{
|
||||
space_to_screenline(off + col, fill_attr);
|
||||
if (++col >= W_WIDTH(wp))
|
||||
if (++col >= wp->w_width)
|
||||
break;
|
||||
if (col > 1)
|
||||
{
|
||||
space_to_screenline(off + col, fill_attr);
|
||||
if (++col >= W_WIDTH(wp))
|
||||
if (++col >= wp->w_width)
|
||||
break;
|
||||
}
|
||||
|
||||
wp->w_winbar_items[item_idx].wb_startcol = col;
|
||||
space_to_screenline(off + col, button_attr);
|
||||
if (++col >= W_WIDTH(wp))
|
||||
if (++col >= wp->w_width)
|
||||
break;
|
||||
|
||||
next_col = text_to_screenline(wp, menu->name, col);
|
||||
@@ -10787,20 +10797,20 @@ redraw_win_toolbar(win_T *wp)
|
||||
wp->w_winbar_items[item_idx].wb_menu = menu;
|
||||
++item_idx;
|
||||
|
||||
if (col >= W_WIDTH(wp))
|
||||
if (col >= wp->w_width)
|
||||
break;
|
||||
space_to_screenline(off + col, button_attr);
|
||||
++col;
|
||||
}
|
||||
while (col < W_WIDTH(wp))
|
||||
while (col < wp->w_width)
|
||||
{
|
||||
space_to_screenline(off + col, fill_attr);
|
||||
++col;
|
||||
}
|
||||
wp->w_winbar_items[item_idx].wb_menu = NULL; /* end marker */
|
||||
|
||||
screen_line(wp->w_winrow, W_WINCOL(wp), (int)W_WIDTH(wp),
|
||||
(int)W_WIDTH(wp), FALSE);
|
||||
screen_line(wp->w_winrow, wp->w_wincol, (int)wp->w_width,
|
||||
(int)wp->w_width, FALSE);
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
@@ -10931,8 +10941,8 @@ win_redr_ruler(win_T *wp, int always)
|
||||
{
|
||||
row = W_WINROW(wp) + wp->w_height;
|
||||
fillchar = fillchar_status(&attr, wp);
|
||||
off = W_WINCOL(wp);
|
||||
width = W_WIDTH(wp);
|
||||
off = wp->w_wincol;
|
||||
width = wp->w_width;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+15
-10
@@ -2617,7 +2617,7 @@ showmatch(
|
||||
if (!curwin->w_p_wrap)
|
||||
getvcol(curwin, lpos, NULL, &vcol, NULL);
|
||||
if (curwin->w_p_wrap || (vcol >= curwin->w_leftcol
|
||||
&& vcol < curwin->w_leftcol + W_WIDTH(curwin)))
|
||||
&& vcol < curwin->w_leftcol + curwin->w_width))
|
||||
{
|
||||
mpos = *lpos; /* save the pos, update_screen() may change it */
|
||||
save_cursor = curwin->w_cursor;
|
||||
@@ -4620,7 +4620,7 @@ current_quote(
|
||||
|
||||
#endif /* FEAT_TEXTOBJ */
|
||||
|
||||
static int is_one_char(char_u *pattern, int move, pos_T *cur);
|
||||
static int is_one_char(char_u *pattern, int move, pos_T *cur, int direction);
|
||||
|
||||
/*
|
||||
* Find next search match under cursor, cursor at end.
|
||||
@@ -4641,6 +4641,7 @@ current_search(
|
||||
int flags = 0;
|
||||
pos_T save_VIsual = VIsual;
|
||||
int one_char;
|
||||
int direction = forward ? FORWARD : BACKWARD;
|
||||
|
||||
/* wrapping should not occur */
|
||||
p_ws = FALSE;
|
||||
@@ -4667,8 +4668,10 @@ current_search(
|
||||
else
|
||||
orig_pos = pos = curwin->w_cursor;
|
||||
|
||||
/* Is the pattern is zero-width? */
|
||||
one_char = is_one_char(spats[last_idx].pat, TRUE, &curwin->w_cursor);
|
||||
/* Is the pattern is zero-width?, this time, don't care about the direction
|
||||
*/
|
||||
one_char = is_one_char(spats[last_idx].pat, TRUE, &curwin->w_cursor,
|
||||
FORWARD);
|
||||
if (one_char == -1)
|
||||
{
|
||||
p_ws = old_p_ws;
|
||||
@@ -4727,11 +4730,11 @@ current_search(
|
||||
}
|
||||
|
||||
start_pos = pos;
|
||||
flags = forward ? SEARCH_END : 0;
|
||||
flags = forward ? SEARCH_END : SEARCH_START;
|
||||
|
||||
/* Check again from the current cursor position,
|
||||
* since the next match might actually by only one char wide */
|
||||
one_char = is_one_char(spats[last_idx].pat, FALSE, &pos);
|
||||
one_char = is_one_char(spats[last_idx].pat, FALSE, &pos, direction);
|
||||
if (one_char < 0)
|
||||
/* search failed, abort */
|
||||
return FAIL;
|
||||
@@ -4739,7 +4742,7 @@ current_search(
|
||||
/* move to match, except for zero-width matches, in which case, we are
|
||||
* already on the next match */
|
||||
if (!one_char)
|
||||
result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
|
||||
result = searchit(curwin, curbuf, &pos, direction,
|
||||
spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0,
|
||||
NULL, NULL);
|
||||
|
||||
@@ -4788,10 +4791,11 @@ current_search(
|
||||
* Check if the pattern is one character long or zero-width.
|
||||
* If move is TRUE, check from the beginning of the buffer, else from position
|
||||
* "cur".
|
||||
* "direction" is FORWARD or BACKWARD.
|
||||
* Returns TRUE, FALSE or -1 for failure.
|
||||
*/
|
||||
static int
|
||||
is_one_char(char_u *pattern, int move, pos_T *cur)
|
||||
is_one_char(char_u *pattern, int move, pos_T *cur, int direction)
|
||||
{
|
||||
regmmatch_T regmatch;
|
||||
int nmatched = 0;
|
||||
@@ -4821,7 +4825,7 @@ is_one_char(char_u *pattern, int move, pos_T *cur)
|
||||
flag = SEARCH_START;
|
||||
}
|
||||
|
||||
if (searchit(curwin, curbuf, &pos, FORWARD, pattern, 1,
|
||||
if (searchit(curwin, curbuf, &pos, direction, pattern, 1,
|
||||
SEARCH_KEEP + flag, RE_SEARCH, 0, NULL, NULL) != FAIL)
|
||||
{
|
||||
/* Zero-width pattern should match somewhere, then we can check if
|
||||
@@ -4834,7 +4838,8 @@ is_one_char(char_u *pattern, int move, pos_T *cur)
|
||||
pos.lnum, regmatch.startpos[0].col, NULL, NULL);
|
||||
if (!nmatched)
|
||||
break;
|
||||
} while (regmatch.startpos[0].col < pos.col);
|
||||
} while (direction == FORWARD ? regmatch.startpos[0].col < pos.col
|
||||
: regmatch.startpos[0].col > pos.col);
|
||||
|
||||
if (!called_emsg)
|
||||
{
|
||||
|
||||
+17
-6
@@ -2712,12 +2712,10 @@ struct window_S
|
||||
int w_height; /* number of rows in window, excluding
|
||||
status/command/winbar line(s) */
|
||||
int w_status_height; /* number of status lines (0 or 1) */
|
||||
int w_wincol; /* Leftmost column of window in screen.
|
||||
use W_WINCOL() */
|
||||
int w_width; /* Width of window, excluding separation.
|
||||
use W_WIDTH() */
|
||||
int w_vsep_width; /* Number of separator columns (0 or 1).
|
||||
use W_VSEP_WIDTH() */
|
||||
int w_wincol; /* Leftmost column of window in screen. */
|
||||
int w_width; /* Width of window, excluding separation. */
|
||||
int w_vsep_width; /* Number of separator columns (0 or 1). */
|
||||
|
||||
/*
|
||||
* === start of cached values ====
|
||||
*/
|
||||
@@ -3426,3 +3424,16 @@ typedef struct lval_S
|
||||
dictitem_T *ll_di; /* The dictitem or NULL */
|
||||
char_u *ll_newkey; /* New key for Dict in alloc. mem or NULL. */
|
||||
} lval_T;
|
||||
|
||||
/* Structure used to save the current state. Used when executing Normal mode
|
||||
* commands while in any other mode. */
|
||||
typedef struct {
|
||||
int save_msg_scroll;
|
||||
int save_restart_edit;
|
||||
int save_msg_didout;
|
||||
int save_State;
|
||||
int save_insertmode;
|
||||
int save_finish_op;
|
||||
int save_opcount;
|
||||
tasave_T tabuf;
|
||||
} save_state_T;
|
||||
|
||||
+94
-36
@@ -368,7 +368,7 @@ static win_T *syn_win; /* current window for highlighting */
|
||||
static buf_T *syn_buf; /* current buffer for highlighting */
|
||||
static synblock_T *syn_block; /* current buffer for highlighting */
|
||||
#ifdef FEAT_RELTIME
|
||||
static proftime_T *syn_tm;
|
||||
static proftime_T *syn_tm; /* timeout limit */
|
||||
#endif
|
||||
static linenr_T current_lnum = 0; /* lnum of current state */
|
||||
static colnr_T current_col = 0; /* column of current state */
|
||||
@@ -489,6 +489,18 @@ static int get_id_list(char_u **arg, int keylen, short **list, int skip);
|
||||
static void syn_combine_list(short **clstr1, short **clstr2, int list_op);
|
||||
static void syn_incl_toplevel(int id, int *flagsp);
|
||||
|
||||
#if defined(FEAT_RELTIME) || defined(PROTO)
|
||||
/*
|
||||
* Set the timeout used for syntax highlighting.
|
||||
* Use NULL to reset, no timeout.
|
||||
*/
|
||||
void
|
||||
syn_set_timeout(proftime_T *tm)
|
||||
{
|
||||
syn_tm = tm;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Start the syntax recognition for a line. This function is normally called
|
||||
* from the screen updating, once for each displayed line.
|
||||
@@ -497,7 +509,7 @@ static void syn_incl_toplevel(int id, int *flagsp);
|
||||
* window.
|
||||
*/
|
||||
void
|
||||
syntax_start(win_T *wp, linenr_T lnum, proftime_T *syntax_tm UNUSED)
|
||||
syntax_start(win_T *wp, linenr_T lnum)
|
||||
{
|
||||
synstate_T *p;
|
||||
synstate_T *last_valid = NULL;
|
||||
@@ -527,9 +539,6 @@ syntax_start(win_T *wp, linenr_T lnum, proftime_T *syntax_tm UNUSED)
|
||||
}
|
||||
changedtick = CHANGEDTICK(syn_buf);
|
||||
syn_win = wp;
|
||||
#ifdef FEAT_RELTIME
|
||||
syn_tm = syntax_tm;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Allocate syntax stack when needed.
|
||||
@@ -6569,7 +6578,7 @@ syn_get_id(
|
||||
if (wp->w_buffer != syn_buf
|
||||
|| lnum != current_lnum
|
||||
|| col < current_col)
|
||||
syntax_start(wp, lnum, NULL);
|
||||
syntax_start(wp, lnum);
|
||||
else if (wp->w_buffer == syn_buf
|
||||
&& lnum == current_lnum
|
||||
&& col > current_col)
|
||||
@@ -6645,7 +6654,7 @@ syn_get_foldlevel(win_T *wp, long lnum)
|
||||
# endif
|
||||
)
|
||||
{
|
||||
syntax_start(wp, lnum, NULL);
|
||||
syntax_start(wp, lnum);
|
||||
|
||||
for (i = 0; i < current_state.ga_len; ++i)
|
||||
if (CUR_STATE(i).si_flags & HL_FOLD)
|
||||
@@ -7006,7 +7015,7 @@ static char *(highlight_init_light[]) = {
|
||||
CENT("ToolbarLine term=underline ctermbg=LightGrey",
|
||||
"ToolbarLine term=underline ctermbg=LightGrey guibg=LightGrey"),
|
||||
CENT("ToolbarButton cterm=bold ctermfg=White ctermbg=DarkGrey",
|
||||
"ToolbarButton cterm=bold ctermfg=White ctermbg=DarkGrey gui=bold guifg=White guibg=DarkGrey"),
|
||||
"ToolbarButton cterm=bold ctermfg=White ctermbg=DarkGrey gui=bold guifg=White guibg=Grey40"),
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
@@ -7102,7 +7111,7 @@ static char *(highlight_init_dark[]) = {
|
||||
#endif
|
||||
#ifdef FEAT_MENU
|
||||
CENT("ToolbarLine term=underline ctermbg=DarkGrey",
|
||||
"ToolbarLine term=underline ctermbg=DarkGrey guibg=DarkGrey"),
|
||||
"ToolbarLine term=underline ctermbg=DarkGrey guibg=Grey50"),
|
||||
CENT("ToolbarButton cterm=bold ctermfg=Black ctermbg=LightGrey",
|
||||
"ToolbarButton cterm=bold ctermfg=Black ctermbg=LightGrey gui=bold guifg=Black guibg=LightGrey"),
|
||||
#endif
|
||||
@@ -7341,6 +7350,12 @@ lookup_color(int idx, int foreground, int *boldp)
|
||||
else
|
||||
color = color_numbers_8[idx];
|
||||
}
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
if (t_colors >= 256 && color == 15 && is_mac_terminal)
|
||||
/* Terminal.app has a bug: 15 is light grey. Use white
|
||||
* from the color cube instead. */
|
||||
color = 231;
|
||||
#endif
|
||||
}
|
||||
return color;
|
||||
}
|
||||
@@ -7369,6 +7384,7 @@ do_highlight(
|
||||
int id;
|
||||
int idx;
|
||||
struct hl_group item_before;
|
||||
int did_change = FALSE;
|
||||
int dodefault = FALSE;
|
||||
int doclear = FALSE;
|
||||
int dolink = FALSE;
|
||||
@@ -7779,6 +7795,7 @@ do_highlight(
|
||||
/* GUI not started yet, always accept the name. */
|
||||
vim_free(HL_TABLE()[idx].sg_font_name);
|
||||
HL_TABLE()[idx].sg_font_name = vim_strsave(arg);
|
||||
did_change = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -7807,6 +7824,7 @@ do_highlight(
|
||||
gui_mch_free_fontset(temp_sg_fontset);
|
||||
vim_free(HL_TABLE()[idx].sg_font_name);
|
||||
HL_TABLE()[idx].sg_font_name = vim_strsave(arg);
|
||||
did_change = TRUE;
|
||||
}
|
||||
else
|
||||
HL_TABLE()[idx].sg_fontset = temp_sg_fontset;
|
||||
@@ -7818,6 +7836,7 @@ do_highlight(
|
||||
gui_mch_free_font(temp_sg_font);
|
||||
vim_free(HL_TABLE()[idx].sg_font_name);
|
||||
HL_TABLE()[idx].sg_font_name = vim_strsave(arg);
|
||||
did_change = TRUE;
|
||||
}
|
||||
else
|
||||
HL_TABLE()[idx].sg_font = temp_sg_font;
|
||||
@@ -7962,6 +7981,8 @@ do_highlight(
|
||||
else if (STRCMP(key, "GUIFG") == 0)
|
||||
{
|
||||
#if defined(FEAT_GUI) || defined(FEAT_EVAL)
|
||||
char_u **namep = &HL_TABLE()[idx].sg_gui_fg_name;
|
||||
|
||||
if (!init || !(HL_TABLE()[idx].sg_set & SG_GUI))
|
||||
{
|
||||
if (!init)
|
||||
@@ -7974,22 +7995,34 @@ do_highlight(
|
||||
{
|
||||
HL_TABLE()[idx].sg_gui_fg = i;
|
||||
# endif
|
||||
vim_free(HL_TABLE()[idx].sg_gui_fg_name);
|
||||
if (STRCMP(arg, "NONE") != 0)
|
||||
HL_TABLE()[idx].sg_gui_fg_name = vim_strsave(arg);
|
||||
else
|
||||
HL_TABLE()[idx].sg_gui_fg_name = NULL;
|
||||
if (*namep == NULL || STRCMP(*namep, arg) != 0)
|
||||
{
|
||||
vim_free(*namep);
|
||||
if (STRCMP(arg, "NONE") != 0)
|
||||
*namep = vim_strsave(arg);
|
||||
else
|
||||
*namep = NULL;
|
||||
did_change = TRUE;
|
||||
}
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
# ifdef FEAT_GUI_X11
|
||||
if (is_menu_group)
|
||||
if (is_menu_group && gui.menu_fg_pixel != i)
|
||||
{
|
||||
gui.menu_fg_pixel = i;
|
||||
if (is_scrollbar_group)
|
||||
do_colors = TRUE;
|
||||
}
|
||||
if (is_scrollbar_group && gui.scroll_fg_pixel != i)
|
||||
{
|
||||
gui.scroll_fg_pixel = i;
|
||||
do_colors = TRUE;
|
||||
}
|
||||
# ifdef FEAT_BEVAL
|
||||
if (is_tooltip_group)
|
||||
if (is_tooltip_group && gui.tooltip_fg_pixel != i)
|
||||
{
|
||||
gui.tooltip_fg_pixel = i;
|
||||
do_colors = TRUE;
|
||||
}
|
||||
# endif
|
||||
do_colors = TRUE;
|
||||
# endif
|
||||
}
|
||||
# endif
|
||||
@@ -7999,6 +8032,8 @@ do_highlight(
|
||||
else if (STRCMP(key, "GUIBG") == 0)
|
||||
{
|
||||
#if defined(FEAT_GUI) || defined(FEAT_EVAL)
|
||||
char_u **namep = &HL_TABLE()[idx].sg_gui_bg_name;
|
||||
|
||||
if (!init || !(HL_TABLE()[idx].sg_set & SG_GUI))
|
||||
{
|
||||
if (!init)
|
||||
@@ -8011,22 +8046,34 @@ do_highlight(
|
||||
{
|
||||
HL_TABLE()[idx].sg_gui_bg = i;
|
||||
# endif
|
||||
vim_free(HL_TABLE()[idx].sg_gui_bg_name);
|
||||
if (STRCMP(arg, "NONE") != 0)
|
||||
HL_TABLE()[idx].sg_gui_bg_name = vim_strsave(arg);
|
||||
else
|
||||
HL_TABLE()[idx].sg_gui_bg_name = NULL;
|
||||
if (*namep == NULL || STRCMP(*namep, arg) != 0)
|
||||
{
|
||||
vim_free(*namep);
|
||||
if (STRCMP(arg, "NONE") != 0)
|
||||
*namep = vim_strsave(arg);
|
||||
else
|
||||
*namep = NULL;
|
||||
did_change = TRUE;
|
||||
}
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
# ifdef FEAT_GUI_X11
|
||||
if (is_menu_group)
|
||||
if (is_menu_group && gui.menu_bg_pixel != i)
|
||||
{
|
||||
gui.menu_bg_pixel = i;
|
||||
if (is_scrollbar_group)
|
||||
do_colors = TRUE;
|
||||
}
|
||||
if (is_scrollbar_group && gui.scroll_bg_pixel != i)
|
||||
{
|
||||
gui.scroll_bg_pixel = i;
|
||||
do_colors = TRUE;
|
||||
}
|
||||
# ifdef FEAT_BEVAL
|
||||
if (is_tooltip_group)
|
||||
if (is_tooltip_group && gui.tooltip_bg_pixel != i)
|
||||
{
|
||||
gui.tooltip_bg_pixel = i;
|
||||
do_colors = TRUE;
|
||||
}
|
||||
# endif
|
||||
do_colors = TRUE;
|
||||
# endif
|
||||
}
|
||||
# endif
|
||||
@@ -8036,6 +8083,8 @@ do_highlight(
|
||||
else if (STRCMP(key, "GUISP") == 0)
|
||||
{
|
||||
#if defined(FEAT_GUI) || defined(FEAT_EVAL)
|
||||
char_u **namep = &HL_TABLE()[idx].sg_gui_sp_name;
|
||||
|
||||
if (!init || !(HL_TABLE()[idx].sg_set & SG_GUI))
|
||||
{
|
||||
if (!init)
|
||||
@@ -8047,11 +8096,15 @@ do_highlight(
|
||||
{
|
||||
HL_TABLE()[idx].sg_gui_sp = i;
|
||||
# endif
|
||||
vim_free(HL_TABLE()[idx].sg_gui_sp_name);
|
||||
if (STRCMP(arg, "NONE") != 0)
|
||||
HL_TABLE()[idx].sg_gui_sp_name = vim_strsave(arg);
|
||||
else
|
||||
HL_TABLE()[idx].sg_gui_sp_name = NULL;
|
||||
if (*namep == NULL || STRCMP(*namep, arg) != 0)
|
||||
{
|
||||
vim_free(*namep);
|
||||
if (STRCMP(arg, "NONE") != 0)
|
||||
*namep = vim_strsave(arg);
|
||||
else
|
||||
*namep = NULL;
|
||||
did_change = TRUE;
|
||||
}
|
||||
# ifdef FEAT_GUI
|
||||
}
|
||||
# endif
|
||||
@@ -8220,13 +8273,18 @@ do_highlight(
|
||||
|
||||
/* Only call highlight_changed() once, after a sequence of highlight
|
||||
* commands, and only if an attribute actually changed. */
|
||||
if (memcmp(&HL_TABLE()[idx], &item_before, sizeof(item_before)) != 0
|
||||
if ((did_change
|
||||
|| memcmp(&HL_TABLE()[idx], &item_before, sizeof(item_before)) != 0)
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
&& !did_highlight_changed
|
||||
#endif
|
||||
)
|
||||
{
|
||||
redraw_all_later(NOT_VALID);
|
||||
/* Do not trigger a redraw when highlighting is changed while
|
||||
* redrawing. This may happen when evaluating 'statusline' changes the
|
||||
* StatusLine group. */
|
||||
if (!updating_screen)
|
||||
redraw_all_later(NOT_VALID);
|
||||
need_highlight_changed = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -9548,7 +9606,7 @@ syn_name2attr(char_u *name)
|
||||
int id = syn_name2id(name);
|
||||
|
||||
if (id != 0)
|
||||
return syn_id2attr(syn_get_final_id(id));
|
||||
return syn_id2attr(id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -9747,7 +9805,7 @@ syn_id2colors(int hl_id, guicolor_T *fgp, guicolor_T *bgp)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_TERMINAL) || defined(PROT)
|
||||
#if defined(FEAT_TERMINAL) || defined(PROTO)
|
||||
void
|
||||
syn_id2cterm_bg(int hl_id, int *fgp, int *bgp)
|
||||
{
|
||||
|
||||
+7
-5
@@ -3277,11 +3277,10 @@ set_shellsize(int width, int height, int mustset)
|
||||
if (pum_visible())
|
||||
{
|
||||
redraw_later(NOT_VALID);
|
||||
ins_compl_show_pum(); /* This includes the redraw. */
|
||||
ins_compl_show_pum();
|
||||
}
|
||||
else
|
||||
#endif
|
||||
update_screen(NOT_VALID);
|
||||
update_screen(NOT_VALID);
|
||||
if (redrawing())
|
||||
setcursor();
|
||||
}
|
||||
@@ -3822,8 +3821,8 @@ scroll_region_set(win_T *wp, int off)
|
||||
OUT_STR(tgoto((char *)T_CS, W_WINROW(wp) + wp->w_height - 1,
|
||||
W_WINROW(wp) + off));
|
||||
if (*T_CSV != NUL && wp->w_width != Columns)
|
||||
OUT_STR(tgoto((char *)T_CSV, W_WINCOL(wp) + wp->w_width - 1,
|
||||
W_WINCOL(wp)));
|
||||
OUT_STR(tgoto((char *)T_CSV, wp->w_wincol + wp->w_width - 1,
|
||||
wp->w_wincol));
|
||||
screen_start(); /* don't know where cursor is now */
|
||||
}
|
||||
|
||||
@@ -4564,7 +4563,10 @@ check_termcode(
|
||||
/* Mac Terminal.app sends 1;95;0 */
|
||||
if (version == 95
|
||||
&& STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0)
|
||||
{
|
||||
is_not_xterm = TRUE;
|
||||
is_mac_terminal = TRUE;
|
||||
}
|
||||
|
||||
/* Gnome terminal sends 1;3801;0, 1;4402;0 or 1;2501;0.
|
||||
* xfce4-terminal sends 1;2802;0.
|
||||
|
||||
+55
-17
@@ -41,10 +41,13 @@
|
||||
* - in GUI vertical split causes problems. Cursor is flickering. (Hirohito
|
||||
* Higashi, 2017 Sep 19)
|
||||
* - Shift-Tab does not work.
|
||||
* - click in Window toolbar of other window: save/restore Insert and Visual
|
||||
* - after resizing windows overlap. (Boris Staletic, #2164)
|
||||
* - double click in Window toolbar starts Visual mode.
|
||||
* - Redirecting output does not work on MS-Windows, Test_terminal_redir_file()
|
||||
* is disabled.
|
||||
* - cursor blinks in terminal on widows with a timer. (xtal8, #2142)
|
||||
* - implement term_setsize()
|
||||
* - MS-Windows GUI: WinBar has tearoff item
|
||||
* - MS-Windows GUI: still need to type a key after shell exits? #1924
|
||||
* - add test for giving error for invalid 'termsize' value.
|
||||
* - support minimal size when 'termsize' is "rows*cols".
|
||||
@@ -53,6 +56,7 @@
|
||||
* - GUI: when 'confirm' is set and trying to exit Vim, dialog offers to save
|
||||
* changes to "!shell".
|
||||
* (justrajdeep, 2017 Aug 22)
|
||||
* - Redrawing is slow with Athena and Motif.
|
||||
* - For the GUI fill termios with default values, perhaps like pangoterm:
|
||||
* http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
|
||||
* - if the job in the terminal does not support the mouse, we can use the
|
||||
@@ -132,7 +136,7 @@ struct terminal_S {
|
||||
char_u *tl_status_text; /* NULL or allocated */
|
||||
|
||||
/* Range of screen rows to update. Zero based. */
|
||||
int tl_dirty_row_start; /* -1 if nothing dirty */
|
||||
int tl_dirty_row_start; /* MAX_ROW if nothing dirty */
|
||||
int tl_dirty_row_end; /* row below last one to update */
|
||||
|
||||
garray_T tl_scrollback;
|
||||
@@ -448,6 +452,12 @@ term_start(typval_T *argvar, jobopt_T *opt, int forceit)
|
||||
* a deadlock if the job is waiting for Vim to read. */
|
||||
channel_set_nonblock(term->tl_job->jv_channel, PART_IN);
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
++curbuf->b_locked;
|
||||
apply_autocmds(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf);
|
||||
--curbuf->b_locked;
|
||||
#endif
|
||||
|
||||
if (old_curbuf != NULL)
|
||||
{
|
||||
--curbuf->b_nwindows;
|
||||
@@ -729,7 +739,7 @@ term_send_mouse(VTerm *vterm, int button, int pressed)
|
||||
VTermModifier mod = VTERM_MOD_NONE;
|
||||
|
||||
vterm_mouse_move(vterm, mouse_row - W_WINROW(curwin),
|
||||
mouse_col - W_WINCOL(curwin), mod);
|
||||
mouse_col - curwin->w_wincol, mod);
|
||||
vterm_mouse_button(vterm, button, pressed, mod);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1307,7 +1317,7 @@ send_keys_to_term(term_T *term, int c, int typed)
|
||||
case K_MOUSERIGHT:
|
||||
if (mouse_row < W_WINROW(curwin)
|
||||
|| mouse_row >= (W_WINROW(curwin) + curwin->w_height)
|
||||
|| mouse_col < W_WINCOL(curwin)
|
||||
|| mouse_col < curwin->w_wincol
|
||||
|| mouse_col >= W_ENDCOL(curwin)
|
||||
|| dragging_outside)
|
||||
{
|
||||
@@ -1790,23 +1800,38 @@ color2index(VTermColor *color, int fg, int *boldp)
|
||||
{
|
||||
if (red == blue && red == green)
|
||||
{
|
||||
/* 24-color greyscale */
|
||||
/* 24-color greyscale plus white and black */
|
||||
static int cutoff[23] = {
|
||||
0x05, 0x10, 0x1B, 0x26, 0x31, 0x3C, 0x47, 0x52,
|
||||
0x5D, 0x68, 0x73, 0x7F, 0x8A, 0x95, 0xA0, 0xAB,
|
||||
0xB6, 0xC1, 0xCC, 0xD7, 0xE2, 0xED, 0xF9};
|
||||
0x0D, 0x17, 0x21, 0x2B, 0x35, 0x3F, 0x49, 0x53, 0x5D, 0x67,
|
||||
0x71, 0x7B, 0x85, 0x8F, 0x99, 0xA3, 0xAD, 0xB7, 0xC1, 0xCB,
|
||||
0xD5, 0xDF, 0xE9};
|
||||
int i;
|
||||
|
||||
if (red < 5)
|
||||
return 17; /* 00/00/00 */
|
||||
if (red > 245) /* ff/ff/ff */
|
||||
return 232;
|
||||
for (i = 0; i < 23; ++i)
|
||||
if (red < cutoff[i])
|
||||
return i + 233;
|
||||
return 256;
|
||||
}
|
||||
{
|
||||
static int cutoff[5] = {0x2F, 0x73, 0x9B, 0xC3, 0xEB};
|
||||
int ri, gi, bi;
|
||||
|
||||
/* 216-color cube */
|
||||
return 17 + ((red + 25) / 0x33) * 36
|
||||
+ ((green + 25) / 0x33) * 6
|
||||
+ (blue + 25) / 0x33;
|
||||
/* 216-color cube */
|
||||
for (ri = 0; ri < 5; ++ri)
|
||||
if (red < cutoff[ri])
|
||||
break;
|
||||
for (gi = 0; gi < 5; ++gi)
|
||||
if (green < cutoff[gi])
|
||||
break;
|
||||
for (bi = 0; bi < 5; ++bi)
|
||||
if (blue < cutoff[bi])
|
||||
break;
|
||||
return 17 + ri * 36 + gi * 6 + bi;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1907,6 +1932,10 @@ handle_moverect(VTermRect dest, VTermRect src, void *user)
|
||||
clear_attr);
|
||||
}
|
||||
}
|
||||
|
||||
term->tl_dirty_row_start = MIN(term->tl_dirty_row_start, dest.start_row);
|
||||
term->tl_dirty_row_end = MIN(term->tl_dirty_row_end, dest.end_row);
|
||||
|
||||
redraw_buf_later(term->tl_buffer, NOT_VALID);
|
||||
return 1;
|
||||
}
|
||||
@@ -2215,6 +2244,12 @@ term_update_window(win_T *wp)
|
||||
screen = vterm_obtain_screen(vterm);
|
||||
state = vterm_obtain_state(vterm);
|
||||
|
||||
if (wp->w_redr_type >= NOT_VALID)
|
||||
{
|
||||
term->tl_dirty_row_start = 0;
|
||||
term->tl_dirty_row_end = MAX_ROW;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the window was resized a redraw will be triggered and we get here.
|
||||
* Adjust the size of the vterm unless 'termsize' specifies a fixed size.
|
||||
@@ -2250,8 +2285,8 @@ term_update_window(win_T *wp)
|
||||
vterm_state_get_cursorpos(state, &pos);
|
||||
position_cursor(wp, &pos);
|
||||
|
||||
/* TODO: Only redraw what changed. */
|
||||
for (pos.row = 0; pos.row < wp->w_height; ++pos.row)
|
||||
for (pos.row = term->tl_dirty_row_start; pos.row < term->tl_dirty_row_end
|
||||
&& pos.row < wp->w_height; ++pos.row)
|
||||
{
|
||||
int off = screen_get_current_line_off();
|
||||
int max_col = MIN(wp->w_width, term->tl_cols);
|
||||
@@ -2334,6 +2369,8 @@ term_update_window(win_T *wp)
|
||||
screen_line(wp->w_winrow + pos.row, wp->w_wincol,
|
||||
pos.col, wp->w_width, FALSE);
|
||||
}
|
||||
term->tl_dirty_row_start = MAX_ROW;
|
||||
term->tl_dirty_row_end = 0;
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -2425,16 +2462,17 @@ static VTermColor ansi_table[16] = {
|
||||
};
|
||||
|
||||
static int cube_value[] = {
|
||||
0x00, 0x33, 0x66, 0x99, 0xCC, 0xFF,
|
||||
0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF
|
||||
};
|
||||
|
||||
static int grey_ramp[] = {
|
||||
0x00, 0x0B, 0x16, 0x21, 0x2C, 0x37, 0x42, 0x4D, 0x58, 0x63, 0x6E, 0x79,
|
||||
0x85, 0x90, 0x9B, 0xA6, 0xB1, 0xBC, 0xC7, 0xD2, 0xDD, 0xE8, 0xF3, 0xFF,
|
||||
0x08, 0x12, 0x1C, 0x26, 0x30, 0x3A, 0x44, 0x4E, 0x58, 0x62, 0x6C, 0x76,
|
||||
0x80, 0x8A, 0x94, 0x9E, 0xA8, 0xB2, 0xBC, 0xC6, 0xD0, 0xDA, 0xE4, 0xEE
|
||||
};
|
||||
|
||||
/*
|
||||
* Convert a cterm color number 0 - 255 to RGB.
|
||||
* This is compatible with xterm.
|
||||
*/
|
||||
static void
|
||||
cterm_color2rgb(int nr, VTermColor *rgb)
|
||||
|
||||
@@ -25,23 +25,17 @@ SCRIPTS_ALL = \
|
||||
test28.out \
|
||||
test29.out \
|
||||
test31.out \
|
||||
test33.out \
|
||||
test34.out \
|
||||
test36.out \
|
||||
test37.out \
|
||||
test38.out \
|
||||
test39.out \
|
||||
test40.out \
|
||||
test41.out \
|
||||
test42.out \
|
||||
test43.out \
|
||||
test44.out \
|
||||
test45.out \
|
||||
test48.out \
|
||||
test53.out \
|
||||
test55.out \
|
||||
test56.out \
|
||||
test57.out \
|
||||
test60.out \
|
||||
test64.out \
|
||||
test66.out \
|
||||
|
||||
@@ -78,11 +78,11 @@ SCRIPT = test1.out test3.out test4.out test5.out \
|
||||
test14.out test15.out \
|
||||
test19.out test20.out \
|
||||
test28.out test29.out test30.out test31.out test32.out \
|
||||
test33.out test34.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test41.out test42.out \
|
||||
test43.out test44.out test45.out \
|
||||
test48.out test49.out test53.out test54.out \
|
||||
test55.out test56.out test57.out test60.out \
|
||||
test34.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test42.out \
|
||||
test44.out test45.out \
|
||||
test48.out test49.out test54.out \
|
||||
test55.out test60.out \
|
||||
test64.out \
|
||||
test66.out test68.out test69.out \
|
||||
test72.out \
|
||||
|
||||
@@ -10,9 +10,9 @@ Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
|
||||
test18.out test19.out test20.out test21.out
|
||||
test25.out test27.out
|
||||
test28.out test29.out test30.out test31.out test32.out
|
||||
test33.out test34.out test36.out test37.out
|
||||
test38.out test39.out test40.out test41.out test42.out
|
||||
test43.out test44.out test45.out test46.out test47.out
|
||||
test34.out test36.out test37.out
|
||||
test38.out test39.out test40.out test42.out
|
||||
test44.out test45.out test46.out test47.out
|
||||
test48.out test49.out test74.out
|
||||
|
||||
ScriptsGUI = test16.out
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
" Functions shared by several tests.
|
||||
|
||||
" Only load this script once.
|
||||
if exists('*WaitFor')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Get the name of the Python executable.
|
||||
" Also keeps it in s:python.
|
||||
func PythonProg()
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
Test for 'lisp'
|
||||
If the lisp feature is not enabled, this will fail!
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:set lisp
|
||||
/^(defun
|
||||
=G:/^(defun/,$w! test.out
|
||||
:q!
|
||||
ENDTEST
|
||||
|
||||
(defun html-file (base)
|
||||
(format nil "~(~A~).html" base))
|
||||
|
||||
(defmacro page (name title &rest body)
|
||||
(let ((ti (gensym)))
|
||||
`(with-open-file (*standard-output*
|
||||
(html-file ,name)
|
||||
:direction :output
|
||||
:if-exists :supersede)
|
||||
(let ((,ti ,title))
|
||||
(as title ,ti)
|
||||
(with center
|
||||
(as h2 (string-upcase ,ti)))
|
||||
(brs 3)
|
||||
,@body))))
|
||||
|
||||
;;; Utilities for generating links
|
||||
|
||||
(defmacro with-link (dest &rest body)
|
||||
`(progn
|
||||
(format t "<a href=\"~A\">" (html-file ,dest))
|
||||
,@body
|
||||
(princ "</a>")))
|
||||
@@ -1,23 +0,0 @@
|
||||
(defun html-file (base)
|
||||
(format nil "~(~A~).html" base))
|
||||
|
||||
(defmacro page (name title &rest body)
|
||||
(let ((ti (gensym)))
|
||||
`(with-open-file (*standard-output*
|
||||
(html-file ,name)
|
||||
:direction :output
|
||||
:if-exists :supersede)
|
||||
(let ((,ti ,title))
|
||||
(as title ,ti)
|
||||
(with center
|
||||
(as h2 (string-upcase ,ti)))
|
||||
(brs 3)
|
||||
,@body))))
|
||||
|
||||
;;; Utilities for generating links
|
||||
|
||||
(defmacro with-link (dest &rest body)
|
||||
`(progn
|
||||
(format t "<a href=\"~A\">" (html-file ,dest))
|
||||
,@body
|
||||
(princ "</a>")))
|
||||
@@ -1,24 +0,0 @@
|
||||
Test for writing and reading a file of over 100 Kbyte
|
||||
|
||||
1 line: "This is the start"
|
||||
3001 lines: "This is the leader"
|
||||
1 line: "This is the middle"
|
||||
3001 lines: "This is the trailer"
|
||||
1 line: "This is the end"
|
||||
|
||||
STARTTEST
|
||||
:%d
|
||||
aThis is the start
|
||||
This is the leader
|
||||
This is the middle
|
||||
This is the trailer
|
||||
This is the endkY3000p2GY3000p
|
||||
:w! Xtest
|
||||
:%d
|
||||
:e! Xtest
|
||||
:.w! test.out
|
||||
3003G:.w >>test.out
|
||||
6005G:.w >>test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
This is the start
|
||||
This is the middle
|
||||
This is the end
|
||||
@@ -1,34 +0,0 @@
|
||||
Tests for regexp with various magic settings.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:set nocompatible viminfo+=nviminfo
|
||||
/^1
|
||||
/a*b\{2}c\+/e
|
||||
x/\Md\*e\{2}f\+/e
|
||||
x:set nomagic
|
||||
/g\*h\{2}i\+/e
|
||||
x/\mj*k\{2}l\+/e
|
||||
x/\vm*n{2}o+/e
|
||||
x/\V^aa$
|
||||
x:set magic
|
||||
/\v(a)(b)\2\1\1/e
|
||||
x/\V[ab]\(\[xy]\)\1
|
||||
x:$
|
||||
:set undolevels=100
|
||||
dv?bar?
|
||||
Yup:"
|
||||
:?^1?,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
1 a aa abb abbccc
|
||||
2 d dd dee deefff
|
||||
3 g gg ghh ghhiii
|
||||
4 j jj jkk jkklll
|
||||
5 m mm mnn mnnooo
|
||||
6 x ^aa$ x
|
||||
7 (a)(b) abbaa
|
||||
8 axx [ab]xx
|
||||
9 foobar
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user