author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Thu, 18 Mar 2010 11:56:02 +0200 | |
changeset 358 | a6fb477c0e19 |
parent 320 | 2c4a6d477785 |
child 650 | d21c5ae9b7e6 |
permissions | -rw-r--r-- |
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 |
'( |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
23 |
"Section" "SectionEnd" "SectionIn" "SectionGroup" "SectionGroupEnd" "Function" "FunctionEnd" "File" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
24 |
"SectionSetFlags" "SectionGetFlags" "SectionSetText" "SectionGetText" "SectionSetInstTypes" "SectionGetInstTypes" "SectionSetSize" "SectionGetSize" "SetCurInstType" "GetCurInstType" "InstTypeSetText" "InstTypeGetText" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
25 |
"Name" "ShowInstDetails" "Caption" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
26 |
"LicenseText" "LicenseData" "LicenseForceSelection" "ComponentText" "BrandingText" "DetailsButtonText" "CompletedText" "UninstallText" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
27 |
"DirText" "DirVar" "DirVerify" |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
28 |
"Exec" "ExecWait" "ExecShell" "Goto" "goto" "Call" "Return" "Abort" "Quit" "ClearErrors" "SetErrors" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
29 |
"Reboot" "SetRebootFlag" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
30 |
"IfSilent" "IfAbort" "IfRebootFlag" "IfErrors" "IfFileExists" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
31 |
"GetCurrentAddress" "GetFunctionAddress" "GetLabelAddress" |
282
a119108fd2ca
Added comment pattern.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
281
diff
changeset
|
32 |
"Page" "UninstPage" "PageEx" "PageCallbacks" "PageExEnd" |
281
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
33 |
"Delete" "CopyFiles" "CreateDirectory" "RMDir" "OutFile" "ReserveFile" "CreateShortCut" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
34 |
"CallInstDLL" "GetDLLVersion" "GetDLLVersionLocal" "RegDLL" "UnRegDLL" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
35 |
"GetFileTime" "GetFileTimeLocal" "GetFullPathName" "GetTempFileName" "SearchPath" "SetFileAttributes" |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
36 |
"ReadRegStr" "WriteRegStr" "DeleteRegKey" "DeleteRegValue" "EnumRegKey" "EnumRegValue" "WriteRegDWORD" "ReadRegDWORD" "WriteRegDword" "WriteRegBin" "WriteRegDWORD" "WriteRegExpandStr" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
37 |
"ExpandEnvStrings" "ReadEnvStr" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
38 |
"DeleteINISec" "DeleteINIStr" "FlushINI" "ReadINIStr" "WriteINIStr" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
39 |
"Var" "Pop" "Push" "Exch" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
40 |
"StrLen" "StrCpy" "StrCmp" "StrCmpS" "IntCmp" "IntCmpU" "IntFmt" "IntOp" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
41 |
"FileClose" "FileOpen" "FileRead" "FileReadByte" "FileSeek" "FileWrite" "FileWriteByte" "FindClose" "FindFirst" "FindNext" |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
42 |
"InitPluginsDir" "addplugindir" "InstallDir" "InstallDirRegKey" "InstType" "Nop" "Sleep" |
281
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
43 |
"RequestExecutionLevel" "CRCCheck" "XPStyle" |
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
44 |
"ReadIniStr" "WriteIniStr" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
45 |
"LogSet" "LogText" |
281
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
46 |
"Icon" "UninstallIcon" |
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
47 |
"SendMessage" "MessageBox" "GetDlgItem" |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
48 |
"FindWindow" "EnableWindow" "LockWindow" "ShowWindow" "HideWindow" "IsWindow" "AutoCloseWindow" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
49 |
"SetAutoClose" "CreateFont" "SetCtlColors" "SetBrandingImage" "SetDetailsView" "SetDetailsPrint" "SetSilent" "BringToFront" "DetailPrint" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
50 |
"LoadLanguageFile" "LangString" "LicenseLangString" |
281
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
51 |
"SubCaption" "UninstallSubCaption" |
283
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
52 |
"SetPluginUnload" "DetailPrint" "SetOutPath" "WriteUninstaller" |
d80322acbbce
Added instruction from doc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
282
diff
changeset
|
53 |
"GetErrorLevel" "SetErrorLevel" "GetInstDirError" "SetRegView" "SetShellVarContext" |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
54 |
"SetDateSave" "SetDatablockOptimize" "BGGradient" "InstallColors" "CheckBitmap" "SilentInstall" "SetOverwrite" |
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
55 |
"SetCompress" |
281
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
56 |
) |
457b9057a35a
Added keyword and comment char.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
279
diff
changeset
|
57 |
'( |
286
bdbe49f5dea5
Added new words and fix comment highliting as command can be on same line as label.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
283
diff
changeset
|
58 |
("!\\(insertmacro\\|define\\|ifdef\\|ifndef\\|else\\|endif\\|echo\\|verbose\\|include\\|macroend\\|macro\\|undef\\|packhdr\\|warning\\|error\\)" (1 'font-lock-builtin-face)) |
271
bf0c4a022c5a
Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
270
diff
changeset
|
59 |
("$[({]?\\([A-Za-z0-9_]+\\)[)}]?" (1 'font-lock-variable-name-face)) |
310
dca63c827ac1
Improved func name highlighting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
287
diff
changeset
|
60 |
("^[[:blank:]]*\\([[:alpha:].][[:alnum:]_.]*:\\)\\([^:]\\|$\\)" (1 'font-lock-function-name-face)) |
dca63c827ac1
Improved func name highlighting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
287
diff
changeset
|
61 |
("^[[:blank:]]*\\(Function\\|Goto\\|Call\\)[[:blank:]]+\\([[:alnum:]_.]*\\)" (2 'font-lock-function-name-face)) |
271
bf0c4a022c5a
Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
270
diff
changeset
|
62 |
) |
bf0c4a022c5a
Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
270
diff
changeset
|
63 |
(list "\\.\\(nsi\\|nsh\\)$") |
bf0c4a022c5a
Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
270
diff
changeset
|
64 |
nil |
bf0c4a022c5a
Always define nsis mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
270
diff
changeset
|
65 |
"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
|
66 |
|
320
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
67 |
(add-hook |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
68 |
'nsis-mode-hook |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
69 |
(lambda () |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
70 |
(modify-syntax-entry ?_ "w") |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
71 |
(modify-syntax-entry ?. "w") |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
72 |
) |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
73 |
) |
2c4a6d477785
Allow dot and underscore to be word class.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
318
diff
changeset
|
74 |
|
258
29533873ee3e
Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
257
diff
changeset
|
75 |
(provide 'nsis-mode) |
29533873ee3e
Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
257
diff
changeset
|
76 |
|
29533873ee3e
Fix docs headers according to 'Conventional Headers for Emacs Libraries'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
257
diff
changeset
|
77 |
;;; nsis-mode.el ends here |