mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
129 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 18c7318124 | |||
| 2f0cd84c94 | |||
| 0f39305e52 | |||
| bc25430228 | |||
| b91903e9bf | |||
| df7b6fb380 | |||
| 655e0a80b3 | |||
| a7aeaef65e | |||
| 30dff84021 | |||
| f18be56366 | |||
| adcdbb690f | |||
| 3c85f00311 | |||
| ce0bd683e3 | |||
| 7ea9af9b10 | |||
| f3d6f0b01e | |||
| 4b5a527d4a | |||
| 4046505847 | |||
| cc1a55e6c4 | |||
| a53dd3c690 | |||
| 68f317fa38 | |||
| b62988d05c | |||
| e641c8f6ed | |||
| 51efe86365 | |||
| c71290698d | |||
| a21c226f09 | |||
| b8eb72ca27 | |||
| d0acf65cbe | |||
| 99331b8131 | |||
| 572449b0e6 | |||
| a3131d5010 | |||
| 877a51db85 | |||
| 53aae0317e | |||
| 9b49ab377a | |||
| 8c46de8ae3 | |||
| 93073ac9cf | |||
| 45e8b16450 | |||
| 189d751995 | |||
| a03c3d608b | |||
| fd80524752 | |||
| c2cd21ca76 | |||
| b1b90f0bcf | |||
| a162bc2b1e | |||
| 30f4c35c09 | |||
| 1d8eccce84 | |||
| 3f6a4d7b84 | |||
| 9c77e9b382 | |||
| 6c7a282e1e | |||
| 6c8e827b1a | |||
| 9b8c8f5a91 | |||
| ac1c59e0c7 | |||
| 8f926bf089 | |||
| c2ec86c1f8 | |||
| 64bb77db2b | |||
| 91d67154c4 | |||
| 6be3e4dbdf | |||
| c99b78c60e | |||
| d3b738cb51 | |||
| 9f10b732e4 | |||
| bfe9b1146a | |||
| 2a05336d23 | |||
| 0b0173ffb8 | |||
| facd368a90 | |||
| 98735fccb3 | |||
| 1c208b5f8c | |||
| 90a2abe6f7 | |||
| 835cc6e85d | |||
| be9645d627 | |||
| 155cd7fb26 | |||
| b8ccd38208 | |||
| 54ddb4bff3 | |||
| 76948c26ec | |||
| 6e7b06d73f | |||
| f54552be5c | |||
| bd42891612 | |||
| dc55da4915 | |||
| 04f77a4338 | |||
| 7574495bfe | |||
| 0f3e96b8c5 | |||
| 52f4da8fe0 | |||
| 9416bca31b | |||
| 25bd5e53f4 | |||
| 842c4dd447 | |||
| c33239dbbb | |||
| ac58a6bcd4 | |||
| 010635f861 | |||
| c972338008 | |||
| e14e2bd1fe | |||
| 4fafaa8b36 | |||
| 1af6c83e0a | |||
| 8e2a162bf8 | |||
| 9297019ba6 | |||
| 777ae8ac47 | |||
| 2a951b7156 | |||
| 4a96bd0f33 | |||
| c5c6bebf10 | |||
| 3fd86dc03a | |||
| 4ff15ba7b6 | |||
| abfb2163cb | |||
| aa8c48fe55 | |||
| a573223877 | |||
| c643a48c39 | |||
| 5dcb84635f | |||
| be17bc2cc2 | |||
| d7d89c9cad | |||
| 554e2eab32 | |||
| 9eb60f358e | |||
| cabbc20d87 | |||
| 581b7aaaf9 | |||
| 35a70f5453 | |||
| 3283d2bbe4 | |||
| cbeea0f01b | |||
| 335193bd5a | |||
| 0d8dfc45e3 | |||
| 6e441ac7a6 | |||
| 320b379bb2 | |||
| 56f7bc13ff | |||
| d2935a0ed5 | |||
| 967d2256bc | |||
| b062f605aa | |||
| bb1064ee26 | |||
| de6127d9b4 | |||
| aedeb427ba | |||
| 00534f3d3f | |||
| d14db7f619 | |||
| c49e96b843 | |||
| 308f3c53c5 | |||
| d3e0994de9 | |||
| 960c71130d | |||
| fe5039c278 |
@@ -2723,3 +2723,55 @@ ba37e955913e85700677b89a720c6e5fc8d23cc3 v7-4b-016
|
||||
059c8a4b103f6971276435127c7ad970a81b0b2c v7-4b-021
|
||||
d5d6b78cff090e87d52924179e44131b5ba7436d v7-4b-022
|
||||
359743c1f59af353454dd80a26d9f8c20ae6ee8e v7-4
|
||||
3e9107b86b68d83bfa94e43afffbf17623afe55e v7-4-001
|
||||
e29f11399ccec9215cc8cfab1f9307dea0567d70 v7-4-002
|
||||
560a6a2329503d483db019a88cacc3307e5c30b7 v7-4-003
|
||||
f6247eaf4e1d556f782321890d725663f74babe6 v7-4-004
|
||||
3640cf4c0d4b6e5687bb7a31678fab70c88ed94b v7-4-005
|
||||
2374a05efe20287d55bd824689a41becc7662505 v7-4-006
|
||||
4fe1dfc7014e57b4beb5a01c9e94357265d19a92 v7-4-007
|
||||
b04bdb2c5fce70a278d26c477debb65a388da0ca v7-4-008
|
||||
8b5d80861c5e0403ea9f54ddddce2752a463c8a5 v7-4-009
|
||||
bb358cc41d920983629ace62bcf26decbf06cab4 v7-4-010
|
||||
54e66395831c1a58b4a9804e7884e505842157e8 v7-4-011
|
||||
8e28c23e482c5b3c8296d8022271822886793456 v7-4-012
|
||||
07737d3aa81725672796cbc9a010d63414ab6fea v7-4-013
|
||||
9801d06e7b4ccdcd02cf40bee34eaaada0ca0409 v7-4-014
|
||||
a7478f9f2551e95bff138cd658f7a86ced804ab1 v7-4-015
|
||||
8d5cd0ec3e7183a289f9bac41d3981307cdc1fac v7-4-016
|
||||
c47c8cd5fe5c014c141d9fb3fa8935b268436a4e v7-4-017
|
||||
460d5be9395ef3e05f4b1397ea98a5b54d825fc5 v7-4-018
|
||||
d5eb32dc231cd870c562e7b0be96fa994b505d9f v7-4-019
|
||||
c1ae5baa41f47bbf96be81e0158707a88af48b34 v7-4-020
|
||||
c514693882b9f1c7be2e76a0307926df799da3ea v7-4-021
|
||||
965044860b7f4884657fcaa042853238c7b13e69 v7-4-022
|
||||
09361f13580b075b6e87707c47165e8d45ee98a5 v7-4-023
|
||||
00d61a47df66cad21b80c6a683164e8d19180045 v7-4-024
|
||||
9085d32d7424963013650805452ede5dad22211c v7-4-025
|
||||
6bbb2ae990c92f6858b86c047e16dd12183d4273 v7-4-026
|
||||
73cc7272de5e0173b9578f715c4794a8b3803bce v7-4-027
|
||||
923738744a60e5e0bd2d9990758a2169106807ca v7-4-028
|
||||
2d3fbc68b3a84ad2bf4d58c77244043328e3fb81 v7-4-029
|
||||
0978e99043d2a9faedb1a3bad75b59121c270bde v7-4-030
|
||||
b21b5dcdca2197fc86b9bde77bd6777f0e2d5175 v7-4-031
|
||||
71e92a1cb37db719d6406858a50ca3bdfc9881fb v7-4-032
|
||||
91f6a28e010d49ae73c13c85dbb8b14c9e5edb36 v7-4-033
|
||||
22dfcd1494e4f7ea8ddc96e8dd895482e77e3b5a v7-4-034
|
||||
5481f188dcbb7143596f2d470c7d674bf36efe64 v7-4-035
|
||||
90e2f0729a0df249931a2dbe5f4310ba6c91cab4 v7-4-036
|
||||
c3d379c2a115b957d82eaa5f2215b688f36a22da v7-4-037
|
||||
6daa78b6b99a2ec07d20336db47c9f8165098062 v7-4-038
|
||||
4dfba3df303c51fe31efd1255338e9fcbedc5401 v7-4-039
|
||||
8336fd924e057d8c797043430325379d9a3ae37b v7-4-040
|
||||
408f2a1a953feef25a2c5c96352c82674655e797 v7-4-041
|
||||
70915ede509a737ac78c421f43c4447c9682ba41 v7-4-042
|
||||
6d11572e2c8b1117b90adf588ff1467b185c1b57 v7-4-043
|
||||
c0e3990aed3f179ef006e6de1458e9818c9ab896 v7-4-044
|
||||
8ced827b2e8ba49f9ae0da2033670fee83e7b55b v7-4-045
|
||||
68056d414f09fccb39219d7fde77fa06769ffa3b v7-4-046
|
||||
c21b2f52f1dd003d860e3b574602ed3fdc2b4f1c v7-4-047
|
||||
31c9acfeda8f1b84d51a480c1efbb56f384e76b1 v7-4-048
|
||||
15c1b8a20da6d650ee3ed0e73c2e3832093b60dd v7-4-049
|
||||
eb33cadafcabfc9cb3fc0741e169e84cafec11f8 v7-4-050
|
||||
e7a2f217a385e6aebfddc4d29182924ac017d262 v7-4-051
|
||||
b9c1c1f4cda9b82a2e703feec441d865b4722d56 v7-4-052
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.4. Last change: 2013 Jul 17
|
||||
*change.txt* For Vim version 7.4. Last change: 2013 Aug 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1069,6 +1069,11 @@ another register. E.g., yank the text to copy, Visually select the text to
|
||||
replace and use "0p . You can repeat this as many times as you like, the
|
||||
unnamed register will be changed each time.
|
||||
|
||||
When you use a blockwise Visual mode command and yank only a single line into
|
||||
a register, a paste on a visual selected area will paste that single line on
|
||||
each of the selected lines (thus replacing the blockwise selected region by a
|
||||
block of the pasted line).
|
||||
|
||||
*blockwise-register*
|
||||
If you use a blockwise Visual mode command to get the text into the register,
|
||||
the block of text will be inserted before ("P") or after ("p") the cursor
|
||||
@@ -1126,6 +1131,8 @@ less than one line (the small delete register is used then). An exception is
|
||||
made for the delete operator with these movement commands: |%|, |(|, |)|, |`|,
|
||||
|/|, |?|, |n|, |N|, |{| and |}|. Register "1 is always used then (this is Vi
|
||||
compatible). The "- register is used as well if the delete is within a line.
|
||||
Note that these characters may be mapped. E.g. |%| is mapped by the matchit
|
||||
plugin.
|
||||
With each successive deletion or change, Vim shifts the previous contents
|
||||
of register 1 into register 2, 2 into 3, and so forth, losing the previous
|
||||
contents of register 9.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.4. Last change: 2013 Jul 07
|
||||
*diff.txt* For Vim version 7.4. Last change: 2013 Sep 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -123,10 +123,14 @@ Since the option values are remembered with the buffer, you can edit another
|
||||
file for a moment and come back to the same file and be in diff mode again.
|
||||
|
||||
*:diffo* *:diffoff*
|
||||
:diffo[ff] Switch off diff mode for the current window.
|
||||
:diffo[ff] Switch off diff mode for the current window. Resets related
|
||||
options also when 'diff' was not set.
|
||||
|
||||
:diffo[ff]! Switch off diff mode for the current window and in all windows
|
||||
in the current tab page where 'diff' is set.
|
||||
in the current tab page where 'diff' is set. Resetting
|
||||
related options only happens in a window that has 'diff' set,
|
||||
if the current window does not have 'diff' set then no options
|
||||
in it are changed.
|
||||
|
||||
The ":diffoff" command resets the relevant options to the values they had when
|
||||
using |:diffsplit|, |:diffpatch| , |:diffthis|. or starting Vim in diff mode.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*eval.txt* For Vim version 7.4. Last change: 2013 Aug 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -123,6 +123,7 @@ around the arguments, to invoke the function it refers to. Example: >
|
||||
:echo Fn()
|
||||
< *E704* *E705* *E707*
|
||||
A Funcref variable must start with a capital, "s:", "w:", "t:" or "b:". You
|
||||
can use "g:" but the following name must still start with a capital. You
|
||||
cannot have both a Funcref variable and a function with the same name.
|
||||
|
||||
A special case is defining a function and directly assigning its Funcref to a
|
||||
@@ -6337,6 +6338,7 @@ There are three types of features:
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
acl Compiled with |ACL| support.
|
||||
all_builtin_terms Compiled with all builtin terminals enabled.
|
||||
amiga Amiga version of Vim.
|
||||
arabic Compiled with Arabic support |Arabic|.
|
||||
@@ -6507,7 +6509,9 @@ windows Compiled with support for more than one window.
|
||||
writebackup Compiled with 'writebackup' default on.
|
||||
xfontset Compiled with X fontset support |xfontset|.
|
||||
xim Compiled with X input method support |xim|.
|
||||
xpm_w32 Compiled with pixmap support for Win32.
|
||||
xpm Compiled with pixmap support.
|
||||
xpm_w32 Compiled with pixmap support for Win32. (Only for
|
||||
backward compatibility. Use "xpm" instead.)
|
||||
xsmp Compiled with X session management support.
|
||||
xsmp_interact Compiled with interactive X session management support.
|
||||
xterm_clipboard Compiled with support for xterm clipboard.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 7.4. Last change: 2012 Jun 29
|
||||
*if_lua.txt* For Vim version 7.4. Last change: 2013 Sep 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
@@ -135,7 +135,7 @@ Vim evaluation and command execution, and others.
|
||||
<
|
||||
vim.funcref({name}) Returns a Funcref to function {name} (see
|
||||
|Funcref|). It is equivalent to Vim's
|
||||
"function".
|
||||
"function". NOT IMPLEMENTED YET
|
||||
|
||||
vim.buffer([arg]) If "arg" is a number, returns buffer with
|
||||
number "arg" in the buffer list or, if "arg"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 7.4. Last change: 2012 Oct 25
|
||||
*if_perl.txt* For Vim version 7.4. Last change: 2013 Oct 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
|
||||
@@ -581,8 +581,8 @@ CLOJURE *ft-clojure-indent* *clojure-indent*
|
||||
|
||||
Clojure indentation differs somewhat from traditional Lisps, due in part to
|
||||
the use of square and curly brackets, and otherwise by community convention.
|
||||
These conventions are not always universally followed, so the Clojure indent
|
||||
script offers a few configurable options, listed below.
|
||||
These conventions are not universally followed, so the Clojure indent script
|
||||
offers a few configurable options, listed below.
|
||||
|
||||
If the current vim does not include searchpairpos(), the indent script falls
|
||||
back to normal 'lisp' indenting, and the following options are ignored.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2013 Jul 17
|
||||
*index.txt* For Vim version 7.4. Last change: 2013 Oct 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1191,12 +1191,12 @@ tag command action ~
|
||||
|:digraphs| :dig[raphs] show or enter digraphs
|
||||
|:display| :di[splay] display registers
|
||||
|:djump| :dj[ump] jump to #define
|
||||
|:dl| :dl short for |:delete|
|
||||
|:dl| :del[ete]l short for |:delete|
|
||||
|:dl| :dl short for |:delete| with the 'l' flag
|
||||
|:dl| :del[ete]l short for |:delete| with the 'l' flag
|
||||
|:dlist| :dli[st] list #defines
|
||||
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|
||||
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|
||||
|:dp| :d[elete]p short for |:delete|
|
||||
|:dp| :d[elete]p short for |:delete| with the 'p' flag
|
||||
|:drop| :dr[op] jump to window editing file or edit file in
|
||||
current window
|
||||
|:dsearch| :ds[earch] list one #define
|
||||
|
||||
+4
-2
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*map.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -380,7 +380,7 @@ it's just used here for this situation.
|
||||
The simplest way to load a set of related language mappings is by using the
|
||||
'keymap' option. See |45.5|.
|
||||
In Insert mode and in Command-line mode the mappings can be disabled with
|
||||
the CTRL-^ command |i_CTRL-^| |c_CTRL-^| These commands change the value of
|
||||
the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of
|
||||
the 'iminsert' option. When starting to enter a normal command line (not a
|
||||
search pattern) the mappings are disabled until a CTRL-^ is typed. The state
|
||||
last used is remembered for Insert mode and Search patterns separately. The
|
||||
@@ -1359,6 +1359,8 @@ There are some special cases as well:
|
||||
In the cases of the -count and -register attributes, if the optional argument
|
||||
is supplied, it is removed from the argument list and is available to the
|
||||
replacement text separately.
|
||||
Note that these arguments can be abbreviated, but that is a deprecated
|
||||
feature. Use the full name for new scripts.
|
||||
|
||||
Replacement text
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2013 Jul 09
|
||||
*options.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1889,8 +1889,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not in Vi}
|
||||
A sequence of single character flags. When a character is present
|
||||
this indicates vi-compatible behavior. This is used for things where
|
||||
not being vi-compatible is mostly or sometimes preferred.
|
||||
this indicates Vi-compatible behavior. This is used for things where
|
||||
not being Vi-compatible is mostly or sometimes preferred.
|
||||
'cpoptions' stands for "compatible-options".
|
||||
Commas can be added for readability.
|
||||
To avoid problems with flags that are added in the future, use the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2011 Aug 14
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -24,7 +24,7 @@ prompt.
|
||||
|
||||
1. Getting started *vms-started*
|
||||
|
||||
Vim (Vi IMproved) is a vi-compatible text editor that runs on nearly every
|
||||
Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every
|
||||
operating system known to humanity. Now use Vim on OpenVMS too, in character
|
||||
or X/Motif environment. It is fully featured and absolutely compatible with
|
||||
Vim on other operating systems.
|
||||
|
||||
@@ -93,7 +93,7 @@ the default value of 'term' from the environment variable "TERM".
|
||||
$PATH *win32-PATH*
|
||||
|
||||
The directory of the Vim executable is appended to $PATH. This is mostly to
|
||||
make "!xxd' work, as it is in the Tools menu. And it also means that when
|
||||
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
||||
executable() returns 1 the executable can actually be executed.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -188,7 +188,7 @@ WINDOWS *vimball-windows*
|
||||
* Changed silent! to sil! (shorter)
|
||||
* Safed |'swf'| setting (during vimball extraction,
|
||||
its now turned off)
|
||||
32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
|
||||
32 : May 19, 2010 * (Christian Brabandt) :so someplugin.vba and
|
||||
:so someplugin.vba.gz (and the other supported
|
||||
compression types) now works
|
||||
* (Jan Steffens) added support for xz compression
|
||||
|
||||
+10
-12
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2013 Jul 05
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -3156,18 +3156,16 @@ The g:vimsyn_embed option allows users to select what, if any, types of
|
||||
embedded script highlighting they wish to have. >
|
||||
|
||||
g:vimsyn_embed == 0 : don't embed any scripts
|
||||
g:vimsyn_embed =~ 'm' : embed mzscheme (but only if vim supports it)
|
||||
g:vimsyn_embed =~ 'p' : embed perl (but only if vim supports it)
|
||||
g:vimsyn_embed =~ 'P' : embed python (but only if vim supports it)
|
||||
g:vimsyn_embed =~ 'r' : embed ruby (but only if vim supports it)
|
||||
g:vimsyn_embed =~ 't' : embed tcl (but only if vim supports it)
|
||||
g:vimsyn_embed =~ 'm' : support embedded mzscheme
|
||||
g:vimsyn_embed =~ 'p' : support embedded perl
|
||||
g:vimsyn_embed =~ 'P' : support embedded python
|
||||
g:vimsyn_embed =~ 'r' : support embedded ruby
|
||||
g:vimsyn_embed =~ 't' : support embedded tcl
|
||||
<
|
||||
By default, g:vimsyn_embed is "mpPr"; ie. syntax/vim.vim will support
|
||||
highlighting mzscheme, perl, python, and ruby by default. Vim's has("tcl")
|
||||
test appears to hang vim when tcl is not truly available. Thus, by default,
|
||||
tcl is not supported for embedding (but those of you who like tcl embedded in
|
||||
their vim syntax highlighting can simply include it in the g:vimembedscript
|
||||
option).
|
||||
By default, g:vimsyn_embed is a string supporting interpreters that your vim
|
||||
itself supports. Concatenate multiple characters to support multiple types
|
||||
of embedded interpreters; ie. g:vimsyn_embed= "mp" supports embedded mzscheme
|
||||
and embedded perl.
|
||||
*g:vimsyn_folding*
|
||||
|
||||
Some folding is now supported with syntax/vim.vim: >
|
||||
|
||||
@@ -1154,6 +1154,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+GUI_Photon various.txt /*+GUI_Photon*
|
||||
+GUI_neXtaw various.txt /*+GUI_neXtaw*
|
||||
+X11 various.txt /*+X11*
|
||||
+acl various.txt /*+acl*
|
||||
+arabic various.txt /*+arabic*
|
||||
+autocmd various.txt /*+autocmd*
|
||||
+balloon_eval various.txt /*+balloon_eval*
|
||||
@@ -1279,6 +1280,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+writebackup various.txt /*+writebackup*
|
||||
+xfontset various.txt /*+xfontset*
|
||||
+xim various.txt /*+xim*
|
||||
+xpm various.txt /*+xpm*
|
||||
+xpm_w32 various.txt /*+xpm_w32*
|
||||
+xsmp various.txt /*+xsmp*
|
||||
+xsmp_interact various.txt /*+xsmp_interact*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Jul 28
|
||||
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Oct 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -771,11 +771,11 @@ CTRL-W i Open a new window, with the cursor on the first line
|
||||
|
||||
*:dli* *:dlist*
|
||||
:[range]dli[st][!] [/]string[/]
|
||||
Like "[D" and "]D", but search in [range] lines
|
||||
Like `[D` and `]D`, but search in [range] lines
|
||||
(default: whole file).
|
||||
See |:search-args| for [/] and [!]. {not in Vi}
|
||||
Note that ":dl" works like ":delete" with the "l"
|
||||
register.
|
||||
Note that `:dl` works like `:delete` with the "l"
|
||||
flag, not `:dlist`.
|
||||
|
||||
*[_CTRL-D*
|
||||
[ CTRL-D Jump to the first macro definition that contains the
|
||||
|
||||
+120
-25
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2013 Aug 10
|
||||
*todo.txt* For Vim version 7.4. Last change: 2013 Oct 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,25 +34,105 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Problem positioning the cursor after auto-formatting without a comment. (Tor
|
||||
Perkins, 2013 Sep 1)
|
||||
|
||||
Using \1 in pattern goes one line too far. (Bohr Shaw, 2013 Sep 5)
|
||||
Column is OK. "/\v(^.+\n)\1/e" (John Little, Sep 5)
|
||||
Also, matches start of 2nd line, not the whole line.
|
||||
|
||||
Error for incomplete help argument. (John Beckett, 2013 Sep 12)
|
||||
|
||||
Popup menu: first item is not selected when typing more than one character?
|
||||
|
||||
Should win_redr_custom() not be allowed to use recursively?
|
||||
(Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
|
||||
NFA engine combining character mismatch. (glts, 2013 Aug 27)
|
||||
Remark Dominique, Aug 27
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Issue 164: freeze on regexp search.
|
||||
|
||||
Update for Clojure ftplugin. (Sung Pae). Await discussion about formatting in
|
||||
ftplugins.
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Patch to add "acl" and "xpm" as a feature. (Ken Takata, 2013 Jul 8)
|
||||
Patch to avoid problem with colon in file name. (Yasuhiro Matsumoto, 2013 Sep
|
||||
5) Only copy file name when needed: Sep 9.
|
||||
|
||||
Patch to make #N in 'cino' stop not indenting #lines. (Christian Brabandt,
|
||||
2013 Sep 25)
|
||||
|
||||
Include systemverilog file? Two votes yes.
|
||||
|
||||
Wrapping around end of file does not work for "." after "cgn". (Dimitar
|
||||
Dimitrov)
|
||||
Patch by Christian Brabandt, 2013 Aug 22
|
||||
|
||||
Clang error for integer overflow. (Dominique Pelle, 2013 Sep 21)
|
||||
|
||||
Patch to add v:hlsearch. (ZyX, 2013 Sep 22)
|
||||
|
||||
Problem with 'spellsuggest' file, only works for some words.
|
||||
(Cesar Romani, 2013 Aug 20) Depends on file name? (Aug 24)
|
||||
Additional remark by glts: the suggested words are marked bad?
|
||||
|
||||
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
|
||||
|
||||
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
|
||||
Patch to make has() check for Vim version and patch at the same time.
|
||||
(Marc Weber, 2013 Jun 7)
|
||||
|
||||
Patch to fix Visual-block insert using cursor keys. (Christian Brabandt, 2013
|
||||
Sep 28) With test Sept 29.
|
||||
|
||||
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
|
||||
instead. (Samuel Ferencik, 2013 Sep 28)
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
Win32: When a directory name contains an exclamation mark, completion doesn't
|
||||
complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5; 2013 Aug 20)
|
||||
Patch 2013 Sept 10, test: Sept 11.
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
"gUgn" cannot be repeated, while "dgn" can.
|
||||
Bug: Does not skip over expression with dict member properly. (ZyX, 2013 Sep
|
||||
29)
|
||||
|
||||
Patch to make ColorScheme autocommand match with the colorscheme name instead
|
||||
of the buffer name. (Christian Brabandt, 2013 Sep 25)
|
||||
|
||||
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
||||
|
||||
With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
|
||||
2013 Sep 5)
|
||||
|
||||
"gUgn" cannot be repeated, while "dgn" can. (Dimitar Dimitrov)
|
||||
Patch by Christian Brabandt (2013 Aug 12)
|
||||
|
||||
Several Win32 functions are not using Unicode.
|
||||
Patches to fix this. (Ken Takata, 2013 Aug 9)
|
||||
|
||||
/[b-a] gives error E16, should probably be E769.
|
||||
|
||||
:help gives example for z?, but it does not work. m? and t? do work.
|
||||
|
||||
Python: Extended funcrefs: use func_T* structure in place of char_u* function
|
||||
names. (ZyX, 2013 Jul 15, update Sep 22, 24, 28)
|
||||
|
||||
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
|
||||
With tests: Sep 5.
|
||||
|
||||
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Patch to make external commands work with multi-byte characters on Win32 when
|
||||
@@ -83,10 +163,6 @@ Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Win32: When a directory name contains an exclamation mark, completion doesn't
|
||||
complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5)
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
@@ -94,6 +170,10 @@ Or should we add a more general mechanism, like lambda functions?
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
|
||||
8 'backupdir' and 'directory' should use $TMPDIR, $TMP and/or $TEMP when
|
||||
defined.
|
||||
Issue 28.
|
||||
|
||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||
2013 Mar 19, later message)
|
||||
|
||||
@@ -108,6 +188,8 @@ carried over when using :global. (Christian Brabandt, 2013 Jun 19)
|
||||
Bug with 'cursorline' in diff mode. Line being scrolled into view gets
|
||||
highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4)
|
||||
|
||||
Two highlighting bugs. (Zyx, 2013 Aug 18)
|
||||
|
||||
Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
|
||||
May 17: with winlist() and tabpagelist().
|
||||
May 19: with local variables.
|
||||
@@ -119,6 +201,8 @@ Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
Patch from Christian Brabandt to make the "buffer" argument for ":sign place"
|
||||
optional. (2013 Jul 12)
|
||||
|
||||
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
@@ -126,6 +210,10 @@ Second one. Update May 22.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
TCL: With MSVC 2010 doesn't find Tcl_FindExecutable. (tux)
|
||||
Patch to define it. (Ken Takata, 2013 Aug 12) Is this right?
|
||||
Probably not: http://code.google.com/p/vim/issues/detail?id=167
|
||||
|
||||
MS-Windows: Patch to make tests copy files to avoid changing the fileformat of
|
||||
the files under version control. (Taro Muraoka, 2013 Jul 5)
|
||||
|
||||
@@ -167,8 +255,17 @@ Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
|
||||
|
||||
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
|
||||
|
||||
Do we need some way (option) to show the sign column even when there are no
|
||||
signs? Patch by Christian Brabandt, 2013 Aug 22.
|
||||
|
||||
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
|
||||
Patch to use directX to draw text on Windows. Adds the 'renderoptions'
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14)
|
||||
Fixes this problem:
|
||||
8 Win32: Multi-byte characters are not displayed, even though the same font
|
||||
in Notepad can display them. (Srinath Avadhanula) Try with the
|
||||
UTF-8-demo.txt page with Andale Mono.
|
||||
|
||||
Patch to add 'completeselect' option. Specifies how to select a candidate in
|
||||
insert completion. (Shougo, 2013 May 29)
|
||||
@@ -182,9 +279,6 @@ b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
Win32: The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2 dynamically?
|
||||
|
||||
Python: Extended funcrefs: use func_T* structure in place of char_u* function
|
||||
names. (ZyX, 2013 Jul 15 and later)
|
||||
|
||||
Python: Be able to define a Python function that can be called directly from
|
||||
Vim script. Requires converting the arguments and return value, like with
|
||||
vim.bindeval().
|
||||
@@ -272,6 +366,9 @@ Do give the prompt? Quit with an error?
|
||||
|
||||
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
||||
|
||||
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
|
||||
24)
|
||||
|
||||
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
||||
|
||||
Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013
|
||||
@@ -286,6 +383,7 @@ And one for gui_x11.txt.
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
|
||||
Update by Taylor Hedberg, 2013 May 30.
|
||||
Updated for Vim 7.4 by Ken Takata, 2013 Oct 5.
|
||||
|
||||
":cd" doesn't work when current directory path contains "**".
|
||||
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
|
||||
@@ -396,7 +494,7 @@ cleared. See test64.
|
||||
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
|
||||
|
||||
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||
effects? (Christian Brabandt, 2012 Aug 5)
|
||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||
Would also need to do this for spellbadword() and spellsuggest().
|
||||
|
||||
Patch for variable tabstops.
|
||||
@@ -456,6 +554,9 @@ With a filler line in diff mode, it isn't displayed in the column with line
|
||||
number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5)
|
||||
Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems.
|
||||
|
||||
Add jump() function. (Marcin Szamotulski, 2013 Aug 29)
|
||||
Is this needed? CTRL-O and CTRL-I do the same, just more difficult to use.
|
||||
|
||||
8 Add a command to jump to the next character highlighted with "Error".
|
||||
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
|
||||
|
||||
@@ -573,8 +674,7 @@ setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Check that new argument is optional
|
||||
and that it's documented.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Again 2013 Aug 22.
|
||||
|
||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||
2010 Oct 24)
|
||||
@@ -759,6 +859,7 @@ Setting 'tags' to "tagsdir/*" does not find "tagsdir/tags". (Steven K. Wong,
|
||||
|
||||
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
|
||||
Added test, updates, June 23.
|
||||
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
|
||||
|
||||
Patch to add "focusonly" to 'scrollopt', so that scrollbind also applies in
|
||||
window that doesn't have focus. (Jonathon Mah, 2009 Jan 12)
|
||||
@@ -885,7 +986,7 @@ correct. Don't use it in the swap file.
|
||||
Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
|
||||
(Henrik Ohman, 2009, Jan 29)
|
||||
|
||||
shellescape() depends on 'shellshash' for quoting. That doesn't work when
|
||||
shellescape() depends on 'shellslash' for quoting. That doesn't work when
|
||||
'shellslash' is set but using cmd.exe. (Ben Fritz)
|
||||
Use a different option or let it depend on whether 'shell' looks like a
|
||||
unix-like shell?
|
||||
@@ -918,8 +1019,6 @@ Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
|
||||
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
|
||||
Maybe call it v:motiontype.
|
||||
|
||||
Runtime files for Clojure. (Toralf Wittner, 2008 Jun 25)
|
||||
|
||||
MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
|
||||
doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
|
||||
probably causes this.
|
||||
@@ -1301,7 +1400,7 @@ Ebersbach, 2008 Feb 1)
|
||||
|
||||
Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
|
||||
Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
|
||||
Does the conversion in the other direction work when 'filenecodings' is set
|
||||
Does the conversion in the other direction work when 'fileencodings' is set
|
||||
properly?
|
||||
|
||||
Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
|
||||
@@ -1685,7 +1784,7 @@ More patches:
|
||||
- testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
|
||||
Sep 13)
|
||||
- Patch for adding "space" item in 'listchars'. (Jérémie Roquet, 2009 Oct 29,
|
||||
Docs patch Oct 30)
|
||||
Docs patch Oct 30, update David Burgin (glts) 2013 Aug 24)
|
||||
- Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by
|
||||
Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts
|
||||
more friendly for the Vim distribution.
|
||||
@@ -1715,7 +1814,7 @@ Awaiting updated patches:
|
||||
How does this work? Missing comments.
|
||||
8 Add a few more command names to the menus. Patch from Jiri Brezina
|
||||
(28 feb 2002). Will mess the translations...
|
||||
7 ATTENTION dialog choices are more logical when "Delete it' appears
|
||||
7 ATTENTION dialog choices are more logical when "Delete it" appears
|
||||
before "Quit". Patch by Robert Webb, 2004 May 3.
|
||||
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
|
||||
for multi-byte characters.
|
||||
@@ -1887,9 +1986,6 @@ Win32 GUI known bugs:
|
||||
8 Use another default for 'termencoding': the active codepage. Means that
|
||||
when 'encoding' is changed typing characters still works properly.
|
||||
Alternative: use the Unicode functions to obtain typed characters.
|
||||
8 Win32: Multi-byte characters are not displayed, even though the same font
|
||||
in Notepad can display them. (Srinath Avadhanula) Try with the
|
||||
UTF-8-demo.txt page with Andale Mono.
|
||||
7 The cursor color indicating IME mode doesn't work properly. (Shizhu Pan,
|
||||
2004 May 9)
|
||||
8 Win32: When clicking on the gvim title bar, which gives it focus, produces
|
||||
@@ -2272,8 +2368,6 @@ Macintosh:
|
||||
character. (Yasuhiro Matsumoto) It should return 1 when used on a tail
|
||||
byte, like for utf-8. Store second byte of double-byte in ScreenLines2[]
|
||||
(like for DBCS_JPNU) and put a zero in the second byte (like for UTF-8).
|
||||
8 'backupdir' and 'directory' should use $TMPDIR, $TMP and/or $TEMP when
|
||||
defined.
|
||||
7 Inside a function with "perl <<EOF" a line with "$i++" is recognized as an
|
||||
":insert" command, causing the following "endfunction" not to be found.
|
||||
Add skipping this perl construction inside function definitions.
|
||||
@@ -3153,6 +3247,7 @@ Syntax highlighting:
|
||||
Built-in script language:
|
||||
8 Make the filename and line number available to script functions, so that
|
||||
they can give useful debugging info. The whole call stack would be ideal.
|
||||
At least use this for error messages.
|
||||
7 Execute a function with standard option values. No need to save and
|
||||
restore option values. Especially useful for new options. Problem: how
|
||||
to avoid a performance penalty (esp. for string options)?
|
||||
@@ -4655,7 +4750,7 @@ Marks:
|
||||
|
||||
Digraphs:
|
||||
7 Make "ga" show the keymap for a character, if it exists.
|
||||
Also show the code of the character after conversion to 'filenecoding'.
|
||||
Also show the code of the character after conversion to 'fileencoding'.
|
||||
- Use digraph table to tell Vim about the collating sequence of special
|
||||
characters?
|
||||
8 Add command to remove one or more (all) digraphs. (Brown)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 7.4. Last change: 2012 Mar 04
|
||||
*undo.txt* For Vim version 7.4. Last change: 2013 Sep 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -57,7 +57,7 @@ Use "u" to undo changes until the buffer becomes unchanged.
|
||||
2. Two ways of undo *undo-two-ways*
|
||||
|
||||
How undo and redo commands work depends on the 'u' flag in 'cpoptions'.
|
||||
There is the Vim way ('u' excluded) and the vi-compatible way ('u' included).
|
||||
There is the Vim way ('u' excluded) and the Vi-compatible way ('u' included).
|
||||
In the Vim way, "uu" undoes two changes. In the Vi-compatible way, "uu" does
|
||||
nothing (undoes an undo).
|
||||
|
||||
@@ -249,8 +249,9 @@ a simple scheme that maps filesystem paths directly to undo files. Vim will
|
||||
detect if an undo file is no longer synchronized with the file it was written
|
||||
for (with a hash of the file contents) and ignore it when the file was changed
|
||||
after the undo file was written, to prevent corruption. An undo file is also
|
||||
ignored if its owner differs from the owner of the edited file. Set 'verbose'
|
||||
to get a message about that when opening a file.
|
||||
ignored if its owner differs from the owner of the edited file, except when
|
||||
the owner of the undo file is the current user. Set 'verbose' to get a
|
||||
message about that when opening a file.
|
||||
|
||||
Undo files are normally saved in the same directory as the file. This can be
|
||||
changed with the 'undodir' option.
|
||||
|
||||
@@ -86,7 +86,7 @@ line, type: >
|
||||
|
||||
v4jgq
|
||||
|
||||
"v" to start Visual mode, "4j' to move to the end of the paragraph and then
|
||||
"v" to start Visual mode, "4j" to move to the end of the paragraph and then
|
||||
the "gq" operator. The result is:
|
||||
|
||||
1 2 3
|
||||
|
||||
@@ -328,8 +328,8 @@ actually use Vim to convert a file. Example: >
|
||||
*45.5* Entering language text
|
||||
|
||||
Computer keyboards don't have much more than a hundred keys. Some languages
|
||||
have thousands of characters, Unicode has ten thousands. So how do you type
|
||||
these characters?
|
||||
have thousands of characters, Unicode has over hundred thousand. So how do
|
||||
you type these characters?
|
||||
First of all, when you don't use too many of the special characters, you
|
||||
can use digraphs. This was already explained in |24.9|.
|
||||
When you use a language that uses many more characters than keys on your
|
||||
|
||||
@@ -291,6 +291,7 @@ g8 Print the hex values of the bytes used in the
|
||||
in the normal, big and huge versions of Vim.
|
||||
|
||||
*+feature-list*
|
||||
*+acl* |ACL| support included
|
||||
*+ARP* Amiga only: ARP support included
|
||||
B *+arabic* |Arabic| language support
|
||||
N *+autocmd* |:autocmd|, automatic commands
|
||||
@@ -429,6 +430,7 @@ S *+windows* more than one window
|
||||
m *+writebackup* |'writebackup'| is default on
|
||||
m *+xim* X input method |xim|
|
||||
*+xfontset* X fontset support |xfontset|
|
||||
*+xpm* pixmap support
|
||||
m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support|
|
||||
*+xsmp* XSMP (X session management) support
|
||||
*+xsmp_interact* interactive XSMP (X session management) support
|
||||
|
||||
@@ -2020,7 +2020,7 @@ File browser added *file-browser-5.2*
|
||||
|
||||
The Win32, Athena and Motif GUI bring up a file requester if the user asks to
|
||||
":browse" for the ":e", ":w", ":r", ":so", ":redirect" and
|
||||
":mkexrc/vimrc/vsess" commands. ::browse e /foo/bar" opens the requester in
|
||||
":mkexrc/vimrc/vsess" commands. ":browse e /foo/bar" opens the requester in
|
||||
the /foo/bar directory, so you can have nice mapping rhs's like ":browse so
|
||||
$vim/macros". If no initial dir specified for ":browse e", can be compiled to
|
||||
either begin in the current directory, or that of the current buffer. (Negri
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 7.4. Last change: 2013 Aug 10
|
||||
*version7.txt* For Vim version 7.4. Last change: 2013 Sep 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2397,7 +2397,7 @@ with special attributes were redrawn. Now only do this for characters that
|
||||
actually are bold. Speeds up displaying considerably.
|
||||
|
||||
When only highlighting changes and the text is scrolled at the same time
|
||||
everything is redraw instead of using a scroll and updating the changed text.
|
||||
everything is redrawn instead of using a scroll and updating the changed text.
|
||||
E.g., when using ":match" to highlight a paren that the cursor landed on.
|
||||
Added SOME_VALID: Redraw the whole window but also try to scroll to minimize
|
||||
redrawing.
|
||||
@@ -10295,7 +10295,7 @@ Functions:
|
||||
Added special |expand()| argument that expands to the current line
|
||||
number.
|
||||
|
||||
Made it possible to force |char2nr()| 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|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 7.4. Last change: 2012 Aug 08
|
||||
*vi_diff.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -150,7 +150,7 @@ Support for different systems.
|
||||
Multi level undo. |undo|
|
||||
'u' goes backward in time, 'CTRL-R' goes forward again. Set option
|
||||
'undolevels' to the number of changes to be remembered (default 1000).
|
||||
Set 'undolevels' to 0 for a vi-compatible one level undo. Set it to
|
||||
Set 'undolevels' to 0 for a Vi-compatible one level undo. Set it to
|
||||
-1 for no undo at all.
|
||||
When all changes in a buffer have been undone, the buffer is not
|
||||
considered changed anymore. You can exit it with :q, without <!>.
|
||||
|
||||
+10
-7
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Aug 03
|
||||
" Last Change: 2013 Sep 22
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -129,7 +129,7 @@ au BufNewFile,BufRead .asoundrc,*/usr/share/alsa/alsa.conf,*/etc/asound.conf set
|
||||
au BufNewFile,BufRead *.aml setf aml
|
||||
|
||||
" APT config file
|
||||
au BufNewFile,BufRead apt.conf setf aptconf
|
||||
au BufNewFile,BufRead apt.conf setf aptconf
|
||||
au BufNewFile,BufRead */.aptitude/config setf aptconf
|
||||
au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} setf aptconf
|
||||
|
||||
@@ -952,6 +952,9 @@ au BufNewFile,BufRead inittab setf inittab
|
||||
" Inno Setup
|
||||
au BufNewFile,BufRead *.iss setf iss
|
||||
|
||||
" J
|
||||
au BufNewFile,BufRead *.ijs setf j
|
||||
|
||||
" JAL
|
||||
au BufNewFile,BufRead *.jal,*.JAL setf jal
|
||||
|
||||
@@ -2092,7 +2095,7 @@ au BufNewFile,BufRead *.tak setf tak
|
||||
|
||||
" Task
|
||||
au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
|
||||
au BufRead,BufNewFile *.task setf taskedit
|
||||
au BufRead,BufNewFile *.task setf taskedit
|
||||
|
||||
" Tcl (JACL too)
|
||||
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl
|
||||
@@ -2217,12 +2220,12 @@ au BufNewFile,BufRead *.uc setf uc
|
||||
au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
|
||||
|
||||
" Upstart (init(8)) config files
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
|
||||
au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
|
||||
" Vera
|
||||
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
"
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 30 January 2013
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 08 September 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal define< formatoptions< comments< commentstring<'
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring<'
|
||||
|
||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
|
||||
" There will be false positives, but this is better than missing the whole set
|
||||
" of user-defined def* definitions.
|
||||
@@ -35,10 +36,10 @@ setlocal commentstring=;\ %s
|
||||
" 'completefunc' so that the user has some form of completion available when
|
||||
" 'omnifunc' is set and no REPL connection exists.
|
||||
for s:setting in ['omnifunc', 'completefunc']
|
||||
if exists('&' . s:setting) && empty(eval('&' . s:setting))
|
||||
execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
|
||||
let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
|
||||
endif
|
||||
if exists('&' . s:setting) && empty(eval('&' . s:setting))
|
||||
execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
|
||||
let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Take all directories of the CLOJURE_SOURCE_DIRS environment variable
|
||||
@@ -46,34 +47,34 @@ endfor
|
||||
"
|
||||
" This is a legacy option for VimClojure users.
|
||||
if exists('$CLOJURE_SOURCE_DIRS')
|
||||
for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
|
||||
let s:dir = fnameescape(s:dir)
|
||||
" Whitespace escaping for Windows
|
||||
let s:dir = substitute(s:dir, '\', '\\\\', 'g')
|
||||
let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
|
||||
execute "setlocal path+=" . s:dir . "/**"
|
||||
endfor
|
||||
let b:undo_ftplugin .= ' | setlocal path<'
|
||||
for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
|
||||
let s:dir = fnameescape(s:dir)
|
||||
" Whitespace escaping for Windows
|
||||
let s:dir = substitute(s:dir, '\', '\\\\', 'g')
|
||||
let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
|
||||
execute "setlocal path+=" . s:dir . "/**"
|
||||
endfor
|
||||
let b:undo_ftplugin .= ' | setlocal path<'
|
||||
endif
|
||||
|
||||
" Skip brackets in ignored syntax regions when using the % command
|
||||
if exists('loaded_matchit')
|
||||
let b:match_words = &matchpairs
|
||||
let b:match_skip = 's:comment\|string\|regex\|character'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
|
||||
let b:match_words = &matchpairs
|
||||
let b:match_skip = 's:comment\|string\|regex\|character'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
|
||||
endif
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
|
||||
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
|
||||
\ "Java Source Files (*.java)\t*.java\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
|
||||
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
|
||||
\ "Java Source Files (*.java)\t*.java\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
unlet! s:cpo_save s:setting s:dir
|
||||
|
||||
" vim:sts=4 sw=4 et:
|
||||
" vim:sts=8:sw=8:ts=8:noet
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim settings file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
|
||||
" Version: 0.48
|
||||
" Last Change: 2012 Apr. 18
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
|
||||
" Version: 0.49
|
||||
" Last Change: 2013 Oct. 01
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: Do :help fortran-plugin from Vim
|
||||
" Credits:
|
||||
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, and Ben
|
||||
" Fritz.
|
||||
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben
|
||||
" Fritz, and David Barnett.
|
||||
|
||||
" Only do these settings when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -64,8 +64,8 @@ if (b:fortran_fixed_source == 1)
|
||||
" setlocal tw=73
|
||||
else
|
||||
setlocal comments=:!
|
||||
" Free format allows a textwidth of 132 for code but 80 is more usual
|
||||
setlocal tw=80
|
||||
" Free format allows a textwidth of 132
|
||||
setlocal tw=132
|
||||
endif
|
||||
|
||||
" Set commentstring for foldmethod=marker
|
||||
@@ -76,8 +76,8 @@ if !exists("fortran_have_tabs")
|
||||
setlocal expandtab
|
||||
endif
|
||||
|
||||
" Set 'formatoptions' to break comment and text lines but allow long lines
|
||||
setlocal fo+=tcql
|
||||
" Set 'formatoptions' to break text lines
|
||||
setlocal fo+=t
|
||||
|
||||
setlocal include=^\\c#\\=\\s*include\\s\\+
|
||||
setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
|
||||
@@ -114,7 +114,7 @@ if has("gui_win32") && !exists("b:browsefilter")
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc<"
|
||||
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc< sua<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
|
||||
let &cpoptions=s:cposet
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal iskeyword=48-57,65-90,_,97-122
|
||||
setlocal comments=:NB.
|
||||
setlocal commentstring=NB.\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
|
||||
let b:undo_ftplugin = "setl et< sts< sw< fo< cms< com< isk<"
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: python
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
" Last Change: 2013 Sep 25
|
||||
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -44,5 +45,21 @@ if has("gui_win32") && !exists("b:browsefilter")
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" As suggested by PEP8.
|
||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||
|
||||
" First time: try finding "pydoc".
|
||||
if !exists('g:pydoc_executable')
|
||||
if executable('pydoc')
|
||||
let g:pydoc_executable = 1
|
||||
else
|
||||
let g:pydoc_executable = 0
|
||||
endif
|
||||
endif
|
||||
" If "pydoc" was found use it for keywordprg.
|
||||
if g:pydoc_executable
|
||||
setlocal keywordprg=pydoc
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
+236
-246
@@ -1,16 +1,20 @@
|
||||
" Vim indent file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
" URL: http://kotka.de/projects/clojure/vimclojure.html
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
" URL: http://kotka.de/projects/clojure/vimclojure.html
|
||||
"
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 30 January 2013
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 08 September 2013
|
||||
|
||||
" TODO: Indenting after multibyte characters is broken:
|
||||
" (let [Δ (if foo
|
||||
" bar ; Indent error
|
||||
" baz)])
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
@@ -25,290 +29,277 @@ setlocal indentkeys=!,o,O
|
||||
|
||||
if exists("*searchpairpos")
|
||||
|
||||
if !exists('g:clojure_maxlines')
|
||||
let g:clojure_maxlines = 100
|
||||
endif
|
||||
if !exists('g:clojure_maxlines')
|
||||
let g:clojure_maxlines = 100
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent')
|
||||
let g:clojure_fuzzy_indent = 1
|
||||
endif
|
||||
if !exists('g:clojure_fuzzy_indent')
|
||||
let g:clojure_fuzzy_indent = 1
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent_patterns')
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
endif
|
||||
if !exists('g:clojure_fuzzy_indent_patterns')
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent_blacklist')
|
||||
let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
endif
|
||||
if !exists('g:clojure_fuzzy_indent_blacklist')
|
||||
let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_special_indent_words')
|
||||
let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
endif
|
||||
if !exists('g:clojure_special_indent_words')
|
||||
let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_align_multiline_strings')
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
endif
|
||||
if !exists('g:clojure_align_multiline_strings')
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
endif
|
||||
|
||||
function! s:SynIdName()
|
||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||
endfunction
|
||||
function! s:SynIdName()
|
||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||
endfunction
|
||||
|
||||
function! s:CurrentChar()
|
||||
return getline('.')[col('.')-1]
|
||||
endfunction
|
||||
function! s:CurrentChar()
|
||||
return getline('.')[col('.')-1]
|
||||
endfunction
|
||||
|
||||
function! s:CurrentWord()
|
||||
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
||||
endfunction
|
||||
function! s:CurrentWord()
|
||||
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|comment'
|
||||
endfunction
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
||||
endfunction
|
||||
|
||||
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
||||
" list of patterns, or a comma-delimited string of implicitly anchored
|
||||
" patterns.
|
||||
function! s:MatchesOne(patterns, string)
|
||||
let list = type(a:patterns) == type([])
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
||||
" list of patterns, or a comma-delimited string of implicitly anchored
|
||||
" patterns.
|
||||
function! s:MatchesOne(patterns, string)
|
||||
let list = type(a:patterns) == type([])
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:SavePosition()
|
||||
let [ _b, l, c, _o ] = getpos(".")
|
||||
let b = bufnr("%")
|
||||
return [b, l, c]
|
||||
endfunction
|
||||
function! s:MatchPairs(open, close, stopat)
|
||||
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
||||
" comments.
|
||||
if a:stopat == 0
|
||||
let stopat = max([line(".") - g:clojure_maxlines, 0])
|
||||
else
|
||||
let stopat = a:stopat
|
||||
endif
|
||||
|
||||
function! s:RestorePosition(value)
|
||||
let [b, l, c] = a:value
|
||||
if bufnr("%") != b
|
||||
execute b "buffer!"
|
||||
endif
|
||||
call setpos(".", [0, l, c, 0])
|
||||
endfunction
|
||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
|
||||
return [pos[0], virtcol(pos)]
|
||||
endfunction
|
||||
|
||||
function! s:MatchPairs(open, close, stopat)
|
||||
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
||||
" comments.
|
||||
if a:stopat == 0
|
||||
let stopat = max([line(".") - g:clojure_maxlines, 0])
|
||||
else
|
||||
let stopat = a:stopat
|
||||
endif
|
||||
function! s:ClojureCheckForStringWorker()
|
||||
" Check whether there is the last character of the previous line is
|
||||
" highlighted as a string. If so, we check whether it's a ". In this
|
||||
" case we have to check also the previous character. The " might be the
|
||||
" closing one. In case the we are still in the string, we search for the
|
||||
" opening ". If this is not found we take the indent of the line.
|
||||
let nb = prevnonblank(v:lnum - 1)
|
||||
|
||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
|
||||
return [pos[0], virtcol(pos)]
|
||||
endfunction
|
||||
if nb == 0
|
||||
return -1
|
||||
endif
|
||||
|
||||
function! s:ClojureCheckForStringWorker()
|
||||
" Check whether there is the last character of the previous line is
|
||||
" highlighted as a string. If so, we check whether it's a ". In this
|
||||
" case we have to check also the previous character. The " might be the
|
||||
" closing one. In case the we are still in the string, we search for the
|
||||
" opening ". If this is not found we take the indent of the line.
|
||||
let nb = prevnonblank(v:lnum - 1)
|
||||
call cursor(nb, 0)
|
||||
call cursor(0, col("$") - 1)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
|
||||
if nb == 0
|
||||
return -1
|
||||
endif
|
||||
" This will not work for a " in the first column...
|
||||
if s:CurrentChar() == '"'
|
||||
call cursor(0, col("$") - 2)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
if s:CurrentChar() != '\\'
|
||||
return -1
|
||||
endif
|
||||
call cursor(0, col("$") - 1)
|
||||
endif
|
||||
|
||||
call cursor(nb, 0)
|
||||
call cursor(0, col("$") - 1)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
|
||||
|
||||
" This will not work for a " in the first column...
|
||||
if s:CurrentChar() == '"'
|
||||
call cursor(0, col("$") - 2)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
if s:CurrentChar() != '\\'
|
||||
return -1
|
||||
endif
|
||||
call cursor(0, col("$") - 1)
|
||||
endif
|
||||
if p != [0, 0]
|
||||
return p[1] - 1
|
||||
endif
|
||||
|
||||
let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
|
||||
return indent(".")
|
||||
endfunction
|
||||
|
||||
if p != [0, 0]
|
||||
return p[1] - 1
|
||||
endif
|
||||
function! s:CheckForString()
|
||||
let pos = getpos('.')
|
||||
try
|
||||
let val = s:ClojureCheckForStringWorker()
|
||||
finally
|
||||
call setpos('.', pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
return indent(".")
|
||||
endfunction
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
|
||||
function! s:CheckForString()
|
||||
let pos = s:SavePosition()
|
||||
try
|
||||
let val = s:ClojureCheckForStringWorker()
|
||||
finally
|
||||
call s:RestorePosition(pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
" Special case: we are at a '(('.
|
||||
if s:CurrentChar() == '('
|
||||
return 0
|
||||
endif
|
||||
call cursor(a:position)
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
let nextParen = s:MatchPairs('(', ')', 0)
|
||||
|
||||
" Special case: we are at a '(('.
|
||||
if s:CurrentChar() == '('
|
||||
return 0
|
||||
endif
|
||||
call cursor(a:position)
|
||||
" Special case: we are now at toplevel.
|
||||
if nextParen == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
call cursor(nextParen)
|
||||
|
||||
let nextParen = s:MatchPairs('(', ')', 0)
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
return 1
|
||||
endif
|
||||
|
||||
" Special case: we are now at toplevel.
|
||||
if nextParen == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
call cursor(nextParen)
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
return 1
|
||||
endif
|
||||
function! s:IsMethodSpecialCase(position)
|
||||
let pos = getpos('.')
|
||||
try
|
||||
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
|
||||
finally
|
||||
call setpos('.', pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
return 0
|
||||
endfunction
|
||||
function! GetClojureIndent()
|
||||
" Get rid of special case.
|
||||
if line(".") == 1
|
||||
return 0
|
||||
endif
|
||||
|
||||
function! s:IsMethodSpecialCase(position)
|
||||
let pos = s:SavePosition()
|
||||
try
|
||||
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
|
||||
finally
|
||||
call s:RestorePosition(pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
" We have to apply some heuristics here to figure out, whether to use
|
||||
" normal lisp indenting or not.
|
||||
let i = s:CheckForString()
|
||||
if i > -1
|
||||
return i + !!g:clojure_align_multiline_strings
|
||||
endif
|
||||
|
||||
function! GetClojureIndent()
|
||||
" Get rid of special case.
|
||||
if line(".") == 1
|
||||
return 0
|
||||
endif
|
||||
call cursor(0, 1)
|
||||
|
||||
" We have to apply some heuristics here to figure out, whether to use
|
||||
" normal lisp indenting or not.
|
||||
let i = s:CheckForString()
|
||||
if i > -1
|
||||
return i + !!g:clojure_align_multiline_strings
|
||||
endif
|
||||
" Find the next enclosing [ or {. We can limit the second search
|
||||
" to the line, where the [ was found. If no [ was there this is
|
||||
" zero and we search for an enclosing {.
|
||||
let paren = s:MatchPairs('(', ')', 0)
|
||||
let bracket = s:MatchPairs('\[', '\]', paren[0])
|
||||
let curly = s:MatchPairs('{', '}', bracket[0])
|
||||
|
||||
call cursor(0, 1)
|
||||
" In case the curly brace is on a line later then the [ or - in
|
||||
" case they are on the same line - in a higher column, we take the
|
||||
" curly indent.
|
||||
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
||||
if curly[0] > paren[0] || curly[1] > paren[1]
|
||||
return curly[1]
|
||||
endif
|
||||
endif
|
||||
|
||||
" Find the next enclosing [ or {. We can limit the second search
|
||||
" to the line, where the [ was found. If no [ was there this is
|
||||
" zero and we search for an enclosing {.
|
||||
let paren = s:MatchPairs('(', ')', 0)
|
||||
let bracket = s:MatchPairs('\[', '\]', paren[0])
|
||||
let curly = s:MatchPairs('{', '}', bracket[0])
|
||||
" If the curly was not chosen, we take the bracket indent - if
|
||||
" there was one.
|
||||
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
||||
return bracket[1]
|
||||
endif
|
||||
|
||||
" In case the curly brace is on a line later then the [ or - in
|
||||
" case they are on the same line - in a higher column, we take the
|
||||
" curly indent.
|
||||
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
||||
if curly[0] > paren[0] || curly[1] > paren[1]
|
||||
return curly[1]
|
||||
endif
|
||||
endif
|
||||
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
||||
if paren == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
|
||||
" If the curly was not chosen, we take the bracket indent - if
|
||||
" there was one.
|
||||
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
||||
return bracket[1]
|
||||
endif
|
||||
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
||||
" soon as one has access to syntax items.
|
||||
"
|
||||
" - Check whether we are in a special position after a word in
|
||||
" g:clojure_special_indent_words. These are special cases.
|
||||
" - Get the next keyword after the (.
|
||||
" - If its first character is also a (, we have another sexp and align
|
||||
" one column to the right of the unmatched (.
|
||||
" - In case it is in lispwords, we indent the next line to the column of
|
||||
" the ( + sw.
|
||||
" - If not, we check whether it is last word in the line. In that case
|
||||
" we again use ( + sw for indent.
|
||||
" - In any other case we use the column of the end of the word + 2.
|
||||
call cursor(paren)
|
||||
|
||||
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
||||
if paren == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
if s:IsMethodSpecialCase(paren)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
||||
" soon as one has access to syntax items.
|
||||
"
|
||||
" - Check whether we are in a special position after a word in
|
||||
" g:clojure_special_indent_words. These are special cases.
|
||||
" - Get the next keyword after the (.
|
||||
" - If its first character is also a (, we have another sexp and align
|
||||
" one column to the right of the unmatched (.
|
||||
" - In case it is in lispwords, we indent the next line to the column of
|
||||
" the ( + sw.
|
||||
" - If not, we check whether it is last word in the line. In that case
|
||||
" we again use ( + sw for indent.
|
||||
" - In any other case we use the column of the end of the word + 2.
|
||||
call cursor(paren)
|
||||
" In case we are at the last character, we use the paren position.
|
||||
if col("$") - 1 == paren[1]
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
if s:IsMethodSpecialCase(paren)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
" In case after the paren is a whitespace, we search for the next word.
|
||||
call cursor(0, col('.') + 1)
|
||||
if s:CurrentChar() == ' '
|
||||
call search('\v\S', 'W')
|
||||
endif
|
||||
|
||||
" In case we are at the last character, we use the paren position.
|
||||
if col("$") - 1 == paren[1]
|
||||
return paren[1]
|
||||
endif
|
||||
" If we moved to another line, there is no word after the (. We
|
||||
" use the ( position for indent.
|
||||
if line(".") > paren[0]
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" In case after the paren is a whitespace, we search for the next word.
|
||||
normal! l
|
||||
if s:CurrentChar() == ' '
|
||||
normal! w
|
||||
endif
|
||||
" We still have to check, whether the keyword starts with a (, [ or {.
|
||||
" In that case we use the ( position for indent.
|
||||
let w = s:CurrentWord()
|
||||
if stridx('([{', w[0]) > -1
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" If we moved to another line, there is no word after the (. We
|
||||
" use the ( position for indent.
|
||||
if line(".") > paren[0]
|
||||
return paren[1]
|
||||
endif
|
||||
" Test words without namespace qualifiers and leading reader macro
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
|
||||
" We still have to check, whether the keyword starts with a (, [ or {.
|
||||
" In that case we use the ( position for indent.
|
||||
let w = s:CurrentWord()
|
||||
if stridx('([{', w[0]) > -1
|
||||
return paren[1]
|
||||
endif
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
" Test words without namespace qualifiers and leading reader macro
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
if g:clojure_fuzzy_indent
|
||||
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
|
||||
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
call search('\v\_s', 'cW')
|
||||
call search('\v\S', 'W')
|
||||
if paren[0] < line(".")
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
if g:clojure_fuzzy_indent
|
||||
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
|
||||
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
call search('\v\S', 'bW')
|
||||
return virtcol(".") + 1
|
||||
endfunction
|
||||
|
||||
normal! W
|
||||
if paren[0] < line(".")
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
normal! ge
|
||||
return virtcol(".") + 1
|
||||
endfunction
|
||||
|
||||
setlocal indentexpr=GetClojureIndent()
|
||||
setlocal indentexpr=GetClojureIndent()
|
||||
|
||||
else
|
||||
|
||||
" In case we have searchpairpos not available we fall back to
|
||||
" normal lisp indenting.
|
||||
setlocal indentexpr=
|
||||
setlocal lisp
|
||||
let b:undo_indent .= '| setlocal lisp<'
|
||||
" In case we have searchpairpos not available we fall back to
|
||||
" normal lisp indenting.
|
||||
setlocal indentexpr=
|
||||
setlocal lisp
|
||||
let b:undo_indent .= '| setlocal lisp<'
|
||||
|
||||
endif
|
||||
|
||||
@@ -390,9 +381,8 @@ setlocal lispwords+=while
|
||||
|
||||
" Exception handling
|
||||
setlocal lispwords+=catch
|
||||
setlocal lispwords+=try " For aesthetics when enclosing single line
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet! s:save_cpo
|
||||
|
||||
" vim:sts=4 sw=4 et:
|
||||
" vim:sts=8:sw=8:ts=8:noet
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
" Vim indent file
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetJIndent()
|
||||
setlocal indentkeys-=0{,0},\:,0#
|
||||
setlocal indentkeys+=0),=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
|
||||
let b:undo_indent = "setl indk< inde<"
|
||||
|
||||
if exists("*GetJIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetJIndent()
|
||||
let prevlnum = prevnonblank(v:lnum-1)
|
||||
if prevlnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let indent = indent(prevlnum)
|
||||
if getline(prevlnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.'
|
||||
if getline(prevlnum) !~# '\<end\.'
|
||||
let indent += &shiftwidth
|
||||
endif
|
||||
endif
|
||||
if getline(v:lnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.'
|
||||
let indent -= &shiftwidth
|
||||
endif
|
||||
return indent
|
||||
endfunction
|
||||
@@ -1,11 +1,9 @@
|
||||
" Vim syntax file
|
||||
" This is a GENERATED FILE. Please always refer to source file at the URI below.
|
||||
" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess)
|
||||
" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" License: This file can be redistribued and/or modified under the same terms
|
||||
" as Vim itself.
|
||||
" Last Change: 2006-12-13
|
||||
" URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim
|
||||
" Last Change: 2013-09-16
|
||||
" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
|
||||
" TODO: see particular FIXME's scattered through the file
|
||||
" make it really linewise?
|
||||
@@ -30,7 +28,10 @@ syn keyword apacheFixme FIXME TODO XXX NOT
|
||||
syn case ignore
|
||||
syn match apacheAnything "\s[^>]*" contained
|
||||
syn match apacheError "\w\+" contained
|
||||
syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+
|
||||
syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+ oneline
|
||||
|
||||
" Following is to prevent escaped quotes from being parsed as strings.
|
||||
syn match apacheSkipQuote +\\"+
|
||||
|
||||
" Core and mpm
|
||||
syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName
|
||||
|
||||
+119
-74
File diff suppressed because one or more lines are too long
+328
-183
@@ -6,7 +6,7 @@
|
||||
" Nikolai Weibull (Add CSS2 support)
|
||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
||||
" URL: https://github.com/JulesWang/css.vim
|
||||
" Last Change: 2013 Jul 23
|
||||
" Last Change: 2013 Sep 24
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -37,12 +37,12 @@ syn keyword cssTagName link map menu meta noframes noscript ol optgroup
|
||||
syn keyword cssTagName option p param pre q s samp script select small
|
||||
syn keyword cssTagName span strike strong style sub sup table tbody td
|
||||
syn keyword cssTagName textarea tfoot th thead title tr tt ul u var
|
||||
syn keyword cssTagName object
|
||||
syn keyword cssTagName object svg
|
||||
|
||||
" HTML5 new tags 5*6=30
|
||||
syn keyword cssTagName article aside audio bdi canvas command
|
||||
syn keyword cssTagName datalist details embed figcaption figure footer
|
||||
syn keyword cssTagName header hgroup keygen mark meter nav
|
||||
" 34 HTML5 tags
|
||||
syn keyword cssTagName article aside audio bdi canvas command data
|
||||
syn keyword cssTagName datalist details dialog embed figcaption figure footer
|
||||
syn keyword cssTagName header hgroup keygen main mark menuitem meter nav
|
||||
syn keyword cssTagName output progress rt rp ruby section
|
||||
syn keyword cssTagName source summary time track video wbr
|
||||
|
||||
@@ -50,14 +50,12 @@ syn keyword cssTagName source summary time track video wbr
|
||||
syn keyword cssDeprecated acronym applet basefont big center dir
|
||||
syn keyword cssDeprecated font frame frameset noframes strike tt
|
||||
|
||||
"syn match cssTagName "\<table\>"
|
||||
syn match cssTagName "\*"
|
||||
|
||||
" selectors
|
||||
syn match cssSelectorOp "[,>+]"
|
||||
syn match cssSelectorOp "[,>+~]"
|
||||
syn match cssSelectorOp2 "[~|^$*]\?=" contained
|
||||
" FIXME: add HTML5 attribute
|
||||
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
|
||||
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
|
||||
|
||||
" .class and #id
|
||||
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
|
||||
@@ -68,26 +66,55 @@ catch /^.*/
|
||||
syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
|
||||
endtry
|
||||
|
||||
syn match cssTagName "@page\>" nextgroup=cssDefinition
|
||||
" FIXME: use cssVendor here
|
||||
syn match cssTagName "@\(-\(webkit\|moz\|o\|ms\)-\)\=keyframes\>" nextgroup=cssDefinition
|
||||
" digits
|
||||
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
|
||||
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators
|
||||
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators
|
||||
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators
|
||||
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators
|
||||
|
||||
syn match cssMedia "@media\>" nextgroup=cssMediaType skipwhite skipnl
|
||||
syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all nextgroup=cssMediaComma,cssMediaBlock skipwhite skipnl
|
||||
"syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl
|
||||
syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssError,cssComment,cssDefinition,cssURL,cssUnicodeEscape,cssIdentifier
|
||||
" @media
|
||||
syn match cssMedia "@media\>" nextgroup=cssMediaQuery,cssMediaBlock skipwhite skipnl
|
||||
syn match cssMediaQuery /\(only\|not\)\=\s*[a-z]*\(\s\|,\)\@=\(\(\s\+and\)\=\s\+(.\{-})\)*/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType nextgroup=cssMediaBlock,cssMediaComma
|
||||
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
|
||||
syn keyword cssMediaKeyword only not and contained
|
||||
syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssTagName,cssClassName,cssIdentifier,cssPseudoClass,cssSelectorOp,cssSelectorOp2,cssAttributeSelector fold
|
||||
syn match cssMediaComma "," nextgroup=cssMediaQuery skipwhite skipnl contained
|
||||
|
||||
syn match cssValueInteger contained "[-+]\=\d\+"
|
||||
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\="
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\)"
|
||||
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)"
|
||||
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)"
|
||||
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)"
|
||||
" Reference: http://www.w3.org/TR/css3-mediaqueries/
|
||||
syn keyword cssMediaProp contained width height orientation scan grid
|
||||
syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
|
||||
syn keyword cssMediaAttr contained portrait landscape progressive interlace
|
||||
|
||||
" @page
|
||||
syn match cssPage "@page\>" nextgroup=cssPagePseudo,cssDefinition skipwhite skipnl
|
||||
syn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl
|
||||
syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained
|
||||
syn keyword cssPageProp content size contained
|
||||
|
||||
" @keyframe
|
||||
syn match cssKeyFrame "@\(-[a-z]*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl
|
||||
syn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition
|
||||
syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl
|
||||
|
||||
" @import
|
||||
syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaQuery,cssStringQ,cssStringQQ,cssIncludeKeyword
|
||||
syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
|
||||
syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
|
||||
syn match cssIncludeKeyword /\(@import\|@charset\|@namespace\)/ contained
|
||||
|
||||
" @font-face
|
||||
" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
|
||||
syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
|
||||
syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
|
||||
syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
|
||||
syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
|
||||
"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
|
||||
"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
|
||||
syn keyword cssFontDescriptorProp contained src
|
||||
syn match cssFontDescriptorProp contained "\<unicode-range\>"
|
||||
syn keyword cssFontDescriptorAttr contained all
|
||||
syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
|
||||
syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
|
||||
@@ -124,7 +151,7 @@ syn keyword cssColor contained slategray slategrey snow springgreen steelblue ta
|
||||
syn keyword cssColor contained thistle tomato turquoise violet wheat
|
||||
syn keyword cssColor contained whitesmoke yellowgreen
|
||||
|
||||
" FIXME: These are actually case-insentivie too, but (a) specs recommend using
|
||||
" FIXME: These are actually case-insensitive too, but (a) specs recommend using
|
||||
" mixed-case (b) it's hard to highlight the word `Background' correctly in
|
||||
" all situations
|
||||
syn case match
|
||||
@@ -135,48 +162,73 @@ syn match cssImportant contained "!\s*important\>"
|
||||
|
||||
syn match cssColor contained "\<transparent\>"
|
||||
syn match cssColor contained "\<white\>"
|
||||
syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>"
|
||||
syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>"
|
||||
syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
|
||||
syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
|
||||
|
||||
syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline keepend
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\)\s*(" end=")" oneline keepend
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\)\s*(" end=")" oneline keepend
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear\|radial\)-gradient\s*(" end=")" oneline keepend
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y|\Z\)\=\|translate\(3d\|X\|Y|\Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y|\Z\)\=\|perspective\)\s*(" end=")" oneline keepend
|
||||
syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline extend
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
|
||||
syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
|
||||
syn match cssFunctionComma contained ","
|
||||
|
||||
" Prop and Attr
|
||||
" Reference: http://www.w3schools.com/cssref/default.asp
|
||||
syn keyword cssCommonAttr contained auto none inherit all
|
||||
syn keyword cssCommonAttr contained top bottom
|
||||
syn keyword cssCommonAttr contained medium normal
|
||||
" Common Prop and Attr
|
||||
syn keyword cssCommonAttr contained auto none inherit all default normal
|
||||
syn keyword cssCommonAttr contained top bottom center stretch hidden visible
|
||||
"------------------------------------------------
|
||||
" CSS Animations
|
||||
" http://www.w3.org/TR/css3-animations/
|
||||
syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\)\)\=\>"
|
||||
|
||||
" animation-direction attributes
|
||||
syn keyword cssAnimationAttr contained alternate reverse
|
||||
syn match cssAnimationAttr contained "\<alternate-reverse\>"
|
||||
|
||||
syn match cssAnimationProp contained "\<animation\(-\(name\|duration\|timing-function\|delay\|iteration-cout\|play-state\)\)\=\>"
|
||||
" animation-fill-mode attributes
|
||||
syn keyword cssAnimationAttr contained forwards backwards both
|
||||
|
||||
" animation-play-state attributes
|
||||
syn keyword cssAnimationAttr contained running paused
|
||||
"------------------------------------------------
|
||||
" CSS Backgrounds and Borders Module Level 3
|
||||
" http://www.w3.org/TR/css3-background/
|
||||
syn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>"
|
||||
" background-attachment attributes
|
||||
syn keyword cssBackgroundAttr contained scroll fixed local
|
||||
|
||||
syn keyword cssAnimationAttr contained infinite alternate paused running
|
||||
" bugfix: escape linear-gradient
|
||||
syn match cssAnimationAttr contained "\<linear\(-gradient\)\@!\>"
|
||||
syn match cssAnimationAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
|
||||
" background-position attributes
|
||||
syn keyword cssBackgroundAttr contained left center right top bottom
|
||||
|
||||
syn match cssBackgroundProp contained "\<background\(-\(color\|image\|attachment\|position\|clip\|origin\|size\)\)\=\>"
|
||||
syn keyword cssBackgroundAttr contained center fixed over contain
|
||||
" background-repeat attributes
|
||||
syn match cssBackgroundAttr contained "\<no-repeat\>"
|
||||
syn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>"
|
||||
syn match cssBackgroundAttr contained "\<\(border\|content\|padding\)-box\>"
|
||||
syn keyword cssBackgroundAttr contained space round
|
||||
|
||||
" background-size attributes
|
||||
syn keyword cssBackgroundAttr contained cover contain
|
||||
|
||||
syn match cssBorderOutlineProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
|
||||
syn match cssBorderOutlineProp contained "\<outline\(-\(width\|style\|color\)\)\=\>"
|
||||
syn match cssBorderOutlineProp contained "\<border-\(top\|bottom\)-\(left\|right\)\(-radius\)\=\>"
|
||||
syn match cssBorderOutlineProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
|
||||
syn match cssBorderOutlineProp contained "\<border-radius\>"
|
||||
syn keyword cssBorderOutlineAttr contained thin thick medium
|
||||
syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset
|
||||
syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse
|
||||
syn keyword cssBorderOutlineAttr contained stretch round
|
||||
syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
|
||||
syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
|
||||
syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
|
||||
syn match cssBorderProp contained "\<box-decoration-break\>"
|
||||
syn match cssBorderProp contained "\<box-shadow\>"
|
||||
|
||||
" border-image attributes
|
||||
syn keyword cssBorderAttr contained stretch repeat round space fill
|
||||
|
||||
" border-style attributes
|
||||
syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
|
||||
|
||||
" border-width attributes
|
||||
syn keyword cssBorderAttr contained thin thick medium
|
||||
|
||||
" box-decoration-break attributes
|
||||
syn keyword cssBorderAttr contained clone slice
|
||||
"------------------------------------------------
|
||||
|
||||
syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
|
||||
syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
|
||||
syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
|
||||
syn match cssBoxProp contained "\<rotation\(-point\)=\>"
|
||||
syn keyword cssBoxAttr contained visible hidden scroll auto
|
||||
@@ -193,30 +245,51 @@ syn keyword cssDimensionProp contained width
|
||||
|
||||
" shadow and sizing are in other property groups
|
||||
syn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
|
||||
syn keyword cssFlexibleBoxAttr contained start end center baseline stretch
|
||||
syn keyword cssFlexibleBoxAttr contained normal reverse
|
||||
syn keyword cssFlexibleBoxAttr contained start end baseline
|
||||
syn keyword cssFlexibleBoxAttr contained reverse
|
||||
syn keyword cssFlexibleBoxAttr contained single mulitple
|
||||
syn keyword cssFlexibleBoxAttr contained horizontal
|
||||
" bugfix: escape vertial-align
|
||||
syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>"
|
||||
syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
|
||||
syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
|
||||
|
||||
|
||||
syn match cssFontProp contained "\<font\(-\(family\|style\|variant\|weight\|size\(-adjust\)\=\|stretch\)\)\=\>"
|
||||
syn match cssFontAttr contained "\<\(sans-\)\=\<serif\>"
|
||||
syn match cssFontAttr contained "\<small\(-\(caps\|caption\)\)\=\>"
|
||||
syn match cssFontAttr contained "\<x\{1,2\}-\(large\|small\)\>"
|
||||
" CSS Fonts Module Level 3
|
||||
" http://www.w3.org/TR/css-fonts-3/
|
||||
syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
|
||||
" font attributes
|
||||
syn keyword cssFontAttr contained icon menu caption
|
||||
syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
|
||||
syn match cssFontAttr contained "\<message-box\>"
|
||||
syn match cssFontAttr contained "\<status-bar\>"
|
||||
syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\|status-bar\)-\)\=\(condensed\|expanded\)\>"
|
||||
syn keyword cssFontAttr contained cursive fantasy monospace italic oblique
|
||||
syn keyword cssFontAttr contained bold bolder light lighter larger smaller
|
||||
syn keyword cssFontAttr contained icon menu caption
|
||||
syn keyword cssFontAttr contained large smaller larger narrower wider
|
||||
syn keyword cssFontAttr contained Courier Arial Georgia Times
|
||||
syn keyword cssFontAttr contained larger smaller
|
||||
syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
|
||||
|
||||
" font-family attributes
|
||||
syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
|
||||
syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf
|
||||
syn keyword cssFontAttr contained cursive fantasy monospace
|
||||
|
||||
syn keyword cssGeneratedContentProp contained content quotes crop
|
||||
" font-feature-settings attributes
|
||||
syn keyword cssFontAttr contained on off
|
||||
|
||||
" font-stretch attributes
|
||||
syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
|
||||
|
||||
" font-style attributes
|
||||
syn keyword cssFontAttr contained italic oblique
|
||||
|
||||
" font-variant-caps attributes
|
||||
syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>"
|
||||
syn keyword cssFontAttr contained unicase
|
||||
|
||||
" font-weight attributes
|
||||
syn keyword cssFontAttr contained bold bolder lighter
|
||||
"------------------------------------------------
|
||||
|
||||
" Webkit specific property/attributes
|
||||
syn match cssFontProp contained "\<font-smooth\>"
|
||||
syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
|
||||
|
||||
syn keyword cssGeneratedContentProp contained quotes crop
|
||||
syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
|
||||
syn match cssGeneratedContentProp contained "\<move-to\>"
|
||||
syn match cssGeneratedContentProp contained "\<page-policy\>"
|
||||
@@ -234,22 +307,16 @@ syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic
|
||||
syn keyword cssListAttr contained disc circle square hebrew armenian georgian
|
||||
syn keyword cssListAttr contained inside outside
|
||||
|
||||
|
||||
syn match cssMarginProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
|
||||
|
||||
syn match cssMultiColumnProp contained "\<column\(-\(\break-\(after\|before\)\|count\|gap\|rule\(-\(color\|style\|width\)\)\=\)\|span\|width\)\=\>"
|
||||
|
||||
|
||||
syn match cssPaddingProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
|
||||
|
||||
syn keyword cssPositioningProp contained bottom clear clip display float left
|
||||
syn keyword cssPositioningProp contained position right top visibility
|
||||
syn match cssPositioningProp contained "\<z-index\>"
|
||||
syn keyword cssPositioningAttr contained block inline compact
|
||||
syn match cssPositioningAttr contained "\<table\(-\(row-gorup\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
|
||||
syn keyword cssPositioningAttr contained block compact
|
||||
syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
|
||||
syn keyword cssPositioningAttr contained left right both
|
||||
syn match cssPositioningAttr contained "\<list-item\>"
|
||||
syn match cssPositioningAttr contained "\<inline-\(block\|table\)\>"
|
||||
syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\)\)\=\>"
|
||||
syn keyword cssPositioningAttr contained static relative absolute fixed
|
||||
|
||||
syn match cssPrintProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
|
||||
@@ -262,18 +329,18 @@ syn keyword cssTableAttr contained fixed collapse separate show hide once always
|
||||
|
||||
syn keyword cssTextProp contained color direction
|
||||
syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
|
||||
syn match cssTextProp contained "\<text-\(justify\|\outline\|overflow\|warp\|align-last\)\>"
|
||||
syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
|
||||
syn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
|
||||
syn match cssTextProp contained "\<white-space\>"
|
||||
syn match cssTextProp contained "\<hanging-punctuation\>"
|
||||
syn match cssTextProp contained "\<punctuation-trim\>"
|
||||
syn match cssTextAttr contained "\<line-through\>"
|
||||
syn match cssTextAttr contained "\<text-indent\>"
|
||||
syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
|
||||
syn keyword cssTextAttr contained ltr rtl embed nowrap
|
||||
syn keyword cssTextAttr contained underline overline blink sub super middle
|
||||
syn keyword cssTextAttr contained capitalize uppercase lowercase
|
||||
syn keyword cssTextAttr contained center justify baseline sub super
|
||||
syn keyword cssTextAttr contained justify baseline sub super
|
||||
syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
|
||||
syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
|
||||
syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
|
||||
syn keyword cssTextAttr contained start end adjacent
|
||||
@@ -283,22 +350,69 @@ syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
|
||||
syn match cssTextAttr contained "\<break-all\>"
|
||||
syn match cssTextAttr contained "\<break-word\>"
|
||||
syn keyword cssTextAttr contained hyphenate
|
||||
|
||||
syn match cssTextAttr contained "\<bidi-override\>"
|
||||
|
||||
syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
|
||||
syn match cssTransformProp contained "\<perspective\(-origin\)\=\>"
|
||||
syn match cssTransformProp contained "\<backface-visibility\>"
|
||||
|
||||
" CSS Transitions
|
||||
" http://www.w3.org/TR/css3-transitions/
|
||||
syn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>"
|
||||
|
||||
syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
|
||||
syn match cssUIProp contained "\<outline-offset\>"
|
||||
" transition-time-function attributes
|
||||
syn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>"
|
||||
syn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
|
||||
syn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>"
|
||||
"------------------------------------------------
|
||||
" CSS Basic User Interface Module Level 3 (CSS3 UI)
|
||||
" http://www.w3.org/TR/css3-ui/
|
||||
syn match cssUIProp contained "\<box-sizing\>"
|
||||
syn keyword cssUIProp contained appearance icon resize
|
||||
syn keyword cssUIAttr contained window button menu field
|
||||
syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>"
|
||||
|
||||
syn keyword cssUIProp contained cursor
|
||||
syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>"
|
||||
syn keyword cssUIAttr contained crosshair help move pointer alias copy
|
||||
syn keyword cssUIAttr contained progress wait text cell move
|
||||
syn match cssUIAttr contained "\<context-menu\>"
|
||||
syn match cssUIAttr contained "\<no-drop\>"
|
||||
syn match cssUIAttr contained "\<not-allowed\>"
|
||||
syn match cssUIAttr contained "\<all-scroll\>"
|
||||
syn match cssUIAttr contained "\<\(vertical-\)\=text\>"
|
||||
syn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>"
|
||||
|
||||
syn match cssUIProp contained "\<ime-mode\>"
|
||||
syn keyword cssUIAttr contained active inactive disabled
|
||||
|
||||
syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
|
||||
syn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>"
|
||||
syn keyword cssUIAttr contained invert
|
||||
|
||||
syn keyword cssUIProp contained icon resize
|
||||
syn keyword cssUIAttr contained both horizontal vertical
|
||||
|
||||
syn match cssUIProp contained "\<text-overflow\>"
|
||||
syn keyword cssUIAttr contained clip ellipsis
|
||||
|
||||
" Already highlighted Props: font content
|
||||
"------------------------------------------------
|
||||
" Webkit/iOS specific attributes
|
||||
syn match cssUIAttr contained '\(preserve-3d\)'
|
||||
" IE specific attributes
|
||||
syn match cssIEUIAttr contained '\(bicubic\)'
|
||||
|
||||
" Webkit/iOS specific properties
|
||||
syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)'
|
||||
" IE specific properties
|
||||
syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)'
|
||||
|
||||
" Webkit/Firebox specific properties/attributes
|
||||
syn keyword cssUIProp contained appearance
|
||||
syn keyword cssUIAttr contained window button field icon document menu
|
||||
|
||||
|
||||
syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
|
||||
syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>"
|
||||
syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>"
|
||||
syn keyword cssAuralProp contained volume during azimuth elevation stress richness
|
||||
syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
|
||||
syn keyword cssAuralAttr contained silent
|
||||
@@ -307,48 +421,39 @@ syn keyword cssAuralAttr contained non mix
|
||||
syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
|
||||
syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
|
||||
syn keyword cssAuralAttr contained leftwards rightwards behind
|
||||
syn keyword cssAuralAttr contained below level above higher
|
||||
syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\)\>"
|
||||
syn keyword cssAuralAttr contained below level above lower higher
|
||||
syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>"
|
||||
syn keyword cssAuralAttr contained faster slower
|
||||
syn keyword cssAuralAttr contained male female child code digits continuous
|
||||
syn match cssAuralAttr contained "\<lower\>"
|
||||
|
||||
" cursor
|
||||
syn keyword cssUIProp contained cursor
|
||||
syn match cssUIAttr contained "\<[ns]\=[ew]\=-resize\>"
|
||||
syn keyword cssUIAttr contained crosshair default help move pointer
|
||||
syn keyword cssUIAttr contained progress wait
|
||||
|
||||
" FIXME: I could not find them in reference
|
||||
syn keyword cssUIAttr contained invert maker size zoom
|
||||
syn match cssRenderAttr contained "\<run-in\>"
|
||||
syn match cssRenderAttr contained "\<text-rendering\>"
|
||||
syn match cssRenderAttr contained "\<font-smoothing\>"
|
||||
syn match cssRenderProp contained "\<marker-offset\>"
|
||||
syn match cssRenderAttr contained "\<bidi-override\>"
|
||||
" mobile text
|
||||
syn match cssMobileTextProp contained "\<text-size-adjust\>"
|
||||
|
||||
|
||||
|
||||
" FIXME: This allows cssMediaBlock before the semicolon, which is wrong.
|
||||
syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType
|
||||
syn match cssBraces contained "[{}]"
|
||||
syn match cssError contained "{@<>"
|
||||
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition
|
||||
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold
|
||||
syn match cssBraceError "}"
|
||||
syn match cssAttrComma ","
|
||||
|
||||
" Pseudo class
|
||||
syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape
|
||||
syn keyword cssPseudoClassId link visited active hover focus before after left right lang
|
||||
syn match cssPseudoClassId contained "\<first\(-\(line\|letter\|child\)\)\=\>"
|
||||
" FIXME: handle functions.
|
||||
"syn region cssPseudoClassLang matchgroup=cssPseudoClassId start="lang(" end=")"
|
||||
syn match cssPseudoClassId contained "\<\(last\|only\|nth\|nth-last\)-child\>"
|
||||
syn match cssPseudoClassId contained "\<\(first\|last\|only\|nth\|nth-last\)-of-type\>"
|
||||
syn keyword cssPseudoClassId root empty target enable disabled checked not invalid
|
||||
syn match cssPseudoClassId contained "::\(-moz-\)\=selection"
|
||||
" http://www.w3.org/TR/css3-selectors/
|
||||
syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
|
||||
syn keyword cssPseudoClassId contained link visited active hover before after left right
|
||||
syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
|
||||
syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
|
||||
syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
|
||||
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
|
||||
" ------------------------------------
|
||||
" Vendor specific properties
|
||||
syn match cssPseudoClassId contained "\<selection\>"
|
||||
syn match cssPseudoClassId contained "\<focus\(-inner\)\=\>"
|
||||
syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
|
||||
|
||||
|
||||
" Comment
|
||||
syn region cssComment start="/\*" end="\*/" contains=@Spell
|
||||
syn region cssComment start="//" skip="\\$" end="$" keepend contains=@Spell
|
||||
syn region cssComment start="/\*" end="\*/" contains=@Spell fold
|
||||
|
||||
syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
|
||||
syn match cssSpecialCharQQ +\\"+ contained
|
||||
@@ -359,6 +464,26 @@ syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEsca
|
||||
" Vendor Prefix
|
||||
syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)"
|
||||
|
||||
" Various CSS Hack characters
|
||||
" In earlier versions of IE (6 and 7), one can prefix property names
|
||||
" with a _ or * to isolate those definitions to particular versions of IE
|
||||
" This is purely decorative and therefore we assign to the same highlight
|
||||
" group to cssVendor, for more information:
|
||||
" http://www.paulirish.com/2009/browser-specific-css-hacks/
|
||||
syn match cssHacks contained /\(_\|*\)/
|
||||
|
||||
" Misc highlight groups
|
||||
syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
|
||||
syntax match cssNoise contained /\(:\|;\|\/\)/
|
||||
|
||||
" Attr Enhance
|
||||
" Some keywords are both Prop and Attr, so we have to handle them
|
||||
syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise
|
||||
|
||||
" Hack for transition
|
||||
" The 'transition' Prop has Props after ':'.
|
||||
syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise
|
||||
|
||||
|
||||
if main_syntax == "css"
|
||||
syn sync minlines=10
|
||||
@@ -377,73 +502,76 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
|
||||
HiLink cssComment Comment
|
||||
HiLink cssVendor Comment
|
||||
HiLink cssHacks Comment
|
||||
HiLink cssTagName Statement
|
||||
HiLink cssDeprecated Error
|
||||
HiLink cssSelectorOp Special
|
||||
HiLink cssSelectorOp2 Special
|
||||
HiLink cssAttrComma Special
|
||||
|
||||
HiLink cssAnimationProp StorageClass
|
||||
HiLink cssBackgroundProp StorageClass
|
||||
HiLink cssBorderOutlineProp StorageClass
|
||||
HiLink cssBoxProp StorageClass
|
||||
HiLink cssColorProp StorageClass
|
||||
HiLink cssContentForPagedMediaProp StorageClass
|
||||
HiLink cssDimensionProp StorageClass
|
||||
HiLink cssFlexibleBoxProp StorageClass
|
||||
HiLink cssFontProp StorageClass
|
||||
HiLink cssGeneratedContentProp StorageClass
|
||||
HiLink cssGridProp StorageClass
|
||||
HiLink cssHyerlinkProp StorageClass
|
||||
HiLink cssLineboxProp StorageClass
|
||||
HiLink cssListProp StorageClass
|
||||
HiLink cssMarginProp StorageClass
|
||||
HiLink cssMarqueeProp StorageClass
|
||||
HiLink cssMultiColumnProp StorageClass
|
||||
HiLink cssPaddingProp StorageClass
|
||||
HiLink cssPagedMediaProp StorageClass
|
||||
HiLink cssPositioningProp StorageClass
|
||||
HiLink cssPrintProp StorageClass
|
||||
HiLink cssRubyProp StorageClass
|
||||
HiLink cssSpeechProp StorageClass
|
||||
HiLink cssTableProp StorageClass
|
||||
HiLink cssTextProp StorageClass
|
||||
HiLink cssTransformProp StorageClass
|
||||
HiLink cssTransitionProp StorageClass
|
||||
HiLink cssUIProp StorageClass
|
||||
HiLink cssAuralProp StorageClass
|
||||
HiLink cssRenderProp StorageClass
|
||||
HiLink cssAnimationProp cssProp
|
||||
HiLink cssBackgroundProp cssProp
|
||||
HiLink cssBorderProp cssProp
|
||||
HiLink cssBoxProp cssProp
|
||||
HiLink cssColorProp cssProp
|
||||
HiLink cssContentForPagedMediaProp cssProp
|
||||
HiLink cssDimensionProp cssProp
|
||||
HiLink cssFlexibleBoxProp cssProp
|
||||
HiLink cssFontProp cssProp
|
||||
HiLink cssGeneratedContentProp cssProp
|
||||
HiLink cssGridProp cssProp
|
||||
HiLink cssHyerlinkProp cssProp
|
||||
HiLink cssLineboxProp cssProp
|
||||
HiLink cssListProp cssProp
|
||||
HiLink cssMarqueeProp cssProp
|
||||
HiLink cssMultiColumnProp cssProp
|
||||
HiLink cssPagedMediaProp cssProp
|
||||
HiLink cssPositioningProp cssProp
|
||||
HiLink cssPrintProp cssProp
|
||||
HiLink cssRubyProp cssProp
|
||||
HiLink cssSpeechProp cssProp
|
||||
HiLink cssTableProp cssProp
|
||||
HiLink cssTextProp cssProp
|
||||
HiLink cssTransformProp cssProp
|
||||
HiLink cssTransitionProp cssProp
|
||||
HiLink cssUIProp cssProp
|
||||
HiLink cssIEUIProp cssProp
|
||||
HiLink cssAuralProp cssProp
|
||||
HiLink cssRenderProp cssProp
|
||||
HiLink cssMobileTextProp cssProp
|
||||
|
||||
HiLink cssAnimationAttr Type
|
||||
HiLink cssBackgroundAttr Type
|
||||
HiLink cssBorderOutlineAttr Type
|
||||
HiLink cssBoxAttr Type
|
||||
HiLink cssColorAttr Type
|
||||
HiLink cssContentForPagedMediaAttr Type
|
||||
HiLink cssDimensionAttr Type
|
||||
HiLink cssFlexibleBoxAttr Type
|
||||
HiLink cssFontAttr Type
|
||||
HiLink cssGeneratedContentAttr Type
|
||||
HiLink cssGridAttr Type
|
||||
HiLink cssHyerlinkAttr Type
|
||||
HiLink cssLineboxAttr Type
|
||||
HiLink cssListAttr Type
|
||||
HiLink cssMarginAttr Type
|
||||
HiLink cssMarqueeAttr Type
|
||||
HiLink cssMultiColumnAttr Type
|
||||
HiLink cssPaddingAttr Type
|
||||
HiLink cssPagedMediaAttr Type
|
||||
HiLink cssPositioningAttr Type
|
||||
HiLink cssPrintAttr Type
|
||||
HiLink cssRubyAttr Type
|
||||
HiLink cssSpeechAttr Type
|
||||
HiLink cssTableAttr Type
|
||||
HiLink cssTextAttr Type
|
||||
HiLink cssTransformAttr Type
|
||||
HiLink cssTransitionAttr Type
|
||||
HiLink cssUIAttr Type
|
||||
HiLink cssAuralAttr Type
|
||||
HiLink cssRenderAttr Type
|
||||
HiLink cssCommonAttr Type
|
||||
HiLink cssAnimationAttr cssAttr
|
||||
HiLink cssBackgroundAttr cssAttr
|
||||
HiLink cssBorderAttr cssAttr
|
||||
HiLink cssBoxAttr cssAttr
|
||||
HiLink cssContentForPagedMediaAttr cssAttr
|
||||
HiLink cssDimensionAttr cssAttr
|
||||
HiLink cssFlexibleBoxAttr cssAttr
|
||||
HiLink cssFontAttr cssAttr
|
||||
HiLink cssGeneratedContentAttr cssAttr
|
||||
HiLink cssGridAttr cssAttr
|
||||
HiLink cssHyerlinkAttr cssAttr
|
||||
HiLink cssLineboxAttr cssAttr
|
||||
HiLink cssListAttr cssAttr
|
||||
HiLink cssMarginAttr cssAttr
|
||||
HiLink cssMarqueeAttr cssAttr
|
||||
HiLink cssMultiColumnAttr cssAttr
|
||||
HiLink cssPaddingAttr cssAttr
|
||||
HiLink cssPagedMediaAttr cssAttr
|
||||
HiLink cssPositioningAttr cssAttr
|
||||
HiLink cssGradientAttr cssAttr
|
||||
HiLink cssPrintAttr cssAttr
|
||||
HiLink cssRubyAttr cssAttr
|
||||
HiLink cssSpeechAttr cssAttr
|
||||
HiLink cssTableAttr cssAttr
|
||||
HiLink cssTextAttr cssAttr
|
||||
HiLink cssTransformAttr cssAttr
|
||||
HiLink cssTransitionAttr cssAttr
|
||||
HiLink cssUIAttr cssAttr
|
||||
HiLink cssIEUIAttr cssAttr
|
||||
HiLink cssAuralAttr cssAttr
|
||||
HiLink cssRenderAttr cssAttr
|
||||
HiLink cssCommonAttr cssAttr
|
||||
|
||||
HiLink cssPseudoClassId PreProc
|
||||
HiLink cssPseudoClassLang Constant
|
||||
@@ -456,9 +584,11 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
HiLink cssFunction Constant
|
||||
HiLink cssURL String
|
||||
HiLink cssFunctionName Function
|
||||
HiLink cssFunctionComma Function
|
||||
HiLink cssColor Constant
|
||||
HiLink cssIdentifier Function
|
||||
HiLink cssInclude Include
|
||||
HiLink cssIncludeKeyword atKeyword
|
||||
HiLink cssImportant Special
|
||||
HiLink cssBraces Function
|
||||
HiLink cssBraceError Error
|
||||
@@ -467,15 +597,30 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
HiLink cssUnicodeEscape Special
|
||||
HiLink cssStringQQ String
|
||||
HiLink cssStringQ String
|
||||
HiLink cssMedia Special
|
||||
HiLink cssAttributeSelector String
|
||||
HiLink cssMedia atKeyword
|
||||
HiLink cssMediaType Special
|
||||
HiLink cssMediaComma Normal
|
||||
HiLink cssMediaKeyword Statement
|
||||
HiLink cssMediaProp cssProp
|
||||
HiLink cssMediaAttr cssAttr
|
||||
HiLink cssPage atKeyword
|
||||
HiLink cssPagePseudo PreProc
|
||||
HiLink cssPageHeaderProp PreProc
|
||||
HiLink cssPageProp cssProp
|
||||
HiLink cssKeyFrame atKeyword
|
||||
HiLink cssKeyFrameSelector Constant
|
||||
HiLink cssFontDescriptor Special
|
||||
HiLink cssFontDescriptorFunction Constant
|
||||
HiLink cssFontDescriptorProp StorageClass
|
||||
HiLink cssFontDescriptorAttr Type
|
||||
HiLink cssFontDescriptorProp cssProp
|
||||
HiLink cssFontDescriptorAttr cssAttr
|
||||
HiLink cssUnicodeRange Constant
|
||||
HiLink cssClassName Function
|
||||
HiLink cssProp StorageClass
|
||||
HiLink cssAttr Constant
|
||||
HiLink cssUnitDecorators Number
|
||||
HiLink cssNoise Noise
|
||||
HiLink atKeyword Comment
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
+18
-13
@@ -2,8 +2,8 @@
|
||||
"
|
||||
" Language: D
|
||||
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 0.25
|
||||
" Last Change: 2013 October 5
|
||||
" Version: 0.26
|
||||
"
|
||||
" Contributors:
|
||||
" - Jason Mills: original Maintainer
|
||||
@@ -158,7 +158,7 @@ syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=
|
||||
|
||||
" Pragma Statement
|
||||
syn match dPragma "\<pragma\>"
|
||||
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dPragmaIdentifier
|
||||
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+6 contains=dPragmaIdentifier
|
||||
|
||||
" Necessary to highlight C++ in extern modifiers.
|
||||
syn match dExternIdentifier "C\(++\)\?" contained
|
||||
@@ -168,16 +168,18 @@ syn match dExternal "\<extern\>"
|
||||
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
|
||||
|
||||
" Make import a region to prevent highlighting keywords
|
||||
syn region dImport start="import" end=";" contains=dExternal,@dComment
|
||||
syn region dImport start="import\_s" end=";" contains=dExternal,@dComment
|
||||
|
||||
" Make module a region to prevent highlighting keywords
|
||||
syn region dImport start="module" end=";" contains=dExternal,@dComment
|
||||
syn region dImport start="module\_s" end=";" contains=dExternal,@dComment
|
||||
|
||||
" dTokens is used by the token string highlighting
|
||||
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
|
||||
syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
|
||||
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
|
||||
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation,dEnum
|
||||
syn cluster dTokens add=dParenString,dBrackString,dAngleString,dCurlyString
|
||||
syn cluster dTokens add=dTokenString,dDelimString,dHereString
|
||||
|
||||
" Create a match for parameter lists to identify storage class
|
||||
syn region paramlist start="(" end=")" contains=@dTokens
|
||||
@@ -192,6 +194,9 @@ syn cluster dTokens add=dUserLabel,dLabel
|
||||
|
||||
" Comments
|
||||
"
|
||||
syn match dCommentError display "\*/"
|
||||
syn match dNestedCommentError display "+/"
|
||||
|
||||
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
|
||||
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
|
||||
syn match dCommentStar contained "^\s*\*$"
|
||||
@@ -201,15 +206,12 @@ if exists("d_comment_strings")
|
||||
syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
|
||||
syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
|
||||
syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
|
||||
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
|
||||
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
|
||||
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
|
||||
else
|
||||
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
|
||||
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
|
||||
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
|
||||
endif
|
||||
|
||||
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,dCommentStartError,@Spell fold
|
||||
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
|
||||
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
|
||||
|
||||
hi link dLineCommentString dBlockCommentString
|
||||
hi link dBlockCommentString dString
|
||||
hi link dNestedCommentString dString
|
||||
@@ -249,7 +251,7 @@ syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell
|
||||
syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell
|
||||
syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell
|
||||
syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
|
||||
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+\n\z1"+ contains=@Spell
|
||||
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell
|
||||
|
||||
" Nesting delimited string contents
|
||||
"
|
||||
@@ -368,6 +370,9 @@ hi def link dType Type
|
||||
hi def link dLineComment Comment
|
||||
hi def link dBlockComment Comment
|
||||
hi def link dNestedComment Comment
|
||||
hi def link dCommentError Error
|
||||
hi def link dNestedCommentError Error
|
||||
hi def link dCommentStartError Error
|
||||
hi def link dExternal Include
|
||||
hi def link dAnnotation PreProc
|
||||
hi def link dSharpBang PreProc
|
||||
|
||||
+189
-727
@@ -1,751 +1,213 @@
|
||||
" Vim syntax file
|
||||
" Language: dircolors(1) input file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2012-04-25
|
||||
" Language: dircolors(1) input file
|
||||
" Maintainer: Jan Larres <jan@majutsushi.net>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2013-08-17
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn keyword dircolorsTodo contained FIXME TODO XXX NOTE
|
||||
syntax keyword dircolorsTodo FIXME TODO XXX NOTE contained
|
||||
|
||||
syn region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell
|
||||
syntax region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell
|
||||
|
||||
syn keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE
|
||||
syntax keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE
|
||||
|
||||
syn keyword dircolorsKeyword NORMAL NORM FILE DIR LNK LINK SYMLINK ORPHAN
|
||||
\ RESET MULTIHARDLINK CAPABILITY SETUID SETGID
|
||||
\ STICKY STICKY_OTHER_WRITABLE OTHER_WRITABLE
|
||||
\ MISSING FIFO PIPE SOCK BLK BLOCK CHR CHAR
|
||||
\ DOOR EXEC
|
||||
\ nextgroup=@dircolorsColors skipwhite
|
||||
syntax keyword dircolorsKeyword NORMAL NORM FILE RESET DIR LNK LINK SYMLINK
|
||||
\ MULTIHARDLINK FIFO SOCK DOOR BLK CHR ORPHAN
|
||||
\ MISSING PIPE BLOCK CHR EXEC SETUID SETGID
|
||||
\ CAPABILITY STICKY_OTHER_WRITABLE
|
||||
\ OTHER_WRITABLE STICKY
|
||||
|
||||
if exists("dircolors_is_slackware")
|
||||
syn keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT
|
||||
" Slackware only, ignored by GNU dircolors.
|
||||
syntax keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT
|
||||
|
||||
syntax match dircolorsExtension '^\s*\zs[.*]\S\+'
|
||||
|
||||
syntax match dircolorsEscape '\\[abefnrtv?_\\^#]'
|
||||
syntax match dircolorsEscape '\\[0-9]\{3}'
|
||||
syntax match dircolorsEscape '\\x[0-9a-f]\{3}'
|
||||
|
||||
if !has('gui_running') && &t_Co == ''
|
||||
syntax match dircolorsNumber '\<\d\+\>'
|
||||
highlight default link dircolorsNumber Number
|
||||
endif
|
||||
|
||||
syn match dircolorsExtension '^\s*\zs[.*]\S\+'
|
||||
\ nextgroup=dircolorsColorPair skipwhite
|
||||
highlight default link dircolorsTodo Todo
|
||||
highlight default link dircolorsComment Comment
|
||||
highlight default link dircolorsKeyword Keyword
|
||||
highlight default link dircolorsExtension Identifier
|
||||
highlight default link dircolorsEscape Special
|
||||
|
||||
syn match dircolorsColorPair contained '.*$'
|
||||
\ transparent contains=@dircolorsColors
|
||||
function! s:set_guicolors() abort
|
||||
let s:guicolors = {}
|
||||
|
||||
if &t_Co == 8 || &t_Co == 16
|
||||
syn cluster dircolorsColors contains=dircolorsBold,dircolorsUnderline,
|
||||
\ dircolorsBlink,dircolorsReverse,
|
||||
\ dircolorsInvisible,dircolorsBlack,
|
||||
\ dircolorsRed,dircolorsGreen,dircolorsYellow,
|
||||
\ dircolorsBlue,dircolorsMagenta,dircolorsCyan,
|
||||
\ dircolorsWhite,dircolorsBGBlack,
|
||||
\ dircolorsBGRed,dircolorsBGGreen,
|
||||
\ dircolorsBGYellow,dircolorsBGBlue,
|
||||
\ dircolorsBGMagenta,dircolorsBGCyan,
|
||||
\ dircolorsBGWhite
|
||||
let s:guicolors[0] = "Black"
|
||||
let s:guicolors[1] = "DarkRed"
|
||||
let s:guicolors[2] = "DarkGreen"
|
||||
let s:guicolors[3] = "DarkYellow"
|
||||
let s:guicolors[4] = "DarkBlue"
|
||||
let s:guicolors[5] = "DarkMagenta"
|
||||
let s:guicolors[6] = "DarkCyan"
|
||||
let s:guicolors[7] = "Gray"
|
||||
let s:guicolors[8] = "DarkGray"
|
||||
let s:guicolors[9] = "Red"
|
||||
let s:guicolors[10] = "Green"
|
||||
let s:guicolors[11] = "Yellow"
|
||||
let s:guicolors[12] = "Blue"
|
||||
let s:guicolors[13] = "Magenta"
|
||||
let s:guicolors[14] = "Cyan"
|
||||
let s:guicolors[15] = "White"
|
||||
|
||||
syn match dircolorsBold contained '\<0\=1\>'
|
||||
syn match dircolorsUnderline contained '\<0\=4\>'
|
||||
syn match dircolorsBlink contained '\<0\=5\>'
|
||||
syn match dircolorsReverse contained '\<0\=7\>'
|
||||
syn match dircolorsInvisible contained '\<0\=8\>'
|
||||
syn match dircolorsBlack contained '\<30\>'
|
||||
syn match dircolorsRed contained '\<31\>'
|
||||
syn match dircolorsGreen contained '\<32\>'
|
||||
syn match dircolorsYellow contained '\<33\>'
|
||||
syn match dircolorsBlue contained '\<34\>'
|
||||
syn match dircolorsMagenta contained '\<35\>'
|
||||
syn match dircolorsCyan contained '\<36\>'
|
||||
syn match dircolorsWhite contained '\<37\>'
|
||||
syn match dircolorsBGBlack contained '\<40\>'
|
||||
syn match dircolorsBGRed contained '\<41\>'
|
||||
syn match dircolorsBGGreen contained '\<42\>'
|
||||
syn match dircolorsBGYellow contained '\<43\>'
|
||||
syn match dircolorsBGBlue contained '\<44\>'
|
||||
syn match dircolorsBGMagenta contained '\<45\>'
|
||||
syn match dircolorsBGCyan contained '\<46\>'
|
||||
syn match dircolorsBGWhite contained '\<47\>'
|
||||
elseif &t_Co == 256 || has("gui_running")
|
||||
syn cluster dircolorsColors contains=dircolorsColor0,
|
||||
\ dircolorsColor1,dircolorsColor2,
|
||||
\ dircolorsColor3,dircolorsColor4,
|
||||
\ dircolorsColor5,dircolorsColor6,
|
||||
\ dircolorsColor7,dircolorsColor8,
|
||||
\ dircolorsColor9,dircolorsColor10,
|
||||
\ dircolorsColor11,dircolorsColor12,
|
||||
\ dircolorsColor13,dircolorsColor14,
|
||||
\ dircolorsColor15,dircolorsColor16,
|
||||
\ dircolorsColor17,dircolorsColor18,
|
||||
\ dircolorsColor19,dircolorsColor20,
|
||||
\ dircolorsColor21,dircolorsColor22,
|
||||
\ dircolorsColor23,dircolorsColor24,
|
||||
\ dircolorsColor25,dircolorsColor26,
|
||||
\ dircolorsColor27,dircolorsColor28,
|
||||
\ dircolorsColor29,dircolorsColor30,
|
||||
\ dircolorsColor31,dircolorsColor32,
|
||||
\ dircolorsColor33,dircolorsColor34,
|
||||
\ dircolorsColor35,dircolorsColor36,
|
||||
\ dircolorsColor37,dircolorsColor38,
|
||||
\ dircolorsColor39,dircolorsColor40,
|
||||
\ dircolorsColor41,dircolorsColor42,
|
||||
\ dircolorsColor43,dircolorsColor44,
|
||||
\ dircolorsColor45,dircolorsColor46,
|
||||
\ dircolorsColor47,dircolorsColor48,
|
||||
\ dircolorsColor49,dircolorsColor50,
|
||||
\ dircolorsColor51,dircolorsColor52,
|
||||
\ dircolorsColor53,dircolorsColor54,
|
||||
\ dircolorsColor55,dircolorsColor56,
|
||||
\ dircolorsColor57,dircolorsColor58,
|
||||
\ dircolorsColor59,dircolorsColor60,
|
||||
\ dircolorsColor61,dircolorsColor62,
|
||||
\ dircolorsColor63,dircolorsColor64,
|
||||
\ dircolorsColor65,dircolorsColor66,
|
||||
\ dircolorsColor67,dircolorsColor68,
|
||||
\ dircolorsColor69,dircolorsColor70,
|
||||
\ dircolorsColor71,dircolorsColor72,
|
||||
\ dircolorsColor73,dircolorsColor74,
|
||||
\ dircolorsColor75,dircolorsColor76,
|
||||
\ dircolorsColor77,dircolorsColor78,
|
||||
\ dircolorsColor79,dircolorsColor80,
|
||||
\ dircolorsColor81,dircolorsColor82,
|
||||
\ dircolorsColor83,dircolorsColor84,
|
||||
\ dircolorsColor85,dircolorsColor86,
|
||||
\ dircolorsColor87,dircolorsColor88,
|
||||
\ dircolorsColor89,dircolorsColor90,
|
||||
\ dircolorsColor91,dircolorsColor92,
|
||||
\ dircolorsColor93,dircolorsColor94,
|
||||
\ dircolorsColor95,dircolorsColor96,
|
||||
\ dircolorsColor97,dircolorsColor98,
|
||||
\ dircolorsColor99,dircolorsColor100,
|
||||
\ dircolorsColor101,dircolorsColor102,
|
||||
\ dircolorsColor103,dircolorsColor104,
|
||||
\ dircolorsColor105,dircolorsColor106,
|
||||
\ dircolorsColor107,dircolorsColor108,
|
||||
\ dircolorsColor109,dircolorsColor110,
|
||||
\ dircolorsColor111,dircolorsColor112,
|
||||
\ dircolorsColor113,dircolorsColor114,
|
||||
\ dircolorsColor115,dircolorsColor116,
|
||||
\ dircolorsColor117,dircolorsColor118,
|
||||
\ dircolorsColor119,dircolorsColor120,
|
||||
\ dircolorsColor121,dircolorsColor122,
|
||||
\ dircolorsColor123,dircolorsColor124,
|
||||
\ dircolorsColor125,dircolorsColor126,
|
||||
\ dircolorsColor127,dircolorsColor128,
|
||||
\ dircolorsColor129,dircolorsColor130,
|
||||
\ dircolorsColor131,dircolorsColor132,
|
||||
\ dircolorsColor133,dircolorsColor134,
|
||||
\ dircolorsColor135,dircolorsColor136,
|
||||
\ dircolorsColor137,dircolorsColor138,
|
||||
\ dircolorsColor139,dircolorsColor140,
|
||||
\ dircolorsColor141,dircolorsColor142,
|
||||
\ dircolorsColor143,dircolorsColor144,
|
||||
\ dircolorsColor145,dircolorsColor146,
|
||||
\ dircolorsColor147,dircolorsColor148,
|
||||
\ dircolorsColor149,dircolorsColor150,
|
||||
\ dircolorsColor151,dircolorsColor152,
|
||||
\ dircolorsColor153,dircolorsColor154,
|
||||
\ dircolorsColor155,dircolorsColor156,
|
||||
\ dircolorsColor157,dircolorsColor158,
|
||||
\ dircolorsColor159,dircolorsColor160,
|
||||
\ dircolorsColor161,dircolorsColor162,
|
||||
\ dircolorsColor163,dircolorsColor164,
|
||||
\ dircolorsColor165,dircolorsColor166,
|
||||
\ dircolorsColor167,dircolorsColor168,
|
||||
\ dircolorsColor169,dircolorsColor170,
|
||||
\ dircolorsColor171,dircolorsColor172,
|
||||
\ dircolorsColor173,dircolorsColor174,
|
||||
\ dircolorsColor175,dircolorsColor176,
|
||||
\ dircolorsColor177,dircolorsColor178,
|
||||
\ dircolorsColor179,dircolorsColor180,
|
||||
\ dircolorsColor181,dircolorsColor182,
|
||||
\ dircolorsColor183,dircolorsColor184,
|
||||
\ dircolorsColor185,dircolorsColor186,
|
||||
\ dircolorsColor187,dircolorsColor188,
|
||||
\ dircolorsColor189,dircolorsColor190,
|
||||
\ dircolorsColor191,dircolorsColor192,
|
||||
\ dircolorsColor193,dircolorsColor194,
|
||||
\ dircolorsColor195,dircolorsColor196,
|
||||
\ dircolorsColor197,dircolorsColor198,
|
||||
\ dircolorsColor199,dircolorsColor200,
|
||||
\ dircolorsColor201,dircolorsColor202,
|
||||
\ dircolorsColor203,dircolorsColor204,
|
||||
\ dircolorsColor205,dircolorsColor206,
|
||||
\ dircolorsColor207,dircolorsColor208,
|
||||
\ dircolorsColor209,dircolorsColor210,
|
||||
\ dircolorsColor211,dircolorsColor212,
|
||||
\ dircolorsColor213,dircolorsColor214,
|
||||
\ dircolorsColor215,dircolorsColor216,
|
||||
\ dircolorsColor217,dircolorsColor218,
|
||||
\ dircolorsColor219,dircolorsColor220,
|
||||
\ dircolorsColor221,dircolorsColor222,
|
||||
\ dircolorsColor223,dircolorsColor224,
|
||||
\ dircolorsColor225,dircolorsColor226,
|
||||
\ dircolorsColor227,dircolorsColor228,
|
||||
\ dircolorsColor229,dircolorsColor230,
|
||||
\ dircolorsColor231,dircolorsColor232,
|
||||
\ dircolorsColor233,dircolorsColor234,
|
||||
\ dircolorsColor235,dircolorsColor236,
|
||||
\ dircolorsColor237,dircolorsColor238,
|
||||
\ dircolorsColor239,dircolorsColor240,
|
||||
\ dircolorsColor241,dircolorsColor242,
|
||||
\ dircolorsColor243,dircolorsColor244,
|
||||
\ dircolorsColor245,dircolorsColor246,
|
||||
\ dircolorsColor247,dircolorsColor248,
|
||||
\ dircolorsColor249,dircolorsColor250,
|
||||
\ dircolorsColor251,dircolorsColor252,
|
||||
\ dircolorsColor253,dircolorsColor254,
|
||||
\ dircolorsColor255
|
||||
let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"]
|
||||
|
||||
syn match dircolorsColor0 contained '\<0\=0\>'
|
||||
syn match dircolorsColor1 contained '\<0\=1\>'
|
||||
syn match dircolorsColor2 contained '\<0\=2\>'
|
||||
syn match dircolorsColor3 contained '\<0\=3\>'
|
||||
syn match dircolorsColor4 contained '\<0\=4\>'
|
||||
syn match dircolorsColor5 contained '\<0\=5\>'
|
||||
syn match dircolorsColor6 contained '\<0\=6\>'
|
||||
syn match dircolorsColor7 contained '\<0\=7\>'
|
||||
syn match dircolorsColor8 contained '\<0\=8\>'
|
||||
syn match dircolorsColor9 contained '\<0\=9\>'
|
||||
syn match dircolorsColor10 contained '\<10\>'
|
||||
syn match dircolorsColor11 contained '\<11\>'
|
||||
syn match dircolorsColor12 contained '\<12\>'
|
||||
syn match dircolorsColor13 contained '\<13\>'
|
||||
syn match dircolorsColor14 contained '\<14\>'
|
||||
syn match dircolorsColor15 contained '\<15\>'
|
||||
syn match dircolorsColor16 contained '\<16\>'
|
||||
syn match dircolorsColor17 contained '\<17\>'
|
||||
syn match dircolorsColor18 contained '\<18\>'
|
||||
syn match dircolorsColor19 contained '\<19\>'
|
||||
syn match dircolorsColor20 contained '\<20\>'
|
||||
syn match dircolorsColor21 contained '\<21\>'
|
||||
syn match dircolorsColor22 contained '\<22\>'
|
||||
syn match dircolorsColor23 contained '\<23\>'
|
||||
syn match dircolorsColor24 contained '\<24\>'
|
||||
syn match dircolorsColor25 contained '\<25\>'
|
||||
syn match dircolorsColor26 contained '\<26\>'
|
||||
syn match dircolorsColor27 contained '\<27\>'
|
||||
syn match dircolorsColor28 contained '\<28\>'
|
||||
syn match dircolorsColor29 contained '\<29\>'
|
||||
syn match dircolorsColor30 contained '\<30\>'
|
||||
syn match dircolorsColor31 contained '\<31\>'
|
||||
syn match dircolorsColor32 contained '\<32\>'
|
||||
syn match dircolorsColor33 contained '\<33\>'
|
||||
syn match dircolorsColor34 contained '\<34\>'
|
||||
syn match dircolorsColor35 contained '\<35\>'
|
||||
syn match dircolorsColor36 contained '\<36\>'
|
||||
syn match dircolorsColor37 contained '\<37\>'
|
||||
syn match dircolorsColor38 contained '\<38\>'
|
||||
syn match dircolorsColor39 contained '\<39\>'
|
||||
syn match dircolorsColor40 contained '\<40\>'
|
||||
syn match dircolorsColor41 contained '\<41\>'
|
||||
syn match dircolorsColor42 contained '\<42\>'
|
||||
syn match dircolorsColor43 contained '\<43\>'
|
||||
syn match dircolorsColor44 contained '\<44\>'
|
||||
syn match dircolorsColor45 contained '\<45\>'
|
||||
syn match dircolorsColor46 contained '\<46\>'
|
||||
syn match dircolorsColor47 contained '\<47\>'
|
||||
syn match dircolorsColor48 contained '\<48\>'
|
||||
syn match dircolorsColor49 contained '\<49\>'
|
||||
syn match dircolorsColor50 contained '\<50\>'
|
||||
syn match dircolorsColor51 contained '\<51\>'
|
||||
syn match dircolorsColor52 contained '\<52\>'
|
||||
syn match dircolorsColor53 contained '\<53\>'
|
||||
syn match dircolorsColor54 contained '\<54\>'
|
||||
syn match dircolorsColor55 contained '\<55\>'
|
||||
syn match dircolorsColor56 contained '\<56\>'
|
||||
syn match dircolorsColor57 contained '\<57\>'
|
||||
syn match dircolorsColor58 contained '\<58\>'
|
||||
syn match dircolorsColor59 contained '\<59\>'
|
||||
syn match dircolorsColor60 contained '\<60\>'
|
||||
syn match dircolorsColor61 contained '\<61\>'
|
||||
syn match dircolorsColor62 contained '\<62\>'
|
||||
syn match dircolorsColor63 contained '\<63\>'
|
||||
syn match dircolorsColor64 contained '\<64\>'
|
||||
syn match dircolorsColor65 contained '\<65\>'
|
||||
syn match dircolorsColor66 contained '\<66\>'
|
||||
syn match dircolorsColor67 contained '\<67\>'
|
||||
syn match dircolorsColor68 contained '\<68\>'
|
||||
syn match dircolorsColor69 contained '\<69\>'
|
||||
syn match dircolorsColor70 contained '\<70\>'
|
||||
syn match dircolorsColor71 contained '\<71\>'
|
||||
syn match dircolorsColor72 contained '\<72\>'
|
||||
syn match dircolorsColor73 contained '\<73\>'
|
||||
syn match dircolorsColor74 contained '\<74\>'
|
||||
syn match dircolorsColor75 contained '\<75\>'
|
||||
syn match dircolorsColor76 contained '\<76\>'
|
||||
syn match dircolorsColor77 contained '\<77\>'
|
||||
syn match dircolorsColor78 contained '\<78\>'
|
||||
syn match dircolorsColor79 contained '\<79\>'
|
||||
syn match dircolorsColor80 contained '\<80\>'
|
||||
syn match dircolorsColor81 contained '\<81\>'
|
||||
syn match dircolorsColor82 contained '\<82\>'
|
||||
syn match dircolorsColor83 contained '\<83\>'
|
||||
syn match dircolorsColor84 contained '\<84\>'
|
||||
syn match dircolorsColor85 contained '\<85\>'
|
||||
syn match dircolorsColor86 contained '\<86\>'
|
||||
syn match dircolorsColor87 contained '\<87\>'
|
||||
syn match dircolorsColor88 contained '\<88\>'
|
||||
syn match dircolorsColor89 contained '\<89\>'
|
||||
syn match dircolorsColor90 contained '\<90\>'
|
||||
syn match dircolorsColor91 contained '\<91\>'
|
||||
syn match dircolorsColor92 contained '\<92\>'
|
||||
syn match dircolorsColor93 contained '\<93\>'
|
||||
syn match dircolorsColor94 contained '\<94\>'
|
||||
syn match dircolorsColor95 contained '\<95\>'
|
||||
syn match dircolorsColor96 contained '\<96\>'
|
||||
syn match dircolorsColor97 contained '\<97\>'
|
||||
syn match dircolorsColor98 contained '\<98\>'
|
||||
syn match dircolorsColor99 contained '\<99\>'
|
||||
syn match dircolorsColor100 contained '\<100\>'
|
||||
syn match dircolorsColor101 contained '\<101\>'
|
||||
syn match dircolorsColor102 contained '\<102\>'
|
||||
syn match dircolorsColor103 contained '\<103\>'
|
||||
syn match dircolorsColor104 contained '\<104\>'
|
||||
syn match dircolorsColor105 contained '\<105\>'
|
||||
syn match dircolorsColor106 contained '\<106\>'
|
||||
syn match dircolorsColor107 contained '\<107\>'
|
||||
syn match dircolorsColor108 contained '\<108\>'
|
||||
syn match dircolorsColor109 contained '\<109\>'
|
||||
syn match dircolorsColor110 contained '\<110\>'
|
||||
syn match dircolorsColor111 contained '\<111\>'
|
||||
syn match dircolorsColor112 contained '\<112\>'
|
||||
syn match dircolorsColor113 contained '\<113\>'
|
||||
syn match dircolorsColor114 contained '\<114\>'
|
||||
syn match dircolorsColor115 contained '\<115\>'
|
||||
syn match dircolorsColor116 contained '\<116\>'
|
||||
syn match dircolorsColor117 contained '\<117\>'
|
||||
syn match dircolorsColor118 contained '\<118\>'
|
||||
syn match dircolorsColor119 contained '\<119\>'
|
||||
syn match dircolorsColor120 contained '\<120\>'
|
||||
syn match dircolorsColor121 contained '\<121\>'
|
||||
syn match dircolorsColor122 contained '\<122\>'
|
||||
syn match dircolorsColor123 contained '\<123\>'
|
||||
syn match dircolorsColor124 contained '\<124\>'
|
||||
syn match dircolorsColor125 contained '\<125\>'
|
||||
syn match dircolorsColor126 contained '\<126\>'
|
||||
syn match dircolorsColor127 contained '\<127\>'
|
||||
syn match dircolorsColor128 contained '\<128\>'
|
||||
syn match dircolorsColor129 contained '\<129\>'
|
||||
syn match dircolorsColor130 contained '\<130\>'
|
||||
syn match dircolorsColor131 contained '\<131\>'
|
||||
syn match dircolorsColor132 contained '\<132\>'
|
||||
syn match dircolorsColor133 contained '\<133\>'
|
||||
syn match dircolorsColor134 contained '\<134\>'
|
||||
syn match dircolorsColor135 contained '\<135\>'
|
||||
syn match dircolorsColor136 contained '\<136\>'
|
||||
syn match dircolorsColor137 contained '\<137\>'
|
||||
syn match dircolorsColor138 contained '\<138\>'
|
||||
syn match dircolorsColor139 contained '\<139\>'
|
||||
syn match dircolorsColor140 contained '\<140\>'
|
||||
syn match dircolorsColor141 contained '\<141\>'
|
||||
syn match dircolorsColor142 contained '\<142\>'
|
||||
syn match dircolorsColor143 contained '\<143\>'
|
||||
syn match dircolorsColor144 contained '\<144\>'
|
||||
syn match dircolorsColor145 contained '\<145\>'
|
||||
syn match dircolorsColor146 contained '\<146\>'
|
||||
syn match dircolorsColor147 contained '\<147\>'
|
||||
syn match dircolorsColor148 contained '\<148\>'
|
||||
syn match dircolorsColor149 contained '\<149\>'
|
||||
syn match dircolorsColor150 contained '\<150\>'
|
||||
syn match dircolorsColor151 contained '\<151\>'
|
||||
syn match dircolorsColor152 contained '\<152\>'
|
||||
syn match dircolorsColor153 contained '\<153\>'
|
||||
syn match dircolorsColor154 contained '\<154\>'
|
||||
syn match dircolorsColor155 contained '\<155\>'
|
||||
syn match dircolorsColor156 contained '\<156\>'
|
||||
syn match dircolorsColor157 contained '\<157\>'
|
||||
syn match dircolorsColor158 contained '\<158\>'
|
||||
syn match dircolorsColor159 contained '\<159\>'
|
||||
syn match dircolorsColor160 contained '\<160\>'
|
||||
syn match dircolorsColor161 contained '\<161\>'
|
||||
syn match dircolorsColor162 contained '\<162\>'
|
||||
syn match dircolorsColor163 contained '\<163\>'
|
||||
syn match dircolorsColor164 contained '\<164\>'
|
||||
syn match dircolorsColor165 contained '\<165\>'
|
||||
syn match dircolorsColor166 contained '\<166\>'
|
||||
syn match dircolorsColor167 contained '\<167\>'
|
||||
syn match dircolorsColor168 contained '\<168\>'
|
||||
syn match dircolorsColor169 contained '\<169\>'
|
||||
syn match dircolorsColor170 contained '\<170\>'
|
||||
syn match dircolorsColor171 contained '\<171\>'
|
||||
syn match dircolorsColor172 contained '\<172\>'
|
||||
syn match dircolorsColor173 contained '\<173\>'
|
||||
syn match dircolorsColor174 contained '\<174\>'
|
||||
syn match dircolorsColor175 contained '\<175\>'
|
||||
syn match dircolorsColor176 contained '\<176\>'
|
||||
syn match dircolorsColor177 contained '\<177\>'
|
||||
syn match dircolorsColor178 contained '\<178\>'
|
||||
syn match dircolorsColor179 contained '\<179\>'
|
||||
syn match dircolorsColor180 contained '\<180\>'
|
||||
syn match dircolorsColor181 contained '\<181\>'
|
||||
syn match dircolorsColor182 contained '\<182\>'
|
||||
syn match dircolorsColor183 contained '\<183\>'
|
||||
syn match dircolorsColor184 contained '\<184\>'
|
||||
syn match dircolorsColor185 contained '\<185\>'
|
||||
syn match dircolorsColor186 contained '\<186\>'
|
||||
syn match dircolorsColor187 contained '\<187\>'
|
||||
syn match dircolorsColor188 contained '\<188\>'
|
||||
syn match dircolorsColor189 contained '\<189\>'
|
||||
syn match dircolorsColor190 contained '\<190\>'
|
||||
syn match dircolorsColor191 contained '\<191\>'
|
||||
syn match dircolorsColor192 contained '\<192\>'
|
||||
syn match dircolorsColor193 contained '\<193\>'
|
||||
syn match dircolorsColor194 contained '\<194\>'
|
||||
syn match dircolorsColor195 contained '\<195\>'
|
||||
syn match dircolorsColor196 contained '\<196\>'
|
||||
syn match dircolorsColor197 contained '\<197\>'
|
||||
syn match dircolorsColor198 contained '\<198\>'
|
||||
syn match dircolorsColor199 contained '\<199\>'
|
||||
syn match dircolorsColor200 contained '\<200\>'
|
||||
syn match dircolorsColor201 contained '\<201\>'
|
||||
syn match dircolorsColor202 contained '\<202\>'
|
||||
syn match dircolorsColor203 contained '\<203\>'
|
||||
syn match dircolorsColor204 contained '\<204\>'
|
||||
syn match dircolorsColor205 contained '\<205\>'
|
||||
syn match dircolorsColor206 contained '\<206\>'
|
||||
syn match dircolorsColor207 contained '\<207\>'
|
||||
syn match dircolorsColor208 contained '\<208\>'
|
||||
syn match dircolorsColor209 contained '\<209\>'
|
||||
syn match dircolorsColor210 contained '\<210\>'
|
||||
syn match dircolorsColor211 contained '\<211\>'
|
||||
syn match dircolorsColor212 contained '\<212\>'
|
||||
syn match dircolorsColor213 contained '\<213\>'
|
||||
syn match dircolorsColor214 contained '\<214\>'
|
||||
syn match dircolorsColor215 contained '\<215\>'
|
||||
syn match dircolorsColor216 contained '\<216\>'
|
||||
syn match dircolorsColor217 contained '\<217\>'
|
||||
syn match dircolorsColor218 contained '\<218\>'
|
||||
syn match dircolorsColor219 contained '\<219\>'
|
||||
syn match dircolorsColor220 contained '\<220\>'
|
||||
syn match dircolorsColor221 contained '\<221\>'
|
||||
syn match dircolorsColor222 contained '\<222\>'
|
||||
syn match dircolorsColor223 contained '\<223\>'
|
||||
syn match dircolorsColor224 contained '\<224\>'
|
||||
syn match dircolorsColor225 contained '\<225\>'
|
||||
syn match dircolorsColor226 contained '\<226\>'
|
||||
syn match dircolorsColor227 contained '\<227\>'
|
||||
syn match dircolorsColor228 contained '\<228\>'
|
||||
syn match dircolorsColor229 contained '\<229\>'
|
||||
syn match dircolorsColor230 contained '\<230\>'
|
||||
syn match dircolorsColor231 contained '\<231\>'
|
||||
syn match dircolorsColor232 contained '\<232\>'
|
||||
syn match dircolorsColor233 contained '\<233\>'
|
||||
syn match dircolorsColor234 contained '\<234\>'
|
||||
syn match dircolorsColor235 contained '\<235\>'
|
||||
syn match dircolorsColor236 contained '\<236\>'
|
||||
syn match dircolorsColor237 contained '\<237\>'
|
||||
syn match dircolorsColor238 contained '\<238\>'
|
||||
syn match dircolorsColor239 contained '\<239\>'
|
||||
syn match dircolorsColor240 contained '\<240\>'
|
||||
syn match dircolorsColor241 contained '\<241\>'
|
||||
syn match dircolorsColor242 contained '\<242\>'
|
||||
syn match dircolorsColor243 contained '\<243\>'
|
||||
syn match dircolorsColor244 contained '\<244\>'
|
||||
syn match dircolorsColor245 contained '\<245\>'
|
||||
syn match dircolorsColor246 contained '\<246\>'
|
||||
syn match dircolorsColor247 contained '\<247\>'
|
||||
syn match dircolorsColor248 contained '\<248\>'
|
||||
syn match dircolorsColor249 contained '\<249\>'
|
||||
syn match dircolorsColor250 contained '\<250\>'
|
||||
syn match dircolorsColor251 contained '\<251\>'
|
||||
syn match dircolorsColor252 contained '\<252\>'
|
||||
syn match dircolorsColor253 contained '\<253\>'
|
||||
syn match dircolorsColor254 contained '\<254\>'
|
||||
syn match dircolorsColor255 contained '\<255\>'
|
||||
else
|
||||
syn cluster dircolorsColors contains=dircolorsNumber
|
||||
syn match dircolorsNumber '\<\d\+\>'
|
||||
let cur_col = 16
|
||||
|
||||
for r in xterm_palette
|
||||
for g in xterm_palette
|
||||
for b in xterm_palette
|
||||
let s:guicolors[cur_col] = '#' . r . g . b
|
||||
let cur_col += 1
|
||||
endfor
|
||||
endfor
|
||||
endfor
|
||||
|
||||
for i in range(24)
|
||||
let g = i * 0xa + 8
|
||||
let s:guicolors[i + 232] = '#' . g . g . g
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:get_hi_str(color, place) abort
|
||||
if a:color >= 0 && a:color <= 255
|
||||
if has('gui_running')
|
||||
return ' gui' . a:place . '=' . s:guicolors[a:color]
|
||||
elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88
|
||||
return ' cterm' . a:place . '=' . a:color
|
||||
endif
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! s:get_256color(colors) abort
|
||||
if len(a:colors) >= 2 " May be fewer while editing
|
||||
let [_five, color] = remove(a:colors, 0, 1)
|
||||
if _five != '5' || color == ''
|
||||
return -1
|
||||
else
|
||||
return str2nr(color)
|
||||
endif
|
||||
else
|
||||
return -1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:preview_color(linenr) abort
|
||||
let line = getline(a:linenr)
|
||||
let defline = matchlist(line, '^\v([A-Z_]+|[*.]\S+)\s+([0-9;]+)')
|
||||
if empty(defline)
|
||||
return
|
||||
endif
|
||||
|
||||
let colordef = defline[2]
|
||||
|
||||
let colors = split(colordef, ';')
|
||||
|
||||
let hi_str = ''
|
||||
let hi_attrs = []
|
||||
while len(colors) > 0
|
||||
let item = str2nr(remove(colors, 0))
|
||||
if item == 1
|
||||
call add(hi_attrs, 'bold')
|
||||
elseif item == 3
|
||||
call add(hi_attrs, 'italic')
|
||||
elseif item == 4
|
||||
call add(hi_attrs, 'underline')
|
||||
elseif item == 7
|
||||
call add(hi_attrs, 'inverse')
|
||||
elseif item >= 30 && item <= 37
|
||||
" ANSI SGR foreground color
|
||||
let hi_str .= s:get_hi_str(item - 30, 'fg')
|
||||
elseif item >= 40 && item <= 47
|
||||
" ANSI SGR background color
|
||||
let hi_str .= s:get_hi_str(item - 40, 'bg')
|
||||
elseif item == 38
|
||||
" Foreground for terminals with 88/256 color support
|
||||
let color = s:get_256color(colors)
|
||||
if color == -1
|
||||
break
|
||||
endif
|
||||
let hi_str .= s:get_hi_str(color, 'fg')
|
||||
elseif item == 48
|
||||
" Background for terminals with 88/256 color support
|
||||
let color = s:get_256color(colors)
|
||||
if color == -1
|
||||
break
|
||||
endif
|
||||
let hi_str .= s:get_hi_str(color, 'bg')
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if hi_str == '' && empty(hi_attrs)
|
||||
return
|
||||
endif
|
||||
|
||||
" Check whether we have already defined this color
|
||||
redir => s:currentmatch
|
||||
silent! execute 'syntax list'
|
||||
redir END
|
||||
|
||||
if s:currentmatch !~# '\/\\_s\\zs' . colordef . '\\ze\\_s\/'
|
||||
" Append the buffer number to avoid problems with other dircolors
|
||||
" buffers interfering
|
||||
let bufnr = bufnr('%')
|
||||
execute 'syntax match dircolorsColor' . b:dc_next_index . '_' . bufnr .
|
||||
\ ' "\_s\zs' . colordef . '\ze\_s"'
|
||||
let hi_attrs_str = ''
|
||||
if !empty(hi_attrs)
|
||||
if has('gui_running')
|
||||
let hi_attrs_str = ' gui=' . join(hi_attrs, ',')
|
||||
else
|
||||
let hi_attrs_str = ' cterm=' . join(hi_attrs, ',')
|
||||
endif
|
||||
endif
|
||||
execute 'highlight default dircolorsColor' . b:dc_next_index . '_' .
|
||||
\ bufnr . hi_str . hi_attrs_str
|
||||
let b:dc_next_index += 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Avoid accumulating too many definitions while editing
|
||||
function! s:reset_colors() abort
|
||||
if b:dc_next_index > 0
|
||||
let bufnr = bufnr('%')
|
||||
for i in range(b:dc_next_index)
|
||||
execute 'syntax clear dircolorsColor' . i . '_' . bufnr
|
||||
execute 'highlight clear dircolorsColor' . i . '_' . bufnr
|
||||
endfor
|
||||
let b:dc_next_index = 0
|
||||
endif
|
||||
|
||||
for linenr in range(1, line('$'))
|
||||
call s:preview_color(linenr)
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
let b:dc_next_index = 0
|
||||
|
||||
if has('gui_running')
|
||||
call s:set_guicolors()
|
||||
endif
|
||||
|
||||
hi def link dircolorsTodo Todo
|
||||
hi def link dircolorsComment Comment
|
||||
hi def link dircolorsKeyword Keyword
|
||||
hi def link dircolorsExtension Keyword
|
||||
if has('gui_running') || &t_Co != ''
|
||||
call s:reset_colors()
|
||||
|
||||
if &t_Co == 8 || &t_Co == 16
|
||||
hi def dircolorsBold term=bold cterm=bold gui=bold
|
||||
hi def dircolorsUnderline term=underline cterm=underline gui=underline
|
||||
hi def link dircolorsBlink Normal
|
||||
hi def dircolorsReverse term=reverse cterm=reverse gui=reverse
|
||||
hi def link dircolorsInvisible Ignore
|
||||
hi def dircolorsBlack ctermfg=Black guifg=Black
|
||||
hi def dircolorsRed ctermfg=Red guifg=Red
|
||||
hi def dircolorsGreen ctermfg=Green guifg=Green
|
||||
hi def dircolorsYellow ctermfg=Yellow guifg=Yellow
|
||||
hi def dircolorsBlue ctermfg=Blue guifg=Blue
|
||||
hi def dircolorsMagenta ctermfg=Magenta guifg=Magenta
|
||||
hi def dircolorsCyan ctermfg=Cyan guifg=Cyan
|
||||
hi def dircolorsWhite ctermfg=White guifg=White
|
||||
hi def dircolorsBGBlack ctermbg=Black ctermfg=White
|
||||
\ guibg=Black guifg=White
|
||||
hi def dircolorsBGRed ctermbg=DarkRed guibg=DarkRed
|
||||
hi def dircolorsBGGreen ctermbg=DarkGreen guibg=DarkGreen
|
||||
hi def dircolorsBGYellow ctermbg=DarkYellow guibg=DarkYellow
|
||||
hi def dircolorsBGBlue ctermbg=DarkBlue guibg=DarkBlue
|
||||
hi def dircolorsBGMagenta ctermbg=DarkMagenta guibg=DarkMagenta
|
||||
hi def dircolorsBGCyan ctermbg=DarkCyan guibg=DarkCyan
|
||||
hi def dircolorsBGWhite ctermbg=White ctermfg=Black
|
||||
\ guibg=White guifg=Black
|
||||
elseif &t_Co == 256 || has("gui_running")
|
||||
hi def dircolorsColor0 ctermfg=0 guifg=Black
|
||||
hi def dircolorsColor1 ctermfg=1 guifg=DarkRed
|
||||
hi def dircolorsColor2 ctermfg=2 guifg=DarkGreen
|
||||
hi def dircolorsColor3 ctermfg=3 guifg=DarkYellow
|
||||
hi def dircolorsColor4 ctermfg=4 guifg=DarkBlue
|
||||
hi def dircolorsColor5 ctermfg=5 guifg=DarkMagenta
|
||||
hi def dircolorsColor6 ctermfg=6 guifg=DarkCyan
|
||||
hi def dircolorsColor7 ctermfg=7 guifg=Gray
|
||||
hi def dircolorsColor8 ctermfg=8 guifg=DarkGray
|
||||
hi def dircolorsColor9 ctermfg=9 guifg=Red
|
||||
hi def dircolorsColor10 ctermfg=10 guifg=Green
|
||||
hi def dircolorsColor11 ctermfg=11 guifg=Yellow
|
||||
hi def dircolorsColor12 ctermfg=12 guifg=Blue
|
||||
hi def dircolorsColor13 ctermfg=13 guifg=Magenta
|
||||
hi def dircolorsColor14 ctermfg=14 guifg=Cyan
|
||||
hi def dircolorsColor15 ctermfg=15 guifg=White
|
||||
hi def dircolorsColor16 ctermfg=16 guifg=#000000
|
||||
hi def dircolorsColor17 ctermfg=17 guifg=#00005f
|
||||
hi def dircolorsColor18 ctermfg=18 guifg=#000087
|
||||
hi def dircolorsColor19 ctermfg=19 guifg=#0000af
|
||||
hi def dircolorsColor20 ctermfg=20 guifg=#0000d7
|
||||
hi def dircolorsColor21 ctermfg=21 guifg=#0000ff
|
||||
hi def dircolorsColor22 ctermfg=22 guifg=#005f00
|
||||
hi def dircolorsColor23 ctermfg=23 guifg=#005f5f
|
||||
hi def dircolorsColor24 ctermfg=24 guifg=#005f87
|
||||
hi def dircolorsColor25 ctermfg=25 guifg=#005faf
|
||||
hi def dircolorsColor26 ctermfg=26 guifg=#005fd7
|
||||
hi def dircolorsColor27 ctermfg=27 guifg=#005fff
|
||||
hi def dircolorsColor28 ctermfg=28 guifg=#008700
|
||||
hi def dircolorsColor29 ctermfg=29 guifg=#00875f
|
||||
hi def dircolorsColor30 ctermfg=30 guifg=#008787
|
||||
hi def dircolorsColor31 ctermfg=31 guifg=#0087af
|
||||
hi def dircolorsColor32 ctermfg=32 guifg=#0087d7
|
||||
hi def dircolorsColor33 ctermfg=33 guifg=#0087ff
|
||||
hi def dircolorsColor34 ctermfg=34 guifg=#00af00
|
||||
hi def dircolorsColor35 ctermfg=35 guifg=#00af5f
|
||||
hi def dircolorsColor36 ctermfg=36 guifg=#00af87
|
||||
hi def dircolorsColor37 ctermfg=37 guifg=#00afaf
|
||||
hi def dircolorsColor38 ctermfg=38 guifg=#00afd7
|
||||
hi def dircolorsColor39 ctermfg=39 guifg=#00afff
|
||||
hi def dircolorsColor40 ctermfg=40 guifg=#00d700
|
||||
hi def dircolorsColor41 ctermfg=41 guifg=#00d75f
|
||||
hi def dircolorsColor42 ctermfg=42 guifg=#00d787
|
||||
hi def dircolorsColor43 ctermfg=43 guifg=#00d7af
|
||||
hi def dircolorsColor44 ctermfg=44 guifg=#00d7d7
|
||||
hi def dircolorsColor45 ctermfg=45 guifg=#00d7ff
|
||||
hi def dircolorsColor46 ctermfg=46 guifg=#00ff00
|
||||
hi def dircolorsColor47 ctermfg=47 guifg=#00ff5f
|
||||
hi def dircolorsColor48 ctermfg=48 guifg=#00ff87
|
||||
hi def dircolorsColor49 ctermfg=49 guifg=#00ffaf
|
||||
hi def dircolorsColor50 ctermfg=50 guifg=#00ffd7
|
||||
hi def dircolorsColor51 ctermfg=51 guifg=#00ffff
|
||||
hi def dircolorsColor52 ctermfg=52 guifg=#5f0000
|
||||
hi def dircolorsColor53 ctermfg=53 guifg=#5f005f
|
||||
hi def dircolorsColor54 ctermfg=54 guifg=#5f0087
|
||||
hi def dircolorsColor55 ctermfg=55 guifg=#5f00af
|
||||
hi def dircolorsColor56 ctermfg=56 guifg=#5f00d7
|
||||
hi def dircolorsColor57 ctermfg=57 guifg=#5f00ff
|
||||
hi def dircolorsColor58 ctermfg=58 guifg=#5f5f00
|
||||
hi def dircolorsColor59 ctermfg=59 guifg=#5f5f5f
|
||||
hi def dircolorsColor60 ctermfg=60 guifg=#5f5f87
|
||||
hi def dircolorsColor61 ctermfg=61 guifg=#5f5faf
|
||||
hi def dircolorsColor62 ctermfg=62 guifg=#5f5fd7
|
||||
hi def dircolorsColor63 ctermfg=63 guifg=#5f5fff
|
||||
hi def dircolorsColor64 ctermfg=64 guifg=#5f8700
|
||||
hi def dircolorsColor65 ctermfg=65 guifg=#5f875f
|
||||
hi def dircolorsColor66 ctermfg=66 guifg=#5f8787
|
||||
hi def dircolorsColor67 ctermfg=67 guifg=#5f87af
|
||||
hi def dircolorsColor68 ctermfg=68 guifg=#5f87d7
|
||||
hi def dircolorsColor69 ctermfg=69 guifg=#5f87ff
|
||||
hi def dircolorsColor70 ctermfg=70 guifg=#5faf00
|
||||
hi def dircolorsColor71 ctermfg=71 guifg=#5faf5f
|
||||
hi def dircolorsColor72 ctermfg=72 guifg=#5faf87
|
||||
hi def dircolorsColor73 ctermfg=73 guifg=#5fafaf
|
||||
hi def dircolorsColor74 ctermfg=74 guifg=#5fafd7
|
||||
hi def dircolorsColor75 ctermfg=75 guifg=#5fafff
|
||||
hi def dircolorsColor76 ctermfg=76 guifg=#5fd700
|
||||
hi def dircolorsColor77 ctermfg=77 guifg=#5fd75f
|
||||
hi def dircolorsColor78 ctermfg=78 guifg=#5fd787
|
||||
hi def dircolorsColor79 ctermfg=79 guifg=#5fd7af
|
||||
hi def dircolorsColor80 ctermfg=80 guifg=#5fd7d7
|
||||
hi def dircolorsColor81 ctermfg=81 guifg=#5fd7ff
|
||||
hi def dircolorsColor82 ctermfg=82 guifg=#5fff00
|
||||
hi def dircolorsColor83 ctermfg=83 guifg=#5fff5f
|
||||
hi def dircolorsColor84 ctermfg=84 guifg=#5fff87
|
||||
hi def dircolorsColor85 ctermfg=85 guifg=#5fffaf
|
||||
hi def dircolorsColor86 ctermfg=86 guifg=#5fffd7
|
||||
hi def dircolorsColor87 ctermfg=87 guifg=#5fffff
|
||||
hi def dircolorsColor88 ctermfg=88 guifg=#870000
|
||||
hi def dircolorsColor89 ctermfg=89 guifg=#87005f
|
||||
hi def dircolorsColor90 ctermfg=90 guifg=#870087
|
||||
hi def dircolorsColor91 ctermfg=91 guifg=#8700af
|
||||
hi def dircolorsColor92 ctermfg=92 guifg=#8700d7
|
||||
hi def dircolorsColor93 ctermfg=93 guifg=#8700ff
|
||||
hi def dircolorsColor94 ctermfg=94 guifg=#875f00
|
||||
hi def dircolorsColor95 ctermfg=95 guifg=#875f5f
|
||||
hi def dircolorsColor96 ctermfg=96 guifg=#875f87
|
||||
hi def dircolorsColor97 ctermfg=97 guifg=#875faf
|
||||
hi def dircolorsColor98 ctermfg=98 guifg=#875fd7
|
||||
hi def dircolorsColor99 ctermfg=99 guifg=#875fff
|
||||
hi def dircolorsColor100 ctermfg=100 guifg=#878700
|
||||
hi def dircolorsColor101 ctermfg=101 guifg=#87875f
|
||||
hi def dircolorsColor102 ctermfg=102 guifg=#878787
|
||||
hi def dircolorsColor103 ctermfg=103 guifg=#8787af
|
||||
hi def dircolorsColor104 ctermfg=104 guifg=#8787d7
|
||||
hi def dircolorsColor105 ctermfg=105 guifg=#8787ff
|
||||
hi def dircolorsColor106 ctermfg=106 guifg=#87af00
|
||||
hi def dircolorsColor107 ctermfg=107 guifg=#87af5f
|
||||
hi def dircolorsColor108 ctermfg=108 guifg=#87af87
|
||||
hi def dircolorsColor109 ctermfg=109 guifg=#87afaf
|
||||
hi def dircolorsColor110 ctermfg=110 guifg=#87afd7
|
||||
hi def dircolorsColor111 ctermfg=111 guifg=#87afff
|
||||
hi def dircolorsColor112 ctermfg=112 guifg=#87d700
|
||||
hi def dircolorsColor113 ctermfg=113 guifg=#87d75f
|
||||
hi def dircolorsColor114 ctermfg=114 guifg=#87d787
|
||||
hi def dircolorsColor115 ctermfg=115 guifg=#87d7af
|
||||
hi def dircolorsColor116 ctermfg=116 guifg=#87d7d7
|
||||
hi def dircolorsColor117 ctermfg=117 guifg=#87d7ff
|
||||
hi def dircolorsColor118 ctermfg=118 guifg=#87ff00
|
||||
hi def dircolorsColor119 ctermfg=119 guifg=#87ff5f
|
||||
hi def dircolorsColor120 ctermfg=120 guifg=#87ff87
|
||||
hi def dircolorsColor121 ctermfg=121 guifg=#87ffaf
|
||||
hi def dircolorsColor122 ctermfg=122 guifg=#87ffd7
|
||||
hi def dircolorsColor123 ctermfg=123 guifg=#87ffff
|
||||
hi def dircolorsColor124 ctermfg=124 guifg=#af0000
|
||||
hi def dircolorsColor125 ctermfg=125 guifg=#af005f
|
||||
hi def dircolorsColor126 ctermfg=126 guifg=#af0087
|
||||
hi def dircolorsColor127 ctermfg=127 guifg=#af00af
|
||||
hi def dircolorsColor128 ctermfg=128 guifg=#af00d7
|
||||
hi def dircolorsColor129 ctermfg=129 guifg=#af00ff
|
||||
hi def dircolorsColor130 ctermfg=130 guifg=#af5f00
|
||||
hi def dircolorsColor131 ctermfg=131 guifg=#af5f5f
|
||||
hi def dircolorsColor132 ctermfg=132 guifg=#af5f87
|
||||
hi def dircolorsColor133 ctermfg=133 guifg=#af5faf
|
||||
hi def dircolorsColor134 ctermfg=134 guifg=#af5fd7
|
||||
hi def dircolorsColor135 ctermfg=135 guifg=#af5fff
|
||||
hi def dircolorsColor136 ctermfg=136 guifg=#af8700
|
||||
hi def dircolorsColor137 ctermfg=137 guifg=#af875f
|
||||
hi def dircolorsColor138 ctermfg=138 guifg=#af8787
|
||||
hi def dircolorsColor139 ctermfg=139 guifg=#af87af
|
||||
hi def dircolorsColor140 ctermfg=140 guifg=#af87d7
|
||||
hi def dircolorsColor141 ctermfg=141 guifg=#af87ff
|
||||
hi def dircolorsColor142 ctermfg=142 guifg=#afaf00
|
||||
hi def dircolorsColor143 ctermfg=143 guifg=#afaf5f
|
||||
hi def dircolorsColor144 ctermfg=144 guifg=#afaf87
|
||||
hi def dircolorsColor145 ctermfg=145 guifg=#afafaf
|
||||
hi def dircolorsColor146 ctermfg=146 guifg=#afafd7
|
||||
hi def dircolorsColor147 ctermfg=147 guifg=#afafff
|
||||
hi def dircolorsColor148 ctermfg=148 guifg=#afd700
|
||||
hi def dircolorsColor149 ctermfg=149 guifg=#afd75f
|
||||
hi def dircolorsColor150 ctermfg=150 guifg=#afd787
|
||||
hi def dircolorsColor151 ctermfg=151 guifg=#afd7af
|
||||
hi def dircolorsColor152 ctermfg=152 guifg=#afd7d7
|
||||
hi def dircolorsColor153 ctermfg=153 guifg=#afd7ff
|
||||
hi def dircolorsColor154 ctermfg=154 guifg=#afff00
|
||||
hi def dircolorsColor155 ctermfg=155 guifg=#afff5f
|
||||
hi def dircolorsColor156 ctermfg=156 guifg=#afff87
|
||||
hi def dircolorsColor157 ctermfg=157 guifg=#afffaf
|
||||
hi def dircolorsColor158 ctermfg=158 guifg=#afffd7
|
||||
hi def dircolorsColor159 ctermfg=159 guifg=#afffff
|
||||
hi def dircolorsColor160 ctermfg=160 guifg=#d70000
|
||||
hi def dircolorsColor161 ctermfg=161 guifg=#d7005f
|
||||
hi def dircolorsColor162 ctermfg=162 guifg=#d70087
|
||||
hi def dircolorsColor163 ctermfg=163 guifg=#d700af
|
||||
hi def dircolorsColor164 ctermfg=164 guifg=#d700d7
|
||||
hi def dircolorsColor165 ctermfg=165 guifg=#d700ff
|
||||
hi def dircolorsColor166 ctermfg=166 guifg=#d75f00
|
||||
hi def dircolorsColor167 ctermfg=167 guifg=#d75f5f
|
||||
hi def dircolorsColor168 ctermfg=168 guifg=#d75f87
|
||||
hi def dircolorsColor169 ctermfg=169 guifg=#d75faf
|
||||
hi def dircolorsColor170 ctermfg=170 guifg=#d75fd7
|
||||
hi def dircolorsColor171 ctermfg=171 guifg=#d75fff
|
||||
hi def dircolorsColor172 ctermfg=172 guifg=#d78700
|
||||
hi def dircolorsColor173 ctermfg=173 guifg=#d7875f
|
||||
hi def dircolorsColor174 ctermfg=174 guifg=#d78787
|
||||
hi def dircolorsColor175 ctermfg=175 guifg=#d787af
|
||||
hi def dircolorsColor176 ctermfg=176 guifg=#d787d7
|
||||
hi def dircolorsColor177 ctermfg=177 guifg=#d787ff
|
||||
hi def dircolorsColor178 ctermfg=178 guifg=#d7af00
|
||||
hi def dircolorsColor179 ctermfg=179 guifg=#d7af5f
|
||||
hi def dircolorsColor180 ctermfg=180 guifg=#d7af87
|
||||
hi def dircolorsColor181 ctermfg=181 guifg=#d7afaf
|
||||
hi def dircolorsColor182 ctermfg=182 guifg=#d7afd7
|
||||
hi def dircolorsColor183 ctermfg=183 guifg=#d7afff
|
||||
hi def dircolorsColor184 ctermfg=184 guifg=#d7d700
|
||||
hi def dircolorsColor185 ctermfg=185 guifg=#d7d75f
|
||||
hi def dircolorsColor186 ctermfg=186 guifg=#d7d787
|
||||
hi def dircolorsColor187 ctermfg=187 guifg=#d7d7af
|
||||
hi def dircolorsColor188 ctermfg=188 guifg=#d7d7d7
|
||||
hi def dircolorsColor189 ctermfg=189 guifg=#d7d7ff
|
||||
hi def dircolorsColor190 ctermfg=190 guifg=#d7ff00
|
||||
hi def dircolorsColor191 ctermfg=191 guifg=#d7ff5f
|
||||
hi def dircolorsColor192 ctermfg=192 guifg=#d7ff87
|
||||
hi def dircolorsColor193 ctermfg=193 guifg=#d7ffaf
|
||||
hi def dircolorsColor194 ctermfg=194 guifg=#d7ffd7
|
||||
hi def dircolorsColor195 ctermfg=195 guifg=#d7ffff
|
||||
hi def dircolorsColor196 ctermfg=196 guifg=#ff0000
|
||||
hi def dircolorsColor197 ctermfg=197 guifg=#ff005f
|
||||
hi def dircolorsColor198 ctermfg=198 guifg=#ff0087
|
||||
hi def dircolorsColor199 ctermfg=199 guifg=#ff00af
|
||||
hi def dircolorsColor200 ctermfg=200 guifg=#ff00d7
|
||||
hi def dircolorsColor201 ctermfg=201 guifg=#ff00ff
|
||||
hi def dircolorsColor202 ctermfg=202 guifg=#ff5f00
|
||||
hi def dircolorsColor203 ctermfg=203 guifg=#ff5f5f
|
||||
hi def dircolorsColor204 ctermfg=204 guifg=#ff5f87
|
||||
hi def dircolorsColor205 ctermfg=205 guifg=#ff5faf
|
||||
hi def dircolorsColor206 ctermfg=206 guifg=#ff5fd7
|
||||
hi def dircolorsColor207 ctermfg=207 guifg=#ff5fff
|
||||
hi def dircolorsColor208 ctermfg=208 guifg=#ff8700
|
||||
hi def dircolorsColor209 ctermfg=209 guifg=#ff875f
|
||||
hi def dircolorsColor210 ctermfg=210 guifg=#ff8787
|
||||
hi def dircolorsColor211 ctermfg=211 guifg=#ff87af
|
||||
hi def dircolorsColor212 ctermfg=212 guifg=#ff87d7
|
||||
hi def dircolorsColor213 ctermfg=213 guifg=#ff87ff
|
||||
hi def dircolorsColor214 ctermfg=214 guifg=#ffaf00
|
||||
hi def dircolorsColor215 ctermfg=215 guifg=#ffaf5f
|
||||
hi def dircolorsColor216 ctermfg=216 guifg=#ffaf87
|
||||
hi def dircolorsColor217 ctermfg=217 guifg=#ffafaf
|
||||
hi def dircolorsColor218 ctermfg=218 guifg=#ffafd7
|
||||
hi def dircolorsColor219 ctermfg=219 guifg=#ffafff
|
||||
hi def dircolorsColor220 ctermfg=220 guifg=#ffd700
|
||||
hi def dircolorsColor221 ctermfg=221 guifg=#ffd75f
|
||||
hi def dircolorsColor222 ctermfg=222 guifg=#ffd787
|
||||
hi def dircolorsColor223 ctermfg=223 guifg=#ffd7af
|
||||
hi def dircolorsColor224 ctermfg=224 guifg=#ffd7d7
|
||||
hi def dircolorsColor225 ctermfg=225 guifg=#ffd7ff
|
||||
hi def dircolorsColor226 ctermfg=226 guifg=#ffff00
|
||||
hi def dircolorsColor227 ctermfg=227 guifg=#ffff5f
|
||||
hi def dircolorsColor228 ctermfg=228 guifg=#ffff87
|
||||
hi def dircolorsColor229 ctermfg=229 guifg=#ffffaf
|
||||
hi def dircolorsColor230 ctermfg=230 guifg=#ffffd7
|
||||
hi def dircolorsColor231 ctermfg=231 guifg=#ffffff
|
||||
hi def dircolorsColor232 ctermfg=232 guifg=#080808
|
||||
hi def dircolorsColor233 ctermfg=233 guifg=#121212
|
||||
hi def dircolorsColor234 ctermfg=234 guifg=#1c1c1c
|
||||
hi def dircolorsColor235 ctermfg=235 guifg=#262626
|
||||
hi def dircolorsColor236 ctermfg=236 guifg=#303030
|
||||
hi def dircolorsColor237 ctermfg=237 guifg=#3a3a3a
|
||||
hi def dircolorsColor238 ctermfg=238 guifg=#444444
|
||||
hi def dircolorsColor239 ctermfg=239 guifg=#4e4e4e
|
||||
hi def dircolorsColor240 ctermfg=240 guifg=#585858
|
||||
hi def dircolorsColor241 ctermfg=241 guifg=#626262
|
||||
hi def dircolorsColor242 ctermfg=242 guifg=#6c6c6c
|
||||
hi def dircolorsColor243 ctermfg=243 guifg=#767676
|
||||
hi def dircolorsColor244 ctermfg=244 guifg=#808080
|
||||
hi def dircolorsColor245 ctermfg=245 guifg=#8a8a8a
|
||||
hi def dircolorsColor246 ctermfg=246 guifg=#949494
|
||||
hi def dircolorsColor247 ctermfg=247 guifg=#9e9e9e
|
||||
hi def dircolorsColor248 ctermfg=248 guifg=#a8a8a8
|
||||
hi def dircolorsColor249 ctermfg=249 guifg=#b2b2b2
|
||||
hi def dircolorsColor250 ctermfg=250 guifg=#bcbcbc
|
||||
hi def dircolorsColor251 ctermfg=251 guifg=#c6c6c6
|
||||
hi def dircolorsColor252 ctermfg=252 guifg=#d0d0d0
|
||||
hi def dircolorsColor253 ctermfg=253 guifg=#dadada
|
||||
hi def dircolorsColor254 ctermfg=254 guifg=#e4e4e4
|
||||
hi def dircolorsColor255 ctermfg=255 guifg=#eeeeee
|
||||
else
|
||||
hi def link dircolorsNumber Number
|
||||
autocmd CursorMoved,CursorMovedI <buffer> call s:preview_color('.')
|
||||
autocmd CursorHold,CursorHoldI <buffer> call s:reset_colors()
|
||||
endif
|
||||
|
||||
let b:current_syntax = "dircolors"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||
" Last Change: 2013 Jul 07
|
||||
" Last Change: 2013 Sep 05
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -44,7 +44,7 @@ syn match helpVim "Vim version [0-9.a-z]\+"
|
||||
syn match helpVim "VIM REFERENCE.*"
|
||||
syn match helpOption "'[a-z]\{2,\}'"
|
||||
syn match helpOption "'t_..'"
|
||||
syn match helpCommand "`[^` ]\+`"hs=s+1,he=e-1 contains=helpBacktick
|
||||
syn match helpCommand "`[^` \t]\+`"hs=s+1,he=e-1 contains=helpBacktick
|
||||
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
|
||||
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
|
||||
if has("conceal")
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
" Vim syntax file
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax case match
|
||||
syntax sync minlines=50
|
||||
|
||||
syn match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./
|
||||
syn match jControl /\<\%(for\|goto\|label\)_\a\k*\./
|
||||
|
||||
syn region jString oneline start=/'/ skip=/''/ end=/'/
|
||||
|
||||
" Patterns for numbers in general, rational numbers, numbers with explicit
|
||||
" base, infinities, and numbers with extended precision.
|
||||
"
|
||||
" Matching J numbers is difficult. The regular expression used for the general
|
||||
" case roughly embodies this grammar sketch:
|
||||
"
|
||||
" EXP := /_?\d+(\.\d*)?([eE]_?\d+)?/
|
||||
" COMP := EXP | EXP (j|a[dr]) EXP
|
||||
" PIEU := COMP | COMP [px] COMP
|
||||
"
|
||||
" For the rest, a compromise between correctness and practicality was made.
|
||||
" See http://www.jsoftware.com/help/dictionary/dcons.htm for reference.
|
||||
syn match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\%([px]_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\)\=/
|
||||
syn match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=r_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=/
|
||||
syn match jNumber /\<_\=\d\+\%([eE]\d\+\)\=b_\=[0-9a-z]\+/
|
||||
syn match jNumber /\<__\=\>/
|
||||
syn match jNumber /\<_\=\d\+x\>/
|
||||
|
||||
syn match jComment /NB\..*$/
|
||||
|
||||
hi def link jControl Statement
|
||||
hi def link jString String
|
||||
hi def link jNumber Number
|
||||
hi def link jComment Comment
|
||||
|
||||
let b:current_syntax = "j"
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Mail file
|
||||
" Previous Maintainer: Felix von Leitner <leitner@math.fu-berlin.de>
|
||||
" Maintainer: GI <a@b.c>, where a='gi1242+vim', b='gmail', c='com'
|
||||
" Last Change: Thu 02 Feb 2012 08:47:04 PM EST
|
||||
" Last Change: Wed 14 Aug 2013 08:24:52 AM PDT
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -55,7 +55,7 @@ syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell sta
|
||||
|
||||
" Treat verbatim Text special.
|
||||
syn region mailVerbatim contains=@NoSpell keepend start="^#v+$" end="^#v-$" fold
|
||||
syn region mailVerbatim contains=@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)#v+$" end="\z1#v-$" fold
|
||||
syn region mailVerbatim contains=@mailQuoteExps,@NoSpell keepend start="^\z(\(> \?\)\+\)#v+$" end="\z1#v-$" fold
|
||||
|
||||
" URLs start with a known protocol or www,web,w3.
|
||||
syn match mailURL contains=@NoSpell `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-z0-9/]`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: Dec 11, 2012
|
||||
" Last Change: Aug 28, 2013
|
||||
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
|
||||
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
@@ -616,6 +616,11 @@ else
|
||||
exec "syn sync fromstart"
|
||||
endif
|
||||
|
||||
syntax match phpDocCustomTags "@[a-zA-Z]*\(\s\+\|\n\|\r\)" containedin=phpComment
|
||||
syntax region phpDocTags start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpComment
|
||||
syntax match phpDocTags "@\(abstract\|access\|author\|category\|copyright\|deprecated\|example\|final\|global\|ignore\|internal\|license\|link\|method\|name\|package\|param\|property\|return\|see\|since\|static\|staticvar\|subpackage\|tutorial\|uses\|var\|version\|contributor\|modified\|filename\|description\|filesource\|throws\)\(\s\+\)\?" containedin=phpComment
|
||||
syntax match phpDocTodo "@\(todo\|fixme\|xxx\)\(\s\+\)\?" containedin=phpComment
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
@@ -630,6 +635,8 @@ if version >= 508 || !exists("did_php_syn_inits")
|
||||
HiLink phpConstant Constant
|
||||
HiLink phpCoreConstant Constant
|
||||
HiLink phpComment Comment
|
||||
HiLink phpDocTags PreProc
|
||||
HiLink phpDocCustomTags Type
|
||||
HiLink phpException Exception
|
||||
HiLink phpBoolean Boolean
|
||||
HiLink phpStorageClass StorageClass
|
||||
@@ -668,6 +675,7 @@ if version >= 508 || !exists("did_php_syn_inits")
|
||||
HiLink phpInterpSimpleCurly Delimiter
|
||||
HiLink phpInterpVarname Identifier
|
||||
HiLink phpTodo Todo
|
||||
HiLink phpDocTodo Todo
|
||||
HiLink phpMemberSelector Structure
|
||||
if exists("php_oldStyle")
|
||||
hi phpIntVar guifg=Red ctermfg=DarkRed
|
||||
|
||||
+40
-24
@@ -1,12 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: VHDL
|
||||
" Maintainer: Czo <Olivier.Sirol@lip6.fr>
|
||||
" Maintainer: Daniel Kho <daniel.kho@tauhop.com>
|
||||
" Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
|
||||
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
|
||||
" Last Change: 2012 Jun 01
|
||||
" (Dominique Pelle added @Spell)
|
||||
" Last Changed: 2012 Feb 03 by Thilo Six
|
||||
" $Id: vhdl.vim,v 1.1 2004/06/13 15:34:56 vimboss Exp $
|
||||
|
||||
" VHSIC Hardware Description Language
|
||||
" Very High Scale Integrated Circuit
|
||||
" VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -22,8 +22,8 @@ set cpo&vim
|
||||
" This is not VHDL. I use the C-Preprocessor cpp to generate different binaries
|
||||
" from one VHDL source file. Unfortunately there is no preprocessor for VHDL
|
||||
" available. If you don't like this, please remove the following lines.
|
||||
syn match cDefine "^#ifdef[ ]\+[A-Za-z_]\+"
|
||||
syn match cDefine "^#endif"
|
||||
"syn match cDefine "^#ifdef[ ]\+[A-Za-z_]\+"
|
||||
"syn match cDefine "^#endif"
|
||||
|
||||
" case is not significant
|
||||
syn case ignore
|
||||
@@ -31,11 +31,14 @@ syn case ignore
|
||||
" VHDL keywords
|
||||
syn keyword vhdlStatement access after alias all assert
|
||||
syn keyword vhdlStatement architecture array attribute
|
||||
syn keyword vhdlStatement assume assume_guarantee
|
||||
syn keyword vhdlStatement begin block body buffer bus
|
||||
syn keyword vhdlStatement case component configuration constant
|
||||
syn keyword vhdlStatement disconnect downto
|
||||
syn keyword vhdlStatement context cover
|
||||
syn keyword vhdlStatement default disconnect downto
|
||||
syn keyword vhdlStatement elsif end entity exit
|
||||
syn keyword vhdlStatement file for function
|
||||
syn keyword vhdlStatement fairness force
|
||||
syn keyword vhdlStatement generate generic group guarded
|
||||
syn keyword vhdlStatement impure in inertial inout is
|
||||
syn keyword vhdlStatement label library linkage literal loop
|
||||
@@ -43,12 +46,17 @@ syn keyword vhdlStatement map
|
||||
syn keyword vhdlStatement new next null
|
||||
syn keyword vhdlStatement of on open others out
|
||||
syn keyword vhdlStatement package port postponed procedure process pure
|
||||
syn keyword vhdlStatement parameter property protected
|
||||
syn keyword vhdlStatement range record register reject report return
|
||||
syn keyword vhdlStatement release restrict restrict_guarantee
|
||||
syn keyword vhdlStatement select severity signal shared
|
||||
syn keyword vhdlStatement subtype
|
||||
syn keyword vhdlStatement sequence strong
|
||||
syn keyword vhdlStatement then to transport type
|
||||
syn keyword vhdlStatement unaffected units until use
|
||||
syn keyword vhdlStatement variable wait when while with
|
||||
syn keyword vhdlStatement variable
|
||||
syn keyword vhdlStatement vmode vprop vunit
|
||||
syn keyword vhdlStatement wait when while with
|
||||
syn keyword vhdlStatement note warning error failure
|
||||
|
||||
" Special match for "if" and "else" since "else if" shouldn't be highlighted.
|
||||
@@ -60,6 +68,7 @@ syn match vhdlNone "\<else\s\+if\>\s"
|
||||
" Predefined VHDL types
|
||||
syn keyword vhdlType bit bit_vector
|
||||
syn keyword vhdlType character boolean integer real time
|
||||
syn keyword vhdlType boolean_vector integer_vector real_vector time_vector
|
||||
syn keyword vhdlType string severity_level
|
||||
" Predefined standard ieee VHDL types
|
||||
syn keyword vhdlType positive natural signed unsigned
|
||||
@@ -67,11 +76,11 @@ syn keyword vhdlType line text
|
||||
syn keyword vhdlType std_logic std_logic_vector
|
||||
syn keyword vhdlType std_ulogic std_ulogic_vector
|
||||
" Predefined non standard VHDL types for Mentor Graphics Sys1076/QuickHDL
|
||||
syn keyword vhdlType qsim_state qsim_state_vector
|
||||
syn keyword vhdlType qsim_12state qsim_12state_vector
|
||||
syn keyword vhdlType qsim_strength
|
||||
"syn keyword vhdlType qsim_state qsim_state_vector
|
||||
"syn keyword vhdlType qsim_12state qsim_12state_vector
|
||||
"syn keyword vhdlType qsim_strength
|
||||
" Predefined non standard VHDL types for Alliance VLSI CAD
|
||||
syn keyword vhdlType mux_bit mux_vector reg_bit reg_vector wor_bit wor_vector
|
||||
"syn keyword vhdlType mux_bit mux_vector reg_bit reg_vector wor_bit wor_vector
|
||||
|
||||
" array attributes
|
||||
syn match vhdlAttribute "\'high"
|
||||
@@ -122,14 +131,14 @@ syn case match
|
||||
" Values for standard VHDL types
|
||||
syn match vhdlVector "\'[0L1HXWZU\-\?]\'"
|
||||
" Values for non standard VHDL types qsim_12state for Mentor Graphics Sys1076/QuickHDL
|
||||
syn keyword vhdlVector S0S S1S SXS S0R S1R SXR S0Z S1Z SXZ S0I S1I SXI
|
||||
"syn keyword vhdlVector S0S S1S SXS S0R S1R SXR S0Z S1Z SXZ S0I S1I SXI
|
||||
syn case ignore
|
||||
|
||||
syn match vhdlVector "B\"[01_]\+\""
|
||||
syn match vhdlVector "O\"[0-7_]\+\""
|
||||
syn match vhdlVector "X\"[0-9a-f_]\+\""
|
||||
syn match vhdlCharacter "'.'"
|
||||
syn region vhdlString start=+"+ end=+"+ contains=@Spell
|
||||
syn region vhdlString start=+"+ end=+"+
|
||||
|
||||
" floating numbers
|
||||
syn match vhdlNumber "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>"
|
||||
@@ -151,9 +160,15 @@ syn match vhdlSpecial "[().,;]"
|
||||
syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
|
||||
syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
|
||||
|
||||
syn match vhdlComment "--.*$" contains=@Spell
|
||||
syn keyword vhdlTodo contained TODO FIXME
|
||||
|
||||
syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,@Spell
|
||||
syn match vhdlComment "--.*" contains=vhdlTodo,@Spell
|
||||
" syn match vhdlGlobal "[\'$#~!%@?\^\[\]{}\\]"
|
||||
|
||||
"Modify the following as needed. The trade-off is performance versus functionality.
|
||||
syn sync minlines=200
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
@@ -165,19 +180,20 @@ if version >= 508 || !exists("did_vhdl_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink cDefine PreProc
|
||||
" HiLink cDefine PreProc
|
||||
HiLink vhdlSpecial Special
|
||||
HiLink vhdlStatement Statement
|
||||
HiLink vhdlCharacter String
|
||||
HiLink vhdlCharacter Character
|
||||
HiLink vhdlString String
|
||||
HiLink vhdlVector String
|
||||
HiLink vhdlBoolean String
|
||||
HiLink vhdlVector Number
|
||||
HiLink vhdlBoolean Number
|
||||
HiLink vhdlTodo Todo
|
||||
HiLink vhdlComment Comment
|
||||
HiLink vhdlNumber String
|
||||
HiLink vhdlTime String
|
||||
HiLink vhdlNumber Number
|
||||
HiLink vhdlTime Number
|
||||
HiLink vhdlType Type
|
||||
HiLink vhdlOperator Type
|
||||
HiLink vhdlGlobal Error
|
||||
HiLink vhdlOperator Special
|
||||
" HiLink vhdlGlobal Error
|
||||
HiLink vhdlAttribute Type
|
||||
|
||||
delcommand HiLink
|
||||
|
||||
+50
-46
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.3 script
|
||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Jul 05, 2013
|
||||
" Version: 7.3-26
|
||||
" Language: Vim 7.4 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Aug 16, 2013
|
||||
" Version: 7.4-1
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -554,15 +554,31 @@ syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' e
|
||||
" Allows users to specify the type of embedded script highlighting
|
||||
" they want: (perl/python/ruby/tcl support)
|
||||
" g:vimsyn_embed == 0 : don't embed any scripts
|
||||
" g:vimsyn_embed ~= 'l' : embed lua (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'm' : embed mzscheme (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'p' : embed perl (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'P' : embed python (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'r' : embed ruby (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 't' : embed tcl (but only if vim supports it)
|
||||
if !exists("g:vimsyn_embed")
|
||||
let g:vimsyn_embed= "lmpPr"
|
||||
" g:vimsyn_embed ~= 'l' : embed lua
|
||||
" g:vimsyn_embed ~= 'm' : embed mzscheme
|
||||
" g:vimsyn_embed ~= 'p' : embed perl
|
||||
" g:vimsyn_embed ~= 'P' : embed python
|
||||
" g:vimsyn_embed ~= 'r' : embed ruby
|
||||
" g:vimsyn_embed ~= 't' : embed tcl
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
" apparently has("tcl") has been hanging vim on some windows systems with cygwin
|
||||
let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
|
||||
else
|
||||
let s:trytcl= 1
|
||||
endif
|
||||
if !exists("g:vimsyn_embed")
|
||||
let g:vimsyn_embed= ""
|
||||
if has("lua") |let g:vimsyn_embed= g:vimsyn_embed."l"|endif
|
||||
if has("mzscheme") |let g:vimsyn_embed= g:vimsyn_embed."m"|endif
|
||||
if has("perl") |let g:vimsyn_embed= g:vimsyn_embed."p"|endif
|
||||
if has("python") |let g:vimsyn_embed= g:vimsyn_embed."P"
|
||||
elseif has("python3")|let g:vimsyn_embed= g:vimsyn_embed."P"|endif
|
||||
if has("ruby") |let g:vimsyn_embed= g:vimsyn_embed."r"|endif
|
||||
if s:trytcl
|
||||
if has("tcl") |let g:vimsyn_embed= g:vimsyn_embed."t"|endif
|
||||
endif
|
||||
endif
|
||||
unlet s:trytcl
|
||||
|
||||
" [-- lua --] {{{3
|
||||
let s:luapath= fnameescape(expand("<sfile>:p:h")."/lua.vim")
|
||||
@@ -574,7 +590,7 @@ if !filereadable(s:luapath)
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
if (g:vimsyn_embed =~ 'l' && has("lua")) && filereadable(s:luapath)
|
||||
if (g:vimsyn_embed =~ 'l') && filereadable(s:luapath)
|
||||
unlet! b:current_syntax
|
||||
exe "syn include @vimLuaScript ".s:luapath
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
|
||||
@@ -601,7 +617,7 @@ if !filereadable(s:perlpath)
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
|
||||
if (g:vimsyn_embed =~ 'p') && filereadable(s:perlpath)
|
||||
unlet! b:current_syntax
|
||||
exe "syn include @vimPerlScript ".s:perlpath
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
|
||||
@@ -628,7 +644,7 @@ if !filereadable(s:rubypath)
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
|
||||
if (g:vimsyn_embed =~ 'r') && filereadable(s:rubypath)
|
||||
unlet! b:current_syntax
|
||||
exe "syn include @vimRubyScript ".s:rubypath
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
|
||||
@@ -654,7 +670,7 @@ if !filereadable(s:pythonpath)
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
if g:vimsyn_embed =~ 'P' && (has("python") || has("python3")) && filereadable(s:pythonpath)
|
||||
if g:vimsyn_embed =~ 'P' && filereadable(s:pythonpath)
|
||||
unlet! b:current_syntax
|
||||
exe "syn include @vimPythonScript ".s:pythonpath
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
|
||||
@@ -672,43 +688,31 @@ endif
|
||||
unlet s:pythonpath
|
||||
|
||||
" [-- tcl --] {{{3
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
" apparently has("tcl") has been hanging vim on some windows systems with cygwin
|
||||
let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
|
||||
else
|
||||
let s:trytcl= 1
|
||||
endif
|
||||
if s:trytcl
|
||||
let s:tclpath= fnameescape(expand("<sfile>:p:h")."/tcl.vim")
|
||||
if !filereadable(s:tclpath)
|
||||
for s:tclpath in split(globpath(&rtp,"syntax/tcl.vim"),"\n")
|
||||
if filereadable(fnameescape(s:tclpath))
|
||||
let s:tclpath= fnameescape(s:tclpath)
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(s:tclpath)
|
||||
unlet! b:current_syntax
|
||||
exe "syn include @vimTclScript ".s:tclpath
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
|
||||
syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
|
||||
syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
|
||||
else
|
||||
syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
|
||||
syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
|
||||
let s:tclpath= fnameescape(expand("<sfile>:p:h")."/tcl.vim")
|
||||
if !filereadable(s:tclpath)
|
||||
for s:tclpath in split(globpath(&rtp,"syntax/tcl.vim"),"\n")
|
||||
if filereadable(fnameescape(s:tclpath))
|
||||
let s:tclpath= fnameescape(s:tclpath)
|
||||
break
|
||||
endif
|
||||
syn cluster vimFuncBodyList add=vimTclScript
|
||||
endfor
|
||||
endif
|
||||
if (g:vimsyn_embed =~ 't') && filereadable(s:tclpath)
|
||||
unlet! b:current_syntax
|
||||
exe "syn include @vimTclScript ".s:tclpath
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
|
||||
syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
|
||||
syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
|
||||
else
|
||||
syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
|
||||
syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
|
||||
syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
|
||||
syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
|
||||
endif
|
||||
unlet s:tclpath
|
||||
syn cluster vimFuncBodyList add=vimTclScript
|
||||
else
|
||||
syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
|
||||
syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
|
||||
endif
|
||||
unlet s:trytcl
|
||||
unlet s:tclpath
|
||||
|
||||
" [-- mzscheme --] {{{3
|
||||
let s:mzschemepath= fnameescape(expand("<sfile>:p:h")."/scheme.vim")
|
||||
|
||||
@@ -108,9 +108,10 @@ execute 'syn match yamlFlowMappingKey /'.s:ns_plain_in.'\ze\s*:/ contained '.
|
||||
syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
|
||||
|
||||
syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge
|
||||
execute 'syn match yamlBlockMappingKey /^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
|
||||
" Use the old regexp engine, the NFA engine doesn't like all the \@ items.
|
||||
execute 'syn match yamlBlockMappingKey /\%#=1^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
|
||||
\'nextgroup=yamlKeyValueDelimiter'
|
||||
execute 'syn match yamlBlockMappingKey /\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
|
||||
execute 'syn match yamlBlockMappingKey /\%#=1\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
|
||||
\'nextgroup=yamlKeyValueDelimiter'
|
||||
syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter
|
||||
syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained
|
||||
|
||||
@@ -121,7 +121,7 @@ NOTA: A medida que vaya avanzando en este tutor no intente memorizar,
|
||||
h (izquierda) j (abajo) k (arriba) l (derecha)
|
||||
|
||||
2. Para acceder a Vim (desde el símbolo del sistema %) escriba:
|
||||
vin FILENAME <INTRO>
|
||||
vim FILENAME <INTRO>
|
||||
|
||||
3. Para salir de Vim escriba: <ESC> :q! <INTRO> para eliminar todos
|
||||
los cambios.
|
||||
|
||||
@@ -31,12 +31,12 @@ endif
|
||||
ifeq ($(CROSS),yes)
|
||||
DEL = rm
|
||||
ifeq ($(MINGWOLD),yes)
|
||||
CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
|
||||
CXXFLAGS := -O2 -fvtable-thunks
|
||||
else
|
||||
CXXFLAGS := -O2 -mno-cygwin
|
||||
CXXFLAGS := -O2
|
||||
endif
|
||||
else
|
||||
CXXFLAGS := -O2 -mno-cygwin
|
||||
CXXFLAGS := -O2
|
||||
ifneq (sh.exe, $(SHELL))
|
||||
DEL = rm
|
||||
else
|
||||
|
||||
@@ -1232,7 +1232,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>70</string>
|
||||
<string>72</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -1659,12 +1659,9 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event
|
||||
replyEvent:(NSAppleEventDescriptor *)reply
|
||||
{
|
||||
NSString *urlString = [[event paramDescriptorForKeyword:keyDirectObject]
|
||||
stringValue];
|
||||
// NOTE: URLWithString requires string to be percent escaped.
|
||||
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:
|
||||
NSUTF8StringEncoding];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
NSURL *url = [NSURL URLWithString:[[event
|
||||
paramDescriptorForKeyword:keyDirectObject]
|
||||
stringValue]];
|
||||
|
||||
// We try to be compatible with TextMate's URL scheme here, as documented
|
||||
// at http://blog.macromates.com/2007/the-textmate-url-scheme/ . Currently,
|
||||
|
||||
@@ -991,7 +991,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
{
|
||||
NSString *fontName = (NSString *)font;
|
||||
float size = 0;
|
||||
NSArray *components = [fontName componentsSeparatedByString:@":"];
|
||||
NSArray *components = [fontName componentsSeparatedByString:@":h"];
|
||||
if ([components count] == 2) {
|
||||
size = [[components lastObject] floatValue];
|
||||
fontName = [components objectAtIndex:0];
|
||||
|
||||
@@ -614,7 +614,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 70;
|
||||
CURRENT_PROJECT_VERSION = 72;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
@@ -645,7 +645,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 70;
|
||||
CURRENT_PROJECT_VERSION = 72;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
|
||||
+11
-2
@@ -1017,7 +1017,7 @@ gui_mch_set_font(GuiFont font)
|
||||
gui_macvim_font_with_name(char_u *name)
|
||||
{
|
||||
if (!name)
|
||||
return (GuiFont)[[NSString alloc] initWithFormat:@"%@:%d",
|
||||
return (GuiFont)[[NSString alloc] initWithFormat:@"%@:h%d",
|
||||
MMDefaultFontName, MMDefaultFontSize];
|
||||
|
||||
NSString *fontName = [NSString stringWithVimString:name];
|
||||
@@ -1055,7 +1055,7 @@ gui_macvim_font_with_name(char_u *name)
|
||||
// can load it. Otherwise we ask NSFont if it can load it.
|
||||
if ([fontName isEqualToString:MMDefaultFontName]
|
||||
|| [NSFont fontWithName:fontName size:size])
|
||||
return [[NSString alloc] initWithFormat:@"%@:%d", fontName, size];
|
||||
return [[NSString alloc] initWithFormat:@"%@:h%d", fontName, size];
|
||||
}
|
||||
|
||||
return NOFONT;
|
||||
@@ -1806,6 +1806,15 @@ void gui_macvim_get_window_layout(int *count, int *layout)
|
||||
}
|
||||
}
|
||||
|
||||
void *gui_macvim_new_autoreleasepool()
|
||||
{
|
||||
return (void *)[[NSAutoreleasePool alloc] init];
|
||||
}
|
||||
|
||||
void gui_macvim_release_autoreleasepool(void *pool)
|
||||
{
|
||||
[(id)pool release];
|
||||
}
|
||||
|
||||
// -- Client/Server ---------------------------------------------------------
|
||||
|
||||
|
||||
+6
-6
@@ -55,16 +55,16 @@ if !exists("macvim_skip_cmd_opt_movement")
|
||||
|
||||
no <D-Up> <C-Home>
|
||||
ino <D-Up> <C-Home>
|
||||
map <M-Up> {
|
||||
imap <M-Up> <C-o>{
|
||||
no <M-Up> {
|
||||
ino <M-Up> <C-o>{
|
||||
|
||||
no <D-Down> <C-End>
|
||||
ino <D-Down> <C-End>
|
||||
map <M-Down> }
|
||||
imap <M-Down> <C-o>}
|
||||
no <M-Down> }
|
||||
ino <M-Down> <C-o>}
|
||||
|
||||
imap <M-BS> <C-w>
|
||||
imap <D-BS> <C-u>
|
||||
ino <M-BS> <C-w>
|
||||
ino <D-BS> <C-u>
|
||||
endif " !exists("macvim_skip_cmd_opt_movement")
|
||||
|
||||
|
||||
|
||||
+1
-3
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
# Last updated by Dan Sharp. Last Change: 2013 Apr 22
|
||||
# Last updated by Dan Sharp. Last Change: 2013 Sep 19
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
@@ -439,8 +439,6 @@ endif
|
||||
##############################
|
||||
ifeq (yes, $(USEDLL))
|
||||
DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
|
||||
else
|
||||
INCLUDES += -mno-cygwin
|
||||
endif
|
||||
|
||||
##############################
|
||||
|
||||
Vendored
+19
-1
@@ -3643,6 +3643,24 @@ if test "$GCC" = yes; then
|
||||
fi
|
||||
fi
|
||||
|
||||
{ echo "$as_me:$LINENO: checking for recent clang version" >&5
|
||||
echo $ECHO_N "checking for recent clang version... $ECHO_C" >&6; }
|
||||
CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
|
||||
if test x"$CLANG_VERSION_STRING" != x"" ; then
|
||||
CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
|
||||
CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
|
||||
CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'`
|
||||
CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
|
||||
{ echo "$as_me:$LINENO: result: $CLANG_VERSION" >&5
|
||||
echo "${ECHO_T}$CLANG_VERSION" >&6; }
|
||||
if test "$CLANG_VERSION" -ge 500002075 ; then
|
||||
CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
|
||||
fi
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
if test "$cross_compiling" = yes; then
|
||||
{ echo "$as_me:$LINENO: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
|
||||
echo "${ECHO_T}cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
|
||||
@@ -7210,7 +7228,7 @@ echo "${ECHO_T}$rubyhdrdir" >&6; }
|
||||
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
||||
elif test -d "/System/Library/Frameworks/Ruby.framework"; then
|
||||
RUBY_LIBS="-framework Ruby"
|
||||
RUBY_CFLAGS=
|
||||
RUBY_CFLAGS="-DRUBY_VERSION=$rubyversion"
|
||||
librubyarg=
|
||||
fi
|
||||
|
||||
|
||||
+4
-1
@@ -1190,7 +1190,10 @@ do_buffer(action, start, dir, count, forceit)
|
||||
&& !(curwin->w_closing || curwin->w_buffer->b_closing)
|
||||
# endif
|
||||
&& (firstwin != lastwin || first_tabpage->tp_next != NULL))
|
||||
win_close(curwin, FALSE);
|
||||
{
|
||||
if (win_close(curwin, FALSE) == FAIL)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
+24
-1
@@ -62,6 +62,29 @@ if test "$GCC" = yes; then
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a
|
||||
dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on
|
||||
dnl the version number of the clang in use.
|
||||
dnl Note that this does not work to get the version of clang 3.1 or 3.2.
|
||||
AC_MSG_CHECKING(for recent clang version)
|
||||
CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
|
||||
if test x"$CLANG_VERSION_STRING" != x"" ; then
|
||||
CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
|
||||
CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
|
||||
CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'`
|
||||
CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
|
||||
AC_MSG_RESULT($CLANG_VERSION)
|
||||
dnl If you find the same issue with versions earlier than 500.2.75,
|
||||
dnl change the constant 500002075 below appropriately. To get the
|
||||
dnl integer corresponding to a version number, refer to the
|
||||
dnl definition of CLANG_VERSION above.
|
||||
if test "$CLANG_VERSION" -ge 500002075 ; then
|
||||
CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
dnl If configure thinks we are cross compiling, there might be something
|
||||
dnl wrong with the CC or CFLAGS settings, give a useful warning message
|
||||
if test "$cross_compiling" = yes; then
|
||||
@@ -1711,7 +1734,7 @@ if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
|
||||
dnl On Mac OS X it is safer to just use the -framework flag
|
||||
RUBY_LIBS="-framework Ruby"
|
||||
dnl Don't include the -I flag when -framework is set
|
||||
RUBY_CFLAGS=
|
||||
RUBY_CFLAGS="-DRUBY_VERSION=$rubyversion"
|
||||
librubyarg=
|
||||
fi
|
||||
|
||||
|
||||
+1
-1
@@ -1203,7 +1203,7 @@ ex_diffoff(eap)
|
||||
|
||||
for (wp = firstwin; wp != NULL; wp = wp->w_next)
|
||||
{
|
||||
if (wp == curwin || (eap->forceit && wp->w_p_diff))
|
||||
if (eap->forceit ? wp->w_p_diff : wp == curwin)
|
||||
{
|
||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
|
||||
* were saved in diff_win_options() restore them. */
|
||||
|
||||
+15
-4
@@ -3477,7 +3477,6 @@ ins_compl_new_leader()
|
||||
}
|
||||
|
||||
compl_enter_selects = !compl_used_match;
|
||||
compl_shown_match = compl_curr_match = compl_first_match;
|
||||
|
||||
/* Show the popup menu with a different set of matches. */
|
||||
ins_compl_show_pum();
|
||||
@@ -5199,9 +5198,21 @@ ins_complete(c)
|
||||
}
|
||||
else if (ctrl_x_mode == CTRL_X_FILES)
|
||||
{
|
||||
while (--startcol >= 0 && vim_isfilec(line[startcol]))
|
||||
;
|
||||
compl_col += ++startcol;
|
||||
/* Go back to just before the first filename character. */
|
||||
if (startcol > 0)
|
||||
{
|
||||
char_u *p = line + startcol;
|
||||
|
||||
mb_ptr_back(line, p);
|
||||
while (p > line && vim_isfilec(PTR2CHAR(p)))
|
||||
mb_ptr_back(line, p);
|
||||
if (p == line && vim_isfilec(PTR2CHAR(p)))
|
||||
startcol = 0;
|
||||
else
|
||||
startcol = (int)(p - line) + 1;
|
||||
}
|
||||
|
||||
compl_col += startcol;
|
||||
compl_length = (int)curs_col - startcol;
|
||||
compl_pattern = addstar(line + compl_col, compl_length,
|
||||
EXPAND_FILES);
|
||||
|
||||
+45
-20
@@ -915,12 +915,13 @@ eval_clear()
|
||||
/* autoloaded script names */
|
||||
ga_clear_strings(&ga_loaded);
|
||||
|
||||
/* script-local variables */
|
||||
/* Script-local variables. First clear all the variables and in a second
|
||||
* loop free the scriptvar_T, because a variable in one script might hold
|
||||
* a reference to the whole scope of another script. */
|
||||
for (i = 1; i <= ga_scripts.ga_len; ++i)
|
||||
{
|
||||
vars_clear(&SCRIPT_VARS(i));
|
||||
for (i = 1; i <= ga_scripts.ga_len; ++i)
|
||||
vim_free(SCRIPT_SV(i));
|
||||
}
|
||||
ga_clear(&ga_scripts);
|
||||
|
||||
/* unreferenced lists and dicts */
|
||||
@@ -12143,6 +12144,9 @@ f_has(argvars, rettv)
|
||||
#ifndef CASE_INSENSITIVE_FILENAME
|
||||
"fname_case",
|
||||
#endif
|
||||
#ifdef HAVE_ACL
|
||||
"acl",
|
||||
#endif
|
||||
#ifdef FEAT_ARABIC
|
||||
"arabic",
|
||||
#endif
|
||||
@@ -12558,7 +12562,12 @@ f_has(argvars, rettv)
|
||||
"xfontset",
|
||||
#endif
|
||||
#ifdef FEAT_XPM_W32
|
||||
"xpm_w32",
|
||||
"xpm",
|
||||
"xpm_w32", /* for backward compatibility */
|
||||
#else
|
||||
# if defined(HAVE_XPM)
|
||||
"xpm",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef USE_XSMP
|
||||
"xsmp",
|
||||
@@ -13065,9 +13074,18 @@ get_user_input(argvars, rettv, inputdialog)
|
||||
}
|
||||
|
||||
if (defstr != NULL)
|
||||
{
|
||||
# ifdef FEAT_EX_EXTRA
|
||||
int save_ex_normal_busy = ex_normal_busy;
|
||||
ex_normal_busy = 0;
|
||||
# endif
|
||||
rettv->vval.v_string =
|
||||
getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
|
||||
xp_type, xp_arg);
|
||||
# ifdef FEAT_EX_EXTRA
|
||||
ex_normal_busy = save_ex_normal_busy;
|
||||
# endif
|
||||
}
|
||||
if (inputdialog && rettv->vval.v_string == NULL
|
||||
&& argvars[1].v_type != VAR_UNKNOWN
|
||||
&& argvars[2].v_type != VAR_UNKNOWN)
|
||||
@@ -14312,14 +14330,23 @@ f_mkdir(argvars, rettv)
|
||||
return;
|
||||
|
||||
dir = get_tv_string_buf(&argvars[0], buf);
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
if (*dir == NUL)
|
||||
rettv->vval.v_number = FAIL;
|
||||
else
|
||||
{
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
prot = get_tv_number_chk(&argvars[2], NULL);
|
||||
if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
|
||||
mkdir_recurse(dir, prot);
|
||||
if (*gettail(dir) == NUL)
|
||||
/* remove trailing slashes */
|
||||
*gettail_sep(dir) = NUL;
|
||||
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
{
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
prot = get_tv_number_chk(&argvars[2], NULL);
|
||||
if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
|
||||
mkdir_recurse(dir, prot);
|
||||
}
|
||||
rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
|
||||
}
|
||||
rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -24311,6 +24338,7 @@ do_string_sub(str, pat, sub, flags)
|
||||
garray_T ga;
|
||||
char_u *ret;
|
||||
char_u *save_cpo;
|
||||
int zero_width;
|
||||
|
||||
/* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
|
||||
save_cpo = p_cpo;
|
||||
@@ -24349,20 +24377,17 @@ do_string_sub(str, pat, sub, flags)
|
||||
(void)vim_regsub(®match, sub, (char_u *)ga.ga_data
|
||||
+ ga.ga_len + i, TRUE, TRUE, FALSE);
|
||||
ga.ga_len += i + sublen - 1;
|
||||
/* avoid getting stuck on a match with an empty string */
|
||||
if (tail == regmatch.endp[0])
|
||||
zero_width = (tail == regmatch.endp[0]
|
||||
|| regmatch.startp[0] == regmatch.endp[0]);
|
||||
tail = regmatch.endp[0];
|
||||
if (*tail == NUL)
|
||||
break;
|
||||
if (zero_width)
|
||||
{
|
||||
if (*tail == NUL)
|
||||
break;
|
||||
/* avoid getting stuck on a match with an empty string */
|
||||
*((char_u *)ga.ga_data + ga.ga_len) = *tail++;
|
||||
++ga.ga_len;
|
||||
}
|
||||
else
|
||||
{
|
||||
tail = regmatch.endp[0];
|
||||
if (*tail == NUL)
|
||||
break;
|
||||
}
|
||||
if (!do_all)
|
||||
break;
|
||||
}
|
||||
|
||||
+7
-1
@@ -4740,11 +4740,17 @@ do_sub(eap)
|
||||
char_u *resp;
|
||||
colnr_T sc, ec;
|
||||
|
||||
print_line_no_prefix(lnum, FALSE, FALSE);
|
||||
print_line_no_prefix(lnum, do_number, do_list);
|
||||
|
||||
getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
|
||||
curwin->w_cursor.col = regmatch.endpos[0].col - 1;
|
||||
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
|
||||
if (do_number || curwin->w_p_nu)
|
||||
{
|
||||
int numw = number_width(curwin) + 1;
|
||||
sc += numw;
|
||||
ec += numw;
|
||||
}
|
||||
msg_start();
|
||||
for (i = 0; i < (long)sc; ++i)
|
||||
msg_putchar(' ');
|
||||
|
||||
+15
-9
@@ -428,13 +428,13 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef UNIX
|
||||
/*
|
||||
* On Unix it is possible to read a directory, so we have to
|
||||
* check for it before the mch_open().
|
||||
*/
|
||||
if (!read_stdin && !read_buffer)
|
||||
{
|
||||
#ifdef UNIX
|
||||
/*
|
||||
* On Unix it is possible to read a directory, so we have to
|
||||
* check for it before the mch_open().
|
||||
*/
|
||||
perm = mch_getperm(fname);
|
||||
if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
|
||||
# ifdef S_ISFIFO
|
||||
@@ -457,8 +457,8 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
||||
msg_scroll = msg_save;
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
# if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||
#endif
|
||||
#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||
/*
|
||||
* MS-Windows allows opening a device, but we will probably get stuck
|
||||
* trying to read it.
|
||||
@@ -470,9 +470,8 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
||||
msg_scroll = msg_save;
|
||||
return FAIL;
|
||||
}
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Set default or forced 'fileformat' and 'binary'. */
|
||||
set_file_options(set_options, eap);
|
||||
@@ -2926,9 +2925,14 @@ check_for_cryptkey(cryptkey, ptr, sizep, filesizep, newfile, fname, did_ask)
|
||||
int *did_ask; /* flag: whether already asked for key */
|
||||
{
|
||||
int method = crypt_method_from_magic((char *)ptr, *sizep);
|
||||
int b_p_ro = curbuf->b_p_ro;
|
||||
|
||||
if (method >= 0)
|
||||
{
|
||||
/* Mark the buffer as read-only until the decryption has taken place.
|
||||
* Avoids accidentally overwriting the file with garbage. */
|
||||
curbuf->b_p_ro = TRUE;
|
||||
|
||||
set_crypt_method(curbuf, method);
|
||||
if (method > 0)
|
||||
(void)blowfish_self_test();
|
||||
@@ -2977,6 +2981,8 @@ check_for_cryptkey(cryptkey, ptr, sizep, filesizep, newfile, fname, did_ask)
|
||||
*sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
|
||||
mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
|
||||
(size_t)*sizep);
|
||||
/* Restore the read-only flag. */
|
||||
curbuf->b_p_ro = b_p_ro;
|
||||
}
|
||||
}
|
||||
/* When starting to edit a new file which does not have encryption, clear
|
||||
|
||||
+1
-1
@@ -1008,7 +1008,7 @@ HandleMouseHide(UINT uMsg, LPARAM lParam)
|
||||
static LPARAM last_lParam = 0L;
|
||||
|
||||
/* We sometimes get a mousemove when the mouse didn't move... */
|
||||
if (uMsg == WM_MOUSEMOVE)
|
||||
if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE)
|
||||
{
|
||||
if (lParam == last_lParam)
|
||||
return;
|
||||
|
||||
+5
-1
@@ -102,7 +102,11 @@
|
||||
# include <ruby.h>
|
||||
#endif
|
||||
#ifdef RUBY19_OR_LATER
|
||||
# include <ruby/encoding.h>
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
# include <Ruby/ruby/encoding.h>
|
||||
# else
|
||||
# include <ruby/encoding.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#undef off_t /* ruby defines off_t as _int64, Mingw uses long */
|
||||
|
||||
+4
-1
@@ -165,6 +165,7 @@ typedef int HANDLE;
|
||||
*/
|
||||
static HANDLE hTclLib = NULL;
|
||||
Tcl_Interp* (*dll_Tcl_CreateInterp)();
|
||||
void (*dll_Tcl_FindExecutable)(const void *);
|
||||
|
||||
/*
|
||||
* Table of name to function pointer of tcl.
|
||||
@@ -175,6 +176,7 @@ static struct {
|
||||
TCL_PROC* ptr;
|
||||
} tcl_funcname_table[] = {
|
||||
{"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp},
|
||||
{"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable},
|
||||
{NULL, NULL},
|
||||
};
|
||||
|
||||
@@ -248,11 +250,12 @@ tcl_enabled(verbose)
|
||||
{
|
||||
Tcl_Interp *interp;
|
||||
|
||||
dll_Tcl_FindExecutable(find_executable_arg);
|
||||
|
||||
if (interp = dll_Tcl_CreateInterp())
|
||||
{
|
||||
if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
|
||||
{
|
||||
Tcl_FindExecutable(find_executable_arg);
|
||||
Tcl_DeleteInterp(interp);
|
||||
stubs_initialized = TRUE;
|
||||
}
|
||||
|
||||
+21
-32
@@ -23,10 +23,6 @@
|
||||
# include <limits.h>
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
#include <objc/objc-runtime.h> /* for objc_*() and sel_*() */
|
||||
#endif
|
||||
|
||||
/* Maximum number of commands from + or -c arguments. */
|
||||
#define MAX_ARG_CMDS 10
|
||||
|
||||
@@ -180,9 +176,7 @@ main
|
||||
// Cocoa needs an NSAutoreleasePool in place or it will leak memory.
|
||||
// This particular pool will hold autorelease objects created during
|
||||
// initialization.
|
||||
id autoreleasePool = objc_msgSend(objc_msgSend(
|
||||
objc_getClass("NSAutoreleasePool"),sel_getUid("alloc")
|
||||
), sel_getUid("init"));
|
||||
void *autoreleasePool = gui_macvim_new_autoreleasepool();
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -834,7 +828,7 @@ vim_main2(int argc UNUSED, char **argv UNUSED)
|
||||
starttermcap(); /* start termcap if not done by wait_return() */
|
||||
TIME_MSG("start termcap");
|
||||
#if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
|
||||
may_req_ambiguous_character_width();
|
||||
may_req_ambiguous_char_width();
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
@@ -1066,13 +1060,11 @@ vim_main2(int argc UNUSED, char **argv UNUSED)
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
// The autorelease pool might have filled up quite a bit during
|
||||
// initialization, so purge it before entering the main loop.
|
||||
objc_msgSend(autoreleasePool, sel_getUid("release"));
|
||||
gui_macvim_release_autoreleasepool(autoreleasePool);
|
||||
|
||||
// The main loop sets up its own autorelease pool, but to be safe we still
|
||||
// realloc this one here.
|
||||
autoreleasePool = objc_msgSend(objc_msgSend(
|
||||
objc_getClass("NSAutoreleasePool"),sel_getUid("alloc")
|
||||
), sel_getUid("init"));
|
||||
autoreleasePool = gui_macvim_new_autoreleasepool();
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -1081,7 +1073,7 @@ vim_main2(int argc UNUSED, char **argv UNUSED)
|
||||
main_loop(FALSE, FALSE);
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
objc_msgSend(autoreleasePool, sel_getUid("release"));
|
||||
gui_macvim_release_autoreleasepool(autoreleasePool);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
@@ -1152,9 +1144,7 @@ main_loop(cmdwin, noexmode)
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
// Cocoa needs an NSAutoreleasePool in place or it will leak memory.
|
||||
// This particular pool gets released once every loop.
|
||||
id autoreleasePool = objc_msgSend(objc_msgSend(
|
||||
objc_getClass("NSAutoreleasePool"),sel_getUid("alloc")
|
||||
), sel_getUid("init"));
|
||||
void *autoreleasePool = gui_macvim_new_autoreleasepool();
|
||||
#endif
|
||||
|
||||
if (stuff_empty())
|
||||
@@ -1404,7 +1394,7 @@ main_loop(cmdwin, noexmode)
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
// TODO! Make sure there are no continue statements that will cause
|
||||
// this not to be called or MacVim will leak memory!
|
||||
objc_msgSend(autoreleasePool, sel_getUid("release"));
|
||||
gui_macvim_release_autoreleasepool(autoreleasePool);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -2816,6 +2806,7 @@ edit_buffers(parmp)
|
||||
int arg_idx; /* index in argument list */
|
||||
int i;
|
||||
int advance = TRUE;
|
||||
win_T *win;
|
||||
|
||||
# ifdef FEAT_AUTOCMD
|
||||
/*
|
||||
@@ -2905,24 +2896,22 @@ edit_buffers(parmp)
|
||||
# ifdef FEAT_AUTOCMD
|
||||
--autocmd_no_enter;
|
||||
# endif
|
||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||
/*
|
||||
* Avoid making a preview window the current window.
|
||||
*/
|
||||
if (firstwin->w_p_pvw)
|
||||
{
|
||||
win_T *win;
|
||||
|
||||
for (win = firstwin; win != NULL; win = win->w_next)
|
||||
if (!win->w_p_pvw)
|
||||
{
|
||||
firstwin = win;
|
||||
break;
|
||||
}
|
||||
/* make the first window the current window */
|
||||
win = firstwin;
|
||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||
/* Avoid making a preview window the current window. */
|
||||
while (win->w_p_pvw)
|
||||
{
|
||||
win = win->w_next;
|
||||
if (win == NULL)
|
||||
{
|
||||
win = firstwin;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* make the first window the current window */
|
||||
win_enter(firstwin, FALSE);
|
||||
win_enter(win, FALSE);
|
||||
|
||||
# ifdef FEAT_AUTOCMD
|
||||
--autocmd_no_leave;
|
||||
|
||||
+19
-9
@@ -303,10 +303,18 @@ set_indent(size, flags)
|
||||
ml_replace(curwin->w_cursor.lnum, newline, FALSE);
|
||||
if (flags & SIN_CHANGED)
|
||||
changed_bytes(curwin->w_cursor.lnum, 0);
|
||||
/* Correct saved cursor position if it's after the indent. */
|
||||
if (saved_cursor.lnum == curwin->w_cursor.lnum
|
||||
&& saved_cursor.col >= (colnr_T)(p - oldline))
|
||||
saved_cursor.col += ind_len - (colnr_T)(p - oldline);
|
||||
/* Correct saved cursor position if it is in this line. */
|
||||
if (saved_cursor.lnum == curwin->w_cursor.lnum)
|
||||
{
|
||||
if (saved_cursor.col >= (colnr_T)(p - oldline))
|
||||
/* cursor was after the indent, adjust for the number of
|
||||
* bytes added/removed */
|
||||
saved_cursor.col += ind_len - (colnr_T)(p - oldline);
|
||||
else if (saved_cursor.col >= (colnr_T)(s - newline))
|
||||
/* cursor was in the indent, and is now after it, put it back
|
||||
* at the start of the indent (replacing spaces with TAB) */
|
||||
saved_cursor.col = (colnr_T)(s - newline);
|
||||
}
|
||||
retval = TRUE;
|
||||
}
|
||||
else
|
||||
@@ -1581,9 +1589,9 @@ theend:
|
||||
|
||||
#if defined(FEAT_COMMENTS) || defined(PROTO)
|
||||
/*
|
||||
* get_leader_len() returns the length of the prefix of the given string
|
||||
* which introduces a comment. If this string is not a comment then 0 is
|
||||
* returned.
|
||||
* get_leader_len() returns the length in bytes of the prefix of the given
|
||||
* string which introduces a comment. If this string is not a comment then
|
||||
* 0 is returned.
|
||||
* When "flags" is not NULL, it is set to point to the flags of the recognized
|
||||
* comment leader.
|
||||
* "backward" must be true for the "O" command.
|
||||
@@ -9180,6 +9188,8 @@ prepare_to_exit()
|
||||
/*
|
||||
* Preserve files and exit.
|
||||
* When called IObuff must contain a message.
|
||||
* NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe
|
||||
* functions, such as allocating memory.
|
||||
*/
|
||||
void
|
||||
preserve_exit()
|
||||
@@ -9202,7 +9212,7 @@ preserve_exit()
|
||||
{
|
||||
if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
|
||||
{
|
||||
OUT_STR(_("Vim: preserving files...\n"));
|
||||
OUT_STR("Vim: preserving files...\n");
|
||||
screen_start(); /* don't know where cursor is now */
|
||||
out_flush();
|
||||
ml_sync_all(FALSE, FALSE); /* preserve all swap files */
|
||||
@@ -9212,7 +9222,7 @@ preserve_exit()
|
||||
|
||||
ml_close_all(FALSE); /* close all memfiles, without deleting */
|
||||
|
||||
OUT_STR(_("Vim: Finished.\n"));
|
||||
OUT_STR("Vim: Finished.\n");
|
||||
|
||||
getout(1);
|
||||
}
|
||||
|
||||
+8
-6
@@ -6502,13 +6502,15 @@ get3c(fd)
|
||||
get4c(fd)
|
||||
FILE *fd;
|
||||
{
|
||||
int n;
|
||||
/* Use unsigned rather than int otherwise result is undefined
|
||||
* when left-shift sets the MSB. */
|
||||
unsigned n;
|
||||
|
||||
n = getc(fd);
|
||||
n = (n << 8) + getc(fd);
|
||||
n = (n << 8) + getc(fd);
|
||||
n = (n << 8) + getc(fd);
|
||||
return n;
|
||||
n = (unsigned)getc(fd);
|
||||
n = (n << 8) + (unsigned)getc(fd);
|
||||
n = (n << 8) + (unsigned)getc(fd);
|
||||
n = (n << 8) + (unsigned)getc(fd);
|
||||
return (int)n;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+7
-1
@@ -5271,8 +5271,12 @@ dozet:
|
||||
{
|
||||
pos_T pos = curwin->w_cursor;
|
||||
|
||||
/* Find bad word under the cursor. */
|
||||
/* Find bad word under the cursor. When 'spell' is
|
||||
* off this fails and find_ident_under_cursor() is
|
||||
* used below. */
|
||||
emsg_off++;
|
||||
len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
|
||||
emsg_off--;
|
||||
if (len != 0 && curwin->w_cursor.col <= pos.col)
|
||||
ptr = ml_get_pos(&curwin->w_cursor);
|
||||
curwin->w_cursor = pos;
|
||||
@@ -9552,6 +9556,8 @@ nv_put(cap)
|
||||
/* cursor is at the end of the line or end of file, put
|
||||
* forward. */
|
||||
dir = FORWARD;
|
||||
/* May have been reset in do_put(). */
|
||||
VIsual_active = TRUE;
|
||||
}
|
||||
#endif
|
||||
do_put(cap->oap->regname, dir, cap->count1, flags);
|
||||
|
||||
@@ -3776,25 +3776,39 @@ do_put(regname, dir, count, flags)
|
||||
*/
|
||||
if (y_type == MCHAR && y_size == 1)
|
||||
{
|
||||
totlen = count * yanklen;
|
||||
if (totlen)
|
||||
{
|
||||
oldp = ml_get(lnum);
|
||||
newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
|
||||
if (newp == NULL)
|
||||
goto end; /* alloc() will give error message */
|
||||
mch_memmove(newp, oldp, (size_t)col);
|
||||
ptr = newp + col;
|
||||
for (i = 0; i < count; ++i)
|
||||
do {
|
||||
totlen = count * yanklen;
|
||||
if (totlen > 0)
|
||||
{
|
||||
mch_memmove(ptr, y_array[0], (size_t)yanklen);
|
||||
ptr += yanklen;
|
||||
oldp = ml_get(lnum);
|
||||
newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
|
||||
if (newp == NULL)
|
||||
goto end; /* alloc() gave an error message */
|
||||
mch_memmove(newp, oldp, (size_t)col);
|
||||
ptr = newp + col;
|
||||
for (i = 0; i < count; ++i)
|
||||
{
|
||||
mch_memmove(ptr, y_array[0], (size_t)yanklen);
|
||||
ptr += yanklen;
|
||||
}
|
||||
STRMOVE(ptr, oldp + col);
|
||||
ml_replace(lnum, newp, FALSE);
|
||||
/* Place cursor on last putted char. */
|
||||
if (lnum == curwin->w_cursor.lnum)
|
||||
curwin->w_cursor.col += (colnr_T)(totlen - 1);
|
||||
}
|
||||
STRMOVE(ptr, oldp + col);
|
||||
ml_replace(lnum, newp, FALSE);
|
||||
/* Put cursor on last putted char. */
|
||||
curwin->w_cursor.col += (colnr_T)(totlen - 1);
|
||||
}
|
||||
#ifdef FEAT_VISUAL
|
||||
if (VIsual_active)
|
||||
lnum++;
|
||||
#endif
|
||||
} while (
|
||||
#ifdef FEAT_VISUAL
|
||||
VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
|
||||
#else
|
||||
FALSE /* stop after 1 paste */
|
||||
#endif
|
||||
);
|
||||
|
||||
curbuf->b_op_end = curwin->w_cursor;
|
||||
/* For "CTRL-O p" in Insert mode, put cursor after last char */
|
||||
if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
|
||||
@@ -3955,6 +3969,10 @@ end:
|
||||
if (regname == '=')
|
||||
vim_free(y_array);
|
||||
|
||||
#ifdef FEAT_VISUAL
|
||||
VIsual_active = FALSE;
|
||||
#endif
|
||||
|
||||
/* If the cursor is past the end of the line put it at the end. */
|
||||
adjust_cursor_eol();
|
||||
}
|
||||
@@ -4971,7 +4989,7 @@ format_lines(line_count, avoid_fex)
|
||||
|
||||
/*
|
||||
* When still in same paragraph, join the lines together. But
|
||||
* first delete the comment leader from the second line.
|
||||
* first delete the leader from the second line.
|
||||
*/
|
||||
if (!is_end_par)
|
||||
{
|
||||
@@ -4981,11 +4999,25 @@ format_lines(line_count, avoid_fex)
|
||||
if (line_count < 0 && u_save_cursor() == FAIL)
|
||||
break;
|
||||
#ifdef FEAT_COMMENTS
|
||||
(void)del_bytes((long)next_leader_len, FALSE, FALSE);
|
||||
if (next_leader_len > 0)
|
||||
{
|
||||
(void)del_bytes((long)next_leader_len, FALSE, FALSE);
|
||||
mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
|
||||
(long)-next_leader_len);
|
||||
} else
|
||||
#endif
|
||||
if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
|
||||
{
|
||||
char_u *p = ml_get_curline();
|
||||
int indent = skipwhite(p) - p;
|
||||
|
||||
if (indent > 0)
|
||||
{
|
||||
(void)del_bytes(indent, FALSE, FALSE);
|
||||
mark_col_adjust(curwin->w_cursor.lnum,
|
||||
(colnr_T)0, 0L, (long)-indent);
|
||||
}
|
||||
}
|
||||
curwin->w_cursor.lnum--;
|
||||
if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
|
||||
{
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
# define OPAQUE_TOOLBOX_STRUCTS 0
|
||||
#endif
|
||||
|
||||
/* Include MAC_OS_X_VERSION_* macros (needed for OS X 10.9, should be supported
|
||||
* as of OS X 10.2)
|
||||
* */
|
||||
#include <AvailabilityMacros.h>
|
||||
|
||||
/*
|
||||
* Macintosh machine-dependent things.
|
||||
*
|
||||
|
||||
+176
-12
@@ -456,7 +456,14 @@ mch_FullName(
|
||||
int
|
||||
mch_isFullName(char_u *fname)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
/* WinNT and later can use _MAX_PATH wide characters for a pathname, which
|
||||
* means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
|
||||
* UTF-8. */
|
||||
char szName[_MAX_PATH * 3 + 1];
|
||||
#else
|
||||
char szName[_MAX_PATH + 1];
|
||||
#endif
|
||||
|
||||
/* A name like "d:/foo" and "//server/share" is absolute */
|
||||
if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\'))
|
||||
@@ -464,7 +471,7 @@ mch_isFullName(char_u *fname)
|
||||
return TRUE;
|
||||
|
||||
/* A name that can't be made absolute probably isn't absolute. */
|
||||
if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL)
|
||||
if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL)
|
||||
return FALSE;
|
||||
|
||||
return pathcmp(fname, szName, -1) == 0;
|
||||
@@ -491,6 +498,104 @@ slash_adjust(p)
|
||||
}
|
||||
}
|
||||
|
||||
#if (_MSC_VER >= 1300)
|
||||
# define OPEN_OH_ARGTYPE intptr_t
|
||||
#else
|
||||
# define OPEN_OH_ARGTYPE long
|
||||
#endif
|
||||
|
||||
static int
|
||||
stat_symlink_aware(const char *name, struct stat *stp)
|
||||
{
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1700
|
||||
/* Work around for VC10 or earlier. stat() can't handle symlinks properly.
|
||||
* VC9 or earlier: stat() doesn't support a symlink at all. It retrieves
|
||||
* status of a symlink itself.
|
||||
* VC10: stat() supports a symlink to a normal file, but it doesn't support
|
||||
* a symlink to a directory (always returns an error). */
|
||||
WIN32_FIND_DATA findData;
|
||||
HANDLE hFind, h;
|
||||
DWORD attr = 0;
|
||||
BOOL is_symlink = FALSE;
|
||||
|
||||
hFind = FindFirstFile(name, &findData);
|
||||
if (hFind != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
attr = findData.dwFileAttributes;
|
||||
if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
|
||||
&& (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
|
||||
is_symlink = TRUE;
|
||||
FindClose(hFind);
|
||||
}
|
||||
if (is_symlink)
|
||||
{
|
||||
h = CreateFile(name, FILE_READ_ATTRIBUTES,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
OPEN_EXISTING,
|
||||
(attr & FILE_ATTRIBUTE_DIRECTORY)
|
||||
? FILE_FLAG_BACKUP_SEMANTICS : 0,
|
||||
NULL);
|
||||
if (h != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
int fd, n;
|
||||
|
||||
fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
|
||||
n = _fstat(fd, (struct _stat*)stp);
|
||||
_close(fd);
|
||||
return n;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return stat(name, stp);
|
||||
}
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
static int
|
||||
wstat_symlink_aware(const WCHAR *name, struct _stat *stp)
|
||||
{
|
||||
# if defined(_MSC_VER) && _MSC_VER < 1700
|
||||
/* Work around for VC10 or earlier. _wstat() can't handle symlinks properly.
|
||||
* VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves
|
||||
* status of a symlink itself.
|
||||
* VC10: _wstat() supports a symlink to a normal file, but it doesn't
|
||||
* support a symlink to a directory (always returns an error). */
|
||||
int n;
|
||||
BOOL is_symlink = FALSE;
|
||||
HANDLE hFind, h;
|
||||
DWORD attr = 0;
|
||||
WIN32_FIND_DATAW findDataW;
|
||||
|
||||
hFind = FindFirstFileW(name, &findDataW);
|
||||
if (hFind != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
attr = findDataW.dwFileAttributes;
|
||||
if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
|
||||
&& (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
|
||||
is_symlink = TRUE;
|
||||
FindClose(hFind);
|
||||
}
|
||||
if (is_symlink)
|
||||
{
|
||||
h = CreateFileW(name, FILE_READ_ATTRIBUTES,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
OPEN_EXISTING,
|
||||
(attr & FILE_ATTRIBUTE_DIRECTORY)
|
||||
? FILE_FLAG_BACKUP_SEMANTICS : 0,
|
||||
NULL);
|
||||
if (h != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
int fd;
|
||||
|
||||
fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
|
||||
n = _fstat(fd, stp);
|
||||
_close(fd);
|
||||
return n;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
return _wstat(name, stp);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* stat() can't handle a trailing '/' or '\', remove it first.
|
||||
@@ -498,10 +603,17 @@ slash_adjust(p)
|
||||
int
|
||||
vim_stat(const char *name, struct stat *stp)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
/* WinNT and later can use _MAX_PATH wide characters for a pathname, which
|
||||
* means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
|
||||
* UTF-8. */
|
||||
char buf[_MAX_PATH * 3 + 1];
|
||||
#else
|
||||
char buf[_MAX_PATH + 1];
|
||||
#endif
|
||||
char *p;
|
||||
|
||||
vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH);
|
||||
vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1);
|
||||
p = buf + strlen(buf);
|
||||
if (p > buf)
|
||||
mb_ptr_back(buf, p);
|
||||
@@ -520,7 +632,7 @@ vim_stat(const char *name, struct stat *stp)
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
n = _wstat(wp, (struct _stat *)stp);
|
||||
n = wstat_symlink_aware(wp, (struct _stat *)stp);
|
||||
vim_free(wp);
|
||||
if (n >= 0)
|
||||
return n;
|
||||
@@ -530,7 +642,7 @@ vim_stat(const char *name, struct stat *stp)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return stat(buf, stp);
|
||||
return stat_symlink_aware(buf, stp);
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_MSWIN) || defined(PROTO)
|
||||
@@ -1761,9 +1873,13 @@ mch_resolve_shortcut(char_u *fname)
|
||||
IPersistFile *ppf = NULL;
|
||||
OLECHAR wsz[MAX_PATH];
|
||||
WIN32_FIND_DATA ffd; // we get those free of charge
|
||||
TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
|
||||
CHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
|
||||
char_u *rfname = NULL;
|
||||
int len;
|
||||
# ifdef FEAT_MBYTE
|
||||
IShellLinkW *pslw = NULL;
|
||||
WIN32_FIND_DATAW ffdw; // we get those free of charge
|
||||
# endif
|
||||
|
||||
/* Check if the file name ends in ".lnk". Avoid calling
|
||||
* CoCreateInstance(), it's quite slow. */
|
||||
@@ -1775,18 +1891,62 @@ mch_resolve_shortcut(char_u *fname)
|
||||
|
||||
CoInitialize(NULL);
|
||||
|
||||
# ifdef FEAT_MBYTE
|
||||
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
||||
{
|
||||
// create a link manager object and request its interface
|
||||
hr = CoCreateInstance(
|
||||
&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
|
||||
&IID_IShellLinkW, (void**)&pslw);
|
||||
if (hr == S_OK)
|
||||
{
|
||||
WCHAR *p = enc_to_utf16(fname, NULL);
|
||||
|
||||
if (p != NULL)
|
||||
{
|
||||
// Get a pointer to the IPersistFile interface.
|
||||
hr = pslw->lpVtbl->QueryInterface(
|
||||
pslw, &IID_IPersistFile, (void**)&ppf);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_errorw;
|
||||
|
||||
// "load" the name and resolve the link
|
||||
hr = ppf->lpVtbl->Load(ppf, p, STGM_READ);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_errorw;
|
||||
# if 0 // This makes Vim wait a long time if the target does not exist.
|
||||
hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_errorw;
|
||||
# endif
|
||||
|
||||
// Get the path to the link target.
|
||||
ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR));
|
||||
hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0);
|
||||
if (hr == S_OK && wsz[0] != NUL)
|
||||
rfname = utf16_to_enc(wsz, NULL);
|
||||
|
||||
shortcut_errorw:
|
||||
vim_free(p);
|
||||
if (hr == S_OK)
|
||||
goto shortcut_end;
|
||||
}
|
||||
}
|
||||
/* Retry with non-wide function (for Windows 98). */
|
||||
}
|
||||
# endif
|
||||
// create a link manager object and request its interface
|
||||
hr = CoCreateInstance(
|
||||
&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
|
||||
&IID_IShellLink, (void**)&psl);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_error;
|
||||
goto shortcut_end;
|
||||
|
||||
// Get a pointer to the IPersistFile interface.
|
||||
hr = psl->lpVtbl->QueryInterface(
|
||||
psl, &IID_IPersistFile, (void**)&ppf);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_error;
|
||||
goto shortcut_end;
|
||||
|
||||
// full path string must be in Unicode.
|
||||
MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
|
||||
@@ -1794,12 +1954,12 @@ mch_resolve_shortcut(char_u *fname)
|
||||
// "load" the name and resolve the link
|
||||
hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_error;
|
||||
#if 0 // This makes Vim wait a long time if the target doesn't exist.
|
||||
goto shortcut_end;
|
||||
# if 0 // This makes Vim wait a long time if the target doesn't exist.
|
||||
hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
|
||||
if (hr != S_OK)
|
||||
goto shortcut_error;
|
||||
#endif
|
||||
goto shortcut_end;
|
||||
# endif
|
||||
|
||||
// Get the path to the link target.
|
||||
ZeroMemory(buf, MAX_PATH);
|
||||
@@ -1807,12 +1967,16 @@ mch_resolve_shortcut(char_u *fname)
|
||||
if (hr == S_OK && buf[0] != NUL)
|
||||
rfname = vim_strsave(buf);
|
||||
|
||||
shortcut_error:
|
||||
shortcut_end:
|
||||
// Release all interface pointers (both belong to the same object)
|
||||
if (ppf != NULL)
|
||||
ppf->lpVtbl->Release(ppf);
|
||||
if (psl != NULL)
|
||||
psl->lpVtbl->Release(psl);
|
||||
# ifdef FEAT_MBYTE
|
||||
if (pslw != NULL)
|
||||
pslw->lpVtbl->Release(pslw);
|
||||
# endif
|
||||
|
||||
CoUninitialize();
|
||||
return rfname;
|
||||
|
||||
+12
-5
@@ -957,8 +957,10 @@ mch_didjmp()
|
||||
|
||||
/*
|
||||
* This function handles deadly signals.
|
||||
* It tries to preserve any swap file and exit properly.
|
||||
* It tries to preserve any swap files and exit properly.
|
||||
* (partly from Elvis).
|
||||
* NOTE: Avoid unsafe functions, such as allocating memory, they can result in
|
||||
* a deadlock.
|
||||
*/
|
||||
static RETSIGTYPE
|
||||
deathtrap SIGDEFARG(sigarg)
|
||||
@@ -1090,18 +1092,23 @@ deathtrap SIGDEFARG(sigarg)
|
||||
}
|
||||
if (entered == 2)
|
||||
{
|
||||
OUT_STR(_("Vim: Double signal, exiting\n"));
|
||||
/* No translation, it may call malloc(). */
|
||||
OUT_STR("Vim: Double signal, exiting\n");
|
||||
out_flush();
|
||||
getout(1);
|
||||
}
|
||||
|
||||
/* No translation, it may call malloc(). */
|
||||
#ifdef SIGHASARG
|
||||
sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"),
|
||||
sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n",
|
||||
signal_info[i].name);
|
||||
#else
|
||||
sprintf((char *)IObuff, _("Vim: Caught deadly signal\n"));
|
||||
sprintf((char *)IObuff, "Vim: Caught deadly signal\n");
|
||||
#endif
|
||||
preserve_exit(); /* preserve files and exit */
|
||||
|
||||
/* Preserve files and exit. This sets the really_exiting flag to prevent
|
||||
* calling free(). */
|
||||
preserve_exit();
|
||||
|
||||
#ifdef NBDEBUG
|
||||
reset_signals();
|
||||
|
||||
+3
-1
@@ -563,7 +563,9 @@ int mch_rename __ARGS((const char *src, const char *dest));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define HAVE_DUP /* have dup() */
|
||||
#ifndef HAVE_DUP
|
||||
# define HAVE_DUP /* have dup() */
|
||||
#endif
|
||||
#define HAVE_ST_MODE /* have stat.st_mode */
|
||||
|
||||
/* We have three kinds of ACL support. */
|
||||
|
||||
+187
-18
@@ -78,16 +78,6 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Reparse Point
|
||||
*/
|
||||
#ifndef FILE_ATTRIBUTE_REPARSE_POINT
|
||||
# define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
||||
#endif
|
||||
#ifndef IO_REPARSE_TAG_SYMLINK
|
||||
# define IO_REPARSE_TAG_SYMLINK 0xA000000C
|
||||
#endif
|
||||
|
||||
/* Record all output and all keyboard & mouse input */
|
||||
/* #define MCH_WRITE_DUMP */
|
||||
|
||||
@@ -2500,9 +2490,125 @@ mch_check_win(
|
||||
}
|
||||
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
/*
|
||||
* fname_casew(): Wide version of fname_case(). Set the case of the file name,
|
||||
* if it already exists. When "len" is > 0, also expand short to long
|
||||
* filenames.
|
||||
* Return FAIL if wide functions are not available, OK otherwise.
|
||||
* NOTE: much of this is identical to fname_case(), keep in sync!
|
||||
*/
|
||||
static int
|
||||
fname_casew(
|
||||
WCHAR *name,
|
||||
int len)
|
||||
{
|
||||
WCHAR szTrueName[_MAX_PATH + 2];
|
||||
WCHAR szTrueNameTemp[_MAX_PATH + 2];
|
||||
WCHAR *ptrue, *ptruePrev;
|
||||
WCHAR *porig, *porigPrev;
|
||||
int flen;
|
||||
WIN32_FIND_DATAW fb;
|
||||
HANDLE hFind;
|
||||
int c;
|
||||
int slen;
|
||||
|
||||
flen = (int)wcslen(name);
|
||||
if (flen > _MAX_PATH)
|
||||
return OK;
|
||||
|
||||
/* slash_adjust(name) not needed, already adjusted by fname_case(). */
|
||||
|
||||
/* Build the new name in szTrueName[] one component at a time. */
|
||||
porig = name;
|
||||
ptrue = szTrueName;
|
||||
|
||||
if (iswalpha(porig[0]) && porig[1] == L':')
|
||||
{
|
||||
/* copy leading drive letter */
|
||||
*ptrue++ = *porig++;
|
||||
*ptrue++ = *porig++;
|
||||
*ptrue = NUL; /* in case nothing follows */
|
||||
}
|
||||
|
||||
while (*porig != NUL)
|
||||
{
|
||||
/* copy \ characters */
|
||||
while (*porig == psepc)
|
||||
*ptrue++ = *porig++;
|
||||
|
||||
ptruePrev = ptrue;
|
||||
porigPrev = porig;
|
||||
while (*porig != NUL && *porig != psepc)
|
||||
{
|
||||
*ptrue++ = *porig++;
|
||||
}
|
||||
*ptrue = NUL;
|
||||
|
||||
/* To avoid a slow failure append "\*" when searching a directory,
|
||||
* server or network share. */
|
||||
wcscpy(szTrueNameTemp, szTrueName);
|
||||
slen = (int)wcslen(szTrueNameTemp);
|
||||
if (*porig == psepc && slen + 2 < _MAX_PATH)
|
||||
wcscpy(szTrueNameTemp + slen, L"\\*");
|
||||
|
||||
/* Skip "", "." and "..". */
|
||||
if (ptrue > ptruePrev
|
||||
&& (ptruePrev[0] != L'.'
|
||||
|| (ptruePrev[1] != NUL
|
||||
&& (ptruePrev[1] != L'.' || ptruePrev[2] != NUL)))
|
||||
&& (hFind = FindFirstFileW(szTrueNameTemp, &fb))
|
||||
!= INVALID_HANDLE_VALUE)
|
||||
{
|
||||
c = *porig;
|
||||
*porig = NUL;
|
||||
|
||||
/* Only use the match when it's the same name (ignoring case) or
|
||||
* expansion is allowed and there is a match with the short name
|
||||
* and there is enough room. */
|
||||
if (_wcsicoll(porigPrev, fb.cFileName) == 0
|
||||
|| (len > 0
|
||||
&& (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0
|
||||
&& (int)(ptruePrev - szTrueName)
|
||||
+ (int)wcslen(fb.cFileName) < len)))
|
||||
{
|
||||
wcscpy(ptruePrev, fb.cFileName);
|
||||
|
||||
/* Look for exact match and prefer it if found. Must be a
|
||||
* long name, otherwise there would be only one match. */
|
||||
while (FindNextFileW(hFind, &fb))
|
||||
{
|
||||
if (*fb.cAlternateFileName != NUL
|
||||
&& (wcscoll(porigPrev, fb.cFileName) == 0
|
||||
|| (len > 0
|
||||
&& (_wcsicoll(porigPrev,
|
||||
fb.cAlternateFileName) == 0
|
||||
&& (int)(ptruePrev - szTrueName)
|
||||
+ (int)wcslen(fb.cFileName) < len))))
|
||||
{
|
||||
wcscpy(ptruePrev, fb.cFileName);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
FindClose(hFind);
|
||||
*porig = c;
|
||||
ptrue = ptruePrev + wcslen(ptruePrev);
|
||||
}
|
||||
else if (hFind == INVALID_HANDLE_VALUE
|
||||
&& GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
wcscpy(name, szTrueName);
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* fname_case(): Set the case of the file name, if it already exists.
|
||||
* When "len" is > 0, also expand short to long filenames.
|
||||
* NOTE: much of this is identical to fname_casew(), keep in sync!
|
||||
*/
|
||||
void
|
||||
fname_case(
|
||||
@@ -2520,11 +2626,44 @@ fname_case(
|
||||
int slen;
|
||||
|
||||
flen = (int)STRLEN(name);
|
||||
if (flen == 0 || flen > _MAX_PATH)
|
||||
if (flen == 0)
|
||||
return;
|
||||
|
||||
slash_adjust(name);
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
||||
{
|
||||
WCHAR *p = enc_to_utf16(name, NULL);
|
||||
|
||||
if (p != NULL)
|
||||
{
|
||||
char_u *q;
|
||||
WCHAR buf[_MAX_PATH + 2];
|
||||
|
||||
wcscpy(buf, p);
|
||||
vim_free(p);
|
||||
|
||||
if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)
|
||||
{
|
||||
q = utf16_to_enc(buf, NULL);
|
||||
if (q != NULL)
|
||||
{
|
||||
vim_strncpy(name, q, (len > 0) ? len - 1 : flen);
|
||||
vim_free(q);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Retry with non-wide function (for Windows 98). */
|
||||
}
|
||||
#endif
|
||||
|
||||
/* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
|
||||
* So we should check this after calling wide function. */
|
||||
if (flen > _MAX_PATH)
|
||||
return;
|
||||
|
||||
/* Build the new name in szTrueName[] one component at a time. */
|
||||
porig = name;
|
||||
ptrue = szTrueName;
|
||||
@@ -3107,6 +3246,9 @@ mch_nodetype(char_u *name)
|
||||
{
|
||||
HANDLE hFile;
|
||||
int type;
|
||||
#ifdef FEAT_MBYTE
|
||||
WCHAR *wn = NULL;
|
||||
#endif
|
||||
|
||||
/* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
|
||||
* read from it later will cause Vim to hang. Thus return NODE_WRITABLE
|
||||
@@ -3114,14 +3256,41 @@ mch_nodetype(char_u *name)
|
||||
if (STRNCMP(name, "\\\\.\\", 4) == 0)
|
||||
return NODE_WRITABLE;
|
||||
|
||||
hFile = CreateFile(name, /* file name */
|
||||
GENERIC_WRITE, /* access mode */
|
||||
0, /* share mode */
|
||||
NULL, /* security descriptor */
|
||||
OPEN_EXISTING, /* creation disposition */
|
||||
0, /* file attributes */
|
||||
NULL); /* handle to template file */
|
||||
#ifdef FEAT_MBYTE
|
||||
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
||||
{
|
||||
wn = enc_to_utf16(name, NULL);
|
||||
if (wn != NULL)
|
||||
{
|
||||
hFile = CreateFileW(wn, /* file name */
|
||||
GENERIC_WRITE, /* access mode */
|
||||
0, /* share mode */
|
||||
NULL, /* security descriptor */
|
||||
OPEN_EXISTING, /* creation disposition */
|
||||
0, /* file attributes */
|
||||
NULL); /* handle to template file */
|
||||
if (hFile == INVALID_HANDLE_VALUE
|
||||
&& GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
||||
{
|
||||
/* Retry with non-wide function (for Windows 98). */
|
||||
vim_free(wn);
|
||||
wn = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (wn == NULL)
|
||||
#endif
|
||||
hFile = CreateFile(name, /* file name */
|
||||
GENERIC_WRITE, /* access mode */
|
||||
0, /* share mode */
|
||||
NULL, /* security descriptor */
|
||||
OPEN_EXISTING, /* creation disposition */
|
||||
0, /* file attributes */
|
||||
NULL); /* handle to template file */
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
vim_free(wn);
|
||||
#endif
|
||||
if (hFile == INVALID_HANDLE_VALUE)
|
||||
return NODE_NORMAL;
|
||||
|
||||
|
||||
@@ -130,6 +130,19 @@
|
||||
# define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Reparse Point
|
||||
*/
|
||||
#ifndef FILE_ATTRIBUTE_REPARSE_POINT
|
||||
# define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
||||
#endif
|
||||
#ifndef IO_REPARSE_TAG_MOUNT_POINT
|
||||
# define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
|
||||
#endif
|
||||
#ifndef IO_REPARSE_TAG_SYMLINK
|
||||
# define IO_REPARSE_TAG_SYMLINK 0xA000000C
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
||||
/* Support for __try / __except. All versions of MSVC and Borland C are
|
||||
* expected to have this. Any other compilers that support it? */
|
||||
|
||||
+21
-11
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim_7.4_ru\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-07-08 00:47+0400\n"
|
||||
"PO-Revision-Date: 2013-07-08 00:47+0400\n"
|
||||
"POT-Creation-Date: 2013-08-31 16:42+0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 21:11+0400\n"
|
||||
"Last-Translator: Sergey Alyoshin <alyoshin.s@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: Russian\n"
|
||||
@@ -568,8 +568,9 @@ msgstr "E725:
|
||||
msgid "E808: Number or Float required"
|
||||
msgstr "E808: Òðåáóåòñÿ öåëîå ÷èñëî èëè ñ ïëàâàþùåé òî÷êîé"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "add() argument"
|
||||
msgstr "ïàðàìåòð add()"
|
||||
msgstr "параметра add()"
|
||||
|
||||
msgid "E699: Too many arguments"
|
||||
msgstr "E699: Ñëèøêîì ìíîãî ïàðàìåòðîâ"
|
||||
@@ -589,14 +590,17 @@ msgstr "&Ok"
|
||||
msgid "E737: Key already exists: %s"
|
||||
msgstr "E737: Êëþ÷ óæå ñóùåñòâóåò: %s"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "extend() argument"
|
||||
msgstr "ïàðàìåòð extend()"
|
||||
msgstr "параметра extend()"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "map() argument"
|
||||
msgstr "ïàðàìåòð map()"
|
||||
msgstr "параметра map()"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "filter() argument"
|
||||
msgstr "ïàðàìåòð filter()"
|
||||
msgstr "параметра filter()"
|
||||
|
||||
#, c-format
|
||||
msgid "+-%s%3ld lines: "
|
||||
@@ -616,8 +620,9 @@ msgstr ""
|
||||
msgid "called inputrestore() more often than inputsave()"
|
||||
msgstr "Ôóíêöèÿ inputrestore() âûçûâàåòñÿ ÷àùå, ÷åì ôóíêöèÿ inputsave()"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "insert() argument"
|
||||
msgstr "ïàðàìåòð insert()"
|
||||
msgstr "параметра insert()"
|
||||
|
||||
msgid "E786: Range not allowed"
|
||||
msgstr "E786: Äèàïàçîí íå äîïóñêàåòñÿ"
|
||||
@@ -644,20 +649,23 @@ msgstr "E241:
|
||||
msgid "E277: Unable to read a server reply"
|
||||
msgstr "E277: Ñåðâåð íå îòâå÷àåò"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "remove() argument"
|
||||
msgstr "ïàðàìåòð remove()"
|
||||
msgstr "параметра remove()"
|
||||
|
||||
msgid "E655: Too many symbolic links (cycle?)"
|
||||
msgstr "E655: Ñëèøêîì ìíîãî ñèìâîëè÷åñêèõ ññûëîê (öèêë?)"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "reverse() argument"
|
||||
msgstr "ïàðàìåòð reverse()"
|
||||
msgstr "параметра reverse()"
|
||||
|
||||
msgid "E258: Unable to send to client"
|
||||
msgstr "E258: Íå ìîãó îòâåòèòü êëèåíòó"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "sort() argument"
|
||||
msgstr "ïàðàìåòð sort()"
|
||||
msgstr "параметра sort()"
|
||||
|
||||
msgid "E702: Sort compare function failed"
|
||||
msgstr "E702: Íåóäà÷íîå çàâåðøåíèå ôóíêöèè ñðàâíåíèÿ ïðè ñîðòèðîâêå"
|
||||
@@ -707,13 +715,15 @@ msgstr ""
|
||||
msgid "E705: Variable name conflicts with existing function: %s"
|
||||
msgstr "E705: Èìÿ ïåðåìåííîé êîíôëèêòóåò ñ ñóùåñòâóþùåé ôóíêöèåé: %s"
|
||||
|
||||
#. Используется с %s = "параметера p"
|
||||
#, c-format
|
||||
msgid "E741: Value is locked: %s"
|
||||
msgstr "E741: Çíà÷åíèå çàáëîêèðîâàíî: %s"
|
||||
msgstr "E741: Значение %s заблокировано"
|
||||
|
||||
msgid "Unknown"
|
||||
msgstr "Íåèçâåñòíî"
|
||||
|
||||
#. Используется с %s = "параметера p()"
|
||||
#, c-format
|
||||
msgid "E742: Cannot change value of %s"
|
||||
msgstr "E742: Íåâîçìîæíî èçìåíèòü çíà÷åíèå %s"
|
||||
|
||||
+21
-11
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim_7.4_ru\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-07-08 00:47+0400\n"
|
||||
"PO-Revision-Date: 2013-07-08 00:47+0400\n"
|
||||
"POT-Creation-Date: 2013-08-31 16:42+0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 21:11+0400\n"
|
||||
"Last-Translator: Sergey Alyoshin <alyoshin.s@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: Russian\n"
|
||||
@@ -568,8 +568,9 @@ msgstr "E725: Вызов функции dict без словаря: %s"
|
||||
msgid "E808: Number or Float required"
|
||||
msgstr "E808: Требуется целое число или с плавающей точкой"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "add() argument"
|
||||
msgstr "параметр add()"
|
||||
msgstr "параметра add()"
|
||||
|
||||
msgid "E699: Too many arguments"
|
||||
msgstr "E699: Слишком много параметров"
|
||||
@@ -589,14 +590,17 @@ msgstr "&Ok"
|
||||
msgid "E737: Key already exists: %s"
|
||||
msgstr "E737: Ключ уже существует: %s"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "extend() argument"
|
||||
msgstr "параметр extend()"
|
||||
msgstr "параметра extend()"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "map() argument"
|
||||
msgstr "параметр map()"
|
||||
msgstr "параметра map()"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "filter() argument"
|
||||
msgstr "параметр filter()"
|
||||
msgstr "параметра filter()"
|
||||
|
||||
#, c-format
|
||||
msgid "+-%s%3ld lines: "
|
||||
@@ -616,8 +620,9 @@ msgstr ""
|
||||
msgid "called inputrestore() more often than inputsave()"
|
||||
msgstr "Функция inputrestore() вызывается чаще, чем функция inputsave()"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "insert() argument"
|
||||
msgstr "параметр insert()"
|
||||
msgstr "параметра insert()"
|
||||
|
||||
msgid "E786: Range not allowed"
|
||||
msgstr "E786: Диапазон не допускается"
|
||||
@@ -644,20 +649,23 @@ msgstr "E241: Не могу отправить сообщение для %s"
|
||||
msgid "E277: Unable to read a server reply"
|
||||
msgstr "E277: Сервер не отвечает"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "remove() argument"
|
||||
msgstr "параметр remove()"
|
||||
msgstr "параметра remove()"
|
||||
|
||||
msgid "E655: Too many symbolic links (cycle?)"
|
||||
msgstr "E655: Слишком много символических ссылок (цикл?)"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "reverse() argument"
|
||||
msgstr "параметр reverse()"
|
||||
msgstr "параметра reverse()"
|
||||
|
||||
msgid "E258: Unable to send to client"
|
||||
msgstr "E258: Не могу ответить клиенту"
|
||||
|
||||
#. Используется для получения "значение параметра p()" в E741 и E742
|
||||
msgid "sort() argument"
|
||||
msgstr "параметр sort()"
|
||||
msgstr "параметра sort()"
|
||||
|
||||
msgid "E702: Sort compare function failed"
|
||||
msgstr "E702: Неудачное завершение функции сравнения при сортировке"
|
||||
@@ -707,13 +715,15 @@ msgstr ""
|
||||
msgid "E705: Variable name conflicts with existing function: %s"
|
||||
msgstr "E705: Имя переменной конфликтует с существующей функцией: %s"
|
||||
|
||||
#. Используется с %s = "параметера p"
|
||||
#, c-format
|
||||
msgid "E741: Value is locked: %s"
|
||||
msgstr "E741: Значение заблокировано: %s"
|
||||
msgstr "E741: Значение %s заблокировано"
|
||||
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестно"
|
||||
|
||||
#. Используется с %s = "параметера p()"
|
||||
#, c-format
|
||||
msgid "E742: Cannot change value of %s"
|
||||
msgstr "E742: Невозможно изменить значение %s"
|
||||
|
||||
+371
-187
@@ -12,9 +12,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim 7.3\n"
|
||||
"Project-Id-Version: vim 7.4\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-01-17 10:06+0200\n"
|
||||
"POT-Creation-Date: 2013-09-29 09:05+0300\n"
|
||||
"PO-Revision-Date: 2010-06-18 21:53+0300\n"
|
||||
"Last-Translator: Àíàòîë³é Ñàõí³ê <sakhnik@gmail.com>\n"
|
||||
"Language-Team: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n"
|
||||
@@ -141,6 +141,9 @@ msgstr "[
|
||||
msgid "[Read errors]"
|
||||
msgstr "[Ïîìèëêè ÷èòàííÿ]"
|
||||
|
||||
msgid "[RO]"
|
||||
msgstr "[RO]"
|
||||
|
||||
msgid "[readonly]"
|
||||
msgstr "[ëèøå ÷èòàòè]"
|
||||
|
||||
@@ -428,6 +431,10 @@ msgstr "E130:
|
||||
msgid "E461: Illegal variable name: %s"
|
||||
msgstr "E461: Íåïðèïóñòèìà íàçâà çì³ííî¿: %s"
|
||||
|
||||
# msgstr "E373: "
|
||||
msgid "E806: using Float as a String"
|
||||
msgstr "E806: Float âæèòî ÿê String"
|
||||
|
||||
msgid "E687: Less targets than List items"
|
||||
msgstr "E687: Ö³ëåé ìåíøå, í³æ åëåìåíò³â ñïèñêó"
|
||||
|
||||
@@ -594,15 +601,15 @@ msgstr "E785: complete()
|
||||
msgid "&Ok"
|
||||
msgstr "&O:Ãàðàçä"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "extend() argument"
|
||||
msgstr "àðãóìåíò extend()"
|
||||
|
||||
# msgstr "E226: "
|
||||
#, c-format
|
||||
msgid "E737: Key already exists: %s"
|
||||
msgstr "E737: Êëþ÷ âæå ³ñíóº: %s"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "extend() argument"
|
||||
msgstr "àðãóìåíò extend()"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "map() argument"
|
||||
msgstr "àðãóìåíò map()"
|
||||
@@ -710,10 +717,6 @@ msgstr "E730: List
|
||||
msgid "E731: using Dictionary as a String"
|
||||
msgstr "E731: Dictionary âæèòî ÿê String"
|
||||
|
||||
# msgstr "E373: "
|
||||
msgid "E806: using Float as a String"
|
||||
msgstr "E806: Float âæèòî ÿê String"
|
||||
|
||||
#, c-format
|
||||
msgid "E706: Variable type mismatch for: %s"
|
||||
msgstr "E706: Íåïðàâèëüíèé òèï çì³ííî¿: %s"
|
||||
@@ -752,6 +755,9 @@ msgstr "E123:
|
||||
msgid "E124: Missing '(': %s"
|
||||
msgstr "E124: Áðàêóº '(': %s"
|
||||
|
||||
msgid "E862: Cannot use g: here"
|
||||
msgstr "E862: Òóò íå ìîæíà âèêîðèñòàòè g:"
|
||||
|
||||
#, c-format
|
||||
msgid "E125: Illegal argument: %s"
|
||||
msgstr "E125: Íåäîçâîëåíèé àðãóìåíò: %s"
|
||||
@@ -1152,6 +1158,10 @@ msgstr "E148:
|
||||
msgid "Pattern found in every line: %s"
|
||||
msgstr "Çðàçîê çíàéäåíî ó êîæíîìó ðÿäêó: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Pattern not found: %s"
|
||||
msgstr "Çðàçîê íå çíàéäåíî: %s"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Last Substitute String:\n"
|
||||
@@ -1332,7 +1342,8 @@ msgid "E183: User defined commands must start with an uppercase letter"
|
||||
msgstr "E183: Êîìàíäè êîðèñòóâà÷à ïîâèíí³ ïî÷èíàòèñÿ ç âåëèêî¿ ë³òåðè"
|
||||
|
||||
msgid "E841: Reserved name, cannot be used for user defined command"
|
||||
msgstr "E841: Çàðåçåðâîâàíà íàçâà, íå ìîæíà âèêîðèñòàòè äëÿ êîðèñòóâàöüêî¿ êîìàíäè"
|
||||
msgstr ""
|
||||
"E841: Çàðåçåðâîâàíà íàçâà, íå ìîæíà âèêîðèñòàòè äëÿ êîðèñòóâàöüêî¿ êîìàíäè"
|
||||
|
||||
# msgstr "E183: "
|
||||
#, c-format
|
||||
@@ -1686,9 +1697,6 @@ msgstr "[
|
||||
msgid "[character special]"
|
||||
msgstr "[ñïåö. ñèìâîëüíèé]"
|
||||
|
||||
msgid "[RO]"
|
||||
msgstr "[RO]"
|
||||
|
||||
msgid "[CR missing]"
|
||||
msgstr "[Áðàêóº CR]"
|
||||
|
||||
@@ -1940,8 +1948,7 @@ msgstr "
|
||||
|
||||
#, c-format
|
||||
msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
|
||||
msgstr ""
|
||||
"W16: Çàñòåðåæåííÿ: Ðåæèì ôàéëó «%s» çì³íèâñÿ ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
|
||||
msgstr "W16: Çàñòåðåæåííÿ: Ðåæèì ôàéëó «%s» çì³íèâñÿ ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
|
||||
|
||||
msgid "See \":help W16\" for more info."
|
||||
msgstr "Äèâ. «:help W16» äëÿ óòî÷íåííÿ."
|
||||
@@ -2308,32 +2315,28 @@ msgid "Font '%s' is not fixed-width"
|
||||
msgstr "Øðèôò '%s' íå º ìîíîøèðèííèì"
|
||||
|
||||
#, c-format
|
||||
msgid "E253: Fontset name: %s\n"
|
||||
msgstr "E253: Íàçâà íàáîðó øðèôò³â: %s\n"
|
||||
msgid "E253: Fontset name: %s"
|
||||
msgstr "E253: Íàçâà íàáîðó øðèôò³â: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Font0: %s\n"
|
||||
msgstr "Øðèôò0: %s\n"
|
||||
msgid "Font0: %s"
|
||||
msgstr "Øðèôò0: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Font1: %s\n"
|
||||
msgstr "Øðèôò1: %s\n"
|
||||
msgid "Font1: %s"
|
||||
msgstr "Øðèôò1: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Font%ld width is not twice that of font0\n"
|
||||
msgstr "Øèðèíà øðèôòó%ld ìຠáóòè óäâ³÷³ á³ëüøîþ çà øèðèíó øðèôòó0\n"
|
||||
msgid "Font%ld width is not twice that of font0"
|
||||
msgstr "Øèðèíà øðèôòó%ld íå á³ëüøà óäâ³÷³ çà øèðèíó øðèôòó0"
|
||||
|
||||
#, c-format
|
||||
msgid "Font0 width: %ld\n"
|
||||
msgstr "Øèðèíà øðèôòó0: %ld\n"
|
||||
msgid "Font0 width: %ld"
|
||||
msgstr "Øèðèíà øðèôòó0: %ld"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Font1 width: %ld\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"Øèðèíà øðèôòó1: %ld\n"
|
||||
"\n"
|
||||
msgid "Font1 width: %ld"
|
||||
msgstr "Øèðèíà øðèôòó1: %ld"
|
||||
|
||||
msgid "Invalid font specification"
|
||||
msgstr "Íåêîðåêòíà ñïåöèô³êàö³ÿ øðèôòó"
|
||||
@@ -2526,6 +2529,9 @@ msgstr "E566:
|
||||
msgid "E622: Could not fork for cscope"
|
||||
msgstr "E622: Íå âäàëîñÿ ðîçä³ëèòè ïðîöåñ äëÿ cscope"
|
||||
|
||||
msgid "cs_create_connection setpgid failed"
|
||||
msgstr "cs_create_connection: ïîìèëêà setpgid"
|
||||
|
||||
msgid "cs_create_connection exec failed"
|
||||
msgstr "cs_create_connection: ïîìèëêà ï³ä ÷àñ âèêîíàííÿ"
|
||||
|
||||
@@ -2672,6 +2678,9 @@ msgstr "
|
||||
msgid "string cannot contain newlines"
|
||||
msgstr "á³ëüøå í³æ îäèí ðÿäîê"
|
||||
|
||||
msgid "error converting Scheme values to Vim"
|
||||
msgstr "íå âäàëîñÿ ïåðåòâîðèòè çíà÷åííÿ Scheme ó Vim"
|
||||
|
||||
msgid "Vim error: ~a"
|
||||
msgstr "Ïîìèëêà Vim: ~a"
|
||||
|
||||
@@ -2693,9 +2702,6 @@ msgstr "
|
||||
msgid "E837: This Vim cannot execute :py3 after using :python"
|
||||
msgstr "E837: Python: Íå ìîæíà âèêîðèñòàòè :py ³ :py3 â îäíîìó ñåàíñ³"
|
||||
|
||||
msgid "only string keys are allowed"
|
||||
msgstr "Äîçâîëåíî ò³ëüêè òåêñòîâ³ êëþ÷³"
|
||||
|
||||
msgid ""
|
||||
"E263: Sorry, this command is disabled, the Python library could not be "
|
||||
"loaded."
|
||||
@@ -2703,28 +2709,12 @@ msgstr ""
|
||||
"E263: Âèáà÷òå, öÿ êîìàíäà âèìêíåíà, á³áë³îòåêà Python íå ìîæå áóòè "
|
||||
"çàâàíòàæåíà."
|
||||
|
||||
msgid "E860: Eval did not return a valid python 3 object"
|
||||
msgstr "E860: Eval íå ïîâåðíóâ ä³éñíèé îá’ºêò python 3"
|
||||
|
||||
msgid "E861: Failed to convert returned python 3 object to vim value"
|
||||
msgstr "E861: Íå âäàëîñÿ ïåðåòâîðèòè îá’ºêò python 3 ó çíà÷åííÿ vim"
|
||||
|
||||
#, c-format
|
||||
msgid "<buffer object (deleted) at %p>"
|
||||
msgstr "<îá'ºêò áóôåðà (çíèùåíî) çà àäðåñîþ %p>"
|
||||
|
||||
msgid "E836: This Vim cannot execute :python after using :py3"
|
||||
msgstr "E836: Python: Íå ìîæíà âèêîðèñòàòè :py ³ :py3 â îäíîìó ñåàíñ³"
|
||||
|
||||
msgid "E659: Cannot invoke Python recursively"
|
||||
msgstr "E659: Íå ìîæíà ðåêóðñèâíî âèêëèêàòè Python"
|
||||
|
||||
msgid "E858: Eval did not return a valid python object"
|
||||
msgstr "E858: Eval íå ïîâåðíóâ ä³éñíèé îá’ºêò python"
|
||||
|
||||
msgid "E859: Failed to convert returned python object to vim value"
|
||||
msgstr "E859: Íå âäàëîñÿ ïåðåòâîðèòè îá’ºêò python ó çíà÷åííÿ vim"
|
||||
|
||||
msgid "E265: $_ must be an instance of String"
|
||||
msgstr "E265: $_ ìຠáóòè åêçåìïëÿðîì String"
|
||||
|
||||
@@ -2942,8 +2932,7 @@ msgid "Garbage after option argument"
|
||||
msgstr "Ñì³òòÿ ï³ñëÿ àðãóìåíòó îïö³¿"
|
||||
|
||||
msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
|
||||
msgstr ""
|
||||
"Çàáàãàòî àðãóìåíò³â ó «+êîìàíäà», «-c êîìàíäà» àáî «--cmd êîìàíäà»"
|
||||
msgstr "Çàáàãàòî àðãóìåíò³â ó «+êîìàíäà», «-c êîìàíäà» àáî «--cmd êîìàíäà»"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "Invalid argument for"
|
||||
@@ -3483,8 +3472,7 @@ msgstr "E302:
|
||||
# msgstr "E302: "
|
||||
#, c-format
|
||||
msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
|
||||
msgstr ""
|
||||
"E303: Íå âäàëîñÿ ïðî÷èòàòè ôàéë îáì³íó äëÿ «%s», â³äíîâëåííÿ íåìîæëèâå"
|
||||
msgstr "E303: Íå âäàëîñÿ ïðî÷èòàòè ôàéë îáì³íó äëÿ «%s», â³äíîâëåííÿ íåìîæëèâå"
|
||||
|
||||
msgid "E304: ml_upd_block0(): Didn't get block 0??"
|
||||
msgstr "E304: ml_upd_block0(): Íåìຠáëîêó 0??"
|
||||
@@ -4092,13 +4080,6 @@ msgstr " (
|
||||
msgid "Beep!"
|
||||
msgstr "Äçåíü!"
|
||||
|
||||
msgid "Vim: preserving files...\n"
|
||||
msgstr "Vim: Çàãîòîâëþþòüñÿ ôàéëè...\n"
|
||||
|
||||
#. close all memfiles, without deleting
|
||||
msgid "Vim: Finished.\n"
|
||||
msgstr "Vim: Çàâåðøåíî.\n"
|
||||
|
||||
msgid "ERROR: "
|
||||
msgstr "ÏÎÌÈËÊÀ: "
|
||||
|
||||
@@ -4628,17 +4609,6 @@ msgstr "E244:
|
||||
msgid "E245: Illegal char '%c' in font name \"%s\""
|
||||
msgstr "E245: Ïîìèëêîâèé ñèìâîë %c â íàçâ³ øðèôòó «%s»"
|
||||
|
||||
msgid "Vim: Double signal, exiting\n"
|
||||
msgstr "Vim: Äâ³÷³ îòðèìàíî ñèãíàë, âèõ³ä\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Vim: Caught deadly signal %s\n"
|
||||
msgstr "Vim: Îòðèìàíî ôàòàëüíèé ñèãíàë (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Vim: Caught deadly signal\n"
|
||||
msgstr "Vim: Îòðèìàíî ôàòàëüíèé ñèãíàë\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Opening the X display took %ld msec"
|
||||
msgstr "Íà â³äêðèòòÿ äèñïëåþ X ï³øëî %ld ì³ë³ñåêóíä"
|
||||
@@ -4861,6 +4831,38 @@ msgstr "E777:
|
||||
msgid "E369: invalid item in %s%%[]"
|
||||
msgstr "E369: Íåêîðåêòíèé åëåìåíò ó %s%%[]"
|
||||
|
||||
#, c-format
|
||||
msgid "E769: Missing ] after %s["
|
||||
msgstr "E769: Áðàêóº ] ï³ñëÿ %s["
|
||||
|
||||
#, c-format
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Íåìຠïàðè %s%%("
|
||||
|
||||
#, c-format
|
||||
msgid "E54: Unmatched %s("
|
||||
msgstr "E54: Íåìຠïàðè %s("
|
||||
|
||||
#, c-format
|
||||
msgid "E55: Unmatched %s)"
|
||||
msgstr "E55: Íåìຠïàðè %s)"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E66: \\z( not allowed here"
|
||||
msgstr "E66: \\z( òóò íå äîçâîëåíî"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E67: \\z1 et al. not allowed here"
|
||||
msgstr "E67: \\z1 òà ³í. òóò íå äîçâîëåíî"
|
||||
|
||||
#, c-format
|
||||
msgid "E69: Missing ] after %s%%["
|
||||
msgstr "E69: Ïðîïóùåíî ] ï³ñëÿ %s%%["
|
||||
|
||||
#, c-format
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: %s%%[] ïîðîæí³é"
|
||||
|
||||
# msgstr "E382: "
|
||||
msgid "E339: Pattern too long"
|
||||
msgstr "E339: Çðàçîê çàíàäòî äîâãèé"
|
||||
@@ -4875,18 +4877,6 @@ msgstr "E51:
|
||||
msgid "E52: Unmatched \\z("
|
||||
msgstr "E52: Íåìຠïàðè \\z("
|
||||
|
||||
#, c-format
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Íåìຠïàðè %s%%("
|
||||
|
||||
#, c-format
|
||||
msgid "E54: Unmatched %s("
|
||||
msgstr "E54: Íåìຠïàðè %s("
|
||||
|
||||
#, c-format
|
||||
msgid "E55: Unmatched %s)"
|
||||
msgstr "E55: Íåìຠïàðè %s)"
|
||||
|
||||
#, c-format
|
||||
msgid "E59: invalid character after %s@"
|
||||
msgstr "E59: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ %s@"
|
||||
@@ -4916,25 +4906,9 @@ msgstr "E64: ϳ
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Íåêîðåêòíå çâîðîòíº ïîñèëàííÿ"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E66: \\z( not allowed here"
|
||||
msgstr "E66: \\z( òóò íå äîçâîëåíî"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E67: \\z1 et al. not allowed here"
|
||||
msgstr "E67: \\z1 òà ³í. òóò íå äîçâîëåíî"
|
||||
|
||||
msgid "E68: Invalid character after \\z"
|
||||
msgstr "E68: Íåïðàâèëüíèé ñèìâîë ï³ñëÿ \\z"
|
||||
|
||||
#, c-format
|
||||
msgid "E69: Missing ] after %s%%["
|
||||
msgstr "E69: Ïðîïóùåíî ] ï³ñëÿ %s%%["
|
||||
|
||||
#, c-format
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: %s%%[] ïîðîæí³é"
|
||||
|
||||
#, c-format
|
||||
msgid "E678: Invalid character after %s%%[dxouU]"
|
||||
msgstr "E678: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ %s%%[dxouU]"
|
||||
@@ -4943,10 +4917,6 @@ msgstr "E678:
|
||||
msgid "E71: Invalid character after %s%%"
|
||||
msgstr "E71: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ %s%%"
|
||||
|
||||
#, c-format
|
||||
msgid "E769: Missing ] after %s["
|
||||
msgstr "E769: Áðàêóº ] ï³ñëÿ %s["
|
||||
|
||||
# msgstr "E64: "
|
||||
#, c-format
|
||||
msgid "E554: Syntax error in %s{...}"
|
||||
@@ -4955,6 +4925,80 @@ msgstr "E554:
|
||||
msgid "External submatches:\n"
|
||||
msgstr "Çîâí³øí³ ï³ä-çá³ãè:\n"
|
||||
|
||||
msgid ""
|
||||
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
|
||||
"used "
|
||||
msgstr ""
|
||||
"E864: ï³ñëÿ \\%#= ìîæå áóòè ò³ëüêè 0, 1, or 2. Áóäå âèêîðèñòàíî àâòîìàòè÷íèé ìåõàí³çì "
|
||||
|
||||
#, c-format
|
||||
msgid "E866: (NFA regexp) Misplaced %c"
|
||||
msgstr "E866: (NFA regexp) Íå íà ì³ñö³ %c"
|
||||
|
||||
msgid "E865: (NFA) Regexp end encountered prematurely"
|
||||
msgstr "E865: (NFA) Çàðàíî òðàïèâñÿ ê³íåöü ðåãóëÿðíîãî âèðàçó"
|
||||
|
||||
#, c-format
|
||||
msgid "E867: (NFA) Unknown operator '\\z%c'"
|
||||
msgstr "E867: (NFA) Íåâ³äîìèé îïåðàòîð '\\z%c'"
|
||||
|
||||
#, c-format
|
||||
msgid "E867: (NFA) Unknown operator '\\%%%c'"
|
||||
msgstr "E867: (NFA) Íåâ³äîìèé îïåðàòîð '\\%%%c'"
|
||||
|
||||
#. should never happen
|
||||
msgid "E868: Error building NFA with equivalence class!"
|
||||
msgstr "E868: Íå âäàëîñÿ ïîáóäóâàòè NFA ç êëàñîì åêâ³âàëåíòíîñò³!"
|
||||
|
||||
#, c-format
|
||||
msgid "E869: (NFA) Unknown operator '\\@%c'"
|
||||
msgstr "E869: (NFA) Íåâ³äîìèé îïåðàòîð '\\@%c'"
|
||||
|
||||
msgid "E870: (NFA regexp) Error reading repetition limits"
|
||||
msgstr "E870: (NFA regexp) Íå âäàëîñÿ ïðî÷èòàòè ìåæ³ ïîâòîðåííÿ"
|
||||
|
||||
#. Can't have a multi follow a multi.
|
||||
msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
|
||||
msgstr "E871: (NFA regexp) Ìóëüòè íå ìîæå áóòè çà ìóëüòè!"
|
||||
|
||||
#. Too many `('
|
||||
msgid "E872: (NFA regexp) Too many '('"
|
||||
msgstr "E872: (NFA regexp) Çàáàãàòî '('"
|
||||
|
||||
msgid "E879: (NFA regexp) Too many \\z("
|
||||
msgstr "E879: (NFA regexp) Çàáàãàòî \\z("
|
||||
|
||||
msgid "E873: (NFA regexp) proper termination error"
|
||||
msgstr "E873: (NFA regexp) ïîìèëêà íàëåæíîãî ïðèïèíåííÿ"
|
||||
|
||||
msgid "E874: (NFA) Could not pop the stack !"
|
||||
msgstr "E874: (NFA) Ñòåê ïîðîæí³é!"
|
||||
|
||||
msgid ""
|
||||
"E875: (NFA regexp) (While converting from postfix to NFA), too many states "
|
||||
"left on stack"
|
||||
msgstr ""
|
||||
"E875: (NFA regexp) (ϳä ÷àñ ïåðåòâîðåííÿ ç ïîñòô³êñ ó NFA) çàëèøèëîñÿ "
|
||||
"çàáàãàòî ñòàí³â ó ñòåêó"
|
||||
|
||||
msgid "E876: (NFA regexp) Not enough space to store the whole NFA "
|
||||
msgstr "E876: (NFA regexp) Íåäîñòàòíüî ïàì’ÿò³, ùîá çáåðåãòè âåñü NFA "
|
||||
|
||||
msgid "E878: (NFA) Could not allocate memory for branch traversal!"
|
||||
msgstr "E878: (NFA) Íå âäàëîñÿ îòðèìàòè ïàì’ÿòü äëÿ îáõîäó ã³ëîê!"
|
||||
|
||||
msgid ""
|
||||
"Could not open temporary log file for writing, displaying on stderr ... "
|
||||
msgstr ""
|
||||
"Íå âäàëîñÿ â³äêðèòè òèì÷àñîâèé ôàéë æóðíàëó äëÿ çàïèñó, ïîêàçóºòüñÿ íà stderr ... "
|
||||
|
||||
#, c-format
|
||||
msgid "(NFA) COULD NOT OPEN %s !"
|
||||
msgstr "(NFA) ÍÅ ÂÄÀËÎÑß Â²ÄÊÐÈÒÈ %s!"
|
||||
|
||||
msgid "Could not open temporary log file for writing "
|
||||
msgstr "Íå âäàëîñÿ â³äêðèòè òèì÷àñîâèé ôàéë æóðíàëó äëÿ çàïèñó "
|
||||
|
||||
msgid " VREPLACE"
|
||||
msgstr " ²ÐÒ ÇÀ̲ÍÀ"
|
||||
|
||||
@@ -5110,7 +5154,8 @@ msgstr "E756:
|
||||
|
||||
#, c-format
|
||||
msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
|
||||
msgstr "Çàñòåðåæåííÿ: Íå âäàëîñÿ çíàéòè ñïèñîê ñë³â «%s_%s.spl» ÷è «%s_ascii.spl»"
|
||||
msgstr ""
|
||||
"Çàñòåðåæåííÿ: Íå âäàëîñÿ çíàéòè ñïèñîê ñë³â «%s_%s.spl» ÷è «%s_ascii.spl»"
|
||||
|
||||
#, c-format
|
||||
msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
|
||||
@@ -5396,12 +5441,12 @@ msgid "E765: 'spellfile' does not have %ld entries"
|
||||
msgstr "E765: 'spellfile' íå ì³ñòèòü %ld åëåìåíò³â"
|
||||
|
||||
#, c-format
|
||||
msgid "Word removed from %s"
|
||||
msgstr "Ñëîâî çíèùåíî ç %s"
|
||||
msgid "Word '%.*s' removed from %s"
|
||||
msgstr "Ñëîâî '%.*s' çíèùåíî ç %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Word added to %s"
|
||||
msgstr "Ñëîâî äîäàíî äî %s"
|
||||
msgid "Word '%.*s' added to %s"
|
||||
msgstr "Ñëîâî '%.*s' äîäàíî äî %s"
|
||||
|
||||
msgid "E763: Word characters differ between spell files"
|
||||
msgstr "E763: Ñèìâîëè ó ñëîâ³ â³äð³çíÿþòüñÿ ó ôàéëàõ îðôîãðàô³¿"
|
||||
@@ -5457,6 +5502,10 @@ msgstr "E782:
|
||||
msgid "E783: duplicate char in MAP entry"
|
||||
msgstr "E783: Ïîâòîðåíî ñèìâîë ó åëåìåíò³ MAP"
|
||||
|
||||
# msgstr "E391: "
|
||||
msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Äëÿ áóôåðà íå âèçíà÷åíî åëåìåíò³â ñèíòàêñèñó"
|
||||
|
||||
#, c-format
|
||||
msgid "E390: Illegal argument: %s"
|
||||
msgstr "E390: Íåïðàâèëüíèé àðãóìåíò: %s"
|
||||
@@ -5465,10 +5514,6 @@ msgstr "E390:
|
||||
msgid "E391: No such syntax cluster: %s"
|
||||
msgstr "E391: Íåìຠòàêîãî ñèíòàêñè÷íîãî êëàñòåðà: %s"
|
||||
|
||||
# msgstr "E391: "
|
||||
msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Äëÿ áóôåðà íå âèçíà÷åíî åëåìåíò³â ñèíòàêñèñó"
|
||||
|
||||
msgid "syncing on C-style comments"
|
||||
msgstr "ñèíõðîí³çóºòüñÿ ïî êîìåíòàðÿõ ñòèëþ Ñ"
|
||||
|
||||
@@ -5603,6 +5648,11 @@ msgstr "E409:
|
||||
msgid "E410: Invalid :syntax subcommand: %s"
|
||||
msgstr "E410: Íåïðàâèëüíà ï³äêîìàíäà :syntax: %s"
|
||||
|
||||
msgid ""
|
||||
" TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN"
|
||||
msgstr ""
|
||||
" ÂÑÜÎÃÎ Ê-ÒÜ ÑϲÂÏ. ÍÀÉÏβË. ÑÅÐÅÄÍ. ÍÀÇÂÀ ØÀÁËÎÍ"
|
||||
|
||||
msgid "E679: recursive loop loading syncolor.vim"
|
||||
msgstr "E679: Ðåêóðñèâíèé öèêë ÷èòàííÿ syncolor.vim"
|
||||
|
||||
@@ -6734,112 +6784,246 @@ msgstr "
|
||||
msgid "Need encryption key for \"%s\""
|
||||
msgstr "Äëÿ «%s» ïîòð³áåí êëþ÷: "
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "íå âäàëîñÿ çíèùèòè àòðèáóòè OutputObject"
|
||||
|
||||
msgid "softspace must be an integer"
|
||||
msgstr "softspace ìຠáóòè ö³ëèì"
|
||||
|
||||
# msgstr "E180: "
|
||||
msgid "invalid attribute"
|
||||
msgstr "íåïðàâèëüíèé àòðèáóò"
|
||||
|
||||
msgid "writelines() requires list of strings"
|
||||
msgstr "äëÿ writelines() ïîòð³áåí ñïèñîê ðÿäê³â"
|
||||
|
||||
msgid "E264: Python: Error initialising I/O objects"
|
||||
msgstr "E264: Python: Ïîìèëêà ³í³ö³àë³çàö³¿ îá'ºêò³â ââîäó/âèâîäó"
|
||||
|
||||
msgid "no such buffer"
|
||||
msgstr "òàêîãî áóôåðà íåìàº"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "empty keys are not allowed"
|
||||
msgstr "ïîðîæí³ êëþ÷³ íå äîçâîëåí³"
|
||||
|
||||
msgid "failed to add key to dictionary"
|
||||
msgstr "íå âäàëîñÿ äîäàòè êëþ÷ äî ñëîâíèêà"
|
||||
|
||||
msgid "Cannot delete DictionaryObject attributes"
|
||||
msgstr "íå âäàëîñÿ çíèùèòè àòðèáóòè DictionaryObject"
|
||||
|
||||
msgid "Cannot modify fixed dictionary"
|
||||
msgstr "Íå ìîæíà çì³íèòè ô³êñîâàíèé ñëîâíèê"
|
||||
|
||||
msgid "Only boolean objects are allowed"
|
||||
msgstr "Äîçâîëåíî ò³ëüêè ëîã³÷í³ îá’ºêòè"
|
||||
|
||||
msgid "Cannot set this attribute"
|
||||
msgstr "Íå ìîæíà âñòàíîâèòè öåé àòðèáóò"
|
||||
|
||||
msgid "no such key in dictionary"
|
||||
msgstr "íåìຠòàêîãî êëþ÷à â ñëîâíèêó"
|
||||
|
||||
msgid "dict is locked"
|
||||
msgid "dictionary is locked"
|
||||
msgstr "ñëîâíèê çàáëîêîâàíî"
|
||||
|
||||
msgid "internal error: failed to get vim list item"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íå âäàëîñÿ îòðèìàòè åëåìåíò ñïèñêó vim"
|
||||
|
||||
msgid "list is locked"
|
||||
msgstr "ñïèñîê çàáëîêîâàíî"
|
||||
|
||||
msgid "Failed to add item to list"
|
||||
msgstr "Íå âäàëîñÿ äîäàòè åëåìåíò äî ñïèñêó"
|
||||
#, c-format
|
||||
msgid "failed to add key '%s' to dictionary"
|
||||
msgstr "íå âäàëîñÿ äîäàòè êëþ÷ '%s' äî ñëîâíèêà"
|
||||
|
||||
msgid "internal error: no vim list item"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íåìຠåëåìåíòà ñïèñêó vim"
|
||||
#, c-format
|
||||
msgid "index must be int or slice, not %s"
|
||||
msgstr "³íäåêñ ìຠáóòè ö³ëèé ÷è çð³ç, íå %s"
|
||||
|
||||
msgid "can only assign lists to slice"
|
||||
msgstr "ìîæíà ïðèñâîþâàòè ñïèñêè ò³ëüêè çð³çàì"
|
||||
#, c-format
|
||||
msgid "expected str() or unicode() instance, but got %s"
|
||||
msgstr "î÷³êóâàâñÿ åêçåìïëÿð str() ÷è unicode(), àëå îòðèìàíî %s"
|
||||
|
||||
#, c-format
|
||||
msgid "expected bytes() or str() instance, but got %s"
|
||||
msgstr "î÷³êóâàâñÿ åêçåìïëÿð bytes() ÷è str(), àëå îòðèìàíî %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"expected int(), long() or something supporting coercing to long(), but got %s"
|
||||
msgstr ""
|
||||
"î÷³êóâàâñÿ int(), long() ÷è ùîñü, ùî ìîæå áóòè âì³ùåíå long(), àëå îòðèìàíî %s"
|
||||
|
||||
#, c-format
|
||||
msgid "expected int() or something supporting coercing to int(), but got %s"
|
||||
msgstr "î÷³êóâàâñÿ int() ÷è ùîñü, ùî ìîæå áóòè âì³ùåíå int(), àëå îòðèìàíî %s"
|
||||
|
||||
msgid "value is too large to fit into C int type"
|
||||
msgstr "çíà÷åííÿ çàâåëèêå, ùîá âì³ñòèòèñÿ ó òèï C int"
|
||||
|
||||
msgid "value is too small to fit into C int type"
|
||||
msgstr "çíà÷åííÿ çàìàëå, ùîá âì³ñòèòèñÿ ó òèï C int"
|
||||
|
||||
msgid "number must be greater then zero"
|
||||
msgstr "÷èñëî ìຠáóòè á³ëüøå, í³æ íóëü"
|
||||
|
||||
msgid "number must be greater or equal to zero"
|
||||
msgstr "÷èñëî ìຠáóòè íå ìåíøå, í³æ íóëü"
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "íå âäàëîñÿ çíèùèòè àòðèáóòè OutputObject"
|
||||
|
||||
# msgstr "E180: "
|
||||
#, c-format
|
||||
msgid "invalid attribute: %s"
|
||||
msgstr "íåïðàâèëüíèé àòðèáóò: %s"
|
||||
|
||||
msgid "E264: Python: Error initialising I/O objects"
|
||||
msgstr "E264: Python: Ïîìèëêà ³í³ö³àë³çàö³¿ îá'ºêò³â ââîäó/âèâîäó"
|
||||
|
||||
msgid "failed to change directory"
|
||||
msgstr "íå âäàëîñÿ çì³íèòè äèðåêòîð³þ"
|
||||
|
||||
#, c-format
|
||||
msgid "expected 3-tuple as imp.find_module() result, but got %s"
|
||||
msgstr "î÷³êóâàâñÿ 3-êîðòåæ ÿê ðåçóëüòàò imp.find_module(), àëå îòðèìàíî %s"
|
||||
|
||||
#, c-format
|
||||
msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d"
|
||||
msgstr "î÷³êóâàâñÿ 3-êîðòåæ ÿê ðåçóëüòàò imp.find_module(), àëå îòðèìàíî %d"
|
||||
|
||||
msgid "internal error: imp.find_module returned tuple with NULL"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: imp.find_module ïîâåðíóëà êîðòåæ ç NULL"
|
||||
|
||||
msgid "cannot delete vim.Dictionary attributes"
|
||||
msgstr "íå âäàëîñÿ çíèùèòè àòðèáóòè vim.Dictionary"
|
||||
|
||||
msgid "cannot modify fixed dictionary"
|
||||
msgstr "íå ìîæíà çì³íèòè ô³êñîâàíèé ñëîâíèê"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot set attribute %s"
|
||||
msgstr "íå ìîæíà âñòàíîâèòè àòðèáóò %s"
|
||||
|
||||
msgid "hashtab changed during iteration"
|
||||
msgstr "õåø-òàáëèöÿ çì³íèëàñÿ ï³ä ÷àñ ïåðåáèðàííÿ"
|
||||
|
||||
#, c-format
|
||||
msgid "expected sequence element of size 2, but got sequence of size %d"
|
||||
msgstr "î÷³êóâàëàñü ïîñë³äîâí³ñòü ðîçì³ðîì 2, àëå îòðèìàíî ïîñë³äîâí³ñòü ðîçì³ðó %d"
|
||||
|
||||
msgid "list constructor does not accept keyword arguments"
|
||||
msgstr "ñïèñêîâèé êîíñòðóêòîð íå ïðèéìຠ³ìåíîâàí³ àðãóìåíòè"
|
||||
|
||||
msgid "list index out of range"
|
||||
msgstr "³íäåêñ ñïèñêó çà ìåæàìè"
|
||||
|
||||
#. No more suitable format specifications in python-2.3
|
||||
#, c-format
|
||||
msgid "internal error: failed to get vim list item %d"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íå âäàëîñÿ îòðèìàòè åëåìåíò ñïèñêó vim %d"
|
||||
|
||||
msgid "failed to add item to list"
|
||||
msgstr "íå âäàëîñÿ äîäàòè åëåìåíò äî ñïèñêó"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error: no vim list item %d"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íåìຠåëåìåíòà ñïèñêó vim %d"
|
||||
|
||||
msgid "internal error: failed to add item to list"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íå âäàëîñÿ äîäàòè åëåìåíò äî ñïèñêó"
|
||||
|
||||
msgid "can only concatenate with lists"
|
||||
msgstr "ìîæíà ç’ºäíóâàòè ò³ëüêè ç³ ñïèñêàìè"
|
||||
msgid "cannot delete vim.List attributes"
|
||||
msgstr "íå âäàëîñÿ çíèùèòè àòðèáóòè vim.List"
|
||||
|
||||
msgid "Cannot modify fixed list"
|
||||
msgstr "Íå ìîæíà çì³íèòè ô³êñîâàíèé ñïèñîê"
|
||||
msgid "cannot modify fixed list"
|
||||
msgstr "íå ìîæíà çì³íèòè ô³êñîâàíèé ñïèñîê"
|
||||
|
||||
msgid "'self' argument must be a dictionary"
|
||||
msgstr "Àðãóìåíò «self» ìຠáóòè ñëîâíèêîì"
|
||||
# msgstr "E428: "
|
||||
#, c-format
|
||||
msgid "unnamed function %s does not exist"
|
||||
msgstr "áåç³ìåííî¿ ôóíêö³¿ %s íå ³ñíóº"
|
||||
|
||||
msgid "failed to run function"
|
||||
msgstr "Íå âäàëîñÿ âèêîíàòè ôóíêö³þ"
|
||||
# msgstr "E428: "
|
||||
#, c-format
|
||||
msgid "function %s does not exist"
|
||||
msgstr "ôóíêö³¿ %s íå ³ñíóº"
|
||||
|
||||
msgid "function constructor does not accept keyword arguments"
|
||||
msgstr "êîíñòðóêòîð ôóíêö³¿ íå ïðèéìຠ³ìåíîâàí³ àðãóìåíòè"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to run function %s"
|
||||
msgstr "íå âäàëîñÿ âèêîíàòè ôóíêö³þ %s"
|
||||
|
||||
msgid "unable to get option value"
|
||||
msgstr "íå âäàëîñÿ îòðèìàòè çíà÷åííÿ îïö³¿"
|
||||
|
||||
msgid "internal error: unknown option type"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íåâ³äîìèé òèï îïö³¿"
|
||||
|
||||
msgid "problem while switching windows"
|
||||
msgstr "íå âäàëîñÿ ïåðåìêíóòè â³êíà"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to unset global option %s"
|
||||
msgstr "íå âäàëîñÿ ñêèíóòè ãëîáàëüíó îïö³þ %s"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to unset option %s which does not have global value"
|
||||
msgstr "íå âäàëîñÿ ñêèíóòè îïö³þ %s, ÿêà íå ìຠãëîáàëüíîãî çíà÷åííÿ"
|
||||
|
||||
msgid "attempt to refer to deleted tab page"
|
||||
msgstr "ñïðîáà çâåðíåííÿ äî çíèùåíî¿ âêëàäêè"
|
||||
|
||||
msgid "no such tab page"
|
||||
msgstr "òàêî¿ âêëàäêè íåìàº"
|
||||
|
||||
msgid "attempt to refer to deleted window"
|
||||
msgstr "ñïðîáà çâåðíóòèñÿ äî çíèùåíîãî â³êíà"
|
||||
|
||||
msgid "readonly attribute"
|
||||
msgstr "ëèøå äëÿ ÷èòàííÿ"
|
||||
msgid "readonly attribute: buffer"
|
||||
msgstr "àòðèáóò ëèøå äëÿ ÷èòàííÿ: áóôåð"
|
||||
|
||||
msgid "cursor position outside buffer"
|
||||
msgstr "êóðñîð çà ìåæàìè áóôåðà"
|
||||
|
||||
#, c-format
|
||||
msgid "<window object (deleted) at %p>"
|
||||
msgstr "<îá'ºêò â³êíà (çíèùåíî) çà àäðåñîþ %p>"
|
||||
|
||||
#, c-format
|
||||
msgid "<window object (unknown) at %p>"
|
||||
msgstr "<îá'ºêò â³êíà (íåâ³äîìèé) çà àäðåñîþ %p>"
|
||||
|
||||
#, c-format
|
||||
msgid "<window %d>"
|
||||
msgstr "<â³êíî %d>"
|
||||
|
||||
msgid "no such window"
|
||||
msgstr "òàêîãî â³êíà íåìàº"
|
||||
|
||||
msgid "attempt to refer to deleted buffer"
|
||||
msgstr "ñïðîáà çâåðíåííÿ äî çíèùåíîãî áóôåðà"
|
||||
|
||||
msgid "unable to convert to vim structure"
|
||||
msgstr "íå âäàëîñÿ ïåðåòâîðèòè äî ñòðóêòóðè vim"
|
||||
msgid "failed to rename buffer"
|
||||
msgstr "íå âäàëîñÿ ïåðåéìåíóâàòè áóôåð"
|
||||
|
||||
msgid "NULL reference passed"
|
||||
msgstr "ïåðåäàíî ïîñèëàííÿ NULL"
|
||||
msgid "mark name must be a single character"
|
||||
msgstr "íàçâîþ ì³òêè ìຠáóòè îäèí ñèìâîë"
|
||||
|
||||
#, c-format
|
||||
msgid "expected vim.Buffer object, but got %s"
|
||||
msgstr "î÷³êóâàâñÿ îá’ºêò vim.Buffer, àëå îòðèìàíî %s"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to switch to buffer %d"
|
||||
msgstr "íå âäàëîñÿ ïåðåìêíóòèñÿ äî áóôåðà %d"
|
||||
|
||||
#, c-format
|
||||
msgid "expected vim.Window object, but got %s"
|
||||
msgstr "î÷³êóâàâñÿ îá’ºêò vim.Window, àëå îòðèìàíî %s"
|
||||
|
||||
msgid "failed to find window in the current tab page"
|
||||
msgstr "íå âäàëîñÿ çíàéòè â³êíî ó ïîòî÷í³é âêëàäö³"
|
||||
|
||||
msgid "did not switch to the specified window"
|
||||
msgstr "íå ïåðåìêíóâñÿ äî âêàçàíîãî â³êíà"
|
||||
|
||||
#, c-format
|
||||
msgid "expected vim.TabPage object, but got %s"
|
||||
msgstr "î÷³êóâàâñÿ îá’ºêò vim.TabPage, àëå îòðèìàíî %s"
|
||||
|
||||
msgid "did not switch to the specified tab page"
|
||||
msgstr "íå ïåðåìêíóâñÿ äî âêàçàíî¿ âêëàäêè"
|
||||
|
||||
msgid "failed to run the code"
|
||||
msgstr "íå âäàëîñÿ âèêîíàòè êîä"
|
||||
|
||||
msgid "E858: Eval did not return a valid python object"
|
||||
msgstr "E858: Eval íå ïîâåðíóâ ä³éñíèé îá’ºêò python"
|
||||
|
||||
msgid "E859: Failed to convert returned python object to vim value"
|
||||
msgstr "E859: Íå âäàëîñÿ ïåðåòâîðèòè îá’ºêò python ó çíà÷åííÿ vim"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to convert %s to vim dictionary"
|
||||
msgstr "íå âäàëîñÿ ïåðåòâîðèòè %s ó ñëîâíèê vim"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to convert %s to vim structure"
|
||||
msgstr "íå âäàëîñÿ ïåðåòâîðèòè %s ó ñòðóêòóðó vim"
|
||||
|
||||
msgid "internal error: NULL reference passed"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: ïåðåäàíî ïîñèëàííÿ NULL"
|
||||
|
||||
msgid "internal error: invalid value type"
|
||||
msgstr "âíóòð³øíÿ ïîìèëêà: íåïðàâèëüíèé òèï çíà÷åííÿ"
|
||||
|
||||
msgid ""
|
||||
"Failed to set path hook: sys.path_hooks is not a list\n"
|
||||
"You should now do the following:\n"
|
||||
"- append vim.path_hook to sys.path_hooks\n"
|
||||
"- append vim.VIM_SPECIAL_PATH to sys.path\n"
|
||||
msgstr ""
|
||||
"Íå âäàëîñÿ âñòàíîâèòè îáðîáíèê øëÿõó: sys.path_hooks íå ñïèñîê\n"
|
||||
"Âàì ñë³ä â÷èíèòè òàê:\n"
|
||||
"- äîäàéòå vim.path_hook äî sys.path_hooks\n"
|
||||
"- äîäàéòå vim.VIM_SPECIAL_PATH äî sys.path\n"
|
||||
|
||||
msgid ""
|
||||
"Failed to set path: sys.path is not a list\n"
|
||||
"You should now append vim.VIM_SPECIAL_PATH to sys.path"
|
||||
msgstr ""
|
||||
"Íå âäàëîñÿ âñòàíîâèòè øëÿõ: sys.path íå ñïèñîê\n"
|
||||
"Âàñ ñë³ä äîäàòè vim.VIM_SPECIAL_PATH äî sys.path"
|
||||
|
||||
+371
-187
@@ -12,9 +12,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim 7.3\n"
|
||||
"Project-Id-Version: vim 7.4\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-01-17 10:06+0200\n"
|
||||
"POT-Creation-Date: 2013-09-29 09:05+0300\n"
|
||||
"PO-Revision-Date: 2010-06-18 21:53+0300\n"
|
||||
"Last-Translator: Анатолій Сахнік <sakhnik@gmail.com>\n"
|
||||
"Language-Team: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n"
|
||||
@@ -141,6 +141,9 @@ msgstr "[Новий файл]"
|
||||
msgid "[Read errors]"
|
||||
msgstr "[Помилки читання]"
|
||||
|
||||
msgid "[RO]"
|
||||
msgstr "[RO]"
|
||||
|
||||
msgid "[readonly]"
|
||||
msgstr "[лише читати]"
|
||||
|
||||
@@ -428,6 +431,10 @@ msgstr "E130: Невідома функція: %s"
|
||||
msgid "E461: Illegal variable name: %s"
|
||||
msgstr "E461: Неприпустима назва змінної: %s"
|
||||
|
||||
# msgstr "E373: "
|
||||
msgid "E806: using Float as a String"
|
||||
msgstr "E806: Float вжито як String"
|
||||
|
||||
msgid "E687: Less targets than List items"
|
||||
msgstr "E687: Цілей менше, ніж елементів списку"
|
||||
|
||||
@@ -594,15 +601,15 @@ msgstr "E785: complete() можна вживати тільки в режимі
|
||||
msgid "&Ok"
|
||||
msgstr "&O:Гаразд"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "extend() argument"
|
||||
msgstr "аргумент extend()"
|
||||
|
||||
# msgstr "E226: "
|
||||
#, c-format
|
||||
msgid "E737: Key already exists: %s"
|
||||
msgstr "E737: Ключ вже існує: %s"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "extend() argument"
|
||||
msgstr "аргумент extend()"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "map() argument"
|
||||
msgstr "аргумент map()"
|
||||
@@ -710,10 +717,6 @@ msgstr "E730: List вжито як String"
|
||||
msgid "E731: using Dictionary as a String"
|
||||
msgstr "E731: Dictionary вжито як String"
|
||||
|
||||
# msgstr "E373: "
|
||||
msgid "E806: using Float as a String"
|
||||
msgstr "E806: Float вжито як String"
|
||||
|
||||
#, c-format
|
||||
msgid "E706: Variable type mismatch for: %s"
|
||||
msgstr "E706: Неправильний тип змінної: %s"
|
||||
@@ -752,6 +755,9 @@ msgstr "E123: Невизначена функція: %s"
|
||||
msgid "E124: Missing '(': %s"
|
||||
msgstr "E124: Бракує '(': %s"
|
||||
|
||||
msgid "E862: Cannot use g: here"
|
||||
msgstr "E862: Тут не можна використати g:"
|
||||
|
||||
#, c-format
|
||||
msgid "E125: Illegal argument: %s"
|
||||
msgstr "E125: Недозволений аргумент: %s"
|
||||
@@ -1152,6 +1158,10 @@ msgstr "E148: У global бракує зразка"
|
||||
msgid "Pattern found in every line: %s"
|
||||
msgstr "Зразок знайдено у кожному рядку: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Pattern not found: %s"
|
||||
msgstr "Зразок не знайдено: %s"
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Last Substitute String:\n"
|
||||
@@ -1332,7 +1342,8 @@ msgid "E183: User defined commands must start with an uppercase letter"
|
||||
msgstr "E183: Команди користувача повинні починатися з великої літери"
|
||||
|
||||
msgid "E841: Reserved name, cannot be used for user defined command"
|
||||
msgstr "E841: Зарезервована назва, не можна використати для користувацької команди"
|
||||
msgstr ""
|
||||
"E841: Зарезервована назва, не можна використати для користувацької команди"
|
||||
|
||||
# msgstr "E183: "
|
||||
#, c-format
|
||||
@@ -1686,9 +1697,6 @@ msgstr "[сокет]"
|
||||
msgid "[character special]"
|
||||
msgstr "[спец. символьний]"
|
||||
|
||||
msgid "[RO]"
|
||||
msgstr "[RO]"
|
||||
|
||||
msgid "[CR missing]"
|
||||
msgstr "[Бракує CR]"
|
||||
|
||||
@@ -1940,8 +1948,7 @@ msgstr "Див. «:help W11» для уточнення."
|
||||
|
||||
#, c-format
|
||||
msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
|
||||
msgstr ""
|
||||
"W16: Застереження: Режим файлу «%s» змінився після початку редагування"
|
||||
msgstr "W16: Застереження: Режим файлу «%s» змінився після початку редагування"
|
||||
|
||||
msgid "See \":help W16\" for more info."
|
||||
msgstr "Див. «:help W16» для уточнення."
|
||||
@@ -2308,32 +2315,28 @@ msgid "Font '%s' is not fixed-width"
|
||||
msgstr "Шрифт '%s' не є моноширинним"
|
||||
|
||||
#, c-format
|
||||
msgid "E253: Fontset name: %s\n"
|
||||
msgstr "E253: Назва набору шрифтів: %s\n"
|
||||
msgid "E253: Fontset name: %s"
|
||||
msgstr "E253: Назва набору шрифтів: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Font0: %s\n"
|
||||
msgstr "Шрифт0: %s\n"
|
||||
msgid "Font0: %s"
|
||||
msgstr "Шрифт0: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Font1: %s\n"
|
||||
msgstr "Шрифт1: %s\n"
|
||||
msgid "Font1: %s"
|
||||
msgstr "Шрифт1: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Font%ld width is not twice that of font0\n"
|
||||
msgstr "Ширина шрифту%ld має бути удвічі більшою за ширину шрифту0\n"
|
||||
msgid "Font%ld width is not twice that of font0"
|
||||
msgstr "Ширина шрифту%ld не більша удвічі за ширину шрифту0"
|
||||
|
||||
#, c-format
|
||||
msgid "Font0 width: %ld\n"
|
||||
msgstr "Ширина шрифту0: %ld\n"
|
||||
msgid "Font0 width: %ld"
|
||||
msgstr "Ширина шрифту0: %ld"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Font1 width: %ld\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"Ширина шрифту1: %ld\n"
|
||||
"\n"
|
||||
msgid "Font1 width: %ld"
|
||||
msgstr "Ширина шрифту1: %ld"
|
||||
|
||||
msgid "Invalid font specification"
|
||||
msgstr "Некоректна специфікація шрифту"
|
||||
@@ -2526,6 +2529,9 @@ msgstr "E566: Не вдалося створити канали до cscope"
|
||||
msgid "E622: Could not fork for cscope"
|
||||
msgstr "E622: Не вдалося розділити процес для cscope"
|
||||
|
||||
msgid "cs_create_connection setpgid failed"
|
||||
msgstr "cs_create_connection: помилка setpgid"
|
||||
|
||||
msgid "cs_create_connection exec failed"
|
||||
msgstr "cs_create_connection: помилка під час виконання"
|
||||
|
||||
@@ -2672,6 +2678,9 @@ msgstr "не вдалося вставити рядок"
|
||||
msgid "string cannot contain newlines"
|
||||
msgstr "більше ніж один рядок"
|
||||
|
||||
msgid "error converting Scheme values to Vim"
|
||||
msgstr "не вдалося перетворити значення Scheme у Vim"
|
||||
|
||||
msgid "Vim error: ~a"
|
||||
msgstr "Помилка Vim: ~a"
|
||||
|
||||
@@ -2693,9 +2702,6 @@ msgstr "не дозволено у пісочниці Vim"
|
||||
msgid "E837: This Vim cannot execute :py3 after using :python"
|
||||
msgstr "E837: Python: Не можна використати :py і :py3 в одному сеансі"
|
||||
|
||||
msgid "only string keys are allowed"
|
||||
msgstr "Дозволено тільки текстові ключі"
|
||||
|
||||
msgid ""
|
||||
"E263: Sorry, this command is disabled, the Python library could not be "
|
||||
"loaded."
|
||||
@@ -2703,28 +2709,12 @@ msgstr ""
|
||||
"E263: Вибачте, ця команда вимкнена, бібліотека Python не може бути "
|
||||
"завантажена."
|
||||
|
||||
msgid "E860: Eval did not return a valid python 3 object"
|
||||
msgstr "E860: Eval не повернув дійсний об’єкт python 3"
|
||||
|
||||
msgid "E861: Failed to convert returned python 3 object to vim value"
|
||||
msgstr "E861: Не вдалося перетворити об’єкт python 3 у значення vim"
|
||||
|
||||
#, c-format
|
||||
msgid "<buffer object (deleted) at %p>"
|
||||
msgstr "<об'єкт буфера (знищено) за адресою %p>"
|
||||
|
||||
msgid "E836: This Vim cannot execute :python after using :py3"
|
||||
msgstr "E836: Python: Не можна використати :py і :py3 в одному сеансі"
|
||||
|
||||
msgid "E659: Cannot invoke Python recursively"
|
||||
msgstr "E659: Не можна рекурсивно викликати Python"
|
||||
|
||||
msgid "E858: Eval did not return a valid python object"
|
||||
msgstr "E858: Eval не повернув дійсний об’єкт python"
|
||||
|
||||
msgid "E859: Failed to convert returned python object to vim value"
|
||||
msgstr "E859: Не вдалося перетворити об’єкт python у значення vim"
|
||||
|
||||
msgid "E265: $_ must be an instance of String"
|
||||
msgstr "E265: $_ має бути екземпляром String"
|
||||
|
||||
@@ -2942,8 +2932,7 @@ msgid "Garbage after option argument"
|
||||
msgstr "Сміття після аргументу опції"
|
||||
|
||||
msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
|
||||
msgstr ""
|
||||
"Забагато аргументів у «+команда», «-c команда» або «--cmd команда»"
|
||||
msgstr "Забагато аргументів у «+команда», «-c команда» або «--cmd команда»"
|
||||
|
||||
# msgstr "E14: "
|
||||
msgid "Invalid argument for"
|
||||
@@ -3483,8 +3472,7 @@ msgstr "E302: Не вдалося перейменувати файлу обмі
|
||||
# msgstr "E302: "
|
||||
#, c-format
|
||||
msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
|
||||
msgstr ""
|
||||
"E303: Не вдалося прочитати файл обміну для «%s», відновлення неможливе"
|
||||
msgstr "E303: Не вдалося прочитати файл обміну для «%s», відновлення неможливе"
|
||||
|
||||
msgid "E304: ml_upd_block0(): Didn't get block 0??"
|
||||
msgstr "E304: ml_upd_block0(): Немає блоку 0??"
|
||||
@@ -4092,13 +4080,6 @@ msgstr " (Перервано)"
|
||||
msgid "Beep!"
|
||||
msgstr "Дзень!"
|
||||
|
||||
msgid "Vim: preserving files...\n"
|
||||
msgstr "Vim: Заготовлюються файли...\n"
|
||||
|
||||
#. close all memfiles, without deleting
|
||||
msgid "Vim: Finished.\n"
|
||||
msgstr "Vim: Завершено.\n"
|
||||
|
||||
msgid "ERROR: "
|
||||
msgstr "ПОМИЛКА: "
|
||||
|
||||
@@ -4628,17 +4609,6 @@ msgstr "E244: Некоректна назва набору символів «%s
|
||||
msgid "E245: Illegal char '%c' in font name \"%s\""
|
||||
msgstr "E245: Помилковий символ %c в назві шрифту «%s»"
|
||||
|
||||
msgid "Vim: Double signal, exiting\n"
|
||||
msgstr "Vim: Двічі отримано сигнал, вихід\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Vim: Caught deadly signal %s\n"
|
||||
msgstr "Vim: Отримано фатальний сигнал (%s)\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Vim: Caught deadly signal\n"
|
||||
msgstr "Vim: Отримано фатальний сигнал\n"
|
||||
|
||||
#, c-format
|
||||
msgid "Opening the X display took %ld msec"
|
||||
msgstr "На відкриття дисплею X пішло %ld мілісекунд"
|
||||
@@ -4861,6 +4831,38 @@ msgstr "E777: Очікується String чи List"
|
||||
msgid "E369: invalid item in %s%%[]"
|
||||
msgstr "E369: Некоректний елемент у %s%%[]"
|
||||
|
||||
#, c-format
|
||||
msgid "E769: Missing ] after %s["
|
||||
msgstr "E769: Бракує ] після %s["
|
||||
|
||||
#, c-format
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Немає пари %s%%("
|
||||
|
||||
#, c-format
|
||||
msgid "E54: Unmatched %s("
|
||||
msgstr "E54: Немає пари %s("
|
||||
|
||||
#, c-format
|
||||
msgid "E55: Unmatched %s)"
|
||||
msgstr "E55: Немає пари %s)"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E66: \\z( not allowed here"
|
||||
msgstr "E66: \\z( тут не дозволено"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E67: \\z1 et al. not allowed here"
|
||||
msgstr "E67: \\z1 та ін. тут не дозволено"
|
||||
|
||||
#, c-format
|
||||
msgid "E69: Missing ] after %s%%["
|
||||
msgstr "E69: Пропущено ] після %s%%["
|
||||
|
||||
#, c-format
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: %s%%[] порожній"
|
||||
|
||||
# msgstr "E382: "
|
||||
msgid "E339: Pattern too long"
|
||||
msgstr "E339: Зразок занадто довгий"
|
||||
@@ -4875,18 +4877,6 @@ msgstr "E51: Забагато %s("
|
||||
msgid "E52: Unmatched \\z("
|
||||
msgstr "E52: Немає пари \\z("
|
||||
|
||||
#, c-format
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Немає пари %s%%("
|
||||
|
||||
#, c-format
|
||||
msgid "E54: Unmatched %s("
|
||||
msgstr "E54: Немає пари %s("
|
||||
|
||||
#, c-format
|
||||
msgid "E55: Unmatched %s)"
|
||||
msgstr "E55: Немає пари %s)"
|
||||
|
||||
#, c-format
|
||||
msgid "E59: invalid character after %s@"
|
||||
msgstr "E59: Недозволений символ після %s@"
|
||||
@@ -4916,25 +4906,9 @@ msgstr "E64: Після %s%c нічого немає"
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Некоректне зворотнє посилання"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E66: \\z( not allowed here"
|
||||
msgstr "E66: \\z( тут не дозволено"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "E67: \\z1 et al. not allowed here"
|
||||
msgstr "E67: \\z1 та ін. тут не дозволено"
|
||||
|
||||
msgid "E68: Invalid character after \\z"
|
||||
msgstr "E68: Неправильний символ після \\z"
|
||||
|
||||
#, c-format
|
||||
msgid "E69: Missing ] after %s%%["
|
||||
msgstr "E69: Пропущено ] після %s%%["
|
||||
|
||||
#, c-format
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: %s%%[] порожній"
|
||||
|
||||
#, c-format
|
||||
msgid "E678: Invalid character after %s%%[dxouU]"
|
||||
msgstr "E678: Недозволений символ після %s%%[dxouU]"
|
||||
@@ -4943,10 +4917,6 @@ msgstr "E678: Недозволений символ після %s%%[dxouU]"
|
||||
msgid "E71: Invalid character after %s%%"
|
||||
msgstr "E71: Недозволений символ після %s%%"
|
||||
|
||||
#, c-format
|
||||
msgid "E769: Missing ] after %s["
|
||||
msgstr "E769: Бракує ] після %s["
|
||||
|
||||
# msgstr "E64: "
|
||||
#, c-format
|
||||
msgid "E554: Syntax error in %s{...}"
|
||||
@@ -4955,6 +4925,80 @@ msgstr "E554: Синтаксична помилка в %s{...}"
|
||||
msgid "External submatches:\n"
|
||||
msgstr "Зовнішні під-збіги:\n"
|
||||
|
||||
msgid ""
|
||||
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
|
||||
"used "
|
||||
msgstr ""
|
||||
"E864: після \\%#= може бути тільки 0, 1, or 2. Буде використано автоматичний механізм "
|
||||
|
||||
#, c-format
|
||||
msgid "E866: (NFA regexp) Misplaced %c"
|
||||
msgstr "E866: (NFA regexp) Не на місці %c"
|
||||
|
||||
msgid "E865: (NFA) Regexp end encountered prematurely"
|
||||
msgstr "E865: (NFA) Зарано трапився кінець регулярного виразу"
|
||||
|
||||
#, c-format
|
||||
msgid "E867: (NFA) Unknown operator '\\z%c'"
|
||||
msgstr "E867: (NFA) Невідомий оператор '\\z%c'"
|
||||
|
||||
#, c-format
|
||||
msgid "E867: (NFA) Unknown operator '\\%%%c'"
|
||||
msgstr "E867: (NFA) Невідомий оператор '\\%%%c'"
|
||||
|
||||
#. should never happen
|
||||
msgid "E868: Error building NFA with equivalence class!"
|
||||
msgstr "E868: Не вдалося побудувати NFA з класом еквівалентності!"
|
||||
|
||||
#, c-format
|
||||
msgid "E869: (NFA) Unknown operator '\\@%c'"
|
||||
msgstr "E869: (NFA) Невідомий оператор '\\@%c'"
|
||||
|
||||
msgid "E870: (NFA regexp) Error reading repetition limits"
|
||||
msgstr "E870: (NFA regexp) Не вдалося прочитати межі повторення"
|
||||
|
||||
#. Can't have a multi follow a multi.
|
||||
msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
|
||||
msgstr "E871: (NFA regexp) Мульти не може бути за мульти!"
|
||||
|
||||
#. Too many `('
|
||||
msgid "E872: (NFA regexp) Too many '('"
|
||||
msgstr "E872: (NFA regexp) Забагато '('"
|
||||
|
||||
msgid "E879: (NFA regexp) Too many \\z("
|
||||
msgstr "E879: (NFA regexp) Забагато \\z("
|
||||
|
||||
msgid "E873: (NFA regexp) proper termination error"
|
||||
msgstr "E873: (NFA regexp) помилка належного припинення"
|
||||
|
||||
msgid "E874: (NFA) Could not pop the stack !"
|
||||
msgstr "E874: (NFA) Стек порожній!"
|
||||
|
||||
msgid ""
|
||||
"E875: (NFA regexp) (While converting from postfix to NFA), too many states "
|
||||
"left on stack"
|
||||
msgstr ""
|
||||
"E875: (NFA regexp) (Під час перетворення з постфікс у NFA) залишилося "
|
||||
"забагато станів у стеку"
|
||||
|
||||
msgid "E876: (NFA regexp) Not enough space to store the whole NFA "
|
||||
msgstr "E876: (NFA regexp) Недостатньо пам’яті, щоб зберегти весь NFA "
|
||||
|
||||
msgid "E878: (NFA) Could not allocate memory for branch traversal!"
|
||||
msgstr "E878: (NFA) Не вдалося отримати пам’ять для обходу гілок!"
|
||||
|
||||
msgid ""
|
||||
"Could not open temporary log file for writing, displaying on stderr ... "
|
||||
msgstr ""
|
||||
"Не вдалося відкрити тимчасовий файл журналу для запису, показується на stderr ... "
|
||||
|
||||
#, c-format
|
||||
msgid "(NFA) COULD NOT OPEN %s !"
|
||||
msgstr "(NFA) НЕ ВДАЛОСЯ ВІДКРИТИ %s!"
|
||||
|
||||
msgid "Could not open temporary log file for writing "
|
||||
msgstr "Не вдалося відкрити тимчасовий файл журналу для запису "
|
||||
|
||||
msgid " VREPLACE"
|
||||
msgstr " ВІРТ ЗАМІНА"
|
||||
|
||||
@@ -5110,7 +5154,8 @@ msgstr "E756: Перевірка орфографії не дозволена"
|
||||
|
||||
#, c-format
|
||||
msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
|
||||
msgstr "Застереження: Не вдалося знайти список слів «%s_%s.spl» чи «%s_ascii.spl»"
|
||||
msgstr ""
|
||||
"Застереження: Не вдалося знайти список слів «%s_%s.spl» чи «%s_ascii.spl»"
|
||||
|
||||
#, c-format
|
||||
msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
|
||||
@@ -5396,12 +5441,12 @@ msgid "E765: 'spellfile' does not have %ld entries"
|
||||
msgstr "E765: 'spellfile' не містить %ld елементів"
|
||||
|
||||
#, c-format
|
||||
msgid "Word removed from %s"
|
||||
msgstr "Слово знищено з %s"
|
||||
msgid "Word '%.*s' removed from %s"
|
||||
msgstr "Слово '%.*s' знищено з %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Word added to %s"
|
||||
msgstr "Слово додано до %s"
|
||||
msgid "Word '%.*s' added to %s"
|
||||
msgstr "Слово '%.*s' додано до %s"
|
||||
|
||||
msgid "E763: Word characters differ between spell files"
|
||||
msgstr "E763: Символи у слові відрізняються у файлах орфографії"
|
||||
@@ -5457,6 +5502,10 @@ msgstr "E782: Помилка читання файлу .sug: %s"
|
||||
msgid "E783: duplicate char in MAP entry"
|
||||
msgstr "E783: Повторено символ у елементі MAP"
|
||||
|
||||
# msgstr "E391: "
|
||||
msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Для буфера не визначено елементів синтаксису"
|
||||
|
||||
#, c-format
|
||||
msgid "E390: Illegal argument: %s"
|
||||
msgstr "E390: Неправильний аргумент: %s"
|
||||
@@ -5465,10 +5514,6 @@ msgstr "E390: Неправильний аргумент: %s"
|
||||
msgid "E391: No such syntax cluster: %s"
|
||||
msgstr "E391: Немає такого синтаксичного кластера: %s"
|
||||
|
||||
# msgstr "E391: "
|
||||
msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Для буфера не визначено елементів синтаксису"
|
||||
|
||||
msgid "syncing on C-style comments"
|
||||
msgstr "синхронізується по коментарях стилю С"
|
||||
|
||||
@@ -5603,6 +5648,11 @@ msgstr "E409: Невідома назва групи: %s"
|
||||
msgid "E410: Invalid :syntax subcommand: %s"
|
||||
msgstr "E410: Неправильна підкоманда :syntax: %s"
|
||||
|
||||
msgid ""
|
||||
" TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN"
|
||||
msgstr ""
|
||||
" ВСЬОГО К-ТЬ СПІВП. НАЙПОВІЛ. СЕРЕДН. НАЗВА ШАБЛОН"
|
||||
|
||||
msgid "E679: recursive loop loading syncolor.vim"
|
||||
msgstr "E679: Рекурсивний цикл читання syncolor.vim"
|
||||
|
||||
@@ -6734,112 +6784,246 @@ msgstr "Пошук дійшов до КІНЦЯ, продовжується з
|
||||
msgid "Need encryption key for \"%s\""
|
||||
msgstr "Для «%s» потрібен ключ: "
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "не вдалося знищити атрибути OutputObject"
|
||||
|
||||
msgid "softspace must be an integer"
|
||||
msgstr "softspace має бути цілим"
|
||||
|
||||
# msgstr "E180: "
|
||||
msgid "invalid attribute"
|
||||
msgstr "неправильний атрибут"
|
||||
|
||||
msgid "writelines() requires list of strings"
|
||||
msgstr "для writelines() потрібен список рядків"
|
||||
|
||||
msgid "E264: Python: Error initialising I/O objects"
|
||||
msgstr "E264: Python: Помилка ініціалізації об'єктів вводу/виводу"
|
||||
|
||||
msgid "no such buffer"
|
||||
msgstr "такого буфера немає"
|
||||
|
||||
# msgstr "E406: "
|
||||
msgid "empty keys are not allowed"
|
||||
msgstr "порожні ключі не дозволені"
|
||||
|
||||
msgid "failed to add key to dictionary"
|
||||
msgstr "не вдалося додати ключ до словника"
|
||||
|
||||
msgid "Cannot delete DictionaryObject attributes"
|
||||
msgstr "не вдалося знищити атрибути DictionaryObject"
|
||||
|
||||
msgid "Cannot modify fixed dictionary"
|
||||
msgstr "Не можна змінити фіксований словник"
|
||||
|
||||
msgid "Only boolean objects are allowed"
|
||||
msgstr "Дозволено тільки логічні об’єкти"
|
||||
|
||||
msgid "Cannot set this attribute"
|
||||
msgstr "Не можна встановити цей атрибут"
|
||||
|
||||
msgid "no such key in dictionary"
|
||||
msgstr "немає такого ключа в словнику"
|
||||
|
||||
msgid "dict is locked"
|
||||
msgid "dictionary is locked"
|
||||
msgstr "словник заблоковано"
|
||||
|
||||
msgid "internal error: failed to get vim list item"
|
||||
msgstr "внутрішня помилка: не вдалося отримати елемент списку vim"
|
||||
|
||||
msgid "list is locked"
|
||||
msgstr "список заблоковано"
|
||||
|
||||
msgid "Failed to add item to list"
|
||||
msgstr "Не вдалося додати елемент до списку"
|
||||
#, c-format
|
||||
msgid "failed to add key '%s' to dictionary"
|
||||
msgstr "не вдалося додати ключ '%s' до словника"
|
||||
|
||||
msgid "internal error: no vim list item"
|
||||
msgstr "внутрішня помилка: немає елемента списку vim"
|
||||
#, c-format
|
||||
msgid "index must be int or slice, not %s"
|
||||
msgstr "індекс має бути цілий чи зріз, не %s"
|
||||
|
||||
msgid "can only assign lists to slice"
|
||||
msgstr "можна присвоювати списки тільки зрізам"
|
||||
#, c-format
|
||||
msgid "expected str() or unicode() instance, but got %s"
|
||||
msgstr "очікувався екземпляр str() чи unicode(), але отримано %s"
|
||||
|
||||
#, c-format
|
||||
msgid "expected bytes() or str() instance, but got %s"
|
||||
msgstr "очікувався екземпляр bytes() чи str(), але отримано %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"expected int(), long() or something supporting coercing to long(), but got %s"
|
||||
msgstr ""
|
||||
"очікувався int(), long() чи щось, що може бути вміщене long(), але отримано %s"
|
||||
|
||||
#, c-format
|
||||
msgid "expected int() or something supporting coercing to int(), but got %s"
|
||||
msgstr "очікувався int() чи щось, що може бути вміщене int(), але отримано %s"
|
||||
|
||||
msgid "value is too large to fit into C int type"
|
||||
msgstr "значення завелике, щоб вміститися у тип C int"
|
||||
|
||||
msgid "value is too small to fit into C int type"
|
||||
msgstr "значення замале, щоб вміститися у тип C int"
|
||||
|
||||
msgid "number must be greater then zero"
|
||||
msgstr "число має бути більше, ніж нуль"
|
||||
|
||||
msgid "number must be greater or equal to zero"
|
||||
msgstr "число має бути не менше, ніж нуль"
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "не вдалося знищити атрибути OutputObject"
|
||||
|
||||
# msgstr "E180: "
|
||||
#, c-format
|
||||
msgid "invalid attribute: %s"
|
||||
msgstr "неправильний атрибут: %s"
|
||||
|
||||
msgid "E264: Python: Error initialising I/O objects"
|
||||
msgstr "E264: Python: Помилка ініціалізації об'єктів вводу/виводу"
|
||||
|
||||
msgid "failed to change directory"
|
||||
msgstr "не вдалося змінити директорію"
|
||||
|
||||
#, c-format
|
||||
msgid "expected 3-tuple as imp.find_module() result, but got %s"
|
||||
msgstr "очікувався 3-кортеж як результат imp.find_module(), але отримано %s"
|
||||
|
||||
#, c-format
|
||||
msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d"
|
||||
msgstr "очікувався 3-кортеж як результат imp.find_module(), але отримано %d"
|
||||
|
||||
msgid "internal error: imp.find_module returned tuple with NULL"
|
||||
msgstr "внутрішня помилка: imp.find_module повернула кортеж з NULL"
|
||||
|
||||
msgid "cannot delete vim.Dictionary attributes"
|
||||
msgstr "не вдалося знищити атрибути vim.Dictionary"
|
||||
|
||||
msgid "cannot modify fixed dictionary"
|
||||
msgstr "не можна змінити фіксований словник"
|
||||
|
||||
#, c-format
|
||||
msgid "cannot set attribute %s"
|
||||
msgstr "не можна встановити атрибут %s"
|
||||
|
||||
msgid "hashtab changed during iteration"
|
||||
msgstr "хеш-таблиця змінилася під час перебирання"
|
||||
|
||||
#, c-format
|
||||
msgid "expected sequence element of size 2, but got sequence of size %d"
|
||||
msgstr "очікувалась послідовність розміром 2, але отримано послідовність розміру %d"
|
||||
|
||||
msgid "list constructor does not accept keyword arguments"
|
||||
msgstr "списковий конструктор не приймає іменовані аргументи"
|
||||
|
||||
msgid "list index out of range"
|
||||
msgstr "індекс списку за межами"
|
||||
|
||||
#. No more suitable format specifications in python-2.3
|
||||
#, c-format
|
||||
msgid "internal error: failed to get vim list item %d"
|
||||
msgstr "внутрішня помилка: не вдалося отримати елемент списку vim %d"
|
||||
|
||||
msgid "failed to add item to list"
|
||||
msgstr "не вдалося додати елемент до списку"
|
||||
|
||||
#, c-format
|
||||
msgid "internal error: no vim list item %d"
|
||||
msgstr "внутрішня помилка: немає елемента списку vim %d"
|
||||
|
||||
msgid "internal error: failed to add item to list"
|
||||
msgstr "внутрішня помилка: не вдалося додати елемент до списку"
|
||||
|
||||
msgid "can only concatenate with lists"
|
||||
msgstr "можна з’єднувати тільки зі списками"
|
||||
msgid "cannot delete vim.List attributes"
|
||||
msgstr "не вдалося знищити атрибути vim.List"
|
||||
|
||||
msgid "Cannot modify fixed list"
|
||||
msgstr "Не можна змінити фіксований список"
|
||||
msgid "cannot modify fixed list"
|
||||
msgstr "не можна змінити фіксований список"
|
||||
|
||||
msgid "'self' argument must be a dictionary"
|
||||
msgstr "Аргумент «self» має бути словником"
|
||||
# msgstr "E428: "
|
||||
#, c-format
|
||||
msgid "unnamed function %s does not exist"
|
||||
msgstr "безіменної функції %s не існує"
|
||||
|
||||
msgid "failed to run function"
|
||||
msgstr "Не вдалося виконати функцію"
|
||||
# msgstr "E428: "
|
||||
#, c-format
|
||||
msgid "function %s does not exist"
|
||||
msgstr "функції %s не існує"
|
||||
|
||||
msgid "function constructor does not accept keyword arguments"
|
||||
msgstr "конструктор функції не приймає іменовані аргументи"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to run function %s"
|
||||
msgstr "не вдалося виконати функцію %s"
|
||||
|
||||
msgid "unable to get option value"
|
||||
msgstr "не вдалося отримати значення опції"
|
||||
|
||||
msgid "internal error: unknown option type"
|
||||
msgstr "внутрішня помилка: невідомий тип опції"
|
||||
|
||||
msgid "problem while switching windows"
|
||||
msgstr "не вдалося перемкнути вікна"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to unset global option %s"
|
||||
msgstr "не вдалося скинути глобальну опцію %s"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to unset option %s which does not have global value"
|
||||
msgstr "не вдалося скинути опцію %s, яка не має глобального значення"
|
||||
|
||||
msgid "attempt to refer to deleted tab page"
|
||||
msgstr "спроба звернення до знищеної вкладки"
|
||||
|
||||
msgid "no such tab page"
|
||||
msgstr "такої вкладки немає"
|
||||
|
||||
msgid "attempt to refer to deleted window"
|
||||
msgstr "спроба звернутися до знищеного вікна"
|
||||
|
||||
msgid "readonly attribute"
|
||||
msgstr "лише для читання"
|
||||
msgid "readonly attribute: buffer"
|
||||
msgstr "атрибут лише для читання: буфер"
|
||||
|
||||
msgid "cursor position outside buffer"
|
||||
msgstr "курсор за межами буфера"
|
||||
|
||||
#, c-format
|
||||
msgid "<window object (deleted) at %p>"
|
||||
msgstr "<об'єкт вікна (знищено) за адресою %p>"
|
||||
|
||||
#, c-format
|
||||
msgid "<window object (unknown) at %p>"
|
||||
msgstr "<об'єкт вікна (невідомий) за адресою %p>"
|
||||
|
||||
#, c-format
|
||||
msgid "<window %d>"
|
||||
msgstr "<вікно %d>"
|
||||
|
||||
msgid "no such window"
|
||||
msgstr "такого вікна немає"
|
||||
|
||||
msgid "attempt to refer to deleted buffer"
|
||||
msgstr "спроба звернення до знищеного буфера"
|
||||
|
||||
msgid "unable to convert to vim structure"
|
||||
msgstr "не вдалося перетворити до структури vim"
|
||||
msgid "failed to rename buffer"
|
||||
msgstr "не вдалося перейменувати буфер"
|
||||
|
||||
msgid "NULL reference passed"
|
||||
msgstr "передано посилання NULL"
|
||||
msgid "mark name must be a single character"
|
||||
msgstr "назвою мітки має бути один символ"
|
||||
|
||||
#, c-format
|
||||
msgid "expected vim.Buffer object, but got %s"
|
||||
msgstr "очікувався об’єкт vim.Buffer, але отримано %s"
|
||||
|
||||
#, c-format
|
||||
msgid "failed to switch to buffer %d"
|
||||
msgstr "не вдалося перемкнутися до буфера %d"
|
||||
|
||||
#, c-format
|
||||
msgid "expected vim.Window object, but got %s"
|
||||
msgstr "очікувався об’єкт vim.Window, але отримано %s"
|
||||
|
||||
msgid "failed to find window in the current tab page"
|
||||
msgstr "не вдалося знайти вікно у поточній вкладці"
|
||||
|
||||
msgid "did not switch to the specified window"
|
||||
msgstr "не перемкнувся до вказаного вікна"
|
||||
|
||||
#, c-format
|
||||
msgid "expected vim.TabPage object, but got %s"
|
||||
msgstr "очікувався об’єкт vim.TabPage, але отримано %s"
|
||||
|
||||
msgid "did not switch to the specified tab page"
|
||||
msgstr "не перемкнувся до вказаної вкладки"
|
||||
|
||||
msgid "failed to run the code"
|
||||
msgstr "не вдалося виконати код"
|
||||
|
||||
msgid "E858: Eval did not return a valid python object"
|
||||
msgstr "E858: Eval не повернув дійсний об’єкт python"
|
||||
|
||||
msgid "E859: Failed to convert returned python object to vim value"
|
||||
msgstr "E859: Не вдалося перетворити об’єкт python у значення vim"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to convert %s to vim dictionary"
|
||||
msgstr "не вдалося перетворити %s у словник vim"
|
||||
|
||||
#, c-format
|
||||
msgid "unable to convert %s to vim structure"
|
||||
msgstr "не вдалося перетворити %s у структуру vim"
|
||||
|
||||
msgid "internal error: NULL reference passed"
|
||||
msgstr "внутрішня помилка: передано посилання NULL"
|
||||
|
||||
msgid "internal error: invalid value type"
|
||||
msgstr "внутрішня помилка: неправильний тип значення"
|
||||
|
||||
msgid ""
|
||||
"Failed to set path hook: sys.path_hooks is not a list\n"
|
||||
"You should now do the following:\n"
|
||||
"- append vim.path_hook to sys.path_hooks\n"
|
||||
"- append vim.VIM_SPECIAL_PATH to sys.path\n"
|
||||
msgstr ""
|
||||
"Не вдалося встановити обробник шляху: sys.path_hooks не список\n"
|
||||
"Вам слід вчинити так:\n"
|
||||
"- додайте vim.path_hook до sys.path_hooks\n"
|
||||
"- додайте vim.VIM_SPECIAL_PATH до sys.path\n"
|
||||
|
||||
msgid ""
|
||||
"Failed to set path: sys.path is not a list\n"
|
||||
"You should now append vim.VIM_SPECIAL_PATH to sys.path"
|
||||
msgstr ""
|
||||
"Не вдалося встановити шлях: sys.path не список\n"
|
||||
"Вас слід додати vim.VIM_SPECIAL_PATH до sys.path"
|
||||
|
||||
@@ -236,3 +236,6 @@ gui_mch_register_sign(char_u *signfile);
|
||||
|
||||
void
|
||||
gui_mch_destroy_sign(void *sign);
|
||||
|
||||
void *gui_macvim_new_autoreleasepool();
|
||||
void gui_macvim_release_autoreleasepool(void *pool);
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ void settmode __ARGS((int tmode));
|
||||
void starttermcap __ARGS((void));
|
||||
void stoptermcap __ARGS((void));
|
||||
void may_req_termresponse __ARGS((void));
|
||||
void may_req_ambiguous_character_width __ARGS((void));
|
||||
void may_req_ambiguous_char_width __ARGS((void));
|
||||
int swapping_screen __ARGS((void));
|
||||
void setmouse __ARGS((void));
|
||||
int mouse_has __ARGS((int c));
|
||||
|
||||
@@ -9,7 +9,7 @@ void win_move_after __ARGS((win_T *win1, win_T *win2));
|
||||
void win_equal __ARGS((win_T *next_curwin, int current, int dir));
|
||||
void close_windows __ARGS((buf_T *buf, int keep_curwin));
|
||||
int one_window __ARGS((void));
|
||||
void win_close __ARGS((win_T *win, int free_buf));
|
||||
int win_close __ARGS((win_T *win, int free_buf));
|
||||
void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
|
||||
void win_free_all __ARGS((void));
|
||||
win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
|
||||
|
||||
+5
-6
@@ -4311,8 +4311,8 @@ regmatch(scan)
|
||||
*/
|
||||
for (;;)
|
||||
{
|
||||
/* Some patterns may cause a long time to match, even though they are not
|
||||
* illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */
|
||||
/* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
|
||||
* Allow interrupting them with CTRL-C. */
|
||||
fast_breakcheck();
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -8016,12 +8016,11 @@ vim_regcomp(expr_arg, re_flags)
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* If NFA engine failed, then revert to the backtracking engine.
|
||||
* Except when there was a syntax error, which was properly handled by
|
||||
* NFA engine.
|
||||
*/
|
||||
* If the NFA engine failed, the backtracking engine won't work either.
|
||||
*
|
||||
if (regexp_engine == AUTOMATIC_ENGINE)
|
||||
prog = bt_regengine.regcomp(expr, re_flags);
|
||||
*/
|
||||
}
|
||||
|
||||
return prog;
|
||||
|
||||
+447
-77
@@ -29,11 +29,14 @@
|
||||
# define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log"
|
||||
#endif
|
||||
|
||||
/* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */
|
||||
#define NFA_ADD_NL 31
|
||||
|
||||
enum
|
||||
{
|
||||
NFA_SPLIT = -1024,
|
||||
NFA_MATCH,
|
||||
NFA_SKIP_CHAR, /* matches a 0-length char */
|
||||
NFA_EMPTY, /* matches 0-length */
|
||||
|
||||
NFA_START_COLL, /* [abc] start */
|
||||
NFA_END_COLL, /* [abc] end */
|
||||
@@ -183,6 +186,13 @@ enum
|
||||
NFA_NLOWER, /* Match non-lowercase char */
|
||||
NFA_UPPER, /* Match uppercase char */
|
||||
NFA_NUPPER, /* Match non-uppercase char */
|
||||
NFA_LOWER_IC, /* Match [a-z] */
|
||||
NFA_NLOWER_IC, /* Match [^a-z] */
|
||||
NFA_UPPER_IC, /* Match [A-Z] */
|
||||
NFA_NUPPER_IC, /* Match [^A-Z] */
|
||||
|
||||
NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL,
|
||||
NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL,
|
||||
|
||||
NFA_CURSOR, /* Match cursor pos */
|
||||
NFA_LNUM, /* Match line number */
|
||||
@@ -199,9 +209,6 @@ enum
|
||||
NFA_MARK_LT, /* Match < mark */
|
||||
NFA_VISUAL, /* Match Visual area */
|
||||
|
||||
NFA_FIRST_NL = NFA_ANY + ADD_NL,
|
||||
NFA_LAST_NL = NFA_NUPPER + ADD_NL,
|
||||
|
||||
/* Character classes [:alnum:] etc */
|
||||
NFA_CLASS_ALNUM,
|
||||
NFA_CLASS_ALPHA,
|
||||
@@ -578,6 +585,8 @@ realloc_post_list()
|
||||
* On failure, return 0 (=FAIL)
|
||||
* Start points to the first char of the range, while end should point
|
||||
* to the closing brace.
|
||||
* Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may
|
||||
* need to be interpreted as [a-zA-Z].
|
||||
*/
|
||||
static int
|
||||
nfa_recognize_char_class(start, end, extra_newl)
|
||||
@@ -681,7 +690,7 @@ nfa_recognize_char_class(start, end, extra_newl)
|
||||
return FAIL;
|
||||
|
||||
if (newl == TRUE)
|
||||
extra_newl = ADD_NL;
|
||||
extra_newl = NFA_ADD_NL;
|
||||
|
||||
switch (config)
|
||||
{
|
||||
@@ -710,13 +719,13 @@ nfa_recognize_char_class(start, end, extra_newl)
|
||||
case CLASS_not | CLASS_az | CLASS_AZ:
|
||||
return extra_newl + NFA_NALPHA;
|
||||
case CLASS_az:
|
||||
return extra_newl + NFA_LOWER;
|
||||
return extra_newl + NFA_LOWER_IC;
|
||||
case CLASS_not | CLASS_az:
|
||||
return extra_newl + NFA_NLOWER;
|
||||
return extra_newl + NFA_NLOWER_IC;
|
||||
case CLASS_AZ:
|
||||
return extra_newl + NFA_UPPER;
|
||||
return extra_newl + NFA_UPPER_IC;
|
||||
case CLASS_not | CLASS_AZ:
|
||||
return extra_newl + NFA_NUPPER;
|
||||
return extra_newl + NFA_NUPPER_IC;
|
||||
}
|
||||
return FAIL;
|
||||
}
|
||||
@@ -733,7 +742,12 @@ nfa_recognize_char_class(start, end, extra_newl)
|
||||
nfa_emit_equi_class(c)
|
||||
int c;
|
||||
{
|
||||
#define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
|
||||
#define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
|
||||
#ifdef FEAT_MBYTE
|
||||
# define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT);
|
||||
#else
|
||||
# define EMITMBC(c)
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
|
||||
@@ -744,92 +758,338 @@ nfa_emit_equi_class(c)
|
||||
{
|
||||
case 'A': case 0300: case 0301: case 0302:
|
||||
case 0303: case 0304: case 0305:
|
||||
EMIT2('A'); EMIT2(0300); EMIT2(0301);
|
||||
EMIT2(0302); EMIT2(0303); EMIT2(0304);
|
||||
EMIT2(0305);
|
||||
CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
|
||||
CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
|
||||
EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302);
|
||||
EMIT2(0303); EMIT2(0304); EMIT2(0305);
|
||||
EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
|
||||
EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
|
||||
EMITMBC(0x1ea2)
|
||||
return OK;
|
||||
|
||||
case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
|
||||
EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
|
||||
return OK;
|
||||
|
||||
case 'C': case 0307:
|
||||
EMIT2('C'); EMIT2(0307);
|
||||
CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
|
||||
EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
|
||||
EMITMBC(0x10a) EMITMBC(0x10c)
|
||||
return OK;
|
||||
|
||||
case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
|
||||
CASEMBC(0x1e0e) CASEMBC(0x1e10)
|
||||
EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
|
||||
EMITMBC(0x1e0e) EMITMBC(0x1e10)
|
||||
return OK;
|
||||
|
||||
case 'E': case 0310: case 0311: case 0312: case 0313:
|
||||
EMIT2('E'); EMIT2(0310); EMIT2(0311);
|
||||
EMIT2(0312); EMIT2(0313);
|
||||
CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
|
||||
CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
|
||||
EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
|
||||
EMIT2(0313);
|
||||
EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
|
||||
EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
|
||||
EMITMBC(0x1ebc)
|
||||
return OK;
|
||||
|
||||
case 'F': CASEMBC(0x1e1e)
|
||||
EMIT2('F'); EMITMBC(0x1e1e)
|
||||
return OK;
|
||||
|
||||
case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
|
||||
CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
|
||||
CASEMBC(0x1e20)
|
||||
EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
|
||||
EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
|
||||
EMITMBC(0x1f4) EMITMBC(0x1e20)
|
||||
return OK;
|
||||
|
||||
case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
|
||||
CASEMBC(0x1e26) CASEMBC(0x1e28)
|
||||
EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
|
||||
EMITMBC(0x1e26) EMITMBC(0x1e28)
|
||||
return OK;
|
||||
|
||||
case 'I': case 0314: case 0315: case 0316: case 0317:
|
||||
EMIT2('I'); EMIT2(0314); EMIT2(0315);
|
||||
EMIT2(0316); EMIT2(0317);
|
||||
CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
|
||||
CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
|
||||
EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
|
||||
EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
|
||||
EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
|
||||
EMITMBC(0x1cf) EMITMBC(0x1ec8)
|
||||
return OK;
|
||||
|
||||
case 'J': CASEMBC(0x134)
|
||||
EMIT2('J'); EMITMBC(0x134)
|
||||
return OK;
|
||||
|
||||
case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
|
||||
CASEMBC(0x1e34)
|
||||
EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
|
||||
EMITMBC(0x1e34)
|
||||
return OK;
|
||||
|
||||
case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
|
||||
CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
|
||||
EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
|
||||
EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
|
||||
return OK;
|
||||
|
||||
case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
|
||||
EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
|
||||
return OK;
|
||||
|
||||
case 'N': case 0321:
|
||||
EMIT2('N'); EMIT2(0321);
|
||||
CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
|
||||
CASEMBC(0x1e48)
|
||||
EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
|
||||
EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
|
||||
return OK;
|
||||
|
||||
case 'O': case 0322: case 0323: case 0324: case 0325:
|
||||
case 0326:
|
||||
EMIT2('O'); EMIT2(0322); EMIT2(0323);
|
||||
EMIT2(0324); EMIT2(0325); EMIT2(0326);
|
||||
case 0326: case 0330:
|
||||
CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
|
||||
CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
|
||||
EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
|
||||
EMIT2(0325); EMIT2(0326); EMIT2(0330);
|
||||
EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
|
||||
EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
|
||||
EMITMBC(0x1ec) EMITMBC(0x1ece)
|
||||
return OK;
|
||||
|
||||
case 'P': case 0x1e54: case 0x1e56:
|
||||
EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56)
|
||||
return OK;
|
||||
|
||||
case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
|
||||
CASEMBC(0x1e58) CASEMBC(0x1e5e)
|
||||
EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
|
||||
EMITMBC(0x1e58) EMITMBC(0x1e5e)
|
||||
return OK;
|
||||
|
||||
case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
|
||||
CASEMBC(0x160) CASEMBC(0x1e60)
|
||||
EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
|
||||
EMITMBC(0x160) EMITMBC(0x1e60)
|
||||
return OK;
|
||||
|
||||
case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
|
||||
CASEMBC(0x1e6a) CASEMBC(0x1e6e)
|
||||
EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
|
||||
EMITMBC(0x1e6a) EMITMBC(0x1e6e)
|
||||
return OK;
|
||||
|
||||
case 'U': case 0331: case 0332: case 0333: case 0334:
|
||||
EMIT2('U'); EMIT2(0331); EMIT2(0332);
|
||||
EMIT2(0333); EMIT2(0334);
|
||||
CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
|
||||
CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
|
||||
CASEMBC(0x1ee6)
|
||||
EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
|
||||
EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
|
||||
EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
|
||||
EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
|
||||
EMITMBC(0x1ee6)
|
||||
return OK;
|
||||
|
||||
case 'V': CASEMBC(0x1e7c)
|
||||
EMIT2('V'); EMITMBC(0x1e7c)
|
||||
return OK;
|
||||
|
||||
case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
|
||||
CASEMBC(0x1e84) CASEMBC(0x1e86)
|
||||
EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
|
||||
EMITMBC(0x1e84) EMITMBC(0x1e86)
|
||||
return OK;
|
||||
|
||||
case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
|
||||
EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
|
||||
return OK;
|
||||
|
||||
case 'Y': case 0335:
|
||||
EMIT2('Y'); EMIT2(0335);
|
||||
CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
|
||||
CASEMBC(0x1ef6) CASEMBC(0x1ef8)
|
||||
EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
|
||||
EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
|
||||
EMITMBC(0x1ef8)
|
||||
return OK;
|
||||
|
||||
case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
|
||||
CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
|
||||
EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
|
||||
EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
|
||||
return OK;
|
||||
|
||||
case 'a': case 0340: case 0341: case 0342:
|
||||
case 0343: case 0344: case 0345:
|
||||
EMIT2('a'); EMIT2(0340); EMIT2(0341);
|
||||
EMIT2(0342); EMIT2(0343); EMIT2(0344);
|
||||
EMIT2(0345);
|
||||
CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
|
||||
CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
|
||||
EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
|
||||
EMIT2(0343); EMIT2(0344); EMIT2(0345);
|
||||
EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
|
||||
EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
|
||||
EMITMBC(0x1ea3)
|
||||
return OK;
|
||||
|
||||
case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
|
||||
EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
|
||||
return OK;
|
||||
|
||||
case 'c': case 0347:
|
||||
EMIT2('c'); EMIT2(0347);
|
||||
CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
|
||||
EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
|
||||
EMITMBC(0x10b) EMITMBC(0x10d)
|
||||
return OK;
|
||||
|
||||
case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b)
|
||||
CASEMBC(0x1e11)
|
||||
EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b)
|
||||
EMITMBC(0x01e0f) EMITMBC(0x1e11)
|
||||
return OK;
|
||||
|
||||
case 'e': case 0350: case 0351: case 0352: case 0353:
|
||||
EMIT2('e'); EMIT2(0350); EMIT2(0351);
|
||||
EMIT2(0352); EMIT2(0353);
|
||||
CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
|
||||
CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
|
||||
EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
|
||||
EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
|
||||
EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
|
||||
EMITMBC(0x1ebb) EMITMBC(0x1ebd)
|
||||
return OK;
|
||||
|
||||
case 'f': CASEMBC(0x1e1f)
|
||||
EMIT2('f'); EMITMBC(0x1e1f)
|
||||
return OK;
|
||||
|
||||
case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
|
||||
CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
|
||||
CASEMBC(0x1e21)
|
||||
EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
|
||||
EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
|
||||
EMITMBC(0x1f5) EMITMBC(0x1e21)
|
||||
return OK;
|
||||
|
||||
case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
|
||||
CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
|
||||
EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
|
||||
EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
|
||||
return OK;
|
||||
|
||||
case 'i': case 0354: case 0355: case 0356: case 0357:
|
||||
EMIT2('i'); EMIT2(0354); EMIT2(0355);
|
||||
EMIT2(0356); EMIT2(0357);
|
||||
CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
|
||||
CASEMBC(0x1d0) CASEMBC(0x1ec9)
|
||||
EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
|
||||
EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
|
||||
EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
|
||||
EMITMBC(0x1ec9)
|
||||
return OK;
|
||||
|
||||
case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
|
||||
EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0)
|
||||
return OK;
|
||||
|
||||
case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
|
||||
CASEMBC(0x1e35)
|
||||
EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
|
||||
EMITMBC(0x1e35)
|
||||
return OK;
|
||||
|
||||
case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
|
||||
CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
|
||||
EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
|
||||
EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
|
||||
return OK;
|
||||
|
||||
case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
|
||||
EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
|
||||
return OK;
|
||||
|
||||
case 'n': case 0361:
|
||||
EMIT2('n'); EMIT2(0361);
|
||||
CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
|
||||
CASEMBC(0x1e45) CASEMBC(0x1e49)
|
||||
EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
|
||||
EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
|
||||
EMITMBC(0x1e49)
|
||||
return OK;
|
||||
|
||||
case 'o': case 0362: case 0363: case 0364: case 0365:
|
||||
case 0366:
|
||||
EMIT2('o'); EMIT2(0362); EMIT2(0363);
|
||||
EMIT2(0364); EMIT2(0365); EMIT2(0366);
|
||||
case 0366: case 0370:
|
||||
CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
|
||||
CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
|
||||
EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
|
||||
EMIT2(0365); EMIT2(0366); EMIT2(0370);
|
||||
EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
|
||||
EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
|
||||
EMITMBC(0x1ed) EMITMBC(0x1ecf)
|
||||
return OK;
|
||||
|
||||
case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
|
||||
EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57)
|
||||
return OK;
|
||||
|
||||
case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
|
||||
CASEMBC(0x1e59) CASEMBC(0x1e5f)
|
||||
EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
|
||||
EMITMBC(0x1e59) EMITMBC(0x1e5f)
|
||||
return OK;
|
||||
|
||||
case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
|
||||
CASEMBC(0x161) CASEMBC(0x1e61)
|
||||
EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
|
||||
EMITMBC(0x161) EMITMBC(0x1e61)
|
||||
return OK;
|
||||
|
||||
case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
|
||||
CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
|
||||
EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
|
||||
EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
|
||||
return OK;
|
||||
|
||||
case 'u': case 0371: case 0372: case 0373: case 0374:
|
||||
EMIT2('u'); EMIT2(0371); EMIT2(0372);
|
||||
EMIT2(0373); EMIT2(0374);
|
||||
CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
|
||||
CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
|
||||
CASEMBC(0x1ee7)
|
||||
EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
|
||||
EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
|
||||
EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
|
||||
EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
|
||||
EMITMBC(0x1ee7)
|
||||
return OK;
|
||||
|
||||
case 'v': CASEMBC(0x1e7d)
|
||||
EMIT2('v'); EMITMBC(0x1e7d)
|
||||
return OK;
|
||||
|
||||
case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
|
||||
CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
|
||||
EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
|
||||
EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
|
||||
return OK;
|
||||
|
||||
case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
|
||||
EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
|
||||
return OK;
|
||||
|
||||
case 'y': case 0375: case 0377:
|
||||
EMIT2('y'); EMIT2(0375); EMIT2(0377);
|
||||
CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
|
||||
CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
|
||||
EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
|
||||
EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
|
||||
EMITMBC(0x1ef7) EMITMBC(0x1ef9)
|
||||
return OK;
|
||||
|
||||
default:
|
||||
return FAIL;
|
||||
case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
|
||||
CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
|
||||
EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
|
||||
EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
|
||||
return OK;
|
||||
|
||||
/* default: character itself */
|
||||
}
|
||||
}
|
||||
|
||||
EMIT(c);
|
||||
EMIT2(c);
|
||||
return OK;
|
||||
#undef EMIT2
|
||||
#undef EMITMBC
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -914,7 +1174,7 @@ nfa_regatom()
|
||||
break;
|
||||
}
|
||||
|
||||
extra = ADD_NL;
|
||||
extra = NFA_ADD_NL;
|
||||
|
||||
/* "\_[" is collection plus newline */
|
||||
if (c == '[')
|
||||
@@ -970,7 +1230,7 @@ nfa_regatom()
|
||||
}
|
||||
#endif
|
||||
EMIT(nfa_classcodes[p - classchars]);
|
||||
if (extra == ADD_NL)
|
||||
if (extra == NFA_ADD_NL)
|
||||
{
|
||||
EMIT(NFA_NEWL);
|
||||
EMIT(NFA_OR);
|
||||
@@ -1123,8 +1383,9 @@ nfa_regatom()
|
||||
EMSG2_RET_FAIL(
|
||||
_("E678: Invalid character after %s%%[dxouU]"),
|
||||
reg_magic == MAGIC_ALL);
|
||||
/* A NUL is stored in the text as NL */
|
||||
/* TODO: what if a composing character follows? */
|
||||
EMIT(nr);
|
||||
EMIT(nr == 0 ? 0x0a : nr);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1240,21 +1501,21 @@ collection:
|
||||
{
|
||||
/*
|
||||
* Try to reverse engineer character classes. For example,
|
||||
* recognize that [0-9] stands for \d and [A-Za-z_] with \h,
|
||||
* recognize that [0-9] stands for \d and [A-Za-z_] for \h,
|
||||
* and perform the necessary substitutions in the NFA.
|
||||
*/
|
||||
result = nfa_recognize_char_class(regparse, endp,
|
||||
extra == ADD_NL);
|
||||
extra == NFA_ADD_NL);
|
||||
if (result != FAIL)
|
||||
{
|
||||
if (result >= NFA_DIGIT && result <= NFA_NUPPER)
|
||||
EMIT(result);
|
||||
else /* must be char class + newline */
|
||||
if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL)
|
||||
{
|
||||
EMIT(result - ADD_NL);
|
||||
EMIT(result - NFA_ADD_NL);
|
||||
EMIT(NFA_NEWL);
|
||||
EMIT(NFA_OR);
|
||||
}
|
||||
else
|
||||
EMIT(result);
|
||||
regparse = endp;
|
||||
mb_ptr_adv(regparse);
|
||||
return OK;
|
||||
@@ -1504,7 +1765,7 @@ collection:
|
||||
* collection, add an OR below. But not for negated
|
||||
* range. */
|
||||
if (!negated)
|
||||
extra = ADD_NL;
|
||||
extra = NFA_ADD_NL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1537,7 +1798,7 @@ collection:
|
||||
EMIT(NFA_END_COLL);
|
||||
|
||||
/* \_[] also matches \n but it's not negated */
|
||||
if (extra == ADD_NL)
|
||||
if (extra == NFA_ADD_NL)
|
||||
{
|
||||
EMIT(reg_string ? NL : NFA_NEWL);
|
||||
EMIT(NFA_OR);
|
||||
@@ -1744,8 +2005,8 @@ nfa_regpiece()
|
||||
{
|
||||
/* Ignore result of previous call to nfa_regatom() */
|
||||
post_ptr = post_start + my_post_start;
|
||||
/* NFA_SKIP_CHAR has 0-length and works everywhere */
|
||||
EMIT(NFA_SKIP_CHAR);
|
||||
/* NFA_EMPTY is 0-length and works everywhere */
|
||||
EMIT(NFA_EMPTY);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -1909,16 +2170,16 @@ nfa_regbranch()
|
||||
old_post_pos = (int)(post_ptr - post_start);
|
||||
if (nfa_regconcat() == FAIL)
|
||||
return FAIL;
|
||||
/* if concat is empty, skip a input char. But do emit a node */
|
||||
/* if concat is empty do emit a node */
|
||||
if (old_post_pos == (int)(post_ptr - post_start))
|
||||
EMIT(NFA_SKIP_CHAR);
|
||||
EMIT(NFA_EMPTY);
|
||||
EMIT(NFA_CONCAT);
|
||||
ch = peekchr();
|
||||
}
|
||||
|
||||
/* Even if a branch is empty, emit one node for it */
|
||||
/* if a branch is empty, emit one node for it */
|
||||
if (old_post_pos == (int)(post_ptr - post_start))
|
||||
EMIT(NFA_SKIP_CHAR);
|
||||
EMIT(NFA_EMPTY);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -2011,7 +2272,7 @@ nfa_set_code(c)
|
||||
if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
|
||||
{
|
||||
addnl = TRUE;
|
||||
c -= ADD_NL;
|
||||
c -= NFA_ADD_NL;
|
||||
}
|
||||
|
||||
STRCPY(code, "");
|
||||
@@ -2162,7 +2423,7 @@ nfa_set_code(c)
|
||||
case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
|
||||
case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
|
||||
case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
|
||||
case NFA_SKIP_CHAR: STRCPY(code, "NFA_SKIP_CHAR"); break;
|
||||
case NFA_EMPTY: STRCPY(code, "NFA_EMPTY"); break;
|
||||
case NFA_OR: STRCPY(code, "NFA_OR"); break;
|
||||
|
||||
case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
|
||||
@@ -2217,6 +2478,10 @@ nfa_set_code(c)
|
||||
case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break;
|
||||
case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break;
|
||||
case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break;
|
||||
case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break;
|
||||
case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break;
|
||||
case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break;
|
||||
case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break;
|
||||
|
||||
default:
|
||||
STRCPY(code, "CHAR(x)");
|
||||
@@ -2687,6 +2952,10 @@ nfa_max_width(startstate, depth)
|
||||
case NFA_NLOWER:
|
||||
case NFA_UPPER:
|
||||
case NFA_NUPPER:
|
||||
case NFA_LOWER_IC:
|
||||
case NFA_NLOWER_IC:
|
||||
case NFA_UPPER_IC:
|
||||
case NFA_NUPPER_IC:
|
||||
/* possibly non-ascii */
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
@@ -2798,7 +3067,7 @@ nfa_max_width(startstate, depth)
|
||||
case NFA_ZSTART:
|
||||
case NFA_ZEND:
|
||||
case NFA_OPT_CHARS:
|
||||
case NFA_SKIP_CHAR:
|
||||
case NFA_EMPTY:
|
||||
case NFA_START_PATTERN:
|
||||
case NFA_END_PATTERN:
|
||||
case NFA_COMPOSING:
|
||||
@@ -2996,15 +3265,14 @@ post2nfa(postfix, end, nfa_calc_size)
|
||||
PUSH(frag(e1.start, e2.out));
|
||||
break;
|
||||
|
||||
case NFA_SKIP_CHAR:
|
||||
/* Symbol of 0-length, Used in a repetition
|
||||
* with max/min count of 0 */
|
||||
case NFA_EMPTY:
|
||||
/* 0-length, used in a repetition with max/min count of 0 */
|
||||
if (nfa_calc_size == TRUE)
|
||||
{
|
||||
nstate++;
|
||||
break;
|
||||
}
|
||||
s = alloc_state(NFA_SKIP_CHAR, NULL, NULL);
|
||||
s = alloc_state(NFA_EMPTY, NULL, NULL);
|
||||
if (s == NULL)
|
||||
goto theend;
|
||||
PUSH(frag(s, list1(&s->out)));
|
||||
@@ -3554,6 +3822,7 @@ static void copy_pim __ARGS((nfa_pim_T *to, nfa_pim_T *from));
|
||||
static void clear_sub __ARGS((regsub_T *sub));
|
||||
static void copy_sub __ARGS((regsub_T *to, regsub_T *from));
|
||||
static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from));
|
||||
static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from));
|
||||
static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2));
|
||||
static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen));
|
||||
static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim));
|
||||
@@ -3640,6 +3909,29 @@ copy_sub_off(to, from)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Like copy_sub() but only do the end of the main match if \ze is present.
|
||||
*/
|
||||
static void
|
||||
copy_ze_off(to, from)
|
||||
regsub_T *to;
|
||||
regsub_T *from;
|
||||
{
|
||||
if (nfa_has_zend)
|
||||
{
|
||||
if (REG_MULTI)
|
||||
{
|
||||
if (from->list.multi[0].end.lnum >= 0)
|
||||
to->list.multi[0].end = from->list.multi[0].end;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (from->list.line[0].end != NULL)
|
||||
to->list.line[0].end = from->list.line[0].end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Return TRUE if "sub1" and "sub2" have the same start positions.
|
||||
*/
|
||||
@@ -3765,6 +4057,9 @@ pim_equal(one, two)
|
||||
if (two_unused)
|
||||
/* one is used and two is not: not equal */
|
||||
return FALSE;
|
||||
/* compare the state id */
|
||||
if (one->state->id != two->state->id)
|
||||
return FALSE;
|
||||
/* compare the position */
|
||||
if (REG_MULTI)
|
||||
return one->end.pos.lnum == two->end.pos.lnum
|
||||
@@ -3841,6 +4136,10 @@ match_follows(startstate, depth)
|
||||
case NFA_NLOWER:
|
||||
case NFA_UPPER:
|
||||
case NFA_NUPPER:
|
||||
case NFA_LOWER_IC:
|
||||
case NFA_NLOWER_IC:
|
||||
case NFA_UPPER_IC:
|
||||
case NFA_NUPPER_IC:
|
||||
case NFA_START_COLL:
|
||||
case NFA_START_NEG_COLL:
|
||||
case NFA_NEWL:
|
||||
@@ -3933,7 +4232,7 @@ addstate(l, state, subs_arg, pim, off)
|
||||
case NFA_MOPEN:
|
||||
case NFA_ZEND:
|
||||
case NFA_SPLIT:
|
||||
case NFA_SKIP_CHAR:
|
||||
case NFA_EMPTY:
|
||||
/* These nodes are not added themselves but their "out" and/or
|
||||
* "out1" may be added below. */
|
||||
break;
|
||||
@@ -4061,7 +4360,7 @@ skip_add:
|
||||
subs = addstate(l, state->out1, subs, pim, off);
|
||||
break;
|
||||
|
||||
case NFA_SKIP_CHAR:
|
||||
case NFA_EMPTY:
|
||||
case NFA_NOPEN:
|
||||
case NFA_NCLOSE:
|
||||
subs = addstate(l, state->out, subs, pim, off);
|
||||
@@ -4096,7 +4395,7 @@ skip_add:
|
||||
sub = &subs->norm;
|
||||
}
|
||||
#ifdef FEAT_SYN_HL
|
||||
else if (state->c >= NFA_ZOPEN)
|
||||
else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
|
||||
{
|
||||
subidx = state->c - NFA_ZOPEN;
|
||||
sub = &subs->synt;
|
||||
@@ -4165,6 +4464,13 @@ skip_add:
|
||||
}
|
||||
|
||||
subs = addstate(l, state->out, subs, pim, off);
|
||||
/* "subs" may have changed, need to set "sub" again */
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
|
||||
sub = &subs->synt;
|
||||
else
|
||||
#endif
|
||||
sub = &subs->norm;
|
||||
|
||||
if (save_in_use == -1)
|
||||
{
|
||||
@@ -4178,10 +4484,11 @@ skip_add:
|
||||
break;
|
||||
|
||||
case NFA_MCLOSE:
|
||||
if (nfa_has_zend)
|
||||
if (nfa_has_zend && (REG_MULTI
|
||||
? subs->norm.list.multi[0].end.lnum >= 0
|
||||
: subs->norm.list.line[0].end != NULL))
|
||||
{
|
||||
/* Do not overwrite the position set by \ze. If no \ze
|
||||
* encountered end will be set in nfa_regtry(). */
|
||||
/* Do not overwrite the position set by \ze. */
|
||||
subs = addstate(l, state->out, subs, pim, off);
|
||||
break;
|
||||
}
|
||||
@@ -4213,7 +4520,7 @@ skip_add:
|
||||
sub = &subs->norm;
|
||||
}
|
||||
#ifdef FEAT_SYN_HL
|
||||
else if (state->c >= NFA_ZCLOSE)
|
||||
else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
|
||||
{
|
||||
subidx = state->c - NFA_ZCLOSE;
|
||||
sub = &subs->synt;
|
||||
@@ -4257,6 +4564,13 @@ skip_add:
|
||||
}
|
||||
|
||||
subs = addstate(l, state->out, subs, pim, off);
|
||||
/* "subs" may have changed, need to set "sub" again */
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
|
||||
sub = &subs->synt;
|
||||
else
|
||||
#endif
|
||||
sub = &subs->norm;
|
||||
|
||||
if (REG_MULTI)
|
||||
sub->list.multi[subidx].end = save_lpos;
|
||||
@@ -5018,6 +5332,7 @@ find_match_text(startcol, regstart, match_text)
|
||||
* When "nfa_endp" is not NULL it is a required end-of-match position.
|
||||
*
|
||||
* Return TRUE if there is a match, FALSE otherwise.
|
||||
* When there is a match "submatch" contains the positions.
|
||||
* Note: Caller must ensure that: start != NULL.
|
||||
*/
|
||||
static int
|
||||
@@ -5051,6 +5366,12 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
/* Some patterns may take a long time to match, especially when using
|
||||
* recursive_regmatch(). Allow interrupting them with CTRL-C. */
|
||||
fast_breakcheck();
|
||||
if (got_int)
|
||||
return FALSE;
|
||||
|
||||
nfa_match = FALSE;
|
||||
|
||||
/* Allocate memory for the lists of nodes. */
|
||||
@@ -5278,7 +5599,10 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
log_subsexpr(m);
|
||||
#endif
|
||||
nfa_match = TRUE;
|
||||
break;
|
||||
/* See comment above at "goto nextchar". */
|
||||
if (nextlist->n == 0)
|
||||
clen = 0;
|
||||
goto nextchar;
|
||||
|
||||
case NFA_START_INVISIBLE:
|
||||
case NFA_START_INVISIBLE_FIRST:
|
||||
@@ -5304,9 +5628,13 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
{
|
||||
int in_use = m->norm.in_use;
|
||||
|
||||
/* Copy submatch info for the recursive call, so that
|
||||
* \1 can be matched. */
|
||||
/* Copy submatch info for the recursive call, opposite
|
||||
* of what happens on success below. */
|
||||
copy_sub_off(&m->norm, &t->subs.norm);
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (nfa_has_zsubexpr)
|
||||
copy_sub_off(&m->synt, &t->subs.synt);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* First try matching the invisible match, then what
|
||||
@@ -5330,6 +5658,9 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
if (nfa_has_zsubexpr)
|
||||
copy_sub_off(&t->subs.synt, &m->synt);
|
||||
#endif
|
||||
/* If the pattern has \ze and it matched in the
|
||||
* sub pattern, use it. */
|
||||
copy_ze_off(&t->subs.norm, &m->norm);
|
||||
|
||||
/* t->state->out1 is the corresponding
|
||||
* END_INVISIBLE node; Add its out to the current
|
||||
@@ -5413,6 +5744,13 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
/* Copy submatch info to the recursive call, opposite of what
|
||||
* happens afterwards. */
|
||||
copy_sub_off(&m->norm, &t->subs.norm);
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (nfa_has_zsubexpr)
|
||||
copy_sub_off(&m->synt, &t->subs.synt);
|
||||
#endif
|
||||
|
||||
/* First try matching the pattern. */
|
||||
result = recursive_regmatch(t->state, NULL, prog,
|
||||
@@ -5872,6 +6210,28 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
ADD_STATE_IF_MATCH(t->state);
|
||||
break;
|
||||
|
||||
case NFA_LOWER_IC: /* [a-z] */
|
||||
result = ri_lower(curc) || (ireg_ic && ri_upper(curc));
|
||||
ADD_STATE_IF_MATCH(t->state);
|
||||
break;
|
||||
|
||||
case NFA_NLOWER_IC: /* [^a-z] */
|
||||
result = curc != NUL
|
||||
&& !(ri_lower(curc) || (ireg_ic && ri_upper(curc)));
|
||||
ADD_STATE_IF_MATCH(t->state);
|
||||
break;
|
||||
|
||||
case NFA_UPPER_IC: /* [A-Z] */
|
||||
result = ri_upper(curc) || (ireg_ic && ri_lower(curc));
|
||||
ADD_STATE_IF_MATCH(t->state);
|
||||
break;
|
||||
|
||||
case NFA_NUPPER_IC: /* ^[A-Z] */
|
||||
result = curc != NUL
|
||||
&& !(ri_upper(curc) || (ireg_ic && ri_lower(curc)));
|
||||
ADD_STATE_IF_MATCH(t->state);
|
||||
break;
|
||||
|
||||
case NFA_BACKREF1:
|
||||
case NFA_BACKREF2:
|
||||
case NFA_BACKREF3:
|
||||
@@ -6098,6 +6458,7 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
if (add_state != NULL)
|
||||
{
|
||||
nfa_pim_T *pim;
|
||||
nfa_pim_T pim_copy;
|
||||
|
||||
if (t->pim.result == NFA_PIM_UNUSED)
|
||||
pim = NULL;
|
||||
@@ -6171,6 +6532,15 @@ nfa_regmatch(prog, start, submatch, m)
|
||||
pim = NULL;
|
||||
}
|
||||
|
||||
/* If "pim" points into l->t it will become invalid when
|
||||
* adding the state causes the list to be reallocated. Make a
|
||||
* local copy to avoid that. */
|
||||
if (pim == &t->pim)
|
||||
{
|
||||
copy_pim(&pim_copy, pim);
|
||||
pim = &pim_copy;
|
||||
}
|
||||
|
||||
if (add_here)
|
||||
addstate_here(thislist, add_state, &t->subs, pim, &listidx);
|
||||
else
|
||||
|
||||
+5
-2
@@ -1769,6 +1769,9 @@ findmatchlimit(oap, initc, flags, maxtravel)
|
||||
#endif
|
||||
|
||||
pos = curwin->w_cursor;
|
||||
#ifdef FEAT_VIRTUALEDIT
|
||||
pos.coladd = 0;
|
||||
#endif
|
||||
linep = ml_get(pos.lnum);
|
||||
|
||||
cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL);
|
||||
@@ -4686,8 +4689,8 @@ is_one_char(pattern)
|
||||
&& regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
|
||||
&& regmatch.startpos[0].col == regmatch.endpos[0].col);
|
||||
|
||||
if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col)
|
||||
result = TRUE;
|
||||
if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col)
|
||||
result = TRUE;
|
||||
}
|
||||
|
||||
called_emsg |= save_called_emsg;
|
||||
|
||||
+15
-4
@@ -9479,7 +9479,8 @@ spell_add_word(word, len, bad, idx, undo)
|
||||
if (undo)
|
||||
{
|
||||
home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
|
||||
smsg((char_u *)_("Word removed from %s"), NameBuff);
|
||||
smsg((char_u *)_("Word '%.*s' removed from %s"),
|
||||
len, word, NameBuff);
|
||||
}
|
||||
}
|
||||
fseek(fd, fpos_next, SEEK_SET);
|
||||
@@ -9525,7 +9526,7 @@ spell_add_word(word, len, bad, idx, undo)
|
||||
fclose(fd);
|
||||
|
||||
home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
|
||||
smsg((char_u *)_("Word added to %s"), NameBuff);
|
||||
smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10135,7 +10136,7 @@ spell_check_sps()
|
||||
}
|
||||
|
||||
/*
|
||||
* "z?": Find badly spelled word under or after the cursor.
|
||||
* "z=": Find badly spelled word under or after the cursor.
|
||||
* Give suggestions for the properly spelled word.
|
||||
* In Visual mode use the highlighted word as the bad word.
|
||||
* When "count" is non-zero use that suggestion.
|
||||
@@ -15568,11 +15569,21 @@ ex_spellinfo(eap)
|
||||
ex_spelldump(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
char_u *spl;
|
||||
long dummy;
|
||||
|
||||
if (no_spell_checking(curwin))
|
||||
return;
|
||||
get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL);
|
||||
|
||||
/* Create a new empty buffer by splitting the window. */
|
||||
/* Create a new empty buffer in a new window. */
|
||||
do_cmdline_cmd((char_u *)"new");
|
||||
|
||||
/* enable spelling locally in the new window */
|
||||
set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL);
|
||||
set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL);
|
||||
vim_free(spl);
|
||||
|
||||
if (!bufempty() || !buf_valid(curbuf))
|
||||
return;
|
||||
|
||||
|
||||
@@ -1797,13 +1797,16 @@ line_read_in:
|
||||
*/
|
||||
if (state == TS_START)
|
||||
{
|
||||
/* The header ends when the line sorts below "!_TAG_".
|
||||
* There may be non-header items before the header though,
|
||||
* e.g. "!" itself. When case is folded lower case letters
|
||||
* sort before "_". */
|
||||
/* The header ends when the line sorts below "!_TAG_". When
|
||||
* case is folded lower case letters sort before "_". */
|
||||
if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
|
||||
|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
|
||||
{
|
||||
if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
|
||||
/* Non-header item before the header, e.g. "!" itself.
|
||||
*/
|
||||
goto parse_line;
|
||||
|
||||
/*
|
||||
* Read header line.
|
||||
*/
|
||||
@@ -1898,6 +1901,7 @@ line_read_in:
|
||||
#endif
|
||||
}
|
||||
|
||||
parse_line:
|
||||
/*
|
||||
* Figure out where the different strings are in this line.
|
||||
* For "normal" tags: Do a quick check if the tag matches.
|
||||
|
||||
+1
-1
@@ -3356,7 +3356,7 @@ may_req_termresponse()
|
||||
* it must be called immediately after entering termcap mode.
|
||||
*/
|
||||
void
|
||||
may_req_ambiguous_character_width()
|
||||
may_req_ambiguous_char_width()
|
||||
{
|
||||
if (u7_status == U7_GET
|
||||
&& cur_tmode == TMODE_RAW
|
||||
|
||||
@@ -33,7 +33,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test97.out test98.out
|
||||
test94.out test95.out test96.out test97.out test98.out \
|
||||
test99.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
@@ -148,3 +149,4 @@ test95.out: test95.in
|
||||
test96.out: test96.in
|
||||
test97.out: test97.in
|
||||
test98.out: test98.in
|
||||
test99.out: test99.in
|
||||
|
||||
@@ -32,7 +32,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test98.out
|
||||
test94.out test95.out test96.out test98.out test99.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test98.out
|
||||
test94.out test95.out test96.out test98.out test99.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test98.out
|
||||
test94.out test95.out test96.out test98.out test99.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
# Last change: 2013 Jul 09
|
||||
# Last change: 2013 Sep 19
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
@@ -78,7 +78,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
test90.out test91.out test92.out test93.out test94.out \
|
||||
test95.out test96.out test97.out test98.out
|
||||
test95.out test96.out test97.out test98.out test99.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
|
||||
@@ -29,7 +29,8 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test97.out test98.out
|
||||
test94.out test95.out test96.out test97.out test98.out \
|
||||
test99.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
@@ -57,9 +58,13 @@ clean:
|
||||
-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
|
||||
|
||||
test1.out: test1.in
|
||||
-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START)
|
||||
-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
|
||||
$(RUN_VIM) $*.in
|
||||
@/bin/sh -c "if diff test.out $*.ok; \
|
||||
@/bin/sh -c "if test -e wrongtermsize; \
|
||||
then echo; \
|
||||
echo test1 FAILED - terminal size must be 80x24 or larger; \
|
||||
echo; exit 1; \
|
||||
elif diff test.out $*.ok; \
|
||||
then mv -f test.out $*.out; \
|
||||
else echo; \
|
||||
echo test1 FAILED - Something basic is wrong; \
|
||||
|
||||
@@ -18,6 +18,10 @@ Similar logic is applied to the +mzscheme feature, using mzscheme.vim.
|
||||
Similar logic is applied to the +lua feature, using lua.vim.
|
||||
|
||||
STARTTEST
|
||||
:" If columns or lines are too small, create wrongtermsize.
|
||||
:" (Some tests will fail. When columns and/or lines are small)
|
||||
:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
|
||||
:"
|
||||
:" Write a single line to test.out to check if testing works at all.
|
||||
:%d
|
||||
athis is a test:w! test.out
|
||||
|
||||
@@ -9,11 +9,17 @@ G0"ay$k@au
|
||||
@auY:quit!
|
||||
GP
|
||||
/start here$
|
||||
jjlld
|
||||
:/here$/,$-1w! test.out
|
||||
"by$jjlld
|
||||
/456$
|
||||
jj"bP
|
||||
:/56$/,$-1w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
123456
|
||||
234567
|
||||
345678
|
||||
|
||||
test text test tex start here
|
||||
some text
|
||||
test text
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
123start here56
|
||||
234start here67
|
||||
345start here78
|
||||
|
||||
test text test tex rt here
|
||||
somext
|
||||
tesext
|
||||
|
||||
@@ -36,6 +36,9 @@ kOM
|
||||
:w Xtest11.one
|
||||
:w Xtest11.two
|
||||
OIXA
|
||||
:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
|
||||
:" CTRL-X CTRL-F again to verify this doesn't cause trouble.
|
||||
OXddk
|
||||
:se cpt=w
|
||||
OST
|
||||
:se cpt=u nohid
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
Tests for regexp with multi-byte encoding and various magic settings.
|
||||
Test matchstr() with a count and multi-byte chars.
|
||||
See test99 for exactly the same test with re=2.
|
||||
|
||||
STARTTEST
|
||||
:so mbyte.vim
|
||||
:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
|
||||
:set re=1
|
||||
/^1
|
||||
/a*b\{2}c\+/e
|
||||
x/\Md\*e\{2}f\+/e
|
||||
|
||||
@@ -46,6 +46,9 @@ vlgnd
|
||||
:set selection=exclusive
|
||||
$cgNmongoose/i
|
||||
cgnj
|
||||
:" Make sure there is no other match y uppercase.
|
||||
/x59
|
||||
gggnd
|
||||
:/^start:/,/^end:/wq! test.out
|
||||
ENDTEST
|
||||
|
||||
@@ -75,4 +78,7 @@ delete first and last chars
|
||||
uniquepattern uniquepattern
|
||||
my very excellent mother just served us nachos
|
||||
for (i=0; i<=10; i++)
|
||||
Y
|
||||
text
|
||||
Y
|
||||
end:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user