mirror of
https://github.com/zoriya/vim.git
synced 2026-01-08 07:22:11 +00:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3a2246227 | ||
|
|
9c9cbf1351 | ||
|
|
12a753a5ca | ||
|
|
95e09eaaad | ||
|
|
a80888d296 | ||
|
|
17aa8cc255 | ||
|
|
a9a2d8f4d0 | ||
|
|
707cfb82dc | ||
|
|
f00dc2627b | ||
|
|
e8d8fd2add | ||
|
|
3a0d8090b1 | ||
|
|
67a4f6cfb4 | ||
|
|
faca84059a | ||
|
|
cfb807026f | ||
|
|
bffa06ddb8 | ||
|
|
003d14a267 | ||
|
|
c4b98fbb3e | ||
|
|
f3408e76fb | ||
|
|
b6101cf77f | ||
|
|
2d17fa3ebd | ||
|
|
9f340fa57b | ||
|
|
205f9f5e2d | ||
|
|
b88adbf844 | ||
|
|
dac7569612 | ||
|
|
d04da7cb4a |
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2012 Jun 20
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2012 Oct 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -217,7 +217,7 @@ CTRL-\ e {expr} *c_CTRL-\_e*
|
||||
:return cmd
|
||||
:endfunc
|
||||
< This doesn't work recursively, thus not when already editing
|
||||
an expression.
|
||||
an expression. But it is possible to use in a mapping.
|
||||
|
||||
*c_CTRL-Y*
|
||||
CTRL-Y When there is a modeless selection, copy the selection into
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2012 Sep 05
|
||||
*eval.txt* For Vim version 7.3. Last change: 2012 Oct 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -91,8 +91,8 @@ For boolean operators Numbers are used. Zero is FALSE, non-zero is TRUE.
|
||||
Note that in the command >
|
||||
:if "foo"
|
||||
"foo" is converted to 0, which means FALSE. To test for a non-empty string,
|
||||
use strlen(): >
|
||||
:if strlen("foo")
|
||||
use empty(): >
|
||||
:if !empty("foo")
|
||||
< *E745* *E728* *E703* *E729* *E730* *E731*
|
||||
List, Dictionary and Funcref types are not automatically converted.
|
||||
|
||||
@@ -1932,6 +1932,7 @@ setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
|
||||
shellescape( {string} [, {special}])
|
||||
String escape {string} for use as shell
|
||||
command argument
|
||||
shiftwidth() Number effective value of 'shiftwidth'
|
||||
simplify( {filename}) String simplify filename as much as possible
|
||||
sin( {expr}) Float sine of {expr}
|
||||
sinh( {expr}) Float hyperbolic sine of {expr}
|
||||
@@ -3754,10 +3755,10 @@ inputdialog({prompt} [, {text} [, {cancelreturn}]]) *inputdialog()*
|
||||
Like |input()|, but when the GUI is running and text dialogs
|
||||
are supported, a dialog window pops up to input the text.
|
||||
Example: >
|
||||
:let n = inputdialog("value for shiftwidth", &sw)
|
||||
:if n != ""
|
||||
: let &sw = n
|
||||
:endif
|
||||
:let n = inputdialog("value for shiftwidth", shiftwidth())
|
||||
:if n != ""
|
||||
: let &sw = n
|
||||
:endif
|
||||
< When the dialog is cancelled {cancelreturn} is returned. When
|
||||
omitted an empty string is returned.
|
||||
Hitting <Enter> works like pressing the OK button. Hitting
|
||||
@@ -5331,6 +5332,23 @@ shellescape({string} [, {special}]) *shellescape()*
|
||||
:call system("chmod +w -- " . shellescape(expand("%")))
|
||||
|
||||
|
||||
shiftwidth() *shiftwidth()*
|
||||
Returns the effective value of 'shiftwidth'. This is the
|
||||
'shiftwidth' value unless it is zero, in which case it is the
|
||||
'tabstop' value. To be backwards compatible in indent
|
||||
plugins, use this: >
|
||||
if exists('*shiftwidth')
|
||||
func s:sw()
|
||||
return shiftwidth()
|
||||
endfunc
|
||||
else
|
||||
func s:sw()
|
||||
return &sw
|
||||
endfunc
|
||||
endif
|
||||
< And then use s:sw() instead of &sw.
|
||||
|
||||
|
||||
simplify({filename}) *simplify()*
|
||||
Simplify the file name as much as possible without changing
|
||||
the meaning. Shortcuts (on MS-Windows) or symbolic links (on
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2012 Jun 06
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2012 Oct 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -1085,6 +1085,13 @@ Since the mapping is defined with |:lnoremap| the resulting quote will not be
|
||||
used for the start of another character.
|
||||
The "accents" keymap uses this. *keymap-accents*
|
||||
|
||||
The first column can also be in |<>| form:
|
||||
<C-c> Ctrl-C
|
||||
<A-c> Alt-c
|
||||
<A-C> Alt-C
|
||||
Note that the Alt mappings may not work, depending on your keyboard and
|
||||
terminal.
|
||||
|
||||
Although it's possible to have more than one character in the second column,
|
||||
this is unusual. But you can use various ways to specify the character: >
|
||||
A a literal character
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2012 Aug 15
|
||||
*options.txt* For Vim version 7.3. Last change: 2012 Oct 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -756,7 +756,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
feature}
|
||||
When on and 'termbidi' is off, the required visual character
|
||||
corrections that need to take place for displaying the Arabic language
|
||||
take affect. Shaping, in essence, gets enabled; the term is a broad
|
||||
take effect. Shaping, in essence, gets enabled; the term is a broad
|
||||
one which encompasses:
|
||||
a) the changing/morphing of characters based on their location
|
||||
within a word (initial, medial, final and stand-alone).
|
||||
@@ -6119,7 +6119,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
local to buffer
|
||||
Number of spaces to use for each step of (auto)indent. Used for
|
||||
|'cindent'|, |>>|, |<<|, etc.
|
||||
When zero the 'ts' value will be used.
|
||||
When zero the 'ts' value will be used. Use the |shiftwidth()|
|
||||
function to get the effective shiftwidth value.
|
||||
|
||||
*'shortmess'* *'shm'*
|
||||
'shortmess' 'shm' string (Vim default "filnxtToO", Vi default: "",
|
||||
@@ -6383,6 +6384,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
of 8, while being able to edit like it is set to 'sts'. However,
|
||||
commands like "x" still work on the actual characters.
|
||||
When 'sts' is zero, this feature is off.
|
||||
When 'sts' is negative, the value of 'shiftwidth' is used.
|
||||
'softtabstop' is set to 0 when the 'paste' option is set.
|
||||
See also |ins-expandtab|. When 'expandtab' is not set, the number of
|
||||
spaces is minimized by using <Tab>s.
|
||||
|
||||
@@ -7550,6 +7550,7 @@ shell_error-variable eval.txt /*shell_error-variable*
|
||||
shellescape() eval.txt /*shellescape()*
|
||||
shift intro.txt /*shift*
|
||||
shift-left-right change.txt /*shift-left-right*
|
||||
shiftwidth() eval.txt /*shiftwidth()*
|
||||
short-name-changed version4.txt /*short-name-changed*
|
||||
showing-menus gui.txt /*showing-menus*
|
||||
sign-commands sign.txt /*sign-commands*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2012 Oct 04
|
||||
*todo.txt* For Vim version 7.3. Last change: 2012 Oct 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,43 +34,27 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Patch with Test for patch 7.3.673 (Christian Brabandt, 2012 Oct 3)
|
||||
|
||||
Patch for C-\ e when editing expression. (Christian Brabandt, 2012 Oct 3)
|
||||
Correction by ZyX.
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Checking runtime scripts: Thilo Six, 2012 Jun 6.
|
||||
|
||||
Crash with 1023 byte directory name. (Danek Duvall, 2012 Sep 19)
|
||||
|
||||
Patch for wrong text in balloon, Issue 58. (Dominique Pelle)
|
||||
|
||||
Patch for menu.vim to correct message about adding spell file.
|
||||
(Jiri Sedlak, 2012 Sep 24)
|
||||
|
||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
(Aaron Cornelius, 2012 Feb 6)
|
||||
|
||||
Patch for SGR mouse with older xterm. (Hayaki Saito, 2012 Sep 19)
|
||||
Patch to fix undofile hash computed when not necessary. (Christian Brabandt,
|
||||
2012 Oct 16, update Oct 18)
|
||||
|
||||
Patch for crash with an autocommand. (ZyX, 2012 Sep 6, second one)
|
||||
Also patch for garbage, but use vim_strncpy() instead.
|
||||
|
||||
Patch to fix crash on Win32 when setting 'encoding'. (Jiri Sedlak, 2012 Sep
|
||||
12)
|
||||
|
||||
Patch to update example using empty(). (ZyX, 2012 Sep 13)
|
||||
Patch to fix repeating "cgn". (Christian Brabandt, 2012 Oct 16)
|
||||
Update Oct 17.
|
||||
|
||||
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
|
||||
|
||||
Updated French and Esperanto files. (Dominique Pelle, 2012 Aug 19)
|
||||
|
||||
When showing diffs filler lines may be hidden at first.
|
||||
Patch by Christian Brabandt, 2012 Sep 6.
|
||||
Patch by Christian Brabandt, 2012 Sep 6. Update Oct 11.
|
||||
|
||||
Patch for memory leaks on exception. (ZyX, 2012 Sep 9)
|
||||
|
||||
@@ -78,6 +62,11 @@ The CompleteDone autocommand needs some info passed to it:
|
||||
- The word that was selected (empty if abandoned complete)
|
||||
- Type of completion: tag, omnifunc, user func.
|
||||
|
||||
Unwanted file name escaping: ":echo input('file:' , '', 'file')"
|
||||
And use file name completion on a file with spaces. (Frederic Hardy, 2009 Mar
|
||||
23)
|
||||
Patch by Christian Brabandt, 2012 Oct 18. Update Oct 19.
|
||||
|
||||
mouse_sgr is not ordered alphabetically in :version output.
|
||||
Docs list mouse_urxvt as normal feature, should be big. (Hayaki Saito, 2012
|
||||
Aug 16)
|
||||
@@ -104,7 +93,7 @@ complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5)
|
||||
|
||||
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
28) Asked for tests.
|
||||
28) With tests: Oct 9.
|
||||
|
||||
Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
|
||||
(Yukihiro Nakadaira, 2012 Aug 16)
|
||||
@@ -115,10 +104,17 @@ Issue 54: document behavior of -complete, also expands arg.
|
||||
New syntax files for apt. (quidame, 2012 Sep 21)
|
||||
|
||||
Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1)
|
||||
then Sep 1, reminder Oct 14)
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
:setlocal does not work in the sandbox, but :set does. Both should work in a
|
||||
similar way (not setting some options). (Michael Henry, 2012 Oct 20)
|
||||
|
||||
In the ATTENTION message about an existing swap file, mention the name of the
|
||||
process that is running. It might actually be some other program, e.g. after
|
||||
a reboot.
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
@@ -169,6 +165,10 @@ But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
||||
Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
|
||||
Aug 16)
|
||||
|
||||
Have an option for spell checking to not mark any Chinese, Japanese or other
|
||||
double-width characters as error. Or perhaps all characters above 256.
|
||||
(Bill Sun) Helps a lot for mixed Asian and latin text.
|
||||
|
||||
URXVT:
|
||||
- will get stuck if byte sequence does not containe expected semicolon.
|
||||
- Use urxvt mouse support also in xterm. Explanations:
|
||||
@@ -761,10 +761,6 @@ Now that colnr_T is int instead of unsigned, more type casts can be removed.
|
||||
'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
|
||||
20)
|
||||
|
||||
Unwanted file name escaping: ":echo input('file:' , '', 'file')"
|
||||
And use file name completion on a file with spaces. (Frederic Hardy, 2009 Mar
|
||||
23)
|
||||
|
||||
Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
|
||||
2009 Apr 7) Reminder Apr 14.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2012 Mar 16
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2012 Oct 13
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -1581,7 +1581,7 @@ Here the comment part will be ignored. However, Vim will try to unmap
|
||||
|
||||
RESTORING THE VIEW
|
||||
|
||||
Sometimes you want to make a change and go back to where cursor was.
|
||||
Sometimes you want to make a change and go back to where the cursor was.
|
||||
Restoring the relative position would also be nice, so that the same line
|
||||
appears at the top of the window.
|
||||
This example yanks the current line, puts it above the first line in the
|
||||
|
||||
@@ -1566,7 +1566,7 @@ au BufNewFile,BufRead *.reg
|
||||
au BufNewFile,BufRead *.rib setf rib
|
||||
|
||||
" Rexx
|
||||
au BufNewFile,BufRead *.rexx,*.rex,*.jrexx,*.rxj,*.orx setf rexx
|
||||
au BufNewFile,BufRead *.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit setf rexx
|
||||
|
||||
" R (Splus)
|
||||
if has("fname_case")
|
||||
@@ -1884,6 +1884,8 @@ au BufNewFile,BufRead *.st setf st
|
||||
au BufNewFile,BufRead *.cls
|
||||
\ if getline(1) =~ '^%' |
|
||||
\ setf tex |
|
||||
\ elseif getline(1)[0] == '#' && getline(1) =~ 'rexx' |
|
||||
\ setf rexx |
|
||||
\ else |
|
||||
\ setf st |
|
||||
\ endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2011 Mar 22
|
||||
" Last Change: 2012 Oct 21
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
" in all modes and avoid side effects from mappings defined by the user.
|
||||
@@ -434,6 +434,10 @@ if has("spell")
|
||||
let enc = &enc
|
||||
endif
|
||||
|
||||
if !exists("g:menutrans_set_lang_to")
|
||||
let g:menutrans_set_lang_to = 'Set language to'
|
||||
endif
|
||||
|
||||
let found = 0
|
||||
let s = globpath(&rtp, "spell/*." . enc . ".spl")
|
||||
if s != ""
|
||||
@@ -441,8 +445,9 @@ if has("spell")
|
||||
for f in split(s, "\n")
|
||||
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
||||
if nm != "en" && nm !~ '/'
|
||||
let _nm = nm
|
||||
let found += 1
|
||||
let menuname = '&Tools.&Spelling.Set\ language\ to\ "' . nm . '"'
|
||||
let menuname = '&Tools.&Spelling.' . escape(g:menutrans_set_lang_to, "\\. \t|") . '\ "' . nm . '"'
|
||||
exe 'an 40.335.' . n . ' ' . menuname . ' :set spl=' . nm . ' spell<CR>'
|
||||
let s:undo_spellang += ['aun ' . menuname]
|
||||
endif
|
||||
@@ -452,7 +457,7 @@ if has("spell")
|
||||
if found == 0
|
||||
echomsg "Could not find other spell files"
|
||||
elseif found == 1
|
||||
echomsg "Found spell file " . nm
|
||||
echomsg "Found spell file " . _nm
|
||||
else
|
||||
echomsg "Found " . found . " more spell files"
|
||||
endif
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim ABAP syntax file
|
||||
" Language: SAP - ABAP/R4
|
||||
" Revision: 1.0
|
||||
" Maintainer: Marius Piedallu van Wyk <marius@e.co.za>
|
||||
" Last Change: 2006 Apr 13
|
||||
" Revision: 2.0
|
||||
" Maintainer: Marius Piedallu van Wyk <lailoken@gmail.com>
|
||||
" Last Change: 2012 Oct 12
|
||||
" Comment: Thanks to EPI-USE Labs for all your assistance. :)
|
||||
|
||||
" For version < 6.0: Clear all syntax items
|
||||
" For version >= 6.0: Quit when a syntax file was already loaded
|
||||
@@ -16,73 +17,126 @@ endif
|
||||
syn case ignore
|
||||
|
||||
" Symbol Operators
|
||||
syn match abapSymbolOperator "[+\-/=<>$]"
|
||||
syn match abapSymbolOperator "\*"
|
||||
syn match abapSymbolOperator "[<>]="
|
||||
syn match abapSymbolOperator "<>"
|
||||
syn match abapSymbolOperator "\*\*"
|
||||
syn match abapSymbolOperator "[()]"
|
||||
syn match abapSymbolOperator "[:,\.]"
|
||||
syn match abapSymbolOperator "\W+\W"
|
||||
syn match abapSymbolOperator "\W-\W"
|
||||
syn match abapSymbolOperator "\W/\W"
|
||||
syn match abapSymbolOperator "\W%\W"
|
||||
syn match abapSymbolOperator "\W=\W"
|
||||
syn match abapSymbolOperator "\W<\W"
|
||||
syn match abapSymbolOperator "\W>\W"
|
||||
syn match abapSymbolOperator "\W\*\W"
|
||||
syn match abapSymbolOperator "\W[<>]=\W"
|
||||
syn match abapSymbolOperator "\W<>\W"
|
||||
syn match abapSymbolOperator "\W\*\*\W"
|
||||
syn match abapSymbolOperator "\[\]"
|
||||
syn match abapSymbolOperator "->\*\?"
|
||||
syn match abapSymbolOperator "=>"
|
||||
syn match abapSymbolOperator "[()~:,\.&$]"
|
||||
|
||||
" Literals
|
||||
syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape
|
||||
syn match abapStringEscape contained "''"
|
||||
syn region abapCharString matchgroup=abapCharString start="'" end="'" contains=abapCharStringEscape
|
||||
syn match abapCharStringEscape contained "''"
|
||||
|
||||
syn match abapNumber "-\=\<\d\+\>"
|
||||
syn region abapString matchgroup=abapString start="`" end="`" contains=abapStringEscape
|
||||
syn match abapStringEscape contained "``"
|
||||
|
||||
syn match abapNumber "\-\=\<\d\+\>"
|
||||
syn region abapHex matchgroup=abapHex start="X'" end="'"
|
||||
|
||||
if version >= 600
|
||||
setlocal iskeyword=-,48-57,_,A-Z,a-z
|
||||
setlocal iskeyword=48-57,_,A-Z,a-z,/
|
||||
else
|
||||
set iskeyword=-,48-57,_,A-Z,a-z
|
||||
set iskeyword=48-57,_,A-Z,a-z,/
|
||||
endif
|
||||
|
||||
syn match abapNamespace "/\w\+/"
|
||||
|
||||
" multi-word statements
|
||||
syn match abapComplexStatement "\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)"
|
||||
syn match abapComplexStatement "NO\W\+STANDARD\W\+PAGE\W\+HEADING"
|
||||
syn match abapComplexStatement "\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)"
|
||||
syn match abapComplexStatement "\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)"
|
||||
syn match abapComplexStatement "\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)"
|
||||
syn match abapComplexStatement "NO\W\+INTERVALS"
|
||||
syn match abapComplexStatement "RESPECTING\W\+BLANKS"
|
||||
syn match abapComplexStatement "SEPARATED\W\+BY"
|
||||
syn match abapComplexStatement "\(USING\W\+\(EDIT\W\+MASK\)\|USING\)"
|
||||
syn match abapComplexStatement "\(WHERE\W\+\(LINE\)\)"
|
||||
syn match abapComplexStatement "RADIOBUTTON\W\+GROUP"
|
||||
syn match abapComplexStatement "REF\W\+TO"
|
||||
syn match abapComplexStatement "\(PUBLIC\|PRIVATE\|PROTECTED\)\(\W\+SECTION\)\?"
|
||||
syn match abapComplexStatement "DELETING\W\+\(TRAILING\|LEADING\)"
|
||||
syn match abapComplexStatement "\(ALL\W\+OCCURRENCES\)\|\(\(FIRST\|LAST\)\W\+OCCURRENCE\)"
|
||||
syn match abapComplexStatement "INHERITING\W\+FROM"
|
||||
|
||||
" hyphenated-word statements
|
||||
syn match abapComplexStatement "LINE-COUNT"
|
||||
syn match abapComplexStatement "ADD-CORRESPONDING"
|
||||
syn match abapComplexStatement "AUTHORITY-CHECK"
|
||||
syn match abapComplexStatement "BREAK-POINT"
|
||||
syn match abapComplexStatement "CLASS-DATA"
|
||||
syn match abapComplexStatement "CLASS-METHODS"
|
||||
syn match abapComplexStatement "CLASS-METHOD"
|
||||
syn match abapComplexStatement "DIVIDE-CORRESPONDING"
|
||||
syn match abapComplexStatement "EDITOR-CALL"
|
||||
syn match abapComplexStatement "END-OF-DEFINITION"
|
||||
syn match abapComplexStatement "END-OF-PAGE"
|
||||
syn match abapComplexStatement "END-OF-SELECTION"
|
||||
syn match abapComplexStatement "FIELD-GROUPS"
|
||||
syn match abapComplexStatement "FIELD-SYMBOLS"
|
||||
syn match abapComplexStatement "FUNCTION-POOL"
|
||||
syn match abapComplexStatement "MOVE-CORRESPONDING"
|
||||
syn match abapComplexStatement "MULTIPLY-CORRESPONDING"
|
||||
syn match abapComplexStatement "NEW-LINE"
|
||||
syn match abapComplexStatement "NEW-PAGE"
|
||||
syn match abapComplexStatement "NEW-SECTION"
|
||||
syn match abapComplexStatement "PRINT-CONTROL"
|
||||
syn match abapComplexStatement "RP-PROVIDE-FROM-LAST"
|
||||
syn match abapComplexStatement "SELECT-OPTIONS"
|
||||
syn match abapComplexStatement "SELECTION-SCREEN"
|
||||
syn match abapComplexStatement "START-OF-SELECTION"
|
||||
syn match abapComplexStatement "SUBTRACT-CORRESPONDING"
|
||||
syn match abapComplexStatement "SYNTAX-CHECK"
|
||||
syn match abapComplexStatement "SYNTAX-TRACE"
|
||||
syn match abapComplexStatement "TOP-OF-PAGE"
|
||||
syn match abapComplexStatement "TYPE-POOL"
|
||||
syn match abapComplexStatement "TYPE-POOLS"
|
||||
syn match abapComplexStatement "LINE-SIZE"
|
||||
syn match abapComplexStatement "LINE-COUNT"
|
||||
syn match abapComplexStatement "MESSAGE-ID"
|
||||
syn match abapComplexStatement "DISPLAY-MODE"
|
||||
syn match abapComplexStatement "READ\(-ONLY\)\?"
|
||||
|
||||
" ABAP statements
|
||||
syn keyword abapStatement ADD ADD-CORRESPONDING ASSIGN AT AUTHORITY-CHECK
|
||||
syn keyword abapStatement BACK BREAK-POINT
|
||||
syn keyword abapStatement CALL CASE CHECK CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY
|
||||
syn keyword abapStatement DATA DEFINE DELETE DESCRIBE DETAIL DIVIDE DIVIDE-CORRESPONDING DO
|
||||
syn keyword abapStatement EDITOR-CALL ELSE ELSEIF END-OF-DEFINITION END-OF-PAGE END-OF-SELECTION ENDAT ENDCASE ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDLOOP ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDWHILE EXEC EXPORT EXPORTING EXTRACT
|
||||
syn keyword abapStatement FETCH FIELD-GROUPS FIELD-SYMBOLS FIELDS FORM FORMAT FREE FUNCTION FUNCTION-POOL
|
||||
syn keyword abapStatement ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT
|
||||
syn keyword abapStatement BACK BOUND
|
||||
syn keyword abapStatement CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY
|
||||
syn keyword abapStatement DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO
|
||||
syn keyword abapStatement ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT
|
||||
syn keyword abapStatement FETCH FIELDS FORM FORMAT FREE FROM FUNCTION
|
||||
syn keyword abapStatement GENERATE GET
|
||||
syn keyword abapStatement HIDE
|
||||
syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INPUT INSERT
|
||||
syn keyword abapStatement LEAVE LIKE LOAD LOCAL LOOP
|
||||
syn keyword abapStatement MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY MULTIPLY-CORRESPONDING
|
||||
syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION
|
||||
syn keyword abapStatement ON OVERLAY
|
||||
syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT
|
||||
syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK RP-PROVIDE-FROM-LAST
|
||||
syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE
|
||||
syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES
|
||||
syn keyword abapStatement UNPACK UPDATE
|
||||
syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIAL INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION IS
|
||||
syn keyword abapStatement LEAVE LIKE LINE LOAD LOCAL LOOP
|
||||
syn keyword abapStatement MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY
|
||||
syn keyword abapStatement ON OVERLAY OPTIONAL OTHERS
|
||||
syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT
|
||||
syn keyword abapStatement RAISE RANGES RECEIVE REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK
|
||||
syn keyword abapStatement SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS
|
||||
syn keyword abapStatement TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES
|
||||
syn keyword abapStatement UNASSIGN ULINE UNPACK UPDATE
|
||||
syn keyword abapStatement WHEN WHILE WINDOW WRITE
|
||||
|
||||
" More statemets
|
||||
syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY
|
||||
syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR
|
||||
syn keyword abapStatement LINE-SIZE LINE-COUNT MESSAGE-ID
|
||||
syn keyword abapStatement CHANGING EXCEPTIONS DEFAULT CHECKBOX COMMENT
|
||||
syn keyword abapStatement ID NUMBER FOR DISPLAY-MODE TITLE OUTPUT
|
||||
|
||||
" More multi-word statements
|
||||
syn match abapStatement "\(\W\|^\)\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)NO\W\+STANDARD\W\+PAGE\W\+HEADING\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)IS\W\+INITIAL\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)NO\W\+INTERVALS\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)SEPARATED\W\+BY\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)\(USING\W\+\(EDIT\W\+MASK\)\|USING\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)\(WHERE\W\+\(LINE\)\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)RADIOBUTTON\W\+GROUP\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn keyword abapStatement CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT
|
||||
syn keyword abapStatement ID NUMBER FOR TITLE OUTPUT
|
||||
|
||||
" Special ABAP specific tables:
|
||||
syn match abapSpecial "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1
|
||||
syn match abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained
|
||||
syn match abapSpecial "\(\W\|^\)\w\+-\(\w\+-\w\+\|\w\+\)"ms=s+1 contains=abapSpecialTables
|
||||
syn match abapSpecial "\(\W\|^\)\w\+-\(\w\+-\w\+\|\w\+\)"ms=s+1 contains=abapSpecialTables,abapStatement,abapComplexStatement
|
||||
|
||||
" Pointer
|
||||
syn match abapSpecial "<\w\+>"
|
||||
@@ -94,7 +148,7 @@ syn keyword abapSpecial TRUE FALSE NULL SPACE
|
||||
syn region abapInclude start="include" end="." contains=abapComment
|
||||
|
||||
" Types
|
||||
syn keyword abapTypes c n i p f d t x
|
||||
syn keyword abapTypes c n i p f d t x string xstring decfloat16 decfloat34
|
||||
|
||||
" Atritmitic operators
|
||||
syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan
|
||||
@@ -107,7 +161,7 @@ syn keyword abapOperator strlen xstrlen charlen numofchar dbmaxlen
|
||||
syn keyword abapOperator lines
|
||||
|
||||
" Table operators (SELECT operators)
|
||||
syn keyword abapOperator INTO FROM WHERE GROUP BY HAVING ORDER BY SINGLE
|
||||
syn keyword abapOperator INTO WHERE GROUP BY HAVING ORDER BY SINGLE
|
||||
syn keyword abapOperator APPENDING CORRESPONDING FIELDS OF TABLE
|
||||
syn keyword abapOperator LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING
|
||||
syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN
|
||||
@@ -119,6 +173,7 @@ syn match abapError "\.\."
|
||||
syn region abapComment start="^\*" end="$" contains=abapTodo
|
||||
syn match abapComment "\".*" contains=abapTodo
|
||||
syn keyword abapTodo contained TODO NOTE
|
||||
syn match abapTodo "\#EC\W\+\w\+"
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
@@ -134,13 +189,18 @@ if version >= 508 || !exists("did_abap_syntax_inits")
|
||||
HiLink abapError Error
|
||||
HiLink abapComment Comment
|
||||
HiLink abapInclude Include
|
||||
HiLink abapStatement Statement
|
||||
HiLink abapComplexStatement Statement
|
||||
HiLink abapSpecial Special
|
||||
HiLink abapNamespace Special
|
||||
HiLink abapSpecialTables PreProc
|
||||
HiLink abapSymbolOperator abapOperator
|
||||
HiLink abapOperator Operator
|
||||
HiLink abapStatement Statement
|
||||
HiLink abapCharString String
|
||||
HiLink abapString String
|
||||
HiLink abapFloat Float
|
||||
HiLink abapTypes Type
|
||||
HiLink abapSymbol Structure
|
||||
HiLink abapNumber Number
|
||||
HiLink abapHex Number
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: APT config file
|
||||
" Maintainer: Yann Amar <quidame@poivron.org>
|
||||
" Last Change: 2012 Oct 05
|
||||
" Last Change: 2012 Oct 06
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x and 7.x: Quit when a syntax file was already loaded
|
||||
@@ -17,6 +17,7 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
" Errors:
|
||||
" Catch all that is not overridden by next rules/items:
|
||||
syn match aptconfError display '[^[:blank:]]'
|
||||
@@ -490,4 +491,3 @@ let b:current_syntax = "aptconf"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
" Yeti (Add full CSS2, HTML4 support)
|
||||
" Nikolai Weibull (Add CSS2 support)
|
||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
||||
" Last Change: 2012 Oct 05
|
||||
" URL: https://github.com/JulesWang/css.vim
|
||||
" Last Change: 2012 Dec 15
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -90,7 +91,37 @@ syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start=
|
||||
syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
|
||||
syn match cssUnicodeRange contained "U+\x\+-\x\+"
|
||||
|
||||
" The 16 basic color names
|
||||
syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
|
||||
|
||||
" 130 more color names
|
||||
syn keyword cssColor contained aliceblue antiquewhite aquamarine azure
|
||||
syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood
|
||||
syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan
|
||||
syn match cssColor contained /dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)/
|
||||
syn match cssColor contained /dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)/
|
||||
syn match cssColor contained /darkslate\(blue\|gray\|grey\)/
|
||||
syn match cssColor contained /dark\(turquoise\|violet\)/
|
||||
syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick
|
||||
syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold
|
||||
syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink
|
||||
syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen
|
||||
syn keyword cssColor contained lemonchiffon limegreen linen magenta
|
||||
syn match cssColor contained /light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)/
|
||||
syn match cssColor contained /light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)/
|
||||
syn match cssColor contained /light\(slategray\|slategrey\|steelblue\)/
|
||||
syn match cssColor contained /medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)/
|
||||
syn match cssColor contained /medium\(slateblue\|springgreen\|turquoise\|violetred\)/
|
||||
syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite
|
||||
syn keyword cssColor contained oldlace olivedrab orange orangered orchid
|
||||
syn match cssColor contained /pale\(goldenrod\|green\|turquoise\|violetred\)/
|
||||
syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue
|
||||
syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown
|
||||
syn keyword cssColor contained seagreen seashell sienna skyblue slateblue
|
||||
syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan
|
||||
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
|
||||
" mixed-case (b) it's hard to highlight the word `Background' correctly in
|
||||
" all situations
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2011 Dec 09
|
||||
" Last Change: 2012 Jun 06
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -45,7 +45,7 @@ syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
|
||||
syn match debcontrolEmail "<.\{-}>"
|
||||
|
||||
" #-Comments
|
||||
syn match debcontrolComment "^#.*$"
|
||||
syn match debcontrolComment "^#.*$" contains=@Spell
|
||||
|
||||
syn case ignore
|
||||
|
||||
@@ -69,6 +69,7 @@ syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" co
|
||||
" Catch-all for the other legal fields
|
||||
syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
|
||||
syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ #]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
|
||||
syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^ " end="^$"me=s-1 end="^[^ #]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
if version >= 508 || !exists("did_debcontrol_syn_inits")
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Rexx
|
||||
" Maintainer: Thomas Geulig <geulig@nentec.de>
|
||||
" Last Change: 2005 Dez 9, added some <http://www.ooRexx.org>-coloring,
|
||||
" line comments, do *over*, messages, directives,
|
||||
" highlighting classes, methods, routines and requires
|
||||
" 2007 Oct 17, added support for new ooRexx 3.2 features
|
||||
" Rony G. Flatscher <rony.flatscher@wu-wien.ac.at>
|
||||
"
|
||||
" Last Change: 2012 Sep 14, added support for new ooRexx 4.0 features
|
||||
" URL: http://www.geulig.de/vim/rexx.vim
|
||||
"
|
||||
" Special Thanks to Dan Sharp <dwsharp@hotmail.com> and Rony G. Flatscher
|
||||
" <Rony.Flatscher@wu-wien.ac.at> for comments and additions
|
||||
|
||||
@@ -54,7 +48,7 @@ syn match rexxKeyword contained "\<use\>\s*\(strict\s*\)\?\<arg\>"
|
||||
syn match rexxRegularCallSignal contained "\<\(call\|signal\)\s\(\s*on\>\|\s*off\>\)\@!\(\k\+\ze\|\ze(\)\(\s*\|;\|$\|(\)"
|
||||
syn region rexxLabel contained start="\<\(call\|signal\)\>\s*\zs\(\k*\|(\)" end="\ze\(\s*\|;\|$\|(\)" containedin=rexxRegularCallSignal
|
||||
|
||||
syn match rexxExceptionHandling contained "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>.*\(;\|$\)"
|
||||
syn match rexxExceptionHandling contained "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>.*\(;\|$\)" contains=rexxComment
|
||||
|
||||
" hilite label given after keyword "name"
|
||||
syn match rexxLabel "name\s\+\zs\k\+\ze" containedin=rexxExceptionHandling
|
||||
@@ -74,13 +68,14 @@ syn match rexxConditional "\<\(then\|else\|when\|otherwise\)\(\s*\|;\|\_$\|\)\>"
|
||||
syn match rexxLoopKeywords "\<\(to\|by\|for\|until\|while\|over\)\>" containedin=doLoopSelectLabelRegion
|
||||
|
||||
" must be after Conditional phrases!
|
||||
syn match doLoopSelectLabelRegion "\<\(do\|loop\|select\)\>\s\+\(label\s\+\)\?\(\s\+\k\+\s\+\zs\<over\>\)\?\k*\(\s\+forever\)\?\(\s\|;\|$\)"
|
||||
syn match doLoopSelectLabelRegion "\<\(do\|loop\|select\)\>\s\+\(label\s\+\)\?\(\s\+\k\+\s\+\zs\<over\>\)\?\k*\(\s\+forever\)\?\(\s\|;\|$\)" contains=doLoopSelectLabelRegion,rexxStartValueAssignment,rexxLoopKeywords
|
||||
|
||||
" color label's name
|
||||
syn match rexxLabel2 "\<\(do\|loop\|select\)\>\s\+label\s\+\zs\k*\ze" containedin=doLoopSelectLabelRegion
|
||||
|
||||
" make sure control variable is normal
|
||||
syn match rexxControlVariable "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\s\+\<over\>" containedin=doLoopSelectLabelRegion
|
||||
" TODO: re-activate ?
|
||||
"rgf syn match rexxControlVariable "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\s\+\<over\>" containedin=doLoopSelectLabelRegion
|
||||
|
||||
" make sure control variable assignment is normal
|
||||
syn match rexxStartValueAssignment "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\(=.*\)\?\s\+\<to\>" containedin=doLoopSelectLabelRegion
|
||||
@@ -96,7 +91,8 @@ syn match rexxGuard "\(^\|;\|:\)\s*\<guard\>\s\+\<\(on\|off\)\>"
|
||||
syn match rexxTrace "\(^\|;\|:\)\s*\<trace\>\s\+\<\K\k*\>"
|
||||
|
||||
" Raise statement
|
||||
syn match rexxRaise "\(^\|;\|:\)\s\+\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
|
||||
" syn match rexxRaise "\(^\|;\|:\)\s\+\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
|
||||
syn match rexxRaise "\(^\|;\|:\)\s*\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
|
||||
syn match rexxRaise2 "\<\(additional\|array\|description\|exit\|propagate\|return\)\>" containedin=rexxRaise
|
||||
|
||||
" Forward statement
|
||||
@@ -142,19 +138,36 @@ syn keyword rexxSpecialVariable sigl rc result self super
|
||||
syn keyword rexxSpecialVariable .environment .error .input .local .methods .output .rs .stderr .stdin .stdout .stdque
|
||||
|
||||
" Constants
|
||||
syn keyword rexxConst .true .false .nil .endOfLine .line
|
||||
syn keyword rexxConst .true .false .nil .endOfLine .line .context
|
||||
|
||||
" Rexx numbers
|
||||
" int like number
|
||||
syn match rexxNumber '\d\+' contained
|
||||
syn match rexxNumber '[-+]\s*\d\+' contained
|
||||
|
||||
" Floating point number with decimal
|
||||
syn match rexxNumber '\d\+\.\d*' contained
|
||||
syn match rexxNumber '[-+]\s*\d\+\.\d*' contained
|
||||
|
||||
" Floating point like number with E
|
||||
syn match rexxNumber '[-+]\s*\d*[eE][\-+]\d\+' contained
|
||||
syn match rexxNumber '\d*[eE][\-+]\d\+' contained
|
||||
|
||||
" Floating point like number with E and decimal point (+,-)
|
||||
syn match rexxNumber '[-+]\s*\d*\.\d*[eE][\-+]\d\+' contained
|
||||
syn match rexxNumber '\d*\.\d*[eE][\-+]\d\+' contained
|
||||
|
||||
syn match rexxNumber "\(-\|+\)\?\s*\zs\<\(\d\+\.\?\|\d*\.\d\+\(E\(+\|-\)\d\{2,2}\)\?\)\?\>"
|
||||
|
||||
" ooRexx builtin classes (as of version 3.2.0, fall 2007), first define dot to be o.k. in keywords
|
||||
syn keyword rexxBuiltinClass .Alarm .ArgUtil .Array .Bag .CaselessColumnComparator
|
||||
syn keyword rexxBuiltinClass .CaselessComparator .CaselessDescendingComparator .CircularQueue
|
||||
syn keyword rexxBuiltinClass .Class .Collection .ColumnComparator .Comparable .Comparator
|
||||
syn keyword rexxBuiltinClass .DateTime .DescendingComparator .Directory .InputOutputStream
|
||||
syn keyword rexxBuiltinClass .DateTime .DescendingComparator .Directory .File .InputOutputStream
|
||||
syn keyword rexxBuiltinClass .InputStream .InvertingComparator .List .MapCollection
|
||||
syn keyword rexxBuiltinClass .Message .Method .Monitor .MutableBuffer .Object
|
||||
syn keyword rexxBuiltinClass .OrderedCollection .OutputStream .Properties .Queue
|
||||
syn keyword rexxBuiltinClass .Relation .RexxQueue .Set .SetCollection .Stem .Stream
|
||||
syn keyword rexxBuiltinClass .OrderedCollection .OutputStream .Package .Properties .Queue
|
||||
syn keyword rexxBuiltinClass .RegularExpression .Relation .RexxContext .RexxQueue .Routine
|
||||
syn keyword rexxBuiltinClass .Set .SetCollection .Stem .Stream
|
||||
syn keyword rexxBuiltinClass .StreamSupplier .String .Supplier .Table .TimeSpan
|
||||
|
||||
" Windows-only classes
|
||||
@@ -163,7 +176,8 @@ syn keyword rexxBuiltinClass .CategoryDialog .CheckBox .CheckList .ComboBox .Dia
|
||||
syn keyword rexxBuiltinClass .DialogExtensions .DlgArea .DlgAreaU .DynamicDialog
|
||||
syn keyword rexxBuiltinClass .EditControl .InputBox .IntegerBox .ListBox .ListChoice
|
||||
syn keyword rexxBuiltinClass .ListControl .MenuObject .MessageExtensions .MultiInputBox
|
||||
syn keyword rexxBuiltinClass .MultiListChoice .PasswordBox .PlainBaseDialog .PlainUserDialog
|
||||
syn keyword rexxBuiltinClass .MultiListChoice .OLEObject .OLEVariant
|
||||
syn keyword rexxBuiltinClass .PasswordBox .PlainBaseDialog .PlainUserDialog
|
||||
syn keyword rexxBuiltinClass .ProgressBar .ProgressIndicator .PropertySheet .RadioButton
|
||||
syn keyword rexxBuiltinClass .RcDialog .ResDialog .ScrollBar .SingleSelection .SliderControl
|
||||
syn keyword rexxBuiltinClass .StateIndicator .StaticControl .TabControl .TimedMessage
|
||||
@@ -171,22 +185,34 @@ syn keyword rexxBuiltinClass .TreeControl .UserDialog .VirtualKeyCodes .WindowBa
|
||||
syn keyword rexxBuiltinClass .WindowExtensions .WindowObject .WindowsClassesBase .WindowsClipboard
|
||||
syn keyword rexxBuiltinClass .WindowsEventLog .WindowsManager .WindowsProgramManager .WindowsRegistry
|
||||
|
||||
" BSF4ooRexx classes
|
||||
syn keyword rexxBuiltinClass .BSF .bsf.dialog .bsf_proxy
|
||||
syn keyword rexxBuiltinClass .UNO .UNO_ENUM .UNO_CONSTANTS .UNO_PROPERTIES
|
||||
|
||||
" ooRexx directives, ---rgf location important, otherwise directives in top of file not matched!
|
||||
syn region rexxClassDirective start="::\s*class\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
syn region rexxMethodDirective start="::\s*method\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
syn region rexxRequiresDirective start="::\s*requires\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
syn region rexxRoutineDirective start="::\s*routine\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
syn region rexxAttributeDirective start="::\s*attribute\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
" rgf, 2012-09-09
|
||||
syn region rexxOptionsDirective start="::\s*options\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
syn region rexxConstantDirective start="::\s*constant\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
|
||||
|
||||
syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxNumber,rexxComment,rexxLineComment,rexxClassDirective,rexxMethodDirective,rexxRoutineDirective,rexxRequiresDirective,rexxAttributeDirective,rexxOptionsDirective,rexxConstantDirective keepend
|
||||
|
||||
syn match rexxOptionsDirective2 "\<\(digits\|form\|fuzz\|trace\)\>" containedin = rexxOptionsDirective3
|
||||
syn region rexxOptionsDirective3 start="\(^\|;\)\s*::\s*options\s"ms=e+1 end="\($\|;\)" contains=rexxString,rexxNumber,rexxVariable,rexxComment,rexxLineComment containedin = rexxDirective
|
||||
|
||||
syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxComment,rexxLineComment,rexxClassDirective,rexxMethodDirective,rexxRoutineDirective,rexxRequiresDirective,rexxAttributeDirective keepend
|
||||
|
||||
syn region rexxVariable start="\zs\<\(\.\)\@!\K\k\+\>\ze\s*\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)" end="\(\_$\|.\)"me=e-1
|
||||
syn match rexxVariable "\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)\s*\zs\K\k*\ze"
|
||||
syn match rexxVariable "\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)\s*\zs\K\k*\ze"
|
||||
|
||||
" rgf, 2007-07-22: unfortunately, the entire region is colored (not only the
|
||||
" patterns), hence useless (vim 7.0)! (syntax-docs hint that that should work)
|
||||
" attempt: just colorize the parenthesis in matching colors, keep content
|
||||
" transparent to keep the formatting already done to it!
|
||||
" TODO: test on 7.3
|
||||
" syn region par1 matchgroup=par1 start="(" matchgroup=par1 end=")" transparent contains=par2
|
||||
" syn region par2 matchgroup=par2 start="(" matchgroup=par2 end=")" transparent contains=par3 contained
|
||||
" syn region par3 matchgroup=par3 start="(" matchgroup=par3 end=")" transparent contains=par4 contained
|
||||
@@ -200,11 +226,11 @@ syn match rexxVariable "\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)\s*\zs\K\k*\ze
|
||||
" syn region par4 matchgroup=par4 start="(" end=")" contains=par5 contained
|
||||
" syn region par5 matchgroup=par5 start="(" end=")" contains=par1 contained
|
||||
|
||||
hi par1 ctermfg=red guifg=red
|
||||
hi par2 ctermfg=blue guifg=blue
|
||||
hi par3 ctermfg=darkgreen guifg=darkgreen
|
||||
hi par4 ctermfg=darkyellow guifg=darkyellow
|
||||
hi par5 ctermfg=darkgrey guifg=darkgrey
|
||||
hi par1 ctermfg=red guifg=red "guibg=grey
|
||||
hi par2 ctermfg=blue guifg=blue "guibg=grey
|
||||
hi par3 ctermfg=darkgreen guifg=darkgreen "guibg=grey
|
||||
hi par4 ctermfg=darkyellow guifg=darkyellow "guibg=grey
|
||||
hi par5 ctermfg=darkgrey guifg=darkgrey "guibg=grey
|
||||
|
||||
" line continuation (trailing comma or single dash)
|
||||
syn sync linecont "\(,\|-\ze-\@!\)\ze\s*\(--.*\|\/\*.*\)*$"
|
||||
@@ -214,7 +240,7 @@ syn sync linecont "\(,\|-\ze-\@!\)\ze\s*\(--.*\|\/\*.*\)*$"
|
||||
" endif
|
||||
" exec "syn sync ccomment rexxComment minlines=" . rexx_minlines
|
||||
|
||||
" always scan from start, PCs are powerful enough for that in 2007 !
|
||||
" always scan from start, PCs have long become to be powerful enough for that
|
||||
exec "syn sync fromstart"
|
||||
|
||||
" Define the default highlighting.
|
||||
@@ -236,7 +262,7 @@ if version >= 508 || !exists("did_rexx_syn_inits")
|
||||
HiLink endIterateLeaveLabelRegion rexxKeyword
|
||||
HiLink rexxLoopKeywords rexxKeyword " Todo
|
||||
|
||||
HiLink rexxNumber Normal
|
||||
HiLink rexxNumber Normal "DiffChange
|
||||
" HiLink rexxIdentifier DiffChange
|
||||
|
||||
HiLink rexxRegularCallSignal Statement
|
||||
@@ -249,7 +275,7 @@ if version >= 508 || !exists("did_rexx_syn_inits")
|
||||
HiLink rexxCommentError rexxError
|
||||
HiLink rexxError Error
|
||||
HiLink rexxKeyword Statement
|
||||
HiLink rexxKeywordStatements Statement
|
||||
HiLink rexxKeywordStatements Statement
|
||||
|
||||
HiLink rexxFunction Function
|
||||
HiLink rexxString String
|
||||
@@ -271,6 +297,13 @@ if version >= 508 || !exists("did_rexx_syn_inits")
|
||||
HiLink rexxRequiresDirective Include
|
||||
HiLink rexxRoutineDirective rexxFunction
|
||||
|
||||
" rgf, 2012-09-09
|
||||
HiLink rexxOptionsDirective rexxFunction
|
||||
HiLink rexxOptionsDirective2 rexxOptionsDirective
|
||||
HiLink rexxOptionsDirective3 Normal " rexxOptionsDirective
|
||||
|
||||
HiLink rexxConstantDirective rexxFunction
|
||||
|
||||
HiLink rexxConst Constant
|
||||
HiLink rexxTypeSpecifier Type
|
||||
HiLink rexxBuiltinClass rexxTypeSpecifier
|
||||
|
||||
@@ -373,6 +373,10 @@ MSVCVER = 5.0
|
||||
MSVCVER = 6.0
|
||||
CPU = ix86
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "6.00.9782.0"
|
||||
MSVCVER = 6.0
|
||||
CPU = ix86
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "7.00.9466"
|
||||
MSVCVER = 7.0
|
||||
!endif
|
||||
@@ -403,6 +407,9 @@ MSVCVER = 10.0
|
||||
!if "$(_NMAKE_VER)" == "10.00.30319.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "10.00.40219.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.50727.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
|
||||
@@ -615,11 +615,13 @@ diff_redraw(dofold)
|
||||
#endif
|
||||
/* A change may have made filler lines invalid, need to take care
|
||||
* of that for other windows. */
|
||||
if (wp != curwin && wp->w_topfill > 0)
|
||||
n = diff_check(wp, wp->w_topline);
|
||||
if ((wp != curwin && wp->w_topfill > 0) || n > 0)
|
||||
{
|
||||
n = diff_check(wp, wp->w_topline);
|
||||
if (wp->w_topfill > n)
|
||||
wp->w_topfill = (n < 0 ? 0 : n);
|
||||
else if (n > 0 && n > wp->w_topfill)
|
||||
wp->w_topfill = n;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
12
src/edit.c
12
src/edit.c
@@ -8885,7 +8885,7 @@ ins_bs(c, mode, inserted_space_p)
|
||||
*/
|
||||
if ( mode == BACKSPACE_CHAR
|
||||
&& ((p_sta && in_indent)
|
||||
|| (curbuf->b_p_sts != 0
|
||||
|| (get_sts_value() != 0
|
||||
&& curwin->w_cursor.col > 0
|
||||
&& (*(ml_get_cursor() - 1) == TAB
|
||||
|| (*(ml_get_cursor() - 1) == ' '
|
||||
@@ -8901,7 +8901,7 @@ ins_bs(c, mode, inserted_space_p)
|
||||
if (p_sta && in_indent)
|
||||
ts = (int)get_sw_value();
|
||||
else
|
||||
ts = (int)curbuf->b_p_sts;
|
||||
ts = (int)get_sts_value();
|
||||
/* Compute the virtual column where we want to be. Since
|
||||
* 'showbreak' may get in the way, need to get the last column of
|
||||
* the previous character. */
|
||||
@@ -9590,7 +9590,7 @@ ins_tab()
|
||||
*/
|
||||
if (!curbuf->b_p_et
|
||||
&& !(p_sta && ind && curbuf->b_p_ts != get_sw_value())
|
||||
&& curbuf->b_p_sts == 0)
|
||||
&& get_sts_value() == 0)
|
||||
return TRUE;
|
||||
|
||||
if (stop_arrow() == FAIL)
|
||||
@@ -9606,8 +9606,8 @@ ins_tab()
|
||||
|
||||
if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
|
||||
temp = (int)get_sw_value();
|
||||
else if (curbuf->b_p_sts > 0) /* use 'softtabstop' when set */
|
||||
temp = (int)curbuf->b_p_sts;
|
||||
else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */
|
||||
temp = (int)get_sts_value();
|
||||
else /* otherwise use 'tabstop' */
|
||||
temp = (int)curbuf->b_p_ts;
|
||||
temp -= get_nolist_virtcol() % temp;
|
||||
@@ -9635,7 +9635,7 @@ ins_tab()
|
||||
/*
|
||||
* When 'expandtab' not set: Replace spaces by TABs where possible.
|
||||
*/
|
||||
if (!curbuf->b_p_et && (curbuf->b_p_sts || (p_sta && ind)))
|
||||
if (!curbuf->b_p_et && (get_sts_value() || (p_sta && ind)))
|
||||
{
|
||||
char_u *ptr;
|
||||
#ifdef FEAT_VREPLACE
|
||||
|
||||
19
src/eval.c
19
src/eval.c
@@ -687,6 +687,7 @@ static void f_settabvar __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_shiftwidth __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
#ifdef FEAT_FLOAT
|
||||
static void f_sin __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
@@ -8051,6 +8052,7 @@ static struct fst
|
||||
{"settabwinvar", 4, 4, f_settabwinvar},
|
||||
{"setwinvar", 3, 3, f_setwinvar},
|
||||
{"shellescape", 1, 2, f_shellescape},
|
||||
{"shiftwidth", 0, 0, f_shiftwidth},
|
||||
{"simplify", 1, 1, f_simplify},
|
||||
#ifdef FEAT_FLOAT
|
||||
{"sin", 1, 1, f_sin},
|
||||
@@ -12274,9 +12276,15 @@ f_has(argvars, rettv)
|
||||
# ifdef FEAT_MOUSE_PTERM
|
||||
"mouse_pterm",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_SGR
|
||||
"mouse_sgr",
|
||||
# endif
|
||||
# ifdef FEAT_SYSMOUSE
|
||||
"mouse_sysmouse",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
"mouse_urxvt",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_XTERM
|
||||
"mouse_xterm",
|
||||
# endif
|
||||
@@ -16651,6 +16659,17 @@ f_shellescape(argvars, rettv)
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
|
||||
/*
|
||||
* shiftwidth() function
|
||||
*/
|
||||
static void
|
||||
f_shiftwidth(argvars, rettv)
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
{
|
||||
rettv->vval.v_number = get_sw_value();
|
||||
}
|
||||
|
||||
/*
|
||||
* "simplify()" function
|
||||
*/
|
||||
|
||||
@@ -1038,8 +1038,10 @@
|
||||
* +mouse_gpm Unix only: Include code for Linux console mouse
|
||||
* handling.
|
||||
* +mouse_pterm PTerm mouse support for QNX
|
||||
* +mouse_sgr Unix only: Include code for for SGR-styled mouse.
|
||||
* +mouse_sysmouse Unix only: Include code for FreeBSD and DragonFly
|
||||
* console mouse handling.
|
||||
* +mouse_urxvt Unix only: Include code for for urxvt mosue handling.
|
||||
* +mouse Any mouse support (any of the above enabled).
|
||||
*/
|
||||
/* OS/2 and Amiga console have no mouse support */
|
||||
|
||||
@@ -359,7 +359,7 @@ get_beval_info(beval, getword, winp, lnump, textp, colp)
|
||||
}
|
||||
}
|
||||
|
||||
col = vcol2col(wp, lnum, col) - 1;
|
||||
col = vcol2col(wp, lnum, col);
|
||||
|
||||
if (VIsual_active
|
||||
&& wp->w_buffer == curwin->w_buffer
|
||||
@@ -377,8 +377,10 @@ get_beval_info(beval, getword, winp, lnump, textp, colp)
|
||||
return FAIL;
|
||||
|
||||
lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
|
||||
lbuf = vim_strnsave(lbuf + spos->col,
|
||||
epos->col - spos->col + (*p_sel != 'e'));
|
||||
len = epos->col - spos->col;
|
||||
if (*p_sel != 'e')
|
||||
len += MB_PTR2LEN(lbuf + epos->col);
|
||||
lbuf = vim_strnsave(lbuf + spos->col, len);
|
||||
lnum = spos->lnum;
|
||||
col = spos->col;
|
||||
}
|
||||
|
||||
@@ -845,7 +845,6 @@ gui_mch_browse(int saving UNUSED,
|
||||
char_u dirbuf[MAXPATHL];
|
||||
guint log_handler;
|
||||
const gchar *domain = "Gtk";
|
||||
GtkFileFilter *gfilter;
|
||||
|
||||
title = CONVERT_TO_UTF8(title);
|
||||
|
||||
@@ -883,6 +882,7 @@ gui_mch_browse(int saving UNUSED,
|
||||
int i = 0;
|
||||
char_u *patt;
|
||||
char_u *p = filter;
|
||||
GtkFileFilter *gfilter;
|
||||
|
||||
gfilter = gtk_file_filter_new();
|
||||
patt = alloc(STRLEN(filter));
|
||||
|
||||
@@ -464,7 +464,8 @@ luaV_pushtypval(lua_State *L, typval_T *tv)
|
||||
switch (tv->v_type)
|
||||
{
|
||||
case VAR_STRING:
|
||||
lua_pushstring(L, (char *) tv->vval.v_string);
|
||||
lua_pushstring(L, tv->vval.v_string == NULL
|
||||
? "" : (char *)tv->vval.v_string);
|
||||
break;
|
||||
case VAR_NUMBER:
|
||||
lua_pushinteger(L, (int) tv->vval.v_number);
|
||||
|
||||
@@ -2649,7 +2649,8 @@ vim_to_mzscheme(typval_T *vim_value, int depth, Scheme_Hash_Table *visited)
|
||||
new_value = FALSE;
|
||||
else if (vim_value->v_type == VAR_STRING)
|
||||
{
|
||||
result = scheme_make_string((char *)vim_value->vval.v_string);
|
||||
result = scheme_make_string(vim_value->vval.v_string == NULL
|
||||
? "" : (char *)vim_value->vval.v_string);
|
||||
MZ_GC_CHECK();
|
||||
}
|
||||
else if (vim_value->v_type == VAR_NUMBER)
|
||||
|
||||
@@ -740,9 +740,12 @@ Python_Init(void)
|
||||
#else
|
||||
PyMac_Initialize();
|
||||
#endif
|
||||
/* initialise threads */
|
||||
/* Initialise threads, and save the state using PyGILState_Ensure.
|
||||
* Without the call to PyGILState_Ensure, thread specific state (such
|
||||
* as the system trace hook), will be lost between invocations of
|
||||
* Python code. */
|
||||
PyEval_InitThreads();
|
||||
|
||||
pygilstate = PyGILState_Ensure();
|
||||
#ifdef DYNAMIC_PYTHON
|
||||
get_exceptions();
|
||||
#endif
|
||||
|
||||
@@ -176,7 +176,7 @@ static void init_structs(void);
|
||||
# define PyImport_AppendInittab py3_PyImport_AppendInittab
|
||||
# if PY_VERSION_HEX >= 0x030300f0
|
||||
# undef _PyUnicode_AsString
|
||||
# define _PyUnicode_AsString py3_PyUnicode_AsUTF8String
|
||||
# define _PyUnicode_AsString py3_PyUnicode_AsUTF8
|
||||
# else
|
||||
# define _PyUnicode_AsString py3__PyUnicode_AsString
|
||||
# endif
|
||||
@@ -286,11 +286,11 @@ static PyObject* py3__Py_FalseStruct;
|
||||
static PyObject* py3__Py_TrueStruct;
|
||||
static int (*py3_PyModule_AddObject)(PyObject *m, const char *name, PyObject *o);
|
||||
static int (*py3_PyImport_AppendInittab)(const char *name, PyObject* (*initfunc)(void));
|
||||
#if PY_VERSION_HEX >= 0x030300f0
|
||||
static char* (*py3_PyUnicode_AsUTF8String)(PyObject *unicode);
|
||||
#else
|
||||
# if PY_VERSION_HEX >= 0x030300f0
|
||||
static char* (*py3_PyUnicode_AsUTF8)(PyObject *unicode);
|
||||
# else
|
||||
static char* (*py3__PyUnicode_AsString)(PyObject *unicode);
|
||||
#endif
|
||||
# endif
|
||||
static PyObject* (*py3_PyUnicode_AsEncodedString)(PyObject *unicode, const char* encoding, const char* errors);
|
||||
static char* (*py3_PyBytes_AsString)(PyObject *bytes);
|
||||
static int (*py3_PyBytes_AsStringAndSize)(PyObject *bytes, char **buffer, int *length);
|
||||
@@ -348,13 +348,13 @@ static struct
|
||||
{"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv},
|
||||
{"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
|
||||
{"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
|
||||
#ifndef PY_SSIZE_T_CLEAN
|
||||
# ifndef PY_SSIZE_T_CLEAN
|
||||
{"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
|
||||
{"Py_BuildValue", (PYTHON_PROC*)&py3_Py_BuildValue},
|
||||
#else
|
||||
# else
|
||||
{"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
|
||||
{"_Py_BuildValue_SizeT", (PYTHON_PROC*)&py3_Py_BuildValue},
|
||||
#endif
|
||||
# endif
|
||||
{"PyMem_Free", (PYTHON_PROC*)&py3_PyMem_Free},
|
||||
{"PyMem_Malloc", (PYTHON_PROC*)&py3_PyMem_Malloc},
|
||||
{"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
|
||||
@@ -406,11 +406,11 @@ static struct
|
||||
{"PyObject_Init", (PYTHON_PROC*)&py3__PyObject_Init},
|
||||
{"PyModule_AddObject", (PYTHON_PROC*)&py3_PyModule_AddObject},
|
||||
{"PyImport_AppendInittab", (PYTHON_PROC*)&py3_PyImport_AppendInittab},
|
||||
#if PY_VERSION_HEX >= 0x030300f0
|
||||
{"PyUnicode_AsUTF8String", (PYTHON_PROC*)&py3_PyUnicode_AsUTF8String},
|
||||
#else
|
||||
# if PY_VERSION_HEX >= 0x030300f0
|
||||
{"PyUnicode_AsUTF8", (PYTHON_PROC*)&py3_PyUnicode_AsUTF8},
|
||||
# else
|
||||
{"_PyUnicode_AsString", (PYTHON_PROC*)&py3__PyUnicode_AsString},
|
||||
#endif
|
||||
# endif
|
||||
{"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
|
||||
{"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize},
|
||||
{"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},
|
||||
@@ -503,12 +503,12 @@ py3_runtime_link_init(char *libname, int verbose)
|
||||
|
||||
/* Load unicode functions separately as only the ucs2 or the ucs4 functions
|
||||
* will be present in the library. */
|
||||
#if PY_VERSION_HEX >= 0x030300f0
|
||||
# if PY_VERSION_HEX >= 0x030300f0
|
||||
ucs_from_string = symbol_from_dll(hinstPy3, "PyUnicode_FromString");
|
||||
ucs_decode = symbol_from_dll(hinstPy3, "PyUnicode_Decode");
|
||||
ucs_as_encoded_string = symbol_from_dll(hinstPy3,
|
||||
"PyUnicode_AsEncodedString");
|
||||
#else
|
||||
# else
|
||||
ucs_from_string = symbol_from_dll(hinstPy3, "PyUnicodeUCS2_FromString");
|
||||
ucs_decode = symbol_from_dll(hinstPy3,
|
||||
"PyUnicodeUCS2_Decode");
|
||||
@@ -523,7 +523,7 @@ py3_runtime_link_init(char *libname, int verbose)
|
||||
ucs_as_encoded_string = symbol_from_dll(hinstPy3,
|
||||
"PyUnicodeUCS4_AsEncodedString");
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
if (ucs_from_string && ucs_decode && ucs_as_encoded_string)
|
||||
{
|
||||
py3_PyUnicode_FromString = ucs_from_string;
|
||||
@@ -731,8 +731,12 @@ Python3_Init(void)
|
||||
#else
|
||||
PyMac_Initialize();
|
||||
#endif
|
||||
/* initialise threads, must be after Py_Initialize() */
|
||||
/* Initialise threads, and save the state using PyGILState_Ensure.
|
||||
* Without the call to PyGILState_Ensure, thread specific state (such
|
||||
* as the system trace hook), will be lost between invocations of
|
||||
* Python code. */
|
||||
PyEval_InitThreads();
|
||||
pygilstate = PyGILState_Ensure();
|
||||
|
||||
#ifdef DYNAMIC_PYTHON3
|
||||
get_py3_exceptions();
|
||||
|
||||
@@ -960,8 +960,11 @@ getcount:
|
||||
#ifdef FEAT_CMDL_INFO
|
||||
need_flushbuf |= add_to_showcmd(ca.nchar);
|
||||
#endif
|
||||
/* For "gn" from redo, need to get one more char to determine the
|
||||
* operator */
|
||||
if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
|
||||
|| ca.nchar == Ctrl_BSL)
|
||||
|| ca.nchar == Ctrl_BSL
|
||||
|| ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty()))
|
||||
{
|
||||
cp = &ca.extra_char; /* need to get a third character */
|
||||
if (ca.nchar != 'r')
|
||||
@@ -1083,6 +1086,8 @@ getcount:
|
||||
ca.nchar = ca.extra_char;
|
||||
idx = find_command(ca.cmdchar);
|
||||
}
|
||||
else if ((ca.nchar == 'n' || ca.nchar == 'N') && ca.cmdchar == 'g')
|
||||
ca.oap->op_type = get_op_type(*cp, NUL);
|
||||
else if (*cp == Ctrl_BSL)
|
||||
{
|
||||
long towait = (p_ttm >= 0 ? p_ttm : p_tm);
|
||||
@@ -8009,7 +8014,7 @@ nv_g_cmd(cap)
|
||||
#ifdef FEAT_VISUAL
|
||||
if (!current_search(cap->count1, cap->nchar == 'n'))
|
||||
#endif
|
||||
beep_flush();
|
||||
clearopbeep(oap);
|
||||
break;
|
||||
|
||||
/*
|
||||
|
||||
49
src/option.c
49
src/option.c
@@ -7573,24 +7573,30 @@ set_bool_option(opt_idx, varp, value, opt_flags)
|
||||
/* 'undofile' */
|
||||
else if ((int *)varp == &curbuf->b_p_udf || (int *)varp == &p_udf)
|
||||
{
|
||||
char_u hash[UNDO_HASH_SIZE];
|
||||
buf_T *save_curbuf = curbuf;
|
||||
|
||||
for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
|
||||
/* Only take action when the option was set. When reset we do not
|
||||
* delete the undo file, the option may be set again without making
|
||||
* any changes in between. */
|
||||
if (curbuf->b_p_udf || p_udf)
|
||||
{
|
||||
/* When 'undofile' is set globally: for every buffer, otherwise
|
||||
* only for the current buffer: Try to read in the undofile, if
|
||||
* one exists and the buffer wasn't changed and the buffer was
|
||||
* loaded. */
|
||||
if ((curbuf == save_curbuf
|
||||
|| (opt_flags & OPT_GLOBAL) || opt_flags == 0)
|
||||
&& !curbufIsChanged() && curbuf->b_ml.ml_mfp != NULL)
|
||||
char_u hash[UNDO_HASH_SIZE];
|
||||
buf_T *save_curbuf = curbuf;
|
||||
|
||||
for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
|
||||
{
|
||||
u_compute_hash(hash);
|
||||
u_read_undo(NULL, hash, curbuf->b_fname);
|
||||
/* When 'undofile' is set globally: for every buffer, otherwise
|
||||
* only for the current buffer: Try to read in the undofile,
|
||||
* if one exists, the buffer wasn't changed and the buffer was
|
||||
* loaded */
|
||||
if ((curbuf == save_curbuf
|
||||
|| (opt_flags & OPT_GLOBAL) || opt_flags == 0)
|
||||
&& !curbufIsChanged() && curbuf->b_ml.ml_mfp != NULL)
|
||||
{
|
||||
u_compute_hash(hash);
|
||||
u_read_undo(NULL, hash, curbuf->b_fname);
|
||||
}
|
||||
}
|
||||
curbuf = save_curbuf;
|
||||
}
|
||||
curbuf = save_curbuf;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -8509,11 +8515,6 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags)
|
||||
p_window = Rows - 1;
|
||||
}
|
||||
|
||||
if (curbuf->b_p_sts < 0)
|
||||
{
|
||||
errmsg = e_positive;
|
||||
curbuf->b_p_sts = 0;
|
||||
}
|
||||
if (curbuf->b_p_ts <= 0)
|
||||
{
|
||||
errmsg = e_positive;
|
||||
@@ -11429,3 +11430,13 @@ get_sw_value()
|
||||
{
|
||||
return curbuf->b_p_sw ? curbuf->b_p_sw : curbuf->b_p_ts;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the effective softtabstop value for the current buffer, using the
|
||||
* 'tabstop' value when 'softtabstop' is negative.
|
||||
*/
|
||||
long
|
||||
get_sts_value()
|
||||
{
|
||||
return curbuf->b_p_sts < 0 ? get_sw_value() : curbuf->b_p_sts;
|
||||
}
|
||||
|
||||
@@ -2512,15 +2512,12 @@ mch_FullName(fname, buf, len, force)
|
||||
}
|
||||
|
||||
l = STRLEN(buf);
|
||||
if (l >= len)
|
||||
retval = FAIL;
|
||||
if (l >= len - 1)
|
||||
retval = FAIL; /* no space for trailing "/" */
|
||||
#ifndef VMS
|
||||
else
|
||||
{
|
||||
if (l > 0 && buf[l - 1] != '/' && *fname != NUL
|
||||
else if (l > 0 && buf[l - 1] != '/' && *fname != NUL
|
||||
&& STRCMP(fname, ".") != 0)
|
||||
STRCAT(buf, "/");
|
||||
}
|
||||
STRCAT(buf, "/");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -287,19 +287,40 @@ unescape_shellxquote(char_u *p, char_u *escaped)
|
||||
HINSTANCE
|
||||
vimLoadLib(char *name)
|
||||
{
|
||||
HINSTANCE dll = NULL;
|
||||
char old_dir[MAXPATHL];
|
||||
HINSTANCE dll = NULL;
|
||||
char old_dir[MAXPATHL];
|
||||
|
||||
/* NOTE: Do not use mch_dirname() and mch_chdir() here, they may call
|
||||
* vimLoadLib() recursively, which causes a stack overflow. */
|
||||
if (exe_path == NULL)
|
||||
get_exe_name();
|
||||
if (exe_path != NULL && mch_dirname(old_dir, MAXPATHL) == OK)
|
||||
if (exe_path != NULL)
|
||||
{
|
||||
/* Change directory to where the executable is, both to make sure we
|
||||
* find a .dll there and to avoid looking for a .dll in the current
|
||||
* directory. */
|
||||
mch_chdir(exe_path);
|
||||
dll = LoadLibrary(name);
|
||||
mch_chdir(old_dir);
|
||||
#ifdef FEAT_MBYTE
|
||||
WCHAR old_dirw[MAXPATHL];
|
||||
|
||||
if (GetCurrentDirectoryW(MAXPATHL, old_dirw) != 0)
|
||||
{
|
||||
/* Change directory to where the executable is, both to make
|
||||
* sure we find a .dll there and to avoid looking for a .dll
|
||||
* in the current directory. */
|
||||
SetCurrentDirectory(exe_path);
|
||||
dll = LoadLibrary(name);
|
||||
SetCurrentDirectoryW(old_dirw);
|
||||
return dll;
|
||||
}
|
||||
/* Retry with non-wide function (for Windows 98). */
|
||||
if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
||||
#endif
|
||||
if (GetCurrentDirectory(MAXPATHL, old_dir) != 0)
|
||||
{
|
||||
/* Change directory to where the executable is, both to make
|
||||
* sure we find a .dll there and to avoid looking for a .dll
|
||||
* in the current directory. */
|
||||
SetCurrentDirectory(exe_path);
|
||||
dll = LoadLibrary(name);
|
||||
SetCurrentDirectory(old_dir);
|
||||
}
|
||||
}
|
||||
return dll;
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
*/
|
||||
#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
|
||||
|
||||
/* _MAX_PATH is only 256 (stdlib.h), but we want more for the 'path' option,
|
||||
/* _MAX_PATH is only 260 (stdlib.h), but we want more for the 'path' option,
|
||||
* thus use a larger number. */
|
||||
#define MAXPATHL 1024
|
||||
|
||||
|
||||
@@ -57,4 +57,5 @@ void save_file_ff __ARGS((buf_T *buf));
|
||||
int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
|
||||
int check_ff_value __ARGS((char_u *p));
|
||||
long get_sw_value __ARGS((void));
|
||||
long get_sts_value __ARGS((void));
|
||||
/* vim: set ft=c : */
|
||||
|
||||
25
src/syntax.c
25
src/syntax.c
@@ -105,7 +105,7 @@ static GuiFont font_name2handle __ARGS((char_u *name));
|
||||
# ifdef FEAT_XFONTSET
|
||||
static GuiFontset fontset_name2handle __ARGS((char_u *name, int fixed_width));
|
||||
# endif
|
||||
static void hl_do_font __ARGS((int idx, char_u *arg, int do_normal, int do_menu, int do_tooltip));
|
||||
static void hl_do_font __ARGS((int idx, char_u *arg, int do_normal, int do_menu, int do_tooltip, int free_font));
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -7259,14 +7259,13 @@ do_highlight(line, forceit, init)
|
||||
HL_TABLE()[idx].sg_fontset = NOFONTSET;
|
||||
# endif
|
||||
hl_do_font(idx, arg, is_normal_group, is_menu_group,
|
||||
is_tooltip_group);
|
||||
is_tooltip_group, FALSE);
|
||||
|
||||
# ifdef FEAT_XFONTSET
|
||||
if (HL_TABLE()[idx].sg_fontset != NOFONTSET)
|
||||
{
|
||||
/* New fontset was accepted. Free the old one, if there was
|
||||
* one.
|
||||
*/
|
||||
/* New fontset was accepted. Free the old one, if there
|
||||
* was one. */
|
||||
gui_mch_free_fontset(temp_sg_fontset);
|
||||
vim_free(HL_TABLE()[idx].sg_font_name);
|
||||
HL_TABLE()[idx].sg_font_name = vim_strsave(arg);
|
||||
@@ -7277,8 +7276,7 @@ do_highlight(line, forceit, init)
|
||||
if (HL_TABLE()[idx].sg_font != NOFONT)
|
||||
{
|
||||
/* New font was accepted. Free the old one, if there was
|
||||
* one.
|
||||
*/
|
||||
* one. */
|
||||
gui_mch_free_font(temp_sg_font);
|
||||
vim_free(HL_TABLE()[idx].sg_font_name);
|
||||
HL_TABLE()[idx].sg_font_name = vim_strsave(arg);
|
||||
@@ -8064,12 +8062,13 @@ fontset_name2handle(name, fixed_width)
|
||||
* Get the font or fontset for one highlight group.
|
||||
*/
|
||||
static void
|
||||
hl_do_font(idx, arg, do_normal, do_menu, do_tooltip)
|
||||
hl_do_font(idx, arg, do_normal, do_menu, do_tooltip, free_font)
|
||||
int idx;
|
||||
char_u *arg;
|
||||
int do_normal; /* set normal font */
|
||||
int do_menu UNUSED; /* set menu font */
|
||||
int do_tooltip UNUSED; /* set tooltip font */
|
||||
int free_font; /* free current font/fontset */
|
||||
{
|
||||
# ifdef FEAT_XFONTSET
|
||||
/* If 'guifontset' is not empty, first try using the name as a
|
||||
@@ -8083,6 +8082,8 @@ hl_do_font(idx, arg, do_normal, do_menu, do_tooltip)
|
||||
|| do_tooltip
|
||||
# endif
|
||||
)
|
||||
if (free_font)
|
||||
gui_mch_free_fontset(HL_TABLE()[idx].sg_fontset);
|
||||
HL_TABLE()[idx].sg_fontset = fontset_name2handle(arg, 0
|
||||
# ifdef FONTSET_ALWAYS
|
||||
|| do_menu
|
||||
@@ -8093,8 +8094,8 @@ hl_do_font(idx, arg, do_normal, do_menu, do_tooltip)
|
||||
);
|
||||
if (HL_TABLE()[idx].sg_fontset != NOFONTSET)
|
||||
{
|
||||
/* If it worked and it's the Normal group, use it as the
|
||||
* normal fontset. Same for the Menu group. */
|
||||
/* If it worked and it's the Normal group, use it as the normal
|
||||
* fontset. Same for the Menu group. */
|
||||
if (do_normal)
|
||||
gui_init_font(arg, TRUE);
|
||||
# if (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) && defined(FEAT_MENU)
|
||||
@@ -8126,6 +8127,8 @@ hl_do_font(idx, arg, do_normal, do_menu, do_tooltip)
|
||||
else
|
||||
# endif
|
||||
{
|
||||
if (free_font)
|
||||
gui_mch_free_font(HL_TABLE()[idx].sg_font);
|
||||
HL_TABLE()[idx].sg_font = font_name2handle(arg);
|
||||
/* If it worked and it's the Normal group, use it as the
|
||||
* normal font. Same for the Menu group. */
|
||||
@@ -9162,7 +9165,7 @@ gui_do_one_color(idx, do_menu, do_tooltip)
|
||||
if (HL_TABLE()[idx].sg_font_name != NULL)
|
||||
{
|
||||
hl_do_font(idx, HL_TABLE()[idx].sg_font_name, FALSE, do_menu,
|
||||
do_tooltip);
|
||||
do_tooltip, TRUE);
|
||||
didit = TRUE;
|
||||
}
|
||||
if (HL_TABLE()[idx].sg_gui_fg_name != NULL)
|
||||
|
||||
26
src/term.c
26
src/term.c
@@ -4079,24 +4079,22 @@ check_termcode(max_offset, buf, bufsize, buflen)
|
||||
|
||||
if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
|
||||
{
|
||||
/* Only set 'ttymouse' automatically if it was not set
|
||||
* by the user already. */
|
||||
if (!option_was_set((char_u *)"ttym"))
|
||||
{
|
||||
# ifdef TTYM_SGR
|
||||
if (extra >= 277
|
||||
# ifdef TTYM_URXVT
|
||||
&& ttym_flags != TTYM_URXVT
|
||||
# endif
|
||||
)
|
||||
set_option_value((char_u *)"ttym", 0L,
|
||||
if (extra >= 277)
|
||||
set_option_value((char_u *)"ttym", 0L,
|
||||
(char_u *)"sgr", 0);
|
||||
else
|
||||
else
|
||||
# endif
|
||||
/* if xterm version >= 95 use mouse dragging */
|
||||
if (extra >= 95
|
||||
# ifdef TTYM_URXVT
|
||||
&& ttym_flags != TTYM_URXVT
|
||||
# endif
|
||||
)
|
||||
set_option_value((char_u *)"ttym", 0L,
|
||||
/* if xterm version >= 95 use mouse dragging */
|
||||
if (extra >= 95)
|
||||
set_option_value((char_u *)"ttym", 0L,
|
||||
(char_u *)"xterm2", 0);
|
||||
}
|
||||
|
||||
/* if xterm version >= 141 try to get termcap codes */
|
||||
if (extra >= 141)
|
||||
{
|
||||
|
||||
@@ -36,7 +36,22 @@ j:let three = three . "-" . winline()
|
||||
:call append("$", two)
|
||||
:call append("$", three)
|
||||
:$-2,$w! test.out
|
||||
:unlet one two three
|
||||
:" Test that diffing shows correct filler lines
|
||||
:diffoff!
|
||||
:windo :bw!
|
||||
:enew
|
||||
:put =range(4,10)
|
||||
:1d _
|
||||
:vnew
|
||||
:put =range(1,10)
|
||||
:1d _
|
||||
:windo :diffthis
|
||||
:wincmd h
|
||||
:let w0=line('w0')
|
||||
:enew
|
||||
:put =w0
|
||||
:.w >> test.out
|
||||
:unlet! one two three w0
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
2-4-5-6-8-9
|
||||
1-2-4-5-8
|
||||
2-3-4-5-6-7-8
|
||||
1
|
||||
|
||||
6
src/ui.c
6
src/ui.c
@@ -98,7 +98,7 @@ ui_inchar_undo(s, len)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ui_inchar(): low level input funcion.
|
||||
* ui_inchar(): low level input function.
|
||||
* Get characters from the keyboard.
|
||||
* Return the number of characters that are available.
|
||||
* If "wtime" == 0 do not wait for characters.
|
||||
@@ -493,7 +493,7 @@ clip_own_selection(cbd)
|
||||
}
|
||||
}
|
||||
#else
|
||||
/* Only own the clibpard when we didn't own it yet. */
|
||||
/* Only own the clipboard when we didn't own it yet. */
|
||||
if (!cbd->owned && cbd->available)
|
||||
cbd->owned = (clip_gen_own_selection(cbd) == OK);
|
||||
#endif
|
||||
@@ -3132,7 +3132,7 @@ vcol2col(wp, lnum, vcol)
|
||||
char_u *start;
|
||||
|
||||
start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
|
||||
while (count <= vcol && *ptr != NUL)
|
||||
while (count < vcol && *ptr != NUL)
|
||||
{
|
||||
count += win_lbr_chartabsize(wp, ptr, count, NULL);
|
||||
mb_ptr_adv(ptr);
|
||||
|
||||
@@ -348,6 +348,7 @@ static char *(features[]) =
|
||||
# else
|
||||
"-mouse",
|
||||
#endif
|
||||
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
# ifdef FEAT_MOUSE_DEC
|
||||
"+mouse_dec",
|
||||
@@ -369,27 +370,8 @@ static char *(features[]) =
|
||||
# else
|
||||
"-mouse_netterm",
|
||||
# endif
|
||||
# ifdef FEAT_SYSMOUSE
|
||||
"+mouse_sysmouse",
|
||||
# else
|
||||
"-mouse_sysmouse",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_XTERM
|
||||
"+mouse_xterm",
|
||||
# else
|
||||
"-mouse_xterm",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
"+mouse_urxvt",
|
||||
# else
|
||||
"-mouse_urxvt",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_SGR
|
||||
"+mouse_sgr",
|
||||
# else
|
||||
"-mouse_sgr",
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __QNX__
|
||||
# ifdef FEAT_MOUSE_PTERM
|
||||
"+mouse_pterm",
|
||||
@@ -397,6 +379,30 @@ static char *(features[]) =
|
||||
"-mouse_pterm",
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
# ifdef FEAT_MOUSE_SGR
|
||||
"+mouse_sgr",
|
||||
# else
|
||||
"-mouse_sgr",
|
||||
# endif
|
||||
# ifdef FEAT_SYSMOUSE
|
||||
"+mouse_sysmouse",
|
||||
# else
|
||||
"-mouse_sysmouse",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_URXVT
|
||||
"+mouse_urxvt",
|
||||
# else
|
||||
"-mouse_urxvt",
|
||||
# endif
|
||||
# ifdef FEAT_MOUSE_XTERM
|
||||
"+mouse_xterm",
|
||||
# else
|
||||
"-mouse_xterm",
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MBYTE_IME
|
||||
# ifdef DYNAMIC_IME
|
||||
"+multi_byte_ime/dyn",
|
||||
@@ -719,6 +725,54 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
712,
|
||||
/**/
|
||||
711,
|
||||
/**/
|
||||
710,
|
||||
/**/
|
||||
709,
|
||||
/**/
|
||||
708,
|
||||
/**/
|
||||
707,
|
||||
/**/
|
||||
706,
|
||||
/**/
|
||||
705,
|
||||
/**/
|
||||
704,
|
||||
/**/
|
||||
703,
|
||||
/**/
|
||||
702,
|
||||
/**/
|
||||
701,
|
||||
/**/
|
||||
700,
|
||||
/**/
|
||||
699,
|
||||
/**/
|
||||
698,
|
||||
/**/
|
||||
697,
|
||||
/**/
|
||||
696,
|
||||
/**/
|
||||
695,
|
||||
/**/
|
||||
694,
|
||||
/**/
|
||||
693,
|
||||
/**/
|
||||
692,
|
||||
/**/
|
||||
691,
|
||||
/**/
|
||||
690,
|
||||
/**/
|
||||
689,
|
||||
/**/
|
||||
688,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user