lisp/nsis-mode.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 29 Jan 2010 13:23:30 +0200
changeset 282 a119108fd2ca
parent 281 457b9057a35a
child 283 d80322acbbce
permissions -rw-r--r--
Added comment pattern.

;;; iar-linker-config-mode.el --- major mode for highlighting NSIS scripts

;; Copyright (C) 2009, 2010 by Oleksandr Gavenko <gavenkoa@gmail.com>

;; You can do anything with this file without any warranty.

;; Author: Oleksandr Gavenko <gavenkoa@gmail.com>
;; Maintainer: Oleksandr Gavenko <gavenkoa@gmail.com>
;; Created: 2009-09-14
;; Version: 0.1
;; Keywords: languages

;;; Commentary:
;;
;; Very pure syntax highlighting.

;;; Code:

;;;###autoload
(define-generic-mode 'nsis-mode
  (list ?\; ?\# '("/*" . "*/"))
  '(
    "Section" "SectionEnd" "Function" "FunctionEnd" "File"
    "Name" "ShowInstDetails" "ComponentText" "Caption"
    "LicenseData" "BrandingText"
    "Exec" "ExecWait" "ExecShell" "Goto" "Call" "Return" "Abort" "Quit" "Reboot"
    "Page" "UninstPage" "PageEx" "PageCallbacks" "PageExEnd"
    "Delete" "CopyFiles" "CreateDirectory" "RMDir" "OutFile" "ReserveFile" "CreateShortCut"
    "Var" "Pop"
    "StrCpy" "StrCmp" "IntCmp"
    "InitPluginsDir" "addplugindir" "InstallDir" "InstallDirRegKey"
    "RequestExecutionLevel" "CRCCheck" "XPStyle"
    "UninstallText"
    "ReadIniStr" "WriteIniStr"
    "DirText" "DirVar" "DirVerify"
    "Icon" "UninstallIcon"
    "SendMessage" "MessageBox" "GetDlgItem"
    "FindWindow" "EnableWindow" "LockWindow" "ShowWindow"
    "SetAutoClose" "CreateFont" "SetCtlColors" "SetBrandingImage"
    "IfSilent" "IfAbort" "IfRebootFlag" "IfErrors" "IfFileExists"
    "ReadRegStr" "WriteRegStr" "DeleteRegKey" "WriteRegDWORD"
    "LoadLanguageFile" "LangString"
    "SubCaption" "UninstallSubCaption"
    "SetPluginUnload" "DetailPrint" "SetOutPath" "WriteUninstaller" "ClearErrors"
    )
  '(
    ("!\\(insertmacro\\|define\\|ifdef\\|ifndef\\|else\\|endif\\|echo\\|verbose\\|include\\|macroend\\|macro\\|undef\\|warning\\|error\\)" (1 'font-lock-builtin-face))
    ("$[({]?\\([A-Za-z0-9_]+\\)[)}]?" (1 'font-lock-variable-name-face))
    ("\\([[:alpha:]][[:alnum:]_.]*:[[:blank:]]*$\\)" (1 'font-lock-function-name-face))
    )
  (list "\\.\\(nsi\\|nsh\\)$")
  nil
  "Generic mode for nsis files.")

(provide 'nsis-mode)

;;; nsis-mode.el ends here