changeset 31200:a7801222c9c5

Update runtime files Commit: https://github.com/vim/vim/commit/b59ae59a58706e454ef8c78276f021b1f58466e7 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Nov 23 23:46:31 2022 +0000 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Thu, 24 Nov 2022 01:00:06 +0100
parents 2a1806eb1a4e
children b1c66bff0a66
files runtime/doc/autocmd.txt runtime/doc/builtin.txt runtime/doc/change.txt runtime/doc/digraph.txt runtime/doc/eval.txt runtime/doc/ft_context.txt runtime/doc/insert.txt runtime/doc/intro.txt runtime/doc/map.txt runtime/doc/options.txt runtime/doc/os_haiku.txt runtime/doc/quickref.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/textprop.txt runtime/doc/tips.txt runtime/doc/todo.txt runtime/doc/usr_12.txt runtime/doc/usr_41.txt runtime/doc/version9.txt runtime/doc/vim9.txt runtime/doc/windows.txt runtime/filetype.vim runtime/ftplugin/lua.vim runtime/ftplugin/mermaid.vim runtime/ftplugin/obse.vim runtime/indent/obse.vim runtime/optwin.vim runtime/syntax/mermaid.vim runtime/syntax/obse.vim runtime/syntax/swayconfig.vim
diffstat 31 files changed, 3818 insertions(+), 90 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 9.0.  Last change: 2022 May 24
+*autocmd.txt*   For Vim version 9.0.  Last change: 2022 Nov 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1058,8 +1058,8 @@ QuickFixCmdPre			Before a quickfix comma
 QuickFixCmdPost			Like QuickFixCmdPre, but after a quickfix
 				command is run, before jumping to the first
 				location. For |:cfile| and |:lfile| commands
-				it is run after error file is read and before
-				moving to the first error.
+				it is run after the error file is read and
+				before moving to the first error.
 				See |QuickFixCmdPost-example|.
 							*QuitPre*
 QuitPre				When using `:quit`, `:wq` or `:qall`, before
@@ -1342,8 +1342,9 @@ VimSuspend			When the Vim instance is su
 				CTRL-Z was typed inside Vim, or when the SIGTSTP
 				signal was sent to Vim, but not for SIGSTOP.
 							*WinClosed*
-WinClosed			After closing a window.  The pattern is
-				matched against the |window-ID|.  Both
+WinClosed			When closing a window, just before it is
+				removed from the window layout.  The pattern
+				is matched against the |window-ID|.  Both
 				<amatch> and <afile> are set to the
 				|window-ID|.  Non-recursive (event cannot
 				trigger itself).
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 9.0.  Last change: 2022 Nov 14
+*builtin.txt*	For Vim version 9.0.  Last change: 2022 Nov 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5572,6 +5572,10 @@ map({expr1}, {expr2})					*map()*
 		If {expr2} is a |Funcref| it is called with two arguments:
 			1. The key or the index of the current item.
 			2. the value of the current item.
+		With a legacy script lambda you don't get an error if it only
+		accepts one argument, but with a Vim9 lambda you get "E1106:
+		One argument too many", the number of arguments must match.
+
 		The function must return the new value of the item. Example
 		that changes each value by "key-value": >
 			func KeyValue(key, val)
@@ -7938,29 +7942,38 @@ setbufvar({buf}, {varname}, {val})			*se
 
 setcellwidths({list})					*setcellwidths()*
 		Specify overrides for cell widths of character ranges.  This
-		tells Vim how wide characters are, counted in screen cells.
-		This overrides 'ambiwidth'.  Example: >
-		   setcellwidths([[0xad, 0xad, 1],
-				\ [0x2194, 0x2199, 2]])
-
-<				*E1109* *E1110* *E1111* *E1112* *E1113* *E1114*
-		The {list} argument is a list of lists with each three
-		numbers. These three numbers are [low, high, width].  "low"
-		and "high" can be the same, in which case this refers to one
-		character. Otherwise it is the range of characters from "low"
-		to "high" (inclusive).  "width" is either 1 or 2, indicating
-		the character width in screen cells.
+		tells Vim how wide characters are when displayed in the
+		terminal, counted in screen cells.  The values override
+		'ambiwidth'.  Example: >
+		   call setcellwidths([
+		   		\ [0x111, 0x111, 1],
+				\ [0x2194, 0x2199, 2],
+				\ ])
+
+<		The {list} argument is a List of Lists with each three
+		numbers: [{low}, {high}, {width}].	*E1109* *E1110*
+		{low} and {high} can be the same, in which case this refers to
+		one character.  Otherwise it is the range of characters from
+		{low} to {high} (inclusive).		*E1111* *E1114*
+		Only characters with value 0x100 and higher can be used.
+
+		{width} must be either 1 or 2, indicating the character width
+		in screen cells.			*E1112*
 		An error is given if the argument is invalid, also when a
-		range overlaps with another.
-		Only characters with value 0x100 and higher can be used.
+		range overlaps with another. 		*E1113*
 
 		If the new value causes 'fillchars' or 'listchars' to become
 		invalid it is rejected and an error is given.
 
-		To clear the overrides pass an empty list: >
+		To clear the overrides pass an empty {list}: >
 		   setcellwidths([]);
+
 <		You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
-		the effect for known emoji characters.
+		the effect for known emoji characters.  Move the cursor
+		through the text to check if the cell widths of your terminal
+		match with what Vim knows about each emoji.  If it doesn't
+		look right you need to adjust the {list} argument.
+
 
 setcharpos({expr}, {list})				*setcharpos()*
 		Same as |setpos()| but uses the specified column number as the
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 9.0.  Last change: 2022 Sep 13
+*change.txt*    For Vim version 9.0.  Last change: 2022 Nov 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 9.0.  Last change: 2021 Jul 19
+*digraph.txt*   For Vim version 9.0.  Last change: 2022 Nov 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -162,7 +162,7 @@ These are the RFC1345 digraphs for the o
 ":digraphs" for the others.
 
 EURO
-
+							*euro* *euro-digraph*
 Exception: RFC1345 doesn't specify the euro sign.  In Vim the digraph =e was
 added for this.  Note the difference between latin1, where the digraph Cu is
 used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 9.0.  Last change: 2022 Nov 13
+*eval.txt*	For Vim version 9.0.  Last change: 2022 Nov 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1548,7 +1548,7 @@ to be doubled.  These two commands are e
 	if a =~ '\s*'
 
 
-interpolated-string				*$quote* *interp-string*
+interpolated-string				*$quote* *interpolated-string*
 --------------------
 $"string"		interpolated string constant		*expr-$quote*
 $'string'		interpolated literal string constant	*expr-$'*
@@ -2859,7 +2859,7 @@ text...
 			does not need to be doubled.
 			If "eval" is specified, then any Vim expression in the
 			form {expr} is evaluated and the result replaces the
-			expression, like with |interp-string|.
+			expression, like with |interpolated-string|.
 			Example where $HOME is expanded: >
 				let lines =<< trim eval END
 				  some text
--- a/runtime/doc/ft_context.txt
+++ b/runtime/doc/ft_context.txt
@@ -79,7 +79,7 @@ The last command will create the followi
 - `context-data-context.vim`;
 - `context-data-interfaces.vim`;
 - `context-data-metafun.vim`;
-- `context-data-tex.vim`. 
+- `context-data-tex.vim`.
 
 The same command can be used to update those syntax files.
 
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -892,7 +892,7 @@ Groß): >
       endfor
       return res
     endfunc
-    
+
     if exists('+thesaurusfunc')
       set thesaurusfunc=Thesaur
     endif
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 9.0.  Last change: 2022 Oct 12
+*intro.txt*     For Vim version 9.0.  Last change: 2022 Nov 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 9.0.  Last change: 2022 Nov 14
+*map.txt*       For Vim version 9.0.  Last change: 2022 Nov 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1853,7 +1853,7 @@ When executed as: >
 This will invoke: >
 	:call Myfunc("arg1","arg2")
 
-<						*q-args-example* 
+<						*q-args-example*
 A more substantial example: >
    :function Allargs(command)
    :   let i = 0
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 9.0.  Last change: 2022 Nov 12
+*options.txt*	For Vim version 9.0.  Last change: 2022 Nov 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4548,17 +4548,21 @@ A jump table for the options with a shor
 			|+find_in_path| or |+eval| features}
 	Expression to be used to transform the string found with the 'include'
 	option to a file name.  Mostly useful to change "." to "/" for Java: >
-		:set includeexpr=substitute(v:fname,'\\.','/','g')
+		:setlocal includeexpr=substitute(v:fname,'\\.','/','g')
 <	The "v:fname" variable will be set to the file name that was detected.
-
+	Note the double backslash: the `:set` command first halves them, then
+	one remains it the value, where "\." matches a dot literally.  For
+	simple character replacements `tr()` avoids the need for escaping: >
+		:setlocal includeexpr=tr(v:fname,'.','/')
+<
 	Also used for the |gf| command if an unmodified file name can't be
 	found.  Allows doing "gf" on the name after an 'include' statement.
 	Also used for |<cfile>|.
 
 	If the expression starts with s: or |<SID>|, then it is replaced with
 	the script ID (|local-function|). Example: >
-		set includeexpr=s:MyIncludeExpr()
-		set includeexpr=<SID>SomeIncludeExpr()
+		setlocal includeexpr=s:MyIncludeExpr()
+		setlocal includeexpr=<SID>SomeIncludeExpr()
 <	Otherwise, the expression is evaluated in the context of the script
 	where the option was set, thus script-local items are available.
 
--- a/runtime/doc/os_haiku.txt
+++ b/runtime/doc/os_haiku.txt
@@ -95,7 +95,7 @@ The default value for $VIM is set at com
 
   :version
 
-The normal value is /boot/system/data/vim for Haikuports version, 
+The normal value is /boot/system/data/vim for Haikuports version,
 /boot/system/non-packaged/data/vim for manual builds.  If you don't like it
 you can set the VIM environment variable to override this, or set 'helpfile'
 in your .vimrc: >
@@ -223,11 +223,11 @@ Thank you, all!
 
 
 14. Bugs & to-do					*haiku-bugs*
- 
+
 The port is under development now and far away from the perfect state. For bug
 reports, patches and wishes, please use the Vim mailing list or Vim Github
 repository.
- 
+
 Mailing list: https://www.vim.org/maillist.php
 Vim Github repository: https://github.com/vim/vim
 
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 9.0.  Last change: 2022 Oct 28
+*quickref.txt*  For Vim version 9.0.  Last change: 2022 Nov 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -4901,7 +4901,7 @@ 13. Colorschemes				*color-schemes*
 In the next section you can find information about indivisual highlight groups
 and how to specify colors for them.  Most likely you want to just select a set
 of colors by using the `:colorscheme` command, for example: >
-	
+
 	    colorscheme pablo
 <
 						*:colo* *:colorscheme* *E185*
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -437,10 +437,12 @@
 'key'	options.txt	/*'key'*
 'keymap'	options.txt	/*'keymap'*
 'keymodel'	options.txt	/*'keymodel'*
+'keyprotocol'	options.txt	/*'keyprotocol'*
 'keywordprg'	options.txt	/*'keywordprg'*
 'km'	options.txt	/*'km'*
 'kmp'	options.txt	/*'kmp'*
 'kp'	options.txt	/*'kp'*
+'kpc'	options.txt	/*'kpc'*
 'langmap'	options.txt	/*'langmap'*
 'langmenu'	options.txt	/*'langmenu'*
 'langnoremap'	options.txt	/*'langnoremap'*
@@ -4362,6 +4364,7 @@ E1309	map.txt	/*E1309*
 E131	userfunc.txt	/*E131*
 E1310	gui.txt	/*E1310*
 E1311	map.txt	/*E1311*
+E1312	windows.txt	/*E1312*
 E132	userfunc.txt	/*E132*
 E133	userfunc.txt	/*E133*
 E134	change.txt	/*E134*
@@ -5614,7 +5617,10 @@ WinClosed	autocmd.txt	/*WinClosed*
 WinEnter	autocmd.txt	/*WinEnter*
 WinLeave	autocmd.txt	/*WinLeave*
 WinNew	autocmd.txt	/*WinNew*
+WinResized	autocmd.txt	/*WinResized*
+WinResized-event	windows.txt	/*WinResized-event*
 WinScrolled	autocmd.txt	/*WinScrolled*
+WinScrolled-event	windows.txt	/*WinScrolled-event*
 X	change.txt	/*X*
 X11	options.txt	/*X11*
 X11-icon	gui_x11.txt	/*X11-icon*
@@ -6692,6 +6698,8 @@ escape()	builtin.txt	/*escape()*
 escape-bar	version4.txt	/*escape-bar*
 euphoria3.vim	syntax.txt	/*euphoria3.vim*
 euphoria4.vim	syntax.txt	/*euphoria4.vim*
+euro	digraph.txt	/*euro*
+euro-digraph	digraph.txt	/*euro-digraph*
 eval	eval.txt	/*eval*
 eval()	builtin.txt	/*eval()*
 eval-examples	eval.txt	/*eval-examples*
@@ -7487,6 +7495,7 @@ get()	builtin.txt	/*get()*
 get-ms-debuggers	debug.txt	/*get-ms-debuggers*
 getbufinfo()	builtin.txt	/*getbufinfo()*
 getbufline()	builtin.txt	/*getbufline()*
+getbufoneline()	builtin.txt	/*getbufoneline()*
 getbufvar()	builtin.txt	/*getbufvar()*
 getchangelist()	builtin.txt	/*getchangelist()*
 getchar()	builtin.txt	/*getchar()*
@@ -8066,7 +8075,7 @@ interfaces-5.2	version5.txt	/*interfaces
 internal-variables	eval.txt	/*internal-variables*
 internal-wordlist	spell.txt	/*internal-wordlist*
 internet	intro.txt	/*internet*
-interp-string	eval.txt	/*interp-string*
+interpolated-string	eval.txt	/*interpolated-string*
 interrupt()	builtin.txt	/*interrupt()*
 intro	intro.txt	/*intro*
 intro.txt	intro.txt	/*intro.txt*
@@ -8158,6 +8167,7 @@ keypad-plus	intro.txt	/*keypad-plus*
 keypad-point	intro.txt	/*keypad-point*
 keys()	builtin.txt	/*keys()*
 keytrans()	builtin.txt	/*keytrans()*
+kitty-keyboard-protocol	map.txt	/*kitty-keyboard-protocol*
 known-bugs	todo.txt	/*known-bugs*
 l	motion.txt	/*l*
 l:	eval.txt	/*l:*
@@ -10860,6 +10870,7 @@ whitespace	pattern.txt	/*whitespace*
 wildcard	editing.txt	/*wildcard*
 wildcards	editing.txt	/*wildcards*
 wildmenumode()	builtin.txt	/*wildmenumode()*
+win-scrolled-resized	windows.txt	/*win-scrolled-resized*
 win16	os_win32.txt	/*win16*
 win32	os_win32.txt	/*win32*
 win32-!start	gui_w32.txt	/*win32-!start*
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 9.0.  Last change: 2022 Oct 13
+*textprop.txt*  For Vim version 9.0.  Last change: 2022 Nov 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -147,7 +147,8 @@ prop_add({lnum}, {col}, {props})
 				above/below the line if {col} is zero; prepend
 				and/or append spaces for padding with
 				highlighting; cannot be used with "length",
-				"end_lnum" and "end_col" |virtual-text|
+				"end_lnum" and "end_col"
+				See |virtual-text| for more information.
 		   					*E1294*
 		   text_align	when "text" is present and {col} is zero;
 				specifies where to display the text:
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -539,7 +539,7 @@ the current window, try this custom `:He
 >
 	command -bar -nargs=? -complete=help HelpCurwin execute s:HelpCurwin(<q-args>)
 	let s:did_open_help = v:false
-	
+
 	function s:HelpCurwin(subject) abort
 	  let mods = 'silent noautocmd keepalt'
 	  if !s:did_open_help
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 9.0.  Last change: 2022 Nov 18
+*todo.txt*      For Vim version 9.0.  Last change: 2022 Nov 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,24 +38,25 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Keyboard protocol (also see below):
+- Use the kitty_protocol_state value, similar to seenModifyOtherKeys
+- When kitty_protocol_state is set then reset seenModifyOtherKeys.
+    Do not set seenModifyOtherKeys for kitty-protocol sequences in
+	handle_key_with_modifier().
+
 virtual text issues:
-- #11463  `after` is sometimes wrapped with `list`, `nowrap` and
-  `listchars+=extends:>`, cursor position is also wrong
 - #11520   `below` cannot be placed below empty lines
     James Alvarado looks into it
+- virtual text `below` highlighted incorrectly when `cursorline` enabled
+  (Issue #11588)
 
 'smoothscroll':
-- PR #11502 -  cursor position wrong
-- PR #11514 -  mouse click is off
 - CTRL-E and gj in long line with 'scrolloff' 5 not working well yet.
 - computing 'scrolloff' position row use w_skipcol
 - Check this list: https://github.com/vim/vim/pulls?q=is%3Apr+is%3Aopen+smoothscroll+author%3Aychin
 - Long line spanning multiple pages:  After a few CTRL-E then gj causes a
   scroll. (Ernie Rael, 18 Nov)  Also pressing space or "l"
 
-Switching to window for a buffer in set_buffer_lines() doesn't work if there
-is no window.  Use aucmd_prepbuf() instead.  #11558
-
 
 Upcoming larger works:
 - Make spell checking work with recent .dic/.aff files, e.g. French.  #4916
@@ -70,12 +71,6 @@ Upcoming larger works:
    - example plugin: https://github.com/uga-rosa/dps-vsctm.vim
 - Better support for detecting terminal emulator behavior (esp. special key
   handling) and taking away the need for users to tweak their config.
-  > In the libvterm fork properly implement:
-    - modifyOtherKeys 2 - follow xterm implementation as close as possible
-    - Kitty key protocol - just like the latest Kitty
-    So that in TermDebug the key handling can be stepped through (instead of
-    having to log messages all over the place to see what happens).  Ask
-    Leonerd about location of code, he might want to take over some of it.
   > In the table of names pointing to the list of entries, with an additional
     one.  So that "xterm-kitty" can first load "xterm" and then add "kitty"
     entries.
@@ -88,11 +83,6 @@ Upcoming larger works:
     -> May also send t_RV and delay starting a shell command until the
        response has been seen, to make sure the other responses don't get read
        by a shell command.
-  > Add an option with a list of names that, when matching $TERM, indicate the
-    kitty keyboard protocol should be used?  Allows adding "foot" and others
-    later, without modifying Vim.  Perhaps a pattern-value pair:
-	set keyprotocol=kitty:kitty,foot:kitty,xterm:mok2,doggy:mok2
-    Here "mok2" means modifyOtherKeys level 2.
   > Can we use the req_more_codes_from_term() mechanism with more terminals?
     Should we repeat it after executing a shell command?
     Can also add this to the 'keyprotocol' option: "mok2+tcap"
@@ -294,7 +284,7 @@ Resetting 't_ut' already causes this?
 
 When scheme can't be found by configure there is no clear "not found" message:
     configure:5769: checking MzScheme install prefix
-    configure:5781: result: 
+    configure:5781: result:
 
 Can "CSI nr X" be used instead of outputting spaces?  Is it faster?  #8002
 
@@ -4568,8 +4558,11 @@ 8   When editing "tt.gz", which is in DO
 		      BufChangePre, BufChangePost and RevertBuf. (Shah)
     ViewChanged	    - triggered when the text scrolls and when the window size
 		      changes.
-    WinResized	    - After a window has been resized
-    WinClose	    - Just before closing a window
+    QuickfixList    - when any entry in the current list changes or another
+		      list is selected
+    QuickfixPosition - when selecting another entry in the current quickfix
+		       list
+
 -   Write the file now and then ('autosave'):
 				  *'autosave'* *'as'* *'noautosave'* *'noas'*
     'autosave' 'as' number  (default 0)
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt*	For Vim version 9.0.  Last change: 2021 Apr 19
+*usr_12.txt*	For Vim version 9.0.  Last change: 2022 Nov 19
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 9.0.  Last change: 2022 Nov 14
+*usr_41.txt*	For Vim version 9.0.  Last change: 2022 Nov 22
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -442,7 +442,7 @@ If you don't like the concatenation you 
 accepts an expression in curly braces: >
 	echo $"Name: {name}"
 
-See |interp-string| for more information.
+See |interpolated-string| for more information.
 
 Borrowed from the C language is the conditional expression: >
 
@@ -803,7 +803,7 @@ List manipulation:					*list-functions*
 	call()			call a function with List as arguments
 	index()			index of a value in a List or Blob
 	indexof()		index in a List or Blob where an expression
-				evaluates to true 
+				evaluates to true
 	max()			maximum value in a List
 	min()			minimum value in a List
 	count()			count number of times a value appears in a List
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.0.  Last change: 2022 Jun 28
+*version9.txt*  For Vim version 9.0.  Last change: 2022 Nov 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -254,7 +254,7 @@ summary.
 Many memory leaks, invalid memory accesses and crashes have been fixed.
 See the list of patches below: |bug-fixes-9|.
 
-Support for Vim expression evaluation in a string. |interp-string|
+Support for Vim expression evaluation in a string. |interpolated-string|
 Support for evaluating Vim expressions in a heredoc. |:let-heredoc|
 
 Support for fuzzy matching:
@@ -28478,7 +28478,7 @@ Files:      src/change.c, src/drawscreen
 
 Patch 8.2.4645
 Problem:    'shortmess' changed when session does not store options.
-Solution:   Save and restore 'shortmess' if needed. (James Charti,
+Solution:   Save and restore 'shortmess' if needed. (James Cherti,
             closes #10037)
 Files:      src/session.c, src/testdir/test_mksession.vim
 
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1993,10 +1993,10 @@ Some commands have already been reserved
 
 Some examples: >
 
-	abstract class Person 
+	abstract class Person
 	    static const prefix = 'xxx'
 	    var name: string
-	    
+
 	    def constructor(name: string)
 		this.name = name
 	    enddef
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 9.0.  Last change: 2022 May 11
+*windows.txt*   For Vim version 9.0.  Last change: 2022 Nov 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2022 Nov 17
+" Last Change:	2022 Nov 23
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
--- a/runtime/ftplugin/lua.vim
+++ b/runtime/ftplugin/lua.vim
@@ -4,7 +4,7 @@
 " Previous Maintainer:	Max Ischenko <mfi@ukr.net>
 " Contributor:		Dorai Sitaram <ds26@gte.com>
 "			C.D. MacEachern <craig.daniel.maceachern@gmail.com>
-" Last Change:		2022 Nov 16
+" Last Change:		2022 Nov 19
 
 if exists("b:did_ftplugin")
   finish
@@ -21,7 +21,7 @@ setlocal formatoptions-=t formatoptions+
 let &l:define = '\<function\|\<local\%(\s\+function\)\='
 
 " TODO: handle init.lua
-setlocal includeexpr=substitute(v:fname,'\.','/','g')
+setlocal includeexpr=tr(v:fname,'.','/')
 setlocal suffixesadd=.lua
 
 let b:undo_ftplugin = "setlocal cms< com< def< fo< inex< sua<"
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/mermaid.vim
@@ -0,0 +1,49 @@
+" Vim filetype plugin
+" Language:     Mermaid
+" Maintainer:   Craig MacEachern <https://github.com/craigmac/vim-mermaid>
+" Last Change:  2022 Oct 13
+
+if exists("b:did_ftplugin")
+  finish
+endif
+
+let s:keepcpo= &cpo
+set cpo&vim
+
+" Use mermaid live editor's style
+setlocal expandtab
+setlocal shiftwidth=2
+setlocal softtabstop=-1
+setlocal tabstop=4
+
+" TODO: comments, formatlist stuff, based on what?
+setlocal comments=b:#,fb:-
+setlocal commentstring=#\ %s
+setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
+setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:\\&^.\\{4\\}
+
+if exists('b:undo_ftplugin')
+  let b:undo_ftplugin .= "|setl cms< com< fo< flp< et< ts< sts< sw<"
+else
+  let b:undo_ftplugin = "setl cms< com< fo< flp< et< ts< sts< sw<"
+endif
+
+if !exists("g:no_plugin_maps") && !exists("g:no_markdown_maps")
+  nnoremap <silent><buffer> [[ :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR>
+  nnoremap <silent><buffer> ]] :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR>
+  xnoremap <silent><buffer> [[ :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR>
+  xnoremap <silent><buffer> ]] :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR>
+  let b:undo_ftplugin .= '|sil! nunmap <buffer> [[|sil! nunmap <buffer> ]]|sil! xunmap <buffer> [[|sil! xunmap <buffer> ]]'
+endif
+
+" if has("folding") && get(g:, "markdown_folding", 0)
+"   setlocal foldexpr=MarkdownFold()
+"   setlocal foldmethod=expr
+"   setlocal foldtext=MarkdownFoldText()
+"   let b:undo_ftplugin .= "|setl foldexpr< foldmethod< foldtext<"
+" endif
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
+" vim:set sw=2:
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/obse.vim
@@ -0,0 +1,70 @@
+" Vim filetype plugin file
+" Language:    Oblivion Language (obl)
+" Original Creator: Kat <katisntgood@gmail.com>
+" Maintainer:  Kat <katisntgood@gmail.com>
+" Created:     August 08, 2021
+" Last Change: 13 November 2022
+
+if exists("b:did_ftplugin")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let b:undo_ftplugin = "setl com< cms<"
+
+noremap <script> <buffer> <silent> [[ <nop>
+noremap <script> <buffer> <silent> ]] <nop>
+
+noremap <script> <buffer> <silent> [] <nop>
+noremap <script> <buffer> <silent> ][ <nop>
+
+setlocal commentstring=;%s
+setlocal comments=:;
+
+function s:NextSection(type, backwards, visual)
+    if a:visual
+        normal! gv
+    endif
+
+  if a:type == 1
+    let pattern = '\v(\n\n^\S|%^)'
+    let flags = 'e'
+  elseif a:type == 2
+    let pattern = '\v^\S.*'
+    let flags = ''
+  endif
+
+  if a:backwards
+    let dir = '?'
+  else
+    let dir = '/'
+  endif
+
+  execute 'silent normal! ' . dir . pattern . dir . flags . "\r"
+endfunction
+
+noremap <script> <buffer> <silent> ]]
+  \ :call <SID>NextSection(1, 0, 0)<cr>
+
+noremap <script> <buffer> <silent> [[
+  \ :call <SID>NextSection(1, 1, 0)<cr>
+
+noremap <script> <buffer> <silent> ][
+  \ :call <SID>NextSection(2, 0, 0)<cr>
+
+noremap <script> <buffer> <silent> []
+  \ :call <SID>NextSection(2, 1, 0)<cr>
+
+vnoremap <script> <buffer> <silent> ]]
+  \ :<c-u>call <SID>NextSection(1, 0, 1)<cr>
+vnoremap <script> <buffer> <silent> [[
+  \ :<c-u>call <SID>NextSection(1, 1, 1)<cr>
+vnoremap <script> <buffer> <silent> ][
+  \ :<c-u>call <SID>NextSection(2, 0, 1)<cr>
+vnoremap <script> <buffer> <silent> []
+  \ :<c-u>call <SID>NextSection(2, 1, 1)<cr>
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
new file mode 100644
--- /dev/null
+++ b/runtime/indent/obse.vim
@@ -0,0 +1,55 @@
+" Vim indent file
+" Language:    Oblivion Language (obl)
+" Original Creator: Kat <katisntgood@gmail.com>
+" Maintainer:  Kat <katisntgood@gmail.com>
+" Created:     01 November 2021
+" Last Change: 13 November 2022
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+let b:undo_indent = 'setlocal indentkeys< indentexpr<'
+
+setlocal indentexpr=GetOblIndent()
+setlocal indentkeys+==~endif,=~else,=~loop,=~end
+
+if exists("*GetOblIndent")
+  finish
+endif
+let s:keepcpo = &cpo
+set cpo&vim
+
+let s:SKIP_LINES = '^\s*\(;.*\)'
+function! GetOblIndent()
+
+  let lnum = prevnonblank(v:lnum - 1)
+  let cur_text = getline(v:lnum)
+  if lnum == 0
+    return 0
+  endif
+  let prev_text = getline(lnum)
+  let found_cont = 0
+  let ind = indent(lnum)
+
+  " indent next line on start terms
+  let i = match(prev_text, '\c^\s*\(\s\+\)\?\(\(if\|while\|foreach\|begin\|else\%[if]\)\>\)')
+  if i >= 0
+    let ind += shiftwidth()
+    if strpart(prev_text, i, 1) == '|' && has('syntax_items')
+          \ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
+      let ind -= shiftwidth()
+    endif
+  endif
+  " indent current line on end/else terms
+  if cur_text =~ '\c^\s*\(\s\+\)\?\(\(loop\|endif\|else\%[if]\)\>\)'
+    let ind = ind - shiftwidth()
+  " if we are at a begin block just go to column 0
+  elseif cur_text =~ '\c^\s*\(\s\+\)\?\(\(begin\|end\)\>\)'
+    let ind = 0
+  endif
+  return ind
+endfunction
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
 " These commands create the option window.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2022 Oct 28
+" Last Change:	2022 Nov 23
 
 " If there already is an option window, jump to that one.
 let buf = bufnr('option-window')
@@ -583,6 +583,8 @@ call <SID>BinOptionG("xtermcodes", &xter
 call <SID>AddOption("weirdinvert", gettext("terminal that requires extra redrawing"))
 call <SID>BinOptionG("wiv", &wiv)
 
+call <SID>AddOption("keyprotocol", gettext("what keyboard protocol to use for which terminal"))
+call <SID>OptionG("kpc", &kpc)
 call <SID>AddOption("esckeys", gettext("recognize keys that start with <Esc> in Insert mode"))
 call <SID>BinOptionG("ek", &ek)
 call <SID>AddOption("scrolljump", gettext("minimal number of lines to scroll at a time"))
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/mermaid.vim
@@ -0,0 +1,155 @@
+" Vim syntax file
+" Language:     Mermaid
+" Maintainer:   Craig MacEahern <https://github.com/craigmac/vim-mermaid>
+" Filenames:    *.mmd
+" Last Change:  2022 Nov 22
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syntax iskeyword @,48-57,192-255,$,_,-,:
+syntax keyword mermaidKeyword
+	\ _blank
+	\ _self
+	\ _parent
+	\ _top
+	\ ::icon
+	\ accDescr
+	\ accTitle
+	\ actor
+	\ activate
+	\ alt
+	\ and
+	\ as
+	\ autonumber
+	\ branch
+	\ break
+	\ callback
+	\ checkout
+	\ class
+	\ classDef
+	\ classDiagram
+	\ click
+	\ commit
+	\ commitgitGraph
+	\ critical
+	\ dataFormat
+	\ dateFormat
+	\ deactivate
+	\ direction
+	\ element
+	\ else
+	\ end
+	\ erDiagram
+	\ flowchart
+	\ gantt
+	\ gitGraph
+	\ graph
+	\ journey
+	\ link
+	\ LR
+	\ TD
+	\ TB
+	\ RL
+	\ loop
+	\ merge
+	\ mindmap root
+	\ Note
+	\ Note right of
+	\ Note left of
+	\ Note over
+	\ note
+	\ note right of
+	\ note left of
+	\ note over
+	\ opt
+	\ option
+	\ par
+	\ participant
+	\ pie
+	\ rect
+	\ requirement
+	\ rgb
+	\ section
+	\ sequenceDiagram
+	\ state
+	\ stateDiagram
+	\ stateDiagram-v2
+	\ style
+	\ subgraph
+	\ title
+highlight link mermaidKeyword Keyword
+
+syntax match mermaidStatement "|"
+syntax match mermaidStatement "--\?[>x)]>\?+\?-\?"
+syntax match mermaidStatement "\~\~\~"
+syntax match mermaidStatement "--"
+syntax match mermaidStatement "---"
+syntax match mermaidStatement "-->"
+syntax match mermaidStatement "-\."
+syntax match mermaidStatement "\.->"
+syntax match mermaidStatement "-\.-"
+syntax match mermaidStatement "-\.\.-"
+syntax match mermaidStatement "-\.\.\.-"
+syntax match mermaidStatement "=="
+syntax match mermaidStatement "==>"
+syntax match mermaidStatement "===>"
+syntax match mermaidStatement "====>"
+syntax match mermaidStatement "&"
+syntax match mermaidStatement "--o"
+syntax match mermaidStatement "--x"
+syntax match mermaidStatement "x--x"
+syntax match mermaidStatement "-----"
+syntax match mermaidStatement "---->"
+syntax match mermaidStatement "==="
+syntax match mermaidStatement "===="
+syntax match mermaidStatement "====="
+syntax match mermaidStatement ":::"
+syntax match mermaidStatement "<|--"
+syntax match mermaidStatement "\*--"
+syntax match mermaidStatement "o--"
+syntax match mermaidStatement "o--o"
+syntax match mermaidStatement "<--"
+syntax match mermaidStatement "<-->"
+syntax match mermaidStatement "\.\."
+syntax match mermaidStatement "<\.\."
+syntax match mermaidStatement "<|\.\."
+syntax match mermaidStatement "--|>"
+syntax match mermaidStatement "--\*"
+syntax match mermaidStatement "--o"
+syntax match mermaidStatement "\.\.>"
+syntax match mermaidStatement "\.\.|>"
+syntax match mermaidStatement "<|--|>"
+syntax match mermaidStatement "||--o{"
+highlight link mermaidStatement Statement
+
+syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?"
+highlight link mermaidIdentifier Identifier
+
+syntax match mermaidType "[\+-\#\~]\?\cint\>"
+syntax match mermaidType "[\+-\#\~]\?\cString\>"
+syntax match mermaidType "[\+-\#\~]\?\cbool\>"
+syntax match mermaidType "[\+-\#\~]\?\cBigDecimal\>"
+syntax match mermaidType "[\+-\#\~]\?\cList\~.\+\~"
+syntax match mermaidType "<<\w\+>>"
+highlight link mermaidType Type
+
+syntax match mermaidComment "%%.*$"
+highlight link mermaidComment Comment
+
+syntax region mermaidDirective start="%%{" end="\}%%"
+highlight link mermaidDirective PreProc
+
+syntax region mermaidString start=/"/ skip=/\\"/ end=/"/
+highlight link mermaidString String
+
+let b:current_syntax = "mermaid"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim:set sw=2:
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/obse.vim
@@ -0,0 +1,3360 @@
+" Vim syntax file
+" Language: Oblivion Language (obl)
+" Original Creator: Ulthar Seramis
+" Maintainer: Kat <katisntgood@gmail.com>
+" Latest Revision: 13 November 2022
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" obse is case insensitive
+syntax case ignore
+
+" Statements {{{
+syn keyword obseStatement set let to skipwhite
+" the second part needs to be separate as to not mess up the next group
+syn match obseStatementTwo ":="
+" }}}
+
+" Regex matched objects {{{
+" these are matched with regex and thus must be set first
+syn match obseNames '\w\+'
+syn match obseScriptNameRegion '\i\+' contained
+syn match obseVariable '\w*\S' contained
+syn match obseReference '\zs\w\+\>\ze\.'
+" }}}
+
+" Operators {{{
+syn match obseOperator "\v\*"
+syn match obseOperator "\v\-"
+syn match obseOperator "\v\+"
+syn match obseOperator "\v\/"
+syn match obseOperator "\v\^"
+syn match obseOperator "\v\="
+syn match obseOperator "\v\>"
+syn match obseOperator "\v\<"
+syn match obseOperator "\v\!"
+syn match obseOperator "\v\&"
+syn match obseOperator "\v\|"
+" }}}
+
+" Numbers {{{
+syn match obseInt '\d\+'
+syn match obseInt '[-+]\d\+'
+syn match obseFloat '\d\+\.\d*' 
+syn match obseFloat '[-+]\d\+\.\d*'
+" }}}
+
+" Comments and strings {{{
+syn region obseComment start=";" end="$" keepend fold contains=obseToDo
+syn region obseString start=/"/ end=/"/ keepend fold contains=obseStringFormatting
+syn match obseStringFormatting "%%" contained
+syn match obseStringFormatting "%a" contained
+syn match obseStringFormatting "%B" contained
+syn match obseStringFormatting "%b" contained
+syn match obseStringFormatting "%c" contained
+syn match obseStringFormatting "%e" contained
+syn match obseStringFormatting "%g" contained
+syn match obseStringFormatting "%i" contained
+syn match obseStringFormatting "%k" contained
+syn match obseStringFormatting "%n" contained
+syn match obseStringFormatting "%p" contained
+syn match obseStringFormatting "%ps" contained
+syn match obseStringFormatting "%pp" contained
+syn match obseStringFormatting "%po" contained
+syn match obseStringFormatting "%q" contained
+syn match obseStringFormatting "%r" contained
+syn match obseStringFormatting "%v" contained
+syn match obseStringFormatting "%x" contained
+syn match obseStringFormatting "%z" contained
+syn match obseStringFormatting "%{" contained
+syn match obseStringFormatting "%}" contained
+syn match obseStringFormatting "%\d*.\d*f" contained
+syn match obseStringFormatting "% \d*.\d*f" contained
+syn match obseStringFormatting "%-\d*.\d*f" contained
+syn match obseStringFormatting "%+\d*.\d*f" contained
+syn match obseStringFormatting "%\d*.\d*e" contained
+syn match obseStringFormatting "%-\d*.\d*e" contained
+syn match obseStringFormatting "% \d*.\d*e" contained
+syn match obseStringFormatting "%+\d*.\d*e" contained
+syn keyword obseToDo contained TODO todo Todo ToDo FIXME fixme NOTE note
+" }}}
+
+
+" Conditionals {{{
+syn match obseCondition "If"
+syn match obseCondition "Eval"
+syn match obseCondition "Return"
+syn match obseCondition "EndIf"
+syn match obseCondition "ElseIf"
+syn match obseCondition "Else"
+" }}}
+
+" Repeat loops {{{
+syn match obseRepeat "Label" 
+syn match obseRepeat "GoTo"
+syn match obseRepeat "While"
+syn match obseRepeat "Loop"
+syn match obseRepeat "ForEach"
+syn match obseRepeat "Break"
+syn match obseRepeat "Continue"
+" }}}
+
+" Basic Types {{{
+syn keyword obseTypes array_var float int long ref reference short string_var nextgroup=obseNames skipwhite
+syn keyword obseOtherKey Player player playerRef playerREF PlayerRef PlayerREF
+syn keyword obseScriptName ScriptName scriptname Scriptname scn nextgroup=obseScriptNameRegion skipwhite
+syn keyword obseBlock Begin End
+" }}}
+
+" Fold {{{
+setlocal foldmethod=syntax
+syn cluster obseNoFold contains=obseComment,obseString
+syn region obseFoldIfContainer
+      \ start="^\s*\<if\>"
+      \ end="^\s*\<endif\>"
+      \ keepend extend
+      \ containedin=ALLBUT,@obseNoFold
+      \ contains=ALLBUT,obseScriptName,obseScriptNameRegion
+syn region obseFoldIf
+      \ start="^\s*\<if\>"
+      \ end="^\s*\<endif\>"
+      \ fold
+      \ keepend
+      \ contained containedin=obseFoldIfContainer
+      \ nextgroup=obseFoldElseIf,obseFoldElse
+      \ contains=TOP,NONE
+syn region obseFoldElseIf
+      \ start="^\s*\<elseif\>"
+      \ end="^\s*\<endif\>"
+      \ fold
+      \ keepend
+      \ contained containedin=obseFoldIfContainer
+      \ nextgroup=obseFoldElseIf,obseFoldElse
+      \ contains=TOP
+syn region obseFoldElse
+      \ start="^\s*\<else\>"
+      \ end="^\s*\<endif\>"
+      \ fold
+      \ keepend
+      \ contained containedin=obseFoldIfContainer
+      \ contains=TOP
+syn region obseFoldWhile
+      \ start="^\s*\<while\>"
+      \ end="^\s*\<loop\>"
+      \ fold
+      \ keepend extend
+      \ contains=TOP
+      \ containedin=ALLBUT,@obseNoFold
+" fold for loops
+syn region obseFoldFor
+      \ start="^\s*\<foreach\>"
+      \ end="^\s*\<loop\>"
+      \ fold
+      \ keepend extend
+      \ contains=TOP
+      \ containedin=ALLBUT,@obseNoFold
+      \ nextgroup=obseVariable
+" }}}
+
+" Skills and Attributes {{{
+syn keyword skillAttribute
+      \ Strength
+      \ Willpower
+      \ Speed
+      \ Personality
+      \ Intelligence
+      \ Agility
+      \ Endurance
+      \ Luck
+      \ Armorer
+      \ Athletics
+      \ Blade
+      \ Block
+      \ Blunt
+      \ HandToHand
+      \ HeavyArmor
+      \ Alchemy
+      \ Alteration
+      \ Conjuration
+      \ Destruction
+      \ Illusion
+      \ Mysticism
+      \ Restoration
+      \ Acrobatics
+      \ LightArmor
+      \ Marksman
+      \ Mercantile
+      \ Security
+      \ Sneak
+      \ Speechcraft
+" }}}
+
+" Block Types {{{
+syn keyword obseBlockType
+      \ ExitGame
+      \ ExitToMainMenu
+      \ Function
+      \ GameMode
+      \ LoadGame
+      \ MenuMode
+      \ OnActivate
+      \ OnActorDrop
+      \ OnActorEquip
+      \ OnActorUnequip
+      \ OnAdd
+      \ OnAlarm
+      \ OnAlarmTrespass
+      \ OnAlarmVictim
+      \ OnAttack
+      \ OnBlock
+      \ OnBowAttack
+      \ OnClick
+      \ OnClose
+      \ OnCreatePotion
+      \ OnCreateSpell
+      \ OnDeath
+      \ OnDodge
+      \ OnDrinkPotion
+      \ OnDrop
+      \ OnEatIngredient
+      \ OnEnchant
+      \ OnEquip
+      \ OnFallImpact
+      \ OnHealthDamage
+      \ OnHit
+      \ OnHitWith
+      \ OnKnockout
+      \ OnLoad
+      \ OnMagicApply
+      \ OnMagicCast
+      \ OnMagicEffectHit
+      \ OnMagicEffectHit2
+      \ OnMapMarkerAdd
+      \ OnMouseover
+      \ OnMurder
+      \ OnNewGame
+      \ OnOpen
+      \ OnPackageChange
+      \ OnPackageDone
+      \ OnPackageStart
+      \ OnQuestComplete
+      \ OnRecoil
+      \ OnRelease
+      \ OnReset
+      \ OnSaveIni
+      \ OnScriptedSkillUp
+      \ OnScrollCast
+      \ OnSell
+      \ OnSkillUp
+      \ OnSoulTrap
+      \ OnSpellCast
+      \ OnStagger
+      \ OnStartCombat
+      \ OnTrigger
+      \ OnTriggerActor
+      \ OnTriggerMob
+      \ OnUnequip
+      \ OnVampireFeed
+      \ OnWaterDive
+      \ OnWaterSurface
+      \ PostLoadGame
+      \ QQQ
+      \ SaveGame
+      \ ScriptEffectFinish
+      \ ScriptEffectStart
+      \ ScriptEffectUpdate
+" }}}
+
+" Functions {{{
+" CS functions {{{
+syn keyword csFunction
+      \ Activate
+      \ AddAchievement
+      \ AddFlames
+      \ AddItem
+      \ AddScriptPackage
+      \ AddSpell
+      \ AddTopic
+      \ AdvSkill
+      \ AdvancePCLevel
+      \ AdvancePCSkill
+      \ Autosave
+      \ CanHaveFlames
+      \ CanPayCrimeGold
+      \ Cast
+      \ ClearOwnership
+      \ CloseCurrentOblivionGate
+      \ CloseOblivionGate
+      \ CompleteQuest
+      \ CreateFullActorCopy
+      \ DeleteFullActorCopy
+      \ Disable
+      \ DisableLinkedPathPoints
+      \ DisablePlayerControls
+      \ Dispel
+      \ DispelAllSpells
+      \ Drop
+      \ DropMe
+      \ DuplicateAllItems
+      \ DuplicateNPCStats
+      \ Enable
+      \ EnableFastTravel
+      \ EnableLinkedPathPoints
+      \ EnablePlayerControls
+      \ EquipItem
+      \ EssentialDeathReload
+      \ EvaluatePackage	
+      \ ForceAV
+      \ ForceActorValue
+      \ ForceCloseOblivionGate
+      \ ForceFlee
+      \ ForceTakeCover
+      \ ForceWeather
+      \ GetAV
+      \ GetActionRef
+      \ GetActorValue
+      \ GetAlarmed
+      \ GetAmountSoldStolen
+      \ GetAngle
+      \ GetArmorRating
+      \ GetArmorRatingUpperBody
+      \ GetAttacked
+      \ GetBarterGold
+      \ GetBaseAV
+      \ GetBaseActorValue
+      \ GetButtonPressed
+      \ GetClassDefaultMatch
+      \ GetClothingValue
+      \ GetContainer
+      \ GetCrime
+      \ GetCrimeGold
+      \ GetCrimeKnown
+      \ GetCurrentAIPackage
+      \ GetCurrentAIProcedure
+      \ GetCurrentTime
+      \ GetCurrentWeatherPercent
+      \ GetDayOfWeek
+      \ GetDead
+      \ GetDeadCount
+      \ GetDestroyed
+      \ GetDetected
+      \ GetDetectionLevel
+      \ GetDisabled
+      \ GetDisposition
+      \ GetDistance
+      \ GetDoorDefaultOpen
+      \ GetEquipped
+      \ GetFactionRank
+      \ GetFactionRankDifference
+      \ GetFactionReaction
+      \ GetFatiguePercentage
+      \ GetForceRun
+      \ GetForceSneak
+      \ GetFriendHit
+      \ GetFurnitureMarkerID
+      \ GetGS
+      \ GetGameSetting
+      \ GetGlobalValue
+      \ GetGold
+      \ GetHeadingAngle
+      \ GetIdleDoneOnce
+      \ GetIgnoreFriendlyHits
+      \ GetInCell
+      \ GetInCellParam
+      \ GetInFaction
+      \ GetInSameCell
+      \ GetInWorldspace
+      \ GetInvestmentGold
+      \ GetIsAlerted
+      \ GetIsClass
+      \ GetIsClassDefault
+      \ GetIsCreature
+      \ GetIsCurrentPackage
+      \ GetIsCurrentWeather
+      \ GetIsGhost
+      \ GetIsID
+      \ GetIsPlayableRace
+      \ GetIsPlayerBirthsign
+      \ GetIsRace
+      \ GetIsReference
+      \ GetIsSex
+      \ GetIsUsedItem
+      \ GetIsUsedItemType
+      \ GetItemCount
+      \ GetKnockedState
+      \ GetLOS
+      \ GetLevel
+      \ GetLockLevel
+      \ GetLocked
+      \ GetMenuHasTrait
+      \ GetName
+      \ GetNoRumors
+      \ GetOffersServicesNow
+      \ GetOpenState
+      \ GetPCExpelled
+      \ GetPCFactionAttack
+      \ GetPCFactionMurder
+      \ GetPCFactionSteal
+      \ GetPCFactionSubmitAuthority
+      \ GetPCFame
+      \ GetPCInFaction
+      \ GetPCInfamy
+      \ GetPCIsClass
+      \ GetPCIsRace
+      \ GetPCIsSex
+      \ GetPCMiscStat
+      \ GetPCSleepHours
+      \ GetPackageTarget
+      \ GetParentRef
+      \ GetPersuasionNumber
+      \ GetPlayerControlsDisabled
+      \ GetPlayerHasLastRiddenHorse
+      \ GetPlayerInSEWorld
+      \ GetPos
+      \ GetQuestRunning
+      \ GetQuestVariable
+      \ GetRandomPercent
+      \ GetRestrained
+      \ GetScale
+      \ GetScriptVariable
+      \ GetSecondsPassed
+      \ GetSelf
+      \ GetShouldAttack
+      \ GetSitting
+      \ GetSleeping
+      \ GetStage
+      \ GetStageDone
+      \ GetStartingAngle
+      \ GetStartingPos
+      \ GetTalkedToPC
+      \ GetTalkedToPCParam
+      \ GetTimeDead
+      \ GetTotalPersuasionNumber
+      \ GetTrespassWarningLevel
+      \ GetUnconscious
+      \ GetUsedItemActivate
+      \ GetUsedItemLevel
+      \ GetVampire
+      \ GetWalkSpeed
+      \ GetWeaponAnimType
+      \ GetWeaponSkillType
+      \ GetWindSpeed
+      \ GoToJail
+      \ HasFlames
+      \ HasMagicEffect
+      \ HasVampireFed
+      \ IsActionRef
+      \ IsActor
+      \ IsActorAVictim
+      \ IsActorDetected
+      \ IsActorEvil
+      \ IsActorUsingATorch
+      \ IsActorsAIOff
+      \ IsAnimPlayer
+      \ IsCellOwner
+      \ IsCloudy
+      \ IsContinuingPackagePCNear
+      \ IsCurrentFurnitureObj
+      \ IsCurrentFurnitureRef
+      \ IsEssential
+      \ IsFacingUp
+      \ IsGuard
+      \ IsHorseStolen
+      \ IsIdlePlaying
+      \ IsInCombat
+      \ IsInDangerousWater
+      \ IsInInterior
+      \ IsInMyOwnedCell
+      \ IsLeftUp
+      \ IsOwner
+      \ IsPCAMurderer
+      \ IsPCSleeping
+      \ IsPlayerInJail
+      \ IsPlayerMovingIntoNewSpace
+      \ IsPlayersLastRiddenHorse
+      \ IsPleasant
+      \ IsRaining
+      \ IsRidingHorse
+      \ IsRunning
+      \ IsShieldOut
+      \ IsSneaking
+      \ IsSnowing
+      \ IsSpellTarget
+      \ IsSwimming
+      \ IsTalking
+      \ IsTimePassing
+      \ IsTorchOut
+      \ IsTrespassing
+      \ IsTurnArrest
+      \ IsWaiting
+      \ IsWeaponOut
+      \ IsXBox
+      \ IsYielding
+      \ Kill
+      \ KillActor
+      \ KillAllActors
+      \ Lock
+      \ Look
+      \ LoopGroup
+      \ Message
+      \ MessageBox
+      \ ModAV
+      \ ModActorValue
+      \ ModAmountSoldStolen
+      \ ModBarterGold
+      \ ModCrimeGold
+      \ ModDisposition
+      \ ModFactionRank
+      \ ModFactionReaction
+      \ ModPCAttribute
+      \ ModPCA
+      \ ModPCFame
+      \ ModPCInfamy
+      \ ModPCMiscStat
+      \ ModPCSkill
+      \ ModPCS
+      \ ModScale
+      \ MoveTo
+      \ MoveToMarker
+      \ PCB
+      \ PayFine
+      \ PayFineThief
+      \ PickIdle
+      \ PlaceAtMe
+      \ PlayBink
+      \ PlayGroup
+      \ PlayMagicEffectVisuals
+      \ PlayMagicShaderVisuals
+      \ PlaySound
+      \ PlaySound3D
+      \ PositionCell
+      \ PositionWorld
+      \ PreloadMagicEffect
+      \ PurgeCellBuffers
+      \ PushActorAway
+      \ RefreshTopicList
+      \ ReleaseWeatherOverride
+      \ RemoveAllItems
+      \ RemoveFlames
+      \ RemoveItem
+      \ RemoveMe
+      \ RemoveScriptPackage
+      \ RemoveSpell
+      \ Reset3DState
+      \ ResetFallDamageTimer
+      \ ResetHealth
+      \ ResetInterior
+      \ Resurrect
+      \ Rotate
+      \ SCAOnActor
+      \ SameFaction
+      \ SameFactionAsPC
+      \ SameRace
+      \ SameRaceAsPC
+      \ SameSex
+      \ SameSexAsPC
+      \ Say
+      \ SayTo
+      \ ScriptEffectElapsedSeconds
+      \ SelectPlayerSpell
+      \ SendTrespassAlarm
+      \ SetAV
+      \ SetActorAlpha
+      \ SetActorFullName
+      \ SetActorRefraction
+      \ SetActorValue
+      \ SetActorsAI
+      \ SetAlert
+      \ SetAllReachable
+      \ SetAllVisible
+      \ SetAngle
+      \ SetAtStart
+      \ SetBarterGold
+      \ SetCellFullName
+      \ SetCellOwnership
+      \ SetCellPublicFlag
+      \ SetClass
+      \ SetCrimeGold
+      \ SetDestroyed
+      \ SetDoorDefaultOpen
+      \ SetEssential
+      \ SetFactionRank
+      \ SetFactionReaction
+      \ SetForceRun
+      \ SetForceSneak
+      \ SetGhost
+      \ SetIgnoreFriendlyHits
+      \ SetInCharGen
+      \ SetInvestmentGold
+      \ SetItemValue
+      \ SetLevel
+      \ SetNoAvoidance
+      \ SetNoRumors
+      \ SetOpenState
+      \ SetOwnership
+      \ SetPCExpelled
+      \ SetPCFactionAttack
+      \ SetPCFactionMurder
+      \ SetPCFactionSteal
+      \ SetPCFactionSubmitAuthority
+      \ SetPCFame
+      \ SetPCInfamy
+      \ SetPCSleepHours
+      \ SetPackDuration
+      \ SetPlayerBirthsign
+      \ SetPlayerInSEWorld
+      \ SetPos
+      \ SetQuestObject
+      \ SetRestrained
+      \ SetRigidBodyMass
+      \ SetScale
+      \ SetSceneIsComplex
+      \ SetShowQuestItems
+      \ SetSize
+      \ SetStage
+      \ SetUnconscious
+      \ SetWeather
+      \ ShowBirthsignMenu
+      \ ShowClassMenu
+      \ ShowDialogSubtitles
+      \ ShowEnchantment
+      \ ShowMap
+      \ ShowRaceMenu
+      \ ShowSpellMaking
+      \ SkipAnim
+      \ StartCombat
+      \ StartConversation
+      \ StartQuest
+      \ StopCombat
+      \ StopCombatAlarmOnActor
+      \ StopLook
+      \ StopMagicEffectVisuals
+      \ StopMagicShaderVisuals
+      \ StopQuest
+      \ StopWaiting
+      \ StreamMusic
+      \ This
+      \ ToggleActorsAI
+      \ TrapUpdate
+      \ TriggerHitShader
+      \ UnequipItem
+      \ Unlock
+      \ VampireFeed
+      \ Wait
+      \ WakeUpPC
+      \ WhichServiceMenu
+      \ Yield
+      \ evp
+      \ pms
+      \ saa
+      \ sms
+" }}}
+
+" OBSE Functions {{{
+syn keyword obseFunction
+      \ abs
+      \ acos
+      \ activate2
+      \ actorvaluetocode
+      \ actorvaluetostring
+      \ actorvaluetostringc
+      \ addeffectitem
+      \ addeffectitemc
+      \ addfulleffectitem
+      \ addfulleffectitemc
+      \ additemns
+      \ addmagiceffectcounter
+      \ addmagiceffectcounterc
+      \ addmecounter
+      \ addmecounterc
+      \ addspellns
+      \ addtoleveledlist
+      \ ahammerkey
+      \ animpathincludes
+      \ appendtoname
+      \ asciitochar
+      \ asin
+      \ atan
+      \ atan2
+      \ avstring
+      \ calcleveleditem
+      \ calclevitemnr
+      \ calclevitems
+      \ cancastpower
+      \ cancorpsecheck
+      \ canfasttravelfromworld
+      \ cantraveltomapmarker
+      \ ceil
+      \ chartoascii
+      \ clearactivequest
+      \ clearhotkey
+      \ clearleveledlist
+      \ clearownershipt
+      \ clearplayerslastriddenhorse
+      \ clickmenubutton
+      \ cloneform
+      \ closeallmenus
+      \ closetextinput
+      \ colvec
+      \ comparefemalebipedpath
+      \ comparefemalegroundpath
+      \ comparefemaleiconpath
+      \ compareiconpath
+      \ comparemalebipedpath
+      \ comparemalegroundpath
+      \ comparemaleiconpath
+      \ comparemodelpath
+      \ comparename
+      \ comparenames
+      \ comparescripts
+      \ con_cal
+      \ con_getinisetting
+      \ con_hairtint
+      \ con_loadgame
+      \ con_modwatershader
+      \ con_playerspellbook
+      \ con_quitgame
+      \ con_refreshini
+      \ con_runmemorypass
+      \ con_save
+      \ con_saveini
+      \ con_setcamerafov
+      \ con_setclipdist
+      \ con_setfog
+      \ con_setgamesetting
+      \ con_setgamma
+      \ con_sethdrparam
+      \ con_setimagespaceglow
+      \ con_setinisetting
+      \ con_setskyparam
+      \ con_settargetrefraction
+      \ con_settargetrefractionfire
+      \ con_sexchange
+      \ con_tcl
+      \ con_tfc
+      \ con_tgm
+      \ con_toggleai
+      \ con_togglecombatai
+      \ con_toggledetection
+      \ con_togglemapmarkers
+      \ con_togglemenus
+      \ con_waterdeepcolor
+      \ con_waterreflectioncolor
+      \ con_watershallowcolor
+      \ copyalleffectitems
+      \ copyeyes
+      \ copyfemalebipedpath
+      \ copyfemalegroundpath
+      \ copyfemaleiconpath
+      \ copyhair
+      \ copyiconpath
+      \ copyir
+      \ copymalebipedpath
+      \ copymalegroundpath
+      \ copymaleiconpath
+      \ copymodelpath
+      \ copyname
+      \ copyntheffectitem
+      \ copyrace
+      \ cos
+      \ cosh
+      \ createtempref
+      \ creaturehasnohead
+      \ creaturehasnoleftarm
+      \ creaturehasnomovement
+      \ creaturehasnorightarm
+      \ creaturenocombatinwater
+      \ creatureusesweaponandshield
+      \ dacos
+      \ dasin
+      \ datan
+      \ datan2
+      \ dcos
+      \ dcosh
+      \ debugprint
+      \ deletefrominputtext
+      \ deletereference
+      \ disablecontrol
+      \ disablekey
+      \ disablemouse
+      \ dispatchevent
+      \ dispelnthactiveeffect
+      \ dispelnthae
+      \ dsin
+      \ dsinh
+      \ dtan
+      \ dtanh
+      \ enablecontrol
+      \ enablekey
+      \ enablemouse
+      \ equipitem2
+      \ equipitem2ns
+      \ equipitemns
+      \ equipitemsilent
+      \ equipme
+      \ eval
+      \ evaluatepackage
+      \ eventhandlerexist
+      \ exp
+      \ factionhasspecialcombat
+      \ fileexists
+      \ floor
+      \ fmod
+      \ forcecolumnvector
+      \ forcerowvector
+      \ generateidentitymatrix
+      \ generaterotationmatrix
+      \ generatezeromatrix
+      \ getactiveeffectcasters
+      \ getactiveeffectcodes
+      \ getactiveeffectcount
+      \ getactivemenucomponentid
+      \ getactivemenufilter
+      \ getactivemenumode
+      \ getactivemenuobject
+      \ getactivemenuref
+      \ getactivemenuselection
+      \ getactivequest
+      \ getactiveuicomponentfullname
+      \ getactiveuicomponentid
+      \ getactiveuicomponentname
+      \ getactoralpha
+      \ getactorbaselevel
+      \ getactorlightamount
+      \ getactormaxlevel
+      \ getactormaxswimbreath
+      \ getactorminlevel
+      \ getactorpackages
+      \ getactorsoullevel
+      \ getactorvaluec
+      \ getalchmenuapparatus
+      \ getalchmenuingredient
+      \ getalchmenuingredientcount
+      \ getallies
+      \ getallmodlocaldata
+      \ getaltcontrol2
+      \ getapbowench
+      \ getapench
+      \ getapparatustype
+      \ getappoison
+      \ getarmorar
+      \ getarmortype
+      \ getarrayvariable
+      \ getarrowprojectilebowenchantment
+      \ getarrowprojectileenchantment
+      \ getarrowprojectilepoison
+      \ getattackdamage
+      \ getavc
+      \ getavforbaseactor
+      \ getavforbaseactorc
+      \ getavmod
+      \ getavmodc
+      \ getavskillmastery
+      \ getavskillmasteryc
+      \ getbarteritem
+      \ getbarteritemquantity
+      \ getbaseactorvaluec
+      \ getbaseav2
+      \ getbaseav2c
+      \ getbaseav3
+      \ getbaseav3c
+      \ getbaseitems
+      \ getbaseobject
+      \ getbipediconpath
+      \ getbipedmodelpath
+      \ getbipedslotmask
+      \ getbirthsignspells
+      \ getbookcantbetaken
+      \ getbookisscroll
+      \ getbooklength
+      \ getbookskilltaught
+      \ getbooktext
+      \ getboundingbox
+      \ getboundingradius
+      \ getcalcalllevels
+      \ getcalceachincount
+      \ getcallingscript
+      \ getcellbehavesasexterior
+      \ getcellchanged
+      \ getcellclimate
+      \ getcelldetachtime
+      \ getcellfactionrank
+      \ getcelllighting
+      \ getcellmusictype
+      \ getcellnorthrotation
+      \ getcellresethours
+      \ getcellwatertype
+      \ getchancenone
+      \ getclass
+      \ getclassattribute
+      \ getclassmenuhighlightedclass
+      \ getclassmenuselectedclass
+      \ getclassskill
+      \ getclassskills
+      \ getclassspecialization
+      \ getclimatehasmasser
+      \ getclimatehassecunda
+      \ getclimatemoonphaselength
+      \ getclimatesunrisebegin
+      \ getclimatesunriseend
+      \ getclimatesunsetbegin
+      \ getclimatesunsetend
+      \ getclimatevolatility
+      \ getclosesound
+      \ getcloudspeedlower
+      \ getcloudspeedupper
+      \ getcombatspells
+      \ getcombatstyle
+      \ getcombatstyleacrobaticsdodgechance
+      \ getcombatstyleattackchance
+      \ getcombatstyleattackduringblockmult
+      \ getcombatstyleattacknotunderattackmult
+      \ getcombatstyleattackskillmodbase
+      \ getcombatstyleattackskillmodmult
+      \ getcombatstyleattackunderattackmult
+      \ getcombatstyleblockchance
+      \ getcombatstyleblocknotunderattackmult
+      \ getcombatstyleblockskillmodbase
+      \ getcombatstyleblockskillmodmult
+      \ getcombatstyleblockunderattackmult
+      \ getcombatstylebuffstandoffdist
+      \ getcombatstyledodgebacknotunderattackmult
+      \ getcombatstyledodgebacktimermax
+      \ getcombatstyledodgebacktimermin
+      \ getcombatstyledodgebackunderattackmult
+      \ getcombatstyledodgechance
+      \ getcombatstyledodgefatiguemodbase
+      \ getcombatstyledodgefatiguemodmult
+      \ getcombatstyledodgefwattackingmult
+      \ getcombatstyledodgefwnotattackingmult
+      \ getcombatstyledodgefwtimermax
+      \ getcombatstyledodgefwtimermin
+      \ getcombatstyledodgelrchance
+      \ getcombatstyledodgelrtimermax
+      \ getcombatstyledodgelrtimermin
+      \ getcombatstyledodgenotunderattackmult
+      \ getcombatstyledodgeunderattackmult
+      \ getcombatstyleencumberedspeedmodbase
+      \ getcombatstyleencumberedspeedmodmult
+      \ getcombatstylefleeingdisabled
+      \ getcombatstylegroupstandoffdist
+      \ getcombatstyleh2hbonustoattack
+      \ getcombatstyleholdtimermax
+      \ getcombatstyleholdtimermin
+      \ getcombatstyleidletimermax
+      \ getcombatstyleidletimermin
+      \ getcombatstyleignorealliesinarea
+      \ getcombatstylekobonustoattack
+      \ getcombatstylekobonustopowerattack
+      \ getcombatstylemeleealertok
+      \ getcombatstylepowerattackchance
+      \ getcombatstylepowerattackfatiguemodbase
+      \ getcombatstylepowerattackfatiguemodmult
+      \ getcombatstyleprefersranged
+      \ getcombatstylerangedstandoffdist
+      \ getcombatstylerangemaxmult
+      \ getcombatstylerangeoptimalmult
+      \ getcombatstylerejectsyields
+      \ getcombatstylerushattackchance
+      \ getcombatstylerushattackdistmult
+      \ getcombatstylestaggerbonustoattack
+      \ getcombatstylestaggerbonustopowerattack
+      \ getcombatstyleswitchdistmelee
+      \ getcombatstyleswitchdistranged
+      \ getcombatstylewillyield
+      \ getcombattarget
+      \ getcompletedquests
+      \ getcontainermenuview
+      \ getcontainerrespawns
+      \ getcontrol
+      \ getcreaturebasescale
+      \ getcreaturecombatskill
+      \ getcreatureflies
+      \ getcreaturemagicskill
+      \ getcreaturemodelpaths
+      \ getcreaturereach
+      \ getcreaturesoullevel
+      \ getcreaturesound
+      \ getcreaturesoundbase
+      \ getcreaturestealthskill
+      \ getcreatureswims
+      \ getcreaturetype
+      \ getcreaturewalks
+      \ getcrosshairref
+      \ getcurrentcharge
+      \ getcurrentclimateid
+      \ getcurrenteditorpackage
+      \ getcurrenteventname
+      \ getcurrenthealth
+      \ getcurrentpackage
+      \ getcurrentpackageprocedure
+      \ getcurrentquests
+      \ getcurrentregion
+      \ getcurrentregions
+      \ getcurrentscript
+      \ getcurrentsoullevel
+      \ getcurrentweatherid
+      \ getcursorpos
+      \ getdebugselection
+      \ getdescription
+      \ getdoorteleportrot
+      \ getdoorteleportx
+      \ getdoorteleporty
+      \ getdoorteleportz
+      \ geteditorid
+      \ geteditorsize
+      \ getenchantment
+      \ getenchantmentcharge
+      \ getenchantmentcost
+      \ getenchantmenttype
+      \ getenchmenubaseitem
+      \ getenchmenuenchitem
+      \ getenchmenusoulgem
+      \ getequipmentslot
+      \ getequipmentslotmask
+      \ getequippedcurrentcharge
+      \ getequippedcurrenthealth
+      \ getequippeditems
+      \ getequippedobject
+      \ getequippedtorchtimeleft
+      \ getequippedweaponpoison
+      \ geteyes
+      \ getfactions
+      \ getfalltimer
+      \ getfirstref
+      \ getfirstrefincell
+      \ getfogdayfar
+      \ getfogdaynear
+      \ getfognightfar
+      \ getfognightnear
+      \ getfollowers
+      \ getformfrommod
+      \ getformidstring
+      \ getfps
+      \ getfullgoldvalue
+      \ getgamedifficulty
+      \ getgameloaded
+      \ getgamerestarted
+      \ getgodmode
+      \ getgoldvalue
+      \ getgridstoload
+      \ getgroundsurfacematerial
+      \ gethair
+      \ gethaircolor
+      \ gethdrvalue
+      \ gethidesamulet
+      \ gethidesrings
+      \ gethighactors
+      \ gethorse
+      \ gethotkeyitem
+      \ geticonpath
+      \ getignoresresistance
+      \ getingredient
+      \ getingredientchance
+      \ getinputtext
+      \ getinventoryobject
+      \ getinvrefsforitem
+      \ getitems
+      \ getkeyname
+      \ getkeypress
+      \ getlastcreatedpotion
+      \ getlastcreatedspell
+      \ getlastenchanteditem
+      \ getlastsigilstonecreateditem
+      \ getlastsigilstoneenchanteditem
+      \ getlastss
+      \ getlastsscreated
+      \ getlastssitem
+      \ getlasttransactionitem
+      \ getlasttransactionquantity
+      \ getlastuniquecreatedpotion
+      \ getlastusedsigilstone
+      \ getlevcreaturetemplate
+      \ getleveledspells
+      \ getlevitembylevel
+      \ getlevitemindexbyform
+      \ getlevitemindexbylevel
+      \ getlightduration
+      \ getlightningfrequency
+      \ getlightradius
+      \ getlightrgb
+      \ getlinkeddoor
+      \ getloadedtypearray
+      \ getlocalgravity
+      \ getloopsound
+      \ getlowactors
+      \ getluckmodifiedskill
+      \ getmagiceffectareasound
+      \ getmagiceffectareasoundc
+      \ getmagiceffectbarterfactor
+      \ getmagiceffectbarterfactorc
+      \ getmagiceffectbasecost
+      \ getmagiceffectbasecostc
+      \ getmagiceffectboltsound
+      \ getmagiceffectboltsoundc
+      \ getmagiceffectcastingsound
+      \ getmagiceffectcastingsoundc
+      \ getmagiceffectchars
+      \ getmagiceffectcharsc
+      \ getmagiceffectcode
+      \ getmagiceffectcounters
+      \ getmagiceffectcountersc
+      \ getmagiceffectenchantfactor
+      \ getmagiceffectenchantfactorc
+      \ getmagiceffectenchantshader
+      \ getmagiceffectenchantshaderc
+      \ getmagiceffecthitshader
+      \ getmagiceffecthitshaderc
+      \ getmagiceffecthitsound
+      \ getmagiceffecthitsoundc
+      \ getmagiceffecticon
+      \ getmagiceffecticonc
+      \ getmagiceffectlight
+      \ getmagiceffectlightc
+      \ getmagiceffectmodel
+      \ getmagiceffectmodelc
+      \ getmagiceffectname
+      \ getmagiceffectnamec
+      \ getmagiceffectnumcounters
+      \ getmagiceffectnumcountersc
+      \ getmagiceffectotheractorvalue
+      \ getmagiceffectotheractorvaluec
+      \ getmagiceffectprojectilespeed
+      \ getmagiceffectprojectilespeedc
+      \ getmagiceffectresistvalue
+      \ getmagiceffectresistvaluec
+      \ getmagiceffectschool
+      \ getmagiceffectschoolc
+      \ getmagiceffectusedobject
+      \ getmagiceffectusedobjectc
+      \ getmagicitemeffectcount
+      \ getmagicitemtype
+      \ getmagicprojectilespell
+      \ getmapmarkers
+      \ getmapmarkertype
+      \ getmapmenumarkername
+      \ getmapmenumarkerref
+      \ getmaxav
+      \ getmaxavc
+      \ getmaxlevel
+      \ getmeareasound
+      \ getmeareasoundc
+      \ getmebarterc
+      \ getmebasecost
+      \ getmebasecostc
+      \ getmeboltsound
+      \ getmeboltsoundc
+      \ getmecastingsound
+      \ getmecastingsoundc
+      \ getmecounters
+      \ getmecountersc
+      \ getmeebarter
+      \ getmeebarterc
+      \ getmeenchant
+      \ getmeenchantc
+      \ getmeenchantshader
+      \ getmeenchantshaderc
+      \ getmehitshader
+      \ getmehitshaderc
+      \ getmehitsound
+      \ getmehitsoundc
+      \ getmeicon
+      \ getmeiconc
+      \ getmelight
+      \ getmelightc
+      \ getmemodel
+      \ getmemodelc
+      \ getmename
+      \ getmenamec
+      \ getmenufloatvalue
+      \ getmenumcounters
+      \ getmenumcountersc
+      \ getmenustringvalue
+      \ getmeotheractorvalue
+      \ getmeotheractorvaluec
+      \ getmeprojspeed
+      \ getmeprojspeedc
+      \ getmerchantcontainer
+      \ getmeresistvalue
+      \ getmeresistvaluec
+      \ getmeschool
+      \ getmeschoolc
+      \ getmessageboxtype
+      \ getmeusedobject
+      \ getmeusedobjectc
+      \ getmiddlehighactors
+      \ getmieffectcount
+      \ getminlevel
+      \ getmitype
+      \ getmodelpath
+      \ getmodindex
+      \ getmodlocaldata
+      \ getmousebuttonpress
+      \ getmousebuttonsswapped
+      \ getmpspell
+      \ getnextref
+      \ getnthacitveeffectmagnitude
+      \ getnthactiveeffectactorvalue
+      \ getnthactiveeffectbounditem
+      \ getnthactiveeffectcaster
+      \ getnthactiveeffectcode
+      \ getnthactiveeffectdata
+      \ getnthactiveeffectduration
+      \ getnthactiveeffectenchantobject
+      \ getnthactiveeffectmagicenchantobject
+      \ getnthactiveeffectmagicitem
+      \ getnthactiveeffectmagicitemindex
+      \ getnthactiveeffectmagnitude
+      \ getnthactiveeffectsummonref
+      \ getnthactiveeffecttimeelapsed
+      \ getnthaeav
+      \ getnthaebounditem
+      \ getnthaecaster
+      \ getnthaecode
+      \ getnthaedata
+      \ getnthaeduration
+      \ getnthaeindex
+      \ getnthaemagicenchantobject
+      \ getnthaemagicitem
+      \ getnthaemagnitude
+      \ getnthaesummonref
+      \ getnthaetime
+      \ getnthchildref
+      \ getnthdetectedactor
+      \ getntheffectitem
+      \ getntheffectitemactorvalue
+      \ getntheffectitemarea
+      \ getntheffectitemcode
+      \ getntheffectitemduration
+      \ getntheffectitemmagnitude
+      \ getntheffectitemname
+      \ getntheffectitemrange
+      \ getntheffectitemscript
+      \ getntheffectitemscriptname
+      \ getntheffectitemscriptschool
+      \ getntheffectitemscriptvisualeffect
+      \ getntheiarea
+      \ getntheiav
+      \ getntheicode
+      \ getntheiduration
+      \ getntheimagnitude
+      \ getntheiname
+      \ getntheirange
+      \ getntheiscript
+      \ getntheisschool
+      \ getntheisvisualeffect
+      \ getnthexplicitref
+      \ getnthfaction
+      \ getnthfactionrankname
+      \ getnthfollower
+      \ getnthlevitem
+      \ getnthlevitemcount
+      \ getnthlevitemlevel
+      \ getnthmagiceffectcounter
+      \ getnthmagiceffectcounterc
+      \ getnthmecounter
+      \ getnthmecounterc
+      \ getnthmodname
+      \ getnthpackage
+      \ getnthplayerspell
+      \ getnthracebonusskill
+      \ getnthracespell
+      \ getnthspell
+      \ getnumchildrefs
+      \ getnumdetectedactors
+      \ getnumericinisetting
+      \ getnumexplicitrefs
+      \ getnumfactions
+      \ getnumfollowers
+      \ getnumitems
+      \ getnumkeyspressed
+      \ getnumlevitems
+      \ getnumloadedmods
+      \ getnumloadedplugins
+      \ getnummousebuttonspressed
+      \ getnumpackages
+      \ getnumranks
+      \ getnumrefs
+      \ getnumrefsincell
+      \ getobjectcharge
+      \ getobjecthealth
+      \ getobjecttype
+      \ getobliviondirectory
+      \ getoblrevision
+      \ getoblversion
+      \ getopenkey
+      \ getopensound
+      \ getowner
+      \ getowningfactionrank
+      \ getowningfactionrequiredrank
+      \ getpackageallowfalls
+      \ getpackageallowswimming
+      \ getpackagealwaysrun
+      \ getpackagealwayssneak
+      \ getpackagearmorunequipped
+      \ getpackagecontinueifpcnear
+      \ getpackagedata
+      \ getpackagedefensivecombat
+      \ getpackagelocationdata
+      \ getpackagelockdoorsatend
+      \ getpackagelockdoorsatlocation
+      \ getpackagelockdoorsatstart
+      \ getpackagemustcomplete
+      \ getpackagemustreachlocation
+      \ getpackagenoidleanims
+      \ getpackageoffersservices
+      \ getpackageonceperday
+      \ getpackagescheduledata
+      \ getpackageskipfalloutbehavior
+      \ getpackagetargetdata
+      \ getpackageunlockdoorsatend
+      \ getpackageunlockdoorsatlocation
+      \ getpackageunlockdoorsatstart
+      \ getpackageusehorse
+      \ getpackageweaponsunequipped
+      \ getparentcell
+      \ getparentcellowner
+      \ getparentcellowningfactionrank
+      \ getparentcellowningfactionrequiredrank
+      \ getparentcellwaterheight
+      \ getparentworldspace
+      \ getpathnodelinkedref
+      \ getpathnodepos
+      \ getpathnodesinradius
+      \ getpathnodesinrect
+      \ getpcattributebonus
+      \ getpcattributebonusc
+      \ getpclastdroppeditem
+      \ getpclastdroppeditemref
+      \ getpclasthorse
+      \ getpclastloaddoor
+      \ getpcmajorskillups
+      \ getpcmovementspeedmodifier
+      \ getpcspelleffectivenessmodifier
+      \ getpctrainingsessionsused
+      \ getplayerbirthsign
+      \ getplayerskilladvances
+      \ getplayerskilladvancesc
+      \ getplayerskilluse
+      \ getplayerskillusec
+      \ getplayerslastactivatedloaddoor
+      \ getplayerslastriddenhorse
+      \ getplayerspell
+      \ getplayerspellcount
+      \ getpluginversion
+      \ getplyerspellcount
+      \ getprocesslevel
+      \ getprojectile
+      \ getprojectiledistancetraveled
+      \ getprojectilelifetime
+      \ getprojectilesource
+      \ getprojectilespeed
+      \ getprojectiletype
+      \ getqmcurrent
+      \ getqmitem
+      \ getqmmaximum
+      \ getqr
+      \ getquality
+      \ getquantitymenucurrentquantity
+      \ getquantitymenuitem
+      \ getquantitymenumaximumquantity
+      \ getrace
+      \ getraceattribute
+      \ getraceattributec
+      \ getracedefaulthair
+      \ getraceeyes
+      \ getracehairs
+      \ getracereaction
+      \ getracescale
+      \ getraceskillbonus
+      \ getraceskillbonusc
+      \ getracespellcount
+      \ getracevoice
+      \ getraceweight
+      \ getrawformidstring
+      \ getrefcount
+      \ getrefvariable
+      \ getrequiredskillexp
+      \ getrequiredskillexpc
+      \ getrider
+      \ getscript
+      \ getscriptactiveeffectindex
+      \ getselectedspells
+      \ getservicesmask
+      \ getsigilstoneuses
+      \ getskillgoverningattribute
+      \ getskillgoverningattributec
+      \ getskillspecialization
+      \ getskillspecializationc
+      \ getskilluseincrement
+      \ getskilluseincrementc
+      \ getsoulgemcapacity
+      \ getsoullevel
+      \ getsoundattenuation
+      \ getsoundplaying
+      \ getsourcemodindex
+      \ getspecialanims
+      \ getspellareaeffectignoreslos
+      \ getspellcount
+      \ getspelldisallowabsorbreflect
+      \ getspelleffectiveness
+      \ getspellexplodeswithnotarget
+      \ getspellhostile
+      \ getspellimmunetosilence
+      \ getspellmagickacost
+      \ getspellmasterylevel
+      \ getspellpcstart
+      \ getspells
+      \ getspellschool
+      \ getspellscripteffectalwaysapplies
+      \ getspelltype
+      \ getstageentries
+      \ getstageids
+      \ getstringgamesetting
+      \ getstringinisetting
+      \ getsundamage
+      \ getsunglare
+      \ gettailmodelpath
+      \ gettargets
+      \ gettelekinesisref
+      \ getteleportcell
+      \ getteleportcellname
+      \ getterrainheight
+      \ gettextinputcontrolpressed
+      \ gettextinputcursorpos
+      \ gettexturepath
+      \ gettilechildren
+      \ gettiletraits
+      \ gettimeleft
+      \ gettotalactiveeffectmagnitude
+      \ gettotalactiveeffectmagnitudec
+      \ gettotalaeabilitymagnitude
+      \ gettotalaeabilitymagnitudec
+      \ gettotalaealchemymagnitude
+      \ gettotalaealchemymagnitudec
+      \ gettotalaeallspellsmagnitude
+      \ gettotalaeallspellsmagnitudec
+      \ gettotalaediseasemagnitude
+      \ gettotalaediseasemagnitudec
+      \ gettotalaeenchantmentmagnitude
+      \ gettotalaeenchantmentmagnitudec
+      \ gettotalaelesserpowermagnitude
+      \ gettotalaelesserpowermagnitudec
+      \ gettotalaemagnitude
+      \ gettotalaemagnitudec
+      \ gettotalaenonabilitymagnitude
+      \ gettotalaenonabilitymagnitudec
+      \ gettotalaepowermagnitude
+      \ gettotalaepowermagnitudec
+      \ gettotalaespellmagnitude
+      \ gettotalaespellmagnitudec
+      \ gettotalpcattributebonus
+      \ gettrainerlevel
+      \ gettrainerskill
+      \ gettransactioninfo
+      \ gettransdelta
+      \ gettravelhorse
+      \ getusedpowers
+      \ getusertime
+      \ getvariable
+      \ getvelocity
+      \ getverticalvelocity
+      \ getwaterheight
+      \ getwatershader
+      \ getweahtercloudspeedupper
+      \ getweaponreach
+      \ getweaponspeed
+      \ getweapontype
+      \ getweatherclassification
+      \ getweathercloudspeedlower
+      \ getweathercloudspeedupper
+      \ getweathercolor
+      \ getweatherfogdayfar
+      \ getweatherfogdaynear
+      \ getweatherfognightfar
+      \ getweatherfognightnear
+      \ getweatherhdrvalue
+      \ getweatherlightningfrequency
+      \ getweatheroverride
+      \ getweathersundamage
+      \ getweathersunglare
+      \ getweathertransdelta
+      \ getweatherwindspeed
+      \ getweight
+      \ getworldparentworld
+      \ getworldspaceparentworldspace
+      \ globalvariableexists
+      \ hammerkey
+      \ hasbeenpickedup
+      \ haseffectshader
+      \ haslowlevelprocessing
+      \ hasmodel
+      \ hasname
+      \ hasnopersuasion
+      \ hasspell
+      \ hastail
+      \ hasvariable
+      \ haswater
+      \ holdkey
+      \ iconpathincludes
+      \ identitymat
+      \ incrementplayerskilluse
+      \ incrementplayerskillusec
+      \ ininvertfasttravel
+      \ insertininputtext
+      \ isactivatable
+      \ isactivator
+      \ isactorrespawning
+      \ isalchemyitem
+      \ isammo
+      \ isanimgroupplaying
+      \ isanimplaying
+      \ isapparatus
+      \ isarmor
+      \ isattacking
+      \ isautomaticdoor
+      \ isbartermenuactive
+      \ isbipediconpathvalid
+      \ isbipedmodelpathvalid
+      \ isblocking
+      \ isbook
+      \ iscantwait
+      \ iscasting
+      \ iscellpublic
+      \ isclassattribute
+      \ isclassattributec
+      \ isclassskill
+      \ isclassskillc
+      \ isclonedform
+      \ isclothing
+      \ isconsoleopen
+      \ iscontainer
+      \ iscontrol
+      \ iscontroldisabled
+      \ iscontrolpressed
+      \ iscreature
+      \ iscreaturebiped
+      \ isdigit
+      \ isdiseased
+      \ isdodging
+      \ isdoor
+      \ isequipped
+      \ isfactionevil
+      \ isfactionhidden
+      \ isfemale
+      \ isflora
+      \ isflying
+      \ isfood
+      \ isformvalid
+      \ isfurniture
+      \ isgamemessagebox
+      \ isglobalcollisiondisabled
+      \ isharvested
+      \ ishiddendoor
+      \ isiconpathvalid
+      \ isinair
+      \ isingredient
+      \ isinoblivion
+      \ isjumping
+      \ iskey
+      \ iskeydisabled
+      \ iskeypressed
+      \ iskeypressed2
+      \ iskeypressed3
+      \ isletter
+      \ islight
+      \ islightcarriable
+      \ isloaddoor
+      \ ismagiceffectcanrecover
+      \ ismagiceffectcanrecoverc
+      \ ismagiceffectdetrimental
+      \ ismagiceffectdetrimentalc
+      \ ismagiceffectforenchanting
+      \ ismagiceffectforenchantingc
+      \ ismagiceffectforspellmaking
+      \ ismagiceffectforspellmakingc
+      \ ismagiceffecthostile
+      \ ismagiceffecthostilec
+      \ ismagiceffectmagnitudepercent
+      \ ismagiceffectmagnitudepercentc
+      \ ismagiceffectonselfallowed
+      \ ismagiceffectonselfallowedc
+      \ ismagiceffectontargetallowed
+      \ ismagiceffectontargetallowedc
+      \ ismagiceffectontouchallowed
+      \ ismagiceffectontouchallowedc
+      \ ismagicitemautocalc
+      \ ismajor
+      \ ismajorc
+      \ ismajorref
+      \ ismapmarkervisible
+      \ ismecanrecover
+      \ ismecanrecoverc
+      \ ismedetrimental
+      \ ismedetrimentalc
+      \ ismeforenchanting
+      \ ismeforenchantingc
+      \ ismeforspellmaking
+      \ ismeforspellmakingc
+      \ ismehostile
+      \ ismehostilec
+      \ ismemagnitudepercent
+      \ ismemagnitudepercentc
+      \ ismeonselfallowed
+      \ ismeonselfallowedc
+      \ ismeontargetallowed
+      \ ismeontargetallowedc
+      \ ismeontouchallowed
+      \ ismeontouchallowedc
+      \ isminimalusedoor
+      \ ismiscitem
+      \ ismodelpathvalid
+      \ ismodloaded
+      \ ismovingbackward
+      \ ismovingforward
+      \ ismovingleft
+      \ ismovingright
+      \ isnaked
+      \ isnthactiveeffectapplied
+      \ isntheffectitemscripted
+      \ isntheffectitemscripthostile
+      \ isntheishostile
+      \ isobliviongate
+      \ isoblivioninterior
+      \ isoblivionworld
+      \ isofflimits
+      \ isonground
+      \ ispathnodedisabled
+      \ ispcleveloffset
+      \ ispersistent
+      \ isplayable
+      \ isplayable2
+      \ isplugininstalled
+      \ ispoison
+      \ ispotion
+      \ ispowerattacking
+      \ isprintable
+      \ ispunctuation
+      \ isquestcomplete
+      \ isquestitem
+      \ isracebonusskill
+      \ isracebonusskillc
+      \ israceplayable
+      \ isrecoiling
+      \ isrefdeleted
+      \ isreference
+      \ isrefessential
+      \ isscripted
+      \ issigilstone
+      \ issoulgem
+      \ isspellhostile
+      \ isstaggered
+      \ issummonable
+      \ istaken
+      \ istextinputinuse
+      \ isthirdperson
+      \ isturningleft
+      \ isturningright
+      \ isunderwater
+      \ isunsaferespawns
+      \ isuppercase
+      \ isweapon
+      \ leftshift
+      \ linktodoor
+      \ loadgameex
+      \ log
+      \ log10
+      \ logicaland
+      \ logicalnot
+      \ logicalor
+      \ logicalxor
+      \ magiceffectcodefromchars
+      \ magiceffectfromchars
+      \ magiceffectfromcode
+      \ magiceffectfxpersists
+      \ magiceffectfxpersistsc
+      \ magiceffecthasnoarea
+      \ magiceffecthasnoareac
+      \ magiceffecthasnoduration
+      \ magiceffecthasnodurationc
+      \ magiceffecthasnohiteffect
+      \ magiceffecthasnohiteffectc
+      \ magiceffecthasnoingredient
+      \ magiceffecthasnoingredientc
+      \ magiceffecthasnomagnitude
+      \ magiceffecthasnomagnitudec
+      \ magiceffectusesarmor
+      \ magiceffectusesarmorc
+      \ magiceffectusesattribute
+      \ magiceffectusesattributec
+      \ magiceffectusescreature
+      \ magiceffectusescreaturec
+      \ magiceffectusesotheractorvalue
+      \ magiceffectusesotheractorvaluec
+      \ magiceffectusesskill
+      \ magiceffectusesskillc
+      \ magiceffectusesweapon
+      \ magiceffectusesweaponc
+      \ magichaseffect
+      \ magichaseffectc
+      \ magicitemhaseffect
+      \ magicitemhaseffectcode
+      \ magicitemhaseffectcount
+      \ magicitemhaseffectcountc
+      \ magicitemhaseffectcountcode
+      \ magicitemhaseffectitemscript
+      \ matadd
+      \ matchpotion
+      \ matinv
+      \ matmult
+      \ matrixadd
+      \ matrixdeterminant
+      \ matrixinvert
+      \ matrixmultiply
+      \ matrixrref
+      \ matrixscale
+      \ matrixsubtract
+      \ matrixtrace
+      \ matrixtranspose
+      \ matscale
+      \ matsubtract
+      \ mecodefromchars
+      \ mefxpersists
+      \ mefxpersistsc
+      \ mehasnoarea
+      \ mehasnoareac
+      \ mehasnoduration
+      \ mehasnodurationc
+      \ mehasnohiteffect
+      \ mehasnohiteffectc
+      \ mehasnoingredient
+      \ mehasnoingredientc
+      \ mehasnomagnitude
+      \ mehasnomagnitudec
+      \ menuholdkey
+      \ menumode
+      \ menureleasekey
+      \ menutapkey
+      \ messageboxex
+      \ messageex
+      \ meusesarmor
+      \ meusesarmorc
+      \ meusesattribute
+      \ meusesattributec
+      \ meusescreature
+      \ meusescreaturec
+      \ meusesotheractorvalue
+      \ meusesotheractorvaluec
+      \ meusesskill
+      \ meusesskillc
+      \ meusesweapon
+      \ meusesweaponc
+      \ modactorvalue2
+      \ modactorvaluec
+      \ modarmorar
+      \ modattackdamage
+      \ modav2
+      \ modavc
+      \ modavmod
+      \ modavmodc
+      \ modcurrentcharge
+      \ modelpathincludes
+      \ modenchantmentcharge
+      \ modenchantmentcost
+      \ modequippedcurrentcharge
+      \ modequippedcurrenthealth
+      \ modfemalebipedpath
+      \ modfemalegroundpath
+      \ modfemaleiconpath
+      \ modgoldvalue
+      \ modiconpath
+      \ modlocaldataexists
+      \ modmalebipedpath
+      \ modmalegroundpath
+      \ modmaleiconpath
+      \ modmodelpath
+      \ modname
+      \ modnthactiveeffectmagnitude
+      \ modnthaemagnitude
+      \ modntheffectitemarea
+      \ modntheffectitemduration
+      \ modntheffectitemmagnitude
+      \ modntheffectitemscriptname
+      \ modntheiarea
+      \ modntheiduration
+      \ modntheimagnitude
+      \ modntheisname
+      \ modobjectcharge
+      \ modobjecthealth
+      \ modpcmovementspeed
+      \ modpcspelleffectiveness
+      \ modplayerskillexp
+      \ modplayerskillexpc
+      \ modquality
+      \ modsigilstoneuses
+      \ modspellmagickacost
+      \ modweaponreach
+      \ modweaponspeed
+      \ modweight
+      \ movemousex
+      \ movemousey
+      \ movetextinputcursor
+      \ nameincludes
+      \ numtohex
+      \ offersapparatus
+      \ offersarmor
+      \ offersbooks
+      \ offersclothing
+      \ offersingredients
+      \ offerslights
+      \ offersmagicitems
+      \ offersmiscitems
+      \ offerspotions
+      \ offersrecharging
+      \ offersrepair
+      \ offersservicesc
+      \ offersspells
+      \ offerstraining
+      \ offersweapons
+      \ oncontroldown
+      \ onkeydown
+      \ opentextinput
+      \ outputlocalmappicturesoverride
+      \ overrideactorswimbreath
+      \ parentcellhaswater
+      \ pathedgeexists
+      \ playidle
+      \ pow
+      \ print
+      \ printactivetileinfo
+      \ printc
+      \ printd
+      \ printtileinfo
+      \ printtoconsole
+      \ questexists
+      \ racos
+      \ rand
+      \ rasin
+      \ ratan
+      \ ratan2
+      \ rcos
+      \ rcosh
+      \ refreshcurrentclimate
+      \ releasekey
+      \ removealleffectitems
+      \ removebasespell
+      \ removeenchantment
+      \ removeequippedweaponpoison
+      \ removeeventhandler
+      \ removefromleveledlist
+      \ removeitemns
+      \ removelevitembylevel
+      \ removemeir
+      \ removemodlocaldata
+      \ removentheffect
+      \ removentheffectitem
+      \ removenthlevitem
+      \ removenthmagiceffectcounter
+      \ removenthmagiceffectcounterc
+      \ removenthmecounter
+      \ removenthmecounterc
+      \ removescript
+      \ removescr
+      \ removespellns
+      \ resetallvariables
+      \ resetfalrior
+      \ resolvemodindex
+      \ rightshift
+      \ rotmat
+      \ rowvec
+      \ rsin
+      \ rsinh
+      \ rtan
+      \ rtanh
+      \ runbatchscript
+      \ runscriptline
+      \ saespassalarm
+      \ setactivequest
+      \ setactrfullname
+      \ setactormaxswimbreath
+      \ setactorrespawns
+      \ setactorswimbreath
+      \ setactorvaluec
+      \ setalvisible
+      \ setaltcontrol2
+      \ setapparatustype
+      \ setarmorar
+      \ setarmortype
+      \ setarrowprojectilebowenchantment
+      \ setarrowprojectileenchantment
+      \ setarrowprojectilepoison
+      \ setattackdamage
+      \ setavc
+      \ setavmod
+      \ setavmodc
+      \ setbaseform
+      \ setbipediconpathex
+      \ setbipedmodelpathex
+      \ setbipedslotmask
+      \ setbookcantbetaken
+      \ setbookisscroll
+      \ setbookskilltaught
+      \ setbuttonpressed
+      \ setcalcalllevels
+      \ setcamerafov2
+      \ setcancastpower
+      \ setcancorpsecheck
+      \ setcanfasttravelfromworld
+      \ setcantraveltomapmarker
+      \ setcantwait
+      \ setcellbehavesasexterior
+      \ setcellclimate
+      \ setcellhaswater
+      \ setcellispublic
+      \ setcelllighting
+      \ setcellmusictype
+      \ setcellublicflag
+      \ setcellresethours
+      \ setcellwaterheight
+      \ setcellwatertype
+      \ setchancenone
+      \ setclassattribute
+      \ setclassattributec
+      \ setclassskills
+      \ setclassskills2
+      \ setclassspecialization
+      \ setclimatehasmasser
+      \ setclimatehasmassser
+      \ setclimatehassecunda
+      \ setclimatemoonphaselength
+      \ setclimatesunrisebegin
+      \ setclimatesunriseend
+      \ setclimatesunsetbegin
+      \ setclimatesunsetend
+      \ setclimatevolatility
+      \ setclosesound
+      \ setcloudspeedlower
+      \ setcloudspeedupper
+      \ setcombatstyle
+      \ setcombatstyleacrobaticsdodgechance
+      \ setcombatstyleattackchance
+      \ setcombatstyleattackduringblockmult
+      \ setcombatstyleattacknotunderattackmult
+      \ setcombatstyleattackskillmodbase
+      \ setcombatstyleattackskillmodmult
+      \ setcombatstyleattackunderattackmult
+      \ setcombatstyleblockchance
+      \ setcombatstyleblocknotunderattackmult
+      \ setcombatstyleblockskillmodbase
+      \ setcombatstyleblockskillmodmult
+      \ setcombatstyleblockunderattackmult
+      \ setcombatstylebuffstandoffdist
+      \ setcombatstyledodgebacknotunderattackmult
+      \ setcombatstyledodgebacktimermax
+      \ setcombatstyledodgebacktimermin
+      \ setcombatstyledodgebackunderattackmult
+      \ setcombatstyledodgechance
+      \ setcombatstyledodgefatiguemodbase
+      \ setcombatstyledodgefatiguemodmult
+      \ setcombatstyledodgefwattackingmult
+      \ setcombatstyledodgefwnotattackingmult
+      \ setcombatstyledodgefwtimermax
+      \ setcombatstyledodgefwtimermin
+      \ setcombatstyledodgelrchance
+      \ setcombatstyledodgelrtimermax
+      \ setcombatstyledodgelrtimermin
+      \ setcombatstyledodgenotunderattackmult
+      \ setcombatstyledodgeunderattackmult
+      \ setcombatstyleencumberedspeedmodbase
+      \ setcombatstyleencumberedspeedmodmult
+      \ setcombatstylefleeingdisabled
+      \ setcombatstylegroupstandoffdist
+      \ setcombatstyleh2hbonustoattack
+      \ setcombatstyleholdtimermax
+      \ setcombatstyleholdtimermin
+      \ setcombatstyleidletimermax
+      \ setcombatstyleidletimermin
+      \ setcombatstyleignorealliesinarea
+      \ setcombatstylekobonustoattack
+      \ setcombatstylekobonustopowerattack
+      \ setcombatstylemeleealertok
+      \ setcombatstylepowerattackchance
+      \ setcombatstylepowerattackfatiguemodbase
+      \ setcombatstylepowerattackfatiguemodmult
+      \ setcombatstyleprefersranged
+      \ setcombatstylerangedstandoffdist
+      \ setcombatstylerangemaxmult
+      \ setcombatstylerangeoptimalmult
+      \ setcombatstylerejectsyields
+      \ setcombatstylerushattackchance
+      \ setcombatstylerushattackdistmult
+      \ setcombatstylestaggerbonustoattack
+      \ setcombatstylestaggerbonustopowerattack
+      \ setcombatstyleswitchdistmelee
+      \ setcombatstyleswitchdistranged
+      \ setcombatstylewillyield
+      \ setcontainerrespawns
+      \ setcontrol
+      \ setcreatureskill
+      \ setcreaturesoundbase
+      \ setcreaturetype
+      \ setcurrentcharge
+      \ setcurrenthealth
+      \ setcurrentsoullevel
+      \ setdebugmode
+      \ setdescription
+      \ setdetectionstate
+      \ setdisableglobalcollision
+      \ setdoorteleport
+      \ setenchantment
+      \ setenchantmentcharge
+      \ setenchantmentcost
+      \ setenchantmenttype
+      \ setequipmentslot
+      \ setequippedcurrentcharge
+      \ setequippedcurrenthealth
+      \ setequippedweaponpoison
+      \ seteventhandler
+      \ seteyes
+      \ setfactionevil
+      \ setfactionhasspecialcombat
+      \ setfactionhidden
+      \ setfactonreaction
+      \ setfactionspecialcombat
+      \ setfemale
+      \ setfemalebipedpath
+      \ setfemalegroundpath
+      \ setfemaleiconpath
+      \ setflycameraspeedmult
+      \ setfogdayfar
+      \ setfogdaynear
+      \ setfognightfar
+      \ setfognightnear
+      \ setforcsneak
+      \ setfunctionvalue
+      \ setgamedifficulty
+      \ setgoldvalue
+      \ setgoldvalue_t
+      \ setgoldvaluet
+      \ sethair
+      \ setharvested
+      \ sethasbeenpickedup
+      \ sethdrvalue
+      \ sethidesamulet
+      \ sethidesrings
+      \ sethotkeyitem
+      \ seticonpath
+      \ setignoresresistance
+      \ setingredient
+      \ setingredientchance
+      \ setinputtext
+      \ setinvertfasttravel
+      \ setisautomaticdoor
+      \ setiscontrol
+      \ setisfood
+      \ setishiddendoor
+      \ setisminimalusedoor
+      \ setisobliviongate
+      \ setisplayable
+      \ setlevcreaturetemplate
+      \ setlightduration
+      \ setlightningfrequency
+      \ setlightradius
+      \ setlightrgb
+      \ setlocalgravity
+      \ setlocalgravityvector
+      \ setloopsound
+      \ setlowlevelprocessing
+      \ setmaagiceffectuseactorvalue
+      \ setmagiceffectareasound
+      \ setmagiceffectareasoundc
+      \ setmagiceffectbarterfactor
+      \ setmagiceffectbarterfactorc
+      \ setmagiceffectbasecost
+      \ setmagiceffectbasecostc
+      \ setmagiceffectboltsound
+      \ setmagiceffectboltsoundc
+      \ setmagiceffectcanrecover
+      \ setmagiceffectcanrecoverc
+      \ setmagiceffectcastingsound
+      \ setmagiceffectcastingsoundc
+      \ setmagiceffectcounters
+      \ setmagiceffectcountersc
+      \ setmagiceffectenchantfactor
+      \ setmagiceffectenchantfactorc
+      \ setmagiceffectenchantshader
+      \ setmagiceffectenchantshaderc
+      \ setmagiceffectforenchanting
+      \ setmagiceffectforenchantingc
+      \ setmagiceffectforspellmaking
+      \ setmagiceffectforspellmakingc
+      \ setmagiceffectfxpersists
+      \ setmagiceffectfxpersistsc
+      \ setmagiceffecthitshader
+      \ setmagiceffecthitshaderc
+      \ setmagiceffecthitsound
+      \ setmagiceffecthitsoundc
+      \ setmagiceffecticon
+      \ setmagiceffecticonc
+      \ setmagiceffectisdetrimental
+      \ setmagiceffectisdetrimentalc
+      \ setmagiceffectishostile
+      \ setmagiceffectishostilec
+      \ setmagiceffectlight
+      \ setmagiceffectlightc
+      \ setmagiceffectmagnitudepercent
+      \ setmagiceffectmagnitudepercentc
+      \ setmagiceffectmodel
+      \ setmagiceffectmodelc
+      \ setmagiceffectname
+      \ setmagiceffectnamec
+      \ setmagiceffectnoarea
+      \ setmagiceffectnoareac
+      \ setmagiceffectnoduration
+      \ setmagiceffectnodurationc
+      \ setmagiceffectnohiteffect
+      \ setmagiceffectnohiteffectc
+      \ setmagiceffectnoingredient
+      \ setmagiceffectnoingredientc
+      \ setmagiceffectnomagnitude
+      \ setmagiceffectnomagnitudec
+      \ setmagiceffectonselfallowed
+      \ setmagiceffectonselfallowedc
+      \ setmagiceffectontargetallowed
+      \ setmagiceffectontargetallowedc
+      \ setmagiceffectontouchallowed
+      \ setmagiceffectontouchallowedc
+      \ setmagiceffectotheractorvalue
+      \ setmagiceffectotheractorvaluec
+      \ setmagiceffectprojectilespeed
+      \ setmagiceffectprojectilespeedc
+      \ setmagiceffectresistvalue
+      \ setmagiceffectresistvaluec
+      \ setmagiceffectschool
+      \ setmagiceffectschoolc
+      \ setmagiceffectuseactorvaluec
+      \ setmagiceffectusedobject
+      \ setmagiceffectusedobjectc
+      \ setmagiceffectusesactorvalue
+      \ setmagiceffectusesactorvaluec
+      \ setmagiceffectusesarmor
+      \ setmagiceffectusesarmorc
+      \ setmagiceffectusesattribute
+      \ setmagiceffectusesattributec
+      \ setmagiceffectusescreature
+      \ setmagiceffectusescreaturec
+      \ setmagiceffectusesskill
+      \ setmagiceffectusesskillc
+      \ setmagiceffectusesweapon
+      \ setmagiceffectusesweaponc
+      \ setmagicitemautocalc
+      \ setmagicprojectilespell
+      \ setmalebipedpath
+      \ setmalegroundpath
+      \ setmaleiconpath
+      \ setmapmarkertype
+      \ setmapmarkervisible
+      \ setmeareasound
+      \ setmeareasoundc
+      \ setmebarterfactor
+      \ setmebarterfactorc
+      \ setmebasecost
+      \ setmebasecostc
+      \ setmeboltsound
+      \ setmeboltsoundc
+      \ setmecanrecover
+      \ setmecanrecoverc
+      \ setmecastingsound
+      \ setmecastingsoundc
+      \ setmeenchantfactor
+      \ setmeenchantfactorc
+      \ setmeenchantshader
+      \ setmeenchantshaderc
+      \ setmeforenchanting
+      \ setmeforenchantingc
+      \ setmeforspellmaking
+      \ setmeforspellmakingc
+      \ setmefxpersists
+      \ setmefxpersistsc
+      \ setmehitshader
+      \ setmehitshaderc
+      \ setmehitsound
+      \ setmehitsoundc
+      \ setmeicon
+      \ setmeiconc
+      \ setmeisdetrimental
+      \ setmeisdetrimentalc
+      \ setmeishostile
+      \ setmeishostilec
+      \ setmelight
+      \ setmelightc
+      \ setmemagnitudepercent
+      \ setmemagnitudepercentc
+      \ setmemodel
+      \ setmemodelc
+      \ setmename
+      \ setmenamec
+      \ setmenoarea
+      \ setmenoareac
+      \ setmenoduration
+      \ setmenodurationc
+      \ setmenohiteffect
+      \ setmenohiteffectc
+      \ setmenoingredient
+      \ setmenoingredientc
+      \ setmenomagnitude
+      \ setmenomagnitudec
+      \ setmenufloatvalue
+      \ setmenustringvalue
+      \ setmeonselfallowed
+      \ setmeonselfallowedc
+      \ setmeontargetallowed
+      \ setmeontargetallowedc
+      \ setmeontouchallowed
+      \ setmeontouchallowedc
+      \ setmeotheractorvalue
+      \ setmeotheractorvaluec
+      \ setmeprojectilespeed
+      \ setmeprojectilespeedc
+      \ setmerchantcontainer
+      \ setmeresistvalue
+      \ setmeresistvaluec
+      \ setmeschool
+      \ setmeschoolc
+      \ setmessageicon
+      \ setmessagesound
+      \ setmeuseactorvalue
+      \ setmeuseactorvaluec
+      \ setmeusedobject
+      \ setmeusedobjectc
+      \ setmeusesarmor
+      \ setmeusesarmorc
+      \ setmeusesattribute
+      \ setmeusesattributec
+      \ setmeusescreature
+      \ setmeusescreaturec
+      \ setmeusesskill
+      \ setmeusesskillc
+      \ setmeusesweapon
+      \ setmeusesweaponc
+      \ setmodelpath
+      \ setmodlocaldata
+      \ setmousespeedx
+      \ setmousespeedy
+      \ setmpspell
+      \ setname
+      \ setnameex
+      \ setnopersuasion
+      \ setnthactiveeffectmagnitude
+      \ setnthaemagnitude
+      \ setntheffectitemactorvalue
+      \ setntheffectitemactorvaluec
+      \ setntheffectitemarea
+      \ setntheffectitemduration
+      \ setntheffectitemmagnitude
+      \ setntheffectitemrange
+      \ setntheffectitemscript
+      \ setntheffectitemscripthostile
+      \ setntheffectitemscriptname
+      \ setntheffectitemscriptnameex
+      \ setntheffectitemscriptschool
+      \ setntheffectitemscriptvisualeffect
+      \ setntheffectitemscriptvisualeffectc
+      \ setntheiarea
+      \ setntheiav
+      \ setntheiavc
+      \ setntheiduration
+      \ setntheimagnitude
+      \ setntheirange
+      \ setntheiscript
+      \ setntheishostile
+      \ setntheisname
+      \ setntheisschool
+      \ setntheisvisualeffect
+      \ setntheisvisualeffectc
+      \ setnthfactionranknameex
+      \ setnumericgamesetting
+      \ setnumericinisetting
+      \ setobjectcharge
+      \ setobjecthealth
+      \ setoffersapparatus
+      \ setoffersarmor
+      \ setoffersbooks
+      \ setoffersclothing
+      \ setoffersingredients
+      \ setofferslights
+      \ setoffersmagicitems
+      \ setoffersmiscitems
+      \ setofferspotions
+      \ setoffersrecharging
+      \ setoffersrepair
+      \ setoffersservicesc
+      \ setoffersspells
+      \ setofferstraining
+      \ setoffersweapons
+      \ setolmpgrids
+      \ setopenkey
+      \ setopensound
+      \ setopenstip
+      \ setownership_t
+      \ setowningrequiredrank
+      \ setpackageallowfalls
+      \ setpackageallowswimming
+      \ setpackagealwaysrun
+      \ setpackagealwayssneak
+      \ setpackagearmorunequipped
+      \ setpackagecontinueifpcnear
+      \ setpackagedata
+      \ setpackagedefensivecombat
+      \ setpackagelocationdata
+      \ setpackagelockdoorsatend
+      \ setpackagelockdoorsatlocation
+      \ setpackagelockdoorsatstart
+      \ setpackagemustcomplete
+      \ setpackagemustreachlocation
+      \ setpackagenoidleanims
+      \ setpackageoffersservices
+      \ setpackageonceperday
+      \ setpackagescheduledata
+      \ setpackageskipfalloutbehavior
+      \ setpackagetarget
+      \ setpackagetargetdata
+      \ setpackageunlockdoorsatend
+      \ setpackageunlockdoorsatlocation
+      \ setpackageunlockdoorsatstart
+      \ setpackageusehorse
+      \ setpackageweaponsunequipped
+      \ setparentcellowningfactionrequiredrank
+      \ setpathnodedisabled
+      \ setpcamurderer
+      \ setpcattributebonus
+      \ setpcattributebonusc
+      \ setpcexpy
+      \ setpcleveloffset
+      \ setpcmajorskillups
+      \ setpctrainingsessionsused
+      \ setplayerbseworld
+      \ setplayerprojectile
+      \ setplayerskeletonpath
+      \ setplayerskilladvances
+      \ setplayerskilladvancesc
+      \ setplayerslastriddenhorse
+      \ setpos_t
+      \ setpowertimer
+      \ setprojectilesource
+      \ setprojectilespeed
+      \ setquality
+      \ setquestitem
+      \ setracealias
+      \ setraceplayable
+      \ setracescale
+      \ setracevoice
+      \ setraceweight
+      \ setrefcount
+      \ setrefessential
+      \ setreale
+      \ setscaleex
+      \ setscript
+      \ setsigilstoneuses
+      \ setskillgoverningattribute
+      \ setskillgoverningattributec
+      \ setskillspecialization
+      \ setskillspecializationc
+      \ setskilluseincrement
+      \ setskilluseincrementc
+      \ setsoulgemcapacity
+      \ setsoullevel
+      \ setsoundattenuation
+      \ setspellareaeffectignoreslos
+      \ setspelldisallowabsorbreflect
+      \ setspellexplodeswithnotarget
+      \ setspellhostile
+      \ setspellimmunetosilence
+      \ setspellmagickacost
+      \ setspellmasterylevel
+      \ setspellpcstart
+      \ setspellscripteffectalwaysapplies
+      \ setspelltype
+      \ setstagedate
+      \ setstagetext
+      \ setstringgamesettingex
+      \ setstringinisetting
+      \ setsummonable
+      \ setsundamage
+      \ setsunglare
+      \ settaken
+      \ settextinputcontrolhandler
+      \ settextinputdefaultcontrolsdisabled
+      \ settextinputhandler
+      \ settexturepath
+      \ settimeleft
+      \ settrainerlevel
+      \ settrainerskill
+      \ settransdelta
+      \ settravelhorse
+      \ setunsafecontainer
+      \ setvelocity
+      \ setverticalvelocity
+      \ setweaponreach
+      \ setweaponspeed
+      \ setweapontype
+      \ setweathercloudspeedlower
+      \ setweathercloudspeedupper
+      \ setweathercolor
+      \ setweatherfogdayfar
+      \ setweatherfogdaynear
+      \ setweatherfognightfar
+      \ setweatherfognightnear
+      \ setweatherhdrvalue
+      \ setweatherlightningfrequency
+      \ setweathersundamage
+      \ setweathersunglare
+      \ setweathertransdelta
+      \ setweatherwindspeed
+      \ setweight
+      \ setwindspeed
+      \ showellmaking
+      \ sin
+      \ sinh
+      \ skipansqrt
+      \ squareroot
+      \ startcc
+      \ stringtoactorvalue
+      \ tan
+      \ tanh
+      \ tapcontrol
+      \ tapkey
+      \ testexpr
+      \ thiactorsai
+      \ togglecreaturemodel
+      \ togglefirstperson
+      \ toggleskillperk
+      \ togglespecialanim
+      \ tolower
+      \ tonumber
+      \ tostring
+      \ toupper
+      \ trapuphitshader
+      \ triggerplayerskilluse
+      \ triggerplayerskillusec
+      \ typeof
+      \ uncompletequest
+      \ unequipitemns
+      \ unequipitemsilent
+      \ unequipme
+      \ unhammerkey
+      \ unsetstagetext
+      \ update3d
+      \ updatecontainermenu
+      \ updatespellpurchasemenu
+      \ updatetextinput
+      \ vecmag
+      \ vecnorm
+      \ vectorcross
+      \ vectordot
+      \ vectormagnitude
+      \ vectornormalize
+      \ zeromat
+" }}}
+
+" Array Functions {{{
+syn keyword obseArrayFunction
+      \ ar_Append
+      \ ar_BadNumericIndex
+      \ ar_BadStringIndex
+      \ ar_Construct
+      \ ar_Copy
+      \ ar_CustomSort
+      \ ar_DeepCopy
+      \ ar_Dump
+      \ ar_DumpID
+      \ ar_Erase
+      \ ar_Find
+      \ ar_First
+      \ ar_HasKey
+      \ ar_Insert
+      \ ar_InsertRange
+      \ ar_Keys
+      \ ar_Last
+      \ ar_List
+      \ ar_Map
+      \ ar_Next
+      \ ar_Null
+      \ ar_Prev
+      \ ar_Range
+      \ ar_Resize
+      \ ar_Size
+      \ ar_Sort
+      \ ar_SortAlpha
+" }}}
+
+" String Functions {{{
+syn keyword obseStringFunction
+      \ sv_ToLower
+      \ sv_ToUpper
+      \ sv_Compare
+      \ sv_Construct
+      \ sv_Count
+      \ sv_Destruct
+      \ sv_Erase
+      \ sv_Find
+      \ sv_Insert
+      \ sv_Length
+      \ sv_Percentify
+      \ sv_Replace
+      \ sv_Split
+      \ sv_ToNumeric
+" }}}
+
+" Pluggy Functions {{{
+syn keyword pluggyFunction
+      \ ArrayCmp
+      \ ArrayCount
+      \ ArrayEsp
+      \ ArrayProtect
+      \ ArraySize
+      \ AutoSclHudS
+      \ AutoSclHudT
+      \ CopyArray
+      \ CopyString
+      \ CreateArray
+      \ CreateEspBook
+      \ CreateString
+      \ DelAllHudSs
+      \ DelAllHudTs
+      \ DelFile
+      \ DelHudS
+      \ DelHudT
+      \ DelTxtFile
+      \ DestroyAllArrays
+      \ DestroyAllStrings
+      \ DestroyArray
+      \ DestroyString
+      \ DupArray
+      \ EspToString
+      \ FileToString
+      \ FindFirstFile
+      \ FindFloatInArray
+      \ FindInArray
+      \ FindNextFile
+      \ FindRefInArray
+      \ FirstFreeInArray
+      \ FirstInArray
+      \ FixName
+      \ FixNameEx
+      \ FloatToString
+      \ FmtString
+      \ FromOBSEString
+      \ FromTSFC
+      \ GetEsp
+      \ GetFileSize
+      \ GetInArray
+      \ GetRefEsp
+      \ GetTypeInArray
+      \ Halt
+      \ HasFixedName
+      \ HudSEsp
+      \ HudSProtect
+      \ HudS_Align
+      \ HudS_L
+      \ HudS_Opac
+      \ HudS_SclX
+      \ HudS_SclY
+      \ HudS_Show
+      \ HudS_Tex
+      \ HudS_X
+      \ HudS_Y
+      \ HudTEsp
+      \ HudTInfo
+      \ HudTProtect
+      \ HudT_Align
+      \ HudT_Font
+      \ HudT_L
+      \ HudT_Opac
+      \ HudT_SclX
+      \ HudT_SclY
+      \ HudT_Show
+      \ HudT_Text
+      \ HudT_X
+      \ HudT_Y
+      \ HudsInfo
+      \ IniDelKey
+      \ IniGetNthSection
+      \ IniKeyExists
+      \ IniReadFloat
+      \ IniReadInt
+      \ IniReadRef
+      \ IniReadString
+      \ IniSectionsCount
+      \ IniWriteFloat
+      \ IniWriteInt
+      \ IniWriteRef
+      \ IniWriteString
+      \ IntToHex
+      \ IntToString
+      \ IsHUDEnabled
+      \ IsPluggyDataReset
+      \ KillMenu
+      \ LC
+      \ LongToRef
+      \ ModRefEsp
+      \ NewHudS
+      \ NewHudT
+      \ PackArray
+      \ PauseBox
+      \ PlgySpcl
+      \ RefToLong
+      \ RefToString
+      \ RemInArray
+      \ RenFile
+      \ RenTxtFile
+      \ ResetName
+      \ RunBatString
+      \ SanString
+      \ ScreenInfo
+      \ SetFloatInArray
+      \ SetHudT
+      \ SetInArray
+      \ SetRefInArray
+      \ SetString
+      \ StrLC
+      \ StringCat
+      \ StringCmp
+      \ StringEsp
+      \ StringGetName
+      \ StringGetNameEx
+      \ StringIns
+      \ StringLen
+      \ StringMsg
+      \ StringMsgBox
+      \ StringPos
+      \ StringProtect
+      \ StringRep
+      \ StringSetName
+      \ StringSetNameEx
+      \ StringToFloat
+      \ StringToInt
+      \ StringToRef
+      \ StringToTxtFile
+      \ ToOBSE
+      \ ToOBSEString
+      \ ToTSFC
+      \ TxtFileExists
+      \ UserFileExists
+      \ csc
+      \ rcsc
+" }}}
+
+" tfscFunction {{{
+syn keyword tfscFunction
+      \ StrAddNewLine
+      \ StrAppend
+      \ StrAppendCharCode
+      \ StrCat
+      \ StrClear
+      \ StrClearLast
+      \ StrCompare
+      \ StrCopy
+      \ StrDel
+      \ StrDeleteAll
+      \ StrExpr
+      \ StrGetFemaleBipedPath
+      \ StrGetFemaleGroundPath
+      \ StrGetFemaleIconPath
+      \ StrGetMaleBipedPath
+      \ StrGetMaleIconPath
+      \ StrGetModelPath
+      \ StrGetName
+      \ StrGetNthEffectItemScriptName
+      \ StrGetNthFactionRankName
+      \ StrGetRandomName
+      \ StrIDReplace
+      \ StrLength
+      \ StrLoad
+      \ StrMessageBox
+      \ StrNew
+      \ StrPrint
+      \ StrReplace
+      \ StrSave
+      \ StrSet
+      \ StrSetFemaleBipedPath
+      \ StrSetFemaleGroundPath
+      \ StrSetFemaleIconPath
+      \ StrSetMaleBipedPath
+      \ StrSetMaleIconPath
+      \ StrSetModelPath
+      \ StrSetName
+      \ StrSetNthEffectItemScriptName
+" }}}
+
+" Blockhead Functions {{{
+syn keyword blockheadFunction
+      \ GetBodyAssetOverride
+      \ GetFaceGenAge
+      \ GetHeadAssetOverride
+      \ RefreshAnimData
+      \ RegisterEquipmentOverrideHandler
+      \ ResetAgeTextureOverride
+      \ ResetBodyAssetOverride
+      \ ResetHeadAssetOverride
+      \ SetAgeTextureOverride
+      \ SetBodyAssetOverride
+      \ SetFaceGenAge
+      \ SetHeadAssetOverride
+      \ ToggleAnimOverride
+      \ UnregisterEquipmentOverrideHandler
+" }}}
+
+" switchNightEyeShaderFunction {{{
+syn keyword switchNightEyeShaderFunction
+      \ EnumNightEyeShader
+      \ SetNightEyeShader
+" }}}
+
+" Oblivion Reloaded Functions {{{
+syn keyword obseivionReloadedFunction
+      \ cameralookat
+      \ cameralookatposition
+      \ camerareset
+      \ camerarotate
+      \ camerarotatetoposition
+      \ cameratranslate
+      \ cameratranslatetoposition
+      \ getlocationname
+      \ getsetting
+      \ getversion
+      \ getweathername
+      \ isthirdperson
+      \ setcustomconstant
+      \ setextraeffectenabled
+      \ setsetting
+" }}}
+" menuQue Functions {{{
+syn keyword menuQueFunction
+      \ GetAllSkills
+      \ GetAVSkillMasteryLevelC
+      \ GetAVSkillMasteryLevelF
+      \ GetFontLoaded
+      \ GetGenericButtonPressed
+      \ GetLoadedFonts
+      \ GetLocalMapSeen
+      \ GetMenuEventType
+      \ GetMenuFloatValue
+      \ GetMenuStringValue
+      \ GetMouseImage
+      \ GetMousePos
+      \ GetPlayerSkillAdvancesF
+      \ GetPlayerSkillUseF
+      \ GetRequiredSkillExpC
+      \ GetRequiredSkillExpF
+      \ GetSkillCode
+      \ GetSkillForm
+      \ GetSkillGoverningAttributeF
+      \ GetSkillSpecializationC
+      \ GetSkillSpecializationF
+      \ GetSkillUseIncrementF
+      \ GetTextEditBox
+      \ GetTextEditString
+      \ GetTrainingMenuCost
+      \ GetTrainingMenuLevel
+      \ GetTrainingMenuSkill
+      \ GetWorldMapData
+      \ GetWorldMapDoor
+      \ IncrementPlayerSkillUseF
+      \ InsertXML
+      \ InsertXMLTemplate
+      \ IsTextEditInUse
+      \ Kyoma_Test
+      \ ModPlayerSkillExpF
+      \ mqCreateMenuFloatValue
+      \ mqCreateMenuStringValue
+      \ mqGetActiveQuest
+      \ mqGetActiveQuestTargets
+      \ mqGetCompletedQuests
+      \ mqGetCurrentQuests
+      \ mqGetEnchMenuBaseItem
+      \ mqGetHighlightedClass
+      \ mqGetMapMarkers
+      \ mqGetMenuActiveChildIndex
+      \ mqGetMenuActiveFloatValue
+      \ mqGetMenuActiveStringValue
+      \ mqGetMenuChildCount
+      \ mqGetMenuChildFloatValue
+      \ mqGetMenuChildHasTrait
+      \ mqGetMenuChildName
+      \ mqGetMenuChildStringValue
+      \ mqGetMenuGlobalFloatValue
+      \ mqGetMenuGlobalStringValue
+      \ mqGetQuestCompleted
+      \ mqGetSelectedClass
+      \ mqSetActiveQuest
+      \ mqSetMenuActiveFloatValue
+      \ mqSetMenuActiveStringValue
+      \ mqSetMenuChildFloatValue
+      \ mqSetMenuChildStringValue
+      \ mqSetMenuGlobalStringValue
+      \ mqSetMenuGlobalFloatValue
+      \ mqSetMessageBoxSource
+      \ mqUncompleteQuest
+      \ RemoveMenuEventHandler
+      \ SetMenuEventHandler
+      \ SetMouseImage
+      \ SetPlayerSkillAdvancesF
+      \ SetSkillGoverningAttributeF
+      \ SetSkillSpecializationC
+      \ SetSkillSpecializationF
+      \ SetSkillUseIncrementF
+      \ SetTextEditString
+      \ SetTrainerSkillC
+      \ SetWorldMapData
+      \ ShowGenericMenu
+      \ ShowLevelUpMenu
+      \ ShowMagicPopupMenu
+      \ ShowTextEditMenu
+      \ ShowTrainingMenu
+      \ tile_FadeFloat
+      \ tile_GetFloat
+      \ tile_GetInfo
+      \ tile_GetName
+      \ tile_GetString
+      \ tile_GetVar
+      \ tile_HasTrait
+      \ tile_SetFloat
+      \ tile_SetString
+      \ TriggerPlayerSkillUseF
+      \ UpdateLocalMap
+" }}}
+
+" eaxFunction {{{
+syn keyword eaxFunction
+      \ CreateEAXeffect
+      \ DeleteEAXeffect
+      \ DisableEAX
+      \ EAXcopyEffect
+      \ EAXeffectExists
+      \ EAXeffectsAreEqual
+      \ EAXgetActiveEffect
+      \ EAXnumEffects
+      \ EAXpushEffect
+      \ EAXpopEffect
+      \ EAXremoveAllInstances
+      \ EAXremoveFirstInstance
+      \ EAXstackIsEmpty
+      \ EAXstackSize
+      \ EnableEAX
+      \ GetEAXAirAbsorptionHF
+      \ GetEAXDecayHFRatio
+      \ GetEAXDecayTime
+      \ GetEAXEnvironment
+      \ GetEAXEnvironmentSize
+      \ GetEAXEnvironmentDiffusion
+      \ GetEAXReflections
+      \ GetEAXReflectionsDelay
+      \ GetEAXReverb
+      \ GetEAXReverbDelay
+      \ GetEAXRoom
+      \ GetEAXRoomHF
+      \ GetEAXRoomRolloffFactor
+      \ InitializeEAX
+      \ IsEAXEnabled
+      \ IsEAXInitialized
+      \ SetEAXAirAbsorptionHF
+      \ SetEAXallProperties
+      \ SetEAXDecayTime
+      \ SetEAXDecayHFRatio
+      \ SetEAXEnvironment
+      \ SetEAXEnvironmentSize
+      \ SetEAXEnvironmentDiffusion
+      \ SetEAXReflections
+      \ SetEAXReflectionsDelay
+      \ SetEAXReverb
+      \ SetEAXReverbDelay
+      \ SetEAXRoom
+      \ SetEAXRoomHF
+      \ SetEAXRoomRolloffFactor
+" }}}
+
+" networkPipeFunction {{{
+syn keyword networkPipeFunction
+      \ NetworkPipe_CreateClient
+      \ NetworkPipe_GetData
+      \ NetworkPipe_IsNewGame
+      \ NetworkPipe_KillClient
+      \ NetworkPipe_Receive
+      \ NetworkPipe_SetData
+      \ NetworkPipe_Send
+      \ NetworkPipe_StartService
+      \ NetworkPipe_StopService
+" }}}
+
+" nifseFunction {{{
+syn keyword nifseFunction
+      \ BSFurnitureMarkerGetPositionRefs
+      \ BSFurnitureMarkerSetPositionRefs
+      \ GetNifTypeIndex
+      \ NiAVObjectAddProperty
+      \ NiAVObjectClearCollisionObject
+      \ NiAVObjectCopyCollisionObject
+      \ NiAVObjectDeleteProperty
+      \ NiAVObjectGetCollisionMode
+      \ NiAVObjectGetCollisionObject
+      \ NiAVObjectGetLocalRotation
+      \ NiAVObjectGetLocalScale
+      \ NiAVObjectGetLocalTransform
+      \ NiAVObjectGetLocalTranslation
+      \ NiAVObjectGetNumProperties
+      \ NiAVObjectGetProperties
+      \ NiAVObjectGetPropertyByType
+      \ NiAVObjectSetCollisionMode
+      \ NiAVObjectSetLocalRotation
+      \ NiAVObjectSetLocalScale
+      \ NiAVObjectSetLocalTransform
+      \ NiAVObjectSetLocalTranslation
+      \ NiAlphaPropertyGetBlendState
+      \ NiAlphaPropertyGetDestinationBlendFunction
+      \ NiAlphaPropertyGetSourceBlendFunction
+      \ NiAlphaPropertyGetTestFunction
+      \ NiAlphaPropertyGetTestState
+      \ NiAlphaPropertyGetTestThreshold
+      \ NiAlphaPropertyGetTriangleSortMode
+      \ NiAlphaPropertySetBlendState
+      \ NiAlphaPropertySetDestinationBlendFunction
+      \ NiAlphaPropertySetSourceBlendFunction
+      \ NiAlphaPropertySetTestFunction
+      \ NiAlphaPropertySetTestState
+      \ NiAlphaPropertySetTestThreshold
+      \ NiAlphaPropertySetTriangleSortMode
+      \ NiExtraDataGetArray
+      \ NiExtraDataGetName
+      \ NiExtraDataGetNumber
+      \ NiExtraDataGetString
+      \ NiExtraDataSetArray
+      \ NiExtraDataSetName
+      \ NiExtraDataSetNumber
+      \ NiExtraDataSetString
+      \ NiMaterialPropertyGetAmbientColor
+      \ NiMaterialPropertyGetDiffuseColor
+      \ NiMaterialPropertyGetEmissiveColor
+      \ NiMaterialPropertyGetGlossiness
+      \ NiMaterialPropertyGetSpecularColor
+      \ NiMaterialPropertyGetTransparency
+      \ NiMaterialPropertySetAmbientColor
+      \ NiMaterialPropertySetDiffuseColor
+      \ NiMaterialPropertySetEmissiveColor
+      \ NiMaterialPropertySetGlossiness
+      \ NiMaterialPropertySetSpecularColor
+      \ NiMaterialPropertySetTransparency
+      \ NiNodeAddChild
+      \ NiNodeCopyChild
+      \ NiNodeDeleteChild
+      \ NiNodeGetChildByName
+      \ NiNodeGetChildren
+      \ NiNodeGetNumChildren
+      \ NiObjectGetType
+      \ NiObjectGetTypeName
+      \ NiObjectNETAddExtraData
+      \ NiObjectNETDeleteExtraData
+      \ NiObjectNETGetExtraData
+      \ NiObjectNETGetExtraDataByName
+      \ NiObjectNETGetName
+      \ NiObjectNETGetNumExtraData
+      \ NiObjectNETSetName
+      \ NiObjectTypeDerivesFrom
+      \ NiSourceTextureGetFile
+      \ NiSourceTextureIsExternal
+      \ NiSourceTextureSetExternalTexture
+      \ NiStencilPropertyGetFaceDrawMode
+      \ NiStencilPropertyGetFailAction
+      \ NiStencilPropertyGetPassAction
+      \ NiStencilPropertyGetStencilFunction
+      \ NiStencilPropertyGetStencilMask
+      \ NiStencilPropertyGetStencilRef
+      \ NiStencilPropertyGetStencilState
+      \ NiStencilPropertyGetZFailAction
+      \ NiStencilPropertySetFaceDrawMode
+      \ NiStencilPropertySetFailAction
+      \ NiStencilPropertySetPassAction
+      \ NiStencilPropertySetStencilFunction
+      \ NiStencilPropertySetStencilMask
+      \ NiStencilPropertySetStencilRef
+      \ NiStencilPropertySetStencilState
+      \ NiStencilPropertySetZFailAction
+      \ NiTexturingPropertyAddTextureSource
+      \ NiTexturingPropertyDeleteTextureSource
+      \ NiTexturingPropertyGetTextureCenterOffset
+      \ NiTexturingPropertyGetTextureClampMode
+      \ NiTexturingPropertyGetTextureCount
+      \ NiTexturingPropertyGetTextureFilterMode
+      \ NiTexturingPropertyGetTextureFlags
+      \ NiTexturingPropertyGetTextureRotation
+      \ NiTexturingPropertyGetTextureSource
+      \ NiTexturingPropertyGetTextureTiling
+      \ NiTexturingPropertyGetTextureTranslation
+      \ NiTexturingPropertyGetTextureUVSet
+      \ NiTexturingPropertyHasTexture
+      \ NiTexturingPropertySetTextureCenterOffset
+      \ NiTexturingPropertySetTextureClampMode
+      \ NiTexturingPropertySetTextureCount
+      \ NiTexturingPropertySetTextureFilterMode
+      \ NiTexturingPropertySetTextureFlags
+      \ NiTexturingPropertySetTextureHasTransform
+      \ NiTexturingPropertySetTextureRotation
+      \ NiTexturingPropertySetTextureTiling
+      \ NiTexturingPropertySetTextureTranslation
+      \ NiTexturingPropertySetTextureUVSet
+      \ NiTexturingPropertyTextureHasTransform
+      \ NiVertexColorPropertyGetLightingMode
+      \ NiVertexColorPropertyGetVertexMode
+      \ NiVertexColorPropertySetLightingMode
+      \ NiVertexColorPropertySetVertexMode
+      \ NifClose
+      \ NifGetAltGrip
+      \ NifGetBackShield
+      \ NifGetNumBlocks
+      \ NifGetOffHand
+      \ NifGetOriginalPath
+      \ NifGetPath
+      \ NifOpen
+      \ NifWriteToDisk
+" }}}
+
+" reidFunction {{{
+syn keyword reidFunction
+      \ GetRuntimeEditorID
+" }}}
+
+" runtimeDebuggerFunction {{{
+syn keyword runtimeDebuggerFunction
+      \ DebugBreak
+      \ ToggleDebugBreaking
+" }}}
+
+" addActorValuesFunction {{{
+syn keyword addActorValuesFunction
+      \ DumpActorValueC
+      \ DumpActorValueF
+      \ GetActorValueBaseCalcC
+      \ GetActorValueBaseCalcF
+      \ GetActorValueCurrentC
+      \ GetActorValueCurrentF
+      \ GetActorValueMaxC
+      \ GetActorValueMaxF
+      \ GetActorValueModC
+      \ GetActorValueModF
+      \ ModActorValueModC
+      \ ModActorValueModF
+      \ SetActorValueModC
+      \ SetActorValueModF
+      \ DumpAVC
+      \ DumpAVF
+      \ GetAVModC
+      \ GetAVModF
+      \ ModAVModC
+      \ ModAVModF
+      \ SetAVModC
+      \ SetAVModF
+      \ GetAVBaseCalcC
+      \ GetAVBaseCalcF
+      \ GetAVMaxC
+      \ GetAVMaxF
+      \ GetAVCurrentC
+      \ GetAVCurrent 
+" }}}
+
+" memoryDumperFunction {{{
+syn keyword memoryDumperFunction
+      \ SetDumpAddr
+      \ SetDumpType
+      \ SetFadeAmount
+      \ SetObjectAddr
+      \ ShowMemoryDump
+" }}}
+
+" algoholFunction {{{
+syn keyword algoholFunction
+      \ QFromAxisAngle
+      \ QFromEuler
+      \ QInterpolate
+      \ QMultQuat
+      \ QMultVector3
+      \ QNormalize
+      \ QToEuler
+      \ V3Crossproduct
+      \ V3Length
+      \ V3Normalize
+" }}}
+
+" soundCommandsFunction {{{
+syn keyword soundCommandsFunction
+      \ FadeMusic
+      \ GetEffectsVolume
+      \ GetFootVolume
+      \ GetMasterVolume
+      \ GetMusicVolume
+      \ GetVoiceVolume
+      \ PlayMusicFile
+      \ SetEffectsVolume
+      \ SetFootVolume
+      \ SetMasterVolume
+      \ SetMusicVolume
+      \ SetVoiceVolume
+" }}}
+
+" emcFunction {{{
+syn keyword emcFunction
+      \ emcAddPathToPlaylist
+      \ emcCreatePlaylist
+      \ emcGetAllPlaylists
+      \ emcGetAfterBattleDelay
+      \ emcGetBattleDelay
+      \ emcGetEffectsVolume
+      \ emcGetFadeTime
+      \ emcGetFootVolume
+      \ emcGetMasterVolume
+      \ emcGetMaxRestoreTime
+      \ emcGetMusicSpeed
+      \ emcGetMusicType
+      \ emcGetMusicVolume
+      \ emcGetPauseTime
+      \ emcGetPlaylist
+      \ emcGetPlaylistTracks
+      \ emcGetTrackName
+      \ emcGetTrackDuration
+      \ emcGetTrackPosition
+      \ emcGetVoiceVolume
+      \ emcIsBattleOverridden
+      \ emcIsMusicOnHold
+      \ emcIsMusicSwitching
+      \ emcIsPlaylistActive
+      \ emcMusicNextTrack
+      \ emcMusicPause
+      \ emcMusicRestart
+      \ emcMusicResume
+      \ emcMusicStop
+      \ emcPlaylistExists
+      \ emcPlayTrack
+      \ emcRestorePlaylist
+      \ emcSetAfterBattleDelay
+      \ emcSetBattleDelay
+      \ emcSetBattleOverride
+      \ emcSetEffectsVolume
+      \ emcSetFadeTime
+      \ emcSetFootVolume
+      \ emcSetMasterVolume
+      \ emcSetMaxRestoreTime
+      \ emcSetMusicHold
+      \ emcSetMusicSpeed
+      \ emcSetMusicVolume
+      \ emcSetPauseTime
+      \ emcSetPlaylist
+      \ emcSetTrackPosition
+      \ emcSetMusicType
+      \ emcSetVoiceVolume
+" }}}
+
+" vipcxjFunction {{{
+syn keyword vipcxjFunction
+      \ vcAddMark
+      \ vcGetFilePath
+      \ vcGetHairColorRGB
+      \ vcGetValueNumeric
+      \ vcGetValueString
+      \ vcIsMarked
+      \ vcPrintIni
+      \ vcSetActorState
+      \ vcSetHairColor
+      \ vcSetHairColorRGB
+      \ vcSetHairColorRGB3P
+" }}}
+
+" cameraCommandsFunction {{{
+syn keyword cameraCommandsFunction
+      \ CameraGetRef
+      \ CameraLookAt
+      \ CameraLookAtPosition
+      \ CameraMove
+      \ CameraMoveToPosition
+      \ CameraReset
+      \ CameraRotate
+      \ CameraRotateToPosition
+      \ CameraSetRef
+      \ CameraStopLook
+" }}}
+
+" obmeFunction {{{
+syn keyword obmeFunction
+      \ ClearNthEIBaseCost
+      \ ClearNthEIEffectName
+      \ ClearNthEIHandlerParam
+      \ ClearNthEIHostility
+      \ ClearNthEIIconPath
+      \ ClearNthEIResistAV
+      \ ClearNthEISchool
+      \ ClearNthEIVFXCode
+      \ CreateMgef
+      \ GetMagicEffectHandlerC
+      \ GetMagicEffectHandlerParamC
+      \ GetMagicEffectHostilityC
+      \ GetNthEIBaseCost
+      \ GetNthEIEffectName
+      \ GetNthEIHandlerParam
+      \ GetNthEIHostility
+      \ GetNthEIIconPath
+      \ GetNthEIResistAV
+      \ GetNthEISchool
+      \ GetNthEIVFXCode
+      \ ResolveMgefCode
+      \ SetMagicEffectHandlerC
+      \ SetMagicEffectHandlerIntParamC
+      \ SetMagicEffectHandlerRefParamC
+      \ SetMagicEffectHostilityC
+      \ SetNthEIBaseCost
+      \ SetNthEIEffectName
+      \ SetNthEIHandlerIntParam
+      \ SetNthEIHandlerRefParam
+      \ SetNthEIHostility
+      \ SetNthEIIconPath
+      \ SetNthEIResistAV
+      \ SetNthEISchool
+      \ SetNthEIVFXCode
+" }}}
+
+" conscribeFunction {{{
+syn keyword conscribeFunction
+      \ DeleteLinesFromLog
+      \ GetLogLineCount
+      \ GetRegisteredLogNames
+      \ ReadFromLog
+      \ RegisterLog
+      \ Scribe
+      \ UnregisterLog
+" }}}
+
+" systemDialogFunction {{{
+syn keyword systemDialogFunction
+      \ Sysdlg_Browser
+      \ Sysdlg_ReadBrowser
+      \ Sysdlg_TextInput
+" }}}
+
+" csiFunction {{{
+syn keyword csiFunction
+      \ ClearSpellIcon
+      \ HasAssignedIcon
+      \ OverwriteSpellIcon
+      \ SetSpellIcon
+" }}}
+
+" haelFunction {{{
+syn keyword haelFunction
+      \ GetHUDActiveEffectLimit
+      \ SetHUDActiveEffectLimit
+" }}}
+
+" lcdFunction {{{
+syn keyword lcdFunction
+      \ lcd_addinttobuffer
+      \ lcd_addtexttobuffer
+      \ lcd_clearrect
+      \ lcd_cleartextbuffer
+      \ lcd_close
+      \ lcd_drawcircle
+      \ lcd_drawgrid
+      \ lcd_drawint
+      \ lcd_drawline
+      \ lcd_drawprogressbarh
+      \ lcd_drawprogressbarv
+      \ lcd_drawprogresscircle
+      \ lcd_drawrect
+      \ lcd_drawtext
+      \ lcd_drawtextbuffer
+      \ lcd_drawtexture
+      \ lcd_flush
+      \ lcd_getbuttonstate
+      \ lcd_getheight
+      \ lcd_getwidth
+      \ lcd_ismulti
+      \ lcd_isopen
+      \ lcd_open
+      \ lcd_refresh
+      \ lcd_savebuttonsnapshot
+      \ lcd_scale
+      \ lcd_setfont
+" }}}
+
+" Deprecated: {{{
+syn keyword obDeprecated
+      \ SetAltControl
+      \ GetAltControl
+      \ RefreshControlMap
+" }}}
+" }}}
+
+if !exists("did_obl_inits")
+
+  let did_obl_inits = 1
+  hi def link obseStatement Statement
+  hi def link obseStatementTwo Statement
+  hi def link obseDescBlock String
+  hi def link obseComment Comment
+  hi def link obseString String
+  hi def link obseStringFormatting Keyword
+  hi def link obseFloat Float
+  hi def link obseInt Number
+  hi def link obseToDo Todo
+  hi def link obseTypes Type
+  hi def link obseCondition Conditional
+  hi def link obseOperator Operator
+  hi def link obseOtherKey Special
+  hi def link obseScriptName Special
+  hi def link obseBlock Conditional
+  hi def link obseBlockType Structure
+  hi def link obseScriptNameRegion Underlined
+  hi def link obseNames Identifier
+  hi def link obseVariable Identifier
+  hi def link obseReference Special
+  hi def link obseRepeat Repeat
+
+  hi def link csFunction Function
+  hi def link obseFunction Function
+  hi def link obseArrayFunction Function
+  hi def link pluggyFunction Function
+  hi def link obseStringFunction Function
+  hi def link obseArrayFunction Function
+  hi def link tsfcFunction Function
+  hi def link blockheadFunction Function
+  hi def link switchNightEyeShaderFunction Function
+  hi def link obseivionReloadedFunction Function
+  hi def link menuQueFunction Function
+  hi def link eaxFunction Function
+  hi def link networkPipeFunction Function
+  hi def link nifseFunction Function
+  hi def link reidFunction Function
+  hi def link runtimeDebuggerFunction Function
+  hi def link addActorValuesFunction Function
+  hi def link memoryDumperFunction Function
+  hi def link algoholFunction Function
+  hi def link soundCommandsFunction Function
+  hi def link emcFunction Function
+  hi def link vipcxjFunction Function
+  hi def link cameraCommands Function
+  hi def link obmeFunction Function
+  hi def link conscribeFunction Function
+  hi def link systemDialogFunction Function
+  hi def link csiFunction Function
+  hi def link haelFunction Function
+  hi def link lcdFunction Function
+  hi def link skillAttribute String
+  hi def link obDeprecated WarningMsg
+
+endif
+
+let b:current_syntax = 'obse'
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/syntax/swayconfig.vim
+++ b/runtime/syntax/swayconfig.vim
@@ -2,7 +2,8 @@
 " Language: sway window manager config
 " Original Author: James Eapen <james.eapen@vai.org>
 " Maintainer: James Eapen <james.eapen@vai.org>
-" Version: 0.11.1
+" Version: 0.1.6
+" Reference version (jamespeapen/swayconfig.vim): 0.11.6
 " Last Change: 2022 Aug 08
 
 " References:
@@ -23,10 +24,6 @@ scriptencoding utf-8
 " Error
 "syn match swayConfigError /.*/
 
-" Group mode/bar
-syn keyword swayConfigBlockKeyword set input contained
-syn region swayConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,swayConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
-
 " binding
 syn keyword swayConfigBindKeyword bindswitch bindgesture contained
 syn match swayConfigBind /^\s*\(bindswitch\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,swayConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigNumber,i3ConfigUnit,i3ConfigUnitOr,i3ConfigBindArgument,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword,i3ConfigBorderStyleKeyword
@@ -45,7 +42,7 @@ syn match swayConfigFloating /^\s*floati
 
 syn clear i3ConfigFloatingModifier
 syn keyword swayConfigFloatingModifier floating_modifier contained
-syn match swayConfigFloatingMouseAction /^\s\?.*floating_modifier\s.*\(normal\|inverted\)$/ contains=swayConfigFloatingModifier,i3ConfigVariable
+syn match swayConfigFloatingMouseAction /^\s\?.*floating_modifier\s\S\+\s\?\(normal\|inverted\|none\)\?$/ contains=swayConfigFloatingModifier,i3ConfigVariable
 
 " Gaps
 syn clear i3ConfigSmartBorderKeyword
@@ -57,6 +54,10 @@ syn match swayConfigSmartBorder /^\s*sma
 syn keyword swayConfigClientColorKeyword focused_tab_title contained
 syn match swayConfigClientColor /^\s*client.\w\+\s\+.*$/ contains=i3ConfigClientColorKeyword,i3ConfigColor,i3ConfigVariable,i3ConfigClientColorKeyword,swayConfigClientColorKeyword
 
+" Input config
+syn keyword swayConfigInputKeyword input contained
+syn match swayConfigInput /^\s*input\s\+.*$/ contains=swayConfigInputKeyword
+
 " set display outputs
 syn match swayConfigOutput /^\s*output\s\+.*$/ contains=i3ConfigOutput
 
@@ -65,21 +66,34 @@ syn keyword swayConfigFocusKeyword focus
 syn keyword swayConfigFocusType output contained
 syn match swayConfigFocus /^\s*focus\soutput\s.*$/ contains=swayConfigFocusKeyword,swayConfigFocusType
 
+" focus follows mouse
+syn clear i3ConfigFocusFollowsMouseType
+syn clear i3ConfigFocusFollowsMouse
+
+syn keyword swayConfigFocusFollowsMouseType yes no always contained
+syn match swayConfigFocusFollowsMouse /^\s*focus_follows_mouse\s\+\(yes\|no\|always\)\s\?$/ contains=i3ConfigFocusFollowsMouseKeyword,swayConfigFocusFollowsMouseType
+
+
 " xwayland 
 syn keyword swayConfigXwaylandKeyword xwayland contained
 syn match swayConfigXwaylandModifier /^\s*xwayland\s\+\(enable\|disable\|force\)\s\?$/ contains=swayConfigXwaylandKeyword
 
+" Group mode/bar
+syn clear i3ConfigBlock
+syn region swayConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigInitializeKeyword,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable,swayConfigInputKeyword,i3ConfigOutput transparent keepend extend
+
 "hi def link swayConfigError                         Error
 hi def link i3ConfigFloating                        Error
 hi def link swayConfigFloating                      Type
 hi def link swayConfigFloatingMouseAction           Type
 hi def link swayConfigFocusKeyword                  Type
 hi def link swayConfigSmartBorderKeyword            Type
+hi def link swayConfigInputKeyword                  Type
+hi def link swayConfigFocusFollowsMouseType         Type
 hi def link swayConfigBindGestureCommand            Identifier
 hi def link swayConfigBindGestureDirection          Constant
 hi def link swayConfigBindGesturePinchDirection     Constant
 hi def link swayConfigBindKeyword                   Identifier
-hi def link swayConfigBlockKeyword                  Identifier
 hi def link swayConfigClientColorKeyword            Identifier
 hi def link swayConfigFloatingKeyword               Identifier
 hi def link swayConfigFloatingModifier              Identifier