Compare commits

...

45 Commits

Author SHA1 Message Date
Bram Moolenaar
6f9a476b2f patch 8.0.0656: cannot use ! after some user commands
Problem:    Cannot use ! after some user commands.
Solution:   Properly check for existing command. (Higashi Higashi)
2017-06-22 20:39:17 +02:00
Bram Moolenaar
d6abcd154c patch 8.0.0655: not easy to make sure a function does not exist
Problem:    Not easy to make sure a function does not exist.
Solution:   Add ! as an optional argument to :delfunc.
2017-06-22 19:15:24 +02:00
Bram Moolenaar
663bb23316 patch 8.0.0654: no warning for text after :endfunction
Problem:    Text found after :endfunction is silently ignored.
Solution:   Give a warning if 'verbose' is set.  When | or \n are used,
            execute the text as a command.
2017-06-22 19:12:10 +02:00
Bram Moolenaar
c768a208ca patch 8.0.0653: the default highlight for QuickFixLine is not good
Problem:    The default highlight for QuickFixLine does not work for several
            color schemes. (Manas Thakur)
Solution:   Make the default use the old color. (closes #1780)
2017-06-22 16:04:27 +02:00
Bram Moolenaar
383aa84c0d patch 8.0.0652: unicode information is outdated
Problem:    Unicode information is outdated.
Solution:   Update to Unicode 10. (Christian Brabandt)
2017-06-22 15:27:37 +02:00
Bram Moolenaar
157069b04e patch 8.0.0651: build failure without the auto command feature
Problem:    Build failure without the auto command feature.
Solution:   Add #ifdef. (closes #1782)
2017-06-22 14:56:12 +02:00
Bram Moolenaar
868831f122 patch 8.0.0650: for extra help files the filetype is set more than once
Problem:    For extra help files the filetype is set more than once.
Solution:   In *.txt files check that there is no help file modline.
2017-06-22 14:47:22 +02:00
Bram Moolenaar
9049298f8d patch 8.0.0649: when opening a help file the filetype is set several times
Problem:    When opening a help file the filetype is set several times.
Solution:   When setting the filetype to the same value from a modeline, don't
            trigger FileType autocommands.  Don't set the filetype to "help"
            when it's already set correctly.
2017-06-22 14:16:31 +02:00
Bram Moolenaar
fadacf01d0 patch 8.0.0648: possible use of NULL pointer
Problem:    Possible use of NULL pointer if buflist_new() returns NULL.
            (Coverity)
Solution:   Check for NULL pointer in set_bufref().
2017-06-19 20:35:32 +02:00
Bram Moolenaar
06f1ed2f78 patch 8.0.0647: syntax highlighting can make cause a freeze
Problem:    Syntax highlighting can make cause a freeze.
Solution:   Apply 'redrawtime' to syntax highlighting, per window.
2017-06-18 22:41:03 +02:00
Bram Moolenaar
0946326580 patch 8.0.0646: the hlsearch test fails on fast systems
Problem:    The hlsearch test fails on fast systems.
Solution:   Make the search pattern slower.  Fix that the old regexp engine
            doesn't timeout properly.
2017-06-17 20:55:06 +02:00
Bram Moolenaar
1ef9bbe215 patch 8.0.0645: no error for illegal back reference in NFA engine
Problem:    The new regexp engine does not give an error for using a back
            reference where it is not allowed. (Dominique Pelle)
Solution:   Check the back reference like the old engine. (closes #1774)
2017-06-17 20:08:20 +02:00
Bram Moolenaar
5b1affefd0 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Problem:    There is no test for 'hlsearch' timing out.
Solution:   Add a test.
2017-06-17 19:13:49 +02:00
Bram Moolenaar
fbd0b0af68 patch 8.0.0643: when a pattern search is slow Vim becomes unusable
Problem:    When 'hlsearch' is set and matching with the last search pattern
            is very slow, Vim becomes unusable.  Cannot quit search by
            pressing CTRL-C.
Solution:   When the search times out set a flag and don't try again.  Check
            for timeout and CTRL-C in NFA loop that adds states.
2017-06-17 18:44:21 +02:00
Bram Moolenaar
8cf91286ca patch 8.0.0642: writefile() continues after detecting an error
Problem:    writefile() continues after detecting an error.
Solution:   Bail out as soon as an error is detected. (suggestions by Nikolai
            Pavlov, closes #1476)
2017-06-13 19:38:37 +02:00
Bram Moolenaar
3ec574f2b5 Update runtime files.
Includes changing &sw to shiftwidth() for all indent scripts.
2017-06-13 18:12:01 +02:00
Bram Moolenaar
2102035488 patch 8.0.0641: cannot set a separate highlighting for the quickfix line
Problem:    Cannot set a separate highlighting for the current line in the
            quickfix window.
Solution:   Add QuickFixLine. (anishsane, closes #1755)
2017-06-13 17:21:04 +02:00
Bram Moolenaar
83064068ea patch 8.0.0640: mismatch between help and actual message
Problem:    Mismatch between help and actual message for ":syn conceal".
Solution:   Change the message to match the help. (Ken Takata)
2017-06-13 16:34:54 +02:00
Bram Moolenaar
9a48961d8b patch 8.0.0639: the cursor position is set when editing a new commit message
Problem:    The cursor position is set to the last position in a new commit
            message.
Solution:   Don't set the position if the filetype matches "commit".
            (Christian Brabandt)
2017-06-13 16:12:51 +02:00
Bram Moolenaar
d7383881c8 patch 8.0.0638: cannot build with new MSVC version
Problem:    Cannot build with new MSVC version VS2017.
Solution:   Change the compiler arguments. (Leonardo Manera, closes #1731,
            closes #1747)
2017-06-13 15:22:12 +02:00
Bram Moolenaar
21b34b63b3 patch 8.0.0637: crash when using some version of GTK 3
Problem:    Crash when using some version of GTK 3.
Solution:   Add #ifdefs around incrementing the menu index. (Kazunobu
            Kuriyama)
2017-06-13 14:34:01 +02:00
Bram Moolenaar
56f2db562d patch 8.0.0636: when reading the undo file fails may use uninitialized data
Problem:    When reading the undo file fails may use uninitialized data.
Solution:   Always clear the buffer on failure.
2017-06-11 23:09:15 +02:00
Bram Moolenaar
3a429efb62 patch 8.0.0635: when 'ignorecase' is set script detection is inaccurate
Problem:    When 'ignorecase' is set script detection is inaccurate.
Solution:   Enforce matching case for text. (closes #1753)
2017-06-11 17:10:32 +02:00
Bram Moolenaar
875feea6ce patch 8.0.0634: cannot easily get to the last quickfix list
Problem:    Cannot easily get to the last quickfix list.
Solution:   Add "$" as a value for the "nr" argument of getqflist() and
            setqflist(). (Yegappan Lakshmanan)
2017-06-11 16:07:51 +02:00
Bram Moolenaar
60964f6874 patch 8.0.0633: the client-server test is still a bit flaky
Problem:    The client-server test is still a bit flaky.
Solution:   Wait a bit for the GUI to start.  Check that the version number
            can be obtained.
2017-06-10 17:06:16 +02:00
Bram Moolenaar
1c13c0fe3e patch 8.0.0632: the quotestar test is still a bit flaky
Problem:    The quotestar test is still a bit flaky.
Solution:   Kill any existing server to make the retry work.  Wait for the
            register to be filled.
2017-06-10 16:30:32 +02:00
Bram Moolenaar
fa4161cb0c patch 8.0.0631: can't build with Perl 5.26
Problem:    Perl 5.26 also needs S_TOPMARK and S_POPMARK defined.
Solution:   Define the functions when needed. (Jesin, closes #1748)
2017-06-10 15:46:23 +02:00
Bram Moolenaar
f84b122a99 patch 8.0.0630: it is not easy to work on lines without a match
Problem:    The :global command does not work recursively, which makes it
            difficult to execute a command on a line where one pattern matches
            and another does not match. (Miles Cranmer)
Solution:   Allow for recursion if it is for only one line. (closes #1760)
2017-06-10 14:29:52 +02:00
Bram Moolenaar
6b1da3312e patch 8.0.0629: checking for ambigous width is not working
Problem:    Checking for ambigous width is not working. (Hirohito Higashi)
Solution:   Reset "starting" earlier.
2017-06-09 21:35:47 +02:00
Bram Moolenaar
f085f4266e patch 8.0.0628: cursor disappears after silent mapping
Problem:    Cursor disappears after silent mapping. (Ramel Eshed)
Solution:   Do restore the cursor when it was changed, but don't change it in
            the first place for a silent mapping.
2017-06-07 20:39:47 +02:00
Bram Moolenaar
add8dce38d patch 8.0.0627: "gn" selects only one character with 'nowrapscan'
Problem:    When 'wrapscan' is off "gn" does not select the whole pattern when
            it's the last one in the text. (KeyboardFire)
Solution:   Check if the search fails. (Christian Brabandt, closes #1683)
2017-06-05 19:56:04 +02:00
Bram Moolenaar
e21d69eec1 patch 8.0.0626: in the GUI the cursor may flicker
Problem:    In the GUI the cursor may flicker.
Solution:   Check the cmd_silent flag before updating the cursor shape.
            (Hirohito Higashi, closes #1637)
2017-06-05 19:32:32 +02:00
Bram Moolenaar
206155280d patch 8.0.0625: shellescape() always escapes a newline
Problem:    shellescape() always escapes a newline, which does not work with
            some shells. (Harm te Hennepe)
Solution:   Only escape a newline when the "special" argument is non-zero.
            (Christian Brabandt, closes #1590)
2017-06-05 18:46:26 +02:00
Bram Moolenaar
6c95fbc9ae patch 8.0.0624: warning for unused variable in tiny build
Problem:    Warning for unused variable in tiny build. (Tony Mechelynck)
Solution:   Add an #ifdef.
2017-06-05 17:53:37 +02:00
Bram Moolenaar
966e58e413 patch 8.0.0623: error for invalid regexp is not very informative
Problem:    The message "Invalid range" is used for multiple errors.
Solution:   Add two more specific error messages. (Itchyny, Ken Hamada)
2017-06-05 16:54:08 +02:00
Bram Moolenaar
c5e2b040b4 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Problem:    Using a text object to select quoted text fails when 'selection'
            is set to "exclusive". (Guraga)
Solution:   Swap cursor and visual start position. (Christian Brabandt,
            closes #1687)
2017-06-05 16:37:07 +02:00
Bram Moolenaar
8ad80dea08 patch 8.0.0621: :stag does not respect 'switchbuf'
Problem:    The ":stag" command does not respect 'switchbuf'.
Solution:   Check 'switchbuf' for tag commands that may open a new window.
            (Ingo Karkat, closes #1681)  Define macros for the return values
            of getfile().
2017-06-05 16:01:59 +02:00
Bram Moolenaar
b463e8d999 patch 8.0.0620: checking for HAVE_GTK_MULTIHEAD is not needed
Problem:    Since we only support GTK versions that have it, the ckeck for
            HAVE_GTK_MULTIHEAD is no longer needed.
Solution:   Remove HAVE_GTK_MULTIHEAD. (Kazunobu Kuriyama)
2017-06-05 15:07:09 +02:00
Bram Moolenaar
6aa8cea46d Update runtime files. 2017-06-05 14:44:35 +02:00
Bram Moolenaar
9472eec83c patch 8.0.0619: GUI gets stuck if timer uses feedkeys()
Problem:    In the GUI, when a timer uses feedkeys(), it still waits for an
            event. (Raymond Ko)
Solution:   Check tb_change_cnt in one more place.
2017-06-05 13:31:56 +02:00
Bram Moolenaar
bb7943b792 patch 8.0.0618: NFA regex engine handles [0-z] incorrectly
Problem:    NFA regex engine handles [0-z] incorrectly.
Solution:   Return at the right point. (James McCoy, closes #1703)
2017-06-05 13:30:06 +02:00
Bram Moolenaar
763209c57b patch 8.0.0617: hardcopy test hangs on MS-Windows
Problem:    Hardcopy test hangs on MS-Windows.
Solution:   Check the postscript feature is supported.
2017-06-04 21:40:36 +02:00
Bram Moolenaar
1615b36b91 patch 8.0.0616: not always setting 'background' correctly after :hi Normal
Problem:    When setting the cterm background with ":hi Normal" the value of
            'background' may be set wrongly.
Solution:   Check that the color is less than 16.  Don't set 'background' when
            it was set explicitly. (Lemonboy, closes #1710)
2017-06-04 21:06:09 +02:00
Bram Moolenaar
bf15b8d78b patch 8.0.0615: using % with :hardcopy wrongly escapes spaces
Problem:    Using % with :hardcopy wrongly escapes spaces. (Alexey Muranov)
Solution:   Expand % differently. (Christian Brabandt, closes #1682)
2017-06-04 20:43:48 +02:00
Bram Moolenaar
863e80b445 patch 8.0.0614: float2nr() is not exactly right
Problem:    float2nr() is not exactly right.
Solution:   Make float2nr() more accurate.  Turn test64 into a new style test.
            (Hirohito Higashi, closes #1688)
2017-06-04 20:30:00 +02:00
159 changed files with 2701 additions and 1778 deletions

View File

@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2017 Apr 12
" Last change: 2017 Jun 13
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@@ -106,12 +106,13 @@ if has("autocmd")
au!
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
" Don't do it when the position is invalid, when inside an event handler
" (happens when dropping a file on gvim) and for a commit message (it's
" likely a different one than last time).
autocmd BufReadPost *
\ if line("'\"") >= 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
\ | exe "normal! g`\""
\ | endif
augroup END

View File

@@ -10,11 +10,11 @@ Arabic Language support (options & mappings) for Vim *Arabic*
*E800*
In order to use right-to-left and Arabic mapping support, it is
necessary to compile VIM with the |+arabic| feature.
necessary to compile Vim with the |+arabic| feature.
These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org>
It is best to view this file with these settings within VIM's GUI: >
It is best to view this file with these settings within Vim's GUI: >
:set encoding=utf-8
:set arabicshape
@@ -42,7 +42,7 @@ the user interface remains the standard Vi interface.
Highlights
----------
o Editing left-to-right files as in the original VIM hasn't changed.
o Editing left-to-right files as in the original Vim hasn't changed.
o Viewing and editing files in right-to-left windows. File
orientation is per window, so it is possible to view the same
@@ -52,7 +52,7 @@ o No special terminal with right-to-left capabilities is required.
The right-to-left changes are completely hardware independent.
Only Arabic fonts are necessary.
o Compatible with the original VIM. Almost all features work in
o Compatible with the original Vim. Almost all features work in
right-to-left mode (there are liable to be bugs).
o Changing keyboard mapping and reverse insert modes using a single
@@ -66,14 +66,14 @@ o While in Arabic mode, numbers are entered from left to right. Upon
o Arabic keymapping on the command line in reverse insert mode.
o Proper Bidirectional functionality is possible given VIM is
o Proper Bidirectional functionality is possible given Vim is
started within a Bidi capable terminal emulator.
Arabic Fonts *arabicfonts*
------------
VIM requires monospaced fonts of which there are many out there.
Vim requires monospaced fonts of which there are many out there.
Arabic requires ISO-8859-6 as well as Presentation Form-B fonts
(without Form-B, Arabic will _NOT_ be usable). It is highly
recommended that users search for so-called 'ISO-10646-1' fonts.
@@ -96,13 +96,13 @@ o Installation of fonts for X Window systems (Unix/Linux)
Usage
-----
Prior to the actual usage of Arabic within VIM, a number of settings
Prior to the actual usage of Arabic within Vim, a number of settings
need to be accounted for and invoked.
o Setting the Arabic fonts
+ For VIM GUI set the 'guifont' to your_ARABIC_FONT. This is done
by entering the following command in the VIM window.
+ For Vim GUI set the 'guifont' to your_ARABIC_FONT. This is done
by entering the following command in the Vim window.
>
:set guifont=your_ARABIC_FONT
<
@@ -115,7 +115,7 @@ o Setting the Arabic fonts
you can include ':set guifont=your_ARABIC_FONT' to your .vimrc
file.
+ Under the X Window environment, you can also start VIM with
+ Under the X Window environment, you can also start Vim with
'-fn your_ARABIC_FONT' option.
o Setting the appropriate character Encoding
@@ -124,7 +124,7 @@ o Setting the appropriate character Encoding
>
:set encoding=utf-8
<
to your .vimrc file (entering the command manually into you VIM
to your .vimrc file (entering the command manually into you Vim
window is highly discouraged). In short, include ':set
encoding=utf-8' to your .vimrc file.
@@ -137,11 +137,11 @@ o Setting the appropriate character Encoding
o Enable Arabic settings [short-cut]
In order to simplify and streamline things, you can either invoke
VIM with the command-line option,
Vim with the command-line option,
% vim -A my_utf8_arabic_file ...
or enable 'arabic' via the following command within VIM
or enable 'arabic' via the following command within Vim
>
:set arabic
<
@@ -189,7 +189,7 @@ o Enable Arabic settings [short-cut]
>
:set keymap=arabic
<
in your VIM window. You can also append the 'keymap' set command to
in your Vim window. You can also append the 'keymap' set command to
your .vimrc file. In other words, you can include ':set keymap=arabic'
to your .vimrc file.
@@ -202,7 +202,7 @@ o Enable Arabic settings [short-cut]
+ Arabic deletion of a combined pair character
By default VIM has the 'delcombine' option disabled. This option
By default Vim has the 'delcombine' option disabled. This option
allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
and still retain the LAM (i.e. it reverts to treating the combined
character as its natural two characters form -- this also pertains
@@ -211,13 +211,13 @@ o Enable Arabic settings [short-cut]
>
:set delcombine
<
in our VIM window. You can also append the 'delcombine' set command
in our Vim window. You can also append the 'delcombine' set command
to your .vimrc file. In other words, you can include ':set delcombine'
to your .vimrc file.
+ Arabic right-to-left Mode
By default VIM starts in Left-to-right mode. 'rightleft' is the
By default Vim starts in Left-to-right mode. 'rightleft' is the
command that allows one to alter a window's orientation - that can
be accomplished via,
@@ -253,7 +253,7 @@ o Enable Arabic settings [short-cut]
>
:set arabicshape
<
in our VIM window. You can also append the 'arabicshape' set
in our Vim window. You can also append the 'arabicshape' set
command to your .vimrc file. In other words, you can include
':set arabicshape' to your .vimrc file.
@@ -261,7 +261,7 @@ o Enable Arabic settings [short-cut]
Keymap/Keyboard *arabickeymap*
---------------
The character/letter encoding used in VIM is the standard UTF-8.
The character/letter encoding used in Vim is the standard UTF-8.
It is widely discouraged that any other encoding be used or even
attempted.
@@ -294,7 +294,7 @@ o Keyboard
Restrictions
------------
o VIM in its GUI form does not currently support Bi-directionality
o Vim in its GUI form does not currently support Bi-directionality
(i.e. the ability to see both Arabic and Latin intermixed within
the same line).

View File

@@ -610,7 +610,7 @@ FileChangedShell When Vim notices that the modification time of
|timestamp|
Mostly triggered after executing a shell
command, but also with a |:checktime| command
or when Gvim regains input focus.
or when gvim regains input focus.
This autocommand is triggered for each changed
file. It is not used when 'autoread' is set
and the buffer was not changed. If a

View File

@@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.0. Last change: 2016 Dec 02
*channel.txt* For Vim version 8.0. Last change: 2017 Jun 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -489,6 +489,11 @@ If you want to handle both stderr and stdout with one handler use the
"callback" option: >
let job = job_start(command, {"callback": "MyHandler"})
Depending on the system, starting a job can put Vim in the background, the
started job gets the focus. To avoid that, use the `foreground()` function.
This might not always work when called early, put in the callback handler or
use a timer to call it after the job has started.
You can send a message to the command with ch_evalraw(). If the channel is in
JSON or JS mode you can use ch_evalexpr().

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.0. Last change: 2017 May 02
*eval.txt* For Vim version 8.0. Last change: 2017 Jun 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3373,6 +3373,7 @@ did_filetype() Returns |TRUE| when autocommands are being executed and the
FileType event has been triggered at least once. Can be used
to avoid triggering the FileType event again in the scripts
that detect the file type. |FileType|
Returns |FALSE| when `:setf FALLBACK` was used.
When editing another file, the counter is reset, thus this
really checks if the FileType event has been triggered for the
current buffer. This allows an autocommand that starts
@@ -4586,12 +4587,16 @@ getqflist([{what}]) *getqflist()*
following string items are supported in {what}:
context get the context stored with |setqflist()|
nr get information for this quickfix list; zero
means the current quickfix list
means the current quickfix list and '$' means
the last quickfix list
title get the list title
winid get the |window-ID| (if opened)
all all of the above quickfix properties
Non-string items in {what} are ignored.
If "nr" is not present then the current quickfix list is used.
To get the number of lists in the quickfix stack, set 'nr' to
'$' in {what}. The 'nr' value in the returned dictionary
contains the quickfix stack size.
In case of error processing {what}, an empty dictionary is
returned.
@@ -5460,7 +5465,10 @@ line({expr}) The result is a Number, which is the line number of the file
< *last-position-jump*
This autocommand jumps to the last known position in a file
just after opening it, if the '" mark is set: >
:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
:au BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
\ | exe "normal! g`\""
\ | endif
line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
@@ -6990,7 +6998,9 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
argument is ignored. The following items can be specified in
{what}:
context any Vim type can be stored as a context
nr list number in the quickfix stack
nr list number in the quickfix stack; zero
means the current quickfix list and '$' means
the last quickfix list
title quickfix list title text
Unsupported keys in {what} are ignored.
If the "nr" item is not present, then the current quickfix list
@@ -7094,18 +7104,22 @@ shellescape({string} [, {special}]) *shellescape()*
quotes within {string}.
Otherwise it will enclose {string} in single quotes and
replace all "'" with "'\''".
When the {special} argument is present and it's a non-zero
Number or a non-empty String (|non-zero-arg|), then special
items such as "!", "%", "#" and "<cword>" will be preceded by
a backslash. This backslash will be removed again by the |:!|
command.
The "!" character will be escaped (again with a |non-zero-arg|
{special}) when 'shell' contains "csh" in the tail. That is
because for csh and tcsh "!" is used for history replacement
even when inside single quotes.
The <NL> character is also escaped. With a |non-zero-arg|
{special} and 'shell' containing "csh" in the tail it's
With a |non-zero-arg| {special} the <NL> character is also
escaped. When 'shell' containing "csh" in the tail it's
escaped a second time.
Example of use with a |:!| command: >
:exe '!dir ' . shellescape(expand('<cfile>'), 1)
< This results in a directory listing for the file under the
@@ -8750,18 +8764,32 @@ See |:verbose-cmd| for more information.
implies that the effect of |:nohlsearch| is undone
when the function returns.
*:endf* *:endfunction* *E126* *E193*
:endf[unction] The end of a function definition. Must be on a line
by its own, without other commands.
*:endf* *:endfunction* *E126* *E193* *E946*
:endf[unction] [argument]
The end of a function definition. Best is to put it
on a line by its own, without [argument].
[argument] can be:
| command command to execute next
\n command command to execute next
" comment always ignored
anything else ignored, unless 'verbose' is
non-zero
The support for a following command was added in Vim
8.0.0654, before that any argument was silently
ignored.
*:delf* *:delfunction* *E130* *E131* *E933*
:delf[unction] {name} Delete function {name}.
:delf[unction][!] {name}
Delete function {name}.
{name} can also be a |Dictionary| entry that is a
|Funcref|: >
:delfunc dict.init
< This will remove the "init" entry from "dict". The
function is deleted if there are no more references to
it.
With the ! there is no error if the function does not
exist.
*:retu* *:return* *E133*
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
evaluated and returned as the result of the function.

View File

@@ -116,7 +116,7 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
then "gnat xref -v *.ad?"
4) Project manager support is completely broken - don't even try "gnat xref
-Padacl.gpr".
5) VIM is faster when the tags file is sorted - use "sort --unique
5) Vim is faster when the tags file is sorted - use "sort --unique
--ignore-case --output=tags tags" .
6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
the file assorted.

View File

@@ -6,7 +6,7 @@
Introduction *hangul*
------------
It is to input hangul, the Korean language, with VIM GUI version.
It is to input hangul, the Korean language, with Vim GUI version.
If you have a XIM program, you can use another |+xim| feature.
Basically, it is for anybody who has no XIM program.
@@ -31,7 +31,7 @@ You should set LANG variable to Korean locale such as ko, ko_KR.eucKR
or ko_KR.UTF-8.
If you set LC_ALL variable, it should be set to Korean locale also.
VIM resource
Vim resource
------------
You may want to set 'encoding' and 'fileencodings'.
Next are examples: >
@@ -53,12 +53,12 @@ If both are set, VIM_KEYBOARD has higher priority.
Hangul Fonts
------------
If you use GTK version of GVIM, you should set 'guifont' and 'guifontwide'.
If you use GTK version of gvim, you should set 'guifont' and 'guifontwide'.
For example: >
set guifont=Courier\ 12
set guifontwide=NanumGothicCoding\ 12
If you use Motif or Athena version of GVIM, you should set 'guifontset' in
If you use Motif or Athena version of gvim, you should set 'guifontset' in
your vimrc. You can set fontset in the .Xdefaults file.
$HOME/.gvimrc: >
@@ -77,11 +77,11 @@ $HOME/.Xdefaults: >
attention! the , (comma) or ; (semicolon)
And there should be no ':set guifont'. If it exists, then Gvim ignores
':set guifontset'. It means VIM runs without fontset supporting.
And there should be no ':set guifont'. If it exists, then gvim ignores
':set guifontset'. It means Vim runs without fontset supporting.
So, you can see only English. Hangul does not be correctly displayed.
After "fontset" feature is enabled, VIM does not allow using english
After "fontset" feature is enabled, Vim does not allow using english
font only in "font" setting for syntax.
For example, if you use >
:set guifontset=eng_font,your_font
@@ -99,7 +99,7 @@ We don't support Johab font.
We don't support Hanja input.
And We don't have any plan to support them.
If you really need such features, you can use console version of VIM with a
If you really need such features, you can use console version of Vim with a
capable terminal emulator.
Bug or Comment

View File

@@ -31,7 +31,7 @@ Get specific help: It is possible to go directly to whatever you want help
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
------------------------------------------------------------------------------
*doc-file-list* *Q_ct*

View File

@@ -41,9 +41,9 @@ instance), code similar to the following should be used:
$vim = new Win32::OLE 'Vim.Application';
[C#] >
// Add a reference to VIM in your project.
// Add a reference to Vim in your project.
// Choose the COM tab.
// Select "VIM Ole Interface 1.1 Type Library"
// Select "Vim Ole Interface 1.1 Type Library"
Vim.Vim vimobj = new Vim.Vim();
Vim does not support acting as a "hidden" OLE server, like some other OLE

View File

@@ -7,7 +7,7 @@
Perl and Vim *perl* *Perl*
1. Editing Perl files |perl-editing|
2. Compiling VIM with Perl interface |perl-compiling|
2. Compiling Vim with Perl interface |perl-compiling|
3. Using the Perl interface |perl-using|
4. Dynamic loading |perl-dynamic|
@@ -33,7 +33,7 @@ Vim in the $VIMRUNTIME/tools directory. This script has currently more
features than Exuberant ctags' Perl support.
==============================================================================
2. Compiling VIM with Perl interface *perl-compiling*
2. Compiling Vim with Perl interface *perl-compiling*
To compile Vim with Perl interface, you need Perl 5.004 (or later). Perl must
be installed before you compile Vim. Vim's Perl interface does NOT work with

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.0. Last change: 2017 Apr 07
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -634,13 +634,13 @@ Completion can be done for:
10. User defined completion |i_CTRL-X_CTRL-U|
11. omni completion |i_CTRL-X_CTRL-O|
12. Spelling suggestions |i_CTRL-X_s|
13. keywords in 'complete' |i_CTRL-N|
13. keywords in 'complete' |i_CTRL-N| |i_CTRL-P|
All these (except 2) are done in CTRL-X mode. This is a sub-mode of Insert
and Replace modes. You enter CTRL-X mode by typing CTRL-X and one of the
CTRL-X commands. You exit CTRL-X mode by typing a key that is not a valid
CTRL-X mode command. Valid keys are the CTRL-X command itself, CTRL-N (next),
and CTRL-P (previous).
All these, except CTRL-N and CTRL-P, are done in CTRL-X mode. This is a
sub-mode of Insert and Replace modes. You enter CTRL-X mode by typing CTRL-X
and one of the CTRL-X commands. You exit CTRL-X mode by typing a key that is
not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself,
CTRL-N (next), and CTRL-P (previous).
Also see the 'infercase' option if you want to adjust the case of the match.

View File

@@ -84,8 +84,8 @@ The Vim pages contain the most recent information about Vim. They also
contain links to the most recent version of Vim. The FAQ is a list of
Frequently Asked Questions. Read this if you have problems.
VIM home page: http://www.vim.org/
VIM FAQ: http://vimdoc.sf.net/
Vim home page: http://www.vim.org/
Vim FAQ: http://vimdoc.sf.net/
Downloading: ftp://ftp.vim.org/pub/vim/MIRRORS

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.0. Last change: 2017 Mar 10
*map.txt* For Vim version 8.0. Last change: 2017 May 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -185,7 +185,7 @@ that starts with ",". Then you need to type another character for Vim to know
whether to use the "," mapping or the longer one. To avoid this add the
<nowait> argument. Then the mapping will be used when it matches, Vim does
not wait for more characters to be typed. However, if the characters were
already type they are used.
already typed they are used.
*:map-<silent>* *:map-silent*
To define a mapping which will not be echoed on the command line, add
@@ -798,7 +798,7 @@ Bear in mind that convert-meta has been reported to have troubles when used in
UTF-8 locales. On terminals like xterm, the "metaSendsEscape" resource can be
toggled on the fly through the "Main Options" menu, by pressing Ctrl-LeftClick
on the terminal; that's a good last resource in case you want to send ESC when
using other applications but not when inside VIM.
using other applications but not when inside Vim.
1.11 MAPPING AN OPERATOR *:map-operator*

View File

@@ -120,7 +120,7 @@ In case you do not want the NetBeans interface you can disable it by
uncommenting a line with "--disable-netbeans" in the Makefile.
Currently the NetBeans interface is supported by Vim running in a terminal and
by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows,
Athena and Motif.
If Motif support is required the user must supply XPM libraries. See
@@ -996,7 +996,7 @@ to "Vim". In the Expert tab make sure the "Vim Command" is correct.
You should be careful if you change the "Vim Command". There are command
line options there which must be there for the connection to be properly
set up. You can change the command name but that's about it. If your gvim
can be found by your $PATH then the VIM Command can start with "gvim". If
can be found by your $PATH then the Vim Command can start with "gvim". If
you don't want gvim searched from your $PATH then hard code in the full
Unix path name. At this point you should get a gvim for any source file
you open in NetBeans.

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.0. Last change: 2017 May 08
*options.txt* For Vim version 8.0. Last change: 2017 Jun 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -370,7 +370,7 @@ Note: In the future more global options can be made global-local. Using
Setting the filetype
:setf[iletype] {filetype} *:setf* *:setfiletype*
:setf[iletype] [FALLBACK] {filetype} *:setf* *:setfiletype*
Set the 'filetype' option to {filetype}, but only if
not done yet in a sequence of (nested) autocommands.
This is short for: >
@@ -380,6 +380,13 @@ Setting the filetype
< This command is used in a filetype.vim file to avoid
setting the 'filetype' option twice, causing different
settings and syntax files to be loaded.
When the optional FALLBACK argument is present, a
later :setfiletype command will override the
'filetype'. This is to used for filetype detections
that are just a guess. |did_filetype()| will return
false after this command.
{not in Vi}
*option-window* *optwin*
@@ -3515,6 +3522,9 @@ A jump table for the options with a short description can be found at |Q_op|.
:s///gg subst. all subst. one
NOTE: This option is reset when 'compatible' is set.
DEPRECATED: Setting this option may break plugins that are not aware
of this option. Also, many users get confused that adding the /g flag
has the opposite effect of that it normally does.
*'grepformat'* *'gfm'*
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
@@ -4030,7 +4040,9 @@ A jump table for the options with a short description can be found at |Q_op|.
D:DiffDelete,T:DiffText,>:SignColumn,
B:SpellBad,P:SpellCap,R:SpellRare,
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
x:PmenuSbar,X:PmenuThumb")
x:PmenuSbar,X:PmenuThumb,*:TabLine,
#:TabLineSel,_:TabLineFill,!:CursorColumn,
.:CursorLine,o:ColorColumn,q:QuickFixLine")
global
{not in Vi}
This option can be used to set highlighting mode for various
@@ -5933,10 +5945,14 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with the |+reltime|
feature}
The time in milliseconds for redrawing the display. This applies to
searching for patterns for 'hlsearch' and |:match| highlighting.
searching for patterns for 'hlsearch', |:match| highlighting an syntax
highlighting.
When redrawing takes more than this many milliseconds no further
matches will be highlighted. This is used to avoid that Vim hangs
when using a very complicated pattern.
matches will be highlighted.
For syntax highlighting the time applies per window. When over the
limit syntax highlighting is disabled until |CTRL-L| is used.
This is used to avoid that Vim hangs when using a very complicated
pattern.
*'regexpengine'* *'re'*
'regexpengine' 're' number (default 0)
@@ -7735,6 +7751,7 @@ A jump table for the options with a short description can be found at |Q_op|.
compatible terminal.
If setting this option does not work (produces a colorless UI)
reading |xterm-true-color| might help.
Note that the "cterm" attributes are still used, not the "gui" ones.
NOTE: This option is reset when 'compatible' is set.
*'terse'* *'noterse'*

View File

@@ -144,7 +144,7 @@ The default value for $VIM is set at compile time and can be determined with >
:version
The normal value is /boot/home/config/share/vim. If you don't like it you can
set the VIM environment variable to override this, or set 'helpfile' in your
set the Vim environment variable to override this, or set 'helpfile' in your
.vimrc: >
:if version >= 500

View File

@@ -539,7 +539,7 @@ More info under :help hardcopy
8.10 Setting up the symbols
When I use GVIM this way and press CTRL-Y in the parent terminal, gvim exits.
When I use gvim this way and press CTRL-Y in the parent terminal, gvim exits.
I now use a different symbol that seems to work OK and fixes the problem.
I suggest this instead: >
@@ -547,7 +547,7 @@ I suggest this instead: >
The /INPUT=NLA0: separates the standard input of the gvim process from the
parent terminal, to block signals from the parent window.
Without the -GEOMETRY, the GVIM window size will be minimal and the menu
Without the -GEOMETRY, the gvim window size will be minimal and the menu
will be confused after a window-resize.
(Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)
@@ -764,14 +764,14 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
9. VMS related changes *vms-changes*
Version 7.4
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
Version 7.4
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
add _un_ at the beginning to keep the extension
- correct swap file name wildcard handling
- handle iconv usage correctly
- do not optimize on vax - otherwise it hangs compiling crypto files
- fileio.c fix the comment
- correct RealWaitForChar
- correct RealWaitForChar
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
- guard against crashes that are caused by mixed filenames

View File

@@ -135,7 +135,7 @@ you will need to get a version older than that.
6. Running under Windows 3.1 *win32-win3.1*
*win32s* *windows-3.1* *gui-w32s*
There was a special version of Gvim that runs under Windows 3.1 and 3.11.
There was a special version of gvim that runs under Windows 3.1 and 3.11.
Support was removed in patch 7.4.1363.
==============================================================================

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 8.0. Last change: 2017 Mar 29
*pattern.txt* For Vim version 8.0. Last change: 2017 Jun 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1076,12 +1076,16 @@ x A single character, with no special meaning, matches itself
":s/[/x/" searches for "[/x" and replaces it with nothing. It does
not search for "[" and replaces it with "x"!
*E944* *E945*
If the sequence begins with "^", it matches any single character NOT
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
- If two characters in the sequence are separated by '-', this is
shorthand for the full list of ASCII characters between them. E.g.,
"[0-9]" matches any decimal digit. Non-ASCII characters can be
used, but the character values must not be more than 256 apart.
"[0-9]" matches any decimal digit. If the starting character exceeds
the ending character, e.g. [c-a], E944 occurs. Non-ASCII characters
can be used, but the character values must not be more than 256 apart
in the old regexp engine. For example, searching by [\u3000-\u4000]
after setting re=1 emits a E945 error. Prepending \%#=2 will fix it.
- A character class expression is evaluated to the set of characters
belonging to that character class. The following character classes
are supported:

View File

@@ -9,7 +9,7 @@ Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including getscriptPlugin.vim, getscript.vim,
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
instead of "VIM". Like anything else that's free, getscript and its
instead of "Vim". Like anything else that's free, getscript and its
associated files are provided *as is* and comes with no warranty of
any kind, either expressed or implied. No guarantees of
merchantability. No guarantees of suitability for any purpose. By
@@ -68,7 +68,7 @@ Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
(edit GetLatestVimScripts.dat to install your own personal
list of desired plugins -- see |GetLatestVimScripts_dat|)
3. Windows:
vim getscript.vba
:so %

View File

@@ -99,25 +99,25 @@ If the option is empty, then vim will use the system default printer for
HPUX: hp-roman8,
EBCDIC: ebcdic-uk)
global
Sets the character encoding used when printing. This option tells VIM which
Sets the character encoding used when printing. This option tells Vim which
print character encoding file from the "print" directory in 'runtimepath' to
use.
This option will accept any value from |encoding-names|. Any recognized names
are converted to VIM standard names - see 'encoding' for more details. Names
not recognized by VIM will just be converted to lower case and underscores
are converted to Vim standard names - see 'encoding' for more details. Names
not recognized by Vim will just be converted to lower case and underscores
replaced with '-' signs.
If 'printencoding' is empty or VIM cannot find the file then it will use
'encoding' (if VIM is compiled with |+multi_byte| and it is set an 8-bit
encoding) to find the print character encoding file. If VIM is unable to find
If 'printencoding' is empty or Vim cannot find the file then it will use
'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
encoding) to find the print character encoding file. If Vim is unable to find
a character encoding file then it will use the "latin1" print character
encoding file.
When 'encoding' is set to a multi-byte encoding, VIM will try to convert
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
characters to the printing encoding for printing (if 'printencoding' is empty
then the conversion will be to latin1). Conversion to a printing encoding
other than latin1 will require VIM to be compiled with the |+iconv| feature.
other than latin1 will require Vim to be compiled with the |+iconv| feature.
If no conversion is possible then printing will fail. Any characters that
cannot be converted will be replaced with upside down question marks.
@@ -203,7 +203,7 @@ header is used when this option is empty.
'printmbcharset' 'pmbcs' string (default "")
global
Sets the CJK character set to be used when generating CJK output from
|:hardcopy|. The following predefined values are currently recognised by VIM:
|:hardcopy|. The following predefined values are currently recognised by Vim:
Value Description ~
Chinese GB_2312-80
@@ -270,7 +270,7 @@ Japanese text you would do the following; >
If 'printmbcharset' is not one of the above values then it is assumed to
specify a custom multi-byte character set and no check will be made that it is
compatible with the value for 'printencoding'. VIM will look for a file
compatible with the value for 'printencoding'. Vim will look for a file
defining the character set in the "print" directory in 'runtimepath'.
*pmbfn-option*
@@ -420,10 +420,10 @@ There are currently a number of limitations with PostScript printing:
possible to get all the characters in an encoding to print by installing a
new version of the Courier font family.
- Multi-byte support - Currently VIM will try to convert multi-byte characters
- Multi-byte support - Currently Vim will try to convert multi-byte characters
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
empty). Any characters that are not successfully converted are shown as
unknown characters. Printing will fail if VIM cannot convert the multi-byte
unknown characters. Printing will fail if Vim cannot convert the multi-byte
to the 8-bit encoding.
==============================================================================
@@ -434,11 +434,11 @@ you need to define your own PostScript font encoding vector. Details on how
to define a font encoding vector is beyond the scope of this help file, but
you can find details in the PostScript Language Reference Manual, 3rd Edition,
published by Addison-Wesley and available in PDF form at
http://www.adobe.com/. The following describes what you need to do for VIM to
http://www.adobe.com/. The following describes what you need to do for Vim to
locate and use your print character encoding.
i. Decide on a unique name for your encoding vector, one that does not clash
with any of the recognized or standard encoding names that VIM uses (see
with any of the recognized or standard encoding names that Vim uses (see
|encoding-names| for a list), and that no one else is likely to use.
ii. Copy $VIMRUNTIME/print/latin1.ps to the print subdirectory in your
'runtimepath' and rename it with your unique name.
@@ -446,23 +446,23 @@ iii. Edit your renamed copy of latin1.ps, replacing all occurrences of latin1
with your unique name (don't forget the line starting %%Title:), and
modify the array of glyph names to define your new encoding vector. The
array must have exactly 256 entries or you will not be able to print!
iv. Within VIM, set 'printencoding' to your unique encoding name and then
print your file. VIM will now use your custom print character encoding.
iv. Within Vim, set 'printencoding' to your unique encoding name and then
print your file. Vim will now use your custom print character encoding.
VIM will report an error with the resource file if you change the order or
Vim will report an error with the resource file if you change the order or
content of the first 3 lines, other than the name of the encoding on the line
starting %%Title: or the version number on the line starting %%Version:.
[Technical explanation for those that know PostScript - VIM looks for a file
[Technical explanation for those that know PostScript - Vim looks for a file
with the same name as the encoding it will use when printing. The file
defines a new PostScript Encoding resource called /VIM-name, where name is the
print character encoding VIM will use.]
print character encoding Vim will use.]
==============================================================================
5. PostScript CJK Printing *postscript-cjk-printing*
*E673* *E674* *E675*
VIM supports printing of Chinese, Japanese, and Korean files. Setting up VIM
Vim supports printing of Chinese, Japanese, and Korean files. Setting up Vim
to correctly print CJK files requires setting up a few more options.
Each of these countries has many standard character sets and encodings which
@@ -483,7 +483,7 @@ option allows you to specify different fonts to use when printing characters
which are syntax highlighted with the font styles normal, italic, bold and
bold-italic.
No CJK fonts are supplied with VIM. There are some free Korean, Japanese, and
No CJK fonts are supplied with Vim. There are some free Korean, Japanese, and
Traditional Chinese fonts available at:
http://examples.oreilly.com/cjkvinfo/adobe/samples/
@@ -498,7 +498,7 @@ CJK fonts can be large containing several thousand glyphs, and it is not
uncommon to find that they only contain a subset of a national standard. It
is not unusual to find the fonts to not include characters for codes in the
ASCII code range. If you find half-width Roman characters are not appearing
in your printout then you should configure VIM to use the Courier font the
in your printout then you should configure Vim to use the Courier font the
half-width ASCII characters with 'printmbfont'. If your font does not include
other characters then you will need to find another font that does.
@@ -506,7 +506,7 @@ Another issue with ASCII characters, is that the various national character
sets specify a couple of different glyphs in the ASCII code range. If you
print ASCII text using the national character set you may see some unexpected
characters. If you want true ASCII code printing then you need to configure
VIM to output ASCII characters for the ASCII code range with 'printmbfont'.
Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
It is possible to define your own multi-byte character set although this
should not be attempted lightly. A discussion on the process if beyond the
@@ -525,13 +525,13 @@ print job completing.
There are a number of possible causes as to why the printing may have failed:
- Wrong version of the prolog resource file. The prolog resource file
contains some PostScript that VIM needs to be able to print. Each version
of VIM needs one particular version. Make sure you have correctly installed
contains some PostScript that Vim needs to be able to print. Each version
of Vim needs one particular version. Make sure you have correctly installed
the runtime files, and don't have any old versions of a file called prolog
in the print directory in your 'runtimepath' directory.
- Paper size. Some PostScript printers will abort printing a file if they do
not support the requested paper size. By default VIM uses A4 paper. Find
not support the requested paper size. By default Vim uses A4 paper. Find
out what size paper your printer normally uses and set the appropriate paper
size with 'printoptions'. If you cannot find the name of the paper used,
measure a sheet and compare it with the table of supported paper sizes listed
@@ -668,7 +668,7 @@ complex print document creation.
N-UP PRINTING
The psnup utility takes an existing PostScript file generated from VIM and
The psnup utility takes an existing PostScript file generated from Vim and
convert it to an n-up version. The simplest way to create a 2-up printout is
to first create a PostScript file with: >
@@ -724,16 +724,16 @@ There are a couple of points to bear in mind:
==============================================================================
8. Formfeed Characters *printing-formfeed*
By default VIM does not do any special processing of |formfeed| control
characters. Setting the 'printoptions' formfeed item will make VIM recognize
By default Vim does not do any special processing of |formfeed| control
characters. Setting the 'printoptions' formfeed item will make Vim recognize
formfeed characters and continue printing the current line at the beginning
of the first line on a new page. The use of formfeed characters provides
rudimentary print control but there are certain things to be aware of.
VIM will always start printing a line (including a line number if enabled)
Vim will always start printing a line (including a line number if enabled)
containing a formfeed character, even if it is the first character on the
line. This means if a line starting with a formfeed character is the first
line of a page then VIM will print a blank page.
line of a page then Vim will print a blank page.
Since the line number is printed at the start of printing the line containing
the formfeed character, the remainder of the line printed on the new page
@@ -742,7 +742,7 @@ lines of a long line when wrap in 'printoptions' is enabled).
If the formfeed character is the last character on a line, then printing will
continue on the second line of the new page, not the first. This is due to
VIM processing the end of the line after the formfeed character and moving
Vim processing the end of the line after the formfeed character and moving
down a line to continue printing.
Due to the points made above it is recommended that when formfeed character

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.0. Last change: 2017 Mar 06
*quickfix.txt* For Vim version 8.0. Last change: 2017 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -472,7 +472,11 @@ keep its height, ignoring 'winheight' and 'equalalways'. You can change the
height manually (e.g., by dragging the status line above it with the mouse).
In the quickfix window, each line is one error. The line number is equal to
the error number. You can use ":.cc" to jump to the error under the cursor.
the error number. The current entry is highlighted with the QuickFixLine
highlighting. You can change it to your liking, e.g.: >
:hi QuickFixLine ctermbg=Yellow guibg=Yellow
You can use ":.cc" to jump to the error under the cursor.
Hitting the <Enter> key or double-clicking the mouse on a line has the same
effect. The file containing the error is opened in the window above the
quickfix window. If there already is a window for that file, it is used

View File

@@ -63,53 +63,53 @@ versions of 'emacs' in the late 1970's and was relieved by finding 'vi' in the
first UNIX I came across in 1983). In my opinion, it's about time 'VIM'
replace 'emacs' as the standard for top editors. (Bo Thide', Sweden)
I love and use VIM heavily too. (Larry Wall)
I love and use Vim heavily too. (Larry Wall)
Vi is like a Ferrari, if you're a beginner, it handles like a bitch, but once
you get the hang of it, it's small, powerful and FAST! (Unknown)
VIM is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
Vim is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
(Stephen Riehm, Germany)
Schon bei Nutzung eines Bruchteils der VIM-Funktionen wird der Benutzer recht
Schon bei Nutzung eines Bruchteils der Vim-Funktionen wird der Benutzer recht
schnell die Vorzuege dieses Editors kennen- und schaetzenlernen.
Translated: Even when only using a fraction of VIM-functions, the user will
Translated: Even when only using a fraction of Vim-functions, the user will
quickly get used to and appreciate the advantages of this editor. (Garry
Glendown, conclusion of an article on VIM in iX magazine 9/1998)
Glendown, conclusion of an article on Vim in iX magazine 9/1998)
I've recently acquired the O'Reilly book on VI (it also discusses VIM
I've recently acquired the O'Reilly book on Vi (it also discusses Vim
in-depth), and I'm amazed at just how powerful this application is. (Jeffrey
Rankin)
This guide was written using the Windows 9.x distribution of GVIM, which is
This guide was written using the Windows 9.x distribution of gvim, which is
quite possibly the greatest thing to come along since God created the naked
girl. (Michael DiBernardo)
Boy, I thought I knew almost everything about VIM, but every time I browse the
online documentation, I hit upon a minor but cool aspect of a VIM feature that
Boy, I thought I knew almost everything about Vim, but every time I browse the
online documentation, I hit upon a minor but cool aspect of a Vim feature that
I didn't know before! I must say the documentation is one the finest I've
ever seen in a product -- even better than most commercial products.
(Gautam Mudunuri)
VIM 4.5 is really a fantastic editor. It has sooooo many features and more
Vim 4.5 is really a fantastic editor. It has sooooo many features and more
importantly, the defaults are so well thought out that you really don't have
to change anything!! Words cannot express my amazement and gratitude to the
creators of VIM. Keep it up. (Vikas, USA)
creators of Vim. Keep it up. (Vikas, USA)
I wonder how long it will be before people will refer to other Vi editors as
VIM clones? (Darren Hiebert)
Vim clones? (Darren Hiebert)
I read about [auto-positioning-in-file-based-on-the-errors-from-make] in one
of those "Perfect Programmer's Editor" threads and was delighted to discover
that VIM already supports it. (Brendan Macmillan, Australia)
that Vim already supports it. (Brendan Macmillan, Australia)
I just discovered VIM (5.0) and I'm telling everyone I know about it!
I tell them VIM stands for VI for the new (M)illenium. Thanks so much!
I just discovered Vim (5.0) and I'm telling everyone I know about it!
I tell them Vim stands for Vi for the new (M)illenium. Thanks so much!
(Matt F. Valentine)
I think from now on "vi" should be called "Vim Imitation", not the other way
around. (Rungun Ramanathan)
The Law of VIM:
The Law of Vim:
For each member b of the possible behaviour space B of program P, there exists
a finite time t before which at least one user u in the total user space U of
program P will request b becomes a member of the allowed behaviour space B'
@@ -118,42 +118,42 @@ In other words: Sooner or later everyone wants everything as an option.
(Negri)
Whenever I move to a new computing platform, the first thing I do is to port
VIM. Lately, I am simply stunned by its ease of compilation using the
Vim. Lately, I am simply stunned by its ease of compilation using the
configure facility. (A.M. Sabuncu, Turkey)
The options are really excellent and very powerful. (Anish Maharaj)
The Spring user-interface designs are in, and word from the boutiques is that
80x24 text-only mode is back with a *vengeance! Vi editor clone VIM burst onto
80x24 text-only mode is back with a *vengeance! Vi editor clone Vim burst onto
March desk-tops with a dazzling show of pastel syntax highlights for its 5.0
look. Strident and customizable, VIM raises eyebrows with its interpretation
look. Strident and customizable, Vim raises eyebrows with its interpretation
of the classic Vi single-key macro collection.
http://www.ntk.net/index.cgi?back=archive98/now0327.txt&line=179#l
I just wanted to take this opportunity to let you know that VIM 5 ROCKS!
I just wanted to take this opportunity to let you know that Vim 5 ROCKS!
Syntax highlighting: how did I survive without it?! Thank you for creating
mankind's best editor! (Mun Johl, USA)
Thanks again for VIM. I use it every day on Linux. (Eric Foster-Johnson,
Thanks again for Vim. I use it every day on Linux. (Eric Foster-Johnson,
author of the book "UNIX Programming Tools")
The BEST EDITOR EVER (Stuart Woolford)
I have used most of VIM's fancy features at least once, many frequently, and I
I have used most of Vim's fancy features at least once, many frequently, and I
can honestly say that I couldn't live with anything less anymore. My
productivity has easily doubled compared to what it was when I used vi.
(Sitaram Chamarty)
I luv VIM. It is incredible. I'm naming my first-born Vimberly. (Jose
I luv Vim. It is incredible. I'm naming my first-born Vimberly. (Jose
Unpingco, USA)
Hint: "VIM" is "vi improved" - much better! (Sven Guckes, Germany)
Hint: "Vim" is "vi improved" - much better! (Sven Guckes, Germany)
I use VIM every day. I spend more time in VIM than in any other program...
I use Vim every day. I spend more time in Vim than in any other program...
It's the best vi clone there is. I think it's great. (Craig Sanders,
Australia)
I strongly advise using VIM--its infinite undo/redo saved me much grief.
I strongly advise using Vim--its infinite undo/redo saved me much grief.
(Terry Brown)
Thanks very much for writing what in my opinion is the finest text editor on
@@ -163,98 +163,98 @@ the planet. If I were to get another cat, I would name it "Vim".
I typed :set all and the screen FILLED up with options. A whole screen of
things to be set and unset. I saw some of my old friends like wrapmargin,
modelines and showmode, but the screen was FILLED with new friends! I love
them all! I love VIM! I'm so happy that I've found this editor! I feel
them all! I love Vim! I'm so happy that I've found this editor! I feel
like how I once felt when I started using vi after a couple of years of using
ed. I never thought I'd forsake my beloved ed, but vi ... oh god, vi was
great. And now, VIM. (Peter Jay Salzman, USA)
great. And now, Vim. (Peter Jay Salzman, USA)
I am really happy with such a wonderful software package. Much better than
almost any expensive, off the shelf program. (Jeff Walker)
Whenever I reread the VIM documentation I'm overcome with excitement at the
Whenever I reread the Vim documentation I'm overcome with excitement at the
power of the editor. (William Edward Webber, Australia)
Hurrah for VIM!! It is "at your fingertips" like vi, and has the extensions
Hurrah for Vim!! It is "at your fingertips" like vi, and has the extensions
that vi sorely needs: highlighting for executing commands on blocks, an easily
navigable and digestible help screen, and more. (Paul Pax)
The reason WHY I don't have this amazingly useful macro anymore, is that I
now use VIM - and this is built in!! (Stephen Riehm, Germany)
now use Vim - and this is built in!! (Stephen Riehm, Germany)
I am a user of VIM and I love it. I use it to do all my programming, C,
I am a user of Vim and I love it. I use it to do all my programming, C,
C++, HTML what ever. (Tim Allwine)
I discovered VIM after years of struggling with the original vi, and I just
I discovered Vim after years of struggling with the original vi, and I just
can't live without it anymore. (Emmanuel Mogenet, USA)
Emacs has not a bit of chance to survive so long as VIM is around. Besides,
Emacs has not a bit of chance to survive so long as Vim is around. Besides,
it also has the most detailed software documentation I have ever seen---much
better than most commercial software! (Leiming Qian)
This version of VIM will just blow people apart when they discover just how
This version of Vim will just blow people apart when they discover just how
fantastic it is! (Tony Nugent, Australia)
I took your advice & finally got VIM & I'm really impressed. Instant convert.
I took your advice & finally got Vim & I'm really impressed. Instant convert.
(Patrick Killelea, USA)
VIM is by far my favorite piece of shareware and I have been particularly
Vim is by far my favorite piece of shareware and I have been particularly
pleased with version 3.0. This is really a solid piece of work. (Robert
Colon, USA)
VIM is a joy to use, it is so well thought and practical that I wonder why
anybody would use visual development tools. VIM is powerful and elegant, it
Vim is a joy to use, it is so well thought and practical that I wonder why
anybody would use visual development tools. Vim is powerful and elegant, it
looks deceptively simple but is almost as complex as a 747 (especially when I
look at my growing .vimrc), keep up that wonderful job, VIM is a centerpiece
look at my growing .vimrc), keep up that wonderful job, Vim is a centerpiece
of the free software world. (Louis-David Mitterand, USA)
I cannot believe how great it is to use VIM. I think the guys at work are
I cannot believe how great it is to use Vim. I think the guys at work are
getting tired of hearing me bragging about it. Others eyes are lighting up.
(Rick Croote)
Emacs takes way too much time to start up and run, it is too big and bulky for
effective use and the interface is more confusing than it is of any help. VIM
effective use and the interface is more confusing than it is of any help. Vim
however is short, it is fast, it is powerful, it has a good interface and it
is all purpose. (Paal Ditlefsen Ekran)
From the first time I got VIM3.0, I was very enthusiastic. It has almost no
From the first time I got Vim3.0, I was very enthusiastic. It has almost no
problems. The swapfile handling and the backup possibilities are robust, also
the protection against editing one file twice. It is very compatible to the
real VI (and that is a MUST, because my brain is trained over years in using
it). (Gert van Antwerpen, Holland)
Visual mode in VIM is a very powerful thing! (Tony Nugent, Australia)
Visual mode in Vim is a very powerful thing! (Tony Nugent, Australia)
I have to say that VIM is =THE= single greatest piece of source code to ever
I have to say that Vim is =THE= single greatest piece of source code to ever
come across the net (Jim Battle, USA).
In fact, if you do want to get a new vi I'd suggest VIM-3.0. This is, by
In fact, if you do want to get a new vi I'd suggest Vim-3.0. This is, by
far, the best version of vi I've ever seen (Albert W. Schueller).
I should mention that VIM is a very good editor and can compete with anything
I should mention that Vim is a very good editor and can compete with anything
(Ilya Beloozerov).
To tell the truth sometimes I used elvis, vile, xvi, calvin, etc. And this is
the reason that I can state that VIM is the best! (Ferenc Deak, Hungary)
the reason that I can state that Vim is the best! (Ferenc Deak, Hungary)
VIM is by far the best editor that I have used in a long time, and I have
Vim is by far the best editor that I have used in a long time, and I have
looked at just about every thing that is available for every platform that I
use. VIM is the best on all of them. (Guy L. Oliver)
use. Vim is the best on all of them. (Guy L. Oliver)
VIM is the greatest editor since the stone chisel. (Jose Unpingco, USA)
Vim is the greatest editor since the stone chisel. (Jose Unpingco, USA)
I would like to say that with VIM I am finally making the 'emacs to vi'
I would like to say that with Vim I am finally making the 'emacs to vi'
transition - as an Editor it is so much better in many ways: keyboard layout,
memory usage, text alteration to name 3. (Mark Adam)
In fact, now if I want to know what a particular setting does in vi, I fire up
VIM and check out its help! (Nikhil Patel, USA)
Vim and check out its help! (Nikhil Patel, USA)
As a vi user, VIM has made working with text a far more pleasant task than
As a vi user, Vim has made working with text a far more pleasant task than
before I encountered this program. (Steinar Knutsen, Norway)
I use VIM since version 3.0. Since that time, it is the ONLY editor I use,
with Solaris, Linux and OS/2 Warp. I suggest all my friends to use VIM, they
try, and they continue using it. VIM is really the best software I have ever
I use Vim since version 3.0. Since that time, it is the ONLY editor I use,
with Solaris, Linux and OS/2 Warp. I suggest all my friends to use Vim, they
try, and they continue using it. Vim is really the best software I have ever
downloaded from the Internet, and the best editor I know of. (Marco
Eccettuato, Italy)

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.0. Last change: 2017 Feb 06
*repeat.txt* For Vim version 8.0. Last change: 2017 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -46,7 +46,7 @@ of area is used, see |visual-repeat|.
==============================================================================
2. Multiple repeats *multi-repeat*
*:g* *:global* *E147* *E148*
*:g* *:global* *E148*
:[range]g[lobal]/{pattern}/[cmd]
Execute the Ex command [cmd] (default ":p") on the
lines within [range] where {pattern} matches.
@@ -79,8 +79,15 @@ The default for [range] is the whole buffer (1,$). Use "CTRL-C" to interrupt
the command. If an error message is given for a line, the command for that
line is aborted and the global command continues with the next marked or
unmarked line.
*E147*
When the command is used recursively, it only works on one line. Giving a
range is then not allowed. This is useful to find all lines that match a
pattern and do not match another pattern: >
:g/found/v/notfound/{cmd}
This first finds all lines containing "found", but only executes {cmd} when
there is no match for "notfound".
To repeat a non-Ex command, you can use the ":normal" command: >
To execute a non-Ex command, you can use the `:normal` command: >
:g/pat/normal {commands}
Make sure that {commands} ends with a whole command, otherwise Vim will wait
for you to type the rest of the command for each match. The screen will not

View File

@@ -478,7 +478,7 @@ Vim uses a binary file format for spelling. This greatly speeds up loading
the word list and keeps it small.
*.aff* *.dic* *Myspell*
You can create a Vim spell file from the .aff and .dic files that Myspell
uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt
uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt
files are zip files which contain the .aff and .dic files. You should be able
to find them here:
http://extensions.services.openoffice.org/dictionary
@@ -1614,7 +1614,7 @@ COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE*
KEY (Hunspell) *spell-KEY*
Define characters that are close together on the keyboard.
Used to give better suggestions. Not supported.
LANG (Hunspell) *spell-LANG*
This specifies language-specific behavior. This actually
moves part of the language knowledge into the program,

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.0. Last change: 2017 Feb 06
*syntax.txt* For Vim version 8.0. Last change: 2017 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4812,10 +4812,11 @@ ctermbg={color-nr} *highlight-ctermbg*
Example: >
:highlight Normal ctermfg=grey ctermbg=darkblue
< When setting the "ctermbg" color for the Normal group, the
'background' option will be adjusted automatically. This causes the
highlight groups that depend on 'background' to change! This means
you should set the colors for Normal first, before setting other
colors.
'background' option will be adjusted automatically, under the
condition that the color is recognized and 'background' was not set
explicitly. This causes the highlight groups that depend on
'background' to change! This means you should set the colors for
Normal first, before setting other colors.
When a colorscheme is being used, changing 'background' causes it to
be reloaded, which may reset all colors (including Normal). First
delete the "g:colors_name" variable when you don't want this.

View File

@@ -4519,6 +4519,8 @@ E940 eval.txt /*E940*
E941 eval.txt /*E941*
E942 eval.txt /*E942*
E943 message.txt /*E943*
E944 pattern.txt /*E944*
E945 pattern.txt /*E945*
E95 message.txt /*E95*
E96 diff.txt /*E96*
E97 diff.txt /*E97*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.0. Last change: 2017 May 27
*todo.txt* For Vim version 8.0. Last change: 2017 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -112,30 +112,20 @@ Regexp problems:
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
(Marcin Szewczyk, 2017 Apr 26)
Patch for Murphy filetype detection. (Matthew Fernandez, 2017 May 17)
ZoomWin plugin ratings went down a lot. Bot problem? (Charles Campbell, 2017
May 18)
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
Lemonboy can reproduce (2017 Jun 5)
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
Patch to update 'runtimepath' earlier. (Ingo Karkat, 2017 May 5, #1680)
Patch to make float2nr() more accurate. (Hirohito Higashi, 2017 May 7, #1688)
Patch to make :hardcopy handle spaces correctly. (Christian Brabandt, 2017 May
7, #1682)
Add options_default() / options_restore() to set several options to Vim
defaults for a plugin. Comments from Zyx, 2017 May 10.
Perhaps use a vimcontext / endvimcontext command block.
Patch to recognize 'bg' detection. (Lemonboy, 2017 May 18, #1710)
Patch to recognize 1.0 as a whole as a float. (Yasuhiro Matsumoto, 2017 May
11)
Using freed memory with "qf" FileType autocommand that does :cclose.
(Lemonboy, 2017 May 28, #1730, fix in 1734, with test that doesn't fail, but
it fails when run manually) Add "starting" to test_override()?
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
@@ -144,13 +134,6 @@ case of :bwipe followed by :new.
Files for Latvian language. (Vitolins, 2017 May 3, #1675)
Adding a filetype in a "start" package is not picked up as expected.
(comment by Ingo Karkat, #1679)
Patch for a fix, Ingo Karkat, #1693.
Patch to fix character class detection in NFA engine.
(James McCoy, 2017 May 12, update May 24, #1703)
Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel
Drucker, 2017 May 8).
This was supposed to be fixed, did it break again somehow?
@@ -160,12 +143,10 @@ Better TeX indent file. (Christian Brabandt, 2017 May 3)
Openhab syntax file (mueller, #1678)
Followup patch for 8.0.0590 for "context" in locations. (Yegappan, 2017 May 4)
Use gvimext.dll from the nightly build? (Issue #249)
Patch to remove HAVE_GTK_MULTIHEAD-relevant code. (Kazunobu Kuriyama, 2017 May
5) Update May 11
'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
#1736)
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
8, #1690)
@@ -182,14 +163,6 @@ manager. Problem with Motif?
Bogus characters inserted when triggering indent while changing text.
(Vitor Antunes, 2016 Nov 22, #1269)
Patch to have ":stag" respect 'switchbuf'. (Ingo Karkat, 2017 May 5, #1681)
Wrong selection of quoted text (Guraga, #1687)
Patch to fix selection of quoted text. (Christian Brabandt, 2017 May 7, #1687)
Patch to use separate error message for regex range. (Itchyny, Ken Hamada,
2017 May 16)
Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668)
Check for "pat" to be NULL in search_for_exact_line()?
How did it get NULL? Comment by Christian, Apr 30.
@@ -197,17 +170,8 @@ How did it get NULL? Comment by Christian, Apr 30.
Is it possible to keep the complete menu open when calling complete()?
(Prabir Shrestha, 2017 May 19, #1713)
Calling may_req_ambiguous_char_width() and may_req_bg_color() only after
executing command line commands may not work properly.
Set "starting" to 0 earlier, and move the may_req calls above exe_commands()?
(Rastislav Barlink, 2017 May 18)
Memory leak in test97? The string is actually freed. Weird.
Patch for shellescape(). (Christian Brabandt, 2017 Apr 20, #1590)
Patch for flickering redraw. (Hirohito Higashi, 2017 Apr 23, #1637)
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
Add a toolbar in the terminal. Can be global, above all windows, or specific
@@ -219,18 +183,13 @@ Even better: add a way to disable a mapping temporarily and re-enable it
later. This is for a sub-mode that is active for a short while (one buffer).
Still need maplist() to find the mappings. What can we use to identify a
mapping? Something unique would be better than the LHS.
Perhaps simpler: actually delete the mappings. Use maplist() to list matching
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
maprestore() to restore (using the output of maplist().
Patch to support chinese wordcount in utf-8. (Rain, 2017 May 24, #1722)
Or not?
"gn" selects one character instead of the searched text. (keyboardfire, #1683)
Patch by Christian, 2017 May 7.
Wrong memory access using p_fdm, found in patch to add tests for diff mode
(#1658) (Dominique Pelle, 2017 May 6)
Patch to improve test coverage for diff mode. (Dominique Pelle, 2017 May 11,
#1685)
Add an argument to :mkvimrc (or add aother command) to skip mappings from
plugins (source is a Vim script). No need to put these in a .vimrc, they will
be defined when the plugin is loaded.
Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
tb_highlight(winid, 'ToolBar')
@@ -253,6 +212,7 @@ Also get E749 on exit.
Another example in #1309
Patch to change all use of &sw to shiftwidth(). (Tyru, 2017 Feb 19)
Takuya Fujiwara
Wait until maintainers integrate it.
When deleting a mark or register, leave a tombstone, so that it's also deleted
@@ -265,6 +225,10 @@ Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
Completion for :!cmd shows each match twice. #1435
Patch to change GUI behavior: instead of changing the window size change the
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
#703)
GTK: When adding a timer from 'balloonexpr' it won't fire, because
g_main_context_iteration() doesn't return. Need to trigger an event when the
timer expires.
@@ -358,6 +322,8 @@ Patch for wrong cursor position on wrapped line, involving breakindent.
(Ozaki Kiichi, 2016 Nov 25)
Does this also fix #1408 ?
Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
@@ -500,9 +466,6 @@ This does not work: :set cscopequickfix=a-
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
Patch to add separate highlighting for quickfix current line.
(anishsane, 2016 Sep 16, #1080)
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
Patch to improve map documentation. Issue #799.
@@ -539,6 +502,9 @@ Because of using the initial buffer? (Dun Peal, 2016 May 12)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
Patch to fix that an encoding conversion failure results in a corrupted or
empty file. (Christian Brabandt, #1765, https://github.com/chrisbra/vim-mq-patches/blob/master/conversion_error)
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
@@ -598,10 +564,6 @@ When command names are very long :command output is difficult to read. Use a
maximum for the column width? (#871)
Patcy by varmanishant, 2016 Jun 18, #876
Patch to change GUI behavior: instead of changing the window size change the
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
#703)
Installation of .desktop files does not work everywhere.
It's now fixed, but the target directory probably isn't right.
Add configure check?
@@ -720,7 +682,8 @@ Value of virtcol() for '[ and '] depend on multi-byte character.
(Luchr, #277)
Can we cache the syntax attributes, so that updates for 'relativenumber' and
'cursorline'/'cursorcolumn' are a lot faster?
'cursorline'/'cursorcolumn' are a lot faster? Thus store the attributes
before combining them.
C highlighting: modern C allows: /* comment */ #ifdef
and also line continuation after #include.
@@ -1035,8 +998,6 @@ Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
/[b-a] gives error E16, should probably be E769.
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
pixels remains when typing spaces in front of a "D" ('guifont' set to
"lucida_console:h8").

View File

@@ -191,7 +191,7 @@ mouse button. The selected text will be inserted.
The "current selection" will only remain valid until some other text is
selected. After doing the paste in the other gVim, now select some characters
in that window. You will notice that the words that were previously selected
in the other gVim window are displayed differently. This means that it no
in the other gvim window are displayed differently. This means that it no
longer is the current selection.
You don't need to select text with the mouse, using the keyboard commands for
@@ -215,7 +215,7 @@ USING BOTH
This use of both the "current selection" and the "real clipboard" might sound
a bit confusing. But it is very useful. Let's show this with an example.
Use one gVim with a text file and perform these actions:
Use one gvim with a text file and perform these actions:
- Select two words in Visual mode.
- Use the Edit/Copy menu to get these words onto the clipboard.

View File

@@ -9250,7 +9250,7 @@ Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
src/proto/quickfix.pro, src/quickfix.c
Patch 6.1.424 (extra)
Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show
Problem: Win32: gvim compiled with VC++ 7.0 run on Windows 95 does not show
menu items.
Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO.
(Muraoka Taro)
@@ -12319,7 +12319,7 @@ Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled.
Files: src/gui_w32.c
Patch 6.2.362 (extra, after 6.2.347)
Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts)
Problem: Win32: The manifest causes gvim not to work. (Dave Roberts)
Solution: Change "x86" to "X86". (Serge Pirotte)
Files: src/gvim.exe.mnf

View File

@@ -4151,7 +4151,7 @@ Patch 7.0.173
Problem: ":call f().TT()" doesn't work. (Richard Emberson)
Solution: When a function returns a Dictionary or another composite continue
evaluating what follows.
Files: src/eval.c
Files: src/eval.c
Patch 7.0.174
Problem: ":mksession" doesn't restore window layout correctly in tab pages
@@ -4265,7 +4265,7 @@ Problem: When 'swapfile' is switched off in an empty file it is possible
that not all blocks are loaded into memory, causing ml_get errors
later.
Solution: Rename "dont_release" to "mf_dont_release" and also use it to
avoid using the cached line and locked block.
avoid using the cached line and locked block.
Files: src/globals.h, src/memfile.c, src/memline.c
Patch 7.0.193
@@ -6031,7 +6031,7 @@ Solution: Add type casts. (Ben Schmidt)
Files: src/version.c
Patch 7.1.207
Problem: Netbeans: "remove" cannot delete one line.
Problem: Netbeans: "remove" cannot delete one line.
Solution: Remove partial lines and whole lines properly. Avoid a memory
leak. (Xavier de Gaye)
Files: src/netbeans.c
@@ -7991,7 +7991,7 @@ Files: src/ex_cmds.c
Patch 7.2.097
Problem: "!xterm&" doesn't work when 'shell' is "bash".
Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert)
Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert)
Files: src/os_unix.c
Patch 7.2.098
@@ -8740,7 +8740,7 @@ Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro,
src/ui.c
Patch 7.2.222
Problem: ":mksession" doesn't work properly with 'acd' set.
Problem: ":mksession" doesn't work properly with 'acd' set.
Solution: Make it work. (Yakov Lerner)
Files: src/ex_docmd.c
@@ -9150,7 +9150,7 @@ Solution: Add the missing "else". (Lech Lorens)
Files: src/ops.c
Patch 7.2.293
Problem: When setting 'comments' option it may be used in a wrong way.
Problem: When setting 'comments' option it may be used in a wrong way.
Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira)
Files: src/misc1.c
@@ -10191,32 +10191,32 @@ More information here: |two-engines|
Better Python interface *better-python-interface*
-----------------------
Added |python-bindeval| function. Unlike |python-eval| this one returns
|python-Dictionary|, |python-List| and |python-Function| objects for
dictionaries lists and functions respectively in place of their Python
Added |python-bindeval| function. Unlike |python-eval| this one returns
|python-Dictionary|, |python-List| and |python-Function| objects for
dictionaries lists and functions respectively in place of their Python
built-in equivalents (or None if we are talking about function references).
For simple types this function returns Python built-in types and not only
Python `str()` like |python-eval| does. On Python 3 it will return `bytes()`
For simple types this function returns Python built-in types and not only
Python `str()` like |python-eval| does. On Python 3 it will return `bytes()`
objects in place of `str()` ones avoiding possibility of UnicodeDecodeError.
Interface of new objects mimics standard Python `dict()` and `list()`
interfaces to some extent. Extent will be improved in the future.
Added special |python-vars| objects also available for |python-buffer| and
Added special |python-vars| objects also available for |python-buffer| and
|python-window|. They ease access to Vim script variables from Python.
Now you no longer need to alter `sys.path` to import your module: special
hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and
{rtp}/pythonx directories (for Python 2, Python 3 and both respectively).
Now you no longer need to alter `sys.path` to import your module: special
hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and
{rtp}/pythonx directories (for Python 2, Python 3 and both respectively).
See |python-special-path|.
Added possibility to work with |tabpage|s through |python-tabpage| object.
Added automatic conversion of Vim errors and exceptions to Python
Added automatic conversion of Vim errors and exceptions to Python
exceptions.
Changed the behavior of the |python-buffers| object: it now uses buffer numbers
as keys in place of the index of the buffer in the internal buffer list.
This should not break anything as the only way to get this index was
Changed the behavior of the |python-buffers| object: it now uses buffer numbers
as keys in place of the index of the buffer in the internal buffer list.
This should not break anything as the only way to get this index was
iterating over |python-buffers|.
Added |:pydo| and |:py3do| commands.
@@ -10226,7 +10226,7 @@ Added the |pyeval()| and |py3eval()| functions.
Now in all places which previously accepted `str()` objects, `str()` and
`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted.
|python-window| has gained `.col` and `.row` attributes that are currently
|python-window| has gained `.col` and `.row` attributes that are currently
the only way to get internal window positions.
Added or fixed support for `dir()` in Vim Python objects.
@@ -10235,12 +10235,12 @@ Added or fixed support for `dir()` in Vim Python objects.
Changed *changed-7.4*
-------
Old Python versions (≤2.2) are no longer supported. Building with them did
Old Python versions (≤2.2) are no longer supported. Building with them did
not work anyway.
Options:
Added ability to automatically save the selection into the system
clipboard when using non-GUI version of Vim (autoselectplus in
Added ability to automatically save the selection into the system
clipboard when using non-GUI version of Vim (autoselectplus in
'clipboard'). Also added ability to use the system clipboard as
default register (previously only primary selection could be used).
(Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)
@@ -10255,12 +10255,12 @@ Options:
'relativenumber'. (Christian Brabandt)
Commands:
|:diffoff| now saves the local values of some settings and restores
them in place of blindly resetting them to the defaults. (Christian
|:diffoff| now saves the local values of some settings and restores
them in place of blindly resetting them to the defaults. (Christian
Brabandt)
Other:
Lua interface now also uses userdata binded to Vim structures. (Taro
Lua interface now also uses userdata binded to Vim structures. (Taro
Muraoka, Luis Carvalho)
glob() and autocommand patterns used to work with the undocumented
@@ -10285,74 +10285,74 @@ Functions:
Added |wildmenumode()| function. (Christian Brabandt)
Debugging functions: |screenattr()|, |screenchar()|, |screencol()|,
Debugging functions: |screenattr()|, |screenchar()|, |screencol()|,
|screenrow()|. (Simon Ruderich, Bram Moolenaar)
Added ability to use |Dictionary-function|s for |sort()|ing, via
Added ability to use |Dictionary-function|s for |sort()|ing, via
optional third argument. (Nikolay Pavlov)
Added special |expand()| argument that expands to the current line
Added special |expand()| argument that expands to the current line
number.
Made it possible to force |char2nr()| to always give unicode codepoints
Made it possible to force |char2nr()| to always give unicode codepoints
regardless of current encoding. (Yasuhiro Matsumoto)
Made it possible for functions generating file list generate |List|
and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian
Made it possible for functions generating file list generate |List|
and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian
Brabandt)
Functions that obtain variables from the specific window, tabpage or
buffer scope dictionary can now return specified default value in
place of empty string in case variable is not found. (|gettabvar()|,
Functions that obtain variables from the specific window, tabpage or
buffer scope dictionary can now return specified default value in
place of empty string in case variable is not found. (|gettabvar()|,
|getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)
Autocommands:
Added |InsertCharPre| event launched before inserting character.
Added |InsertCharPre| event launched before inserting character.
(Jakson A. Aquino)
Added |CompleteDone| event launched after finishing completion in
Added |CompleteDone| event launched after finishing completion in
insert mode. (idea by Florian Klein)
Added |QuitPre| event launched when commands that can either close Vim
Added |QuitPre| event launched when commands that can either close Vim
or only some window(s) are launched.
Added |TextChanged| and |TextChangedI| events launched when text is
Added |TextChanged| and |TextChangedI| events launched when text is
changed.
Commands:
|:syntime| command useful for debugging.
Made it possible to remove all signs from the current buffer using
Made it possible to remove all signs from the current buffer using
|:sign-unplace|. (Christian Brabandt)
Added |:language| autocompletion. (Dominique Pelle)
Added more |:command-complete| completion types: |:behave| suboptions,
color schemes, compilers, |:cscope| suboptions, files from 'path',
|:history| suboptions, locale names, |:syntime| suboptions, user
Added more |:command-complete| completion types: |:behave| suboptions,
color schemes, compilers, |:cscope| suboptions, files from 'path',
|:history| suboptions, locale names, |:syntime| suboptions, user
names. (Dominique Pelle)
Added |:map-nowait| creating mapping which when having lhs that is the
prefix of another mappings lhs will not allow Vim to wait for user to
type more characters to resolve ambiguity, forcing Vim to take the
Added |:map-nowait| creating mapping which when having lhs that is the
prefix of another mappings lhs will not allow Vim to wait for user to
type more characters to resolve ambiguity, forcing Vim to take the
shorter alternative: one with <nowait>.
Options:
Made it possible to ignore case when completing: 'wildignorecase'.
Added ability to delete comment leader when using |J| by `j` flag in
Added ability to delete comment leader when using |J| by `j` flag in
'formatoptions' (|fo-table|). (Lech Lorens)
Added ability to control indentation inside namespaces: |cino-N|.
Added ability to control indentation inside namespaces: |cino-N|.
(Konstantin Lepa)
Added ability to control alignment inside `if` condition separately
Added ability to control alignment inside `if` condition separately
from alignment inside function arguments: |cino-k|. (Lech Lorens)
Other:
Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)
Added |v:windowid| variable containing current window number in GUI
Added |v:windowid| variable containing current window number in GUI
Vim. (Christian J. Robinson, Lech Lorens)
Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)
@@ -11923,7 +11923,7 @@ Solution: Pass the separator character to in_history(). (Taro Muraoka)
Files: src/ex_getln.c
Patch 7.3.266
Problem: In Gvim with iBus typing space in Insert mode doesn't work.
Problem: In gvim with iBus typing space in Insert mode doesn't work.
Solution: Clear xim_expected_char after checking it.
Files: src/mbyte.c
@@ -11938,7 +11938,7 @@ Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
Files: src/os_unix.c
Patch 7.3.269
Problem: 'shellcmdflag' only works with one flag.
Problem: 'shellcmdflag' only works with one flag.
Solution: Split into multiple arguments. (Gary Johnson)
Files: src/os_unix.c
@@ -13118,7 +13118,7 @@ Files: src/ops.c
Patch 7.3.477
Problem: Using ":echo" to output enough lines to scroll, then using "j" and
"k" at the more prompt, displays the command on top of the output.
(Marcin Szamotulski)
(Marcin Szamotulski)
Solution: Put the output below the command. (Christian Brabandt)
Files: src/eval.c
@@ -13371,7 +13371,7 @@ Solution: Recognize completefunction returning -3. (Matsushita Shougo)
Files: src/edit.c
Patch 7.3.520
Problem: Gvim starts up slow on Ubuntu 12.04.
Problem: gvim starts up slow on Ubuntu 12.04.
Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
Matsumoto) Do check $DISPLAY being set.
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
@@ -13424,7 +13424,7 @@ Solution: Make the count select that many characters or lines. (Christian
Files: src/normal.c
Patch 7.3.530 (after 7.3.520)
Problem: Gvim does not work when 'guioptions' includes "f". (Davido)
Problem: gvim does not work when 'guioptions' includes "f". (Davido)
Solution: Call gui_mch_init_check() when running GUI in the foreground.
(Yasuhiro Matsumoto)
Files: src/gui.c
@@ -14287,7 +14287,7 @@ Files: Filelist
Patch 7.3.682 (after 7.3.677)
Problem: Compiler complains about incompatible types.
Solution: Remove type casts. (hint by Danek Duvall)
Files: src/edit.c
Files: src/edit.c
Patch 7.3.683
Problem: ":python" may crash when vimbindeval() returns None.
@@ -16340,7 +16340,7 @@ Solution: Avoid negative argument to vim_strncpy(). (Narendran
Files: src/if_cscope.c
Patch 7.3.1039
Problem: New regexp engine does not support \%23c, \%<23c and the like.
Problem: New regexp engine does not support \%23c, \%<23c and the like.
Solution: Implement them. (partly by Yasuhiro Matsumoto)
Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
src/testdir/test64.ok
@@ -17552,9 +17552,9 @@ Solution: Specify a separate viminfo file.
Files: src/testdir/test61.in
Patch 7.3.1252
Problem: Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
Problem: gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
if the corresponding menu command contains additional characters
like the shortcut marker '&' or if you use a non-english locale.
like the shortcut marker '&' or if you use a non-english locale.
Solution: Use menu->en_dname or menu->dname. (Martin Gieseking)
Files: src/gui_w32.c
@@ -18175,7 +18175,7 @@ Files: src/window.c
Patch 7.4a.045
Problem: Configure does not always find the right library for Lua. Missing
support for LuaJit.
support for LuaJit.
Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki)
Files: src/Makefile, src/configure.in, src/auto/configure

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Jun 04
" Last Change: 2017 Jun 22
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -48,6 +48,9 @@ func! s:StarSetf(ft)
endif
endfunc
" Vim help file
au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
" Abaqus or Trasys
au BufNewFile,BufRead *.inp call s:Check_inp()
@@ -2253,6 +2256,8 @@ func! s:FTtex()
let format = tolower(matchstr(firstline, '\a\+'))
let format = substitute(format, 'pdf', '', '')
if format == 'tex'
let format = 'latex'
elseif format == 'plaintex'
let format = 'plain'
endif
else
@@ -2784,7 +2789,13 @@ au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
" Plain text files, needs to be far down to not override others. This avoids
" the "conf" type being used if there is a line starting with '#'.
au BufNewFile,BufRead *.txt,*.text,README setf text
au BufNewFile,BufRead *.text,README setf text
" Help files match *.txt but should have a last line that is a modeline.
au BufNewFile,BufRead *.txt
\ if getline('$') !~ 'vim:.*ft=help'
\| setf text
\| endif
" Use the filetype detect plugins. They may overrule any of the previously

View File

@@ -87,7 +87,7 @@ function s:MainBlockIndent (prev_indent, prev_lnum, blockstart, stop_at)
endwhile
endwhile
" Fallback - just move back one
return a:prev_indent - &sw
return a:prev_indent - shiftwidth()
endfunction MainBlockIndent
" Section: s:EndBlockIndent {{{1
@@ -131,7 +131,7 @@ function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend )
endwhile
endwhile
" Fallback - just move back one
return a:prev_indent - &sw
return a:prev_indent - shiftwidth()
endfunction EndBlockIndent
" Section: s:StatementIndent {{{1
@@ -213,15 +213,15 @@ function GetAdaIndent()
endif
" Move indent in
if ! false_match
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
elseif line =~ '^\s*\(case\|exception\)\>'
" Move indent in twice (next 'when' will move back)
let ind = ind + 2 * &sw
let ind = ind + 2 * shiftwidth()
elseif line =~ '^\s*end\s*record\>'
" Move indent back to tallying 'type' preceeding the 'record'.
" Allow indent to be equal to 'end record's.
let ind = s:MainBlockIndent( ind+&sw, lnum, 'type\>', '' )
let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' )
elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$'
" Revert to indent of line that started this parenthesis pair
exe lnum
@@ -235,10 +235,10 @@ function GetAdaIndent()
exe v:lnum
elseif line =~ '[.=(]\s*$'
" A statement continuation - move in one
let ind = ind + &sw
let ind = ind + shiftwidth()
elseif line =~ '^\s*new\>'
" Multiple line generic instantiation ('package blah is\nnew thingy')
let ind = s:StatementIndent( ind - &sw, lnum )
let ind = s:StatementIndent( ind - shiftwidth(), lnum )
elseif line =~ ';\s*$'
" Statement end (but not 'end' ) - try to find current statement-start indent
let ind = s:StatementIndent( ind, lnum )
@@ -256,17 +256,17 @@ function GetAdaIndent()
elseif continuation && line =~ '^\s*('
" Don't do this if we've already indented due to the previous line
if ind == initind
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
elseif line =~ '^\s*\(begin\|is\)\>'
let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' )
elseif line =~ '^\s*record\>'
let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + &sw
let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + shiftwidth()
elseif line =~ '^\s*\(else\|elsif\)\>'
let ind = s:MainBlockIndent( ind, lnum, 'if\>', '' )
elseif line =~ '^\s*when\>'
" Align 'when' one /in/ from matching block start
let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + &sw
let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + shiftwidth()
elseif line =~ '^\s*end\>\s*\<if\>'
" End of if statements
let ind = s:EndBlockIndent( ind, lnum, 'if\>', 'end\>\s*\<if\>' )

View File

@@ -60,7 +60,7 @@ function! GetAwkIndent()
" 'pattern { action }' (simple check match on /{/ increases the indent then)
if s:Get_brace_balance( prev_data, '{', '}' ) > 0
return ind + &sw
return ind + shiftwidth()
endif
let brace_balance = s:Get_brace_balance( prev_data, '(', ')' )
@@ -99,7 +99,7 @@ function! GetAwkIndent()
return s:Safe_indent( ind, s:First_word_len(prev_data), getline(v:lnum))
else
" if/for/while without '{'
return ind + &sw
return ind + shiftwidth()
endif
endif
endif
@@ -140,7 +140,7 @@ function! GetAwkIndent()
" Decrease indent if this line contains a '}'.
if getline(v:lnum) =~ '^\s*}'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -69,7 +69,7 @@ function! GetBstIndent(lnum) abort
endif
let fakeline = substitute(line,'^}','','').matchstr(cline,'^}')
let ind = indent(lnum)
let ind = ind + &sw * s:count(line,'{')
let ind = ind - &sw * s:count(fakeline,'}')
let ind = ind + shiftwidth() * s:count(line,'{')
let ind = ind - shiftwidth() * s:count(fakeline,'}')
return ind
endfunction

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Bazel (http://bazel.io)
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
" Last Change: 2015 Aug 11
" Last Change: 2017 Jun 13
if exists('b:did_indent')
finish
@@ -41,11 +41,8 @@ function GetBzlIndent(lnum) abort
if exists('g:pyindent_open_paren')
let l:pyindent_open_paren = g:pyindent_open_paren
endif
" Vim 7.3.693 and later defines a shiftwidth() function to get the effective
" shiftwidth value. Fall back to &shiftwidth if the function doesn't exist.
let l:sw_expr = exists('*shiftwidth') ? 'shiftwidth()' : '&shiftwidth'
let g:pyindent_nested_paren = l:sw_expr . ' * 2'
let g:pyindent_open_paren = l:sw_expr . ' * 2'
let g:pyindent_nested_paren = 'shiftwidth() * 2'
let g:pyindent_open_paren = 'shiftwidth() * 2'
endif
let l:indent = -1

View File

@@ -47,7 +47,7 @@ fun! CdlGetIndent(lnum)
let thisline = getline(a:lnum)
if match(thisline, '^\s*\(\k\+\|\[[^]]*]\)\s*\(,\|;\s*$\)') >= 0
" it's an attributes line
return &sw
return shiftwidth()
elseif match(thisline, '^\c\s*\([{}]\|\/[*/]\|dimension\|schedule\|group\|hierarchy\|class\)') >= 0
" it's a header or '{' or '}' or a comment
return 0
@@ -71,13 +71,13 @@ fun! CdlGetIndent(lnum)
let c = line[inicio-1]
" ')' and '=' don't change indent and are useless to set 'f'
if c == '{'
return &sw
return shiftwidth()
elseif c != ')' && c != '='
let f = 1 " all but 'elseif' are followed by a formula
if c ==? 'n' || c ==? 'e' " 'then', 'else'
let ind = ind + &sw
let ind = ind + shiftwidth()
elseif strpart(line, inicio-6, 6) ==? 'elseif' " elseif, set f to conditional
let ind = ind + &sw
let ind = ind + shiftwidth()
let f = 0
end
end
@@ -98,16 +98,16 @@ fun! CdlGetIndent(lnum)
let ind = 0
let f = 1
elseif c == ')' || c== ';' || strpart(line, inicio-5, 5) ==? 'endif'
let ind = ind - &sw
let ind = ind - shiftwidth()
elseif c == '(' || c ==? 'f' " '(' or 'if'
let ind = ind + &sw
let ind = ind + shiftwidth()
else " c == '='
" if it is an asignment increase indent
if f == -1 " we don't know yet, find out
let f = CdlAsignment(lnum, strpart(line, 0, inicio))
end
if f == 1 " formula increase it
let ind = ind + &sw
let ind = ind + shiftwidth()
end
end
endw
@@ -115,13 +115,13 @@ fun! CdlGetIndent(lnum)
" CURRENT LINE, if it starts with a closing element, decrease indent
" or if it starts with '=' (asignment), increase indent
if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0
let ind = ind - &sw
let ind = ind - shiftwidth()
elseif match(thisline, '^\s*=') >= 0
if f == -1 " we don't know yet if is an asignment, find out
let f = CdlAsignment(lnum, "")
end
if f == 1 " formula increase it
let ind = ind + &sw
let ind = ind + shiftwidth()
end
end

View File

@@ -31,19 +31,19 @@ function! GetChaiScriptIndent()
let flag = 0
let prevline = getline(lnum)
if prevline =~ '^.*{.*'
let ind = ind + &shiftwidth
let ind = ind + shiftwidth()
let flag = 1
endif
" Subtract a 'shiftwidth' after lines containing a { followed by a }
" to keep it balanced
if flag == 1 && prevline =~ '.*{.*}.*'
let ind = ind - &shiftwidth
let ind = ind - shiftwidth()
endif
" Subtract a 'shiftwidth' on lines ending with }
if getline(v:lnum) =~ '^\s*\%(}\)'
let ind = ind - &shiftwidth
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -261,7 +261,7 @@ if exists("*searchpairpos")
call cursor(paren)
if s:is_method_special_case(paren)
return [paren[0], paren[1] + &shiftwidth - 1]
return [paren[0], paren[1] + shiftwidth() - 1]
endif
if s:is_reader_conditional_special_case(paren)
@@ -299,19 +299,19 @@ if exists("*searchpairpos")
let ww = s:strip_namespace_and_macro_chars(w)
if &lispwords =~# '\V\<' . ww . '\>'
return [paren[0], paren[1] + &shiftwidth - 1]
return [paren[0], paren[1] + shiftwidth() - 1]
endif
if g:clojure_fuzzy_indent
\ && !s:match_one(g:clojure_fuzzy_indent_blacklist, ww)
\ && s:match_one(g:clojure_fuzzy_indent_patterns, ww)
return [paren[0], paren[1] + &shiftwidth - 1]
return [paren[0], paren[1] + shiftwidth() - 1]
endif
call search('\v\_s', 'cW')
call search('\v\S', 'W')
if paren[0] < line(".")
return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)]
return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : shiftwidth() - 1)]
endif
call search('\v\S', 'bW')

View File

@@ -68,19 +68,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

View File

@@ -52,11 +52,11 @@ function! s:optionalblock(lnum,ind,blocks,clauses)
if getline(lastclause) =~? clauses && s:stripped(lastclause) !~? '^'.begin
let ind = indent(lastclause)
elseif lastclause > 0
let ind = indent(lastclause) + &sw
"let ind = ind + &sw
let ind = indent(lastclause) + shiftwidth()
"let ind = ind + shiftwidth()
endif
elseif line =~? clauses && cline !~? end
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
return ind
endfunction
@@ -98,8 +98,8 @@ function! GetCobolIndent(lnum) abort
let num = matchstr(line,'^\s*\zs\d\+\>')
if 0+cnum == num
return lindent
elseif 0+cnum > num && default < lindent + &sw
let default = lindent + &sw
elseif 0+cnum > num && default < lindent + shiftwidth()
let default = lindent + shiftwidth()
endif
elseif lindent < bshft && lindent >= ashft
break
@@ -135,13 +135,13 @@ function! GetCobolIndent(lnum) abort
if line =~? '^PERFORM\>'
let perfline = substitute(line, '\c^PERFORM\s*', "", "")
if perfline =~? '^\%(\k\+\s\+TIMES\)\=\s*$'
let ind = ind + &sw
let ind = ind + shiftwidth()
elseif perfline =~? '^\%(WITH\s\+TEST\|VARYING\|UNTIL\)\>.*[^.]$'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
endif
if line =~? '^\%(IF\|THEN\|ELSE\|READ\|EVALUATE\|SEARCH\|SELECT\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
let ind = s:optionalblock(a:lnum,ind,'ADD\|COMPUTE\|DIVIDE\|MULTIPLY\|SUBTRACT','ON\s\+SIZE\s\+ERROR')
let ind = s:optionalblock(a:lnum,ind,'STRING\|UNSTRING\|ACCEPT\|DISPLAY\|CALL','ON\s\+OVERFLOW\|ON\s\+EXCEPTION')
@@ -157,10 +157,10 @@ function! GetCobolIndent(lnum) abort
"&& s:stripped(lastclause) !~? '^\%(SEARCH\|EVALUATE\|READ\)\>'
let ind = indent(lastclause)
elseif lastclause > 0
let ind = indent(lastclause) + &sw
let ind = indent(lastclause) + shiftwidth()
endif
elseif line =~? '^WHEN\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
"I'm not sure why I had this
"if line =~? '^ELSE\>-\@!' && line !~? '\.$'
@@ -168,7 +168,7 @@ function! GetCobolIndent(lnum) abort
"endif
if cline =~? '^\(END\)\>-\@!'
" On lines with just END, 'guess' a simple shift left
let ind = ind - &sw
let ind = ind - shiftwidth()
elseif cline =~? '^\(END-IF\|THEN\|ELSE\)\>-\@!'
call cursor(a:lnum,indent(a:lnum))
let match = searchpair('\c-\@<!\<IF\>','\c-\@<!\%(THEN\|ELSE\)\>','\c-\@<!\<END-IF\>\zs','bnW',s:skip)
@@ -209,7 +209,7 @@ function! GetCobolIndent(lnum) abort
if match > 0
let ind = indent(match)
elseif cline =~? '^\(END-\(READ\|EVALUATE\|SEARCH\|PERFORM\)\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
return ind < bshft ? bshft : ind

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2016 Aug 29
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -27,7 +27,7 @@ function! GetCucumberIndent()
let line = getline(prevnonblank(v:lnum-1))
let cline = getline(v:lnum)
let nline = getline(nextnonblank(v:lnum+1))
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
let sw = exists('*shiftwidth') ? shiftwidth() : shiftwidth()
let syn = s:syn(prevnonblank(v:lnum-1))
let csyn = s:syn(v:lnum)
let nsyn = s:syn(nextnonblank(v:lnum+1))

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Dylan
" Version: 0.01
" Last Change: 2003 Feb 04
" Last Change: 2017 Jun 13
" Maintainer: Brent A. Fulgham <bfulgham@debian.org>
" Only load this indent file when no other was loaded.
@@ -45,13 +45,13 @@ function DylanGetIndent()
" If previous line was a 'define', indent
if prevline =~? '\(^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)\|\s*\S*\s*=>$\)'
let chg = &sw
let chg = shiftwidth()
" local methods indent the shift-width, plus 6 for the 'local'
elseif prevline =~? '^\s*local'
let chg = &sw + 6
let chg = shiftwidth() + 6
" If previous line was a let with no closing semicolon, indent
elseif prevline =~? '^\s*let.*[^;]\s*$'
let chg = &sw
let chg = shiftwidth()
" If previous line opened a parenthesis, and did not close it, indent
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
return = match( prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
@@ -75,13 +75,13 @@ function DylanGetIndent()
" line doesn't start with an indentable command:
let curr_str = getline(curr_line)
if curr_str =~? '^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)'
let chg = &sw
let chg = shiftwidth()
endif
endif
" If a line starts with end, un-indent (even if we just indented!)
if cline =~? '^\s*\(cleanup\|end\|else\|elseif\|exception\|finally\|otherwise\)'
let chg = chg - &sw
let chg = chg - shiftwidth()
endif
return ind + chg

View File

@@ -669,7 +669,7 @@ function! s:BeginningOfClauseFound(stack, token, stored_vcol)
call s:Pop(a:stack)
if empty(a:stack)
call s:Log(' Stack is ["when"], so LTI is in a guard -> return')
return [1, a:stored_vcol + &sw + 2]
return [1, a:stored_vcol + shiftwidth() + 2]
else
return [1, s:UnexpectedToken(a:token, a:stack)]
endif
@@ -678,7 +678,7 @@ function! s:BeginningOfClauseFound(stack, token, stored_vcol)
call s:Pop(a:stack)
if empty(a:stack)
call s:Log(' Stack is ["->"], so LTI is in function body -> return')
return [1, a:stored_vcol + &sw]
return [1, a:stored_vcol + shiftwidth()]
elseif a:stack[0] ==# ';'
call s:Pop(a:stack)
if empty(a:stack)
@@ -797,7 +797,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
elseif token ==# 'begin'
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
\stored_vcol, 'end', &sw)
\stored_vcol, 'end', shiftwidth())
if ret | return res | endif
" case EXPR of BRANCHES end
@@ -848,11 +848,11 @@ function! s:ErlangCalcIndent2(lnum, stack)
elseif stack == ['->']
call s:Log(' LTI is in a branch after ' .
\'"of/receive/after/if/catch" -> return')
return stored_vcol + &sw
return stored_vcol + shiftwidth()
elseif stack == ['when']
call s:Log(' LTI is in a guard after ' .
\'"of/receive/after/if/catch" -> return')
return stored_vcol + &sw
return stored_vcol + shiftwidth()
else
return s:UnexpectedToken(token, stack)
endif
@@ -888,7 +888,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
if empty(stack)
call s:Log(' LTI is in a condition; matching ' .
\'"case/if/try/receive" found')
let stored_vcol = curr_vcol + &sw
let stored_vcol = curr_vcol + shiftwidth()
elseif stack[0] ==# 'align_to_begin_element'
call s:Pop(stack)
let stored_vcol = curr_vcol
@@ -897,23 +897,23 @@ function! s:ErlangCalcIndent2(lnum, stack)
\'"case/if/try/receive" found')
call s:Pop(stack)
call s:Pop(stack)
let stored_vcol = curr_vcol + &sw
let stored_vcol = curr_vcol + shiftwidth()
elseif stack[0] ==# '->'
call s:Log(' LTI is in a branch; matching ' .
\'"case/if/try/receive" found')
call s:Pop(stack)
let stored_vcol = curr_vcol + 2 * &sw
let stored_vcol = curr_vcol + 2 * shiftwidth()
elseif stack[0] ==# 'when'
call s:Log(' LTI is in a guard; matching ' .
\'"case/if/try/receive" found')
call s:Pop(stack)
let stored_vcol = curr_vcol + 2 * &sw + 2
let stored_vcol = curr_vcol + 2 * shiftwidth() + 2
endif
endif
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
\stored_vcol, 'end', &sw)
\stored_vcol, 'end', shiftwidth())
if ret | return res | endif
elseif token ==# 'fun'
@@ -930,7 +930,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
" stack = ['when'] => LTI is in a guard
if empty(stack)
call s:Log(' LTI is in a condition; matching "fun" found')
let stored_vcol = curr_vcol + &sw
let stored_vcol = curr_vcol + shiftwidth()
elseif len(stack) > 1 && stack[0] ==# '->' && stack[1] ==# ';'
call s:Log(' LTI is in a condition; matching "fun" found')
call s:Pop(stack)
@@ -938,15 +938,15 @@ function! s:ErlangCalcIndent2(lnum, stack)
elseif stack[0] ==# '->'
call s:Log(' LTI is in a branch; matching "fun" found')
call s:Pop(stack)
let stored_vcol = curr_vcol + 2 * &sw
let stored_vcol = curr_vcol + 2 * shiftwidth()
elseif stack[0] ==# 'when'
call s:Log(' LTI is in a guard; matching "fun" found')
call s:Pop(stack)
let stored_vcol = curr_vcol + 2 * &sw + 2
let stored_vcol = curr_vcol + 2 * shiftwidth() + 2
endif
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
\stored_vcol, 'end', &sw)
\stored_vcol, 'end', shiftwidth())
if ret | return res | endif
else
" Pass: we have a function reference (e.g. "fun f/0")
@@ -1220,7 +1220,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
" when A,
" LTI
let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
\stored_vcol, &sw)
\stored_vcol, shiftwidth())
if ret | return res | endif
else
" Example:
@@ -1252,7 +1252,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
" If LTI is between an 'after' and the corresponding
" 'end', then let's return
let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
\stored_vcol, &sw)
\stored_vcol, shiftwidth())
if ret | return res | endif
endif

View File

@@ -47,11 +47,7 @@ set cpo&vim
function! GetErubyIndent(...)
" The value of a single shift-width
if exists('*shiftwidth')
let sw = shiftwidth()
else
let sw = &sw
endif
let sw = shiftwidth()
if a:0 && a:1 == '.'
let v:lnum = line('.')

View File

@@ -339,7 +339,7 @@ function FalconGetIndent(...)
" If the previous line ended with a block opening, add a level of indent.
if s:Match(lnum, s:block_regex)
return indent(s:GetMSL(lnum)) + &sw
return indent(s:GetMSL(lnum)) + shiftwidth()
endif
" If it contained hanging closing brackets, find the rightmost one, find its
@@ -350,20 +350,20 @@ function FalconGetIndent(...)
if opening.pos != -1
if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0
if col('.') + 1 == col('$')
return ind + &sw
return ind + shiftwidth()
else
return virtcol('.')
endif
else
let nonspace = matchend(line, '\S', opening.pos + 1) - 1
return nonspace > 0 ? nonspace : ind + &sw
return nonspace > 0 ? nonspace : ind + shiftwidth()
endif
elseif closing.pos != -1
call cursor(lnum, closing.pos + 1)
normal! %
if s:Match(line('.'), s:falcon_indent_keywords)
return indent('.') + &sw
return indent('.') + shiftwidth()
else
return indent('.')
endif
@@ -392,7 +392,7 @@ function FalconGetIndent(...)
let col = s:Match(lnum, s:falcon_indent_keywords)
if col > 0
call cursor(lnum, col)
let ind = virtcol('.') - 1 + &sw
let ind = virtcol('.') - 1 + shiftwidth()
" TODO: make this better (we need to count them) (or, if a searchpair
" fails, we know that something is lacking an end and thus we indent a
" level
@@ -422,9 +422,9 @@ function FalconGetIndent(...)
" TODO: this does not take into account contrived things such as
" module Foo; class Bar; end
if s:Match(lnum, s:falcon_indent_keywords)
let ind = msl_ind + &sw
let ind = msl_ind + shiftwidth()
if s:Match(lnum, s:end_end_regex)
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind
endif
@@ -433,7 +433,7 @@ function FalconGetIndent(...)
" closing bracket, indent one extra level.
if s:Match(lnum, s:non_bracket_continuation_regex) && !s:Match(lnum, '^\s*\([\])}]\|end\)')
if lnum == p_lnum
let ind = msl_ind + &sw
let ind = msl_ind + shiftwidth()
else
let ind = msl_ind
endif

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2016 Aug 29
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -20,7 +20,7 @@ if exists("*GetGitconfigIndent")
endif
function! GetGitconfigIndent()
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
let sw = shiftwidth()
let line = getline(prevnonblank(v:lnum-1))
let cline = getline(v:lnum)
if line =~ '\\\@<!\%(\\\\\)*\\$'

View File

@@ -2,7 +2,7 @@
" Language: gitolite configuration
" URL: https://github.com/tmatilai/gitolite.vim
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
" Last Change: 2011-12-24
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -27,11 +27,11 @@ function! GetGitoliteIndent()
let cline = getline(v:lnum)
if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]'
return &sw
return shiftwidth()
elseif cline =~ '^\s*config\s'
return &sw
return shiftwidth()
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
return &sw
return shiftwidth()
elseif cline =~ '^\s*#'
return indent(prevln)
elseif cline =~ '^\s*$'

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Go
" Maintainer: David Barnett (https://github.com/google/vim-ft-go)
" Last Change: 2014 Aug 16
" Last Change: 2017 Jun 13
"
" TODO:
" - function invocations split across lines
@@ -23,18 +23,6 @@ if exists('*GoIndent')
finish
endif
" The shiftwidth() function is relatively new.
" Don't require it to exist.
if exists('*shiftwidth')
function s:sw() abort
return shiftwidth()
endfunction
else
function s:sw() abort
return &shiftwidth
endfunction
endif
function! GoIndent(lnum)
let l:prevlnum = prevnonblank(a:lnum-1)
if l:prevlnum == 0
@@ -51,17 +39,17 @@ function! GoIndent(lnum)
if l:prevl =~ '[({]\s*$'
" previous line opened a block
let l:ind += s:sw()
let l:ind += shiftwidth()
endif
if l:prevl =~# '^\s*\(case .*\|default\):$'
" previous line is part of a switch statement
let l:ind += s:sw()
let l:ind += shiftwidth()
endif
" TODO: handle if the previous line is a label.
if l:thisl =~ '^\s*[)}]'
" this line closed a block
let l:ind -= s:sw()
let l:ind -= shiftwidth()
endif
" Colons are tricky.
@@ -69,7 +57,7 @@ function! GoIndent(lnum)
" We ignore trying to deal with jump labels because (a) they're rare, and
" (b) they're hard to disambiguate from a composite literal key.
if l:thisl =~# '^\s*\(case .*\|default\):$'
let l:ind -= s:sw()
let l:ind -= shiftwidth()
endif
return l:ind

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Haml
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2016 Aug 29
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -37,7 +37,7 @@ function! GetHamlIndent()
let line = substitute(line,'^\s\+','','')
let indent = indent(lnum)
let cindent = indent(v:lnum)
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
let sw = shiftwidth()
if cline =~# '\v^-\s*%(elsif|else|when)>'
let indent = cindent < indent ? cindent : indent - sw
endif

View File

@@ -27,13 +27,13 @@ function HamGetIndent(lnum)
" Add a shiftwidth to statements following if, else, elseif,
" case, select, default, do, until, while, for, start
if prevline =~? '^\s*\<\(if\|else\%(if\)\?\|for\|repeat\|do\|while\|sub\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Subtract a shiftwidth from else, elseif, end(if|while|for), until
let line = getline(v:lnum)
if line =~? '^\s*\(else\|elseif\|loop\|until\|end\%(if\|while\|for\|sub\)\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -47,7 +47,7 @@ function GetHogIndent()
" Continuation of a line that wasn't indented
let prevline = getline(prevlnum)
if prevline =~ '^\k\+.*\\\s*$'
return &sw
return shiftwidth()
endif
" Continuation of a line that was indented
@@ -58,13 +58,13 @@ function GetHogIndent()
" Indent the next line if previous line contained a start of a block
" definition ('{' or '(').
if prevline =~ '^\k\+[^#]*{}\@!\s*$' " TODO || prevline =~ '^\k\+[^#]*()\@!\s*$'
return &sw
return shiftwidth()
endif
" Match inside of a block
if s:IsInBlock(v:lnum)
if prevline =~ "^\k\+.*$"
return &sw
return shiftwidth()
else
return indent(prevlnum)
endif

View File

@@ -2,7 +2,7 @@
" Header: "{{{
" Maintainer: Bram Moolenaar
" Original Author: Andy Wokula <anwoku@yahoo.de>
" Last Change: 2017 Jan 17
" Last Change: 2017 Jun 13
" Version: 1.0
" Description: HTML indent script with cached state for faster indenting on a
" range of lines.
@@ -51,15 +51,6 @@ if exists("*HtmlIndent") && !exists('g:force_reload_html')
finish
endif
" shiftwidth() exists since patch 7.3.694
if exists('*shiftwidth')
let s:ShiftWidth = function('shiftwidth')
else
func! s:ShiftWidth()
return &shiftwidth
endfunc
endif
" Allow for line continuation below.
let s:cpo_save = &cpo
set cpo-=C
@@ -123,7 +114,7 @@ func! HtmlIndent_CheckUserSettings()
let indone = {"zero": 0
\,"auto": "indent(prevnonblank(v:lnum-1))"
\,"inc": "b:hi_indent.blocktagind + s:ShiftWidth()"}
\,"inc": "b:hi_indent.blocktagind + shiftwidth()"}
let script1 = ''
if exists("b:html_indent_script1")
@@ -358,7 +349,7 @@ func! s:CheckBlockTag(blocktag, ind)
endif
let b:hi_newstate.blocklnr = v:lnum
" save allover indent for the endtag
let b:hi_newstate.blocktagind = b:hi_indent.baseindent + (s:nextrel + s:curind) * s:ShiftWidth()
let b:hi_newstate.blocktagind = b:hi_indent.baseindent + (s:nextrel + s:curind) * shiftwidth()
if a:ind == 3
return "SCRIPT" " all except this must be lowercase
" line is to be checked again for the type attribute
@@ -480,7 +471,7 @@ func! s:FreshState(lnum)
let state.blocklnr = stopline
" check preceding tags in the line:
call s:CountITags(tagline[: stopcol-2])
let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * s:ShiftWidth()
let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * shiftwidth()
return state
elseif stopline == state.lnum
" handle special case: previous line (= state.lnum) contains a
@@ -490,7 +481,7 @@ func! s:FreshState(lnum)
if !swendtag
let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bnW")
call s:CountITags(tolower(getline(bline)[: bcol-2]))
let state.baseindent = indent(bline) + (s:curind + s:nextrel) * s:ShiftWidth()
let state.baseindent = indent(bline) + (s:curind + s:nextrel) * shiftwidth()
return state
endif
endif
@@ -511,7 +502,7 @@ func! s:FreshState(lnum)
if found == 2
let state.baseindent = b:hi_indent.baseindent
endif
let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth()
let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * shiftwidth()
return state
endif
@@ -530,7 +521,7 @@ func! s:FreshState(lnum)
let text = tolower(getline(comlnum)[: comcol-2])
endif
call s:CountITags(text)
let state.baseindent = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth()
let state.baseindent = indent(comlnum) + (s:curind + s:nextrel) * shiftwidth()
" TODO check tags that follow "-->"
return state
endif
@@ -550,9 +541,9 @@ func! s:FreshState(lnum)
let text = getline(start_lnum)
let swendtag = match(text, '^\s*</') >= 0
call s:CountITags(text[: col('.') - 2])
let state.baseindent += s:nextrel * s:ShiftWidth()
let state.baseindent += s:nextrel * shiftwidth()
if !swendtag
let state.baseindent += s:curind * s:ShiftWidth()
let state.baseindent += s:curind * shiftwidth()
endif
endif
return state
@@ -565,9 +556,9 @@ func! s:FreshState(lnum)
let text = getline(state.lnum)
let swendtag = match(text, '^\s*</') >= 0
call s:CountITags(tolower(text))
let state.baseindent = indent(state.lnum) + s:nextrel * s:ShiftWidth()
let state.baseindent = indent(state.lnum) + s:nextrel * shiftwidth()
if !swendtag
let state.baseindent += s:curind * s:ShiftWidth()
let state.baseindent += s:curind * shiftwidth()
endif
return state
endfunc "}}}
@@ -646,7 +637,7 @@ func! s:CSSIndent()
" add indent after {
let brace_counts = HtmlIndent_CountBraces(prev_lnum)
let extra = brace_counts.c_open * s:ShiftWidth()
let extra = brace_counts.c_open * shiftwidth()
let prev_text = getline(prev_lnum)
let below_end_brace = prev_text =~ '}\s*$'
@@ -663,7 +654,7 @@ func! s:CSSIndent()
" if the current line is not a comment or starts with @ (used by template
" systems) reduce indent if previous line is a continuation line
if !prev_hasfield && !prev_special
let extra = -s:ShiftWidth()
let extra = -shiftwidth()
endif
else
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
@@ -671,14 +662,14 @@ func! s:CSSIndent()
if !cur_hasfield && (prev_hasfield || prev_unfinished)
" Continuation line has extra indent if the previous line was not a
" continuation line.
let extra = s:ShiftWidth()
let extra = shiftwidth()
" Align with @if
if prev_text =~ '^\s*@if '
let extra = 4
endif
elseif cur_hasfield && !prev_hasfield && !prev_special
" less indent below a continuation line
let extra = -s:ShiftWidth()
let extra = -shiftwidth()
endif
endif
endif
@@ -699,10 +690,10 @@ func! s:CSSIndent()
if special
" do not reduce indent below @{ ... }
if extra < 0
let extra += s:ShiftWidth()
let extra += shiftwidth()
endif
else
let extra -= (brace_counts.c_close - (prev_text =~ '^\s*}')) * s:ShiftWidth()
let extra -= (brace_counts.c_close - (prev_text =~ '^\s*}')) * shiftwidth()
endif
endif
@@ -710,10 +701,10 @@ func! s:CSSIndent()
if extra == 0
if brace_counts.p_open > brace_counts.p_close
" previous line has more ( than ): add a shiftwidth
let extra = s:ShiftWidth()
let extra = shiftwidth()
elseif brace_counts.p_open < brace_counts.p_close
" previous line has more ) than (: subtract a shiftwidth
let extra = -s:ShiftWidth()
let extra = -shiftwidth()
endif
endif
@@ -816,7 +807,7 @@ func! s:Alien5()
let idx = match(prevtext, '^\s*\zs<!--')
if idx >= 0
" just below comment start, add a shiftwidth
return idx + s:ShiftWidth()
return idx + shiftwidth()
endif
" Some files add 4 spaces just below a TODO line. It's difficult to detect
@@ -837,7 +828,7 @@ func! s:Alien6()
return indent(lnum)
endif
endif
return b:hi_indent.baseindent + s:ShiftWidth()
return b:hi_indent.baseindent + shiftwidth()
endfunc "}}}
" When the "lnum" line ends in ">" find the line containing the matching "<".
@@ -947,7 +938,7 @@ func! HtmlIndent()
endif
let curtext = tolower(getline(v:lnum))
let indentunit = s:ShiftWidth()
let indentunit = shiftwidth()
let b:hi_newstate = {}
let b:hi_newstate.lnum = v:lnum
@@ -1030,9 +1021,9 @@ func! HtmlIndent()
if col('.') > 2
let swendtag = match(text, '^\s*</') >= 0
call s:CountITags(text[: col('.') - 2])
let indent += s:nextrel * s:ShiftWidth()
let indent += s:nextrel * shiftwidth()
if !swendtag
let indent += s:curind * s:ShiftWidth()
let indent += s:curind * shiftwidth()
endif
endif
else

View File

@@ -1,6 +1,6 @@
" IDL (Interactive Data Language) indent file.
" Language: IDL (ft=idlang)
" Last change: 2012 May 18
" Last change: 2017 Jun 13
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
" Only load this indent file when no other was loaded.
@@ -34,25 +34,25 @@ function GetIdlangIndent(lnum)
" Indenting of continued lines.
if getline(pnum) =~ '\$\s*\(;.*\)\=$'
if getline(pnum2) !~ '\$\s*\(;.*\)\=$'
let curind = curind+&sw
let curind = curind+shiftwidth()
endif
else
if getline(pnum2) =~ '\$\s*\(;.*\)\=$'
let curind = curind-&sw
let curind = curind-shiftwidth()
endif
endif
" Indenting blocks of statements.
if getline(v:lnum) =~? '^\s*\(endif\|endelse\|endwhile\|endfor\|endrep\)\>'
if getline(pnum) =~? 'begin\>'
elseif indent(v:lnum) > curind-&sw
let curind = curind-&sw
elseif indent(v:lnum) > curind-shiftwidth()
let curind = curind-shiftwidth()
else
return -1
endif
elseif getline(pnum) =~? 'begin\>'
if indent(v:lnum) < curind+&sw
let curind = curind+&sw
if indent(v:lnum) < curind+shiftwidth()
let curind = curind+shiftwidth()
else
return -1
endif

View File

@@ -50,17 +50,17 @@ fun! GetIshdIndent(lnum)
" Add
if previous_line =~ '^\s*\<\(function\|begin\|switch\|case\|default\|if.\{-}then\|else\|elseif\|while\|repeat\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Subtract
if this_line =~ '^\s*\<endswitch\>'
let ind = ind - 2 * &sw
let ind = ind - 2 * shiftwidth()
elseif this_line =~ '^\s*\<\(begin\|end\|endif\|endwhile\|else\|elseif\|until\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
elseif this_line =~ '^\s*\<\(case\|default\)\>'
if previous_line !~ '^\s*\<switch\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif

View File

@@ -236,9 +236,10 @@ function s:OneScope(lnum)
\ s:save_pos('s:previous_token') != '.'
endfunction
" returns braceless levels started by 'i' and above lines * &sw. 'num' is the
" lineNr which encloses the entire context, 'cont' if whether line 'i' + 1 is
" a continued expression, which could have started in a braceless context
" returns braceless levels started by 'i' and above lines * shiftwidth().
" 'num' is the lineNr which encloses the entire context, 'cont' if whether
" line 'i' + 1 is a continued expression, which could have started in a
" braceless context
function s:iscontOne(i,num,cont)
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
let pind = a:num ? indent(l:num) + s:W : 0

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: JSON
" Mantainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
" Last Change: 2014 Aug 29
" Last Change: 2017 Jun 13
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
" Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe
@@ -141,7 +141,7 @@ function GetJSONIndent()
" If the previous line ended with a block opening, add a level of indent.
" if s:Match(lnum, s:block_regex)
" return indent(lnum) + &sw
" return indent(lnum) + shiftwidth()
" endif
" If the previous line contained an opening bracket, and we are still in it,
@@ -149,7 +149,7 @@ function GetJSONIndent()
if line =~ '[[({]'
let counts = s:LineHasOpeningBrackets(lnum)
if counts[0] == '1' || counts[1] == '1' || counts[2] == '1'
return ind + &sw
return ind + shiftwidth()
else
call cursor(v:lnum, vcol)
end

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Liquid
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2016 Aug 29
" Last Change: 2017 Jun 13
if exists('b:did_indent')
finish
@@ -54,7 +54,7 @@ function! GetLiquidIndent(...)
let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+')
let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
let sw = shiftwidth()
let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>')
let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>')
let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>')

View File

@@ -38,24 +38,24 @@ function! GetLogtalkIndent()
endif
" Check for entity opening directive on previous line
if pline =~ '^\s*:-\s\(object\|protocol\|category\)\ze(.*,$'
let ind = ind + &sw
let ind = ind + shiftwidth()
" Check for clause head on previous line
elseif pline =~ ':-\s*\(%.*\)\?$'
let ind = ind + &sw
let ind = ind + shiftwidth()
" Check for entity closing directive on previous line
elseif pline =~ '^\s*:-\send_\(object\|protocol\|category\)\.\(%.*\)\?$'
let ind = ind - &sw
let ind = ind - shiftwidth()
" Check for end of clause on previous line
elseif pline =~ '\.\s*\(%.*\)\?$'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
" Check for opening conditional on previous line
if pline =~ '^\s*\([(;]\|->\)' && pline !~ '\.\s*\(%.*\)\?$' && pline !~ '^.*\([)][,]\s*\(%.*\)\?$\)'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Check for closing an unclosed paren, or middle ; or ->
if line =~ '^\s*\([);]\|->\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind
endfunction

View File

@@ -2,7 +2,7 @@
" Language: Lua script
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
" First Author: Max Ischenko <mfi 'at' ukr.net>
" Last Change: 2016 Jan 10
" Last Change: 2017 Jun 13
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -48,7 +48,7 @@ function! GetLuaIndent()
" Add 'shiftwidth' if what we found previously is not in a comment and
" an "end" or "until" is not present on the same line.
if synIDattr(synID(prevlnum, midx + 1, 1), "name") != "luaComment" && prevline !~ '\<end\>\|\<until\>'
let ind = ind + &shiftwidth
let ind = ind + shiftwidth()
endif
endif
@@ -56,7 +56,7 @@ function! GetLuaIndent()
" This is the part that requires 'indentkeys'.
let midx = match(getline(v:lnum), '^\s*\%(end\>\|else\>\|elseif\>\|until\>\|}\)')
if midx != -1 && synIDattr(synID(v:lnum, midx + 1, 1), "name") != "luaComment"
let ind = ind - &shiftwidth
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -44,9 +44,9 @@ function GetMatlabIndent(lnum)
" See if this line does not follow the line right after an openblock
if getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>'
" See if the user has already dedented
elseif indent(v:lnum) > curind - &sw
elseif indent(v:lnum) > curind - shiftwidth()
" If not, recommend one dedent
let curind = curind - &sw
let curind = curind - shiftwidth()
else
" Otherwise, trust the user
return -1
@@ -56,9 +56,9 @@ function GetMatlabIndent(lnum)
" If the previous line opened a block
elseif getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>'
" See if the user has already indented
if indent(v:lnum) < curind + &sw
if indent(v:lnum) < curind + shiftwidth()
"If not, recommend indent
let curind = curind + &sw
let curind = curind + shiftwidth()
else
" Otherwise, trust the user
return -1

View File

@@ -49,7 +49,7 @@ function GetMmaIndent()
" also, indent only if this line if this line isn't starting a new
" block... TODO - fix this with indentkeys?
if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]'
let ind = ind+&sw
let ind = ind+shiftwidth()
endif
" if this line had unmatched closing block,

View File

@@ -4,7 +4,7 @@
" Mike Leary <leary@nwlink.com>
" Markus Mottl <markus.mottl@gmail.com>
" URL: http://www.ocaml.info/vim/indent/ocaml.vim
" Last Change: 2013 Jun 29
" Last Change: 2017 Jun 13
" 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working
" 2005 May 09 - Added an option to not indent OCaml-indents specially (MM)
" 2013 June - commented textwidth (Marc Weber)
@@ -101,7 +101,7 @@ function! GetOCamlIndent()
" Return double 'shiftwidth' after lines matching:
if lline =~ '^\s*|.*->\s*$'
return ind + &sw + &sw
return ind + 2 * shiftwidth()
endif
let line = getline(v:lnum)
@@ -172,7 +172,7 @@ function! GetOCamlIndent()
" Indent if current line begins with 'and':
elseif line =~ '^\s*and\>'
if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$'
return ind - &sw
return ind - shiftwidth()
endif
" Indent if current line begins with 'with':
@@ -199,14 +199,14 @@ function! GetOCamlIndent()
" or 'method':
elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>'
if lline !~ s:obj
return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + &sw
return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + shiftwidth()
endif
endif
" Add a 'shiftwidth' after lines ending with:
if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$'
let ind = ind + &sw
let ind = ind + shiftwidth()
" Back to normal indent after lines ending with ';;':
elseif lline =~ ';;\s*$' && lline !~ '^\s*;;'
@@ -263,7 +263,7 @@ function! GetOCamlIndent()
" Subtract a 'shiftwidth' after lines matching 'match ... with parser':
if lline =~ '\<match\>.*\<with\>\s*\<parser\s*$'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -131,7 +131,7 @@ function GetOccamIndent()
if line =~ s:FirstLevelIndent || (line =~ s:FirstLevelNonColonEndIndent && line !~ s:ColonEnd)
\ || (line !~ s:ColonStart && (prevline =~ s:SecondLevelIndent
\ || (prevline =~ s:SecondLevelNonColonEndIndent && prevline !~ s:ColonEnd)))
let curindent = curindent + &shiftwidth
let curindent = curindent + shiftwidth()
" Restore magic
if !save_magic|setlocal nomagic|endif
@@ -153,7 +153,7 @@ function GetOccamIndent()
while !found
if indent(prevlinenum) == curindent - &shiftwidth
if indent(prevlinenum) == curindent - shiftwidth()
let found = 1
endif
@@ -171,7 +171,7 @@ function GetOccamIndent()
if prevlinenum > 0
if getline(prevlinenum) =~ s:SecondLevelIndent
let curindent = curindent + &shiftwidth
let curindent = curindent + shiftwidth()
endif
endif

View File

@@ -2,7 +2,7 @@
" Language: Pascal
" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
" Created: 2004 Jul 13
" Last Change: 2011 Apr 01
" Last Change: 2017 Jun 13
"
" This is version 2.0, a complete rewrite.
"
@@ -102,12 +102,12 @@ function! GetPascalIndent( line_num )
" If the PREVIOUS LINE ended in these items, always indent
if prev_codeline =~ '\<\(type\|const\|var\)$'
return indnt + &shiftwidth
return indnt + shiftwidth()
endif
if prev_codeline =~ '\<repeat$'
if this_codeline !~ '^\s*until\>'
return indnt + &shiftwidth
return indnt + shiftwidth()
else
return indnt
endif
@@ -115,7 +115,7 @@ function! GetPascalIndent( line_num )
if prev_codeline =~ '\<\(begin\|record\)$'
if this_codeline !~ '^\s*end\>'
return indnt + &shiftwidth
return indnt + shiftwidth()
else
return indnt
endif
@@ -125,10 +125,10 @@ function! GetPascalIndent( line_num )
" followed by "begin"
if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$'
if this_codeline !~ '^\s*begin\>'
return indnt + &shiftwidth
return indnt + shiftwidth()
else
" If it does start with "begin" then keep the same indent
"return indnt + &shiftwidth
"return indnt + shiftwidth()
return indnt
endif
endif
@@ -137,7 +137,7 @@ function! GetPascalIndent( line_num )
" only the line before the current one. TODO: Get it working for
" parameter lists longer than two lines.
if prev_codeline =~ '([^)]\+$'
return indnt + &shiftwidth
return indnt + shiftwidth()
endif
@@ -146,7 +146,7 @@ function! GetPascalIndent( line_num )
" Lines starting with "else", but not following line ending with
" "end".
if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$'
return indnt - &shiftwidth
return indnt - shiftwidth()
endif
" Lines after a single-statement branch/loop.
@@ -160,16 +160,16 @@ function! GetPascalIndent( line_num )
" additional unindentation.
if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$'
" Note that we don't return from here.
return indnt - &shiftwidth - &shiftwidth
return indnt - 2 * shiftwidth()
endif
return indnt - &shiftwidth
return indnt - shiftwidth()
endif
" Lines starting with "until" or "end". This rule must be overridden
" by the one for "end" after a single-statement branch/loop. In
" other words that rule should come before this one.
if this_codeline =~ '^\s*\(end\|until\)\>'
return indnt - &shiftwidth
return indnt - shiftwidth()
endif
@@ -201,7 +201,7 @@ function! GetPascalIndent( line_num )
" If the PREVIOUS LINE ended in these items, always indent.
if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$'
return indnt + &shiftwidth
return indnt + shiftwidth()
endif
" ???? Indent "procedure" and "functions" if they appear within an
@@ -212,11 +212,11 @@ function! GetPascalIndent( line_num )
" UNINDENT ONCE
if this_codeline =~ '^\s*\(except\|finally\)$'
return indnt - &shiftwidth
return indnt - shiftwidth()
endif
if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$'
return indnt - &shiftwidth
return indnt - shiftwidth()
endif

View File

@@ -3,7 +3,7 @@
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2013-07-24
" Last Change: 2017 Jun 13
" Suggestions and improvements by :
" Aaron J. Sherman (use syntax for hints)
@@ -138,9 +138,9 @@ function! GetPerlIndent()
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
let brace = strpart(line, bracepos, 1)
if brace == '(' || brace == '{' || brace == '['
let ind = ind + &sw
let ind = ind + shiftwidth()
else
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
let bracepos = match(line, braceclass, bracepos + 1)
@@ -152,25 +152,25 @@ function! GetPerlIndent()
\ || synid == "perlMatchStartEnd"
\ || synid == "perlBraces"
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
else
if line =~ '[{[(]\s*\(#[^])}]*\)\=$'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
if cline =~ '^\s*[])}]'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
" Indent lines that begin with 'or' or 'and'
if cline =~ '^\s*\(or\|and\)\>'
if line !~ '^\s*\(or\|and\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
elseif line =~ '^\s*\(or\|and\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -3,7 +3,7 @@
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2013-07-21
" Last Change: 2017 Jun 13
" Contributors: Andy Lester <andy@petdance.com>
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
"
@@ -107,19 +107,19 @@ function! GetPerl6Indent()
endif
if line =~ '[<«\[{(]\s*\(#[^)}\]»>]*\)\=$'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
if cline =~ '^\s*[)}\]»>]'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
" Indent lines that begin with 'or' or 'and'
if cline =~ '^\s*\(or\|and\)\>'
if line !~ '^\s*\(or\|and\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
elseif line =~ '^\s*\(or\|and\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -3,7 +3,7 @@
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
" URL: http://www.2072productions.com/vim/indent/php.vim
" Home: https://github.com/2072/PHP-Indenting-for-VIm
" Last Change: 2017 March 12th
" Last Change: 2017 Jun 13
" Version: 1.62
"
"
@@ -50,25 +50,15 @@ let b:did_indent = 1
let g:php_sync_method = 0
if exists('*shiftwidth')
function! s:sw()
return shiftwidth()
endfunction
else
function! s:sw()
return &shiftwidth
endfunction
endif
if exists("PHP_default_indenting")
let b:PHP_default_indenting = PHP_default_indenting * s:sw()
let b:PHP_default_indenting = PHP_default_indenting * shiftwidth()
else
let b:PHP_default_indenting = 0
endif
if exists("PHP_outdentSLComments")
let b:PHP_outdentSLComments = PHP_outdentSLComments * s:sw()
let b:PHP_outdentSLComments = PHP_outdentSLComments * shiftwidth()
else
let b:PHP_outdentSLComments = 0
endif
@@ -357,7 +347,7 @@ function! FindTheSwitchIndent (lnum) " {{{
let test = GetLastRealCodeLNum(a:lnum - 1)
if test <= 1
return indent(1) - s:sw() * b:PHP_vintage_case_default_indent
return indent(1) - shiftwidth() * b:PHP_vintage_case_default_indent
end
while getline(test) =~ '^\s*}' && test > 1
@@ -371,7 +361,7 @@ function! FindTheSwitchIndent (lnum) " {{{
if getline(test) =~# '^\s*switch\>'
return indent(test)
elseif getline(test) =~# s:defaultORcase
return indent(test) - s:sw() * b:PHP_vintage_case_default_indent
return indent(test) - shiftwidth() * b:PHP_vintage_case_default_indent
else
return FindTheSwitchIndent(test)
endif
@@ -444,7 +434,7 @@ function! GetPhpIndent()
endif
if b:PHP_default_indenting
let b:PHP_default_indenting = g:PHP_default_indenting * s:sw()
let b:PHP_default_indenting = g:PHP_default_indenting * shiftwidth()
endif
let cline = getline(v:lnum)
@@ -701,7 +691,7 @@ function! GetPhpIndent()
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
return indent(FindTheIfOfAnElse(v:lnum, 1))
elseif cline =~# s:defaultORcase
return FindTheSwitchIndent(v:lnum) + s:sw() * b:PHP_vintage_case_default_indent
return FindTheSwitchIndent(v:lnum) + shiftwidth() * b:PHP_vintage_case_default_indent
elseif cline =~ '^\s*)\=\s*{'
let previous_line = last_line
let last_line_num = lnum
@@ -713,7 +703,7 @@ function! GetPhpIndent()
let ind = indent(last_line_num)
if b:PHP_BracesAtCodeLevel
let ind = ind + s:sw()
let ind = ind + shiftwidth()
endif
return ind
@@ -724,7 +714,7 @@ function! GetPhpIndent()
endwhile
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
let ind = ind + s:sw() " we indent one level further when the preceding line is not stated
let ind = ind + shiftwidth() " we indent one level further when the preceding line is not stated
return ind + addSpecial
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated
@@ -823,7 +813,7 @@ function! GetPhpIndent()
endif
if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{')
let ind = ind + s:sw()
let ind = ind + shiftwidth()
endif
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
@@ -841,17 +831,17 @@ function! GetPhpIndent()
endif
elseif last_line =~ '^\s*'.s:blockstart
let ind = ind + s:sw()
let ind = ind + shiftwidth()
elseif AntepenultimateLine =~ '{'.endline && AntepenultimateLine !~? '^\s*use\>' || AntepenultimateLine =~ terminated || AntepenultimateLine =~# s:defaultORcase
let ind = ind + s:sw()
let ind = ind + shiftwidth()
endif
endif
if cline =~ '^\s*[)\]];\='
let ind = ind - s:sw()
let ind = ind - shiftwidth()
endif
let b:PHP_CurrentIndentLevel = ind

View File

@@ -41,16 +41,16 @@ function! PostscrIndentGet(lnum)
" Indent for dicts, arrays, and saves with possible trailing comment
if pline =~ '\(begin\|<<\|g\=save\|{\|[\)\s*\(%.*\)\=$'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Remove indent for popped dicts, and restores.
if pline =~ '\(end\|g\=restore\)\s*$'
let ind = ind - &sw
let ind = ind - shiftwidth()
" Else handle immediate dedents of dicts, restores, and arrays.
elseif getline(a:lnum) =~ '\(end\|>>\|g\=restore\|}\|]\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
" Else handle DSC comments - always start of line.
elseif getline(a:lnum) =~ '^\s*%%'

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: PoV-Ray Scene Description Language
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
" Last Change: 2002-10-20
" Last Change: 2017 Jun 13
" URI: http://trific.ath.cx/Ftp/vim/indent/pov.vim
" Only load this indent file when no other was loaded.
@@ -75,9 +75,9 @@ function GetPoVRayIndent()
" opening line.
let cur = s:MatchCount(v:lnum, '^\s*\%(#\s*\%(end\|else\)\>\|[]})]\)')
if cur > 0
let final = plind + (chg - cur) * &sw
let final = plind + (chg - cur) * shiftwidth()
else
let final = plind + chg * &sw
let final = plind + chg * shiftwidth()
endif
return final < 0 ? 0 : final

View File

@@ -41,18 +41,18 @@ function! GetPrologIndent()
endif
" Check for clause head on previous line
if pline =~ ':-\s*\(%.*\)\?$'
let ind = ind + &sw
let ind = ind + shiftwidth()
" Check for end of clause on previous line
elseif pline =~ '\.\s*\(%.*\)\?$'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
" Check for opening conditional on previous line
if pline =~ '^\s*\([(;]\|->\)'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Check for closing an unclosed paren, or middle ; or ->
if line =~ '^\s*\([);]\|->\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind
endfunction

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: RPL/2
" Version: 0.2
" Last Change: 2005 Mar 28
" Last Change: 2017 Jun 13
" Maintainer: BERTRAND Jo<4A>l <rpl2@free.fr>
" Only load this indent file when no other was loaded.
@@ -32,16 +32,16 @@ function RplGetIndent(lnum)
if prevstat =~? '\<\(if\|iferr\|do\|while\)\>' && prevstat =~? '\<end\>'
elseif prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)' && prevstat =~? '\s\+>>\($\|\s\+\)'
elseif prevstat =~? '\<\(if\|iferr\|then\|else\|elseif\|select\|case\|do\|until\|while\|repeat\|for\|start\|default\)\>' || prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Subtract a shiftwidth from then, else, elseif, end, until, repeat, next,
" step
let line = getline(v:lnum)
if line =~? '^\s*\(then\|else\|elseif\|until\|repeat\|next\|step\|default\|end\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
elseif line =~? '^\s*>>\($\|\s\+\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind

View File

@@ -404,11 +404,7 @@ function GetRubyIndent(...)
" ----------
" The value of a single shift-width
if exists('*shiftwidth')
let sw = shiftwidth()
else
let sw = &sw
endif
let sw = shiftwidth()
" For the current line, use the first argument if given, else v:lnum
let clnum = a:0 ? a:1 : v:lnum

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Rust
" Author: Chris Morgan <me@chrismorgan.info>
" Last Change: 2017 Mar 21
" Last Change: 2017 Jun 13
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
" Only load this indent file when no other was loaded.
@@ -199,7 +199,7 @@ function GetRustIndent(lnum)
" It's the closing line, dedent it
return 0
else
return &shiftwidth
return shiftwidth()
endif
endif
endif

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Sass
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2016 Aug 29
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -29,7 +29,7 @@ function! GetSassIndent()
let indent = indent(lnum)
let cindent = indent(v:lnum)
if line !~ s:property && line !~ s:extend && cline =~ s:property
return indent + (exists('*shiftwidth') ? shiftwidth() : &sw)
return indent + shiftwidth()
else
return -1
endif

View File

@@ -46,17 +46,17 @@ function! GetSDLIndent()
if (getline(lnum) =~? '^\s*\(start\|state\|system\|package\|connection\|channel\|alternative\|macro\|operator\|newtype\|select\|substructure\|decision\|generator\|refinement\|service\|method\|exceptionhandler\|asntype\|syntype\|value\|(.*):\|\(priority\s\+\)\=input\|provided\)'
\ || getline(lnum) =~? virtuality . '\(process\|procedure\|block\|object\)')
\ && getline(lnum) !~? 'end[[:alpha:]]\+;$'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Subtract a 'shiftwidth' after states
if getline(lnum) =~? '^\s*\(stop\|return\>\|nextstate\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
" Subtract a 'shiftwidth' on on end (uncompleted line)
if getline(v:lnum) =~? '^\s*end\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
" Put each alternatives where the corresponding decision was

View File

@@ -115,9 +115,9 @@ function! GetSMLIndent()
" Return double 'shiftwidth' after lines matching:
if lline =~ '^\s*|.*=>\s*$'
return ind + &sw + &sw
return ind + 2 *shiftwidth()
elseif lline =~ '^\s*val\>.*=\s*$'
return ind + &sw
return ind + shiftwidth()
endif
let line = getline(v:lnum)
@@ -157,7 +157,7 @@ function! GetSMLIndent()
if lastModule == -1
return 0
else
return lastModule + &sw
return lastModule + shiftwidth()
endif
" Indent lines starting with '|' from matching 'case', 'handle'
@@ -172,7 +172,7 @@ function! GetSMLIndent()
if switchLine =~ '\<case\>'
return col(".") + 2
elseif switchLine =~ '\<handle\>'
return switchLineIndent + &sw
return switchLineIndent + shiftwidth()
elseif switchLine =~ '\<datatype\>'
call search('=')
return col(".") - 1
@@ -184,7 +184,7 @@ function! GetSMLIndent()
" Indent if last line ends with 'sig', 'struct', 'let', 'then', 'else',
" 'in'
elseif lline =~ '\<\(sig\|struct\|let\|in\|then\|else\)\s*$'
let ind = ind + &sw
let ind = ind + shiftwidth()
" Indent if last line ends with 'of', align from 'case'
elseif lline =~ '\<\(of\)\s*$'
@@ -199,14 +199,14 @@ function! GetSMLIndent()
" Indent if last line starts with 'fun', 'case', 'fn'
elseif lline =~ '^\s*\(fun\|fn\|case\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Don't indent 'let' if last line started with 'fun', 'fn'
if line =~ '^\s*let\>'
if lline =~ '^\s*\(fun\|fn\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Last Change: 2012 Dec 06
" Last Change: 2017 Jun 13
" Version: 3.0
" Download: http://vim.sourceforge.net/script.php?script_id=495
@@ -147,7 +147,7 @@ function! s:CheckToIgnoreRightParan( prev_lnum, num_levels )
endwhile
" Fallback - just move back one
" return a:prev_indent - &sw
" return a:prev_indent - shiftwidth()
return ignore_paran
endfunction
@@ -166,7 +166,7 @@ function! s:GetStmtStarterIndent( keyword, curr_lnum )
let lnum = a:curr_lnum
" Default - reduce indent by 1
let ind = indent(a:curr_lnum) - &sw
let ind = indent(a:curr_lnum) - shiftwidth()
if a:keyword =~? 'end'
exec 'normal! ^'
@@ -230,7 +230,7 @@ function! s:ModuloIndent(ind)
let ind = a:ind
if ind > 0
let modulo = ind % &shiftwidth
let modulo = ind % shiftwidth()
if modulo > 0
let ind = ind - modulo
@@ -291,7 +291,7 @@ function! GetSQLIndent()
" where END IF, END, should decrease the indent.
if prevline =~? s:SQLBlockStart
" Move indent in
let ind = ind + &sw
let ind = ind + shiftwidth()
" echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline
elseif prevline =~ '[()]'
if prevline =~ '('
@@ -308,7 +308,7 @@ function! GetSQLIndent()
if num_unmatched_left > 0
" There is a open left paranethesis
" increase indent
let ind = ind + ( &sw * num_unmatched_left )
let ind = ind + ( shiftwidth() * num_unmatched_left )
elseif num_unmatched_right > 0
" if it is an unbalanced paranethesis only unindent if
" it was part of a command (ie create table(..) )
@@ -323,7 +323,7 @@ function! GetSQLIndent()
endif
if (num_unmatched_right - ignore) > 0
let ind = ind - ( &sw * (num_unmatched_right - ignore) )
let ind = ind - ( shiftwidth() * (num_unmatched_right - ignore) )
endif
endif
@@ -339,12 +339,12 @@ function! GetSQLIndent()
if line =~? '^\s*els'
" Any line when you type else will automatically back up one
" ident level (ie else, elseif, elsif)
let ind = ind - &sw
let ind = ind - shiftwidth()
" echom 'curr - else - indent ' . ind
elseif line =~? '^\s*end\>'
let ind = s:GetStmtStarterIndent('end', v:lnum)
" General case for end
" let ind = ind - &sw
" let ind = ind - shiftwidth()
" echom 'curr - end - indent ' . ind
elseif line =~? '^\s*when\>'
let ind = s:GetStmtStarterIndent('when', v:lnum)
@@ -352,7 +352,7 @@ function! GetSQLIndent()
" clause, do not change the indent level, since these
" statements do not have a corresponding END statement.
" if stmt_starter =~? 'case'
" let ind = ind - &sw
" let ind = ind - shiftwidth()
" endif
" elseif line =~ '^\s*)\s*;\?\s*$'
" elseif line =~ '^\s*)'
@@ -371,14 +371,14 @@ function! GetSQLIndent()
" let num_unmatched_right = s:CountUnbalancedParan( line, ')' )
" if num_unmatched_right > 0
" elseif strpart( line, strlen(line)-1, 1 ) =~ ')'
" let ind = ind - &sw
" let ind = ind - shiftwidth()
if line =~ '^\s*)'
" let ignore = ignore + 1
" echom 'curr - begins ) unbalanced ignore: ' . ignore
endif
if (num_unmatched_right - ignore) > 0
let ind = ind - ( &sw * (num_unmatched_right - ignore) )
let ind = ind - ( shiftwidth() * (num_unmatched_right - ignore) )
endif
" endif
endif

View File

@@ -29,7 +29,7 @@ function SystemVerilogIndent()
if exists('b:systemverilog_indent_width')
let offset = b:systemverilog_indent_width
else
let offset = &sw
let offset = shiftwidth()
endif
if exists('b:systemverilog_indent_modules')
let indent_modules = offset

View File

@@ -3,7 +3,7 @@
" Based on Tera Term Version 4.92
" Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-teraterm
" Last Change: 2016 Aug 17
" Last Change: 2017 Jun 13
" Filenames: *.ttl
" License: VIM License
@@ -22,16 +22,6 @@ if exists("*GetTeraTermIndent")
finish
endif
" The shiftwidth() function is relatively new.
" Don't require it to exist.
if exists('*shiftwidth')
let s:sw = function('shiftwidth')
else
function s:sw() abort
return &shiftwidth
endfunction
endif
function! GetTeraTermIndent(lnum)
let l:prevlnum = prevnonblank(a:lnum-1)
if l:prevlnum == 0
@@ -48,15 +38,15 @@ function! GetTeraTermIndent(lnum)
if l:prevl =~ '^\s*if\>.*\<then\>'
" previous line opened a block
let l:ind += s:sw()
let l:ind += shiftwidth()
endif
if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>'
" previous line opened a block
let l:ind += s:sw()
let l:ind += shiftwidth()
endif
if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>'
" this line closed a block
let l:ind -= s:sw()
let l:ind -= shiftwidth()
endif
return l:ind

View File

@@ -215,14 +215,14 @@ function! GetTeXIndent() " {{{
" ZYC modification : \end after \begin won't cause wrong indent anymore
if line =~ '\\begin{.*}'
if line !~ g:tex_noindent_env
let ind = ind + &sw
let ind = ind + shiftwidth()
let stay = 0
endif
if g:tex_indent_items
" Add another sw for item-environments
if line =~ g:tex_itemize_env
let ind = ind + &sw
let ind = ind + shiftwidth()
let stay = 0
endif
endif
@@ -241,23 +241,23 @@ function! GetTeXIndent() " {{{
if g:tex_indent_items
" Remove another sw for item-environments
if cline =~ g:tex_itemize_env
let ind = ind - &sw
let ind = ind - shiftwidth()
let stay = 0
endif
endif
let ind = ind - &sw
let ind = ind - shiftwidth()
let stay = 0
endif
if g:tex_indent_brace
if line =~ '[[{]$'
let ind += &sw
let ind += shiftwidth()
let stay = 0
endif
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
let ind -= &sw
let ind -= shiftwidth()
let stay = 0
endif
@@ -266,7 +266,7 @@ function! GetTeXIndent() " {{{
let char = line[i]
if char == ']' || char == '}'
if s:CheckPairedIsLastCharacter(lnum, i)
let ind -= &sw
let ind -= shiftwidth()
let stay = 0
endif
endif
@@ -280,12 +280,12 @@ function! GetTeXIndent() " {{{
if g:tex_indent_items
" '\item' or '\bibitem' itself:
if cline =~ g:tex_items
let ind = ind - &sw
let ind = ind - shiftwidth()
let stay = 0
endif
" lines following to '\item' are intented once again:
if line =~ g:tex_items
let ind = ind + &sw
let ind = ind + shiftwidth()
let stay = 0
endif
endif
@@ -317,9 +317,9 @@ function! s:GetLastBeginIndentation(lnum) " {{{
return indent(lnum)
endif
if line =~ g:tex_itemize_env
return indent(lnum) + 2 * &sw
return indent(lnum) + 2 * shiftwidth()
endif
return indent(lnum) + &sw
return indent(lnum) + shiftwidth()
endif
endfor
return -1
@@ -347,7 +347,7 @@ function! s:GetEndIndentation(lnum) " {{{
let min_indent = min([min_indent, indent(lnum)])
endif
endfor
return min_indent - &sw
return min_indent - shiftwidth()
endfunction
" Most of the code is from matchparen.vim

View File

@@ -25,11 +25,11 @@ function GetTildeIndent(lnum)
endif
if getline(v:lnum) =~ '^\s*\~\(endif\|else\|elseif\|end\)\>'
return indent(v:lnum) - &sw
return indent(v:lnum) - shiftwidth()
endif
if getline(plnum) =~ '^\s*\~\(if\|foreach\|foreach_row\|xml_loop\|file_loop\|file_write\|file_append\|imap_loopsections\|imap_index\|imap_list\|ldap_search\|post_loopall\|post_loop\|file_loop\|sql_loop_num\|sql_dbmsselect\|search\|sql_loop\|post\|for\|function_define\|silent\|while\|setvalbig\|mail_create\|systempipe\|mail_send\|dual\|elseif\|else\)\>'
return indent(plnum) + &sw
return indent(plnum) + shiftwidth()
else
return -1
endif

View File

@@ -49,26 +49,26 @@ fun! VbGetIndent(lnum)
" Add
if previous_line =~? '^\s*\<\(begin\|\%(\%(private\|public\|friend\)\s\+\)\=\%(function\|sub\|property\)\|select\|case\|default\|if\|else\|elseif\|do\|for\|while\|enum\|with\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" Subtract
if this_line =~? '^\s*\<end\>\s\+\<select\>'
if previous_line !~? '^\s*\<select\>'
let ind = ind - 2 * &sw
let ind = ind - 2 * shiftwidth()
else
" this case is for an empty 'select' -- 'end select'
" (w/o any case statements) like:
"
" select case readwrite
" end select
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
elseif this_line =~? '^\s*\<\(end\|else\|elseif\|until\|loop\|next\|wend\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
elseif this_line =~? '^\s*\<\(case\|default\)\>'
if previous_line !~? '^\s*\<select\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif

View File

@@ -2,7 +2,7 @@
" Language: VHDL
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
" Version: 1.60
" Last Change: 2016 Feb 26
" Last Change: 2017 Jun 13
" URL: http://www.vim.org/scripts/script.php?script_id=1450
" only load this indent file when no other was loaded
@@ -114,9 +114,9 @@ function GetVHDLindent()
return ind2 + m
else
if g:vhdl_indent_genportmap
return ind2 + stridx(prevs_noi, '(') + &sw
return ind2 + stridx(prevs_noi, '(') + shiftwidth()
else
return ind2 + &sw
return ind2 + shiftwidth()
endif
endif
endif
@@ -128,7 +128,7 @@ function GetVHDLindent()
if g:vhdl_indent_rhsassign
return ind2 + matchend(prevs_noi, '<=\s*\ze.')
else
return ind2 + &sw
return ind2 + shiftwidth()
endif
endif
@@ -218,12 +218,12 @@ function GetVHDLindent()
let ps = getline(pn)
if (ps =~? s:NC.'\<begin\>')
return indent(pn) - &sw
return indent(pn) - shiftwidth()
endif
endwhile
if (pn == 0)
return ind - &sw
return ind - shiftwidth()
else
return indent(pn)
endif
@@ -237,7 +237,7 @@ function GetVHDLindent()
" keyword: "type"
let s3 = s:NC.s:NE.'\<type\>'
if curs !~? s3.'.*'.s:NC.'\<\%(record\|units\)\>.*'.s:ES && prevs =~? s3
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
return ind
endif
@@ -282,7 +282,7 @@ function GetVHDLindent()
" removed: "begin", "case", "elsif", "if", "loop", "record", "units", "while"
" where: anywhere in previous line
if prevs =~? s:NC.s:NE.'\<\%(block\|process\)\>'
return ind + &sw
return ind + shiftwidth()
endif
" indent: +sw
@@ -290,7 +290,7 @@ function GetVHDLindent()
" removed: "component", "for", "when", "with"
" where: start of previous line
if prevs =~? '^\s*\%(architecture\|configuration\|entity\|package\)\>'
return ind + &sw
return ind + shiftwidth()
endif
" indent: +sw
@@ -298,7 +298,7 @@ function GetVHDLindent()
" removed: "generate", "is", "=>"
" where: end of previous line
if prevs =~? s:NC.'\<select'.s:ES
return ind + &sw
return ind + shiftwidth()
endif
" indent: +sw
@@ -310,7 +310,7 @@ function GetVHDLindent()
" where: end of previous line
" _note_: indent allowed to leave this filter
if prevs =~? s:NC.'\%(\<begin\>\|'.s:NE.'\<\%(loop\|record\|units\)\>\)' || prevs =~? '^\s*\%(component\|else\|for\)\>' || prevs =~? s:NC.'\%('.s:NE.'\<generate\|\<\%(is\|then\)\|=>\)'.s:ES
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
" ****************************************************************************************
@@ -322,7 +322,7 @@ function GetVHDLindent()
if prevs =~? s:NC.'\<is'.s:ES
return ind
elseif prevs !~? s4
return ind - &sw
return ind - shiftwidth()
else
return ind2
endif
@@ -336,7 +336,7 @@ function GetVHDLindent()
if prevs =~? '^\s*\%(elsif\|'.s5.'\)'
return ind
else
return ind - &sw
return ind - shiftwidth()
endif
endif
@@ -367,9 +367,9 @@ function GetVHDLindent()
"where: start of previous non-comment line
if m == 1
if ps =~? '^\s*end\s\+case\>'
return indent(pn) - 2 * &sw
return indent(pn) - 2 * shiftwidth()
elseif ps =~? '^\s*when\>'
return indent(pn) - &sw
return indent(pn) - shiftwidth()
elseif ps =~? '^\s*case\>'
return indent(pn)
endif
@@ -385,14 +385,14 @@ function GetVHDLindent()
let pn = prevnonblank(pn - 1)
let ps = getline(pn)
endwhile
return ind - &sw
return ind - shiftwidth()
endif
" indent: -sw
" keyword: ")"
" where: start of current line
if curs =~ '^\s*)'
return ind - &sw
return ind - shiftwidth()
endif
" indent: 0
@@ -407,7 +407,7 @@ function GetVHDLindent()
" where: start of current line
"if curs =~? '^\s*end\s\+\w\+\>'
if curs =~? '^\s*end\%(\s\|;'.s:ES.'\)'
return ind - &sw
return ind - shiftwidth()
endif
" ****************************************************************************************

View File

@@ -1,6 +1,6 @@
" Language: xml
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: 2012 Jul 25
" Last Change: 2017 Jun 13
" Notes: 1) does not indent pure non-xml code (e.g. embedded scripts)
" 2) will be confused by unbalanced tags in comments
" or CDATA sections.
@@ -67,7 +67,7 @@ endfun
fun! <SID>XmlIndentSum(lnum, style, add)
let line = getline(a:lnum)
if a:style == match(line, '^\s*</')
return (&sw *
return (shiftwidth() *
\ (<SID>XmlIndentWithPattern(line, b:xml_indent_open)
\ - <SID>XmlIndentWithPattern(line, b:xml_indent_close)
\ - <SID>XmlIndentWithPattern(line, '.\{-}/>'))) + a:add

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: YAML
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
" Last Change: 2015 Nov 01
" Last Change: 2017 Jun 13
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@@ -24,14 +24,6 @@ if exists('*GetYAMLIndent')
finish
endif
if exists('*shiftwidth')
let s:shiftwidth = function('shiftwidth')
else
function s:shiftwidth()
return &shiftwidth
endfunction
endif
function s:FindPrevLessIndentedLine(lnum, ...)
let prevlnum = prevnonblank(a:lnum-1)
let curindent = a:0 ? a:1 : indent(a:lnum)
@@ -119,7 +111,7 @@ function GetYAMLIndent(lnum)
"
" - |-
" Block scalar without indentation indicator
return previndent+s:shiftwidth()
return previndent+shiftwidth()
elseif prevline =~# '\v[:-]\ [|>]%(\d+[+\-]?|[+\-]?\d+)%(\#.*|\s*)$'
" - |+2
" block scalar with indentation indicator
@@ -155,7 +147,7 @@ function GetYAMLIndent(lnum)
\ '\v)%(\s+|\s*%(\#.*)?$))*'
" Mapping with: value
" that is multiline scalar
return previndent+s:shiftwidth()
return previndent+shiftwidth()
endif
return previndent
endfunction

View File

@@ -1,11 +1,15 @@
" Vim support file to detect file types in scripts
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2017 Mar 04
" Last change: 2017 Jun 11
" This file is called by an autocommand for every file that has just been
" loaded into a buffer. It checks if the type of file can be recognized by
" the file contents. The autocommand is in $VIMRUNTIME/filetype.vim.
"
" Note that the pattern matches are done with =~# to avoid the value of the
" 'ignorecase' option making a difference. Where case is to be ignored use
" =~? instead. Do not use =~ anywhere.
" Only do the rest when the FileType autocommand has not been triggered yet.
@@ -28,12 +32,12 @@ set cpo&vim
let s:line1 = getline(1)
if s:line1 =~ "^#!"
if s:line1 =~# "^#!"
" A script that starts with "#!".
" Check for a line like "#!/usr/bin/env VAR=val bash". Turn it into
" "#!/usr/bin/bash" to make matching easier.
if s:line1 =~ '^#!\s*\S*\<env\s'
if s:line1 =~# '^#!\s*\S*\<env\s'
let s:line1 = substitute(s:line1, '\S\+=\S\+', '', 'g')
let s:line1 = substitute(s:line1, '\<env\s\+', '', '')
endif
@@ -44,11 +48,11 @@ if s:line1 =~ "^#!"
" "#!/usr/bin/env perl [path/args]"
" If there is no path use the first word: "#!perl [path/args]".
" Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]".
if s:line1 =~ '^#!\s*\a:[/\\]'
if s:line1 =~# '^#!\s*\a:[/\\]'
let s:name = substitute(s:line1, '^#!.*[/\\]\(\i\+\).*', '\1', '')
elseif s:line1 =~ '^#!.*\<env\>'
elseif s:line1 =~# '^#!.*\<env\>'
let s:name = substitute(s:line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
elseif s:line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
elseif s:line1 =~# '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
let s:name = substitute(s:line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
else
let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
@@ -56,16 +60,16 @@ if s:line1 =~ "^#!"
" tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
" third line. Suggested by Steven Atkinson.
if getline(3) =~ '^exec wish'
if getline(3) =~# '^exec wish'
let s:name = 'wish'
endif
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
if s:name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>'
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
call SetFileTypeSH(s:line1) " defined in filetype.vim
" csh scripts
elseif s:name =~ '^csh\>'
elseif s:name =~# '^csh\>'
if exists("g:filetype_csh")
call SetFileTypeShell(g:filetype_csh)
else
@@ -73,99 +77,99 @@ if s:line1 =~ "^#!"
endif
" tcsh scripts
elseif s:name =~ '^tcsh\>'
elseif s:name =~# '^tcsh\>'
call SetFileTypeShell("tcsh")
" Z shell scripts
elseif s:name =~ '^zsh\>'
elseif s:name =~# '^zsh\>'
set ft=zsh
" TCL scripts
elseif s:name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
elseif s:name =~# '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
set ft=tcl
" Expect scripts
elseif s:name =~ '^expect\>'
elseif s:name =~# '^expect\>'
set ft=expect
" Gnuplot scripts
elseif s:name =~ '^gnuplot\>'
elseif s:name =~# '^gnuplot\>'
set ft=gnuplot
" Makefiles
elseif s:name =~ 'make\>'
elseif s:name =~# 'make\>'
set ft=make
" Lua
elseif s:name =~ 'lua'
elseif s:name =~# 'lua'
set ft=lua
" Perl 6
elseif s:name =~ 'perl6'
elseif s:name =~# 'perl6'
set ft=perl6
" Perl
elseif s:name =~ 'perl'
elseif s:name =~# 'perl'
set ft=perl
" PHP
elseif s:name =~ 'php'
elseif s:name =~# 'php'
set ft=php
" Python
elseif s:name =~ 'python'
elseif s:name =~# 'python'
set ft=python
" Groovy
elseif s:name =~ '^groovy\>'
elseif s:name =~# '^groovy\>'
set ft=groovy
" Ruby
elseif s:name =~ 'ruby'
elseif s:name =~# 'ruby'
set ft=ruby
" JavaScript
elseif s:name =~ 'node\(js\)\=\>' || s:name =~ 'rhino\>'
elseif s:name =~# 'node\(js\)\=\>' || s:name =~# 'rhino\>'
set ft=javascript
" BC calculator
elseif s:name =~ '^bc\>'
elseif s:name =~# '^bc\>'
set ft=bc
" sed
elseif s:name =~ 'sed\>'
elseif s:name =~# 'sed\>'
set ft=sed
" OCaml-scripts
elseif s:name =~ 'ocaml'
elseif s:name =~# 'ocaml'
set ft=ocaml
" Awk scripts
elseif s:name =~ 'awk\>'
elseif s:name =~# 'awk\>'
set ft=awk
" Website MetaLanguage
elseif s:name =~ 'wml'
elseif s:name =~# 'wml'
set ft=wml
" Scheme scripts
elseif s:name =~ 'scheme'
elseif s:name =~# 'scheme'
set ft=scheme
" CFEngine scripts
elseif s:name =~ 'cfengine'
elseif s:name =~# 'cfengine'
set ft=cfengine
" Erlang scripts
elseif s:name =~ 'escript'
elseif s:name =~# 'escript'
set ft=erlang
" Haskell
elseif s:name =~ 'haskell'
elseif s:name =~# 'haskell'
set ft=haskell
" Scala
elseif s:name =~ 'scala\>'
elseif s:name =~# 'scala\>'
set ft=scala
endif
@@ -180,28 +184,28 @@ else
let s:line5 = getline(5)
" Bourne-like shell scripts: sh ksh bash bash2
if s:line1 =~ '^:$'
if s:line1 =~# '^:$'
call SetFileTypeSH(s:line1) " defined in filetype.vim
" Z shell scripts
elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' ||
\ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
\ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~# '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
set ft=zsh
" ELM Mail files
elseif s:line1 =~ '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
elseif s:line1 =~# '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
set ft=mail
" Mason
elseif s:line1 =~ '^<[%&].*>'
elseif s:line1 =~# '^<[%&].*>'
set ft=mason
" Vim scripts (must have '" vim' as the first line to trigger this)
elseif s:line1 =~ '^" *[vV]im$'
elseif s:line1 =~# '^" *[vV]im$'
set ft=vim
" MOO
elseif s:line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
elseif s:line1 =~# '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
set ft=moo
" Diff file:
@@ -215,29 +219,29 @@ else
" - "=== ", "--- ", "+++ " (bzr diff, common case)
" - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
" - "# HG changeset patch" in first line (Mercurial export format)
elseif s:line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
\ || (s:line1 =~ '^--- ' && s:line2 =~ '^+++ ')
\ || (s:line1 =~ '^\* looking for ' && s:line2 =~ '^\* comparing to ')
\ || (s:line1 =~ '^\*\*\* ' && s:line2 =~ '^--- ')
\ || (s:line1 =~ '^=== ' && ((s:line2 =~ '^=\{66\}' && s:line3 =~ '^--- ' && s:line4 =~ '^+++') || (s:line2 =~ '^--- ' && s:line3 =~ '^+++ ')))
\ || (s:line1 =~ '^=== \(removed\|added\|renamed\|modified\)')
elseif s:line1 =~# '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
\ || (s:line1 =~# '^--- ' && s:line2 =~# '^+++ ')
\ || (s:line1 =~# '^\* looking for ' && s:line2 =~# '^\* comparing to ')
\ || (s:line1 =~# '^\*\*\* ' && s:line2 =~# '^--- ')
\ || (s:line1 =~# '^=== ' && ((s:line2 =~# '^=\{66\}' && s:line3 =~# '^--- ' && s:line4 =~# '^+++') || (s:line2 =~# '^--- ' && s:line3 =~# '^+++ ')))
\ || (s:line1 =~# '^=== \(removed\|added\|renamed\|modified\)')
set ft=diff
" PostScript Files (must have %!PS as the first line, like a2ps output)
elseif s:line1 =~ '^%![ \t]*PS'
elseif s:line1 =~# '^%![ \t]*PS'
set ft=postscr
" M4 scripts: Guess there is a line that starts with "dnl".
elseif s:line1 =~ '^\s*dnl\>'
\ || s:line2 =~ '^\s*dnl\>'
\ || s:line3 =~ '^\s*dnl\>'
\ || s:line4 =~ '^\s*dnl\>'
\ || s:line5 =~ '^\s*dnl\>'
elseif s:line1 =~# '^\s*dnl\>'
\ || s:line2 =~# '^\s*dnl\>'
\ || s:line3 =~# '^\s*dnl\>'
\ || s:line4 =~# '^\s*dnl\>'
\ || s:line5 =~# '^\s*dnl\>'
set ft=m4
" AmigaDos scripts
elseif $TERM == "amiga"
\ && (s:line1 =~ "^;" || s:line1 =~ '^\.[bB][rR][aA]')
\ && (s:line1 =~# "^;" || s:line1 =~? '^\.bra')
set ft=amiga
" SiCAD scripts (must have procn or procd as the first line to trigger this)
@@ -245,15 +249,15 @@ else
set ft=sicad
" Purify log files start with "**** Purify"
elseif s:line1 =~ '^\*\*\*\* Purify'
elseif s:line1 =~# '^\*\*\*\* Purify'
set ft=purifylog
" XML
elseif s:line1 =~ '<?\s*xml.*?>'
elseif s:line1 =~# '<?\s*xml.*?>'
set ft=xml
" XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN")
elseif s:line1 =~ '\<DTD\s\+XHTML\s'
elseif s:line1 =~# '\<DTD\s\+XHTML\s'
set ft=xhtml
" HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
@@ -262,96 +266,96 @@ else
set ft=html
" PDF
elseif s:line1 =~ '^%PDF-'
elseif s:line1 =~# '^%PDF-'
set ft=pdf
" XXD output
elseif s:line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
elseif s:line1 =~# '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
set ft=xxd
" RCS/CVS log output
elseif s:line1 =~ '^RCS file:' || s:line2 =~ '^RCS file:'
elseif s:line1 =~# '^RCS file:' || s:line2 =~# '^RCS file:'
set ft=rcslog
" CVS commit
elseif s:line2 =~ '^CVS:' || getline("$") =~ '^CVS: '
elseif s:line2 =~# '^CVS:' || getline("$") =~# '^CVS: '
set ft=cvs
" Prescribe
elseif s:line1 =~ '^!R!'
elseif s:line1 =~# '^!R!'
set ft=prescribe
" Send-pr
elseif s:line1 =~ '^SEND-PR:'
elseif s:line1 =~# '^SEND-PR:'
set ft=sendpr
" SNNS files
elseif s:line1 =~ '^SNNS network definition file'
elseif s:line1 =~# '^SNNS network definition file'
set ft=snnsnet
elseif s:line1 =~ '^SNNS pattern definition file'
elseif s:line1 =~# '^SNNS pattern definition file'
set ft=snnspat
elseif s:line1 =~ '^SNNS result file'
elseif s:line1 =~# '^SNNS result file'
set ft=snnsres
" Virata
elseif s:line1 =~ '^%.\{-}[Vv]irata'
\ || s:line2 =~ '^%.\{-}[Vv]irata'
\ || s:line3 =~ '^%.\{-}[Vv]irata'
\ || s:line4 =~ '^%.\{-}[Vv]irata'
\ || s:line5 =~ '^%.\{-}[Vv]irata'
elseif s:line1 =~# '^%.\{-}[Vv]irata'
\ || s:line2 =~# '^%.\{-}[Vv]irata'
\ || s:line3 =~# '^%.\{-}[Vv]irata'
\ || s:line4 =~# '^%.\{-}[Vv]irata'
\ || s:line5 =~# '^%.\{-}[Vv]irata'
set ft=virata
" Strace
elseif s:line1 =~ '^\(\[pid \d\+\] \)\=[0-9:.]* *execve(' || s:line1 =~ '^__libc_start_main'
elseif s:line1 =~# '^\(\[pid \d\+\] \)\=[0-9:.]* *execve(' || s:line1 =~# '^__libc_start_main'
set ft=strace
" VSE JCL
elseif s:line1 =~ '^\* $$ JOB\>' || s:line1 =~ '^// *JOB\>'
elseif s:line1 =~# '^\* $$ JOB\>' || s:line1 =~# '^// *JOB\>'
set ft=vsejcl
" TAK and SINDA
elseif s:line4 =~ 'K & K Associates' || s:line2 =~ 'TAK 2000'
elseif s:line4 =~# 'K & K Associates' || s:line2 =~# 'TAK 2000'
set ft=takout
elseif s:line3 =~ 'S Y S T E M S I M P R O V E D '
elseif s:line3 =~# 'S Y S T E M S I M P R O V E D '
set ft=sindaout
elseif getline(6) =~ 'Run Date: '
elseif getline(6) =~# 'Run Date: '
set ft=takcmp
elseif getline(9) =~ 'Node File 1'
elseif getline(9) =~# 'Node File 1'
set ft=sindacmp
" DNS zone files
elseif s:line1.s:line2.s:line3.s:line4 =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA'
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA'
set ft=bindzone
" BAAN
elseif s:line1 =~ '|\*\{1,80}' && s:line2 =~ 'VRC '
\ || s:line2 =~ '|\*\{1,80}' && s:line3 =~ 'VRC '
elseif s:line1 =~# '|\*\{1,80}' && s:line2 =~# 'VRC '
\ || s:line2 =~# '|\*\{1,80}' && s:line3 =~# 'VRC '
set ft=baan
" Valgrind
elseif s:line1 =~ '^==\d\+== valgrind' || s:line3 =~ '^==\d\+== Using valgrind'
elseif s:line1 =~# '^==\d\+== valgrind' || s:line3 =~# '^==\d\+== Using valgrind'
set ft=valgrind
" Go docs
elseif s:line1 =~ '^PACKAGE DOCUMENTATION$'
elseif s:line1 =~# '^PACKAGE DOCUMENTATION$'
set ft=godoc
" Renderman Interface Bytestream
elseif s:line1 =~ '^##RenderMan'
elseif s:line1 =~# '^##RenderMan'
set ft=rib
" Scheme scripts
elseif s:line1 =~ 'exec\s\+\S*scheme' || s:line2 =~ 'exec\s\+\S*scheme'
elseif s:line1 =~# 'exec\s\+\S*scheme' || s:line2 =~# 'exec\s\+\S*scheme'
set ft=scheme
" Git output
elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
elseif s:line1 =~# '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
set ft=git
" Gprof (gnu profiler)
elseif s:line1 == 'Flat profile:'
\ && s:line2 == ''
\ && s:line3 =~ '^Each sample counts as .* seconds.$'
\ && s:line3 =~# '^Each sample counts as .* seconds.$'
set ft=gprof
" Erlang terms
@@ -362,18 +366,18 @@ else
" CVS diff
else
let s:lnum = 1
while getline(s:lnum) =~ "^? " && s:lnum < line("$")
while getline(s:lnum) =~# "^? " && s:lnum < line("$")
let s:lnum += 1
endwhile
if getline(s:lnum) =~ '^Index:\s\+\f\+$'
if getline(s:lnum) =~# '^Index:\s\+\f\+$'
set ft=diff
" locale input files: Formal Definitions of Cultural Conventions
" filename must be like en_US, fr_FR@euro or en_US.UTF-8
elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
elseif expand("%") =~# '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
let s:lnum = 1
while s:lnum < 100 && s:lnum < line("$")
if getline(s:lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
if getline(s:lnum) =~# '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
setf fdcc
break
endif

View File

@@ -2,7 +2,7 @@
" Language: C++
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
" Last Change: 2016 Oct 28
" Last Change: 2017 Jun 05
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -48,7 +48,7 @@ endif
if !exists("cpp_no_cpp14")
syn case ignore
syn match cppNumber display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" contains=cFloat
syn match cppNumber display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
syn case match
endif

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2016 Nov 12
" Last Change: 2017 Apr 23
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim
" Standard syntax initialization
@@ -14,14 +14,14 @@ endif
" Case doesn't matter for us
syn case ignore
let urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
let binNMU='binary-only=yes'
let s:urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
let s:binNMU='binary-only=yes'
" Define some common expressions we can use later on
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"'
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"

View File

@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2016 Nov 12
" Last Change: 2017 Apr 22
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
" Standard syntax initialization
@@ -25,7 +25,7 @@ let s:supported = [
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
\
\ 'precise', 'trusty', 'xenial', 'yakkety', 'zesty', 'devel'
\ 'trusty', 'xenial', 'yakkety', 'zesty', 'artful', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
@@ -33,15 +33,15 @@ let s:unsupported = [
\
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
\ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy',
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
\ 'utopic', 'vivid', 'wily'
\ ]
let &cpo=s:cpo
" Match uri's
syn match debsourcesUri +\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+'
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[:alnum:]_./]*\)+'
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Haskell
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
" Last Change: 2008 Dec 15
" Last Change: 2017 Jun 04
" Original Author: John Williams <jrw@pobox.com>
"
" Thanks to Ryan Crumley for suggestions and John Meacham for
@@ -62,7 +62,7 @@ syn match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hs
syn match hsNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"
syn match hsFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
" Keyword definitions. These must be patters instead of keywords
" Keyword definitions. These must be patterns instead of keywords
" because otherwise they would match as keywords at the start of a
" "literate" comment (see lhs.vim).
syn match hsModule "\<module\>"

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2016 Sep 02
" Last Change: 2017 Jun 13
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -54,7 +54,8 @@ else
syn match helpIgnore "." contained
endif
syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
syn keyword helpWarning WARNING: Warning:
syn keyword helpWarning WARNING WARNING: Warning:
syn keyword helpDeprecated DEPRECATED DEPRECATED: Deprecated:
syn match helpSpecial "\<N\>"
syn match helpSpecial "\<N\.$"me=e-1
syn match helpSpecial "\<N\.\s"me=e-2
@@ -171,6 +172,7 @@ hi def link helpNotVi Special
hi def link helpSpecial Special
hi def link helpNote Todo
hi def link helpWarning Todo
hi def link helpDeprecated Todo
hi def link helpComment Comment
hi def link helpConstant Constant

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: php PHP 3/4/5/7
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
" Last Change: Apr 28, 2017
" Last Change: Jun 09, 2017
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
@@ -197,7 +197,7 @@ syn keyword phpFunctions nsapi_request_headers nsapi_response_headers nsapi_vir
syn keyword phpFunctions aggregate_info aggregate_methods_by_list aggregate_methods_by_regexp aggregate_methods aggregate_properties_by_list aggregate_properties_by_regexp aggregate_properties aggregate aggregation_info deaggregate contained
syn keyword phpFunctions ocibindbyname ocicancel ocicloselob ocicollappend ocicollassign ocicollassignelem ocicollgetelem ocicollmax ocicollsize ocicolltrim ocicolumnisnull ocicolumnname ocicolumnprecision ocicolumnscale ocicolumnsize ocicolumntype ocicolumntyperaw ocicommit ocidefinebyname ocierror ociexecute ocifetch ocifetchinto ocifetchstatement ocifreecollection ocifreecursor ocifreedesc ocifreestatement ociinternaldebug ociloadlob ocilogoff ocilogon ocinewcollection ocinewcursor ocinewdescriptor ocinlogon ocinumcols ociparse ociplogon ociresult ocirollback ocirowcount ocisavelob ocisavelobfile ociserverversion ocisetprefetch ocistatementtype ociwritelobtofile ociwritetemporarylob contained
syn keyword phpFunctions odbc_autocommit odbc_binmode odbc_close_all odbc_close odbc_columnprivileges odbc_columns odbc_commit odbc_connect odbc_cursor odbc_data_source odbc_do odbc_error odbc_errormsg odbc_exec odbc_execute odbc_fetch_array odbc_fetch_into odbc_fetch_object odbc_fetch_row odbc_field_len odbc_field_name odbc_field_num odbc_field_precision odbc_field_scale odbc_field_type odbc_foreignkeys odbc_free_result odbc_gettypeinfo odbc_longreadlen odbc_next_result odbc_num_fields odbc_num_rows odbc_pconnect odbc_prepare odbc_primarykeys odbc_procedurecolumns odbc_procedures odbc_result_all odbc_result odbc_rollback odbc_setoption odbc_specialcolumns odbc_statistics odbc_tableprivileges odbc_tables contained
syn keyword phpFunctions openssl_csr_export_to_file openssl_csr_export openssl_csr_new openssl_csr_sign openssl_error_string openssl_free_key openssl_get_privatekey openssl_get_publickey openssl_open openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkey_export_to_file openssl_pkey_export openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_seal openssl_sign openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export_to_file openssl_x509_export openssl_x509_free openssl_x509_parse openssl_x509_read contained
syn keyword phpFunctions openssl_cipher_iv_length openssl_csr_export_to_file openssl_csr_export openssl_csr_get_public_key openssl_csr_get_subject openssl_csr_new openssl_csr_sign openssl_decrypt openssl_dh_compute_key openssl_digest openssl_encrypt openssl_error_string openssl_free_key openssl_get_cert_locations openssl_get_cipher_methods openssl_get_md_methods openssl_get_privatekey openssl_get_publickey openssl_open openssl_pbkdf2 openssl_pkcs12_export_to_file openssl_pkcs12_export openssl_pkcs12_read openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkey_export_to_file openssl_pkey_export openssl_pkey_free openssl_pkey_get_details openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_random_pseudo_bytes openssl_seal openssl_sign openssl_spki_export_challenge openssl_spki_export openssl_spki_new openssl_spki_verify openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export_to_file openssl_x509_export openssl_x509_fingerprint openssl_x509_free openssl_x509_parse openssl_x509_read contained
syn keyword phpFunctions ora_bind ora_close ora_columnname ora_columnsize ora_columntype ora_commit ora_commitoff ora_commiton ora_do ora_error ora_errorcode ora_exec ora_fetch_into ora_fetch ora_getcolumn ora_logoff ora_logon ora_numcols ora_numrows ora_open ora_parse ora_plogon ora_rollback contained
syn keyword phpFunctions flush ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_get_status ob_gzhandler ob_implicit_flush ob_list_handlers ob_start output_add_rewrite_var output_reset_rewrite_vars contained
syn keyword phpFunctions overload contained

View File

@@ -3,6 +3,7 @@
" http://www.unicode.org/Public/5.1.0/ucd/UCD.html
" For the other files see the header.
"
" Might need to update the URL to the emoji-data.txt
" Usage: Vim -S <this-file>
"
" Author: Bram Moolenaar
@@ -382,8 +383,9 @@ let s:ambitable = []
call BuildWidthTable('A', 'ambiguous')
" Edit the emoji text file. Requires the netrw plugin.
edit http://www.unicode.org/Public/emoji/3.0/emoji-data.txt
edit http://unicode.org/Public/emoji/5.0/emoji-data.txt
"edit http://www.unicode.org/Public/emoji/latest/emoji-data.txt
" Build the emoji table. Ver. 1.0 - 6.0
" Must come after the "ambiguous" table
call BuildEmojiTable('; Emoji\s\+# [1-6]\.[0-9]', 'emoji')
call BuildEmojiTable('; Emoji\s\+#\s\+\d\+\.\d', 'emoji')

View File

@@ -1,11 +1,14 @@
# Makefile for GvimExt, using MSVC
# Options:
# DEBUG=yes Build debug version (for VC7 and maybe later)
# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set
# automatically from CPUNR
#
TARGETOS=WINNT
TARGETOS = WINNT
!ifndef APPVER
APPVER=5.0
APPVER = 5.01
!endif
!if "$(DEBUG)" != "yes"
@@ -37,6 +40,9 @@ CPU = i386
!include <Win32.mak>
!endif
# include CPUARG
cflags = $(cflags) $(CPUARG)
all: gvimext.dll
gvimext.dll: gvimext.obj \

View File

@@ -1,7 +1,7 @@
# Makefile for Vim on Win32 (Windows XP/2003/Vista/7/8/10) and Win64,
# using the Microsoft Visual C++ compilers. Known to work with VC5, VC6 (VS98),
# VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005), VC9 (VS2008), VC10 (VS2010),
# VC11 (VS2012), VC12 (VS2013) and VC14 (VS2015)
# VC11 (VS2012), VC12 (VS2013), VC14 (VS2015) and VC15 (VS2017)
#
# To build using other Windows compilers, see INSTALLpc.txt
#
@@ -108,10 +108,15 @@
#
# Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
#
# Processor Version: CPUNR=[i386, i486, i586, i686, pentium4] (default is
# i386)
# Processor Version: CPUNR=[any, i586, i686, sse, sse2, avx, avx2] (default is
# any)
# avx is available on Visual C++ 2010 and after.
# avx2 is available on Visual C++ 2013 Update 2 and after.
#
# Version Support: WINVER=[0x0501, 0x0600] (default is 0x0501)
# Version Support: WINVER=[0x0501, 0x0502, 0x0600, 0x0601, 0x0602,
# 0x0603, 0x0A00] (default is 0x0501)
# Supported versions depends on your target SDK, check SDKDDKVer.h
# See https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt
#
# Debug version: DEBUG=yes
# Mapfile: MAP=[no, yes or lines] (default is yes)
@@ -270,11 +275,31 @@ MAKEFLAGS_GVIMEXT = DEBUG=yes
!if $(MSVCVER) < 1900
MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
MSVCRT_VER = ($(MSVCVER) / 10 - 60)
# Visual C++ 2017 needs special handling
# it has an _MSC_VER of 1910->14.1, but is actually v15 with runtime v140
!elseif $(MSVCVER) == 1910
MSVC_MAJOR = 15
MSVCRT_VER = 140
!else
MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
MSVCRT_VER = ($(MSVCVER) / 10 - 50)
!endif
# Calculate MSVC_FULL for Visual C++ 8 and up.
!if $(MSVC_MAJOR) >= 8
! if [echo MSVC_FULL=_MSC_FULL_VER> msvcfullver.c && $(CC) /EP msvcfullver.c > msvcfullver.~ 2> nul]
! message *** ERROR
! message Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH.
! message This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed.
! error Make aborted.
! else
! include msvcfullver.~
! if [del msvcfullver.c msvcfullver.~]
! endif
! endif
!endif
# Calculate MSVCRT_VER
!if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0
!include msvcrtver.~
@@ -446,27 +471,95 @@ DEL_TREE = rmdir /s /q
INTDIR=$(OBJDIR)
OUTDIR=$(OBJDIR)
### Validate CPUNR
!ifndef CPUNR
# default to untargeted code
CPUNR = any
!elseif "$(CPUNR)" == "i386" || "$(CPUNR)" == "i486"
# alias i386 and i486 to i586
! message *** WARNING CPUNR=$(CPUNR) is not a valid target architecture.
! message Windows XP is the minimum target OS, with a minimum target
! message architecture of i586.
! message Retargeting to i586
CPUNR = i586
!elseif "$(CPUNR)" == "pentium4"
# alias pentium4 to sse2
! message *** WARNING CPUNR=pentium4 is deprecated in favour of sse2.
! message Retargeting to sse2.
CPUNR = sse2
!elseif "$(CPUNR)" != "any" && "$(CPUNR)" != "i586" && "$(CPUNR)" != "i686" && "$(CPUNR)" != "sse" && "$(CPUNR)" != "sse2" && "$(CPUNR)" != "avx" && "$(CPUNR)" != "avx2"
! error *** ERROR Unknown target architecture "$(CPUNR)". Make aborted.
!endif
# Convert processor ID to MVC-compatible number
!if $(MSVC_MAJOR) < 8
!if "$(CPUNR)" == "i386"
CPUARG = /G3
!elseif "$(CPUNR)" == "i486"
CPUARG = /G4
!elseif "$(CPUNR)" == "i586"
! if "$(CPUNR)" == "i586"
CPUARG = /G5
!elseif "$(CPUNR)" == "i686"
! elseif "$(CPUNR)" == "i686"
CPUARG = /G6
!elseif "$(CPUNR)" == "pentium4"
! elseif "$(CPUNR)" == "sse"
CPUARG = /G6 /arch:SSE
! elseif "$(CPUNR)" == "sse2"
CPUARG = /G7 /arch:SSE2
!else
! elseif "$(CPUNR)" == "avx" || "$(CPUNR)" == "avx2"
! message AVX/AVX2 Instruction Sets are not supported by Visual C++ v$(MSVC_MAJOR)
! message Falling back to SSE2
CPUARG = /G7 /arch:SSE2
! elseif "$(CPUNR)" == "any"
CPUARG =
!endif
! endif
!else
# VC8/9/10 only allows specifying SSE architecture but only for 32bit
!if "$(ASSEMBLY_ARCHITECTURE)" == "i386" && "$(CPUNR)" == "pentium4"
# IA32/SSE/SSE2 are only supported on x86
! if "$(ASSEMBLY_ARCHITECTURE)" == "i386" && ("$(CPUNR)" == "i586" || "$(CPUNR)" == "i686" || "$(CPUNR)" == "any")
# VC<11 generates fp87 code by default
! if $(MSVC_MAJOR) < 11
CPUARG =
# VC>=11 needs explicit insturctions to generate fp87 code
! else
CPUARG = /arch:IA32
! endif
! elseif "$(ASSEMBLY_ARCHITECTURE)" == "i386" && "$(CPUNR)" == "sse"
CPUARG = /arch:SSE
! elseif "$(ASSEMBLY_ARCHITECTURE)" == "i386" && "$(CPUNR)" == "sse2"
CPUARG = /arch:SSE2
! elseif "$(CPUNR)" == "avx"
# AVX is only supported by VC 10 and up
! if $(MSVC_MAJOR) < 10
! message AVX Instruction Set is not supported by Visual C++ v$(MSVC_MAJOR)
! if "$(ASSEMBLY_ARCHITECTURE)" == "i386"
! message Falling back to SSE2
CPUARG = /arch:SSE2
! else
CPUARG =
! endif
! else
CPUARG = /arch:AVX
! endif
! elseif "$(CPUNR)" == "avx2"
# AVX is only supported by VC 10 and up
! if $(MSVC_MAJOR) < 10
! message AVX2 Instruction Set is not supported by Visual C++ v$(MSVC_MAJOR)
! if "$(ASSEMBLY_ARCHITECTURE)" == "i386"
! message Falling back to SSE2
CPUARG = /arch:SSE2
! else
CPUARG =
! endif
# AVX2 is only supported by VC 12U2 and up
# 180030501 is the full version number for Visual Studio 2013/VC 12 Update 2
! elseif $(MSVC_FULL) < 180030501
! message AVX2 Instruction Set is not supported by Visual C++ v$(MSVC_MAJOR)-$(MSVC_FULL)
! message Falling back to AVX
CPUARG = /arch:AVX
! else
CPUARG = /arch:AVX2
! endif
! endif
!endif
!endif
# Pass CPUARG to GVimExt, to avoid using version-dependent defaults
MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) CPUARG="$(CPUARG)"
LIBC =
DEBUGINFO = /Zi

View File

@@ -2087,7 +2087,7 @@ test1 \
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
test40 test41 test42 test43 test44 test45 test48 test49 \
test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
test60 test64 test65 test66 test67 test68 test69 \
test60 test64 test66 test67 test68 test69 \
test70 test72 test73 test74 test75 test77 test78 test79 \
test80 test82 test83 test84 test85 test86 test87 test88 \
test90 test91 test94 test95 test97 test98 test99 \

7
src/auto/configure vendored
View File

@@ -8997,11 +8997,6 @@ $as_echo "no" >&6; }
fi
fi
if test "x$GUITYPE" = "xGTK"; then
if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \
|| test "0$gtk_minor_version" -ge 2; then
$as_echo "#define HAVE_GTK_MULTIHEAD 1" >>confdefs.h
fi
if test -z "$SKIP_GNOME"; then
{
@@ -9294,8 +9289,6 @@ $as_echo "no" >&6; }
SKIP_MOTIF=YES
GUITYPE=GTK
$as_echo "#define HAVE_GTK_MULTIHEAD 1" >>confdefs.h
$as_echo "#define USE_GTK3 1" >>confdefs.h
fi

View File

@@ -372,7 +372,7 @@ open_buffer(
set_bufref(bufref_T *bufref, buf_T *buf)
{
bufref->br_buf = buf;
bufref->br_fnum = buf->b_fnum;
bufref->br_fnum = buf == NULL ? 0 : buf->b_fnum;
bufref->br_buf_free_count = buf_free_count;
}
@@ -2352,8 +2352,8 @@ buflist_getfile(
#endif
++RedrawingDisabled;
if (getfile(buf->b_fnum, NULL, NULL, (options & GETF_SETMARK),
lnum, forceit) <= 0)
if (GETFILE_SUCCESS(getfile(buf->b_fnum, NULL, NULL,
(options & GETF_SETMARK), lnum, forceit)))
{
--RedrawingDisabled;

View File

@@ -398,9 +398,6 @@
/* Define if you use KDE and want KDE Toolbar support. */
#undef FEAT_KDETOOLBAR
/* Define if GTK+ multihead support is available (requires GTK+ >= 2.1.1). */
#undef HAVE_GTK_MULTIHEAD
/* Define if your X has own locale library */
#undef X_LOCALE

Some files were not shown because too many files have changed in this diff Show More