Runtime file updates.

This commit is contained in:
Bram Moolenaar
2010-09-30 21:47:56 +02:00
parent c2a406b317
commit 4a74803ef8
20 changed files with 454 additions and 80 deletions

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2010 Jul 31 *diff.txt* For Vim version 7.3. Last change: 2010 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -261,10 +261,12 @@ that the buffers will be equal within the specified range.
*do* *do*
do Same as ":diffget" without argument or range. The "o" stands do Same as ":diffget" without argument or range. The "o" stands
for "obtain" ("dg" can't be used, it could be the start of for "obtain" ("dg" can't be used, it could be the start of
"dgg"!). "dgg"!). Note: this doesn't work in Visual mode.
*dp* *dp*
dp Same as ":diffput" without argument or range. dp Same as ":diffput" without argument or range.
Note: this doesn't work in Visual mode.
When no [range] is given, the diff at the cursor position or just above it is When no [range] is given, the diff at the cursor position or just above it is
affected. When [range] is used, Vim tries to only put or get the specified affected. When [range] is used, Vim tries to only put or get the specified

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2010 Sep 14 *eval.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1115,8 +1115,8 @@ See below |functions|.
============================================================================== ==============================================================================
3. Internal variable *internal-variables* *E121* 3. Internal variable *internal-variables* *E461*
*E461*
An internal variable name can be made up of letters, digits and '_'. But it An internal variable name can be made up of letters, digits and '_'. But it
cannot start with a digit. It's also possible to use curly braces, see cannot start with a digit. It's also possible to use curly braces, see
|curly-braces-names|. |curly-braces-names|.
@ -6741,7 +6741,8 @@ This would call the function "my_func_whizz(parameter)".
:let [{name}, ..., ; {lastname}] -= {expr1} :let [{name}, ..., ; {lastname}] -= {expr1}
Like above, but append/add/subtract the value for each Like above, but append/add/subtract the value for each
|List| item. |List| item.
*E106*
*E121*
:let {var-name} .. List the value of variable {var-name}. Multiple :let {var-name} .. List the value of variable {var-name}. Multiple
variable names may be given. Special names recognized variable names may be given. Special names recognized
here: *E738* here: *E738*

View File

@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.3. Last change: 2009 Mar 18 *if_cscop.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Andy Kahn VIM REFERENCE MANUAL by Andy Kahn
@ -112,8 +112,7 @@ The available subcommands are:
:cscope add /projects/vim/cscope.out /usr/local/vim :cscope add /projects/vim/cscope.out /usr/local/vim
:cscope add cscope.out /usr/local/vim -C :cscope add cscope.out /usr/local/vim -C
< <
*cscope-find* *cs-find* *cscope-find* *cs-find* *E567*
*E565* *E567*
find : Query cscope. All cscope query options are available find : Query cscope. All cscope query options are available
except option #5 ("Change this grep pattern"). except option #5 ("Change this grep pattern").
@ -198,7 +197,7 @@ The available subcommands are:
USAGE :cs help USAGE :cs help
*E260* *E261* *E261*
kill : Kill a cscope connection (or kill all cscope connections). kill : Kill a cscope connection (or kill all cscope connections).
USAGE :cs kill {num|partial_name} USAGE :cs kill {num|partial_name}

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Sep 15 *insert.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1766,6 +1766,11 @@ These two commands will keep on asking for lines, until you type a line
containing only a ".". Watch out for lines starting with a backslash, see containing only a ".". Watch out for lines starting with a backslash, see
|line-continuation|. |line-continuation|.
When in Ex mode (see |-e|) a backslash at the end of the line can be used to
insert a NUL character. To be able to have a line ending in a backslash use
two backslashes. This means that the number of backslashes is halved, but
only at the end of the line.
NOTE: These commands cannot be used with |:global| or |:vglobal|. NOTE: These commands cannot be used with |:global| or |:vglobal|.
":append" and ":insert" don't work properly in between ":if" and ":append" and ":insert" don't work properly in between ":if" and
":endif", ":for" and ":endfor", ":while" and ":endwhile". ":endif", ":for" and ":endfor", ":while" and ":endwhile".

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2010 Jul 20 *intro.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -300,7 +300,7 @@ and <> are part of what you type, the context should make this clear.
[] Characters in square brackets are optional. [] Characters in square brackets are optional.
*count* *[count]* *E489* *count* *[count]*
[count] An optional number that may precede the command to multiply [count] An optional number that may precede the command to multiply
or iterate the command. If no number is given, a count of one or iterate the command. If no number is given, a count of one
is used, unless otherwise noted. Note that in this manual the is used, unless otherwise noted. Note that in this manual the

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2010 Jul 31 *map.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1203,6 +1203,7 @@ completion can be enabled:
-complete=augroup autocmd groups -complete=augroup autocmd groups
-complete=buffer buffer names -complete=buffer buffer names
-complete=command Ex command (and arguments) -complete=command Ex command (and arguments)
-complete=cscope |:cscope| suboptions
-complete=dir directory names -complete=dir directory names
-complete=environment environment variable names -complete=environment environment variable names
-complete=event autocommand events -complete=event autocommand events
@ -1216,6 +1217,7 @@ completion can be enabled:
-complete=menu menus -complete=menu menus
-complete=option options -complete=option options
-complete=shellcmd Shell command -complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'| -complete=syntax syntax file names |'syntax'|
-complete=tag tags -complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit -complete=tag_listfiles tags, file names are shown when CTRL-D is hit

View File

@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.3. Last change: 2010 Aug 20 *netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Gordon Prieur et al. VIM REFERENCE MANUAL by Gordon Prieur et al.
@ -820,7 +820,7 @@ These errors occur when a message violates the protocol:
============================================================================== ==============================================================================
7. NetBeans commands *netbeans-commands* 7. NetBeans commands *netbeans-commands*
*:nbstart* *E511* *:nbstart* *E511* *E838*
:nbs[tart] {connection} Start a new Netbeans session with {connection} as the :nbs[tart] {connection} Start a new Netbeans session with {connection} as the
socket connection parameters. The format of socket connection parameters. The format of
{connection} is described in |netbeans-parameters|. {connection} is described in |netbeans-parameters|.

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2010 Sep 14 *syntax.txt* For Vim version 7.3. Last change: 2010 Sep 23
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -2258,7 +2258,7 @@ For highlighted builtin functions: >
For highlighted standard exceptions: > For highlighted standard exceptions: >
:let python_highlight_exceptions = 1 :let python_highlight_exceptions = 1
For highlighted trailing whitespace and mix of spaces and tabs: For highlighted trailing whitespace and mix of spaces and tabs: >
:let python_highlight_space_errors = 1 :let python_highlight_space_errors = 1
If you want all possible Python highlighting (the same as setting the If you want all possible Python highlighting (the same as setting the

View File

@ -3420,7 +3420,6 @@ E102 diff.txt /*E102*
E103 diff.txt /*E103* E103 diff.txt /*E103*
E104 digraph.txt /*E104* E104 digraph.txt /*E104*
E105 mbyte.txt /*E105* E105 mbyte.txt /*E105*
E106 eval.txt /*E106*
E107 eval.txt /*E107* E107 eval.txt /*E107*
E108 eval.txt /*E108* E108 eval.txt /*E108*
E109 eval.txt /*E109* E109 eval.txt /*E109*
@ -3587,7 +3586,6 @@ E257 if_cscop.txt /*E257*
E258 remote.txt /*E258* E258 remote.txt /*E258*
E259 if_cscop.txt /*E259* E259 if_cscop.txt /*E259*
E26 rileft.txt /*E26* E26 rileft.txt /*E26*
E260 if_cscop.txt /*E260*
E261 if_cscop.txt /*E261* E261 if_cscop.txt /*E261*
E262 if_cscop.txt /*E262* E262 if_cscop.txt /*E262*
E263 if_pyth.txt /*E263* E263 if_pyth.txt /*E263*
@ -3836,7 +3834,6 @@ E485 message.txt /*E485*
E486 pattern.txt /*E486* E486 pattern.txt /*E486*
E487 options.txt /*E487* E487 options.txt /*E487*
E488 message.txt /*E488* E488 message.txt /*E488*
E489 intro.txt /*E489*
E49 message.txt /*E49* E49 message.txt /*E49*
E490 fold.txt /*E490* E490 fold.txt /*E490*
E492 message.txt /*E492* E492 message.txt /*E492*
@ -3919,7 +3916,6 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562* E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563* E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564* E564 if_cscop.txt /*E564*
E565 if_cscop.txt /*E565*
E566 if_cscop.txt /*E566* E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567* E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568* E568 if_cscop.txt /*E568*
@ -4219,6 +4215,7 @@ E834 options.txt /*E834*
E835 options.txt /*E835* E835 options.txt /*E835*
E836 if_pyth.txt /*E836* E836 if_pyth.txt /*E836*
E837 if_pyth.txt /*E837* E837 if_pyth.txt /*E837*
E838 netbeans.txt /*E838*
E84 windows.txt /*E84* E84 windows.txt /*E84*
E85 options.txt /*E85* E85 options.txt /*E85*
E86 windows.txt /*E86* E86 windows.txt /*E86*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2010 Sep 21 *todo.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,32 +30,18 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Patch for Mingw build file (Jon, 2010 Aug 22) Cursor position wrong when 'formatoptions' contains "a". (Moshe Kamensky, 2010
Patch for loading different Ruby versions. (Jon, 2010 Aug 23) Sep 7, Gary Johnson, 2010 Sep 14)
Formatoptions cause cursor to jump. (ZyX, 2010 Aug 22)
Document cscope and sign completion for user commands. (Peter Odding, 2010 Aug Caused by revision 2294, "Make joining a range of lines much faster. (Milan
19) Vancura)" ?
Patch by Carlo Teubner, 2010 Sep 25. Test Sep 26.
Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10)
":e ~br<Tab>" does not complete to ":e /home/bram/". Crash too?
Runtime file for Falcon. (Steven Oliver, 2010 Sep 14)
Patch to fix error tags in help files. (Dominique Pelle, 2010 Aug 25)
Patch to fix :nbstart silently failing. (Xavier de Gaye, 2010 Aug 20)
Another one for when Athena has netbeans support.
patch for 3 bugs reported by smatch. (Dominique Pelle, 2010 Aug 23)
'cursorline' is displayed too short when there are concealed characters and 'cursorline' is displayed too short when there are concealed characters and
'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15) 'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
Hang on slave PTY on Mac. Patch from Nikola Knezevic, 2010 Aug 29. Hang on slave PTY on Mac. Patch from Nikola Knezevic, 2010 Aug 29.
Patch to support netbeans under Athena. (Xavier de Gaye, 2010 Aug 20)
Patch to fix sign type negative and memory not freed. (Xavier de Gaye, 2010 Patch to fix sign type negative and memory not freed. (Xavier de Gaye, 2010
Aug 20) Aug 20)
@ -69,8 +55,19 @@ only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
Patch for :mksession not escaping file name properly. (Peter Odding, 2010 Sep Patch for :mksession not escaping file name properly. (Peter Odding, 2010 Sep
19) 19)
Patch for CTRL-] in help file doing wrong escaping. (Carlo Teubner, 2010 Sep
25)
Patch to support List and Dict in .viminfo. (Christian Brabandt, 2010 Sep 24)
Sep 26 with a test.
Patch for :grep docs. (Britton Kerin, 2010 Aug 31) Patch for :grep docs. (Britton Kerin, 2010 Aug 31)
Patch for dynamic loading Ruby on Unix. (Jon, 2010 Aug 23)
Included, but also need a change to configure.
Replacement R syntax file. (Jakson A. Aquino, 2010 Sep 29)
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26) Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
maparg() doesn't return the flags, such as <buffer>, <script>, <silent>. maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
@ -88,6 +85,8 @@ Patch to fix warning for accessing mediumVersion. (Dominique Pelle, 2010 Aug
Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10) Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10)
Patch to use 'previewheight' for popup menu. (Benjamin Haskell, 2010 Sep 29)
CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck, CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck,
2010 Aug 8) 2010 Aug 8)
@ -106,8 +105,12 @@ Beckett Aug 23)
GTK: drawing a double-width combining character over single-width characters GTK: drawing a double-width combining character over single-width characters
doesn't look right. (Dominique Pelle, 2010 Aug 8) doesn't look right. (Dominique Pelle, 2010 Aug 8)
copy/paste between Vim and Google chrome doesn't work well for multi-byte Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17) characters. (Ben Haskell, 2010 Sep 17)
When putting text in the cut buffer (when exiting) and conversion doesn't work
properly, Prepend "ENC==={value of 'enc'}:" to the text and don't convert?
Then it should at least work from Vim to Vim and in other applications it's
clear why it doesn't work.
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer? ^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
@ -231,12 +234,18 @@ Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009 In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
Jun 1) Jun 1)
Cannot use getchar() inside :normal and using an expression mapping. Is this
supposed to work? (XyX, 2010 Sep 22)
When a:base in 'completefunc' starts with a number it's passed as a number, When a:base in 'completefunc' starts with a number it's passed as a number,
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
string value. string value.
There is no command line completion for ":lmap". There is no command line completion for ":lmap".
":e ~br<Tab>" does not complete to ":e /home/bram/". Would need to use
getpwent() to find all the matches.
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2) Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
For running gvim on an USB stick: avoid the OLE registration. Use a command For running gvim on an USB stick: avoid the OLE registration. Use a command
@ -245,12 +254,6 @@ line argument -noregister.
When a mapping exists both for insert mode and lang-insert mode, the last one When a mapping exists both for insert mode and lang-insert mode, the last one
doesn't work. (Tyru, 2010 May 6) Or is this intended? doesn't work. (Tyru, 2010 May 6) Or is this intended?
Cursor position wrong when 'formatoptions' contains "a". (Moshe Kamensky, 2010
Sep 7, Gary Johnson, 2010 Sep 14)
Formatoptions cause cursor to jump. (ZyX, 2010 Aug 22)
Caused by revision 2294, "Make joining a range of lines much faster. (Milan
Vancura)" ?
Still a problem with ":make" in the wrong directory. Caused by ":bufdo". Still a problem with ":make" in the wrong directory. Caused by ":bufdo".
(Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15. (Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.
Caused by "doautoall syntaxset BufEnter *" in syntax/nosyntax.vim ? Caused by "doautoall syntaxset BufEnter *" in syntax/nosyntax.vim ?

View File

@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.3. Last change: 2010 Sep 14 *undo.txt* For Vim version 7.3. Last change: 2010 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -137,7 +137,7 @@ This is explained in the user manual: |usr_32.txt|.
The "time" column is the time this change was made. The "time" column is the time this change was made.
The "saved" column specifies, if this change was The "saved" column specifies, if this change was
written to disk and which file write it was. This can written to disk and which file write it was. This can
be used with the |later| and |earlier| commands. be used with the |:later| and |:earlier| commands.
For more details use the |undotree()| function. For more details use the |undotree()| function.
*g-* *g-*

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2010 Sep 14 *various.txt* For Vim version 7.3. Last change: 2010 Sep 23
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -167,8 +167,8 @@ g8 Print the hex values of the bytes used in the
:norm[al][!] {commands} *:norm* *:normal* :norm[al][!] {commands} *:norm* *:normal*
Execute Normal mode commands {commands}. This makes Execute Normal mode commands {commands}. This makes
it possible to execute Normal mode commands typed on it possible to execute Normal mode commands typed on
the command-line. {commands} is executed like it is the command-line. {commands} are executed like they
typed. For undo all commands are undone together. are typed. For undo all commands are undone together.
Execution stops when an error is encountered. Execution stops when an error is encountered.
If the [!] is given, mappings will not be used. If the [!] is given, mappings will not be used.
{commands} should be a complete command. If {commands} should be a complete command. If

View File

@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Jul 20 *vi_diff.txt* For Vim version 7.3. Last change: 2010 Sep 25
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -90,6 +90,7 @@ Maximum lhs of a mapping 50 characters.
Number of different highlighting types: over 30000 Number of different highlighting types: over 30000
Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit
systems) systems)
Maximum length of a line in a tags file: 512 bytes.
Information for undo and text in registers is kept in memory, thus when making Information for undo and text in registers is kept in memory, thus when making
(big) changes the amount of (virtual) memory available limits the number of (big) changes the amount of (virtual) memory available limits the number of

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Jul 30 " Last Change: 2010 Sep 29
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@ -677,6 +677,9 @@ au BufNewFile,BufRead *.exp setf expect
" Exports " Exports
au BufNewFile,BufRead exports setf exports au BufNewFile,BufRead exports setf exports
" Falcon
au BufNewFile,BufRead *.fal setf falcon
" Fantom " Fantom
au BufNewFile,BufRead *.fan,*.fwt setf fan au BufNewFile,BufRead *.fan,*.fwt setf fan

View File

@ -0,0 +1,43 @@
" Vim filetype plugin file
" Language: Falcon
" Author: Steven Oliver <oliver.steven@gmail.com>
" Copyright: Copyright (c) 2009, 2010 Steven Oliver
" License: You may redistribute this under the same terms as Vim itself
" --------------------------------------------------------------------------
" GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal tabstop=4 shiftwidth=4 expandtab fileencoding=utf-8
setlocal suffixesadd=.fal
" Matchit support
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
let b:match_words =
\ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' .
\ ':' .
\ '\<\%(else\|elsif\|when\)\>' .
\ ':' .
\ '\<end\>' .
\ ',{:},\[:\],(:)'
endif
" Set comments to include dashed lines
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
" Windows allows you to filter the open file dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Falcon Source Files (*.fal)\t*.fal\n" .
\ "All Files (*.*)\t*.*\n"
endif
" vim: set sw=4 sts=4 et tw=80 :

156
runtime/indent/falcon.vim Normal file
View File

@ -0,0 +1,156 @@
" Vim indent file
" Language: Falcon
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
" Website: https://steveno@github.com/steveno/falconpl-vim.git
" Credits: Thanks to the ruby.vim authors, I borrow a lot!
" Previous Maintainer: Brent A. Fulgham <bfulgham@debian.org>
" -----------------------------------------------------------
" GetLatestVimScripts: 2752 1 :AutoInstall: falcon.vim
"======================================
" SETUP
"======================================
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal nosmartindent
" Setup indent function and when to use it
setlocal indentexpr=FalconGetIndent()
setlocal indentkeys=0{,0},0),0],!^F,o,O,e
setlocal indentkeys+==~case,=~catch,=~default,=~elif,=~else,=~end,=~\"
" Define the appropriate indent function but only once
if exists("*FalconGetIndent")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
"======================================
" VARIABLES
"======================================
" Regex of syntax group names that are strings AND comments
let s:syng_strcom = '\<falcon\%(String\|StringEscape\|Comment\)\>'
" Regex of syntax group names that are strings
let s:syng_string = '\<falcon\%(String\|StringEscape\)\>'
" Keywords to indent on
let s:falcon_indent_keywords = '^\s*\(case\|catch\|class\|enum\|default\|elif\|else' .
\ '\|for\|function\|if.*"[^"]*:.*"\|if \(\(:\)\@!.\)*$\|loop\|object\|select' .
\ '\|switch\|try\|while\|\w*\s*=\s*\w*([$\)'
" Keywords to deindent on
let s:falcon_deindent_keywords = '^\s*\(case\|catch\|default\|elif\|else\|end\)'
"======================================
" FUNCTIONS
"======================================
" Check if the character at lnum:col is inside a string
function s:IsInStringOrComment(lnum, col)
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_strcom
endfunction
"======================================
" INDENT ROUTINE
"======================================
function FalconGetIndent()
" Get the line to be indented
let cline = getline(v:lnum)
" Don't reindent comments on first column
if cline =~ '^\/\/'
return 0
endif
" Find the previous non-blank line
let lnum = prevnonblank(v:lnum - 1)
" Use zero indent at the top of the file
if lnum == 0
return 0
endif
let prevline=getline(lnum)
let ind = indent(lnum)
let chg = 0
" If we are in a multi-line string or line-comment, don't do anything
if s:IsInStringOrComment(v:lnum, matchend(cline, '^\s*') + 1 )
return indent('.')
endif
" If the start of the line equals a double quote, then indent to the
" previous lines first double quote
if cline =~? '^\s*"'
let chg = chg + &sw
endif
" If previous line started with a double quote and this one
" doesn't, unindent
if prevline =~? '^\s*"' && cline =~? '^\s*'
let chg = chg - &sw
endif
" Indent if proper keyword
if prevline =~? s:falcon_indent_keywords
let chg = &sw
" If previous line opened a parenthesis, and did not close it, indent
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
" Make sure this isn't just a function split between two lines
if prevline =~ ',\s*$'
return indent(prevnonblank(v:lnum - 1)) + &sw
else
return match(prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
endif
elseif prevline =~ '^[^(]*)\s*$'
" This line closes a parenthesis. Finds opening.
let curr_line = prevnonblank(lnum - 1)
while curr_line >= 0
let str = getline(curr_line)
if str !~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
let curr_line = prevnonblank(curr_line - 1)
else
break
endif
endwhile
if curr_line < 0
return -1
endif
let ind = indent(curr_line)
endif
" If previous line ends in a semi-colon reset indent to previous
" lines setting
if prevline =~? ';\s*$' && prevnonblank(prevline) =~? ',\s*$'
return chg = chg - (2 * &sw)
endif
" If previous line ended in a comma, indent again
if prevline =~? ',\s*$'
let chg = chg + &sw
endif
" If previous line ended in a =>, indent again
if prevline =~? '=>\s*$'
let chg = chg + &sw
endif
" Deindent on proper keywords
if cline =~? s:falcon_deindent_keywords
let chg = chg - &sw
endif
return ind + chg
endfunction
" vim: set sw=4 sts=4 et tw=80 :

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types in scripts " Vim support file to detect file types in scripts
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2010 Jul 29 " Last change: 2010 Sep 22
" This file is called by an autocommand for every file that has just been " This file is called by an autocommand for every file that has just been
" loaded into a buffer. It checks if the type of file can be recognized by " loaded into a buffer. It checks if the type of file can be recognized by
@ -168,7 +168,8 @@ else
call SetFileTypeSH(s:line1) " defined in filetype.vim call SetFileTypeSH(s:line1) " defined in filetype.vim
" Z shell scripts " Z shell scripts
elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' ||
\ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
set ft=zsh set ft=zsh
" ELM Mail files " ELM Mail files

View File

@ -2,8 +2,8 @@
" "
" Language: D " Language: D
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com> " Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
" Last Change: 2010 Sep 9 " Last Change: 2010 Sep 21
" Version: 0.21 " Version: 0.22
" "
" Contributors: " Contributors:
" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer " - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
@ -117,9 +117,9 @@ syn match dSharpBang "\%^#!.*" display
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
" Version Identifiers " Version Identifiers
syn match dVersion "version\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+7 contains=dVersionIdentifier syn match dVersion "[^.]version" nextgroup=dVersionInside
syn match dVersion "[^.]\s*\<version\>" syn match dVersion "^version" nextgroup=dVersionInside
syn match dVersion "^\<version\>" syn match dVersionInside "([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
" Scope StorageClass " Scope StorageClass
syn match dStorageClass "scope" syn match dStorageClass "scope"

155
runtime/syntax/falcon.vim Normal file
View File

@ -0,0 +1,155 @@
" Vim syntax file
" Language: Falcon
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
" Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim
" Credits: Thanks the ruby.vim authors, I borrowed a lot!
" -------------------------------------------------------------------------------
" GetLatestVimScripts: 2745 1 :AutoInstall: falcon.vim
" When wanted, highlight the trailing whitespace.
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
syn match falconSpaceError "\s\+$"
endif
if !exists("c_no_tab_space_error")
syn match falconSpaceError " \+\t"me=e-1
endif
endif
" Symbols
syn match falconSymbol "\(;\|,\|\.\)"
syn match falconSymbolOther "\(#\|@\)" display
" Operators
syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)"
syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)"
" Clusters
syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@falconStringSpecial fold
syn case match
" Keywords
syn keyword falconKeyword all allp any anyp as attributes brigade cascade catch choice class const
syn keyword falconKeyword continue def directive do list dropping enum eq eval exit export from function
syn keyword falconKeyword give global has hasnt in init innerfunc lambda launch launch len List list
syn keyword falconKeyword load notin object pass print printl provides raise return self sender static to
syn keyword falconKeyword try xamp
" Error Type Keywords
syn keyword falconKeyword CloneError CodeError Error InterruprtedError IoError MathError
syn keyword falconKeyword ParamError RangeError SyntaxError TraceStep TypeError
" Todo
syn keyword falconTodo DEBUG FIXME NOTE TODO XXX
" Conditionals
syn keyword falconConditional and case default else end if iff
syn keyword falconConditional elif or not switch select
syn match falconConditional "end\s\if"
" Loops
syn keyword falconRepeat break for loop forfirst forlast formiddle while
" Booleans
syn keyword falconBool true false
" Constants
syn keyword falconConst PI E nil
" Comments
syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)"
syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo
syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo
syn match falconSharpBang "\%^#!.*" display
syn sync ccomment falconComment
" Numbers
syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
syn match falconHexadecimal contained "\<0x\x\+\>"
syn match falconOctal contained "\<0\o\+\>"
syn match falconIntLiteral contained "[+-]\<d\+\(\d\+\)\?\>"
syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*"
syn match falconFloatLiteral contained "[+-]\=\d*\.\d*"
" Includes
syn keyword falconInclude load import
" Expression Substitution and Backslash Notation
syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
" Normal String and Shell Command Output
syn region falconString matchgroup=falconStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
syn region falconString matchgroup=falconStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold
syn region falconString matchgroup=falconStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=falconStringEscape fold
" Generalized Single Quoted String, Symbol and Array of Strings
syn region falconString matchgroup=falconStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
syn region falconString matchgroup=falconStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
syn region falconString matchgroup=falconStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
" Generalized Double Quoted String and Array of Strings and Shell Command Output
syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-\z(\h\w*\)\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
" Syntax Synchronizing
syn sync minlines=10 maxlines=100
" Define the default highlighting
if !exists("did_falcon_syn_inits")
command -nargs=+ HiLink hi def link <args>
HiLink falconKeyword Keyword
HiLink falconCommentString String
HiLink falconTodo Todo
HiLink falconConditional Keyword
HiLink falconRepeat Repeat
HiLink falconcommentSkip Comment
HiLink falconComment Comment
HiLink falconCommentL Comment
HiLink falconConst Constant
HiLink falconOperator Operator
HiLink falconSymbol Normal
HiLink falconSpaceError Error
HiLink falconHexadecimal Number
HiLink falconOctal Number
HiLink falconIntLiteral Number
HiLink falconFloatLiteral Float
HiLink falconStringEscape Special
HiLink falconStringDelimiter Delimiter
HiLink falconString String
HiLink falconBool Constant
HiLink falconSharpBang PreProc
HiLink falconInclude Include
HiLink falconSymbol Constant
HiLink falconSymbolOther Delimiter
delcommand HiLink
endif
let b:current_syntax = "falcon"
" vim: set sw=4 sts=4 et tw=80 :

View File

@ -1,9 +1,10 @@
" Vim syntax file " Vim syntax file
" Language: NASM - The Netwide Assembler (v0.98) " Language: NASM - The Netwide Assembler (v0.98)
" Maintainer: Manuel M.H. Stol <mmh.stol@gmx.net> " Maintainer: Andriy Sokolov <andriy145@gmail.com>
" Last Change: 2003 May 11 " Original Author: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
" Vim URL: http://www.vim.org/lang.html " Former Maintainer: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
" NASM Home: http://www.cryogen.com/Nasm/ " Last Change: 2010 Sep 24
" NASM Home: http://www.nasm.us/
@ -160,6 +161,7 @@ syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure kee
"syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro
"syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
syn region nasmInMacPreConDef contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit syn region nasmInMacPreConDef contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit
" Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block
syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
@ -210,15 +212,17 @@ syn cluster nasmGrpInPreCondits contains=nasmPreCondit,nasmInPreCondit,nasmCtxPr
syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel
" Other pre-processor statements " Other pre-processor statements
syn match nasmPreProc "^\s*%rep\>"hs=e-3 syn match nasmPreProc "^\s*%\(rep\|use\)\>"hs=e-3
syn match nasmPreProc "^\s*%line\>"hs=e-4 syn match nasmPreProc "^\s*%line\>"hs=e-4
syn match nasmPreProc "^\s*%\(clear\|error\)\>"hs=e-5 syn match nasmPreProc "^\s*%\(clear\|error\|fatal\)\>"hs=e-5
syn match nasmPreProc "^\s*%endrep\>"hs=e-6 syn match nasmPreProc "^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6
syn match nasmPreProc "^\s*%exitrep\>"hs=e-7 syn match nasmPreProc "^\s*%\(exitrep\|warning\)\>"hs=e-7
syn match nasmDefine "^\s*%undef\>"hs=e-5 syn match nasmDefine "^\s*%undef\>"hs=e-5
syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6 syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6
syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7 syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7
syn match nasmDefine "^\s*%unmacro\>"hs=e-7
syn match nasmInclude "^\s*%include\>"hs=e-7 syn match nasmInclude "^\s*%include\>"hs=e-7
" Todo: Treat the line tail after %fatal, %error, %warning as text
" Multiple pre-processor instructions on single line detection (obsolete) " Multiple pre-processor instructions on single line detection (obsolete)
"syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+ "syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+
@ -231,6 +235,7 @@ syn cluster nasmGrpPreProcs contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCo
syn match nasmGen08Register "\<[A-D][HL]\>" syn match nasmGen08Register "\<[A-D][HL]\>"
syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>" syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>"
syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>" syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WD]\|1[0-5][WD]\)\>"
syn match nasmSegRegister "\<[C-GS]S\>" syn match nasmSegRegister "\<[C-GS]S\>"
syn match nasmSpcRegister "\<E\=IP\>" syn match nasmSpcRegister "\<E\=IP\>"
syn match nasmFpuRegister "\<ST\o\>" syn match nasmFpuRegister "\<ST\o\>"
@ -298,20 +303,21 @@ syn match nasmStdInstruction "\<\(CMOV\|J\|SET\)\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P
syn match nasmStdInstruction "\<POP\>" syn match nasmStdInstruction "\<POP\>"
syn keyword nasmStdInstruction AAA AAD AAM AAS ADC ADD AND syn keyword nasmStdInstruction AAA AAD AAM AAS ADC ADD AND
syn keyword nasmStdInstruction BOUND BSF BSR BSWAP BT[C] BTR BTS syn keyword nasmStdInstruction BOUND BSF BSR BSWAP BT[C] BTR BTS
syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW CMPSQ
syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E] syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E] CQO
syn keyword nasmStdInstruction DAA DAS DEC DIV ENTER syn keyword nasmStdInstruction DAA DAS DEC DIV ENTER
syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW IRETQ
syn keyword nasmStdInstruction JCXZ JECXZ JMP syn keyword nasmStdInstruction JCXZ JECXZ JMP
syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD LODSQ
syn keyword nasmStdInstruction LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS syn keyword nasmStdInstruction LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS
syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVZX MUL NEG NOP NOT syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVSQ MOVZX MUL NEG NOP NOT
syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW POPFQ
syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW PUSHFQ
syn keyword nasmStdInstruction RCL RCR RETF RET[N] ROL ROR syn keyword nasmStdInstruction RCL RCR RETF RET[N] ROL ROR
syn keyword nasmStdInstruction SAHF SAL SAR SBB SCASB SCASD SCASW syn keyword nasmStdInstruction SAHF SAL SAR SBB SCASB SCASD SCASW
syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW SUB syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW STOSQ SUB
syn keyword nasmStdInstruction TEST XADD XCHG XLATB XOR syn keyword nasmStdInstruction TEST XADD XCHG XLATB XOR
syn keyword nasmStdInstruction LFENCE MFENCE SFENCE
" System Instructions: (usually privileged) " System Instructions: (usually privileged)