       \t\t${10:// your code here}
       }$11
     """
+    leftLabelHTML: "<span class='syntax--support function'>#</span>"
+    prefix: 'switch():4'
   'switch():5':
-    'prefix': 'switch():5'
-    'body': """
+    body: """
       switch(\$${1:variable}) {
       \tcase ${2:value1}:
       \t\t${3:// your code here}

'.source.nsl':
  '#define':
    'prefix': 'define'
    'body': '#define ${1:gflag}$2'
  '#if..#else':
    'prefix': 'if..#else'
    'body': """
      #if
      \t${1:// your code here}
      #else
      \t${2:// your code here}
      #ifend$3
    """
  '#if':
    'prefix': 'if'
    'body': """
      #if
      \t${1:// your code here}
      #ifend$2
    """
  '#macro':
    'prefix': 'macro'
    'body': """
      #macro
      \t${1:// your code here}
      #macroend$2
    """
  '#nsis':
    'prefix': 'nsis'
    'body': """
      #nsis
      \t${1:# your code here}
      #nsisend$2
    """
  'Abort()':
    'prefix': 'Abort()'
    'body': 'Abort(${1});$2'
  'AddBrandingImage()':
    'prefix': 'AddBrandingImage()'
    'body': 'AddBrandingImage(${1});$2'
  'AddIncludeDir()':
    'prefix': 'AddIncludeDir()'
    'body': 'AddIncludeDir(${1});$2'
  'AddPluginDir()':
    'prefix': 'AddPluginDir()'
    'body': 'AddPluginDir(${1});$2'
  'AddSize()':
    'prefix': 'AddSize()'
    'body': 'AddSize(${1});$2'
  'AllowRootDirInstall()':
    'prefix': 'AllowRootDirInstall()'
    'body': 'AllowRootDirInstall(${1});$2'
  'AllowRootDirInstall(false)':
    'prefix': 'AllowRootDirInstall(false)'
    'body': 'AllowRootDirInstall(false);$2'
  'AllowRootDirInstall(true)':
    'prefix': 'AllowRootDirInstall(true)'
    'body': 'AllowRootDirInstall(true);$2'
  'AllowSkipFiles()':
    'prefix': 'AllowSkipFiles()'
    'body': 'AllowSkipFiles(${1});$2'
  'AllowSkipFiles(off)':
    'prefix': 'AllowSkipFiles(off)'
    'body': 'AllowSkipFiles(off);$2'
  'AllowSkipFiles(on)':
    'prefix': 'AllowSkipFiles(on)'
    'body': 'AllowSkipFiles(on);$2'
  'AutoCloseWindow()':
    'prefix': 'AutoCloseWindow()'
    'body': 'AutoCloseWindow(${1});$2'
  'AutoCloseWindow(false)':
    'prefix': 'AutoCloseWindow(false)'
    'body': 'AutoCloseWindow("false");$2'
  'AutoCloseWindow(true)':
    'prefix': 'AutoCloseWindow(true)'
    'body': 'AutoCloseWindow("true");$2'
  'BGFont()':
    'prefix': 'BGFont()'
    'body': 'BGFont(${1});$2'
  'BGGradient()':
    'prefix': 'BGGradient()'
    'body': 'BGGradient(${1});$2'
  'BrandingText()':
    'prefix': 'BrandingText()'
    'body': 'BrandingText(${1});$2'
  'BringToFront()':
    'prefix': 'BringToFront()'
    'body': 'BringToFront(${1});$2'
  'Call()':
    'prefix': 'Call()'
    'body': 'Call(${1});$2'
  'Caption()':
    'prefix': 'Caption()'
    'body': 'Caption("${1:caption}");$2'
  'case':
    'prefix': 'case'
    'body': """
      case ${1:value}:
      \t${2:// your code here}
    """
  'ChangeUI()':
    'prefix': 'ChangeUI()'
    'body': 'ChangeUI(${1});$2'
  'CheckBitmap()':
    'prefix': 'CheckBitmap()'
    'body': 'CheckBitmap(${1});$2'
  'ClearErrors()':
    'prefix': 'ClearErrors()'
    'body': 'ClearErrors(${1});$2'
  'CompletedText()':
    'prefix': 'CompletedText()'
    'body': 'CompletedText(${1});$2'
  'ComponentText()':
    'prefix': 'ComponentText()'
    'body': 'ComponentText(${1});$2'
  'CopyFiles()':
    'prefix': 'CopyFiles()'
    'body': 'CopyFiles(${1});$2'
  'CRCCheck()':
    'prefix': 'CRCCheck()'
    'body': 'CRCCheck(${1});$2'
  'CreateDirectory()':
    'prefix': 'CreateDirectory()'
    'body': 'CreateDirectory(${1});$2'
  'CreateFont()':
    'prefix': 'CreateFont()'
    'body': 'CreateFont(${1});$2'
  'CreateShortCut()':
    'prefix': 'CreateShortCut()'
    'body': 'CreateShortCut(${1});$2'
  'Delete()':
    'prefix': 'Delete()'
    'body': 'Delete(${1});$2'
  'DeleteINISec()':
    'prefix': 'DeleteINISec()'
    'body': 'DeleteINISec(${1});$2'
  'DeleteINIStr()':
    'prefix': 'DeleteINIStr()'
    'body': 'DeleteINIStr(${1});$2'
  'DeleteRegKey()':
    'prefix': 'DeleteRegKey()'
    'body': 'DeleteRegKey(${1});$2'
  'DeleteRegValue()':
    'prefix': 'DeleteRegValue()'
    'body': 'DeleteRegValue(${1});$2'
  'DetailPrint()':
    'prefix': 'DetailPrint()'
    'body': 'DetailPrint(${1});$2'
  'DetailsButtonText()':
    'prefix': 'DetailsButtonText()'
    'body': 'DetailsButtonText(${1});$2'
  'DirText()':
    'prefix': 'DirText()'
    'body': 'DirText(${1});$2'
  'DirVar()':
    'prefix': 'DirVar()'
    'body': 'DirVar(${1});$2'
  'DirVerify()':
    'prefix': 'DirVerify()'
    'body': 'DirVerify(${1});$2'
  'EnableWindow()':
    'prefix': 'EnableWindow()'
    'body': 'EnableWindow(${1});$2'
  'EnumRegKey()':
    'prefix': 'EnumRegKey()'
    'body': 'EnumRegKey(${1});$2'
  'EnumRegValue()':
    'prefix': 'EnumRegValue()'
    'body': 'EnumRegValue(${1});$2'
  'Exch()':
    'prefix': 'Exch()'
    'body': 'Exch(${1});$2'
  'Exec()':
    'prefix': 'Exec()'
    'body': 'Exec(${1});$2'
  'ExecShell()':
    'prefix': 'ExecShell()'
    'body': 'ExecShell(${1});$2'
  'ExecWait()':
    'prefix': 'ExecWait()'
    'body': 'ExecWait(${1});$2'
  'ExpandEnvStrings()':
    'prefix': 'ExpandEnvStrings()'
    'body': 'ExpandEnvStrings(${1});$2'
  'File()':
    'prefix': 'File()'
    'body': 'File(${1});$2'
  'FileBufSize()':
    'prefix': 'FileBufSize()'
    'body': 'FileBufSize(${1});$2'
  'FileClose()':
    'prefix': 'FileClose()'
    'body': 'FileClose(${1});$2'
  'FileErrorText()':
    'prefix': 'FileErrorText()'
    'body': 'FileErrorText(${1});$2'
  'FileOpen()':
    'prefix': 'FileOpen()'
    'body': 'FileOpen(${1});$2'
  'FileRead()':
    'prefix': 'FileRead()'
    'body': 'FileRead(${1});$2'
  'FileReadByte()':
    'prefix': 'FileReadByte()'
    'body': 'FileReadByte(${1});$2'
  'FileRecursive()':
    'prefix': 'FileRecursive()'
    'body': 'FileRecursive(${1});$2'
  'FileSeek()':
    'prefix': 'FileSeek()'
    'body': 'FileSeek(${1});$2'
  'FileWrite()':
    'prefix': 'FileWrite()'
    'body': 'FileWrite(${1});$2'
  'FileWriteByte()':
    'prefix': 'FileWriteByte()'
    'body': 'FileWriteByte(${1});$2'
  'FindClose()':
    'prefix': 'FindClose()'
    'body': 'FindClose(${1});$2'
  'FindFirst()':
    'prefix': 'FindFirst()'
    'body': 'FindFirst(${1});$2'
  'FindNext()':
    'prefix': 'FindNext()'
    'body': 'FindNext(${1});$2'
  'FindWindow()':
    'prefix': 'FindWindow()'
    'body': 'FindWindow(${1});$2'
  'FlushINI()':
    'prefix': 'FlushINI()'
    'body': 'FlushINI(${1});$2'
  'for()':
    'prefix': 'for()'
    'body': """
      for(${1:condition}) {
      \t${2:// your code here}
      }
    """
  'function()':
    'prefix': 'function()'
    'body': """
      function ${1:function_name}(${2}) {
      \t${3:// your code here}
      }
    """
  'GetCurInstType()':
    'prefix': 'GetCurInstType()'
    'body': 'GetCurInstType(${1});$2'
  'GetCurrentAddress()':
    'prefix': 'GetCurrentAddress()'
    'body': 'GetCurrentAddress(${1});$2'
  'GetDlgItem()':
    'prefix': 'GetDlgItem()'
    'body': 'GetDlgItem(${1});$2'
  'GetDLLVersion()':
    'prefix': 'GetDLLVersion()'
    'body': 'GetDLLVersion(${1});$2'
  'GetDLLVersionLocal()':
    'prefix': 'GetDLLVersionLocal()'
    'body': 'GetDLLVersionLocal(${1});$2'
  'GetErrorLevel()':
    'prefix': 'GetErrorLevel()'
    'body': 'GetErrorLevel(${1});$2'
  'GetFileTime()':
    'prefix': 'GetFileTime()'
    'body': 'GetFileTime(${1});$2'
  'GetFileTimeLocal()':
    'prefix': 'GetFileTimeLocal()'
    'body': 'GetFileTimeLocal(${1});$2'
  'GetFunctionAddress()':
    'prefix': 'GetFunctionAddress()'
    'body': 'GetFunctionAddress(${1});$2'
  'GetInstDirError()':
    'prefix': 'GetInstDirError()'
    'body': 'GetInstDirError(${1});$2'
  'GetLabelAddress()':
    'prefix': 'GetLabelAddress()'
    'body': 'GetLabelAddress(${1});$2'
  'GetTempFileName()':
    'prefix': 'GetTempFileName()'
    'body': 'GetTempFileName(${1});$2'
  'HideWindow()':
    'prefix': 'HideWindow()'
    'body': 'HideWindow(${1});$2'
  'Icon()':
    'prefix': 'Icon()'
    'body': 'Icon(${1});$2'
  'if()..else':
    'prefix': 'if()..else'
    'body': """
      if (${1:condition}) {
      \t${2:// your code here}
      } else {
      \t${3:// your code here}
      }
    """
  'if()..else if()..else':
    'prefix': 'if()..else if()..else'
    'body': """
      if (${1:condition}) {
      \t${2:// your code here}
      } else if (${3:condition}) {

      \t\t${12:// your code here}
      }$13
    """
    leftLabelHTML: "<span class='syntax--support function'>#</span>"
    prefix: 'switch():5'
  'un.onGUIEnd()':
    body: """
      function un.onGUIEnd(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onGUIEnd()'
  'un.onGUIInit()':
    body: """
      function un.onGUIInit(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onGUIInit()'
  'un.onInit()':
    body: """
      function un.onInit(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onInit()'
  'un.onRebootFailed()':
    body: """
      function un.onRebootFailed(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onRebootFailed()'
  'un.onSelChange()':
    body: """
      function un.onSelChange(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onSelChange()'
  'un.onUninstFailed()':
    body: """
      function un.onUninstFailed(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onUninstFailed()'
  'un.onUninstSuccess()':
    body: """
      function un.onUninstSuccess(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onUninstSuccess()'
  'un.onUserAbort¡()':
    body: """
      function un.onUserAbort(${1}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name function'>E</span>"
    prefix: 'un.onUserAbort¡()'
  'uninstall page Components()':
    body: """
      uninstall page Components(${1:function}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name section'>E</span>"
    prefix: 'uninstall page Components()'
  'uninstall page Directory()':
    body: """
      uninstall page Directory(${1:function}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name section'>E</span>"
    prefix: 'uninstall page Directory()'
  'uninstall page InstFiles()':
    body: """
      uninstall page InstFiles(${1:function}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name section'>E</span>"
    prefix: 'uninstall page InstFiles()'
  'uninstall page License()':
    body: """
      uninstall page License(${1:function}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name section'>E</span>"
    prefix: 'uninstall page License()'
  'uninstall page uninstConfirm()':
    body: """
      uninstall page uninstConfirm(${1:function}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--entity name section'>E</span>"
    prefix: 'uninstall page uninstConfirm()'
  'UninstallButtonText()':
    body: 'UninstallButtonText("${1:text}");$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'UninstallButtonText()'
  'UninstallCaption()':
    body: 'UninstallCaption("${1:caption}");$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'UninstallCaption()'
  'UninstallIcon()':
    body: 'UninstallIcon(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'UninstallIcon()'
  'UninstallSubCaption()':
    body: 'UninstallSubCaption(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'UninstallSubCaption()'
  'UninstallText()':
    body: 'UninstallText("${1:text}"${2:, "${3:subtext}"});$4'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'UninstallText()'
  'UnRegDLL()':
    body: 'UnRegDLL(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'UnRegDLL()'
  'VIAddVersionKey()':
    body: 'VIAddVersionKey(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'VIAddVersionKey()'
  'VIProductVersion()':
    body: 'VIProductVersion(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'VIProductVersion()'
  'while()':
    body: """
      while(${1:condition}) {
      \t${2:// your code here}
      }$3
    """
    leftLabelHTML: "<span class='syntax--support function'>#</span>"
    prefix: 'while()'
  'WindowIcon()':
    body: 'WindowIcon(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WindowIcon()'
  'WindowIcon(off)':
    body: 'WindowIcon("off");$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WindowIcon(off)'
  'WindowIcon(on)':
    body: 'WindowIcon("on");$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WindowIcon(on)'
  'WriteINIStr()':
    body: 'WriteINIStr(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WriteINIStr()'
  'WriteRegBin()':
    body: 'WriteRegBin(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WriteRegBin()'
  'WriteRegDWORD()':
    body: 'WriteRegDWORD(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WriteRegDWORD()'
  'WriteRegExpandStr()':
    body: 'WriteRegExpandStr(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WriteRegExpandStr()'
  'WriteRegStr()':
    body: 'WriteRegStr(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WriteRegStr()'
  'WriteUninstaller()':
    body: 'WriteUninstaller(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'WriteUninstaller()'
  'XPStyle()':
    body: 'XPStyle(${1});$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'XPStyle()'
  'XPStyle(off)':
    body: 'XPStyle("off");$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'XPStyle(off)'
  'XPStyle(on)':
    body: 'XPStyle("on");$2'
    leftLabelHTML: "<span class='syntax--keyword'>K</span>"
    prefix: 'XPStyle(on)'
