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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
257
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     1
;;; iar-linker-config-mode.el --- major mode for highlighting NSIS scripts
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     2
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     3
;; Copyright (C) 2009, 2010 by Oleksandr Gavenko <gavenkoa@gmail.com>
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     4
279
fd6164dfec82 Update copyright statement and year.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
     5
;; You can do anything with this file without any warranty.
fd6164dfec82 Update copyright statement and year.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 274
diff changeset
     6
257
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     7
;; Author: Oleksandr Gavenko <gavenkoa@gmail.com>
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     8
;; Maintainer: Oleksandr Gavenko <gavenkoa@gmail.com>
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
     9
;; Created: 2009-09-14
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    10
;; Version: 0.1
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    11
;; Keywords: languages
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    12
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    13
;;; Commentary:
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    14
;;
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    15
;; Very pure syntax highlighting.
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    16
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    17
;;; Code:
2f3ac763c340 Make docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 164
diff changeset
    18
274
7c18567f0754 Added autoload magic comment for main mode function.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 271
diff changeset
    19
;;;###autoload
271
bf0c4a022c5a Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    20
(define-generic-mode 'nsis-mode
282
a119108fd2ca Added comment pattern.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 281
diff changeset
    21
  (list ?\; ?\# '("/*" . "*/"))
281
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    22
  '(
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    23
    "Section" "SectionEnd" "Function" "FunctionEnd" "File"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    24
    "Name" "ShowInstDetails" "ComponentText" "Caption"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    25
    "LicenseData" "BrandingText"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    26
    "Exec" "ExecWait" "ExecShell" "Goto" "Call" "Return" "Abort" "Quit" "Reboot"
282
a119108fd2ca Added comment pattern.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 281
diff changeset
    27
    "Page" "UninstPage" "PageEx" "PageCallbacks" "PageExEnd"
281
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    28
    "Delete" "CopyFiles" "CreateDirectory" "RMDir" "OutFile" "ReserveFile" "CreateShortCut"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    29
    "Var" "Pop"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    30
    "StrCpy" "StrCmp" "IntCmp"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    31
    "InitPluginsDir" "addplugindir" "InstallDir" "InstallDirRegKey"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    32
    "RequestExecutionLevel" "CRCCheck" "XPStyle"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    33
    "UninstallText"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    34
    "ReadIniStr" "WriteIniStr"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    35
    "DirText" "DirVar" "DirVerify"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    36
    "Icon" "UninstallIcon"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    37
    "SendMessage" "MessageBox" "GetDlgItem"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    38
    "FindWindow" "EnableWindow" "LockWindow" "ShowWindow"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    39
    "SetAutoClose" "CreateFont" "SetCtlColors" "SetBrandingImage"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    40
    "IfSilent" "IfAbort" "IfRebootFlag" "IfErrors" "IfFileExists"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    41
    "ReadRegStr" "WriteRegStr" "DeleteRegKey" "WriteRegDWORD"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    42
    "LoadLanguageFile" "LangString"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    43
    "SubCaption" "UninstallSubCaption"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    44
    "SetPluginUnload" "DetailPrint" "SetOutPath" "WriteUninstaller" "ClearErrors"
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    45
    )
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    46
  '(
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    47
    ("!\\(insertmacro\\|define\\|ifdef\\|ifndef\\|else\\|endif\\|echo\\|verbose\\|include\\|macroend\\|macro\\|undef\\|warning\\|error\\)" (1 'font-lock-builtin-face))
271
bf0c4a022c5a Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    48
    ("$[({]?\\([A-Za-z0-9_]+\\)[)}]?" (1 'font-lock-variable-name-face))
281
457b9057a35a Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 279
diff changeset
    49
    ("\\([[:alpha:]][[:alnum:]_.]*:[[:blank:]]*$\\)" (1 'font-lock-function-name-face))
271
bf0c4a022c5a Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    50
    )
bf0c4a022c5a Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    51
  (list "\\.\\(nsi\\|nsh\\)$")
bf0c4a022c5a Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    52
  nil
bf0c4a022c5a Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
    53
  "Generic mode for nsis files.")
258
29533873ee3e Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 257
diff changeset
    54
29533873ee3e Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 257
diff changeset
    55
(provide 'nsis-mode)
29533873ee3e Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 257
diff changeset
    56
29533873ee3e Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 257
diff changeset
    57
;;; nsis-mode.el ends here