Update runtime files
diff --git a/runtime/syntax/arduino.vim b/runtime/syntax/arduino.vim
index 4a4ef82..1c9618f 100644
--- a/runtime/syntax/arduino.vim
+++ b/runtime/syntax/arduino.vim
@@ -1,50 +1,79 @@
 " Vim syntax file
 " Language:    Arduino
 " Maintainer:  Johannes Hoff <johannes@johanneshoff.com>
-" Last Change: 2011 June 3
+" Last Change: 21 October 2021
 " License:     VIM license (:help license, replace vim by arduino.vim)
 
 " Syntax highlighting like in the Arduino IDE
-" Keywords extracted from <arduino>/build/shared/lib/keywords.txt (arduino
-" version 0021)
+" Automatically generated by the script available at
+"    https://bitbucket.org/johannes/arduino-vim-syntax
+" Using keywords from <arduino>/build/shared/lib/keywords.txt
+" From version: 1.8.16
 
-" Thanks to Rik, Erik Nomitch, Adam Obeng and Graeme Cross for helpful feedback!
+" Thanks to Rik, Erik Nomitch, Adam Obeng, Graeme Cross and Niall Parker
+" for helpful feedback!
 
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
   finish
 endif
 
 " Read the C syntax to start with
-runtime! syntax/cpp.vim
+if version < 600
+  so <sfile>:p:h/cpp.vim
+else
+  runtime! syntax/cpp.vim
+endif
 
-syn keyword arduinoConstant HIGH LOW INPUT OUTPUT
-syn keyword arduinoConstant DEC BIN HEX OCT BYTE
-syn keyword arduinoConstant PI HALF_PI TWO_PI
-syn keyword arduinoConstant LSBFIRST MSBFIRST 
-syn keyword arduinoConstant CHANGE FALLING RISING 
-syn keyword arduinoConstant SERIAL DISPLAY
-syn keyword arduinoConstant DEFAULT EXTERNAL INTERNAL INTERNAL1V1 INTERNAL2V56
+syn keyword arduinoConstant  BIN CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI HEX
+syn keyword arduinoConstant  HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1
+syn keyword arduinoConstant  INTERNAL2V56 LED_BUILTIN LED_BUILTIN_RX
+syn keyword arduinoConstant  LED_BUILTIN_TX LOW LSBFIRST MSBFIRST OCT OUTPUT PI
+syn keyword arduinoConstant  RISING TWO_PI
 
-syn keyword arduinoStdFunc abs acos asin atan atan2 ceil constrain
-syn keyword arduinoStdFunc cos degrees exp floor log
-syn keyword arduinoStdFunc map max min pow radians 
-syn keyword arduinoStdFunc round sin sq sqrt tan
-syn keyword arduinoStdFunc randomSeed random
+syn keyword arduinoFunc      analogRead analogReadResolution analogReference
+syn keyword arduinoFunc      analogWrite analogWriteResolution attachInterrupt
+syn keyword arduinoFunc      bit bitClear bitRead bitSet bitWrite delay
+syn keyword arduinoFunc      delayMicroseconds detachInterrupt
+syn keyword arduinoFunc      digitalPinToInterrupt digitalRead digitalWrite
+syn keyword arduinoFunc      highByte interrupts lowByte micros millis
+syn keyword arduinoFunc      noInterrupts noTone pinMode pulseIn pulseInLong
+syn keyword arduinoFunc      shiftIn shiftOut tone yield
 
-syn keyword arduinoFunc analogReference analogRead analogWrite 
-syn keyword arduinoFunc attachInterrupt detachInterrupt interrupts noInterrupts 
-syn keyword arduinoFunc lowByte highByte bitRead bitWrite bitSet bitClear
-syn keyword arduinoFunc millis micros delay delayMicroseconds 
-syn keyword arduinoFunc pinMode digitalWrite digitalRead 
-syn keyword arduinoFunc tone noTone pulseIn shiftOut 
+syn keyword arduinoMethod    available availableForWrite begin charAt compareTo
+syn keyword arduinoMethod    concat end endsWith equals equalsIgnoreCase export
+syn keyword arduinoMethod    final find findUntil flush getBytes indexOf
+syn keyword arduinoMethod    lastIndexOf length loop override parseFloat
+syn keyword arduinoMethod    parseInt peek print println read readBytes
+syn keyword arduinoMethod    readBytesUntil readString readStringUntil replace
+syn keyword arduinoMethod    setCharAt setTimeout setup startsWith Stream
+syn keyword arduinoMethod    substring toCharArray toInt toLowerCase toUpperCase
+syn keyword arduinoMethod    trim
 
-syn keyword arduinoMethod setup loop
-syn keyword arduinoMethod begin end available read flush print println write peek
+syn keyword arduinoModule    Keyboard Mouse Serial Serial1 Serial2 Serial3
+syn keyword arduinoModule    SerialUSB
 
-syn keyword arduinoType boolean byte word String 
+syn keyword arduinoStdFunc   abs accept acos acosf asin asinf atan atan2 atan2f
+syn keyword arduinoStdFunc   atanf cbrt cbrtf ceil ceilf click constrain
+syn keyword arduinoStdFunc   copysign copysignf cos cosf cosh coshf degrees exp
+syn keyword arduinoStdFunc   expf fabs fabsf fdim fdimf floor floorf fma fmaf
+syn keyword arduinoStdFunc   fmax fmaxf fmin fminf fmod fmodf hypot hypotf
+syn keyword arduinoStdFunc   isfinite isinf isnan isPressed ldexp ldexpf log
+syn keyword arduinoStdFunc   log10 log10f logf lrint lrintf lround lroundf map
+syn keyword arduinoStdFunc   max min move pow powf press radians random
+syn keyword arduinoStdFunc   randomSeed release releaseAll round roundf signbit
+syn keyword arduinoStdFunc   sin sinf sinh sinhf sq sqrt sqrtf tan tanf tanh
+syn keyword arduinoStdFunc   tanhf trunc truncf
 
-syn keyword arduinoModule Serial Serial1 Serial2 Serial3
+syn keyword arduinoType      _Bool _Complex _Imaginary array atomic_bool
+syn keyword arduinoType      atomic_char atomic_int atomic_llong atomic_long
+syn keyword arduinoType      atomic_schar atomic_short atomic_uchar atomic_uint
+syn keyword arduinoType      atomic_ullong atomic_ulong atomic_ushort boolean
+syn keyword arduinoType      byte char16_t char32_t complex NULL null PROGMEM
+syn keyword arduinoType      String word
 
 hi def link arduinoType Type
 hi def link arduinoConstant Constant
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index 93b03ae..79352c0 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2021 Aug 03
+" Last Change: 2021 Oct 19
 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -24,7 +24,8 @@
       \ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
       \ 'trixie', 'sid', 'rc-buggy',
       \
-      \ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'devel'
+      \ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'jammy',
+      \ 'devel'
       \ ]
 let s:unsupported = [
       \ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 8aa96fc..4b4c497 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2021 Aug 03
+" Last Change: 2021 Oct 19
 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -26,7 +26,8 @@
       \ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
       \ 'trixie', 'sid', 'rc-buggy',
       \
-      \ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'devel'
+      \ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'jammy',
+      \ 'devel'
       \ ]
 let s:unsupported = [
       \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
diff --git a/runtime/syntax/nsis.vim b/runtime/syntax/nsis.vim
index 3389771..3a73fe0 100644
--- a/runtime/syntax/nsis.vim
+++ b/runtime/syntax/nsis.vim
@@ -1,9 +1,9 @@
 " Vim syntax file
-" Language:		NSIS script, for version of NSIS 3.03 and later
+" Language:		NSIS script, for version of NSIS 3.08 and later
 " Maintainer:		Ken Takata
 " URL:			https://github.com/k-takata/vim-nsis
 " Previous Maintainer:	Alex Jakushev <Alex.Jakushev@kemek.lt>
-" Last Change:		2018-10-02
+" Last Change:		2020-10-18
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -97,6 +97,8 @@
 syn match nsisSysVar		"$CDBURN_AREA"
 syn match nsisSysVar		"$HWNDPARENT"
 syn match nsisSysVar		"$PLUGINSDIR"
+syn match nsisSysVar		"$\%(USERTEMPLATES\|USERSTARTMENU\|USERSMPROGRAMS\|USERDESKTOP\)"
+syn match nsisSysVar		"$\%(COMMONTEMPLATES\|COMMONSTARTMENU\|COMMONSMPROGRAMS\|COMMONDESKTOP\|COMMONPROGRAMDATA\)"
 syn match nsisSysVar		"$\\r"
 syn match nsisSysVar		"$\\n"
 syn match nsisSysVar		"$\\t"
@@ -149,7 +151,7 @@
 syn region nsisSectionOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionKwd
 syn match nsisSectionKwd	contained "/o\>"
 
-syn keyword nsisStatement	contained SectionIn nextgroup=nsisSectionInOpt skipwhite
+syn keyword nsisStatement	contained SectionInstType SectionIn nextgroup=nsisSectionInOpt skipwhite
 syn region nsisSectionInOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionInKwd
 syn keyword nsisSectionInKwd	contained RO
 
@@ -269,10 +271,22 @@
 syn region nsisManifestDPIAwareOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestDPIAwareKwd
 syn keyword nsisManifestDPIAwareKwd	contained notset true false
 
+syn keyword nsisAttribute	contained ManifestLongPathAware nextgroup=nsisManifestLongPathAwareOpt skipwhite
+syn region nsisManifestLongPathAwareOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestLongPathAwareKwd
+syn match nsisManifestLongPathAwareKwd	contained "\<\%(notset\|true\|false\)\>"
+
 syn keyword nsisAttribute	contained ManifestSupportedOS nextgroup=nsisManifestSupportedOSOpt skipwhite
 syn region nsisManifestSupportedOSOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestSupportedOSKwd
 syn match nsisManifestSupportedOSKwd	contained "\<\%(none\|all\|WinVista\|Win7\|Win8\|Win8\.1\|Win10\)\>"
 
+syn keyword nsisAttribute	contained PEAddResource nextgroup=nsisPEAddResourceOpt skipwhite
+syn region nsisPEAddResourceOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPEAddResourceKwd
+syn match nsisPEAddResourceKwd	contained "/\%(OVERWRITE\|REPLACE\)\>"
+
+syn keyword nsisAttribute	contained PERemoveResource nextgroup=nsisPERemoveResourceOpt skipwhite
+syn region nsisPERemoveResourceOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPERemoveResourceKwd
+syn match nsisPERemoveResourceKwd	contained "/NOERRORS\>"
+
 syn keyword nsisAttribute	contained RequestExecutionLevel nextgroup=nsisRequestExecutionLevelOpt skipwhite
 syn region nsisRequestExecutionLevelOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRequestExecutionLevelKwd
 syn keyword nsisRequestExecutionLevelKwd contained none user highest admin
@@ -353,7 +367,7 @@
 
 syn keyword nsisInstruction	contained DeleteRegKey nextgroup=nsisDeleteRegKeyOpt skipwhite
 syn region nsisDeleteRegKeyOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteRegKeyKwd,nsisRegistry
-syn match nsisDeleteRegKeyKwd	contained "/ifempty\>"
+syn match nsisDeleteRegKeyKwd	contained "/\%(ifempty\|ifnosubkeys\|ifnovalues\)\>"
 
 syn keyword nsisInstruction	contained nextgroup=nsisRegistryOpt skipwhite
 			\ DeleteRegValue EnumRegKey EnumRegValue ReadRegDWORD ReadRegStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr
@@ -368,8 +382,8 @@
 syn keyword nsisSetRegViewKwd	contained default lastused
 
 "FUNCTIONS - general purpose (4.9.3)
-syn keyword nsisInstruction	contained CallInstDLL CreateDirectory GetDLLVersion
-syn keyword nsisInstruction	contained GetDLLVersionLocal GetFileTime GetFileTimeLocal
+syn keyword nsisInstruction	contained CallInstDLL CreateDirectory GetWinVer
+syn keyword nsisInstruction	contained GetFileTime GetFileTimeLocal GetKnownFolderPath
 syn keyword nsisInstruction	contained GetTempFileName SearchPath RegDLL UnRegDLL
 
 syn keyword nsisInstruction	contained CopyFiles nextgroup=nsisCopyFilesOpt skipwhite
@@ -380,6 +394,10 @@
 syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd
 syn match nsisCreateShortcutKwd	 contained "/NoWorkingDir\>"
 
+syn keyword nsisInstruction	contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite
+syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd
+syn match nsisGetDLLVersionKwd	 contained "/ProductVersion\>"
+
 syn keyword nsisInstruction	contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite
 syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd
 syn match nsisGetFullPathNameKwd  contained "/SHORT\>"
@@ -395,6 +413,7 @@
 syn keyword nsisInstruction	contained Abort Call ClearErrors GetCurrentAddress
 syn keyword nsisInstruction	contained GetFunctionAddress GetLabelAddress Goto
 syn keyword nsisInstruction	contained IfAbort IfErrors IfFileExists IfRebootFlag IfSilent
+syn keyword nsisInstruction	contained IfShellVarContextAll IfRtlLanguage
 syn keyword nsisInstruction	contained IntCmp IntCmpU Int64Cmp Int64CmpU IntPtrCmp IntPtrCmpU
 syn keyword nsisInstruction	contained Return Quit SetErrors StrCmp StrCmpS
 
@@ -460,6 +479,10 @@
 syn keyword nsisInstruction	contained nextgroup=nsisBooleanOpt skipwhite
 			\ LockWindow SetAutoClose
 
+syn keyword nsisInstruction	contained LoadAndSetImage nextgroup=nsisLoadAndSetImageOpt skipwhite
+syn region nsisLoadAndSetImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLoadAndSetImageKwd
+syn match nsisLoadAndSetImageKwd  contained "/\%(EXERESOURCE\|STRINGID\|RESIZETOFIT\%(WIDTH\|HEIGHT\)\)\>"
+
 syn keyword nsisInstruction	contained SendMessage nextgroup=nsisSendMessageOpt skipwhite
 syn region nsisSendMessageOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSendMessageKwd
 syn match nsisSendMessageKwd	contained "/TIMEOUT\>"
@@ -556,7 +579,7 @@
 "PREPROCESSOR (5.4)
 syn match nsisDefine		contained "!define\>" nextgroup=nsisDefineOpt skipwhite
 syn region nsisDefineOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd
-syn match nsisDefineKwd		contained "/\%(ifndef\|redef\|date\|utcdate\|math\|file\)\>"
+syn match nsisDefineKwd		contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>"
 
 syn match nsisDefine		contained "!undef\>"
 syn match nsisPreCondit		contained "!ifdef\>"
@@ -615,7 +638,10 @@
 hi def link nsisLicenseBkColorKwd	Constant
 hi def link nsisLicenseForceSelectionKwd Constant
 hi def link nsisManifestDPIAwareKwd	Constant
+hi def link nsisManifestLongPathAwareKwd Constant
 hi def link nsisManifestSupportedOSKwd	Constant
+hi def link nsisPEAddResourceKwd	Constant
+hi def link nsisPERemoveResourceKwd	Constant
 hi def link nsisRequestExecutionLevelKwd Constant
 hi def link nsisShowInstDetailsKwd	Constant
 hi def link nsisSilentInstallKwd	Constant
@@ -633,11 +659,13 @@
 hi def link nsisSetRegViewKwd		Constant
 hi def link nsisCopyFilesKwd		Constant
 hi def link nsisCreateShortcutKwd	Constant
+hi def link nsisGetDLLVersionKwd	Constant
 hi def link nsisGetFullPathNameKwd	Constant
 hi def link nsisFileAttrib		Constant
 hi def link nsisMessageBox		Constant
 hi def link nsisFileWriteUTF16LEKwd	Constant
 hi def link nsisSetShellVarContextKwd	Constant
+hi def link nsisLoadAndSetImageKwd	Constant
 hi def link nsisSendMessageKwd		Constant
 hi def link nsisSetBrandingImageKwd	Constant
 hi def link nsisSetDetailsViewKwd	Constant